@atomiqlabs/sdk 8.9.0 → 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 -765
- package/dist/swapper/Swapper.js +1749 -1749
- 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 -2557
- 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,302 +1,302 @@
|
|
|
1
|
-
import { SwapType } from "../../../enums/SwapType";
|
|
2
|
-
import { ChainType } from "@atomiqlabs/base";
|
|
3
|
-
import { LnForGasSwapTypeDefinition, LnForGasWrapper } from "./LnForGasWrapper";
|
|
4
|
-
import { ISwap, ISwapInit } from "../../ISwap";
|
|
5
|
-
import { Fee } from "../../../types/fees/Fee";
|
|
6
|
-
import { IAddressSwap } from "../../IAddressSwap";
|
|
7
|
-
import { FeeType } from "../../../enums/FeeType";
|
|
8
|
-
import { TokenAmount } from "../../../types/TokenAmount";
|
|
9
|
-
import { BtcToken, SCToken } from "../../../types/Token";
|
|
10
|
-
import { LoggerType } from "../../../utils/Logger";
|
|
11
|
-
import { SwapExecutionActionSendToAddress, SwapExecutionActionWait } from "../../../types/SwapExecutionAction";
|
|
12
|
-
import { SwapExecutionStepPayment, SwapExecutionStepSettlement } from "../../../types/SwapExecutionStep";
|
|
13
|
-
import { SwapStateInfo } from "../../../types/SwapStateInfo";
|
|
14
|
-
/**
|
|
15
|
-
* State enum for trusted Lightning gas swaps
|
|
16
|
-
*
|
|
17
|
-
* @category Swaps/Trusted Gas Swaps
|
|
18
|
-
*/
|
|
19
|
-
export declare enum LnForGasSwapState {
|
|
20
|
-
/**
|
|
21
|
-
* The swap quote expired before the user paid the Lightning invoice
|
|
22
|
-
*/
|
|
23
|
-
EXPIRED = -2,
|
|
24
|
-
/**
|
|
25
|
-
* The swap has failed before the destination payout completed, and the held Lightning invoice was released
|
|
26
|
-
*/
|
|
27
|
-
FAILED = -1,
|
|
28
|
-
/**
|
|
29
|
-
* Swap was created, pay the provided Lightning invoice which will remain held until destination payout succeeds
|
|
30
|
-
*/
|
|
31
|
-
PR_CREATED = 0,
|
|
32
|
-
/**
|
|
33
|
-
* The Lightning invoice was paid and is currently held until the user receives the destination funds
|
|
34
|
-
*/
|
|
35
|
-
PR_PAID = 1,
|
|
36
|
-
/**
|
|
37
|
-
* The swap is finished after the destination payout succeeded and the held Lightning invoice was settled
|
|
38
|
-
*/
|
|
39
|
-
FINISHED = 2
|
|
40
|
-
}
|
|
41
|
-
export type LnForGasSwapInit = ISwapInit & {
|
|
42
|
-
pr: string;
|
|
43
|
-
outputAmount: bigint;
|
|
44
|
-
recipient: string;
|
|
45
|
-
token: string;
|
|
46
|
-
};
|
|
47
|
-
export declare function isLnForGasSwapInit(obj: any): obj is LnForGasSwapInit;
|
|
48
|
-
/**
|
|
49
|
-
* Trusted swap for Bitcoin Lightning -> Smart chains, to be used for minor amounts to get gas tokens on
|
|
50
|
-
* the destination chain, which is only needed for Solana, which still uses legacy swaps
|
|
51
|
-
*
|
|
52
|
-
* @category Swaps/Trusted Gas Swaps
|
|
53
|
-
*/
|
|
54
|
-
export declare class LnForGasSwap<T extends ChainType = ChainType> extends ISwap<T, LnForGasSwapTypeDefinition<T>, LnForGasSwapState> implements IAddressSwap {
|
|
55
|
-
protected readonly TYPE: SwapType.TRUSTED_FROM_BTCLN;
|
|
56
|
-
/**
|
|
57
|
-
* @internal
|
|
58
|
-
*/
|
|
59
|
-
protected readonly swapStateDescription: {
|
|
60
|
-
[-2]: string;
|
|
61
|
-
[-1]: string;
|
|
62
|
-
0: string;
|
|
63
|
-
1: string;
|
|
64
|
-
2: string;
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* @internal
|
|
68
|
-
*/
|
|
69
|
-
protected readonly swapStateName: (state: number) => string;
|
|
70
|
-
/**
|
|
71
|
-
* @internal
|
|
72
|
-
*/
|
|
73
|
-
protected readonly currentVersion: number;
|
|
74
|
-
/**
|
|
75
|
-
* @internal
|
|
76
|
-
*/
|
|
77
|
-
protected readonly logger: LoggerType;
|
|
78
|
-
private readonly pr;
|
|
79
|
-
private readonly outputAmount;
|
|
80
|
-
private readonly recipient;
|
|
81
|
-
private readonly token;
|
|
82
|
-
/**
|
|
83
|
-
* Destination transaction ID on the smart chain side
|
|
84
|
-
* @private
|
|
85
|
-
*/
|
|
86
|
-
private scTxId?;
|
|
87
|
-
constructor(wrapper: LnForGasWrapper<T>, init: LnForGasSwapInit);
|
|
88
|
-
constructor(wrapper: LnForGasWrapper<T>, obj: any);
|
|
89
|
-
/**
|
|
90
|
-
* @inheritDoc
|
|
91
|
-
* @internal
|
|
92
|
-
*/
|
|
93
|
-
protected upgradeVersion(): void;
|
|
94
|
-
/**
|
|
95
|
-
* @inheritDoc
|
|
96
|
-
* @internal
|
|
97
|
-
*/
|
|
98
|
-
protected tryRecomputeSwapPrice(): void;
|
|
99
|
-
/**
|
|
100
|
-
* @inheritDoc
|
|
101
|
-
* @internal
|
|
102
|
-
*/
|
|
103
|
-
_getEscrowHash(): string;
|
|
104
|
-
/**
|
|
105
|
-
* @inheritDoc
|
|
106
|
-
*/
|
|
107
|
-
getOutputAddress(): string | null;
|
|
108
|
-
/**
|
|
109
|
-
* @inheritDoc
|
|
110
|
-
*/
|
|
111
|
-
getInputAddress(): string | null;
|
|
112
|
-
/**
|
|
113
|
-
* @inheritDoc
|
|
114
|
-
*/
|
|
115
|
-
getInputTxId(): string | null;
|
|
116
|
-
/**
|
|
117
|
-
* @inheritDoc
|
|
118
|
-
*/
|
|
119
|
-
getOutputTxId(): string | null;
|
|
120
|
-
/**
|
|
121
|
-
* @inheritDoc
|
|
122
|
-
*/
|
|
123
|
-
getId(): string;
|
|
124
|
-
/**
|
|
125
|
-
* Returns the lightning network BOLT11 invoice that needs to be paid as an input to the swap
|
|
126
|
-
*/
|
|
127
|
-
getAddress(): string;
|
|
128
|
-
/**
|
|
129
|
-
* Returns a string that can be displayed as QR code representation of the lightning invoice (with lightning: prefix)
|
|
130
|
-
*/
|
|
131
|
-
getHyperlink(): string;
|
|
132
|
-
/**
|
|
133
|
-
* @inheritDoc
|
|
134
|
-
*/
|
|
135
|
-
requiresAction(): boolean;
|
|
136
|
-
/**
|
|
137
|
-
* @inheritDoc
|
|
138
|
-
*/
|
|
139
|
-
isFinished(): boolean;
|
|
140
|
-
/**
|
|
141
|
-
* @inheritDoc
|
|
142
|
-
*/
|
|
143
|
-
isQuoteExpired(): boolean;
|
|
144
|
-
/**
|
|
145
|
-
* @inheritDoc
|
|
146
|
-
*/
|
|
147
|
-
isQuoteSoftExpired(): boolean;
|
|
148
|
-
/**
|
|
149
|
-
* @inheritDoc
|
|
150
|
-
*/
|
|
151
|
-
isFailed(): boolean;
|
|
152
|
-
/**
|
|
153
|
-
* @inheritDoc
|
|
154
|
-
*/
|
|
155
|
-
isSuccessful(): boolean;
|
|
156
|
-
/**
|
|
157
|
-
* @inheritDoc
|
|
158
|
-
*/
|
|
159
|
-
isInProgress(): boolean;
|
|
160
|
-
/**
|
|
161
|
-
* @inheritDoc
|
|
162
|
-
* @internal
|
|
163
|
-
*/
|
|
164
|
-
_verifyQuoteDefinitelyExpired(): Promise<boolean>;
|
|
165
|
-
/**
|
|
166
|
-
* @inheritDoc
|
|
167
|
-
* @internal
|
|
168
|
-
*/
|
|
169
|
-
_verifyQuoteValid(): Promise<boolean>;
|
|
170
|
-
/**
|
|
171
|
-
* Returns an output amount in base units without a swap fee included, hence this value
|
|
172
|
-
* is larger than the actual output amount
|
|
173
|
-
*
|
|
174
|
-
* @internal
|
|
175
|
-
*/
|
|
176
|
-
protected getOutAmountWithoutFee(): bigint;
|
|
177
|
-
/**
|
|
178
|
-
* @inheritDoc
|
|
179
|
-
*/
|
|
180
|
-
getOutputToken(): SCToken<T["ChainId"]>;
|
|
181
|
-
/**
|
|
182
|
-
* @inheritDoc
|
|
183
|
-
*/
|
|
184
|
-
getOutput(): TokenAmount<SCToken<T["ChainId"]>, true>;
|
|
185
|
-
/**
|
|
186
|
-
* @inheritDoc
|
|
187
|
-
*/
|
|
188
|
-
getInputToken(): BtcToken<true>;
|
|
189
|
-
/**
|
|
190
|
-
* @inheritDoc
|
|
191
|
-
*/
|
|
192
|
-
getInput(): TokenAmount<BtcToken<true>, true>;
|
|
193
|
-
/**
|
|
194
|
-
* @inheritDoc
|
|
195
|
-
*/
|
|
196
|
-
getInputWithoutFee(): TokenAmount<BtcToken<true>, true>;
|
|
197
|
-
/**
|
|
198
|
-
* Returns the swap fee charged by the intermediary (LP) on this swap
|
|
199
|
-
*
|
|
200
|
-
* @internal
|
|
201
|
-
*/
|
|
202
|
-
protected getSwapFee(): Fee<T["ChainId"], BtcToken<true>, SCToken<T["ChainId"]>>;
|
|
203
|
-
/**
|
|
204
|
-
* @inheritDoc
|
|
205
|
-
*/
|
|
206
|
-
getFee(): Fee<T["ChainId"], BtcToken<true>, SCToken<T["ChainId"]>>;
|
|
207
|
-
/**
|
|
208
|
-
* @inheritDoc
|
|
209
|
-
*/
|
|
210
|
-
getFeeBreakdown(): [{
|
|
211
|
-
type: FeeType.SWAP;
|
|
212
|
-
fee: Fee<T["ChainId"], BtcToken<true>, SCToken<T["ChainId"]>>;
|
|
213
|
-
}];
|
|
214
|
-
/**
|
|
215
|
-
* @remarks Not supported
|
|
216
|
-
*/
|
|
217
|
-
execute(): Promise<boolean>;
|
|
218
|
-
/**
|
|
219
|
-
* @internal
|
|
220
|
-
*/
|
|
221
|
-
protected _getExecutionStatus(): Promise<{
|
|
222
|
-
steps: [SwapExecutionStepPayment<"LIGHTNING">, SwapExecutionStepSettlement<T["ChainId"], never>];
|
|
223
|
-
buildCurrentAction: () => Promise<SwapExecutionActionSendToAddress<true> | SwapExecutionActionWait<"LP"> | undefined>;
|
|
224
|
-
state: LnForGasSwapState;
|
|
225
|
-
}>;
|
|
226
|
-
/**
|
|
227
|
-
* @internal
|
|
228
|
-
* @inheritDoc
|
|
229
|
-
*/
|
|
230
|
-
_submitExecutionTransactions(): Promise<string[]>;
|
|
231
|
-
/**
|
|
232
|
-
* @internal
|
|
233
|
-
*/
|
|
234
|
-
private _buildLightningPaymentAction;
|
|
235
|
-
/**
|
|
236
|
-
* @internal
|
|
237
|
-
*/
|
|
238
|
-
private _buildWaitLpAction;
|
|
239
|
-
/**
|
|
240
|
-
* @inheritDoc
|
|
241
|
-
*/
|
|
242
|
-
getExecutionAction(): Promise<SwapExecutionActionSendToAddress<true> | SwapExecutionActionWait<"LP"> | undefined>;
|
|
243
|
-
/**
|
|
244
|
-
* @inheritDoc
|
|
245
|
-
*/
|
|
246
|
-
getExecutionStatus(options?: {
|
|
247
|
-
skipBuildingAction?: boolean;
|
|
248
|
-
}): Promise<{
|
|
249
|
-
steps: [
|
|
250
|
-
SwapExecutionStepPayment<"LIGHTNING">,
|
|
251
|
-
SwapExecutionStepSettlement<T["ChainId"], never>
|
|
252
|
-
];
|
|
253
|
-
currentAction: SwapExecutionActionSendToAddress<true> | SwapExecutionActionWait<"LP"> | undefined;
|
|
254
|
-
stateInfo: SwapStateInfo<LnForGasSwapState>;
|
|
255
|
-
}>;
|
|
256
|
-
/**
|
|
257
|
-
* @inheritDoc
|
|
258
|
-
*/
|
|
259
|
-
getExecutionSteps(): Promise<[
|
|
260
|
-
SwapExecutionStepPayment<"LIGHTNING">,
|
|
261
|
-
SwapExecutionStepSettlement<T["ChainId"], never>
|
|
262
|
-
]>;
|
|
263
|
-
/**
|
|
264
|
-
* Queries the intermediary (LP) node for the state of the swap
|
|
265
|
-
*
|
|
266
|
-
* @param save Whether the save the result or not
|
|
267
|
-
*
|
|
268
|
-
* @returns Whether the swap was successful as `boolean` or `null` if the swap is still pending
|
|
269
|
-
* @internal
|
|
270
|
-
*/
|
|
271
|
-
protected checkInvoicePaid(save?: boolean): Promise<boolean | null>;
|
|
272
|
-
/**
|
|
273
|
-
* A blocking promise resolving when payment was received by the intermediary and client can continue,
|
|
274
|
-
* rejecting in case of failure. The swap must be in {@link LnForGasSwapState.PR_CREATED} or
|
|
275
|
-
* {@link LnForGasSwapState.PR_PAID} state!
|
|
276
|
-
*
|
|
277
|
-
* @param checkIntervalSeconds How often to poll the intermediary for answer (default 5 seconds)
|
|
278
|
-
* @param abortSignal Abort signal
|
|
279
|
-
* @param onPaymentReceived Callback as for when the LP reports having received the ln payment
|
|
280
|
-
* @throws {Error} When in invalid state (not PR_CREATED)
|
|
281
|
-
*/
|
|
282
|
-
waitForPayment(checkIntervalSeconds?: number, abortSignal?: AbortSignal, onPaymentReceived?: (txId: string) => void): Promise<boolean>;
|
|
283
|
-
/**
|
|
284
|
-
* @inheritDoc
|
|
285
|
-
*/
|
|
286
|
-
serialize(): any;
|
|
287
|
-
/**
|
|
288
|
-
* @inheritDoc
|
|
289
|
-
* @internal
|
|
290
|
-
*/
|
|
291
|
-
_getInitiator(): string;
|
|
292
|
-
/**
|
|
293
|
-
* @inheritDoc
|
|
294
|
-
* @internal
|
|
295
|
-
*/
|
|
296
|
-
_sync(save?: boolean): Promise<boolean>;
|
|
297
|
-
/**
|
|
298
|
-
* @inheritDoc
|
|
299
|
-
* @internal
|
|
300
|
-
*/
|
|
301
|
-
_tick(save?: boolean): Promise<boolean>;
|
|
302
|
-
}
|
|
1
|
+
import { SwapType } from "../../../enums/SwapType";
|
|
2
|
+
import { ChainType } from "@atomiqlabs/base";
|
|
3
|
+
import { LnForGasSwapTypeDefinition, LnForGasWrapper } from "./LnForGasWrapper";
|
|
4
|
+
import { ISwap, ISwapInit } from "../../ISwap";
|
|
5
|
+
import { Fee } from "../../../types/fees/Fee";
|
|
6
|
+
import { IAddressSwap } from "../../IAddressSwap";
|
|
7
|
+
import { FeeType } from "../../../enums/FeeType";
|
|
8
|
+
import { TokenAmount } from "../../../types/TokenAmount";
|
|
9
|
+
import { BtcToken, SCToken } from "../../../types/Token";
|
|
10
|
+
import { LoggerType } from "../../../utils/Logger";
|
|
11
|
+
import { SwapExecutionActionSendToAddress, SwapExecutionActionWait } from "../../../types/SwapExecutionAction";
|
|
12
|
+
import { SwapExecutionStepPayment, SwapExecutionStepSettlement } from "../../../types/SwapExecutionStep";
|
|
13
|
+
import { SwapStateInfo } from "../../../types/SwapStateInfo";
|
|
14
|
+
/**
|
|
15
|
+
* State enum for trusted Lightning gas swaps
|
|
16
|
+
*
|
|
17
|
+
* @category Swaps/Trusted Gas Swaps
|
|
18
|
+
*/
|
|
19
|
+
export declare enum LnForGasSwapState {
|
|
20
|
+
/**
|
|
21
|
+
* The swap quote expired before the user paid the Lightning invoice
|
|
22
|
+
*/
|
|
23
|
+
EXPIRED = -2,
|
|
24
|
+
/**
|
|
25
|
+
* The swap has failed before the destination payout completed, and the held Lightning invoice was released
|
|
26
|
+
*/
|
|
27
|
+
FAILED = -1,
|
|
28
|
+
/**
|
|
29
|
+
* Swap was created, pay the provided Lightning invoice which will remain held until destination payout succeeds
|
|
30
|
+
*/
|
|
31
|
+
PR_CREATED = 0,
|
|
32
|
+
/**
|
|
33
|
+
* The Lightning invoice was paid and is currently held until the user receives the destination funds
|
|
34
|
+
*/
|
|
35
|
+
PR_PAID = 1,
|
|
36
|
+
/**
|
|
37
|
+
* The swap is finished after the destination payout succeeded and the held Lightning invoice was settled
|
|
38
|
+
*/
|
|
39
|
+
FINISHED = 2
|
|
40
|
+
}
|
|
41
|
+
export type LnForGasSwapInit = ISwapInit & {
|
|
42
|
+
pr: string;
|
|
43
|
+
outputAmount: bigint;
|
|
44
|
+
recipient: string;
|
|
45
|
+
token: string;
|
|
46
|
+
};
|
|
47
|
+
export declare function isLnForGasSwapInit(obj: any): obj is LnForGasSwapInit;
|
|
48
|
+
/**
|
|
49
|
+
* Trusted swap for Bitcoin Lightning -> Smart chains, to be used for minor amounts to get gas tokens on
|
|
50
|
+
* the destination chain, which is only needed for Solana, which still uses legacy swaps
|
|
51
|
+
*
|
|
52
|
+
* @category Swaps/Trusted Gas Swaps
|
|
53
|
+
*/
|
|
54
|
+
export declare class LnForGasSwap<T extends ChainType = ChainType> extends ISwap<T, LnForGasSwapTypeDefinition<T>, LnForGasSwapState> implements IAddressSwap {
|
|
55
|
+
protected readonly TYPE: SwapType.TRUSTED_FROM_BTCLN;
|
|
56
|
+
/**
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
59
|
+
protected readonly swapStateDescription: {
|
|
60
|
+
[-2]: string;
|
|
61
|
+
[-1]: string;
|
|
62
|
+
0: string;
|
|
63
|
+
1: string;
|
|
64
|
+
2: string;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* @internal
|
|
68
|
+
*/
|
|
69
|
+
protected readonly swapStateName: (state: number) => string;
|
|
70
|
+
/**
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
73
|
+
protected readonly currentVersion: number;
|
|
74
|
+
/**
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
protected readonly logger: LoggerType;
|
|
78
|
+
private readonly pr;
|
|
79
|
+
private readonly outputAmount;
|
|
80
|
+
private readonly recipient;
|
|
81
|
+
private readonly token;
|
|
82
|
+
/**
|
|
83
|
+
* Destination transaction ID on the smart chain side
|
|
84
|
+
* @private
|
|
85
|
+
*/
|
|
86
|
+
private scTxId?;
|
|
87
|
+
constructor(wrapper: LnForGasWrapper<T>, init: LnForGasSwapInit);
|
|
88
|
+
constructor(wrapper: LnForGasWrapper<T>, obj: any);
|
|
89
|
+
/**
|
|
90
|
+
* @inheritDoc
|
|
91
|
+
* @internal
|
|
92
|
+
*/
|
|
93
|
+
protected upgradeVersion(): void;
|
|
94
|
+
/**
|
|
95
|
+
* @inheritDoc
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
protected tryRecomputeSwapPrice(): void;
|
|
99
|
+
/**
|
|
100
|
+
* @inheritDoc
|
|
101
|
+
* @internal
|
|
102
|
+
*/
|
|
103
|
+
_getEscrowHash(): string;
|
|
104
|
+
/**
|
|
105
|
+
* @inheritDoc
|
|
106
|
+
*/
|
|
107
|
+
getOutputAddress(): string | null;
|
|
108
|
+
/**
|
|
109
|
+
* @inheritDoc
|
|
110
|
+
*/
|
|
111
|
+
getInputAddress(): string | null;
|
|
112
|
+
/**
|
|
113
|
+
* @inheritDoc
|
|
114
|
+
*/
|
|
115
|
+
getInputTxId(): string | null;
|
|
116
|
+
/**
|
|
117
|
+
* @inheritDoc
|
|
118
|
+
*/
|
|
119
|
+
getOutputTxId(): string | null;
|
|
120
|
+
/**
|
|
121
|
+
* @inheritDoc
|
|
122
|
+
*/
|
|
123
|
+
getId(): string;
|
|
124
|
+
/**
|
|
125
|
+
* Returns the lightning network BOLT11 invoice that needs to be paid as an input to the swap
|
|
126
|
+
*/
|
|
127
|
+
getAddress(): string;
|
|
128
|
+
/**
|
|
129
|
+
* Returns a string that can be displayed as QR code representation of the lightning invoice (with lightning: prefix)
|
|
130
|
+
*/
|
|
131
|
+
getHyperlink(): string;
|
|
132
|
+
/**
|
|
133
|
+
* @inheritDoc
|
|
134
|
+
*/
|
|
135
|
+
requiresAction(): boolean;
|
|
136
|
+
/**
|
|
137
|
+
* @inheritDoc
|
|
138
|
+
*/
|
|
139
|
+
isFinished(): boolean;
|
|
140
|
+
/**
|
|
141
|
+
* @inheritDoc
|
|
142
|
+
*/
|
|
143
|
+
isQuoteExpired(): boolean;
|
|
144
|
+
/**
|
|
145
|
+
* @inheritDoc
|
|
146
|
+
*/
|
|
147
|
+
isQuoteSoftExpired(): boolean;
|
|
148
|
+
/**
|
|
149
|
+
* @inheritDoc
|
|
150
|
+
*/
|
|
151
|
+
isFailed(): boolean;
|
|
152
|
+
/**
|
|
153
|
+
* @inheritDoc
|
|
154
|
+
*/
|
|
155
|
+
isSuccessful(): boolean;
|
|
156
|
+
/**
|
|
157
|
+
* @inheritDoc
|
|
158
|
+
*/
|
|
159
|
+
isInProgress(): boolean;
|
|
160
|
+
/**
|
|
161
|
+
* @inheritDoc
|
|
162
|
+
* @internal
|
|
163
|
+
*/
|
|
164
|
+
_verifyQuoteDefinitelyExpired(): Promise<boolean>;
|
|
165
|
+
/**
|
|
166
|
+
* @inheritDoc
|
|
167
|
+
* @internal
|
|
168
|
+
*/
|
|
169
|
+
_verifyQuoteValid(): Promise<boolean>;
|
|
170
|
+
/**
|
|
171
|
+
* Returns an output amount in base units without a swap fee included, hence this value
|
|
172
|
+
* is larger than the actual output amount
|
|
173
|
+
*
|
|
174
|
+
* @internal
|
|
175
|
+
*/
|
|
176
|
+
protected getOutAmountWithoutFee(): bigint;
|
|
177
|
+
/**
|
|
178
|
+
* @inheritDoc
|
|
179
|
+
*/
|
|
180
|
+
getOutputToken(): SCToken<T["ChainId"]>;
|
|
181
|
+
/**
|
|
182
|
+
* @inheritDoc
|
|
183
|
+
*/
|
|
184
|
+
getOutput(): TokenAmount<SCToken<T["ChainId"]>, true>;
|
|
185
|
+
/**
|
|
186
|
+
* @inheritDoc
|
|
187
|
+
*/
|
|
188
|
+
getInputToken(): BtcToken<true>;
|
|
189
|
+
/**
|
|
190
|
+
* @inheritDoc
|
|
191
|
+
*/
|
|
192
|
+
getInput(): TokenAmount<BtcToken<true>, true>;
|
|
193
|
+
/**
|
|
194
|
+
* @inheritDoc
|
|
195
|
+
*/
|
|
196
|
+
getInputWithoutFee(): TokenAmount<BtcToken<true>, true>;
|
|
197
|
+
/**
|
|
198
|
+
* Returns the swap fee charged by the intermediary (LP) on this swap
|
|
199
|
+
*
|
|
200
|
+
* @internal
|
|
201
|
+
*/
|
|
202
|
+
protected getSwapFee(): Fee<T["ChainId"], BtcToken<true>, SCToken<T["ChainId"]>>;
|
|
203
|
+
/**
|
|
204
|
+
* @inheritDoc
|
|
205
|
+
*/
|
|
206
|
+
getFee(): Fee<T["ChainId"], BtcToken<true>, SCToken<T["ChainId"]>>;
|
|
207
|
+
/**
|
|
208
|
+
* @inheritDoc
|
|
209
|
+
*/
|
|
210
|
+
getFeeBreakdown(): [{
|
|
211
|
+
type: FeeType.SWAP;
|
|
212
|
+
fee: Fee<T["ChainId"], BtcToken<true>, SCToken<T["ChainId"]>>;
|
|
213
|
+
}];
|
|
214
|
+
/**
|
|
215
|
+
* @remarks Not supported
|
|
216
|
+
*/
|
|
217
|
+
execute(): Promise<boolean>;
|
|
218
|
+
/**
|
|
219
|
+
* @internal
|
|
220
|
+
*/
|
|
221
|
+
protected _getExecutionStatus(): Promise<{
|
|
222
|
+
steps: [SwapExecutionStepPayment<"LIGHTNING">, SwapExecutionStepSettlement<T["ChainId"], never>];
|
|
223
|
+
buildCurrentAction: () => Promise<SwapExecutionActionSendToAddress<true> | SwapExecutionActionWait<"LP"> | undefined>;
|
|
224
|
+
state: LnForGasSwapState;
|
|
225
|
+
}>;
|
|
226
|
+
/**
|
|
227
|
+
* @internal
|
|
228
|
+
* @inheritDoc
|
|
229
|
+
*/
|
|
230
|
+
_submitExecutionTransactions(): Promise<string[]>;
|
|
231
|
+
/**
|
|
232
|
+
* @internal
|
|
233
|
+
*/
|
|
234
|
+
private _buildLightningPaymentAction;
|
|
235
|
+
/**
|
|
236
|
+
* @internal
|
|
237
|
+
*/
|
|
238
|
+
private _buildWaitLpAction;
|
|
239
|
+
/**
|
|
240
|
+
* @inheritDoc
|
|
241
|
+
*/
|
|
242
|
+
getExecutionAction(): Promise<SwapExecutionActionSendToAddress<true> | SwapExecutionActionWait<"LP"> | undefined>;
|
|
243
|
+
/**
|
|
244
|
+
* @inheritDoc
|
|
245
|
+
*/
|
|
246
|
+
getExecutionStatus(options?: {
|
|
247
|
+
skipBuildingAction?: boolean;
|
|
248
|
+
}): Promise<{
|
|
249
|
+
steps: [
|
|
250
|
+
SwapExecutionStepPayment<"LIGHTNING">,
|
|
251
|
+
SwapExecutionStepSettlement<T["ChainId"], never>
|
|
252
|
+
];
|
|
253
|
+
currentAction: SwapExecutionActionSendToAddress<true> | SwapExecutionActionWait<"LP"> | undefined;
|
|
254
|
+
stateInfo: SwapStateInfo<LnForGasSwapState>;
|
|
255
|
+
}>;
|
|
256
|
+
/**
|
|
257
|
+
* @inheritDoc
|
|
258
|
+
*/
|
|
259
|
+
getExecutionSteps(): Promise<[
|
|
260
|
+
SwapExecutionStepPayment<"LIGHTNING">,
|
|
261
|
+
SwapExecutionStepSettlement<T["ChainId"], never>
|
|
262
|
+
]>;
|
|
263
|
+
/**
|
|
264
|
+
* Queries the intermediary (LP) node for the state of the swap
|
|
265
|
+
*
|
|
266
|
+
* @param save Whether the save the result or not
|
|
267
|
+
*
|
|
268
|
+
* @returns Whether the swap was successful as `boolean` or `null` if the swap is still pending
|
|
269
|
+
* @internal
|
|
270
|
+
*/
|
|
271
|
+
protected checkInvoicePaid(save?: boolean): Promise<boolean | null>;
|
|
272
|
+
/**
|
|
273
|
+
* A blocking promise resolving when payment was received by the intermediary and client can continue,
|
|
274
|
+
* rejecting in case of failure. The swap must be in {@link LnForGasSwapState.PR_CREATED} or
|
|
275
|
+
* {@link LnForGasSwapState.PR_PAID} state!
|
|
276
|
+
*
|
|
277
|
+
* @param checkIntervalSeconds How often to poll the intermediary for answer (default 5 seconds)
|
|
278
|
+
* @param abortSignal Abort signal
|
|
279
|
+
* @param onPaymentReceived Callback as for when the LP reports having received the ln payment
|
|
280
|
+
* @throws {Error} When in invalid state (not PR_CREATED)
|
|
281
|
+
*/
|
|
282
|
+
waitForPayment(checkIntervalSeconds?: number, abortSignal?: AbortSignal, onPaymentReceived?: (txId: string) => void): Promise<boolean>;
|
|
283
|
+
/**
|
|
284
|
+
* @inheritDoc
|
|
285
|
+
*/
|
|
286
|
+
serialize(): any;
|
|
287
|
+
/**
|
|
288
|
+
* @inheritDoc
|
|
289
|
+
* @internal
|
|
290
|
+
*/
|
|
291
|
+
_getInitiator(): string;
|
|
292
|
+
/**
|
|
293
|
+
* @inheritDoc
|
|
294
|
+
* @internal
|
|
295
|
+
*/
|
|
296
|
+
_sync(save?: boolean): Promise<boolean>;
|
|
297
|
+
/**
|
|
298
|
+
* @inheritDoc
|
|
299
|
+
* @internal
|
|
300
|
+
*/
|
|
301
|
+
_tick(save?: boolean): Promise<boolean>;
|
|
302
|
+
}
|