Skip to main content

SwapContract<T, TX, PreFetchData, PreFetchVerification, Signer, ChainId>

Defined in: atomiq-base/src/swaps/SwapContract.ts:63

A contract for interacting with escrow manager swaps - escrow based swaps like HTLCs and PrTLCs

Type Parameters

Type ParameterDefault type
T extends SwapDataSwapData
TXany
PreFetchDataany
PreFetchVerificationany
Signer extends AbstractSignerAbstractSigner
ChainId extends stringstring

Properties

chainId

readonly chainId: ChainId;

Defined in: atomiq-base/src/swaps/SwapContract.ts:75

Chain identifier string


claimWithSecretTimeout

readonly claimWithSecretTimeout: number;

Defined in: atomiq-base/src/swaps/SwapContract.ts:80

A timeout to be used when claiming the escrow with a secret (HTLC), recommended to wait at least this long after sending a transaction before considering it a failure


claimWithTxDataTimeout

readonly claimWithTxDataTimeout: number;

Defined in: atomiq-base/src/swaps/SwapContract.ts:85

A timeout to be used when claiming the escrow with bitcoin transaction data (PrTLC), recommended to wait at least this long after sending a transaction before considering it a failure


refundTimeout

readonly refundTimeout: number;

Defined in: atomiq-base/src/swaps/SwapContract.ts:90

A timeout to be used when refunding the escrow, recommended to wait at least this long after sending a transaction before considering it a failure


supportsInitWithoutClaimer?

readonly optional supportsInitWithoutClaimer: boolean;

Defined in: atomiq-base/src/swaps/SwapContract.ts:94

Whether this chain supports sending initialization without a direct authorization by the claimer

Methods

claimDeposits()?

optional claimDeposits(signer, txOptions): Promise<{
count: number;
totalValue: bigint;
txIds: string[];
}>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:641

Claims the funds from claimable deposits

Parameters

ParameterTypeDescription
signerSignerOwner of the deposits, transaction signer
txOptionsTransactionConfirmationOptionsTransaction options

Returns

Promise<{ count: number; totalValue: bigint; txIds: string[]; }>


claimWithSecret()

claimWithSecret(
signer,
swapData,
secret,
checkExpiry?,
initAta?,
txOptions?): Promise<string>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:133

Signs & sends transactions required for claiming an HTLC swap

Parameters

ParameterTypeDescription
signerSignerSigner for which the transaction should be created (doesn't need to match the claimer)
swapDataTSwap to claim
secretstringSecret pre-image that hashes to the swap hash
checkExpiry?booleanWhether to check expiration of the swap before executing transactions
initAta?booleanWhether to initialize a token account if it doesn't exist (applies to e.g. Solana, with token specific ATAs)
txOptions?TransactionConfirmationOptionsTransaction options

Returns

Promise<string>


claimWithTxData()

claimWithTxData(
signer,
swapData,
tx,
requiredConfirmations,
vout,
storedHeader?,
synchronizer?,
initAta?,
txOptions?): Promise<string>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:161

Signs & sends transactions required for claiming an on-chain PTLC (proof-time locked contract) swap

Parameters

ParameterTypeDescription
signerSignerSigner for which the transaction should be created (doesn't need to match the claimer)
swapDataTSwap to claim
txBitcoinTransactionDataBitcoin transaction containing the required output
requiredConfirmationsnumberRequired confirmations for the escrow to be claimed
voutnumberBitcoin tx's output index of the required output
storedHeader?BtcStoredHeader<any>Optional already retrieved stored header to use for proving
synchronizer?RelaySynchronizer<any, TX, any>Optiona synchronizer to be used if BTC relay contract is not synced up to the required blockheight
initAta?booleanWhether to initialize a token account if it doesn't exist (applies to e.g. Solana, with token specific ATAs)
txOptions?TransactionConfirmationOptionsTransaction options

Returns

Promise<string>


createSwapData()

createSwapData(
type,
offerer,
claimer,
token,
amount,
paymentHash,
sequence,
expiry,
payIn,
payOut,
securityDeposit,
claimerBounty,
depositToken?): Promise<T>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:438

Create a swap data for this given chain

Parameters

ParameterTypeDescription
typeChainSwapTypeType of the swap
offererstringOfferer address
claimerstringClaimer addres
tokenstringToken to use for the swap
amountbigintAmount of tokens for the swap
paymentHashstringPayment hash identifying the swap
sequencebigintSwap sequence uniquelly defining this swap
expirybigintExpiration of the swap
payInbooleanWhether the swap is payIn (offerer paying to the contract, or not payIn offerer using funds in his LP vault)
payOutbooleanWhether the swap is payOut (claimer getting the funds to his on-chain address, or no payOut claimer getting his funds into his LP vault)
securityDepositbigintSecurity deposit for the swap paid by the claimer (options premium)
claimerBountybigintBounty for the claimer of the swap (used for watchtowers)
depositToken?stringToken to be used for security deposit and claimer bounty

Returns

Promise<T>


deposit()

deposit(
signer,
token,
amount,
txOptions?): Promise<string>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:615

Deposits funds to the trading LP vault

Parameters

ParameterTypeDescription
signerSignerSigner to sign the deposit with
tokenstringToken to deposit
amountbigintAmount of the token to deposit
txOptions?TransactionConfirmationOptionsTransaction options

Returns

Promise<string>


getBalance()

getBalance(
signer,
token,
inContract): Promise<bigint>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:418

Returns the token balance of a given signer's address

Parameters

ParameterTypeDescription
signerstringAddress to check the balance of
tokenstringToken
inContractbooleanWhether we are checking the liquidity deposited into the LP vault or just on-chain balance

Returns

Promise<bigint>


getClaimableDeposits()?

optional getClaimableDeposits(signer): Promise<{
count: number;
totalValue: bigint;
}>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:633

Returns the amount of deposits (in native token) that we can claim back (this is useful for SVM chains with the PDAs requiring you to put some deposit in order to store data)

Parameters

ParameterTypeDescription
signerstringSigner to check the claimable deposits for

Returns

Promise<{ count: number; totalValue: bigint; }>


getClaimFee()

getClaimFee(
signer,
swapData,
feeRate?): Promise<bigint>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:487

Returns the fee in native token base units to claim the swap

Parameters

ParameterTypeDescription
signerstringSigner claiming the swap
swapDataTSwap to claim
feeRate?stringOptional fee rate (fetched on-demand if not provided)

Returns

Promise<bigint>


getClaimFeeRate()

getClaimFeeRate(signer, swapData): Promise<string>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:549

Returns the fee rate for claiming a swap as a specific signer

Parameters

ParameterTypeDescription
signerstringSigner claiming the swap
swapDataTSwap to claim

Returns

Promise<string>


getCommitFee()

getCommitFee(
signer,
swapData,
feeRate?): Promise<bigint>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:469

Returns the fee in native token base units to commit (initiate) the swap

Parameters

ParameterTypeDescription
signerstring
swapDataTSwap to initiate
feeRate?stringOptional fee rate (fetched on-demand if not provided)

Returns

Promise<bigint>


getCommitStatus()

getCommitStatus(signer, swapData): Promise<SwapCommitState>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:286

Returns the full status of the swap, expiry is handled by the isExpired function so also requires a signer/sender

Parameters

ParameterTypeDescription
signerstring
swapDataT

Returns

Promise<SwapCommitState>


getCommitStatuses()

getCommitStatuses(request): Promise<{
[escrowHash: string]: SwapCommitState;
}>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:293

Returns the full status of the passed swaps, expiry is handled by the isExpired function so also requires a signer/sender

Parameters

ParameterTypeDescription
requestobject[]

Returns

Promise<{ [escrowHash: string]: SwapCommitState; }>


getDataSignature()

getDataSignature(signer, data): Promise<string>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:400

Signs the given data with the provided signer

Parameters

ParameterTypeDescription
signerSignerSigner to sign the message
dataBufferData to sign

Returns

Promise<string>


getExtraData()

getExtraData(
outputScript,
amount,
confirmations,
nonce?): Buffer;

Defined in: atomiq-base/src/swaps/SwapContract.ts:560

Returns additional data to be included in the data-carrier (extra data) part of the PrTLC escrow initialization this provides helpers for 3rd party claimers

Parameters

ParameterTypeDescription
outputScriptBufferA bitcoin output script required in the bitcoin transaction to claim the escrow
amountbigintAn amount of bitcoin (in satoshis) required in the bitcoin transaction to claim the escrow
confirmationsnumberConfirmations of the bitcoin transaction required for claiming the escrow
nonce?bigintAn optional nonce applied to the transaction

Returns

Buffer


getHashForHtlc()

getHashForHtlc(swapHash): Buffer;

Defined in: atomiq-base/src/swaps/SwapContract.ts:585

Compute the claim hash for an HTLC swap with a given swap hash

Parameters

ParameterTypeDescription
swapHashBuffer

Returns

Buffer


getHashForOnchain()

getHashForOnchain(
outputScript,
amount,
confirmations,
nonce?): Buffer;

Defined in: atomiq-base/src/swaps/SwapContract.ts:570

Compute the claim hash for a given transaction output, either nonced or just output locked

Parameters

ParameterTypeDescription
outputScriptBufferBitcoin output locking script
amountbigintAmount of sats in the output
confirmationsnumberRequired number of confirmations for the swap to be claimable
nonce?bigintNonce to be used as replay protection

Returns

Buffer


getHashForTxId()

getHashForTxId(txId, confirmations): Buffer;

Defined in: atomiq-base/src/swaps/SwapContract.ts:578

Compute the claim hash for a given transaction id

Parameters

ParameterTypeDescription
txIdstringBitcoin transaction ID
confirmationsnumberRequired number of confirmations for the swap to be claimable

Returns

Buffer


getHistoricalSwaps()?

optional getHistoricalSwaps(signer, startBlockheight?): Promise<{
latestBlockheight?: number;
swaps: {
[escrowHash: string]: object;
};
}>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:301

Returns the full history as fetched from the chain for a specific signer

Parameters

ParameterTypeDescription
signerstring
startBlockheight?number

Returns

Promise<{ latestBlockheight?: number; swaps: { [escrowHash: string]: object; }; }>


getInitAuthorizationExpiry()

getInitAuthorizationExpiry(
swapData,
signature,
preFetchedVerificationData?): Promise<number>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:367

Returns the expiry timestamp (UNIX milliseconds) of the authorization

Parameters

ParameterTypeDescription
swapDataTSwap
signatureSignatureDataSignature data
preFetchedVerificationData?PreFetchVerificationOptional pre-fetched data required for signature validation

Returns

Promise<number>


getInitFeeRate()

getInitFeeRate(
offerer,
claimer,
token,
paymentHash?): Promise<string>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:534

Returns the fee rate for committing (initializing) a non-payIn swap

Parameters

ParameterTypeDescription
offererstringOfferer of the swap
claimerstringClaimer of the swap
tokenstringToken to be swapped
paymentHash?stringOptional payment hash

Returns

Promise<string>


getInitPayInFeeRate()

getInitPayInFeeRate(
offerer,
claimer,
token,
paymentHash?): Promise<string>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:524

Returns the fee rate for committing (initializing) a payIn swap

Parameters

ParameterTypeDescription
offererstringOfferer of the swap
claimerstringClaimer of the swap
tokenstringToken to be swapped
paymentHash?stringOptional payment hash

Returns

Promise<string>


getInitSignature()

getInitSignature(
signer,
swapData,
authorizationTimeout,
preFetchedBlockData?,
feeRate?): Promise<SignatureData>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:346

Generates the initialization signature

Parameters

ParameterTypeDescription
signerSignerSigner to use for signing the message
swapDataTSwap to sign
authorizationTimeoutnumberTimeout of the authorization
preFetchedBlockData?PreFetchDataOptional pre-fetched data required for creating the signature
feeRate?stringOptional fee rate to use for the authorization

Returns

Promise<SignatureData>


getIntermediaryReputation()

getIntermediaryReputation(address, token): Promise<IntermediaryReputationType>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:460

Returns intermediary's reputation for a given token swaps

Parameters

ParameterTypeDescription
addressstring
tokenstring

Returns

Promise<IntermediaryReputationType>


getRawClaimFee()?

optional getRawClaimFee(
signer,
swapData,
feeRate?): Promise<bigint>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:496

Returns raw fee (not including any refunds we might get that would make the getClaimFee negative) for claiming the swap

Parameters

ParameterTypeDescription
signerstringSigner claiming the swap
swapDataTSwap to claim
feeRate?stringOptional fee rate (fetched on-demand if not provided)

Returns

Promise<bigint>


getRawCommitFee()?

optional getRawCommitFee(
signer,
swapData,
feeRate?): Promise<bigint>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:478

Returns raw fee (not including any account deposits we might need) for initiating the swap

Parameters

ParameterTypeDescription
signerstring
swapDataTSwap to initiate
feeRate?stringOptional fee rate (fetched on-demand if not provided)

Returns

Promise<bigint>


getRawRefundFee()?

optional getRawRefundFee(
signer,
swapData,
feeRate?): Promise<bigint>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:514

Returns raw fee (not including any refunds we might get that would make the getRefundFee negative) for claiming the swap

Parameters

ParameterTypeDescription
signerstring
swapDataTSwap to claim
feeRate?stringOptional fee rate (fetched on-demand if not provided)

Returns

Promise<bigint>


getRefundFee()

getRefundFee(
signer,
swapData,
feeRate?): Promise<bigint>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:505

Returns the fee in native token base units to refund the swap

Parameters

ParameterTypeDescription
signerstring
swapDataTSwap to refund
feeRate?stringOptional fee rate (fetched on-demand if not provided)

Returns

Promise<bigint>


getRefundFeeRate()

getRefundFeeRate(swapData): Promise<string>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:541

Returns the fee rate for refunding a swap

Parameters

ParameterTypeDescription
swapDataTSwap to refund

Returns

Promise<string>


getRefundSignature()

getRefundSignature(
signer,
swapData,
authorizationTimeout): Promise<SignatureData>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:384

Generates the refund signature for a given swap allowing the offerer to refund before expiration

Parameters

ParameterTypeDescription
signerSignerSigner to use for signing the message (must be the same as offerer in swap data)
swapDataTSwap to refund
authorizationTimeoutnumberTimeout of the provided refund authorization

Returns

Promise<SignatureData>


init()

init(
signer,
swapData,
signature,
skipChecks?,
txOptions?): Promise<string>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:110

Signs & sends transactions for initializing a non-payIn swap (BTC -> SC)

Parameters

ParameterTypeDescription
signerSignerSigner to use for the transaction (must match claimer in swap data)
swapDataTSwap to init
signatureSignatureDataSignature data from the offerer
skipChecks?booleanWhether to skip verification of the signature & checking if the swap is already committed
txOptions?TransactionConfirmationOptionsTransaction options

Returns

Promise<string>


initAndClaimWithSecret()?

optional initAndClaimWithSecret(
signer,
swapData,
signature,
secret,
skipChecks?,
txOptions?): Promise<string[]>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:254

Signs & sends transactions for initializing and instantly (upon init confirmation) claiming the HTLC, used for BTC-LN -> SC swaps

Parameters

ParameterTypeDescription
signerSignerSigner to use for the transaction (must match claimer in swap data)
swapDataTSwap to process
signatureSignatureDataSignature data from the offerer
secretstringSecret pre-image that hashes to the swap hash
skipChecks?booleanWhether to skip verification of the signature & checking if the swap is already committed
txOptions?TransactionConfirmationOptionsTransaction options

Returns

Promise<string[]>


isClaimable()

isClaimable(signer, swapData): Promise<boolean>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:271

Checks whether a swap is claimable for the signer, i.e. it is not expired yet and is committed on-chain

Parameters

ParameterTypeDescription
signerstring
swapDataT

Returns

Promise<boolean>


isCommited()

isCommited(swapData): Promise<boolean>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:278

Checks whether a given swap is committed on chain (initialized)

Parameters

ParameterTypeDescription
swapDataT

Returns

Promise<boolean>


isExpired()

isExpired(signer, swapData): Promise<boolean>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:263

Checks whether a swap is already expired, swap expires a bit sooner for the claimer & a bit later for offerer, this is used to account for possible on-chain time skew

Parameters

ParameterTypeDescription
signerstringSigner to use for checking the expiry
swapDataTSwap to check

Returns

Promise<boolean>


isInitAuthorizationExpired()

isInitAuthorizationExpired(swapData, signature): Promise<boolean>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:375

Checks whether a given init signature is already expired

Parameters

ParameterTypeDescription
swapDataTSwap
signatureSignatureDataSignature data

Returns

Promise<boolean>


isRequestRefundable()

isRequestRefundable(signer, swapData): Promise<boolean>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:324

Checks whether a given swap is refundable by us, i.e. it is already expired, we are offerer & swap is committed on-chain

Parameters

ParameterTypeDescription
signerstring
swapDataT

Returns

Promise<boolean>


isValidDataSignature()

isValidDataSignature(
data,
signature,
publicKey): Promise<boolean>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:409

Checks whether a provided data is signature is valid

Parameters

ParameterTypeDescription
dataBufferData to sign
signaturestringSignature
publicKeystringPublic key of the signer

Returns

Promise<boolean>


isValidInitAuthorization()

isValidInitAuthorization(
sender,
swapData,
signature,
feeRate?,
preFetchedVerificationData?): Promise<Buffer<ArrayBufferLike>>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:358

Checks whether a signature is a valid initialization signature for a given swap

Parameters

ParameterTypeDescription
senderstringAddress of the sender of the transaction (must be either offerer or claimer)
swapDataTSwap to initialize
signatureSignatureDataSignature data
feeRate?stringFee rate used for the authorization
preFetchedVerificationData?PreFetchVerificationOptional pre-fetched data required for signature validation

Returns

Promise<Buffer<ArrayBufferLike>>

The message being signed if valid or null if invalid signature


isValidRefundAuthorization()

isValidRefundAuthorization(swapData, signature): Promise<Buffer<ArrayBufferLike>>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:392

Checks whether a given refund signature is valid

Parameters

ParameterTypeDescription
swapDataTSwap to refund
signatureSignatureDataSignature received from the claimer

Returns

Promise<Buffer<ArrayBufferLike>>


preFetchBlockDataForSignatures()?

optional preFetchBlockDataForSignatures(): Promise<PreFetchData>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:329

Pre-fetches data required for creating init signature

Returns

Promise<PreFetchData>


preFetchForInitSignatureVerification()?

optional preFetchForInitSignatureVerification(data): Promise<PreFetchVerification>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:335

Pre-fetches data required for init signature verification

Parameters

ParameterTypeDescription
dataPreFetchData

Returns

Promise<PreFetchVerification>


refund()

refund(
signer,
swapData,
check?,
initAta?,
txOptions?): Promise<string>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:207

Signs & sends transactions for refunding a timed out swap

Parameters

ParameterTypeDescription
signerSignerSigner to use for the transaction (must match offerer in swap data)
swapDataTSwap to refund
check?booleanWhether to check if the swap contract still exists on-chain
initAta?booleanWhether to initialize a token account if it doesn't exist (applies to e.g. Solana, with token specific ATAs)
txOptions?TransactionConfirmationOptionsTransaction options

Returns

Promise<string>


refundWithAuthorization()

refundWithAuthorization(
signer,
swapData,
signature,
check?,
initAta?,
txOptions?): Promise<string>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:230

Signs & sends transactions for refunding a swap with a valid refund signature from the claimer

Parameters

ParameterTypeDescription
signerSignerSigner to use for the transaction (must match offerer in swap data)
swapDataTSwap to refund
signatureSignatureDataRefund signature received from the claimer
check?booleanWhether to check if the swap contract still exists on-chain
initAta?booleanWhether to initialize a token account if it doesn't exist (applies to e.g. Solana, with token specific ATAs)
txOptions?TransactionConfirmationOptionsTransaction options

Returns

Promise<string>


start()

start(): Promise<void>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:99

Initializes the swap contract

Returns

Promise<void>


txsClaimWithSecret()

txsClaimWithSecret(
signer,
swapData,
secret,
checkExpiry?,
initAta?,
feeRate?,
skipAtaCheck?): Promise<TX[]>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:146

Returns the unsigned transactions required for claiming an HTLC swap

Parameters

ParameterTypeDescription
signerstring | SignerSigner for which the transaction should be created (doesn't need to match the claimer)
swapDataTSwap to claim
secretstringSecret pre-image that hashes to the swap hash
checkExpiry?booleanWhether to check expiration of the swap before returning the transactions
initAta?booleanWhether to initialize a token account if it doesn't exist (applies to e.g. Solana, with token specific ATAs)
feeRate?stringFee rate to use for the transactions
skipAtaCheck?booleanWhether to skip checking if token account exists

Returns

Promise<TX[]>


txsClaimWithTxData()

txsClaimWithTxData(
signer,
swapData,
tx,
requiredConfirmations,
vout,
storedHeader?,
synchronizer?,
initAta?,
feeRate?): Promise<TX[]>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:186

Returns the unsigned transactions required for claiming an on-chain PTLC (proof-time locked contract) swap

Parameters

ParameterTypeDescription
signerstring | SignerSigner for which the transaction should be created (doesn't need to match the claimer)
swapDataTSwap to claim
txBitcoinTransactionDataBitcoin transaction containing the required output
requiredConfirmationsnumberRequired confirmations for the escrow to be claimed
voutnumberBitcoin tx's output index of the required output
storedHeader?BtcStoredHeader<any>Optional already retrieved stored header to use for proving
synchronizer?RelaySynchronizer<any, TX, any>Optiona synchronizer to be used if BTC relay contract is not synced up to the required blockheight
initAta?booleanWhether to initialize a token account if it doesn't exist (applies to e.g. Solana, with token specific ATAs)
feeRate?stringFee rate to use for the transactions

Returns

Promise<TX[]>


txsDeposit()

txsDeposit(
signer,
token,
amount,
feeRate?): Promise<TX[]>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:625

Returns transactions required for signer to deposit funds to the trading LP vault

Parameters

ParameterTypeDescription
signerstringOwner of the funds
tokenstringToken to deposit
amountbigintAmount of the token to deposit
feeRate?stringOptional fee rate to use for the transaction (fetched on-demand if not provided)

Returns

Promise<TX[]>


txsInit()

txsInit(
sender,
swapData,
signature,
skipChecks?,
feeRate?): Promise<TX[]>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:121

Returns the unsigned transactions required for initializing a non-payIn swap (BTC -> SC)

Parameters

ParameterTypeDescription
senderstringTransaction sender address, must be either offerer or claimer
swapDataTSwap to init
signatureSignatureDataSignature data from the offerer
skipChecks?booleanWhether to skip verification of the signature & checking if the swap is already committed
feeRate?stringFee rate to use for the transaction

Returns

Promise<TX[]>


txsRefund()

txsRefund(
signer,
swapData,
check?,
initAta?,
feeRate?): Promise<TX[]>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:218

Returns the transactions for refunding a timed out swap

Parameters

ParameterTypeDescription
signerstringSigner of the refund transaction
swapDataTSwap to refund
check?booleanWhether to check if the swap contract still exists on-chain
initAta?booleanWhether to initialize a token account if it doesn't exist (applies to e.g. Solana, with token specific ATAs)
feeRate?stringFee rate to use for the transactions

Returns

Promise<TX[]>


txsRefundWithAuthorization()

txsRefundWithAuthorization(
signer,
swapData,
signature,
check?,
initAta?,
feeRate?): Promise<TX[]>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:242

Returns the transactions for refunding a swap with a valid refund signature from the claimer

Parameters

ParameterTypeDescription
signerstringSigner of the refund transaction
swapDataTSwap to refund
signatureSignatureDataRefund signature received from the claimer
check?booleanWhether to check if the swap contract still exists on-chain
initAta?booleanWhether to initialize a token account if it doesn't exist (applies to e.g. Solana, with token specific ATAs)
feeRate?stringFee rate to use for the transactions

Returns

Promise<TX[]>


txsWithdraw()

txsWithdraw(
signer,
token,
amount,
feeRate?): Promise<TX[]>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:605

Returns transactions required for signer to withdraw funds from the trading LP vault

Parameters

ParameterTypeDescription
signerstringOwner of the funds
tokenstringToken to withdraw
amountbigintAmount of the token to withdraw
feeRate?stringOptional fee rate to use for the transaction (fetched on-demand if not provided)

Returns

Promise<TX[]>


withdraw()

withdraw(
signer,
token,
amount,
txOptions?): Promise<string>;

Defined in: atomiq-base/src/swaps/SwapContract.ts:595

Withdraws funds from the trading LP vault

Parameters

ParameterTypeDescription
signerSignerSigner to sign the withdrawal with
tokenstringToken to withdraw
amountbigintAmount of the token to withdraw
txOptions?TransactionConfirmationOptionsTransaction options

Returns

Promise<string>