import expect from "expect";
import { containsSubstringInEvent, getDelegateEvents, getSendEvents } from "../speculos";
import { DeviceLabels } from "../enum/DeviceLabels";
import { isTouchDevice } from "../speculosAppVersion";
import { longPressAndRelease } from "../deviceInteraction/TouchDeviceSimulator";
import { withDeviceController } from "../deviceInteraction/DeviceController";
export const delegateCosmos = withDeviceController(({ getButtonsController }) => async (delegatingAccount) => {
    const buttons = getButtonsController();
    const events = await getDelegateEvents(delegatingAccount);
    const isAmountCorrect = containsSubstringInEvent(delegatingAccount.amount, events);
    expect(isAmountCorrect).toBeTruthy();
    if (isTouchDevice()) {
        await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
    }
    else {
        await buttons.both();
    }
});
export const sendCosmos = withDeviceController(({ getButtonsController }) => async (tx) => {
    const buttons = getButtonsController();
    const events = await getSendEvents(tx);
    const isAmountCorrect = containsSubstringInEvent(tx.amount, events);
    expect(isAmountCorrect).toBeTruthy();
    const isAddressCorrect = containsSubstringInEvent(tx.accountToCredit.address, events);
    expect(isAddressCorrect).toBeTruthy();
    if (isTouchDevice()) {
        await longPressAndRelease(DeviceLabels.HOLD_TO_SIGN, 3);
    }
    else {
        await buttons.both();
    }
});
//# sourceMappingURL=cosmos.js.map