Skip to main content

ISwapWrapper<T, D, O>

Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:66

Base abstract class for swap handler implementations

Extended by​

Type Parameters​

Type ParameterDefault type
T extends ChainType-
D extends SwapTypeDefinition<T, ISwapWrapper<T, D>, ISwap<T, D>>-
O extends ISwapWrapperOptionsISwapWrapperOptions

Constructors​

Constructor​

new ISwapWrapper<T, D, O>(
chainIdentifier,
unifiedStorage,
unifiedChainEvents,
chain,
prices,
tokens,
lpApi,
options,
events?): ISwapWrapper<T, D, O>;

Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:171

Parameters​

ParameterType
chainIdentifierT["ChainId"]
unifiedStorageUnifiedSwapStorage<T>
unifiedChainEventsUnifiedSwapEventListener<T>
chainT["ChainInterface"]
pricesISwapPrice
tokensWrapperCtorTokens
lpApiIntermediaryAPI
optionsO
events?EventEmitter<{ swapState: [ISwap<ChainType, SwapTypeDefinition<ChainType, ISwapWrapper<ChainType, any, ISwapWrapperOptions>, ISwap<ChainType, any, any>>, number>]; }>

Returns​

ISwapWrapper<T, D, O>

Properties​

chainIdentifier​

readonly chainIdentifier: T["ChainId"];

Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:164

Chain identifier string of this wrapper


events​

readonly events: EventEmitter<{
swapState: [D["Swap"]];
}>;

Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:168

Event emitter emitting "swapState" event when swap's state changes


TYPE​

abstract readonly TYPE: SwapType;

Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:74

Swap type

Methods​

checkPastSwaps()​

checkPastSwaps(pastSwaps?, noSave?): Promise<{
changedSwaps: D["Swap"][];
removeSwaps: D["Swap"][];
}>;

Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:424

Runs checks on all the known pending swaps, syncing their state from on-chain data

Parameters​

ParameterTypeDescription
pastSwaps?D["Swap"][]Optional array of past swaps to check, otherwise all relevant swaps will be fetched from the persistent storage
noSave?booleanWhether to skip saving the swap changes in the persistent storage

Returns​

Promise<{ changedSwaps: D["Swap"][]; removeSwaps: D["Swap"][]; }>

Remarks​

Doesn't work properly if you pass non-persisted swaps


init()​

init(noTimers, noCheckPastSwaps): Promise<void>;

Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:360

Initializes the swap wrapper, needs to be called before any other action can be taken

Parameters​

ParameterTypeDefault valueDescription
noTimersbooleanfalseWhether to skip scheduling a tick timer for the swaps, if the tick timer is not initiated the swap states depending on e.g. expiry can be out of sync with the actual expiration of the swap
noCheckPastSwapsbooleanfalseWhether to skip checking past swaps on initialization (by default all pending swaps are re-checked on init, and their state is synchronized from the on-chain data)

Returns​

Promise<void>


stop()​

stop(): Promise<void>;

Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:401

Un-subscribes from event listeners on the smart chain, terminates the tick interval and stops this wrapper

Returns​

Promise<void>


tick()​

tick(swaps?, abortSignal?): Promise<void>;

Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:459

Invokes ISwap._tick on all the known swaps

Parameters​

ParameterTypeDescription
swaps?D["Swap"][]Optional array of swaps to invoke _tick() on, otherwise all relevant swaps will be fetched from the persistent storage
abortSignal?AbortSignalAbort signal

Returns​

Promise<void>