@atomiqlabs/sdk 8.6.0 → 8.6.3
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/http/paramcoders/ParamDecoder.js +9 -4
- package/dist/http/paramcoders/ParamEncoder.js +6 -1
- package/dist/intermediaries/IntermediaryDiscovery.js +4 -3
- package/dist/storage/UnifiedSwapStorage.js +13 -8
- package/dist/swapper/Swapper.d.ts +1 -12
- package/dist/swapper/Swapper.js +31 -28
- 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/dist/utils/RetryUtils.d.ts +2 -1
- package/dist/utils/RetryUtils.js +3 -2
- package/package.json +1 -1
- package/src/http/paramcoders/ParamDecoder.ts +8 -4
- package/src/http/paramcoders/ParamEncoder.ts +5 -1
- package/src/intermediaries/IntermediaryDiscovery.ts +6 -4
- package/src/storage/UnifiedSwapStorage.ts +13 -8
- package/src/swapper/Swapper.ts +35 -28
- 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
- package/src/utils/RetryUtils.ts +11 -4
|
@@ -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);
|
package/src/utils/RetryUtils.ts
CHANGED
|
@@ -40,12 +40,19 @@ function checkError(e: any, errorAllowed: ((e: any) => boolean) | Constructor<Er
|
|
|
40
40
|
* @param retryPolicy.exponential Whether to use exponentially increasing delays
|
|
41
41
|
* @param errorAllowed A callback for determining whether a given error is allowed, and we should therefore not retry
|
|
42
42
|
* @param abortSignal
|
|
43
|
+
* @param failureLogLevel
|
|
43
44
|
* @returns Result of the action executing callback
|
|
44
45
|
* @category Utilities
|
|
45
46
|
*/
|
|
46
|
-
export async function tryWithRetries<T>(
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
export async function tryWithRetries<T>(
|
|
48
|
+
func: (retryCount: number) => Promise<T>,
|
|
49
|
+
retryPolicy?: {
|
|
50
|
+
maxRetries?: number, delay?: number, exponential?: boolean
|
|
51
|
+
},
|
|
52
|
+
errorAllowed?: ((e: any) => boolean) | Constructor<Error> | Constructor<Error>[],
|
|
53
|
+
abortSignal?: AbortSignal,
|
|
54
|
+
failureLogLevel: "debug" | "info" | "warn" | "error" = "warn"
|
|
55
|
+
): Promise<T> {
|
|
49
56
|
retryPolicy = retryPolicy || {};
|
|
50
57
|
retryPolicy.maxRetries = retryPolicy.maxRetries || 5;
|
|
51
58
|
retryPolicy.delay = retryPolicy.delay || 500;
|
|
@@ -59,7 +66,7 @@ export async function tryWithRetries<T>(func: (retryCount: number) => Promise<T>
|
|
|
59
66
|
} catch (e) {
|
|
60
67
|
if (errorAllowed != null && checkError(e, errorAllowed)) throw e;
|
|
61
68
|
err = e;
|
|
62
|
-
logger
|
|
69
|
+
logger[failureLogLevel]("tryWithRetries(): Error on try number: " + i, e);
|
|
63
70
|
}
|
|
64
71
|
if (abortSignal != null && abortSignal.aborted) throw (abortSignal.reason || new Error("Aborted"));
|
|
65
72
|
if (i !== retryPolicy.maxRetries - 1) {
|