ISwap<T, D, S>
Defined in: atomiq-sdk/src/swaps/ISwap.ts:52
Base abstract class for all swap types
Extended by
Type Parameters
| Type Parameter | Default type |
|---|---|
T extends ChainType | ChainType |
D extends SwapTypeDefinition<T, ISwapWrapper<T, D>, ISwap<T, D, S>> | SwapTypeDefinition<T, ISwapWrapper<T, any>, ISwap<T, any, any>> |
S extends number | number |
Constructors
Constructor
protected new ISwap<T, D, S>(wrapper, obj): ISwap<T, D, S>;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:158
Parameters
| Parameter | Type |
|---|---|
wrapper | D["Wrapper"] |
obj | any |
Returns
ISwap<T, D, S>
Constructor
protected new ISwap<T, D, S>(wrapper, swapInit): ISwap<T, D, S>;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:159
Parameters
| Parameter | Type |
|---|---|
wrapper | D["Wrapper"] |
swapInit | ISwapInit |
Returns
ISwap<T, D, S>
Properties
chainIdentifier
readonly chainIdentifier: T["ChainId"];
Defined in: atomiq-sdk/src/swaps/ISwap.ts:148
Smart chain identifier string corresponding to this swap
createdAt
createdAt: number;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:156
A UNIX milliseconds timestamps of when this swap was created
events
readonly events: EventEmitter<{
swapState: [D["Swap"]];
}>;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:140
Event emitter emitting "swapState" event when swap's state changes
exactIn
readonly exactIn: boolean;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:152
Whether a swap is an exact input swap
url?
readonly optional url: string;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:144
URL of the intermediary (LP) used for this swap, already has the swap service specific path appended
TYPE
abstract protected readonly TYPE: SwapType;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:60
Swap type
Methods
execute()
abstract execute(...args): Promise<boolean>;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:261
Executes the swap with the provided wallet, the exact arguments for this functions differ for various swap
types. Check the execute() function signature in the respective swap class to see the required arguments.
Parameters
| Parameter | Type | Description |
|---|---|---|
...args | any[] | Execution arguments, usually contains a source wallet object, callbacks and options, for exact syntax check the respective swap class. |
Returns
Promise<boolean>
Whether a swap was successfully executed or not, if it wasn't the user can refund or claim manually
getCurrentActions()
abstract getCurrentActions(): Promise<SwapExecutionAction<T>[]>;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:532
Returns a state-dependent set of actions for the user to execute, or empty array if there is currently no action required from the user to execute.
Returns
Promise<SwapExecutionAction<T>[]>
getDirection()
getDirection(): SwapDirection;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:506
Returns the direction of the swap
Returns
getFee()
abstract getFee(): Fee;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:566
Returns total fee for the swap, the fee is represented in source currency & destination currency, but is paid only once
Returns
getFeeBreakdown()
abstract getFeeBreakdown(): FeeBreakdown<T["ChainId"]>;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:571
Returns the breakdown of all the fees paid
Returns
FeeBreakdown<T["ChainId"]>
getId()
abstract getId(): string;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:441
Returns the ID of the swap, as used in the storage
Returns
string
getInput()
abstract getInput(): TokenAmount;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:550
Returns input amount of the swap, user needs to pay this much
Returns
getInputAddress()
abstract getInputAddress(): string;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:421
Returns source address of the swap
Returns
string
getInputToken()
abstract getInputToken(): Token<T["ChainId"]>;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:555
Returns the input token of the swap
Returns
Token<T["ChainId"]>
getInputTxId()
abstract getInputTxId(): string;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:431
Returns swap input transaction ID on the source chain
Returns
string
getInputWithoutFee()
abstract getInputWithoutFee(): TokenAmount;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:560
Returns input amount of the swap without the fees (swap fee, network fee)
Returns
getOutput()
abstract getOutput(): TokenAmount;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:540
Returns output amount of the swap, user receives this much
Returns
getOutputAddress()
abstract getOutputAddress(): string;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:426
Returns destination address of the swap
Returns
string
getOutputToken()
abstract getOutputToken(): Token<T["ChainId"]>;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:545
Returns the output token of the swap
Returns
Token<T["ChainId"]>
getOutputTxId()
abstract getOutputTxId(): string;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:436
Returns swap output transaction ID on the destination chain
Returns
string
getPriceInfo()
getPriceInfo(): object;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:346
Returns pricing info about the swap
Returns
object
| Name | Type | Defined in |
|---|---|---|
difference | PercentagePPM | atomiq-sdk/src/swaps/ISwap.ts:349 |
marketPrice? | number | atomiq-sdk/src/swaps/ISwap.ts:347 |
swapPrice | number | atomiq-sdk/src/swaps/ISwap.ts:348 |
getQuoteExpiry()
getQuoteExpiry(): number;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:492
Returns quote expiry in UNIX millis
Returns
number
getState()
getState(): S;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:513
Returns the current state of the swap
Returns
S
getStateInfo()
getStateInfo(): SwapStateInfo<S>;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:520
Returns the current state of the swap along with the human-readable description of the state
Returns
getType()
getType(): SwapType;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:499
Returns the type of the swap
Returns
hasValidPrice()
hasValidPrice(): boolean;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:338
Checks if the pricing for the swap is valid, according to max allowed price difference set in the ISwapPrice
Returns
boolean
isFailed()
abstract isFailed(): boolean;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:472
Returns whether the swap failed (e.g. was refunded)
Returns
boolean
isFinished()
abstract isFinished(): boolean;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:451
Returns whether the swap is finished and in its terminal state (this can mean successful, refunded or failed)
Returns
boolean
isInitiated()
isInitiated(): boolean;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:485
Whether a swap was initialized, a swap is considered initialized on first interaction with it, i.e. calling commit() on a Smart chain -> Bitcoin swaps, calling waitForPayment() or similar on the other direction. Not initiated swaps are not saved to the persistent storage by default (see SwapperOptions.saveUninitializedSwaps)
Returns
boolean
isInProgress()
abstract isInProgress(): boolean;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:477
Returns whether the swap is currently being processed
Returns
boolean
isQuoteExpired()
abstract isQuoteExpired(): boolean;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:456
Checks whether the swap's quote has definitely expired and cannot be committed anymore, we can remove such swap
Returns
boolean
isQuoteSoftExpired()
abstract isQuoteSoftExpired(): boolean;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:462
Checks whether the swap's quote is soft expired (this means there is not enough time buffer for it to commit, but it still can happen)
Returns
boolean
isSuccessful()
abstract isSuccessful(): boolean;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:467
Returns whether the swap finished successful
Returns
boolean
refreshPriceData()
refreshPriceData(): Promise<void>;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:305
Re-fetches & revalidates the price data based on the current market prices
Returns
Promise<void>
requiresAction()
abstract requiresAction(): boolean;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:446
Checks whether there is some action required from the user for this swap - can mean either refundable or claimable
Returns
boolean
serialize()
serialize(): any;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:606
Serializes the swap to a JSON stringifiable representation (i.e. no bigints, buffers etc.)
Returns
any
txsExecute()
abstract txsExecute(options?): Promise<SwapExecutionAction<T>[]>;
Defined in: atomiq-sdk/src/swaps/ISwap.ts:250
Returns a list of steps or transactions required to finish and settle the swap
Parameters
| Parameter | Type | Description |
|---|---|---|
options? | any | Additional options for executing the swap |
Returns
Promise<SwapExecutionAction<T>[]>