UNPKG

airgap-coin-lib

Version:

The airgap-coin-lib is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.

25 lines (24 loc) 730 B
export declare enum ActionState { READY = 0, EXECUTING = 1, COMPLETED = 2, CANCELLED = 3 } export declare abstract class Action<Result, Context> { readonly identifier: string; readonly context: Context; result?: Result; error?: Error; onComplete?: (result: Result) => Promise<void>; onError?: (error: Error) => Promise<void>; onCancel?: () => Promise<void>; private readonly stateMachine; constructor(context: Context); getState(): ActionState; start(): Promise<void>; cancel(): void; protected abstract perform(): Promise<Result>; protected addValidTransition(from: ActionState, to: ActionState): void; private handleSuccess; private handleError; }