@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
44 lines • 1.51 kB
TypeScript
import { Observable } from "rxjs";
import type { ConnectAppEvent, Input as ConnectAppInput } from "../connectApp";
import type { Action, Device } from "./types";
import type { AppState } from "./app";
import { ExchangeType } from "@ledgerhq/live-app-sdk";
export type StartExchangeSuccessResult = {
nonce: string;
device: Device;
};
export type StartExchangeErrorResult = {
error: Error;
device?: Device;
};
type State = {
startExchangeResult: StartExchangeSuccessResult | null | undefined;
startExchangeError: StartExchangeErrorResult | null | undefined;
freezeReduxDevice: boolean;
isLoading: boolean;
error?: Error;
};
type StartExchangeState = AppState & State;
export type Result = {
startExchangeResult: StartExchangeSuccessResult;
} | {
startExchangeError: StartExchangeErrorResult;
};
type StartExchangeAction = Action<any, StartExchangeState, Result>;
export type ExchangeRequestEvent = {
type: "start-exchange";
} | {
type: "start-exchange-error";
startExchangeError: StartExchangeErrorResult;
} | {
type: "start-exchange-result";
startExchangeResult: StartExchangeSuccessResult;
};
export declare const createAction: (connectAppExec: (arg0: ConnectAppInput) => Observable<ConnectAppEvent>, startExchangeExec: (arg0: {
device: Device;
exchangeType: ExchangeType;
appVersion?: string;
provider?: string;
}) => Observable<ExchangeRequestEvent>) => StartExchangeAction;
export {};
//# sourceMappingURL=startExchange.d.ts.map