@atomiqlabs/sdk 8.9.1 → 8.9.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/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 +765 -770
- package/dist/swapper/Swapper.js +1749 -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 +2557 -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,68 +1,68 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getSignedKeyBasedAuthHandler = void 0;
|
|
4
|
-
const secp256k1_1 = require("@noble/curves/secp256k1");
|
|
5
|
-
const Utils_1 = require("../../utils/Utils");
|
|
6
|
-
function parsePrivateKey(value, name) {
|
|
7
|
-
if (!/^[0-9a-fA-F]{64}$/.test(value))
|
|
8
|
-
throw new Error(`${name} must be a 32-byte hex private key`);
|
|
9
|
-
const bytes = Buffer.from(value, "hex");
|
|
10
|
-
if (!secp256k1_1.secp256k1.utils.isValidPrivateKey(bytes))
|
|
11
|
-
throw new Error(`${name} is not a valid secp256k1 private key`);
|
|
12
|
-
return bytes;
|
|
13
|
-
}
|
|
14
|
-
function parsePublicKey(value, name) {
|
|
15
|
-
if (!/^[0-9a-fA-F]{64}$/.test(value))
|
|
16
|
-
throw new Error(`${name} must be an X-only 32-byte hex public key`);
|
|
17
|
-
if (!secp256k1_1.secp256k1.utils.isValidPublicKey(Buffer.from("02" + value, "hex"), true))
|
|
18
|
-
throw new Error(`${name} is not a valid X-only 32-byte secp256k1 public key`);
|
|
19
|
-
return Buffer.from(value, "hex");
|
|
20
|
-
}
|
|
21
|
-
function parseSignature(value, name) {
|
|
22
|
-
if (!/^[0-9a-fA-F]{128}$/.test(value))
|
|
23
|
-
throw new Error(`${name} must be a valid 64-byte hex schnorr signature`);
|
|
24
|
-
return Buffer.from(value, "hex");
|
|
25
|
-
}
|
|
26
|
-
const CERTIFICATE_LENGTH = 64 + 128 + 64;
|
|
27
|
-
/**
|
|
28
|
-
* Adds a `x-atomiq-auth` header with the following binary format, that is hex-encoded:
|
|
29
|
-
* - 4 bytes - timestamp (timestamp when the request was sent)
|
|
30
|
-
* - 32 bytes - random bytes (entropy, to be signed)
|
|
31
|
-
*
|
|
32
|
-
* - 32 bytes - key of the signing authority
|
|
33
|
-
* - 64 bytes - schnorr signature signing the request signing key by the signing authority
|
|
34
|
-
*
|
|
35
|
-
* - 32 bytes - request signing key (signed by the signing authority)
|
|
36
|
-
* - 64 bytes - schnorr signature of the timestamp and random bytes
|
|
37
|
-
*
|
|
38
|
-
* Uses secp256k1 curve and schnorr signatures
|
|
39
|
-
*/
|
|
40
|
-
function getSignedKeyBasedAuthHandler(certificate, privateKey) {
|
|
41
|
-
const _privateKey = parsePrivateKey(privateKey, "Private key");
|
|
42
|
-
if (certificate.length !== CERTIFICATE_LENGTH)
|
|
43
|
-
throw new Error(`Certificate has invalid length, expected ${CERTIFICATE_LENGTH}!`);
|
|
44
|
-
const authorityPublicKey = parsePublicKey(certificate.substring(0, 64), "Certificate: Authority Public key");
|
|
45
|
-
const authoritySignature = parseSignature(certificate.substring(64, 64 + 128), "Certificate: Authority Signature");
|
|
46
|
-
const signingPublicKey = parsePublicKey(certificate.substring(64 + 128), "Certificate: Signing Public key");
|
|
47
|
-
if (!secp256k1_1.schnorr.verify(authoritySignature, signingPublicKey, authorityPublicKey))
|
|
48
|
-
throw new Error("Invalid certificate, authority signature is not valid!");
|
|
49
|
-
if (!signingPublicKey.equals(secp256k1_1.schnorr.getPublicKey(privateKey)))
|
|
50
|
-
throw new Error("Passed private key doesn't match the certificate!");
|
|
51
|
-
const _certificate = Buffer.from(certificate, "hex");
|
|
52
|
-
return () => {
|
|
53
|
-
const timestamp = Math.floor(Date.now() / 1000);
|
|
54
|
-
const timestampBuffer = Buffer.alloc(4);
|
|
55
|
-
timestampBuffer.writeUInt32BE(timestamp);
|
|
56
|
-
const requestUid = (0, Utils_1.randomBytes)(32);
|
|
57
|
-
const toSign = Buffer.concat([timestampBuffer, requestUid]);
|
|
58
|
-
const signature = secp256k1_1.schnorr.sign(toSign, _privateKey);
|
|
59
|
-
return {
|
|
60
|
-
"x-atomiq-auth": Buffer.concat([
|
|
61
|
-
toSign,
|
|
62
|
-
_certificate,
|
|
63
|
-
signature
|
|
64
|
-
]).toString("hex")
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
exports.getSignedKeyBasedAuthHandler = getSignedKeyBasedAuthHandler;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSignedKeyBasedAuthHandler = void 0;
|
|
4
|
+
const secp256k1_1 = require("@noble/curves/secp256k1");
|
|
5
|
+
const Utils_1 = require("../../utils/Utils");
|
|
6
|
+
function parsePrivateKey(value, name) {
|
|
7
|
+
if (!/^[0-9a-fA-F]{64}$/.test(value))
|
|
8
|
+
throw new Error(`${name} must be a 32-byte hex private key`);
|
|
9
|
+
const bytes = Buffer.from(value, "hex");
|
|
10
|
+
if (!secp256k1_1.secp256k1.utils.isValidPrivateKey(bytes))
|
|
11
|
+
throw new Error(`${name} is not a valid secp256k1 private key`);
|
|
12
|
+
return bytes;
|
|
13
|
+
}
|
|
14
|
+
function parsePublicKey(value, name) {
|
|
15
|
+
if (!/^[0-9a-fA-F]{64}$/.test(value))
|
|
16
|
+
throw new Error(`${name} must be an X-only 32-byte hex public key`);
|
|
17
|
+
if (!secp256k1_1.secp256k1.utils.isValidPublicKey(Buffer.from("02" + value, "hex"), true))
|
|
18
|
+
throw new Error(`${name} is not a valid X-only 32-byte secp256k1 public key`);
|
|
19
|
+
return Buffer.from(value, "hex");
|
|
20
|
+
}
|
|
21
|
+
function parseSignature(value, name) {
|
|
22
|
+
if (!/^[0-9a-fA-F]{128}$/.test(value))
|
|
23
|
+
throw new Error(`${name} must be a valid 64-byte hex schnorr signature`);
|
|
24
|
+
return Buffer.from(value, "hex");
|
|
25
|
+
}
|
|
26
|
+
const CERTIFICATE_LENGTH = 64 + 128 + 64;
|
|
27
|
+
/**
|
|
28
|
+
* Adds a `x-atomiq-auth` header with the following binary format, that is hex-encoded:
|
|
29
|
+
* - 4 bytes - timestamp (timestamp when the request was sent)
|
|
30
|
+
* - 32 bytes - random bytes (entropy, to be signed)
|
|
31
|
+
*
|
|
32
|
+
* - 32 bytes - key of the signing authority
|
|
33
|
+
* - 64 bytes - schnorr signature signing the request signing key by the signing authority
|
|
34
|
+
*
|
|
35
|
+
* - 32 bytes - request signing key (signed by the signing authority)
|
|
36
|
+
* - 64 bytes - schnorr signature of the timestamp and random bytes
|
|
37
|
+
*
|
|
38
|
+
* Uses secp256k1 curve and schnorr signatures
|
|
39
|
+
*/
|
|
40
|
+
function getSignedKeyBasedAuthHandler(certificate, privateKey) {
|
|
41
|
+
const _privateKey = parsePrivateKey(privateKey, "Private key");
|
|
42
|
+
if (certificate.length !== CERTIFICATE_LENGTH)
|
|
43
|
+
throw new Error(`Certificate has invalid length, expected ${CERTIFICATE_LENGTH}!`);
|
|
44
|
+
const authorityPublicKey = parsePublicKey(certificate.substring(0, 64), "Certificate: Authority Public key");
|
|
45
|
+
const authoritySignature = parseSignature(certificate.substring(64, 64 + 128), "Certificate: Authority Signature");
|
|
46
|
+
const signingPublicKey = parsePublicKey(certificate.substring(64 + 128), "Certificate: Signing Public key");
|
|
47
|
+
if (!secp256k1_1.schnorr.verify(authoritySignature, signingPublicKey, authorityPublicKey))
|
|
48
|
+
throw new Error("Invalid certificate, authority signature is not valid!");
|
|
49
|
+
if (!signingPublicKey.equals(secp256k1_1.schnorr.getPublicKey(privateKey)))
|
|
50
|
+
throw new Error("Passed private key doesn't match the certificate!");
|
|
51
|
+
const _certificate = Buffer.from(certificate, "hex");
|
|
52
|
+
return () => {
|
|
53
|
+
const timestamp = Math.floor(Date.now() / 1000);
|
|
54
|
+
const timestampBuffer = Buffer.alloc(4);
|
|
55
|
+
timestampBuffer.writeUInt32BE(timestamp);
|
|
56
|
+
const requestUid = (0, Utils_1.randomBytes)(32);
|
|
57
|
+
const toSign = Buffer.concat([timestampBuffer, requestUid]);
|
|
58
|
+
const signature = secp256k1_1.schnorr.sign(toSign, _privateKey);
|
|
59
|
+
return {
|
|
60
|
+
"x-atomiq-auth": Buffer.concat([
|
|
61
|
+
toSign,
|
|
62
|
+
_certificate,
|
|
63
|
+
signature
|
|
64
|
+
]).toString("hex")
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
exports.getSignedKeyBasedAuthHandler = getSignedKeyBasedAuthHandler;
|
package/dist/lnurl/LNURL.d.ts
CHANGED
|
@@ -1,102 +1,102 @@
|
|
|
1
|
-
import { PaymentRequestObject, TagsObject } from "@atomiqlabs/bolt11";
|
|
2
|
-
import { LNURLWithdraw, LNURLWithdrawParamsWithUrl } from "../types/lnurl/LNURLWithdraw";
|
|
3
|
-
import { LNURLDecodedSuccessAction, LNURLPay, LNURLPayParamsWithUrl } from "../types/lnurl/LNURLPay";
|
|
4
|
-
export type LNURLPaySuccessAction = {
|
|
5
|
-
tag: string;
|
|
6
|
-
description: string | null;
|
|
7
|
-
url: string | null;
|
|
8
|
-
message: string | null;
|
|
9
|
-
ciphertext: string | null;
|
|
10
|
-
iv: string | null;
|
|
11
|
-
};
|
|
12
|
-
export declare function isLNURLPaySuccessAction(obj: any, domain?: string): obj is LNURLPaySuccessAction;
|
|
13
|
-
/**
|
|
14
|
-
* LNURL encoding/decoding and callback handling
|
|
15
|
-
* @category Bitcoin
|
|
16
|
-
*/
|
|
17
|
-
export declare class LNURL {
|
|
18
|
-
private static findBech32LNURL;
|
|
19
|
-
private static isBech32LNURL;
|
|
20
|
-
/**
|
|
21
|
-
* Checks whether a provided string is bare (non bech32 encoded) lnurl
|
|
22
|
-
* @param str
|
|
23
|
-
* @private
|
|
24
|
-
*/
|
|
25
|
-
private static isBareLNURL;
|
|
26
|
-
/**
|
|
27
|
-
* Checks if the provided string is a lightning network address (e.g. satoshi@nakamoto.com)
|
|
28
|
-
* @param str
|
|
29
|
-
* @private
|
|
30
|
-
*/
|
|
31
|
-
private static isLightningAddress;
|
|
32
|
-
/**
|
|
33
|
-
* Checks whether a given string is a LNURL or lightning address
|
|
34
|
-
* @param str
|
|
35
|
-
*/
|
|
36
|
-
static isLNURL(str: string): boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Extracts the URL that needs to be request from LNURL or lightning address
|
|
39
|
-
* @param str
|
|
40
|
-
* @private
|
|
41
|
-
* @returns An URL to send the request to, or null if it cannot be parsed
|
|
42
|
-
*/
|
|
43
|
-
private static extractCallUrl;
|
|
44
|
-
/**
|
|
45
|
-
* Sends a request to obtain data about a specific LNURL or lightning address
|
|
46
|
-
*
|
|
47
|
-
* @param str A lnurl or lightning address
|
|
48
|
-
* @param shouldRetry Whether we should retry in case of network failure
|
|
49
|
-
* @param timeout Request timeout in milliseconds
|
|
50
|
-
* @param abortSignal
|
|
51
|
-
*/
|
|
52
|
-
static getLNURL(str: string, shouldRetry?: boolean, timeout?: number, abortSignal?: AbortSignal): Promise<LNURLPayParamsWithUrl | LNURLWithdrawParamsWithUrl | null>;
|
|
53
|
-
/**
|
|
54
|
-
* Sends a request to obtain data about a specific LNURL or lightning address
|
|
55
|
-
*
|
|
56
|
-
* @param str A lnurl or lightning address
|
|
57
|
-
* @param shouldRetry Whether we should retry in case of network failure
|
|
58
|
-
* @param timeout Request timeout in milliseconds
|
|
59
|
-
* @param abortSignal
|
|
60
|
-
*/
|
|
61
|
-
static getLNURLType(str: string, shouldRetry?: boolean, timeout?: number, abortSignal?: AbortSignal): Promise<LNURLPay | LNURLWithdraw | null>;
|
|
62
|
-
/**
|
|
63
|
-
* Uses a LNURL-pay request by obtaining a lightning network invoice from it
|
|
64
|
-
*
|
|
65
|
-
* @param payRequest LNURL params as returned from the getLNURL call
|
|
66
|
-
* @param amount Amount of sats (BTC) to pay
|
|
67
|
-
* @param comment Optional comment for the payment request
|
|
68
|
-
* @param timeout Request timeout in milliseconds
|
|
69
|
-
* @param abortSignal
|
|
70
|
-
* @throws {RequestError} If the response is non-200, status: ERROR, or invalid format
|
|
71
|
-
*/
|
|
72
|
-
static useLNURLPay(payRequest: LNURLPayParamsWithUrl, amount: bigint, comment?: string, timeout?: number, abortSignal?: AbortSignal): Promise<{
|
|
73
|
-
invoice: string;
|
|
74
|
-
parsedInvoice: PaymentRequestObject & {
|
|
75
|
-
tagsObject: TagsObject;
|
|
76
|
-
};
|
|
77
|
-
successAction?: LNURLPaySuccessAction;
|
|
78
|
-
}>;
|
|
79
|
-
/**
|
|
80
|
-
* Submits the bolt11 lightning invoice to the lnurl withdraw url
|
|
81
|
-
*
|
|
82
|
-
* @param withdrawRequest Withdraw request to use
|
|
83
|
-
* @param withdrawRequest.k1 K1 parameter
|
|
84
|
-
* @param withdrawRequest.callback A URL to call
|
|
85
|
-
* @param lnpr bolt11 lightning network invoice to submit to the withdrawal endpoint
|
|
86
|
-
* @throws {RequestError} If the response is non-200 or status: ERROR
|
|
87
|
-
*/
|
|
88
|
-
static postInvoiceToLNURLWithdraw(withdrawRequest: {
|
|
89
|
-
k1: string;
|
|
90
|
-
callback: string;
|
|
91
|
-
}, lnpr: string): Promise<void>;
|
|
92
|
-
/**
|
|
93
|
-
* Uses a LNURL-withdraw request by submitting a lightning network invoice to it
|
|
94
|
-
*
|
|
95
|
-
* @param withdrawRequest Withdrawal request as returned from getLNURL call
|
|
96
|
-
* @param lnpr bolt11 lightning network invoice to submit to the withdrawal endpoint
|
|
97
|
-
* @throws {UserError} In case the provided bolt11 lightning invoice has an amount that is out of bounds for
|
|
98
|
-
* the specified LNURL-withdraw request
|
|
99
|
-
*/
|
|
100
|
-
static useLNURLWithdraw(withdrawRequest: LNURLWithdrawParamsWithUrl, lnpr: string): Promise<void>;
|
|
101
|
-
static decodeSuccessAction(successAction?: LNURLPaySuccessAction | null, secret?: string | null): LNURLDecodedSuccessAction | null;
|
|
102
|
-
}
|
|
1
|
+
import { PaymentRequestObject, TagsObject } from "@atomiqlabs/bolt11";
|
|
2
|
+
import { LNURLWithdraw, LNURLWithdrawParamsWithUrl } from "../types/lnurl/LNURLWithdraw";
|
|
3
|
+
import { LNURLDecodedSuccessAction, LNURLPay, LNURLPayParamsWithUrl } from "../types/lnurl/LNURLPay";
|
|
4
|
+
export type LNURLPaySuccessAction = {
|
|
5
|
+
tag: string;
|
|
6
|
+
description: string | null;
|
|
7
|
+
url: string | null;
|
|
8
|
+
message: string | null;
|
|
9
|
+
ciphertext: string | null;
|
|
10
|
+
iv: string | null;
|
|
11
|
+
};
|
|
12
|
+
export declare function isLNURLPaySuccessAction(obj: any, domain?: string): obj is LNURLPaySuccessAction;
|
|
13
|
+
/**
|
|
14
|
+
* LNURL encoding/decoding and callback handling
|
|
15
|
+
* @category Bitcoin
|
|
16
|
+
*/
|
|
17
|
+
export declare class LNURL {
|
|
18
|
+
private static findBech32LNURL;
|
|
19
|
+
private static isBech32LNURL;
|
|
20
|
+
/**
|
|
21
|
+
* Checks whether a provided string is bare (non bech32 encoded) lnurl
|
|
22
|
+
* @param str
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
25
|
+
private static isBareLNURL;
|
|
26
|
+
/**
|
|
27
|
+
* Checks if the provided string is a lightning network address (e.g. satoshi@nakamoto.com)
|
|
28
|
+
* @param str
|
|
29
|
+
* @private
|
|
30
|
+
*/
|
|
31
|
+
private static isLightningAddress;
|
|
32
|
+
/**
|
|
33
|
+
* Checks whether a given string is a LNURL or lightning address
|
|
34
|
+
* @param str
|
|
35
|
+
*/
|
|
36
|
+
static isLNURL(str: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Extracts the URL that needs to be request from LNURL or lightning address
|
|
39
|
+
* @param str
|
|
40
|
+
* @private
|
|
41
|
+
* @returns An URL to send the request to, or null if it cannot be parsed
|
|
42
|
+
*/
|
|
43
|
+
private static extractCallUrl;
|
|
44
|
+
/**
|
|
45
|
+
* Sends a request to obtain data about a specific LNURL or lightning address
|
|
46
|
+
*
|
|
47
|
+
* @param str A lnurl or lightning address
|
|
48
|
+
* @param shouldRetry Whether we should retry in case of network failure
|
|
49
|
+
* @param timeout Request timeout in milliseconds
|
|
50
|
+
* @param abortSignal
|
|
51
|
+
*/
|
|
52
|
+
static getLNURL(str: string, shouldRetry?: boolean, timeout?: number, abortSignal?: AbortSignal): Promise<LNURLPayParamsWithUrl | LNURLWithdrawParamsWithUrl | null>;
|
|
53
|
+
/**
|
|
54
|
+
* Sends a request to obtain data about a specific LNURL or lightning address
|
|
55
|
+
*
|
|
56
|
+
* @param str A lnurl or lightning address
|
|
57
|
+
* @param shouldRetry Whether we should retry in case of network failure
|
|
58
|
+
* @param timeout Request timeout in milliseconds
|
|
59
|
+
* @param abortSignal
|
|
60
|
+
*/
|
|
61
|
+
static getLNURLType(str: string, shouldRetry?: boolean, timeout?: number, abortSignal?: AbortSignal): Promise<LNURLPay | LNURLWithdraw | null>;
|
|
62
|
+
/**
|
|
63
|
+
* Uses a LNURL-pay request by obtaining a lightning network invoice from it
|
|
64
|
+
*
|
|
65
|
+
* @param payRequest LNURL params as returned from the getLNURL call
|
|
66
|
+
* @param amount Amount of sats (BTC) to pay
|
|
67
|
+
* @param comment Optional comment for the payment request
|
|
68
|
+
* @param timeout Request timeout in milliseconds
|
|
69
|
+
* @param abortSignal
|
|
70
|
+
* @throws {RequestError} If the response is non-200, status: ERROR, or invalid format
|
|
71
|
+
*/
|
|
72
|
+
static useLNURLPay(payRequest: LNURLPayParamsWithUrl, amount: bigint, comment?: string, timeout?: number, abortSignal?: AbortSignal): Promise<{
|
|
73
|
+
invoice: string;
|
|
74
|
+
parsedInvoice: PaymentRequestObject & {
|
|
75
|
+
tagsObject: TagsObject;
|
|
76
|
+
};
|
|
77
|
+
successAction?: LNURLPaySuccessAction;
|
|
78
|
+
}>;
|
|
79
|
+
/**
|
|
80
|
+
* Submits the bolt11 lightning invoice to the lnurl withdraw url
|
|
81
|
+
*
|
|
82
|
+
* @param withdrawRequest Withdraw request to use
|
|
83
|
+
* @param withdrawRequest.k1 K1 parameter
|
|
84
|
+
* @param withdrawRequest.callback A URL to call
|
|
85
|
+
* @param lnpr bolt11 lightning network invoice to submit to the withdrawal endpoint
|
|
86
|
+
* @throws {RequestError} If the response is non-200 or status: ERROR
|
|
87
|
+
*/
|
|
88
|
+
static postInvoiceToLNURLWithdraw(withdrawRequest: {
|
|
89
|
+
k1: string;
|
|
90
|
+
callback: string;
|
|
91
|
+
}, lnpr: string): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Uses a LNURL-withdraw request by submitting a lightning network invoice to it
|
|
94
|
+
*
|
|
95
|
+
* @param withdrawRequest Withdrawal request as returned from getLNURL call
|
|
96
|
+
* @param lnpr bolt11 lightning network invoice to submit to the withdrawal endpoint
|
|
97
|
+
* @throws {UserError} In case the provided bolt11 lightning invoice has an amount that is out of bounds for
|
|
98
|
+
* the specified LNURL-withdraw request
|
|
99
|
+
*/
|
|
100
|
+
static useLNURLWithdraw(withdrawRequest: LNURLWithdrawParamsWithUrl, lnpr: string): Promise<void>;
|
|
101
|
+
static decodeSuccessAction(successAction?: LNURLPaySuccessAction | null, secret?: string | null): LNURLDecodedSuccessAction | null;
|
|
102
|
+
}
|