@atomiqlabs/sdk 8.6.0 → 8.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/storage/UnifiedSwapStorage.js +13 -8
- package/dist/swapper/Swapper.d.ts +1 -12
- package/dist/swapper/Swapper.js +25 -26
- package/dist/swapper/SwapperFactory.d.ts +1 -0
- package/dist/swapper/SwapperFactory.js +9 -4
- package/dist/swaps/ISwap.d.ts +8 -0
- package/dist/swaps/ISwap.js +8 -0
- package/dist/swaps/ISwapWrapper.d.ts +23 -1
- package/dist/swaps/ISwapWrapper.js +88 -28
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +4 -1
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.d.ts +2 -2
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +1 -1
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +2 -2
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +16 -6
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +8 -2
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +1 -1
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +14 -4
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +8 -6
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +2 -1
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +7 -5
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +8 -2
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +1 -1
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +0 -6
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +8 -3
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +8 -2
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +1 -0
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +3 -2
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +1 -3
- package/dist/swaps/trusted/ln/LnForGasWrapper.js +0 -1
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +0 -1
- package/package.json +1 -1
- package/src/storage/UnifiedSwapStorage.ts +13 -8
- package/src/swapper/Swapper.ts +27 -27
- package/src/swapper/SwapperFactory.ts +12 -6
- package/src/swaps/ISwap.ts +8 -0
- package/src/swaps/ISwapWrapper.ts +104 -28
- package/src/swaps/escrow_swaps/IEscrowSwapWrapper.ts +5 -1
- package/src/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.ts +3 -3
- package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.ts +17 -8
- package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.ts +8 -3
- package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.ts +13 -5
- package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.ts +8 -7
- package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.ts +9 -5
- package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.ts +7 -2
- package/src/swaps/escrow_swaps/tobtc/IToBTCSwap.ts +1 -1
- package/src/swaps/escrow_swaps/tobtc/IToBTCWrapper.ts +0 -3
- package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts +7 -3
- package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.ts +7 -2
- package/src/swaps/spv_swaps/SpvFromBTCSwap.ts +5 -2
- package/src/swaps/spv_swaps/SpvFromBTCWrapper.ts +1 -3
- package/src/swaps/trusted/ln/LnForGasWrapper.ts +0 -1
- package/src/swaps/trusted/onchain/OnchainForGasWrapper.ts +0 -1
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
ChainSwapType,
|
|
4
4
|
ChainType,
|
|
5
5
|
ClaimEvent,
|
|
6
|
-
InitializeEvent, LightningNetworkApi, Messenger,
|
|
6
|
+
InitializeEvent, LightningNetworkApi, LNNodeLiquidity, Messenger,
|
|
7
7
|
RefundEvent, SwapCommitState, SwapCommitStateType
|
|
8
8
|
} from "@atomiqlabs/base";
|
|
9
9
|
import {Intermediary} from "../../../../intermediaries/Intermediary";
|
|
@@ -174,6 +174,7 @@ export class FromBTCLNAutoWrapper<
|
|
|
174
174
|
super(
|
|
175
175
|
chainIdentifier, unifiedStorage, unifiedChainEvents, chain, contract, prices, tokens, swapDataDeserializer, lnApi,
|
|
176
176
|
{
|
|
177
|
+
...options,
|
|
177
178
|
safetyFactor: options?.safetyFactor ?? 2,
|
|
178
179
|
bitcoinBlocktime: options?.bitcoinBlocktime ?? 10*60,
|
|
179
180
|
unsafeSkipLnNodeCheck: options?.unsafeSkipLnNodeCheck ?? false
|
|
@@ -210,7 +211,6 @@ export class FromBTCLNAutoWrapper<
|
|
|
210
211
|
return false;
|
|
211
212
|
}
|
|
212
213
|
|
|
213
|
-
swap._commitTxId = event.meta?.txId;
|
|
214
214
|
swap._commitedAt ??= Date.now();
|
|
215
215
|
swap._state = FromBTCLNAutoSwapState.CLAIM_COMMITED;
|
|
216
216
|
if(swap.hasSecretPreimage()) swap._broadcastSecret().catch(e => {
|
|
@@ -227,7 +227,6 @@ export class FromBTCLNAutoWrapper<
|
|
|
227
227
|
*/
|
|
228
228
|
protected processEventClaim(swap: FromBTCLNAutoSwap<T>, event: ClaimEvent<T["Data"]>): Promise<boolean> {
|
|
229
229
|
if(swap._state!==FromBTCLNAutoSwapState.FAILED && swap._state!==FromBTCLNAutoSwapState.CLAIM_CLAIMED) {
|
|
230
|
-
swap._claimTxId = event.meta?.txId;
|
|
231
230
|
swap._state = FromBTCLNAutoSwapState.CLAIM_CLAIMED;
|
|
232
231
|
swap._setSwapSecret(event.result);
|
|
233
232
|
return Promise.resolve(true);
|
|
@@ -241,7 +240,6 @@ export class FromBTCLNAutoWrapper<
|
|
|
241
240
|
*/
|
|
242
241
|
protected processEventRefund(swap: FromBTCLNAutoSwap<T>, event: RefundEvent<T["Data"]>): Promise<boolean> {
|
|
243
242
|
if(swap._state!==FromBTCLNAutoSwapState.CLAIM_CLAIMED && swap._state!==FromBTCLNAutoSwapState.FAILED) {
|
|
244
|
-
swap._refundTxId ??= event.meta?.txId;
|
|
245
243
|
swap._state = FromBTCLNAutoSwapState.FAILED;
|
|
246
244
|
return Promise.resolve(true);
|
|
247
245
|
}
|
|
@@ -435,8 +433,13 @@ export class FromBTCLNAutoWrapper<
|
|
|
435
433
|
this._options.postRequestTimeout, abortController.signal, retryCount>0 ? false : undefined
|
|
436
434
|
);
|
|
437
435
|
|
|
436
|
+
let lnCapacityPromise: Promise<LNNodeLiquidity | null> | undefined;
|
|
437
|
+
if(!_options.unsafeSkipLnNodeCheck) {
|
|
438
|
+
lnCapacityPromise = this.preFetchLnCapacity(lnPublicKey);
|
|
439
|
+
} else lnPublicKey.catch(() => {});
|
|
440
|
+
|
|
438
441
|
return {
|
|
439
|
-
lnCapacityPromise
|
|
442
|
+
lnCapacityPromise,
|
|
440
443
|
resp: await response
|
|
441
444
|
};
|
|
442
445
|
}, undefined, RequestError, abortController.signal);
|
|
@@ -493,8 +496,6 @@ export class FromBTCLNAutoWrapper<
|
|
|
493
496
|
exactIn: amountData.exactIn ?? true
|
|
494
497
|
};
|
|
495
498
|
const quote = new FromBTCLNAutoSwap<T>(this, swapInit);
|
|
496
|
-
await quote._save();
|
|
497
|
-
this.logger.debug("create(): Created new FromBTCLNAutoSwap quote, claimHash (pseudo escrowHash): ", quote._getEscrowHash());
|
|
498
499
|
return quote;
|
|
499
500
|
} catch (e) {
|
|
500
501
|
abortController.abort(e);
|
|
@@ -333,8 +333,8 @@ export class FromBTCSwap<T extends ChainType = ChainType>
|
|
|
333
333
|
* @inheritDoc
|
|
334
334
|
* @internal
|
|
335
335
|
*/
|
|
336
|
-
protected canCommit(): boolean {
|
|
337
|
-
if(this._state!==FromBTCSwapState.PR_CREATED) return false;
|
|
336
|
+
protected canCommit(skipQuoteExpiryChecks?: boolean): boolean {
|
|
337
|
+
if(this._state!==FromBTCSwapState.PR_CREATED && (!skipQuoteExpiryChecks || this._state!==FromBTCSwapState.QUOTE_SOFT_EXPIRED)) return false;
|
|
338
338
|
if(this.requiredConfirmations==null) return false;
|
|
339
339
|
const expiry = this.wrapper._getOnchainSendTimeout(this._data, this.requiredConfirmations);
|
|
340
340
|
const currentTimestamp = BigInt(Math.floor(Date.now()/1000));
|
|
@@ -900,7 +900,7 @@ export class FromBTCSwap<T extends ChainType = ChainType>
|
|
|
900
900
|
);
|
|
901
901
|
|
|
902
902
|
this._commitTxId = result[result.length - 1];
|
|
903
|
-
if(this._state===FromBTCSwapState.PR_CREATED || this._state===FromBTCSwapState.QUOTE_SOFT_EXPIRED) {
|
|
903
|
+
if(this._state===FromBTCSwapState.PR_CREATED || this._state===FromBTCSwapState.QUOTE_SOFT_EXPIRED || this._state===FromBTCSwapState.QUOTE_EXPIRED) {
|
|
904
904
|
await this._saveAndEmit(FromBTCSwapState.CLAIM_COMMITED);
|
|
905
905
|
}
|
|
906
906
|
return this._commitTxId;
|
|
@@ -1191,6 +1191,8 @@ export class FromBTCSwap<T extends ChainType = ChainType>
|
|
|
1191
1191
|
return changed;
|
|
1192
1192
|
}
|
|
1193
1193
|
|
|
1194
|
+
private btcTxLastChecked?: number;
|
|
1195
|
+
|
|
1194
1196
|
/**
|
|
1195
1197
|
* @inheritDoc
|
|
1196
1198
|
* @internal
|
|
@@ -1222,6 +1224,7 @@ export class FromBTCSwap<T extends ChainType = ChainType>
|
|
|
1222
1224
|
}
|
|
1223
1225
|
if(this.address==null) return save;
|
|
1224
1226
|
|
|
1227
|
+
this.btcTxLastChecked = Date.now();
|
|
1225
1228
|
const res = await this.getBitcoinPayment();
|
|
1226
1229
|
if(res!=null) {
|
|
1227
1230
|
if(this.txId!==res.txId) {
|
|
@@ -1261,9 +1264,10 @@ export class FromBTCSwap<T extends ChainType = ChainType>
|
|
|
1261
1264
|
return true;
|
|
1262
1265
|
}
|
|
1263
1266
|
case FromBTCSwapState.EXPIRED:
|
|
1264
|
-
//Check if bitcoin payment was received every 2 minutes
|
|
1265
|
-
if(
|
|
1267
|
+
//Check if bitcoin payment was received at least every 2 minutes
|
|
1268
|
+
if(this.btcTxLastChecked==null || Date.now() - this.btcTxLastChecked > 120_000) {
|
|
1266
1269
|
if(this.address!=null) try {
|
|
1270
|
+
this.btcTxLastChecked = Date.now();
|
|
1267
1271
|
const res = await this.getBitcoinPayment();
|
|
1268
1272
|
if(res!=null) {
|
|
1269
1273
|
let shouldSave: boolean = false;
|
|
@@ -150,6 +150,7 @@ export class FromBTCWrapper<
|
|
|
150
150
|
super(
|
|
151
151
|
chainIdentifier, unifiedStorage, unifiedChainEvents, chain, contract, prices, tokens, swapDataDeserializer,
|
|
152
152
|
{
|
|
153
|
+
...options,
|
|
153
154
|
bitcoinNetwork: options?.bitcoinNetwork ?? TEST_NETWORK,
|
|
154
155
|
safetyFactor: options?.safetyFactor ?? 2,
|
|
155
156
|
blocksTillTxConfirms: options?.blocksTillTxConfirms ?? 12,
|
|
@@ -472,8 +473,13 @@ export class FromBTCWrapper<
|
|
|
472
473
|
this._options.postRequestTimeout, abortController.signal, retryCount>0 ? false : undefined
|
|
473
474
|
);
|
|
474
475
|
|
|
476
|
+
let signDataPromise = _signDataPromise;
|
|
477
|
+
if(signDataPromise==null) {
|
|
478
|
+
signDataPromise = this.preFetchSignData(signDataPrefetch);
|
|
479
|
+
} else signDataPrefetch.catch(() => {});
|
|
480
|
+
|
|
475
481
|
return {
|
|
476
|
-
signDataPromise
|
|
482
|
+
signDataPromise,
|
|
477
483
|
resp: await response
|
|
478
484
|
};
|
|
479
485
|
}, undefined, e => e instanceof RequestError, abortController.signal);
|
|
@@ -506,7 +512,6 @@ export class FromBTCWrapper<
|
|
|
506
512
|
exactIn: amountData.exactIn ?? true,
|
|
507
513
|
requiredConfirmations: resp.confirmations
|
|
508
514
|
} as FromBTCSwapInit<T["Data"]>);
|
|
509
|
-
await quote._save();
|
|
510
515
|
return quote;
|
|
511
516
|
} catch (e) {
|
|
512
517
|
abortController.abort(e);
|
|
@@ -593,7 +593,7 @@ export abstract class IToBTCSwap<
|
|
|
593
593
|
* @throws {Error} When in invalid state (not {@link ToBTCSwapState.CREATED})
|
|
594
594
|
*/
|
|
595
595
|
async txsCommit(skipChecks?: boolean): Promise<T["TX"][]> {
|
|
596
|
-
if(this._state!==ToBTCSwapState.CREATED) throw new Error("Must be in CREATED state!");
|
|
596
|
+
if(this._state!==ToBTCSwapState.CREATED && (!skipChecks || this._state!==ToBTCSwapState.QUOTE_SOFT_EXPIRED)) throw new Error("Must be in CREATED state!");
|
|
597
597
|
if(this.signatureData==null) throw new Error("Init signature data not known, cannot commit!");
|
|
598
598
|
|
|
599
599
|
if(!this.initiated) {
|
|
@@ -90,7 +90,6 @@ export abstract class IToBTCWrapper<
|
|
|
90
90
|
protected async processEventInitialize(swap: D["Swap"], event: InitializeEvent<T["Data"]>): Promise<boolean> {
|
|
91
91
|
if(swap._state===ToBTCSwapState.CREATED || swap._state===ToBTCSwapState.QUOTE_SOFT_EXPIRED) {
|
|
92
92
|
swap._state = ToBTCSwapState.COMMITED;
|
|
93
|
-
if(swap._commitTxId==null) swap._commitTxId = event.meta?.txId;
|
|
94
93
|
return true;
|
|
95
94
|
}
|
|
96
95
|
return false;
|
|
@@ -108,7 +107,6 @@ export abstract class IToBTCWrapper<
|
|
|
108
107
|
this.logger.warn(`processEventClaim(): Failed to set payment result ${event.result}: `, e);
|
|
109
108
|
});
|
|
110
109
|
swap._state = ToBTCSwapState.CLAIMED;
|
|
111
|
-
if(swap._claimTxId==null) swap._claimTxId = event.meta?.txId;
|
|
112
110
|
return true;
|
|
113
111
|
}
|
|
114
112
|
return false;
|
|
@@ -120,7 +118,6 @@ export abstract class IToBTCWrapper<
|
|
|
120
118
|
protected processEventRefund(swap: D["Swap"], event: RefundEvent<T["Data"]>): Promise<boolean> {
|
|
121
119
|
if(swap._state!==ToBTCSwapState.CLAIMED && swap._state!==ToBTCSwapState.REFUNDED) {
|
|
122
120
|
swap._state = ToBTCSwapState.REFUNDED;
|
|
123
|
-
if(swap._refundTxId==null) swap._refundTxId = event.meta?.txId;
|
|
124
121
|
return Promise.resolve(true);
|
|
125
122
|
}
|
|
126
123
|
return Promise.resolve(false);
|
|
@@ -112,6 +112,7 @@ export class ToBTCLNWrapper<T extends ChainType> extends IToBTCWrapper<T, ToBTCL
|
|
|
112
112
|
super(
|
|
113
113
|
chainIdentifier, unifiedStorage, unifiedChainEvents, chain, contract, prices, tokens, swapDataDeserializer,
|
|
114
114
|
{
|
|
115
|
+
...options,
|
|
115
116
|
paymentTimeoutSeconds: options?.paymentTimeoutSeconds ?? 5*24*60*60,
|
|
116
117
|
lightningBaseFee: options?.lightningBaseFee ?? 10,
|
|
117
118
|
lightningFeePPM: options?.lightningFeePPM ?? 2000
|
|
@@ -289,8 +290,13 @@ export class ToBTCLNWrapper<T extends ChainType> extends IToBTCWrapper<T, ToBTCL
|
|
|
289
290
|
additionalParams
|
|
290
291
|
}, this._options.postRequestTimeout, abortController.signal, retryCount>0 ? false : undefined);
|
|
291
292
|
|
|
293
|
+
let signDataPromise = preFetches.signDataPrefetchPromise;
|
|
294
|
+
if(signDataPromise==null) {
|
|
295
|
+
signDataPromise = this.preFetchSignData(signDataPrefetch);
|
|
296
|
+
} else signDataPrefetch.catch(() => {});
|
|
297
|
+
|
|
292
298
|
return {
|
|
293
|
-
signDataPromise
|
|
299
|
+
signDataPromise,
|
|
294
300
|
resp: await response
|
|
295
301
|
};
|
|
296
302
|
}, undefined, e => e instanceof RequestError, abortController.signal);
|
|
@@ -335,7 +341,6 @@ export class ToBTCLNWrapper<T extends ChainType> extends IToBTCWrapper<T, ToBTCL
|
|
|
335
341
|
pr,
|
|
336
342
|
exactIn: false
|
|
337
343
|
} as IToBTCSwapInit<T["Data"]>);
|
|
338
|
-
await quote._save();
|
|
339
344
|
return quote;
|
|
340
345
|
} catch (e) {
|
|
341
346
|
abortController.abort(e);
|
|
@@ -539,7 +544,6 @@ export class ToBTCLNWrapper<T extends ChainType> extends IToBTCWrapper<T, ToBTCL
|
|
|
539
544
|
pr: invoice,
|
|
540
545
|
exactIn: true
|
|
541
546
|
} as IToBTCSwapInit<T["Data"]>);
|
|
542
|
-
await quote._save();
|
|
543
547
|
return quote;
|
|
544
548
|
} catch (e) {
|
|
545
549
|
abortController.abort(e);
|
|
@@ -97,6 +97,7 @@ export class ToBTCWrapper<T extends ChainType> extends IToBTCWrapper<T, ToBTCDef
|
|
|
97
97
|
super(
|
|
98
98
|
chainIdentifier, unifiedStorage, unifiedChainEvents, chain, contract, prices, tokens, swapDataDeserializer,
|
|
99
99
|
{
|
|
100
|
+
...options,
|
|
100
101
|
bitcoinNetwork: options?.bitcoinNetwork ?? TEST_NETWORK,
|
|
101
102
|
safetyFactor: options?.safetyFactor ?? 2,
|
|
102
103
|
maxConfirmations: options?.maxConfirmations ?? 6,
|
|
@@ -272,8 +273,13 @@ export class ToBTCWrapper<T extends ChainType> extends IToBTCWrapper<T, ToBTCDef
|
|
|
272
273
|
additionalParams
|
|
273
274
|
}, this._options.postRequestTimeout, abortController.signal, retryCount>0 ? false : undefined);
|
|
274
275
|
|
|
276
|
+
let signDataPromise = _signDataPromise;
|
|
277
|
+
if(signDataPromise==null) {
|
|
278
|
+
signDataPromise = this.preFetchSignData(signDataPrefetch);
|
|
279
|
+
} else signDataPrefetch.catch(() => {});
|
|
280
|
+
|
|
275
281
|
return {
|
|
276
|
-
signDataPromise
|
|
282
|
+
signDataPromise,
|
|
277
283
|
resp: await response
|
|
278
284
|
};
|
|
279
285
|
}, undefined, RequestError, abortController.signal);
|
|
@@ -319,7 +325,6 @@ export class ToBTCWrapper<T extends ChainType> extends IToBTCWrapper<T, ToBTCDef
|
|
|
319
325
|
requiredConfirmations: _options.confirmations,
|
|
320
326
|
nonce
|
|
321
327
|
} as ToBTCSwapInit<T["Data"]>);
|
|
322
|
-
await quote._save();
|
|
323
328
|
return quote;
|
|
324
329
|
} catch (e) {
|
|
325
330
|
abortController.abort(e);
|
|
@@ -354,7 +354,7 @@ export class SpvFromBTCSwap<T extends ChainType>
|
|
|
354
354
|
*/
|
|
355
355
|
protected upgradeVersion() {
|
|
356
356
|
if(this.version===1) {
|
|
357
|
-
this.posted = this.initiated;
|
|
357
|
+
this.posted = this.initiated && this._data!=null;
|
|
358
358
|
this.version = 2;
|
|
359
359
|
}
|
|
360
360
|
}
|
|
@@ -1571,6 +1571,8 @@ export class SpvFromBTCSwap<T extends ChainType>
|
|
|
1571
1571
|
this._senderAddress = btcTx.inputAddresses[1];
|
|
1572
1572
|
}
|
|
1573
1573
|
|
|
1574
|
+
private btcTxLastChecked?: number;
|
|
1575
|
+
|
|
1574
1576
|
/**
|
|
1575
1577
|
* @internal
|
|
1576
1578
|
*/
|
|
@@ -1578,6 +1580,7 @@ export class SpvFromBTCSwap<T extends ChainType>
|
|
|
1578
1580
|
if(this._data?.btcTx==null) return false;
|
|
1579
1581
|
|
|
1580
1582
|
//Check if bitcoin payment was confirmed
|
|
1583
|
+
this.btcTxLastChecked = Date.now();
|
|
1581
1584
|
const res = await this.getBitcoinPayment();
|
|
1582
1585
|
if(res==null) {
|
|
1583
1586
|
//Check inputs double-spent
|
|
@@ -1724,7 +1727,7 @@ export class SpvFromBTCSwap<T extends ChainType>
|
|
|
1724
1727
|
}
|
|
1725
1728
|
}
|
|
1726
1729
|
|
|
1727
|
-
if(
|
|
1730
|
+
if(this.btcTxLastChecked==null || Date.now() - this.btcTxLastChecked > 120_000) {
|
|
1728
1731
|
if (
|
|
1729
1732
|
this._state === SpvFromBTCSwapState.POSTED ||
|
|
1730
1733
|
this._state === SpvFromBTCSwapState.BROADCASTED
|
|
@@ -186,6 +186,7 @@ export class SpvFromBTCWrapper<
|
|
|
186
186
|
super(
|
|
187
187
|
chainIdentifier, unifiedStorage, unifiedChainEvents, chain, prices, tokens,
|
|
188
188
|
{
|
|
189
|
+
...options,
|
|
189
190
|
bitcoinNetwork: options?.bitcoinNetwork ?? TEST_NETWORK,
|
|
190
191
|
maxConfirmations: options?.maxConfirmations ?? 6,
|
|
191
192
|
bitcoinBlocktime: options?.bitcoinBlocktime ?? 10*60,
|
|
@@ -210,7 +211,6 @@ export class SpvFromBTCWrapper<
|
|
|
210
211
|
swap._state===SpvFromBTCSwapState.QUOTE_SOFT_EXPIRED || swap._state===SpvFromBTCSwapState.BTC_TX_CONFIRMED
|
|
211
212
|
) {
|
|
212
213
|
swap._state = SpvFromBTCSwapState.FRONTED;
|
|
213
|
-
swap._frontTxId = event.meta?.txId;
|
|
214
214
|
await swap._setBitcoinTxId(event.btcTxId).catch(e => {
|
|
215
215
|
this.logger.warn("processEventFront(): Failed to set bitcoin txId: ", e);
|
|
216
216
|
});
|
|
@@ -227,7 +227,6 @@ export class SpvFromBTCWrapper<
|
|
|
227
227
|
swap._state===SpvFromBTCSwapState.BTC_TX_CONFIRMED
|
|
228
228
|
) {
|
|
229
229
|
swap._state = SpvFromBTCSwapState.CLAIMED;
|
|
230
|
-
swap._claimTxId = event.meta?.txId;
|
|
231
230
|
await swap._setBitcoinTxId(event.btcTxId).catch(e => {
|
|
232
231
|
this.logger.warn("processEventClaim(): Failed to set bitcoin txId: ", e);
|
|
233
232
|
});
|
|
@@ -708,7 +707,6 @@ export class SpvFromBTCWrapper<
|
|
|
708
707
|
)
|
|
709
708
|
};
|
|
710
709
|
const quote = new SpvFromBTCSwap<T>(this, swapInit);
|
|
711
|
-
await quote._save();
|
|
712
710
|
return quote;
|
|
713
711
|
} catch (e) {
|
|
714
712
|
abortController.abort(e);
|