ToBTCLNWrapper<T>
Defined in: atomiq-sdk/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts:48
Escrow based (HTLC) swap for Smart chains -> Bitcoin lightning
Extends
IToBTCWrapper<T,ToBTCLNDefinition<T>,ToBTCLNWrapperOptions>
Type Parameters
| Type Parameter |
|---|
T extends ChainType |
Constructors
Constructor
new ToBTCLNWrapper<T>(
chainIdentifier,
unifiedStorage,
unifiedChainEvents,
chain,
contract,
prices,
tokens,
swapDataDeserializer,
options?,
events?): ToBTCLNWrapper<T>;
Defined in: atomiq-sdk/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts:55
Parameters
| Parameter | Type |
|---|---|
chainIdentifier | string |
unifiedStorage | UnifiedSwapStorage<T> |
unifiedChainEvents | UnifiedSwapEventListener<T> |
chain | T["ChainInterface"] |
contract | T["Contract"] |
prices | ISwapPrice |
tokens | WrapperCtorTokens |
swapDataDeserializer | (data) => T["Data"] |
options? | AllOptional<ToBTCLNWrapperOptions> |
events? | EventEmitter<{ swapState: [ISwap<ChainType, SwapTypeDefinition<ChainType, ISwapWrapper<ChainType, any, ISwapWrapperOptions>, ISwap<ChainType, any, any>>, number>]; }> |
Returns
ToBTCLNWrapper<T>
Overrides
Properties
chainIdentifier
readonly chainIdentifier: T["ChainId"];
Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:142
Chain identifier string of this wrapper
Inherited from
events
readonly events: EventEmitter<{
swapState: [ToBTCLNSwap<T>];
}>;
Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:146
Event emitter emitting "swapState" event when swap's state changes
Inherited from
TYPE
readonly TYPE: TO_BTCLN = SwapType.TO_BTCLN;
Defined in: atomiq-sdk/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts:49
Swap type
Overrides
Methods
checkPastSwaps()
checkPastSwaps(pastSwaps?, noSave?): Promise<{
changedSwaps: ToBTCLNSwap<T>[];
removeSwaps: ToBTCLNSwap<T>[];
}>;
Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:369
Runs checks on all the known pending swaps, syncing their state from on-chain data
Parameters
| Parameter | Type | Description |
|---|---|---|
pastSwaps? | ToBTCLNSwap<T>[] | Optional array of past swaps to check, otherwise all relevant swaps will be fetched from the persistent storage |
noSave? | boolean | Whether to skip saving the swap changes in the persistent storage |
Returns
Promise<{
changedSwaps: ToBTCLNSwap<T>[];
removeSwaps: ToBTCLNSwap<T>[];
}>
Inherited from
create()
create(
signer,
recipient,
amountData,
lps,
options?,
additionalParams?,
abortSignal?,
preFetches?): Promise<object[]>;
Defined in: atomiq-sdk/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts:309
Returns a newly created Smart chain -> Lightning swap using the HTLC based escrow swap protocol, the amount is parsed from the provided lightning network payment request (bolt11 invoice)
Parameters
| Parameter | Type | Description |
|---|---|---|
signer | string | Source chain signer address initiating the swap |
recipient | string | BOLT11 payment request (bitcoin lightning invoice) you wish to pay |
amountData | Omit<AmountData, "amount"> | Token to swap |
lps | Intermediary[] | An array of intermediaries (LPs) to get the quotes from |
options? | ToBTCLNOptions | Optional additional quote options |
additionalParams? | Record<string, any> | Optional additional parameters sent to the LP when creating the swap |
abortSignal? | AbortSignal | Abort signal |
preFetches? | { feeRatePromise: Promise<string>; pricePreFetchPromise: Promise<bigint>; signDataPrefetchPromise?: Promise<T["PreFetchVerification"]>; usdPricePrefetchPromise: Promise<number>; } | Optional existing pre-fetch promises for the swap (only used internally for LNURL swaps) |
preFetches.feeRatePromise? | Promise<string> | - |
preFetches.pricePreFetchPromise? | Promise<bigint> | - |
preFetches.signDataPrefetchPromise? | Promise<T["PreFetchVerification"]> | - |
preFetches.usdPricePrefetchPromise? | Promise<number> | - |
Returns
Promise<object[]>
createViaInvoiceCreateService()
createViaInvoiceCreateService(
signer,
invoiceCreateServicePromise,
amountData,
lps,
options?,
additionalParams?,
abortSignal?): Promise<object[]>;
Defined in: atomiq-sdk/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts:520
Returns a newly created Smart chain -> Lightning swap using the HTLC based escrow swap protocol via invoice creation service. This allows exactIn swaps by requesting the desired fixed amount lightning network invoice from the service.
Parameters
| Parameter | Type | Description |
|---|---|---|
signer | string | Source chain signer address initiating the swap |
invoiceCreateServicePromise | Promise<LightningInvoiceCreateService> | Service to request destination lightning network invoices from |
amountData | AmountData | Amount, token and exact input/output data for to swap |
lps | Intermediary[] | An array of intermediaries (LPs) to get the quotes from |
options? | ToBTCLNOptions | Optional additional quote options |
additionalParams? | Record<string, any> | Optional additional parameters sent to the LP when creating the swap |
abortSignal? | AbortSignal | Abort signal |
Returns
Promise<object[]>
createViaLNURL()
createViaLNURL(
signer,
lnurl,
amountData,
lps,
options?,
additionalParams?,
abortSignal?): Promise<object[]>;
Defined in: atomiq-sdk/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts:599
Returns a newly created Smart chain -> Lightning swap using the HTLC based escrow swap protocol. Pays to an LNURL-pay link. This allows exactIn swaps by requesting the desired fixed amount lightning network invoice from the LNURL service.
Parameters
| Parameter | Type | Description |
|---|---|---|
signer | string | Source chain signer address initiating the swap |
lnurl | | string | LNURLPayParamsWithUrl | LNURL-pay link of the recipient |
amountData | AmountData | Amount, token and exact input/output data for to swap |
lps | Intermediary[] | An array of intermediaries (LPs) to get the quotes from |
options? | ToBTCLNOptions & object | Optional additional quote options |
additionalParams? | Record<string, any> | Optional additional parameters sent to the LP when creating the swap |
abortSignal? | AbortSignal | Abort signal |
Returns
Promise<object[]>
init()
init(noTimers, noCheckPastSwaps): Promise<void>;
Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:314
Initializes the swap wrapper, needs to be called before any other action can be taken
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
noTimers | boolean | false | Whether 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 |
noCheckPastSwaps | boolean | false | Whether 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>
Inherited from
recoverFromSwapDataAndState()
recoverFromSwapDataAndState(
init,
state,
lp?): Promise<ToBTCLNSwap<T>>;
Defined in: atomiq-sdk/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts:669
Recovers a swap from smart chain on-chain data, please note that not all values for the recovered swaps might be populated, as some data is purely off-chain and can never be recovered purely from on-chain data.
Parameters
| Parameter | Type | Description |
|---|---|---|
init | { data: T["Data"]; getInitTxId: () => Promise<string>; getTxBlock: () => Promise<{ blockHeight: number; blockTime: number; }>; } | Swap escrow initialization transaction and swap data |
init.data | T["Data"] | - |
init.getInitTxId | () => Promise<string> | - |
init.getTxBlock? | () => Promise<{ blockHeight: number; blockTime: number; }> | - |
state? | SwapCommitState | Current on-chain state of the swap |
lp? | Intermediary | Intermediary (LP) used as a counterparty for the swap |
Returns
Promise<ToBTCLNSwap<T>>
Overrides
IToBTCWrapper.recoverFromSwapDataAndState
stop()
stop(): Promise<void>;
Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:355
Un-subscribes from event listeners on the smart chain, terminates the tick interval and stops this wrapper
Returns
Promise<void>
Inherited from
tick()
tick(swaps?): Promise<void>;
Defined in: atomiq-sdk/src/swaps/ISwapWrapper.ts:396
Invokes ISwap._tick on all the known swaps
Parameters
| Parameter | Type | Description |
|---|---|---|
swaps? | ToBTCLNSwap<T>[] | Optional array of swaps to invoke _tick() on, otherwise all relevant swaps will be fetched from the persistent storage |
Returns
Promise<void>