@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
35 lines • 1.39 kB
TypeScript
import React from "react";
import { Observable } from "rxjs";
import type { ExchangeSwap, ExchangeRate, InitSwapInput, InitSwapResult, SwapRequestEvent, SwapTransaction } from "../../exchange/swap/types";
import type { ConnectAppEvent, Input as ConnectAppInput } from "../connectApp";
import type { AppState } from "./app";
import type { Action, Device } from "./types";
import type { TransactionStatus } from "../../generated/types";
type State = {
initSwapResult: InitSwapResult | null | undefined;
initSwapRequested: boolean;
initSwapError: Error | null | undefined;
swapId?: string;
error?: Error;
isLoading: boolean;
freezeReduxDevice: boolean;
};
type InitSwapState = AppState & State;
type InitSwapRequest = {
exchange: ExchangeSwap;
exchangeRate: ExchangeRate;
transaction: SwapTransaction;
requireLatestFirmware?: boolean;
status?: TransactionStatus;
device?: React.RefObject<Device | null | undefined>;
};
type Result = {
initSwapResult: InitSwapResult;
} | {
initSwapError: Error;
swapId?: string;
};
type InitSwapAction = Action<InitSwapRequest, InitSwapState, Result>;
export declare const createAction: (connectAppExec: (arg0: ConnectAppInput) => Observable<ConnectAppEvent>, initSwapExec: (arg0: InitSwapInput) => Observable<SwapRequestEvent>) => InitSwapAction;
export {};
//# sourceMappingURL=initSwap.d.ts.map