@atomiqlabs/sdk 8.9.1 → 8.9.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/LICENSE +201 -201
- package/README.md +1760 -1760
- package/api/index.d.ts +1 -1
- package/api/index.js +3 -3
- package/dist/ApiList.d.ts +37 -37
- package/dist/ApiList.js +30 -30
- package/dist/SmartChainAssets.d.ts +181 -181
- package/dist/SmartChainAssets.js +181 -181
- package/dist/api/ApiEndpoints.d.ts +393 -393
- package/dist/api/ApiEndpoints.js +2 -2
- package/dist/api/ApiParser.d.ts +10 -10
- package/dist/api/ApiParser.js +134 -134
- package/dist/api/ApiTypes.d.ts +157 -157
- package/dist/api/ApiTypes.js +75 -75
- package/dist/api/SerializedAction.d.ts +40 -40
- package/dist/api/SerializedAction.js +59 -59
- package/dist/api/SwapperApi.d.ts +50 -50
- package/dist/api/SwapperApi.js +431 -431
- package/dist/api/index.d.ts +5 -5
- package/dist/api/index.js +24 -24
- package/dist/bitcoin/coinselect2/accumulative.d.ts +7 -7
- package/dist/bitcoin/coinselect2/accumulative.js +52 -52
- package/dist/bitcoin/coinselect2/blackjack.d.ts +7 -7
- package/dist/bitcoin/coinselect2/blackjack.js +38 -38
- package/dist/bitcoin/coinselect2/index.d.ts +20 -20
- package/dist/bitcoin/coinselect2/index.js +69 -69
- package/dist/bitcoin/coinselect2/utils.d.ts +82 -82
- package/dist/bitcoin/coinselect2/utils.js +158 -158
- package/dist/bitcoin/wallet/BitcoinWallet.d.ts +113 -113
- package/dist/bitcoin/wallet/BitcoinWallet.js +335 -335
- package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +116 -116
- package/dist/bitcoin/wallet/IBitcoinWallet.js +21 -21
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +106 -106
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +196 -196
- 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 +24 -24
- package/dist/events/UnifiedSwapEventListener.js +138 -138
- package/dist/http/HttpUtils.d.ts +29 -29
- package/dist/http/HttpUtils.js +97 -97
- 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 -44
- package/dist/http/paramcoders/ParamDecoder.js +137 -137
- package/dist/http/paramcoders/ParamEncoder.d.ts +20 -20
- 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 -13
- package/dist/http/paramcoders/client/StreamParamEncoder.js +26 -26
- package/dist/http/paramcoders/client/StreamingFetchPromise.d.ts +17 -17
- package/dist/http/paramcoders/client/StreamingFetchPromise.js +175 -175
- package/dist/index.d.ts +86 -86
- package/dist/index.js +159 -159
- package/dist/intermediaries/Intermediary.d.ts +178 -178
- package/dist/intermediaries/Intermediary.js +166 -166
- package/dist/intermediaries/IntermediaryDiscovery.d.ts +216 -216
- package/dist/intermediaries/IntermediaryDiscovery.js +424 -424
- package/dist/intermediaries/apis/IntermediaryAPI.d.ts +607 -607
- package/dist/intermediaries/apis/IntermediaryAPI.js +764 -764
- package/dist/intermediaries/apis/TrustedIntermediaryAPI.d.ts +155 -155
- package/dist/intermediaries/apis/TrustedIntermediaryAPI.js +137 -137
- package/dist/intermediaries/auth/SignedKeyBasedAuth.d.ts +14 -14
- package/dist/intermediaries/auth/SignedKeyBasedAuth.js +68 -68
- 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 +127 -127
- package/dist/storage/IUnifiedStorage.js +2 -2
- package/dist/storage/UnifiedSwapStorage.d.ts +120 -120
- package/dist/storage/UnifiedSwapStorage.js +154 -154
- 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 +770 -770
- package/dist/swapper/Swapper.js +1758 -1758
- package/dist/swapper/SwapperFactory.d.ts +135 -135
- package/dist/swapper/SwapperFactory.js +162 -162
- package/dist/swapper/SwapperUtils.d.ts +222 -222
- package/dist/swapper/SwapperUtils.js +519 -519
- 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 -14
- package/dist/swaps/IBTCWalletSwap.d.ts +73 -73
- package/dist/swaps/IBTCWalletSwap.js +18 -18
- package/dist/swaps/IClaimableSwap.d.ts +49 -49
- package/dist/swaps/IClaimableSwap.js +15 -15
- 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 -14
- package/dist/swaps/ISwap.d.ts +453 -453
- package/dist/swaps/ISwap.js +371 -371
- package/dist/swaps/ISwapWithGasDrop.d.ts +21 -21
- package/dist/swaps/ISwapWithGasDrop.js +12 -12
- package/dist/swaps/ISwapWrapper.d.ts +295 -295
- package/dist/swaps/ISwapWrapper.js +373 -373
- 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 +139 -139
- package/dist/swaps/escrow_swaps/IEscrowSwap.js +172 -172
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +129 -129
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +167 -167
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +107 -107
- 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 +64 -64
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.js +82 -82
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +547 -547
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +1419 -1419
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +192 -192
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +432 -432
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +650 -650
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +1577 -1577
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +237 -237
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +525 -525
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +491 -491
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +1463 -1463
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.d.ts +204 -204
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +406 -406
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.d.ts +446 -446
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +1097 -1097
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.d.ts +68 -68
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +117 -117
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.d.ts +127 -127
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +256 -256
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +252 -252
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +535 -535
- 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 +134 -134
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +286 -286
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +694 -694
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +1687 -1687
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +259 -259
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +947 -947
- package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +302 -302
- package/dist/swaps/trusted/ln/LnForGasSwap.js +625 -625
- 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 +343 -343
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +698 -698
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.d.ts +71 -71
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +93 -93
- 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 -57
- package/dist/types/SwapExecutionAction.d.ts +195 -195
- package/dist/types/SwapExecutionAction.js +106 -106
- package/dist/types/SwapExecutionStep.d.ts +144 -144
- package/dist/types/SwapExecutionStep.js +87 -87
- 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 -43
- package/dist/types/Token.d.ts +99 -99
- package/dist/types/Token.js +76 -76
- package/dist/types/TokenAmount.d.ts +75 -75
- package/dist/types/TokenAmount.js +85 -85
- 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 -18
- package/dist/types/lnurl/LNURLPay.d.ts +61 -61
- package/dist/types/lnurl/LNURLPay.js +31 -31
- package/dist/types/lnurl/LNURLWithdraw.d.ts +48 -48
- package/dist/types/lnurl/LNURLWithdraw.js +27 -27
- package/dist/types/wallets/LightningInvoiceCreateService.d.ts +24 -24
- package/dist/types/wallets/LightningInvoiceCreateService.js +15 -15
- 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 -70
- package/dist/utils/BitcoinUtils.d.ts +18 -18
- package/dist/utils/BitcoinUtils.js +174 -174
- package/dist/utils/BitcoinWalletUtils.d.ts +7 -7
- package/dist/utils/BitcoinWalletUtils.js +14 -14
- package/dist/utils/Logger.d.ts +7 -7
- package/dist/utils/Logger.js +12 -12
- package/dist/utils/RetryUtils.d.ts +22 -22
- package/dist/utils/RetryUtils.js +67 -67
- 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 -55
- package/dist/utils/TokenUtils.d.ts +19 -19
- package/dist/utils/TokenUtils.js +37 -37
- package/dist/utils/TypeUtils.d.ts +7 -7
- package/dist/utils/TypeUtils.js +2 -2
- package/dist/utils/Utils.d.ts +69 -69
- package/dist/utils/Utils.js +214 -214
- package/package.json +46 -46
- package/src/SmartChainAssets.ts +186 -186
- package/src/api/ApiEndpoints.ts +427 -427
- package/src/api/ApiParser.ts +138 -138
- package/src/api/ApiTypes.ts +229 -229
- package/src/api/SerializedAction.ts +97 -97
- package/src/api/SwapperApi.ts +545 -545
- package/src/api/index.ts +5 -5
- package/src/bitcoin/coinselect2/accumulative.ts +69 -69
- package/src/bitcoin/coinselect2/blackjack.ts +50 -50
- package/src/bitcoin/coinselect2/index.ts +93 -93
- package/src/bitcoin/coinselect2/utils.ts +236 -236
- package/src/bitcoin/wallet/BitcoinWallet.ts +439 -439
- package/src/bitcoin/wallet/IBitcoinWallet.ts +140 -140
- package/src/bitcoin/wallet/SingleAddressBitcoinWallet.ts +225 -225
- package/src/enums/FeeType.ts +15 -15
- package/src/enums/SwapAmountType.ts +16 -16
- package/src/enums/SwapDirection.ts +15 -15
- package/src/enums/SwapSide.ts +16 -16
- package/src/enums/SwapType.ts +75 -75
- package/src/errors/IntermediaryError.ts +28 -28
- package/src/errors/RequestError.ts +64 -64
- package/src/errors/UserError.ts +15 -15
- package/src/events/UnifiedSwapEventListener.ts +181 -181
- package/src/http/HttpUtils.ts +97 -97
- package/src/http/paramcoders/IParamReader.ts +9 -9
- package/src/http/paramcoders/ParamDecoder.ts +145 -145
- package/src/http/paramcoders/ParamEncoder.ts +40 -40
- package/src/http/paramcoders/SchemaVerifier.ts +153 -153
- package/src/http/paramcoders/client/ResponseParamDecoder.ts +57 -57
- package/src/http/paramcoders/client/StreamParamEncoder.ts +28 -28
- package/src/http/paramcoders/client/StreamingFetchPromise.ts +194 -194
- package/src/index.ts +141 -141
- package/src/intermediaries/Intermediary.ts +280 -280
- package/src/intermediaries/IntermediaryDiscovery.ts +548 -548
- package/src/intermediaries/apis/IntermediaryAPI.ts +1247 -1247
- package/src/intermediaries/auth/SignedKeyBasedAuth.ts +69 -69
- package/src/lnurl/LNURL.ts +402 -402
- package/src/prices/RedundantSwapPrice.ts +264 -264
- package/src/prices/SingleSwapPrice.ts +50 -50
- package/src/prices/SwapPriceWithChain.ts +194 -194
- package/src/prices/abstract/ICachedSwapPrice.ts +85 -85
- package/src/prices/abstract/IPriceProvider.ts +127 -127
- package/src/prices/abstract/ISwapPrice.ts +390 -390
- package/src/prices/providers/BinancePriceProvider.ts +48 -48
- package/src/prices/providers/CoinGeckoPriceProvider.ts +46 -46
- package/src/prices/providers/CoinPaprikaPriceProvider.ts +49 -49
- package/src/prices/providers/CustomPriceProvider.ts +40 -40
- package/src/prices/providers/KrakenPriceProvider.ts +83 -83
- package/src/prices/providers/OKXPriceProvider.ts +59 -59
- package/src/prices/providers/abstract/ExchangePriceProvider.ts +31 -31
- package/src/prices/providers/abstract/HttpPriceProvider.ts +14 -14
- package/src/storage/IUnifiedStorage.ts +136 -136
- package/src/storage/UnifiedSwapStorage.ts +175 -175
- package/src/storage-browser/IndexedDBUnifiedStorage.ts +350 -350
- package/src/storage-browser/LocalStorageManager.ts +106 -106
- package/src/swapper/Swapper.ts +2570 -2570
- package/src/swapper/SwapperFactory.ts +307 -307
- package/src/swapper/SwapperUtils.ts +610 -610
- package/src/swapper/SwapperWithChain.ts +707 -707
- package/src/swapper/SwapperWithSigner.ts +511 -511
- package/src/swaps/IAddressSwap.ts +30 -30
- package/src/swaps/IBTCWalletSwap.ts +92 -92
- package/src/swaps/IClaimableSwap.ts +65 -65
- package/src/swaps/IClaimableSwapWrapper.ts +17 -17
- package/src/swaps/IRefundableSwap.ts +58 -58
- package/src/swaps/ISwap.ts +775 -775
- package/src/swaps/ISwapWithGasDrop.ts +25 -25
- package/src/swaps/ISwapWrapper.ts +564 -564
- package/src/swaps/escrow_swaps/IEscrowSelfInitSwap.ts +217 -217
- package/src/swaps/escrow_swaps/IEscrowSwap.ts +271 -271
- package/src/swaps/escrow_swaps/IEscrowSwapWrapper.ts +284 -284
- package/src/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.ts +172 -172
- package/src/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.ts +300 -300
- package/src/swaps/escrow_swaps/frombtc/IFromBTCWrapper.ts +107 -107
- package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.ts +1670 -1671
- package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.ts +603 -603
- package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.ts +1883 -1883
- package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.ts +752 -752
- package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.ts +1753 -1753
- package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.ts +612 -612
- package/src/swaps/escrow_swaps/tobtc/IToBTCSwap.ts +1327 -1327
- package/src/swaps/escrow_swaps/tobtc/IToBTCWrapper.ts +138 -138
- package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.ts +304 -304
- package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts +787 -787
- package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.ts +206 -206
- package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.ts +403 -403
- package/src/swaps/spv_swaps/SpvFromBTCSwap.ts +2148 -2148
- package/src/swaps/spv_swaps/SpvFromBTCWrapper.ts +1238 -1238
- package/src/swaps/trusted/ln/LnForGasSwap.ts +753 -753
- package/src/swaps/trusted/ln/LnForGasWrapper.ts +90 -90
- package/src/swaps/trusted/onchain/OnchainForGasSwap.ts +843 -843
- package/src/swaps/trusted/onchain/OnchainForGasWrapper.ts +133 -133
- package/src/types/AmountData.ts +9 -9
- package/src/types/CustomPriceFunction.ts +11 -11
- package/src/types/PriceInfoType.ts +66 -66
- package/src/types/SwapExecutionAction.ts +323 -323
- package/src/types/SwapExecutionStep.ts +224 -224
- package/src/types/SwapStateInfo.ts +6 -6
- package/src/types/SwapWithSigner.ts +61 -61
- package/src/types/Token.ts +163 -163
- package/src/types/TokenAmount.ts +167 -167
- package/src/types/fees/Fee.ts +56 -56
- package/src/types/fees/FeeBreakdown.ts +11 -11
- package/src/types/fees/PercentagePPM.ts +26 -26
- package/src/types/lnurl/LNURLPay.ts +79 -79
- package/src/types/lnurl/LNURLWithdraw.ts +61 -61
- package/src/types/wallets/LightningInvoiceCreateService.ts +30 -30
- package/src/types/wallets/MinimalBitcoinWalletInterface.ts +21 -21
- package/src/types/wallets/MinimalLightningNetworkWalletInterface.ts +9 -9
- package/src/utils/AutomaticClockDriftCorrection.ts +71 -71
- package/src/utils/BitcoinUtils.ts +164 -164
- package/src/utils/BitcoinWalletUtils.ts +15 -15
- package/src/utils/Logger.ts +14 -14
- package/src/utils/RetryUtils.ts +78 -78
- package/src/utils/SwapUtils.ts +99 -99
- package/src/utils/TimeoutUtils.ts +49 -49
- package/src/utils/TokenUtils.ts +33 -33
- package/src/utils/TypeUtils.ts +8 -8
- package/src/utils/Utils.ts +221 -221
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isLNURLWithdrawParams = exports.isLNURLWithdraw = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Type guard for {@link LNURLWithdraw}
|
|
6
|
-
*
|
|
7
|
-
* @category Lightning
|
|
8
|
-
*/
|
|
9
|
-
function isLNURLWithdraw(value) {
|
|
10
|
-
return (typeof value === "object" &&
|
|
11
|
-
value != null &&
|
|
12
|
-
value.type === "withdraw" &&
|
|
13
|
-
typeof (value.min) === "bigint" &&
|
|
14
|
-
typeof (value.max) === "bigint" &&
|
|
15
|
-
isLNURLWithdrawParams(value.params));
|
|
16
|
-
}
|
|
17
|
-
exports.isLNURLWithdraw = isLNURLWithdraw;
|
|
18
|
-
/**
|
|
19
|
-
* Type guard for {@link LNURLWithdrawParams}
|
|
20
|
-
*
|
|
21
|
-
* @category Lightning
|
|
22
|
-
* @internal
|
|
23
|
-
*/
|
|
24
|
-
function isLNURLWithdrawParams(obj) {
|
|
25
|
-
return obj.tag === "withdrawRequest";
|
|
26
|
-
}
|
|
27
|
-
exports.isLNURLWithdrawParams = isLNURLWithdrawParams;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isLNURLWithdrawParams = exports.isLNURLWithdraw = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Type guard for {@link LNURLWithdraw}
|
|
6
|
+
*
|
|
7
|
+
* @category Lightning
|
|
8
|
+
*/
|
|
9
|
+
function isLNURLWithdraw(value) {
|
|
10
|
+
return (typeof value === "object" &&
|
|
11
|
+
value != null &&
|
|
12
|
+
value.type === "withdraw" &&
|
|
13
|
+
typeof (value.min) === "bigint" &&
|
|
14
|
+
typeof (value.max) === "bigint" &&
|
|
15
|
+
isLNURLWithdrawParams(value.params));
|
|
16
|
+
}
|
|
17
|
+
exports.isLNURLWithdraw = isLNURLWithdraw;
|
|
18
|
+
/**
|
|
19
|
+
* Type guard for {@link LNURLWithdrawParams}
|
|
20
|
+
*
|
|
21
|
+
* @category Lightning
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
function isLNURLWithdrawParams(obj) {
|
|
25
|
+
return obj.tag === "withdrawRequest";
|
|
26
|
+
}
|
|
27
|
+
exports.isLNURLWithdrawParams = isLNURLWithdrawParams;
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Invoice getter callback for the {@link LightningInvoiceCreateService}
|
|
3
|
-
*
|
|
4
|
-
* @category Lightning
|
|
5
|
-
*/
|
|
6
|
-
export type LightningWalletCallback = (valueSats: number, abortSignal?: AbortSignal) => Promise<string>;
|
|
7
|
-
/**
|
|
8
|
-
* Service that creates on-demand fixed amount bolt11 lightning network invoices, optionally
|
|
9
|
-
* specifying minimum and maximum swappable sats amount. This used for exact input Smart chain ->
|
|
10
|
-
* Lightning swaps.
|
|
11
|
-
*
|
|
12
|
-
* @category Lightning
|
|
13
|
-
*/
|
|
14
|
-
export type LightningInvoiceCreateService = {
|
|
15
|
-
getInvoice: LightningWalletCallback;
|
|
16
|
-
minMsats?: bigint;
|
|
17
|
-
maxMSats?: bigint;
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Type guard for {@link LightningInvoiceCreateService}
|
|
21
|
-
*
|
|
22
|
-
* @internal
|
|
23
|
-
*/
|
|
24
|
-
export declare function isLightningInvoiceCreateService(obj: any): obj is LightningInvoiceCreateService;
|
|
1
|
+
/**
|
|
2
|
+
* Invoice getter callback for the {@link LightningInvoiceCreateService}
|
|
3
|
+
*
|
|
4
|
+
* @category Lightning
|
|
5
|
+
*/
|
|
6
|
+
export type LightningWalletCallback = (valueSats: number, abortSignal?: AbortSignal) => Promise<string>;
|
|
7
|
+
/**
|
|
8
|
+
* Service that creates on-demand fixed amount bolt11 lightning network invoices, optionally
|
|
9
|
+
* specifying minimum and maximum swappable sats amount. This used for exact input Smart chain ->
|
|
10
|
+
* Lightning swaps.
|
|
11
|
+
*
|
|
12
|
+
* @category Lightning
|
|
13
|
+
*/
|
|
14
|
+
export type LightningInvoiceCreateService = {
|
|
15
|
+
getInvoice: LightningWalletCallback;
|
|
16
|
+
minMsats?: bigint;
|
|
17
|
+
maxMSats?: bigint;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Type guard for {@link LightningInvoiceCreateService}
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export declare function isLightningInvoiceCreateService(obj: any): obj is LightningInvoiceCreateService;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isLightningInvoiceCreateService = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Type guard for {@link LightningInvoiceCreateService}
|
|
6
|
-
*
|
|
7
|
-
* @internal
|
|
8
|
-
*/
|
|
9
|
-
function isLightningInvoiceCreateService(obj) {
|
|
10
|
-
return typeof (obj) === "object" &&
|
|
11
|
-
typeof (obj.getInvoice) === "function" &&
|
|
12
|
-
(obj.minMsats == null || typeof (obj.minMsats) === "bigint") &&
|
|
13
|
-
(obj.maxMSats == null || typeof (obj.maxMSats) === "bigint");
|
|
14
|
-
}
|
|
15
|
-
exports.isLightningInvoiceCreateService = isLightningInvoiceCreateService;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isLightningInvoiceCreateService = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Type guard for {@link LightningInvoiceCreateService}
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
function isLightningInvoiceCreateService(obj) {
|
|
10
|
+
return typeof (obj) === "object" &&
|
|
11
|
+
typeof (obj.getInvoice) === "function" &&
|
|
12
|
+
(obj.minMsats == null || typeof (obj.minMsats) === "bigint") &&
|
|
13
|
+
(obj.maxMSats == null || typeof (obj.maxMSats) === "bigint");
|
|
14
|
+
}
|
|
15
|
+
exports.isLightningInvoiceCreateService = isLightningInvoiceCreateService;
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { Transaction } from "@scure/btc-signer";
|
|
2
|
-
/**
|
|
3
|
-
* A type with minimum possible required data about a bitcoin wallet to be able to estimate fees and produce unsigned
|
|
4
|
-
* funded PSBTs with address's UTXOs
|
|
5
|
-
*
|
|
6
|
-
* @category Bitcoin
|
|
7
|
-
*/
|
|
8
|
-
export type MinimalBitcoinWalletInterface = {
|
|
9
|
-
address: string;
|
|
10
|
-
publicKey: string;
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* A type with minimum possible required data about a bitcoin wallet to be able to estimate fees and sign PSBTs
|
|
14
|
-
*
|
|
15
|
-
* @category Bitcoin
|
|
16
|
-
*/
|
|
17
|
-
export type MinimalBitcoinWalletInterfaceWithSigner = MinimalBitcoinWalletInterface & {
|
|
18
|
-
signPsbt: (psbtToSign: {
|
|
19
|
-
psbt: Transaction;
|
|
20
|
-
psbtHex: string;
|
|
21
|
-
psbtBase64: string;
|
|
22
|
-
}, signInputs: number[]) => Promise<Transaction | string>;
|
|
23
|
-
};
|
|
1
|
+
import { Transaction } from "@scure/btc-signer";
|
|
2
|
+
/**
|
|
3
|
+
* A type with minimum possible required data about a bitcoin wallet to be able to estimate fees and produce unsigned
|
|
4
|
+
* funded PSBTs with address's UTXOs
|
|
5
|
+
*
|
|
6
|
+
* @category Bitcoin
|
|
7
|
+
*/
|
|
8
|
+
export type MinimalBitcoinWalletInterface = {
|
|
9
|
+
address: string;
|
|
10
|
+
publicKey: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* A type with minimum possible required data about a bitcoin wallet to be able to estimate fees and sign PSBTs
|
|
14
|
+
*
|
|
15
|
+
* @category Bitcoin
|
|
16
|
+
*/
|
|
17
|
+
export type MinimalBitcoinWalletInterfaceWithSigner = MinimalBitcoinWalletInterface & {
|
|
18
|
+
signPsbt: (psbtToSign: {
|
|
19
|
+
psbt: Transaction;
|
|
20
|
+
psbtHex: string;
|
|
21
|
+
psbtBase64: string;
|
|
22
|
+
}, signInputs: number[]) => Promise<Transaction | string>;
|
|
23
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A type with minimum possible required functionality to be usable with lightning network swaps, i.e.
|
|
3
|
-
* a function to pay bolt11 lightning network invoices.
|
|
4
|
-
*
|
|
5
|
-
* @category Lightning
|
|
6
|
-
*/
|
|
7
|
-
export type MinimalLightningNetworkWalletInterface = {
|
|
8
|
-
payInvoice: (bolt11PaymentRequest: string) => Promise<string>;
|
|
9
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* A type with minimum possible required functionality to be usable with lightning network swaps, i.e.
|
|
3
|
+
* a function to pay bolt11 lightning network invoices.
|
|
4
|
+
*
|
|
5
|
+
* @category Lightning
|
|
6
|
+
*/
|
|
7
|
+
export type MinimalLightningNetworkWalletInterface = {
|
|
8
|
+
payInvoice: (bolt11PaymentRequest: string) => Promise<string>;
|
|
9
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function correctClock(): Promise<void>;
|
|
1
|
+
export declare function correctClock(): Promise<void>;
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.correctClock = void 0;
|
|
4
|
-
const TimeoutUtils_1 = require("./TimeoutUtils");
|
|
5
|
-
const headerUrls = ["https://api.atomiq.exchange/"];
|
|
6
|
-
async function getHeaderTimestamp(url) {
|
|
7
|
-
const timeStart = performance.now();
|
|
8
|
-
const resp = await fetch(url, { method: "HEAD", signal: (0, TimeoutUtils_1.timeoutSignal)(3000) });
|
|
9
|
-
const timeDelta = performance.now() - timeStart;
|
|
10
|
-
const dateHeaderValue = resp.headers.get("Date");
|
|
11
|
-
if (dateHeaderValue == null)
|
|
12
|
-
throw new Error("Date header not returned!");
|
|
13
|
-
return { delta: timeDelta, timestamp: new Date(dateHeaderValue).getTime() };
|
|
14
|
-
}
|
|
15
|
-
async function getBinanceTimestamp() {
|
|
16
|
-
const timeStart = performance.now();
|
|
17
|
-
const resp = await fetch("https://api.binance.com/api/v3/time", { signal: (0, TimeoutUtils_1.timeoutSignal)(3000) });
|
|
18
|
-
const timeDelta = performance.now() - timeStart;
|
|
19
|
-
const obj = await resp.json();
|
|
20
|
-
if (obj == null || obj.serverTime == null)
|
|
21
|
-
throw new Error("Timestamp not returned!");
|
|
22
|
-
return { delta: timeDelta, timestamp: Math.floor(obj.serverTime) };
|
|
23
|
-
}
|
|
24
|
-
async function getOKXTimestamp() {
|
|
25
|
-
const timeStart = performance.now();
|
|
26
|
-
const resp = await fetch("https://www.okx.com/api/v5/public/time", { signal: (0, TimeoutUtils_1.timeoutSignal)(3000) });
|
|
27
|
-
const timeDelta = performance.now() - timeStart;
|
|
28
|
-
const obj = await resp.json();
|
|
29
|
-
if (obj == null || obj.data == null || obj.data[0] == null || obj.data[0].ts == null)
|
|
30
|
-
throw new Error("Timestamp not returned!");
|
|
31
|
-
return { delta: timeDelta, timestamp: Math.floor(obj.data[0].ts) };
|
|
32
|
-
}
|
|
33
|
-
async function getAisenseApiTimestamp() {
|
|
34
|
-
const timeStart = performance.now();
|
|
35
|
-
const resp = await fetch("https://aisenseapi.com/services/v1/timestamp", { signal: (0, TimeoutUtils_1.timeoutSignal)(3000) });
|
|
36
|
-
const timeDelta = performance.now() - timeStart;
|
|
37
|
-
const obj = await resp.json();
|
|
38
|
-
if (obj == null || obj.timestamp == null)
|
|
39
|
-
throw new Error("Timestamp not returned!");
|
|
40
|
-
return { delta: timeDelta, timestamp: Math.floor(obj.timestamp * 1000) };
|
|
41
|
-
}
|
|
42
|
-
async function correctClock() {
|
|
43
|
-
const dateNow = Date._now ?? Date.now;
|
|
44
|
-
const dateStart = performance.now();
|
|
45
|
-
try {
|
|
46
|
-
let result = await Promise.any([
|
|
47
|
-
...headerUrls.map(url => getHeaderTimestamp(url)),
|
|
48
|
-
getAisenseApiTimestamp(),
|
|
49
|
-
getBinanceTimestamp(),
|
|
50
|
-
getOKXTimestamp()
|
|
51
|
-
]);
|
|
52
|
-
const desiredTime = result.timestamp - (result.delta / 2);
|
|
53
|
-
if (Math.abs(Date.now() - desiredTime) < 2000) {
|
|
54
|
-
console.log("AutomaticClockDriftCorrection: correctClock(): Time drift too small, not adjusting!");
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
const timeDrift = dateStart - desiredTime;
|
|
58
|
-
console.log(`AutomaticClockDriftCorrection: correctClock(): Time correction perf.now: ${dateStart}, server: ${desiredTime}, time diff: ${timeDrift}`);
|
|
59
|
-
Date._now = dateNow;
|
|
60
|
-
Date.now = () => {
|
|
61
|
-
return Math.floor(performance.now() - timeDrift);
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
catch (e) {
|
|
65
|
-
if (e instanceof AggregateError)
|
|
66
|
-
e.message = "Cannot sync time! All servers responded negatively!";
|
|
67
|
-
throw e;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
exports.correctClock = correctClock;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.correctClock = void 0;
|
|
4
|
+
const TimeoutUtils_1 = require("./TimeoutUtils");
|
|
5
|
+
const headerUrls = ["https://api.atomiq.exchange/"];
|
|
6
|
+
async function getHeaderTimestamp(url) {
|
|
7
|
+
const timeStart = performance.now();
|
|
8
|
+
const resp = await fetch(url, { method: "HEAD", signal: (0, TimeoutUtils_1.timeoutSignal)(3000) });
|
|
9
|
+
const timeDelta = performance.now() - timeStart;
|
|
10
|
+
const dateHeaderValue = resp.headers.get("Date");
|
|
11
|
+
if (dateHeaderValue == null)
|
|
12
|
+
throw new Error("Date header not returned!");
|
|
13
|
+
return { delta: timeDelta, timestamp: new Date(dateHeaderValue).getTime() };
|
|
14
|
+
}
|
|
15
|
+
async function getBinanceTimestamp() {
|
|
16
|
+
const timeStart = performance.now();
|
|
17
|
+
const resp = await fetch("https://api.binance.com/api/v3/time", { signal: (0, TimeoutUtils_1.timeoutSignal)(3000) });
|
|
18
|
+
const timeDelta = performance.now() - timeStart;
|
|
19
|
+
const obj = await resp.json();
|
|
20
|
+
if (obj == null || obj.serverTime == null)
|
|
21
|
+
throw new Error("Timestamp not returned!");
|
|
22
|
+
return { delta: timeDelta, timestamp: Math.floor(obj.serverTime) };
|
|
23
|
+
}
|
|
24
|
+
async function getOKXTimestamp() {
|
|
25
|
+
const timeStart = performance.now();
|
|
26
|
+
const resp = await fetch("https://www.okx.com/api/v5/public/time", { signal: (0, TimeoutUtils_1.timeoutSignal)(3000) });
|
|
27
|
+
const timeDelta = performance.now() - timeStart;
|
|
28
|
+
const obj = await resp.json();
|
|
29
|
+
if (obj == null || obj.data == null || obj.data[0] == null || obj.data[0].ts == null)
|
|
30
|
+
throw new Error("Timestamp not returned!");
|
|
31
|
+
return { delta: timeDelta, timestamp: Math.floor(obj.data[0].ts) };
|
|
32
|
+
}
|
|
33
|
+
async function getAisenseApiTimestamp() {
|
|
34
|
+
const timeStart = performance.now();
|
|
35
|
+
const resp = await fetch("https://aisenseapi.com/services/v1/timestamp", { signal: (0, TimeoutUtils_1.timeoutSignal)(3000) });
|
|
36
|
+
const timeDelta = performance.now() - timeStart;
|
|
37
|
+
const obj = await resp.json();
|
|
38
|
+
if (obj == null || obj.timestamp == null)
|
|
39
|
+
throw new Error("Timestamp not returned!");
|
|
40
|
+
return { delta: timeDelta, timestamp: Math.floor(obj.timestamp * 1000) };
|
|
41
|
+
}
|
|
42
|
+
async function correctClock() {
|
|
43
|
+
const dateNow = Date._now ?? Date.now;
|
|
44
|
+
const dateStart = performance.now();
|
|
45
|
+
try {
|
|
46
|
+
let result = await Promise.any([
|
|
47
|
+
...headerUrls.map(url => getHeaderTimestamp(url)),
|
|
48
|
+
getAisenseApiTimestamp(),
|
|
49
|
+
getBinanceTimestamp(),
|
|
50
|
+
getOKXTimestamp()
|
|
51
|
+
]);
|
|
52
|
+
const desiredTime = result.timestamp - (result.delta / 2);
|
|
53
|
+
if (Math.abs(Date.now() - desiredTime) < 2000) {
|
|
54
|
+
console.log("AutomaticClockDriftCorrection: correctClock(): Time drift too small, not adjusting!");
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const timeDrift = dateStart - desiredTime;
|
|
58
|
+
console.log(`AutomaticClockDriftCorrection: correctClock(): Time correction perf.now: ${dateStart}, server: ${desiredTime}, time diff: ${timeDrift}`);
|
|
59
|
+
Date._now = dateNow;
|
|
60
|
+
Date.now = () => {
|
|
61
|
+
return Math.floor(performance.now() - timeDrift);
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
if (e instanceof AggregateError)
|
|
66
|
+
e.message = "Cannot sync time! All servers responded negatively!";
|
|
67
|
+
throw e;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.correctClock = correctClock;
|
|
@@ -1,18 +1,18 @@
|
|
|
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
|
-
export declare function getDummyOutputScript(type: CoinselectAddressTypes): Uint8Array;
|
|
11
|
-
export declare function getDummyAddress(network: BTC_NETWORK, type: CoinselectAddressTypes): string;
|
|
12
|
-
/**
|
|
13
|
-
* General parsers for PSBTs, can parse hex or base64 encoded PSBTs
|
|
14
|
-
* @param _psbt
|
|
15
|
-
*/
|
|
16
|
-
export declare function parsePsbtTransaction(_psbt: Transaction | string): Transaction;
|
|
17
|
-
export declare function getVoutIndex(psbt: Transaction, network: BTC_NETWORK, address: string, amount: bigint): number | undefined;
|
|
18
|
-
export declare function getSenderAddress(psbt: Transaction, network: BTC_NETWORK, inputIndex?: number): string | undefined;
|
|
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
|
+
export declare function getDummyOutputScript(type: CoinselectAddressTypes): Uint8Array;
|
|
11
|
+
export declare function getDummyAddress(network: BTC_NETWORK, type: CoinselectAddressTypes): string;
|
|
12
|
+
/**
|
|
13
|
+
* General parsers for PSBTs, can parse hex or base64 encoded PSBTs
|
|
14
|
+
* @param _psbt
|
|
15
|
+
*/
|
|
16
|
+
export declare function parsePsbtTransaction(_psbt: Transaction | string): Transaction;
|
|
17
|
+
export declare function getVoutIndex(psbt: Transaction, network: BTC_NETWORK, address: string, amount: bigint): number | undefined;
|
|
18
|
+
export declare function getSenderAddress(psbt: Transaction, network: BTC_NETWORK, inputIndex?: number): string | undefined;
|