@atomiqlabs/sdk 8.6.6 → 8.6.7
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/SmartChainAssets.d.ts +181 -181
- package/dist/SmartChainAssets.js +181 -181
- package/dist/bitcoin/coinselect2/accumulative.d.ts +6 -6
- package/dist/bitcoin/coinselect2/accumulative.js +52 -51
- package/dist/bitcoin/coinselect2/blackjack.d.ts +6 -6
- package/dist/bitcoin/coinselect2/blackjack.js +38 -37
- package/dist/bitcoin/coinselect2/index.d.ts +19 -17
- package/dist/bitcoin/coinselect2/index.js +69 -69
- package/dist/bitcoin/coinselect2/utils.d.ts +77 -75
- package/dist/bitcoin/coinselect2/utils.js +123 -123
- package/dist/bitcoin/wallet/BitcoinWallet.d.ts +130 -128
- package/dist/bitcoin/wallet/BitcoinWallet.js +322 -322
- package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +78 -78
- package/dist/bitcoin/wallet/IBitcoinWallet.js +21 -20
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +101 -99
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +176 -176
- package/dist/enums/FeeType.d.ts +15 -15
- package/dist/enums/FeeType.js +19 -19
- package/dist/enums/SwapAmountType.d.ts +15 -15
- package/dist/enums/SwapAmountType.js +19 -19
- package/dist/enums/SwapDirection.d.ts +15 -15
- package/dist/enums/SwapDirection.js +19 -19
- package/dist/enums/SwapSide.d.ts +15 -15
- package/dist/enums/SwapSide.js +19 -19
- package/dist/enums/SwapType.d.ts +75 -75
- package/dist/enums/SwapType.js +79 -79
- package/dist/errors/IntermediaryError.d.ts +13 -13
- package/dist/errors/IntermediaryError.js +27 -27
- package/dist/errors/RequestError.d.ts +32 -32
- package/dist/errors/RequestError.js +54 -54
- package/dist/errors/UserError.d.ts +8 -8
- package/dist/errors/UserError.js +16 -16
- package/dist/events/UnifiedSwapEventListener.d.ts +23 -23
- package/dist/events/UnifiedSwapEventListener.js +130 -130
- package/dist/http/HttpUtils.d.ts +27 -27
- package/dist/http/HttpUtils.js +91 -90
- package/dist/http/paramcoders/IParamReader.d.ts +8 -8
- package/dist/http/paramcoders/IParamReader.js +2 -2
- package/dist/http/paramcoders/ParamDecoder.d.ts +44 -42
- package/dist/http/paramcoders/ParamDecoder.js +137 -137
- package/dist/http/paramcoders/ParamEncoder.d.ts +20 -18
- package/dist/http/paramcoders/ParamEncoder.js +36 -36
- package/dist/http/paramcoders/SchemaVerifier.d.ts +26 -26
- package/dist/http/paramcoders/SchemaVerifier.js +145 -145
- package/dist/http/paramcoders/client/ResponseParamDecoder.d.ts +11 -11
- package/dist/http/paramcoders/client/ResponseParamDecoder.js +57 -57
- package/dist/http/paramcoders/client/StreamParamEncoder.d.ts +13 -11
- package/dist/http/paramcoders/client/StreamParamEncoder.js +26 -26
- package/dist/http/paramcoders/client/StreamingFetchPromise.d.ts +16 -16
- package/dist/http/paramcoders/client/StreamingFetchPromise.js +174 -173
- package/dist/index.d.ts +85 -85
- package/dist/index.js +158 -158
- package/dist/intermediaries/Intermediary.d.ts +157 -157
- package/dist/intermediaries/Intermediary.js +142 -142
- package/dist/intermediaries/IntermediaryDiscovery.d.ts +199 -198
- package/dist/intermediaries/IntermediaryDiscovery.js +406 -406
- package/dist/intermediaries/apis/IntermediaryAPI.d.ts +439 -437
- package/dist/intermediaries/apis/IntermediaryAPI.js +603 -603
- package/dist/intermediaries/apis/TrustedIntermediaryAPI.d.ts +155 -155
- package/dist/intermediaries/apis/TrustedIntermediaryAPI.js +137 -137
- package/dist/lnurl/LNURL.d.ts +102 -102
- package/dist/lnurl/LNURL.js +321 -321
- package/dist/prices/RedundantSwapPrice.d.ts +110 -110
- package/dist/prices/RedundantSwapPrice.js +222 -222
- package/dist/prices/SingleSwapPrice.d.ts +34 -34
- package/dist/prices/SingleSwapPrice.js +44 -44
- package/dist/prices/SwapPriceWithChain.d.ts +107 -107
- package/dist/prices/SwapPriceWithChain.js +128 -128
- package/dist/prices/abstract/ICachedSwapPrice.d.ts +28 -28
- package/dist/prices/abstract/ICachedSwapPrice.js +62 -62
- package/dist/prices/abstract/IPriceProvider.d.ts +81 -81
- package/dist/prices/abstract/IPriceProvider.js +74 -74
- package/dist/prices/abstract/ISwapPrice.d.ts +168 -168
- package/dist/prices/abstract/ISwapPrice.js +279 -279
- package/dist/prices/providers/BinancePriceProvider.d.ts +23 -23
- package/dist/prices/providers/BinancePriceProvider.js +30 -30
- package/dist/prices/providers/CoinGeckoPriceProvider.d.ts +23 -23
- package/dist/prices/providers/CoinGeckoPriceProvider.js +29 -29
- package/dist/prices/providers/CoinPaprikaPriceProvider.d.ts +25 -25
- package/dist/prices/providers/CoinPaprikaPriceProvider.js +29 -29
- package/dist/prices/providers/CustomPriceProvider.d.ts +24 -24
- package/dist/prices/providers/CustomPriceProvider.js +35 -35
- package/dist/prices/providers/KrakenPriceProvider.d.ts +38 -38
- package/dist/prices/providers/KrakenPriceProvider.js +45 -45
- package/dist/prices/providers/OKXPriceProvider.d.ts +34 -34
- package/dist/prices/providers/OKXPriceProvider.js +29 -29
- package/dist/prices/providers/abstract/ExchangePriceProvider.d.ts +17 -17
- package/dist/prices/providers/abstract/ExchangePriceProvider.js +21 -21
- package/dist/prices/providers/abstract/HttpPriceProvider.d.ts +7 -7
- package/dist/prices/providers/abstract/HttpPriceProvider.js +12 -12
- package/dist/storage/IUnifiedStorage.d.ts +85 -85
- package/dist/storage/IUnifiedStorage.js +2 -2
- package/dist/storage/UnifiedSwapStorage.d.ts +114 -114
- package/dist/storage/UnifiedSwapStorage.js +116 -116
- package/dist/storage-browser/IndexedDBUnifiedStorage.d.ts +63 -63
- package/dist/storage-browser/IndexedDBUnifiedStorage.js +298 -298
- package/dist/storage-browser/LocalStorageManager.d.ts +49 -49
- package/dist/storage-browser/LocalStorageManager.js +93 -93
- package/dist/swapper/Swapper.d.ts +687 -686
- package/dist/swapper/Swapper.js +1603 -1603
- package/dist/swapper/SwapperFactory.d.ts +135 -135
- package/dist/swapper/SwapperFactory.js +162 -162
- package/dist/swapper/SwapperUtils.d.ts +200 -200
- package/dist/swapper/SwapperUtils.js +467 -467
- package/dist/swapper/SwapperWithChain.d.ts +404 -404
- package/dist/swapper/SwapperWithChain.js +469 -469
- package/dist/swapper/SwapperWithSigner.d.ts +322 -322
- package/dist/swapper/SwapperWithSigner.js +318 -318
- package/dist/swaps/IAddressSwap.d.ts +22 -22
- package/dist/swaps/IAddressSwap.js +14 -13
- package/dist/swaps/IBTCWalletSwap.d.ts +73 -73
- package/dist/swaps/IBTCWalletSwap.js +18 -17
- package/dist/swaps/IClaimableSwap.d.ts +49 -49
- package/dist/swaps/IClaimableSwap.js +15 -14
- package/dist/swaps/IClaimableSwapWrapper.d.ts +15 -15
- package/dist/swaps/IClaimableSwapWrapper.js +2 -2
- package/dist/swaps/IRefundableSwap.d.ts +43 -43
- package/dist/swaps/IRefundableSwap.js +14 -13
- package/dist/swaps/ISwap.d.ts +387 -386
- package/dist/swaps/ISwap.js +346 -346
- package/dist/swaps/ISwapWithGasDrop.d.ts +21 -21
- package/dist/swaps/ISwapWithGasDrop.js +12 -11
- package/dist/swaps/ISwapWrapper.d.ts +285 -283
- package/dist/swaps/ISwapWrapper.js +353 -353
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.d.ts +98 -98
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.js +126 -126
- package/dist/swaps/escrow_swaps/IEscrowSwap.d.ts +135 -133
- package/dist/swaps/escrow_swaps/IEscrowSwap.js +169 -169
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +115 -114
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +134 -134
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +101 -98
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.js +130 -130
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.d.ts +162 -162
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +190 -190
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.d.ts +58 -58
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.js +78 -78
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +531 -529
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +1285 -1285
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +184 -181
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +418 -418
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +583 -581
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +1371 -1371
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +228 -225
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +506 -506
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +458 -458
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +1126 -1126
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.d.ts +191 -190
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +378 -378
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.d.ts +403 -403
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +924 -924
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.d.ts +62 -62
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +112 -112
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.d.ts +127 -125
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +256 -256
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +242 -241
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +520 -520
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.d.ts +73 -73
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.js +155 -155
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.d.ts +128 -127
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +278 -278
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +630 -630
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +1443 -1443
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +214 -213
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +756 -756
- package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +261 -261
- package/dist/swaps/trusted/ln/LnForGasSwap.js +511 -511
- package/dist/swaps/trusted/ln/LnForGasWrapper.d.ts +40 -40
- package/dist/swaps/trusted/ln/LnForGasWrapper.js +82 -82
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.d.ts +342 -342
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +715 -715
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.d.ts +69 -68
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +92 -92
- package/dist/types/AmountData.d.ts +10 -10
- package/dist/types/AmountData.js +2 -2
- package/dist/types/CustomPriceFunction.d.ts +11 -11
- package/dist/types/CustomPriceFunction.js +2 -2
- package/dist/types/PriceInfoType.d.ts +28 -28
- package/dist/types/PriceInfoType.js +57 -56
- package/dist/types/SwapExecutionAction.d.ts +88 -88
- package/dist/types/SwapExecutionAction.js +2 -2
- package/dist/types/SwapStateInfo.d.ts +5 -5
- package/dist/types/SwapStateInfo.js +2 -2
- package/dist/types/SwapWithSigner.d.ts +17 -17
- package/dist/types/SwapWithSigner.js +43 -42
- package/dist/types/Token.d.ts +99 -99
- package/dist/types/Token.js +76 -76
- package/dist/types/TokenAmount.d.ts +69 -69
- package/dist/types/TokenAmount.js +60 -59
- package/dist/types/fees/Fee.d.ts +50 -50
- package/dist/types/fees/Fee.js +2 -2
- package/dist/types/fees/FeeBreakdown.d.ts +11 -11
- package/dist/types/fees/FeeBreakdown.js +2 -2
- package/dist/types/fees/PercentagePPM.d.ts +17 -17
- package/dist/types/fees/PercentagePPM.js +18 -17
- package/dist/types/lnurl/LNURLPay.d.ts +61 -61
- package/dist/types/lnurl/LNURLPay.js +31 -30
- package/dist/types/lnurl/LNURLWithdraw.d.ts +48 -48
- package/dist/types/lnurl/LNURLWithdraw.js +27 -26
- package/dist/types/wallets/LightningInvoiceCreateService.d.ts +24 -24
- package/dist/types/wallets/LightningInvoiceCreateService.js +15 -14
- package/dist/types/wallets/MinimalBitcoinWalletInterface.d.ts +23 -23
- package/dist/types/wallets/MinimalBitcoinWalletInterface.js +2 -2
- package/dist/types/wallets/MinimalLightningNetworkWalletInterface.d.ts +9 -9
- package/dist/types/wallets/MinimalLightningNetworkWalletInterface.js +2 -2
- package/dist/utils/AutomaticClockDriftCorrection.d.ts +1 -1
- package/dist/utils/AutomaticClockDriftCorrection.js +70 -69
- package/dist/utils/BitcoinUtils.d.ts +14 -12
- package/dist/utils/BitcoinUtils.js +102 -101
- package/dist/utils/BitcoinWalletUtils.d.ts +7 -7
- package/dist/utils/BitcoinWalletUtils.js +14 -13
- package/dist/utils/Logger.d.ts +7 -7
- package/dist/utils/Logger.js +12 -11
- package/dist/utils/RetryUtils.d.ts +22 -22
- package/dist/utils/RetryUtils.js +67 -66
- package/dist/utils/SwapUtils.d.ts +88 -88
- package/dist/utils/SwapUtils.js +72 -72
- package/dist/utils/TimeoutUtils.d.ts +17 -17
- package/dist/utils/TimeoutUtils.js +55 -54
- package/dist/utils/TokenUtils.d.ts +19 -19
- package/dist/utils/TokenUtils.js +37 -36
- package/dist/utils/TypeUtils.d.ts +7 -7
- package/dist/utils/TypeUtils.js +2 -2
- package/dist/utils/Utils.d.ts +58 -56
- package/dist/utils/Utils.js +194 -193
- package/package.json +1 -1
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export declare function
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { BTC_NETWORK } from "@scure/btc-signer/utils";
|
|
4
|
+
import { Buffer } from "buffer";
|
|
5
|
+
import { Transaction } from "@scure/btc-signer";
|
|
6
|
+
import { CoinselectAddressTypes } from "../bitcoin/coinselect2";
|
|
7
|
+
export declare function fromOutputScript(network: BTC_NETWORK, outputScriptHex: string): string;
|
|
8
|
+
export declare function toOutputScript(network: BTC_NETWORK, address: string): Buffer;
|
|
9
|
+
export declare function toCoinselectAddressType(outputScript: Uint8Array): CoinselectAddressTypes;
|
|
10
|
+
/**
|
|
11
|
+
* General parsers for PSBTs, can parse hex or base64 encoded PSBTs
|
|
12
|
+
* @param _psbt
|
|
13
|
+
*/
|
|
14
|
+
export declare function parsePsbtTransaction(_psbt: Transaction | string): Transaction;
|
|
@@ -1,101 +1,102 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fromOutputScript =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
case "
|
|
17
|
-
case "
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if (e.
|
|
34
|
-
msg += ": " + e.
|
|
35
|
-
if (e
|
|
36
|
-
msg += ": " + e
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (e.
|
|
47
|
-
msg += ": " + e.
|
|
48
|
-
if (e
|
|
49
|
-
msg += ": " + e
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* General parsers for PSBTs, can parse hex or base64 encoded PSBTs
|
|
76
|
-
* @param _psbt
|
|
77
|
-
*/
|
|
78
|
-
function parsePsbtTransaction(_psbt) {
|
|
79
|
-
if (typeof (_psbt) === "string") {
|
|
80
|
-
let rawPsbt;
|
|
81
|
-
if (/^(?:[0-9a-fA-F]{2})+$/.test(_psbt)) {
|
|
82
|
-
//Hex
|
|
83
|
-
rawPsbt = buffer_1.Buffer.from(_psbt, "hex");
|
|
84
|
-
}
|
|
85
|
-
else if (/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(_psbt)) {
|
|
86
|
-
//Base64
|
|
87
|
-
rawPsbt = buffer_1.Buffer.from(_psbt, "base64");
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
throw new Error("Provided psbt string not base64 nor hex encoded!");
|
|
91
|
-
}
|
|
92
|
-
return btc_signer_1.Transaction.fromPSBT(rawPsbt, {
|
|
93
|
-
allowUnknownOutputs: true,
|
|
94
|
-
allowUnknownInputs: true,
|
|
95
|
-
allowLegacyWitnessUtxo: true,
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
return _psbt;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parsePsbtTransaction = exports.toCoinselectAddressType = exports.toOutputScript = exports.fromOutputScript = void 0;
|
|
4
|
+
const utils_1 = require("@scure/btc-signer/utils");
|
|
5
|
+
const buffer_1 = require("buffer");
|
|
6
|
+
const btc_signer_1 = require("@scure/btc-signer");
|
|
7
|
+
function fromOutputScript(network, outputScriptHex) {
|
|
8
|
+
return (0, btc_signer_1.Address)(network).encode(btc_signer_1.OutScript.decode(buffer_1.Buffer.from(outputScriptHex, "hex")));
|
|
9
|
+
}
|
|
10
|
+
exports.fromOutputScript = fromOutputScript;
|
|
11
|
+
function toOutputScript(network, address) {
|
|
12
|
+
const outputScript = (0, btc_signer_1.Address)(network).decode(address);
|
|
13
|
+
switch (outputScript.type) {
|
|
14
|
+
case "pkh":
|
|
15
|
+
case "sh":
|
|
16
|
+
case "wpkh":
|
|
17
|
+
case "wsh":
|
|
18
|
+
return buffer_1.Buffer.from(btc_signer_1.OutScript.encode({
|
|
19
|
+
type: outputScript.type,
|
|
20
|
+
hash: outputScript.hash
|
|
21
|
+
}));
|
|
22
|
+
case "tr":
|
|
23
|
+
try {
|
|
24
|
+
return buffer_1.Buffer.from(btc_signer_1.OutScript.encode({
|
|
25
|
+
type: "tr",
|
|
26
|
+
pubkey: outputScript.pubkey
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
let msg = "";
|
|
31
|
+
if (e.name != null)
|
|
32
|
+
msg += ": " + e.name;
|
|
33
|
+
if (e.message != null)
|
|
34
|
+
msg += ": " + e.message;
|
|
35
|
+
if (typeof (e) === "string")
|
|
36
|
+
msg += ": " + e;
|
|
37
|
+
msg += ", isBytes: " + (0, utils_1.isBytes)(outputScript.pubkey);
|
|
38
|
+
try {
|
|
39
|
+
(0, utils_1.validatePubkey)(outputScript.pubkey, utils_1.PubT.schnorr);
|
|
40
|
+
msg += ", validatePubkey: success";
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
msg += ", validatePubkeyError: ";
|
|
44
|
+
if (e.name != null)
|
|
45
|
+
msg += ": " + e.name;
|
|
46
|
+
if (e.message != null)
|
|
47
|
+
msg += ": " + e.message;
|
|
48
|
+
if (typeof (e) === "string")
|
|
49
|
+
msg += ": " + e;
|
|
50
|
+
}
|
|
51
|
+
throw new Error(msg);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
throw new Error(`Unrecognized output script type: ${outputScript.type}`);
|
|
55
|
+
}
|
|
56
|
+
exports.toOutputScript = toOutputScript;
|
|
57
|
+
function toCoinselectAddressType(outputScript) {
|
|
58
|
+
const data = btc_signer_1.OutScript.decode(outputScript);
|
|
59
|
+
switch (data.type) {
|
|
60
|
+
case "pkh":
|
|
61
|
+
return "p2pkh";
|
|
62
|
+
case "sh":
|
|
63
|
+
return "p2sh-p2wpkh";
|
|
64
|
+
case "wpkh":
|
|
65
|
+
return "p2wpkh";
|
|
66
|
+
case "wsh":
|
|
67
|
+
return "p2wsh";
|
|
68
|
+
case "tr":
|
|
69
|
+
return "p2tr";
|
|
70
|
+
}
|
|
71
|
+
throw new Error("Unrecognized address type!");
|
|
72
|
+
}
|
|
73
|
+
exports.toCoinselectAddressType = toCoinselectAddressType;
|
|
74
|
+
/**
|
|
75
|
+
* General parsers for PSBTs, can parse hex or base64 encoded PSBTs
|
|
76
|
+
* @param _psbt
|
|
77
|
+
*/
|
|
78
|
+
function parsePsbtTransaction(_psbt) {
|
|
79
|
+
if (typeof (_psbt) === "string") {
|
|
80
|
+
let rawPsbt;
|
|
81
|
+
if (/^(?:[0-9a-fA-F]{2})+$/.test(_psbt)) {
|
|
82
|
+
//Hex
|
|
83
|
+
rawPsbt = buffer_1.Buffer.from(_psbt, "hex");
|
|
84
|
+
}
|
|
85
|
+
else if (/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(_psbt)) {
|
|
86
|
+
//Base64
|
|
87
|
+
rawPsbt = buffer_1.Buffer.from(_psbt, "base64");
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
throw new Error("Provided psbt string not base64 nor hex encoded!");
|
|
91
|
+
}
|
|
92
|
+
return btc_signer_1.Transaction.fromPSBT(rawPsbt, {
|
|
93
|
+
allowUnknownOutputs: true,
|
|
94
|
+
allowUnknownInputs: true,
|
|
95
|
+
allowLegacyWitnessUtxo: true,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
return _psbt;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.parsePsbtTransaction = parsePsbtTransaction;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { IBitcoinWallet } from "../bitcoin/wallet/IBitcoinWallet";
|
|
2
|
-
import { BTC_NETWORK } from "@scure/btc-signer/utils";
|
|
3
|
-
import { BitcoinRpcWithAddressIndex } from "@atomiqlabs/base";
|
|
4
|
-
export declare function toBitcoinWallet(_bitcoinWallet: IBitcoinWallet | {
|
|
5
|
-
address: string;
|
|
6
|
-
publicKey: string;
|
|
7
|
-
}, btcRpc: BitcoinRpcWithAddressIndex<any>, bitcoinNetwork: BTC_NETWORK): IBitcoinWallet;
|
|
1
|
+
import { IBitcoinWallet } from "../bitcoin/wallet/IBitcoinWallet";
|
|
2
|
+
import { BTC_NETWORK } from "@scure/btc-signer/utils";
|
|
3
|
+
import { BitcoinRpcWithAddressIndex } from "@atomiqlabs/base";
|
|
4
|
+
export declare function toBitcoinWallet(_bitcoinWallet: IBitcoinWallet | {
|
|
5
|
+
address: string;
|
|
6
|
+
publicKey: string;
|
|
7
|
+
}, btcRpc: BitcoinRpcWithAddressIndex<any>, bitcoinNetwork: BTC_NETWORK): IBitcoinWallet;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toBitcoinWallet =
|
|
4
|
-
const IBitcoinWallet_1 = require("../bitcoin/wallet/IBitcoinWallet");
|
|
5
|
-
const SingleAddressBitcoinWallet_1 = require("../bitcoin/wallet/SingleAddressBitcoinWallet");
|
|
6
|
-
function toBitcoinWallet(_bitcoinWallet, btcRpc, bitcoinNetwork) {
|
|
7
|
-
if ((0, IBitcoinWallet_1.isIBitcoinWallet)(_bitcoinWallet)) {
|
|
8
|
-
return _bitcoinWallet;
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
return new SingleAddressBitcoinWallet_1.SingleAddressBitcoinWallet(btcRpc, bitcoinNetwork, _bitcoinWallet);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toBitcoinWallet = void 0;
|
|
4
|
+
const IBitcoinWallet_1 = require("../bitcoin/wallet/IBitcoinWallet");
|
|
5
|
+
const SingleAddressBitcoinWallet_1 = require("../bitcoin/wallet/SingleAddressBitcoinWallet");
|
|
6
|
+
function toBitcoinWallet(_bitcoinWallet, btcRpc, bitcoinNetwork) {
|
|
7
|
+
if ((0, IBitcoinWallet_1.isIBitcoinWallet)(_bitcoinWallet)) {
|
|
8
|
+
return _bitcoinWallet;
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
return new SingleAddressBitcoinWallet_1.SingleAddressBitcoinWallet(btcRpc, bitcoinNetwork, _bitcoinWallet);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.toBitcoinWallet = toBitcoinWallet;
|
package/dist/utils/Logger.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export type LoggerType = {
|
|
2
|
-
debug: (msg: string, ...args: any[]) => void;
|
|
3
|
-
info: (msg: string, ...args: any[]) => void;
|
|
4
|
-
warn: (msg: string, ...args: any[]) => void;
|
|
5
|
-
error: (msg: string, ...args: any[]) => void;
|
|
6
|
-
};
|
|
7
|
-
export declare function getLogger(prefix: string): LoggerType;
|
|
1
|
+
export type LoggerType = {
|
|
2
|
+
debug: (msg: string, ...args: any[]) => void;
|
|
3
|
+
info: (msg: string, ...args: any[]) => void;
|
|
4
|
+
warn: (msg: string, ...args: any[]) => void;
|
|
5
|
+
error: (msg: string, ...args: any[]) => void;
|
|
6
|
+
};
|
|
7
|
+
export declare function getLogger(prefix: string): LoggerType;
|
package/dist/utils/Logger.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLogger =
|
|
4
|
-
function getLogger(prefix) {
|
|
5
|
-
return {
|
|
6
|
-
debug: (msg, ...args) => global.atomiqLogLevel >= 3 && console.debug(prefix + msg, ...args),
|
|
7
|
-
info: (msg, ...args) => global.atomiqLogLevel >= 2 && console.info(prefix + msg, ...args),
|
|
8
|
-
warn: (msg, ...args) => (global.atomiqLogLevel == null || global.atomiqLogLevel >= 1) && console.warn(prefix + msg, ...args),
|
|
9
|
-
error: (msg, ...args) => (global.atomiqLogLevel == null || global.atomiqLogLevel >= 0) && console.error(prefix + msg, ...args)
|
|
10
|
-
};
|
|
11
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getLogger = void 0;
|
|
4
|
+
function getLogger(prefix) {
|
|
5
|
+
return {
|
|
6
|
+
debug: (msg, ...args) => global.atomiqLogLevel >= 3 && console.debug(prefix + msg, ...args),
|
|
7
|
+
info: (msg, ...args) => global.atomiqLogLevel >= 2 && console.info(prefix + msg, ...args),
|
|
8
|
+
warn: (msg, ...args) => (global.atomiqLogLevel == null || global.atomiqLogLevel >= 1) && console.warn(prefix + msg, ...args),
|
|
9
|
+
error: (msg, ...args) => (global.atomiqLogLevel == null || global.atomiqLogLevel >= 0) && console.error(prefix + msg, ...args)
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
exports.getLogger = getLogger;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
type Constructor<T = any> = new (...args: any[]) => T;
|
|
2
|
-
/**
|
|
3
|
-
* Runs the passed function multiple times if it fails
|
|
4
|
-
*
|
|
5
|
-
* @param func A callback for executing the action
|
|
6
|
-
* @param func.retryCount Count of the current retry, starting from 0 for original request and increasing
|
|
7
|
-
* @param retryPolicy Retry policy
|
|
8
|
-
* @param retryPolicy.maxRetries How many retries to attempt in total
|
|
9
|
-
* @param retryPolicy.delay How long should the delay be
|
|
10
|
-
* @param retryPolicy.exponential Whether to use exponentially increasing delays
|
|
11
|
-
* @param errorAllowed A callback for determining whether a given error is allowed, and we should therefore not retry
|
|
12
|
-
* @param abortSignal
|
|
13
|
-
* @param failureLogLevel
|
|
14
|
-
* @returns Result of the action executing callback
|
|
15
|
-
* @category Utilities
|
|
16
|
-
*/
|
|
17
|
-
export declare function tryWithRetries<T>(func: (retryCount: number) => Promise<T>, retryPolicy?: {
|
|
18
|
-
maxRetries?: number;
|
|
19
|
-
delay?: number;
|
|
20
|
-
exponential?: boolean;
|
|
21
|
-
}, errorAllowed?: ((e: any) => boolean) | Constructor<Error> | Constructor<Error>[], abortSignal?: AbortSignal, failureLogLevel?: "debug" | "info" | "warn" | "error"): Promise<T>;
|
|
22
|
-
export {};
|
|
1
|
+
type Constructor<T = any> = new (...args: any[]) => T;
|
|
2
|
+
/**
|
|
3
|
+
* Runs the passed function multiple times if it fails
|
|
4
|
+
*
|
|
5
|
+
* @param func A callback for executing the action
|
|
6
|
+
* @param func.retryCount Count of the current retry, starting from 0 for original request and increasing
|
|
7
|
+
* @param retryPolicy Retry policy
|
|
8
|
+
* @param retryPolicy.maxRetries How many retries to attempt in total
|
|
9
|
+
* @param retryPolicy.delay How long should the delay be
|
|
10
|
+
* @param retryPolicy.exponential Whether to use exponentially increasing delays
|
|
11
|
+
* @param errorAllowed A callback for determining whether a given error is allowed, and we should therefore not retry
|
|
12
|
+
* @param abortSignal
|
|
13
|
+
* @param failureLogLevel
|
|
14
|
+
* @returns Result of the action executing callback
|
|
15
|
+
* @category Utilities
|
|
16
|
+
*/
|
|
17
|
+
export declare function tryWithRetries<T>(func: (retryCount: number) => Promise<T>, retryPolicy?: {
|
|
18
|
+
maxRetries?: number;
|
|
19
|
+
delay?: number;
|
|
20
|
+
exponential?: boolean;
|
|
21
|
+
}, errorAllowed?: ((e: any) => boolean) | Constructor<Error> | Constructor<Error>[], abortSignal?: AbortSignal, failureLogLevel?: "debug" | "info" | "warn" | "error"): Promise<T>;
|
|
22
|
+
export {};
|
package/dist/utils/RetryUtils.js
CHANGED
|
@@ -1,66 +1,67 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.tryWithRetries =
|
|
4
|
-
const TimeoutUtils_1 = require("./TimeoutUtils");
|
|
5
|
-
const Logger_1 = require("./Logger");
|
|
6
|
-
const logger = (0, Logger_1.getLogger)("RetryUtils: ");
|
|
7
|
-
function isConstructor(fn) {
|
|
8
|
-
return (typeof fn === 'function' &&
|
|
9
|
-
fn.prototype != null &&
|
|
10
|
-
fn.prototype.constructor === fn);
|
|
11
|
-
}
|
|
12
|
-
function isConstructorArray(fnArr) {
|
|
13
|
-
return Array.isArray(fnArr) && fnArr.every(isConstructor);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Checks whether the passed error is allowed to pass through
|
|
17
|
-
*
|
|
18
|
-
* @param e Error in question
|
|
19
|
-
* @param errorAllowed Allowed errors as defined as a callback function, specific error type, or an array of error types
|
|
20
|
-
*/
|
|
21
|
-
function checkError(e, errorAllowed) {
|
|
22
|
-
if (isConstructorArray(errorAllowed))
|
|
23
|
-
return errorAllowed.find(error => e instanceof error) != null;
|
|
24
|
-
if (isConstructor(errorAllowed))
|
|
25
|
-
return e instanceof errorAllowed;
|
|
26
|
-
return errorAllowed(e);
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Runs the passed function multiple times if it fails
|
|
30
|
-
*
|
|
31
|
-
* @param func A callback for executing the action
|
|
32
|
-
* @param func.retryCount Count of the current retry, starting from 0 for original request and increasing
|
|
33
|
-
* @param retryPolicy Retry policy
|
|
34
|
-
* @param retryPolicy.maxRetries How many retries to attempt in total
|
|
35
|
-
* @param retryPolicy.delay How long should the delay be
|
|
36
|
-
* @param retryPolicy.exponential Whether to use exponentially increasing delays
|
|
37
|
-
* @param errorAllowed A callback for determining whether a given error is allowed, and we should therefore not retry
|
|
38
|
-
* @param abortSignal
|
|
39
|
-
* @param failureLogLevel
|
|
40
|
-
* @returns Result of the action executing callback
|
|
41
|
-
* @category Utilities
|
|
42
|
-
*/
|
|
43
|
-
async function tryWithRetries(func, retryPolicy, errorAllowed, abortSignal, failureLogLevel = "warn") {
|
|
44
|
-
retryPolicy = retryPolicy || {};
|
|
45
|
-
retryPolicy.maxRetries = retryPolicy.maxRetries || 5;
|
|
46
|
-
retryPolicy.delay = retryPolicy.delay || 500;
|
|
47
|
-
retryPolicy.exponential = retryPolicy.exponential == null ? true : retryPolicy.exponential;
|
|
48
|
-
let err = null;
|
|
49
|
-
for (let i = 0; i < retryPolicy.maxRetries; i++) {
|
|
50
|
-
try {
|
|
51
|
-
return await func(i);
|
|
52
|
-
}
|
|
53
|
-
catch (e) {
|
|
54
|
-
if (errorAllowed != null && checkError(e, errorAllowed))
|
|
55
|
-
throw e;
|
|
56
|
-
err = e;
|
|
57
|
-
logger[failureLogLevel]("tryWithRetries(): Error on try number: " + i, e);
|
|
58
|
-
}
|
|
59
|
-
if (abortSignal != null && abortSignal.aborted)
|
|
60
|
-
throw (abortSignal.reason || new Error("Aborted"));
|
|
61
|
-
if (i !== retryPolicy.maxRetries - 1) {
|
|
62
|
-
await (0, TimeoutUtils_1.timeoutPromise)(retryPolicy.exponential ? retryPolicy.delay * Math.pow(2, i) : retryPolicy.delay, abortSignal);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
throw err;
|
|
66
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tryWithRetries = void 0;
|
|
4
|
+
const TimeoutUtils_1 = require("./TimeoutUtils");
|
|
5
|
+
const Logger_1 = require("./Logger");
|
|
6
|
+
const logger = (0, Logger_1.getLogger)("RetryUtils: ");
|
|
7
|
+
function isConstructor(fn) {
|
|
8
|
+
return (typeof fn === 'function' &&
|
|
9
|
+
fn.prototype != null &&
|
|
10
|
+
fn.prototype.constructor === fn);
|
|
11
|
+
}
|
|
12
|
+
function isConstructorArray(fnArr) {
|
|
13
|
+
return Array.isArray(fnArr) && fnArr.every(isConstructor);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Checks whether the passed error is allowed to pass through
|
|
17
|
+
*
|
|
18
|
+
* @param e Error in question
|
|
19
|
+
* @param errorAllowed Allowed errors as defined as a callback function, specific error type, or an array of error types
|
|
20
|
+
*/
|
|
21
|
+
function checkError(e, errorAllowed) {
|
|
22
|
+
if (isConstructorArray(errorAllowed))
|
|
23
|
+
return errorAllowed.find(error => e instanceof error) != null;
|
|
24
|
+
if (isConstructor(errorAllowed))
|
|
25
|
+
return e instanceof errorAllowed;
|
|
26
|
+
return errorAllowed(e);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Runs the passed function multiple times if it fails
|
|
30
|
+
*
|
|
31
|
+
* @param func A callback for executing the action
|
|
32
|
+
* @param func.retryCount Count of the current retry, starting from 0 for original request and increasing
|
|
33
|
+
* @param retryPolicy Retry policy
|
|
34
|
+
* @param retryPolicy.maxRetries How many retries to attempt in total
|
|
35
|
+
* @param retryPolicy.delay How long should the delay be
|
|
36
|
+
* @param retryPolicy.exponential Whether to use exponentially increasing delays
|
|
37
|
+
* @param errorAllowed A callback for determining whether a given error is allowed, and we should therefore not retry
|
|
38
|
+
* @param abortSignal
|
|
39
|
+
* @param failureLogLevel
|
|
40
|
+
* @returns Result of the action executing callback
|
|
41
|
+
* @category Utilities
|
|
42
|
+
*/
|
|
43
|
+
async function tryWithRetries(func, retryPolicy, errorAllowed, abortSignal, failureLogLevel = "warn") {
|
|
44
|
+
retryPolicy = retryPolicy || {};
|
|
45
|
+
retryPolicy.maxRetries = retryPolicy.maxRetries || 5;
|
|
46
|
+
retryPolicy.delay = retryPolicy.delay || 500;
|
|
47
|
+
retryPolicy.exponential = retryPolicy.exponential == null ? true : retryPolicy.exponential;
|
|
48
|
+
let err = null;
|
|
49
|
+
for (let i = 0; i < retryPolicy.maxRetries; i++) {
|
|
50
|
+
try {
|
|
51
|
+
return await func(i);
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
if (errorAllowed != null && checkError(e, errorAllowed))
|
|
55
|
+
throw e;
|
|
56
|
+
err = e;
|
|
57
|
+
logger[failureLogLevel]("tryWithRetries(): Error on try number: " + i, e);
|
|
58
|
+
}
|
|
59
|
+
if (abortSignal != null && abortSignal.aborted)
|
|
60
|
+
throw (abortSignal.reason || new Error("Aborted"));
|
|
61
|
+
if (i !== retryPolicy.maxRetries - 1) {
|
|
62
|
+
await (0, TimeoutUtils_1.timeoutPromise)(retryPolicy.exponential ? retryPolicy.delay * Math.pow(2, i) : retryPolicy.delay, abortSignal);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
throw err;
|
|
66
|
+
}
|
|
67
|
+
exports.tryWithRetries = tryWithRetries;
|