UNPKG

@atomiqlabs/base

Version:

Base classes and interfaces for atomiq protocol

95 lines (94 loc) 2.58 kB
/** * Possible on-chain states of the swap escrow * * @category Chains */ export declare enum SwapCommitStateType { /** * The escrow specified by the swap data isn't currently active and the swap data has already expired */ EXPIRED = 0, /** * The escrow specified by the swap data isn't currently active, could've been refunded already */ NOT_COMMITED = 1, /** * The escrow is active on-chain and can be claimed */ COMMITED = 2, /** * The escrow has been finalized and funds claimed by the claimer */ PAID = 3, /** * The escrow is active on-chain and can be refunded by the offerer */ REFUNDABLE = 4 } /** * The escrow specified by the swap data isn't currently active, could've been refunded already * * @category Swaps */ export type SwapNotCommitedState = { type: SwapCommitStateType.NOT_COMMITED; getInitTxId?: () => Promise<string>; getRefundTxId?: () => Promise<string>; getTxBlock?: () => Promise<{ blockHeight: number; blockTime: number; }>; }; /** * The escrow specified by the swap data isn't currently active and the swap data has already expired * * @category Swaps */ export type SwapExpiredState = { type: SwapCommitStateType.EXPIRED; getInitTxId?: () => Promise<string>; getRefundTxId?: () => Promise<string>; getTxBlock?: () => Promise<{ blockHeight: number; blockTime: number; }>; }; /** * The escrow is active on-chain and can be refunded by the offerer * * @category Swaps */ export type SwapRefundableState = { type: SwapCommitStateType.REFUNDABLE; getInitTxId?: () => Promise<string>; }; /** * The escrow is active on-chain and can be claimed * * @category Swaps */ export type SwapCommitedState = { type: SwapCommitStateType.COMMITED; getInitTxId?: () => Promise<string>; }; /** * The escrow has been finalized and funds claimed by the claimer * * @category Swaps */ export type SwapPaidState = { type: SwapCommitStateType.PAID; getInitTxId?: () => Promise<string>; getClaimTxId: () => Promise<string>; getClaimResult: () => Promise<string>; getTxBlock: () => Promise<{ blockHeight: number; blockTime: number; }>; }; /** * A union type for the state of the escrow * * @category Swaps */ export type SwapCommitState = SwapNotCommitedState | SwapExpiredState | SwapRefundableState | SwapCommitedState | SwapPaidState;