@atomiqlabs/sdk 7.0.12 → 8.0.8
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/README.md +45 -29
- package/dist/SmartChainAssets.d.ts +11 -3
- package/dist/SmartChainAssets.js +7 -3
- package/dist/bitcoin/BitcoinRpcWithAddressIndex.d.ts +68 -0
- package/dist/bitcoin/BitcoinRpcWithAddressIndex.js +2 -0
- package/dist/bitcoin/LightningNetworkApi.d.ts +12 -0
- package/dist/bitcoin/LightningNetworkApi.js +2 -0
- package/dist/bitcoin/coinselect2/accumulative.d.ts +6 -0
- package/dist/bitcoin/coinselect2/accumulative.js +52 -0
- package/dist/bitcoin/coinselect2/blackjack.d.ts +6 -0
- package/dist/bitcoin/coinselect2/blackjack.js +38 -0
- package/dist/bitcoin/coinselect2/index.d.ts +19 -0
- package/dist/bitcoin/coinselect2/index.js +69 -0
- package/dist/bitcoin/coinselect2/utils.d.ts +71 -0
- package/dist/bitcoin/coinselect2/utils.js +123 -0
- package/dist/bitcoin/mempool/MempoolApi.d.ts +350 -0
- package/dist/bitcoin/mempool/MempoolApi.js +311 -0
- package/dist/bitcoin/mempool/MempoolBitcoinBlock.d.ts +44 -0
- package/dist/bitcoin/mempool/MempoolBitcoinBlock.js +48 -0
- package/dist/bitcoin/mempool/MempoolBitcoinRpc.d.ts +119 -0
- package/dist/bitcoin/mempool/MempoolBitcoinRpc.js +361 -0
- package/dist/bitcoin/mempool/synchronizer/MempoolBtcRelaySynchronizer.d.ts +22 -0
- package/dist/bitcoin/mempool/synchronizer/MempoolBtcRelaySynchronizer.js +105 -0
- package/dist/bitcoin/wallet/BitcoinWallet.d.ts +93 -0
- package/dist/bitcoin/wallet/BitcoinWallet.js +273 -0
- package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +28 -0
- package/dist/bitcoin/wallet/IBitcoinWallet.js +20 -0
- package/dist/bitcoin/wallet/MinimalBitcoinWalletInterface.d.ts +21 -0
- package/dist/bitcoin/wallet/MinimalBitcoinWalletInterface.js +2 -0
- package/dist/bitcoin/wallet/MinimalLightningNetworkWalletInterface.d.ts +7 -0
- package/dist/bitcoin/wallet/MinimalLightningNetworkWalletInterface.js +2 -0
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +40 -0
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +86 -0
- package/dist/enums/FeeType.d.ts +8 -0
- package/dist/enums/FeeType.js +12 -0
- package/dist/enums/SwapAmountType.d.ts +8 -0
- package/dist/enums/SwapAmountType.js +12 -0
- package/dist/enums/SwapDirection.d.ts +8 -0
- package/dist/enums/SwapDirection.js +12 -0
- package/dist/enums/SwapType.d.ts +14 -0
- package/dist/enums/SwapType.js +18 -0
- package/dist/errors/IntermediaryError.d.ts +9 -0
- package/dist/errors/IntermediaryError.js +26 -0
- package/dist/errors/PaymentAuthError.d.ts +11 -0
- package/dist/errors/PaymentAuthError.js +23 -0
- package/dist/errors/RequestError.d.ts +18 -0
- package/dist/errors/RequestError.js +46 -0
- package/dist/errors/UserError.d.ts +7 -0
- package/dist/errors/UserError.js +15 -0
- package/dist/events/UnifiedSwapEventListener.d.ts +23 -0
- package/dist/events/UnifiedSwapEventListener.js +130 -0
- package/dist/http/HttpUtils.d.ts +27 -0
- package/dist/http/HttpUtils.js +91 -0
- package/dist/http/paramcoders/IParamReader.d.ts +8 -0
- package/dist/http/paramcoders/IParamReader.js +2 -0
- package/dist/http/paramcoders/ParamDecoder.d.ts +44 -0
- package/dist/http/paramcoders/ParamDecoder.js +132 -0
- package/dist/http/paramcoders/ParamEncoder.d.ts +20 -0
- package/dist/http/paramcoders/ParamEncoder.js +31 -0
- package/dist/http/paramcoders/SchemaVerifier.d.ts +26 -0
- package/dist/http/paramcoders/SchemaVerifier.js +145 -0
- package/dist/http/paramcoders/client/ResponseParamDecoder.d.ts +11 -0
- package/dist/http/paramcoders/client/ResponseParamDecoder.js +57 -0
- package/dist/http/paramcoders/client/StreamParamEncoder.d.ts +13 -0
- package/dist/http/paramcoders/client/StreamParamEncoder.js +26 -0
- package/dist/http/paramcoders/client/StreamingFetchPromise.d.ts +16 -0
- package/dist/http/paramcoders/client/StreamingFetchPromise.js +174 -0
- package/dist/index.d.ts +82 -4
- package/dist/index.js +128 -4
- package/dist/intermediaries/Intermediary.d.ts +111 -0
- package/dist/intermediaries/Intermediary.js +115 -0
- package/dist/intermediaries/IntermediaryDiscovery.d.ts +166 -0
- package/dist/intermediaries/IntermediaryDiscovery.js +390 -0
- package/dist/intermediaries/apis/IntermediaryAPI.d.ts +436 -0
- package/dist/intermediaries/apis/IntermediaryAPI.js +600 -0
- package/dist/intermediaries/apis/TrustedIntermediaryAPI.d.ts +154 -0
- package/dist/intermediaries/apis/TrustedIntermediaryAPI.js +136 -0
- package/dist/lnurl/LNURL.d.ts +102 -0
- package/dist/lnurl/LNURL.js +321 -0
- package/dist/prices/RedundantSwapPrice.d.ts +89 -0
- package/dist/prices/RedundantSwapPrice.js +202 -0
- package/dist/prices/SingleSwapPrice.d.ts +31 -0
- package/dist/prices/SingleSwapPrice.js +41 -0
- package/dist/prices/SwapPriceWithChain.d.ts +70 -0
- package/dist/prices/SwapPriceWithChain.js +91 -0
- package/dist/prices/abstract/ICachedSwapPrice.d.ts +28 -0
- package/dist/prices/abstract/ICachedSwapPrice.js +62 -0
- package/dist/prices/abstract/IPriceProvider.d.ts +81 -0
- package/dist/prices/abstract/IPriceProvider.js +74 -0
- package/dist/prices/abstract/ISwapPrice.d.ts +117 -0
- package/dist/prices/abstract/ISwapPrice.js +219 -0
- package/dist/prices/providers/BinancePriceProvider.d.ts +16 -0
- package/dist/prices/providers/BinancePriceProvider.js +23 -0
- package/dist/prices/providers/CoinGeckoPriceProvider.d.ts +17 -0
- package/dist/prices/providers/CoinGeckoPriceProvider.js +23 -0
- package/dist/prices/providers/CoinPaprikaPriceProvider.d.ts +19 -0
- package/dist/prices/providers/CoinPaprikaPriceProvider.js +23 -0
- package/dist/prices/providers/CustomPriceProvider.d.ts +13 -0
- package/dist/prices/providers/CustomPriceProvider.js +24 -0
- package/dist/prices/providers/KrakenPriceProvider.d.ts +29 -0
- package/dist/prices/providers/KrakenPriceProvider.js +36 -0
- package/dist/prices/providers/OKXPriceProvider.d.ts +28 -0
- package/dist/prices/providers/OKXPriceProvider.js +23 -0
- package/dist/prices/providers/abstract/ExchangePriceProvider.d.ts +14 -0
- package/dist/prices/providers/abstract/ExchangePriceProvider.js +18 -0
- package/dist/prices/providers/abstract/HttpPriceProvider.d.ts +7 -0
- package/dist/prices/providers/abstract/HttpPriceProvider.js +12 -0
- package/dist/storage/IUnifiedStorage.d.ts +73 -0
- package/dist/storage/IUnifiedStorage.js +2 -0
- package/dist/storage/UnifiedSwapStorage.d.ts +82 -0
- package/dist/storage/UnifiedSwapStorage.js +83 -0
- package/dist/storage-browser/IndexedDBUnifiedStorage.d.ts +39 -0
- package/dist/storage-browser/IndexedDBUnifiedStorage.js +275 -0
- package/dist/{storage → storage-browser}/LocalStorageManager.d.ts +1 -0
- package/dist/{storage → storage-browser}/LocalStorageManager.js +2 -1
- package/dist/swapper/Swapper.d.ts +533 -0
- package/dist/swapper/Swapper.js +1566 -0
- package/dist/swapper/SwapperFactory.d.ts +87 -0
- package/dist/{SwapperFactory.js → swapper/SwapperFactory.js} +37 -19
- package/dist/swapper/SwapperUtils.d.ts +153 -0
- package/dist/swapper/SwapperUtils.js +420 -0
- package/dist/swapper/SwapperWithChain.d.ts +214 -0
- package/dist/swapper/SwapperWithChain.js +315 -0
- package/dist/swapper/SwapperWithSigner.d.ts +178 -0
- package/dist/swapper/SwapperWithSigner.js +172 -0
- package/dist/swaps/IAddressSwap.d.ts +13 -0
- package/dist/swaps/IAddressSwap.js +13 -0
- package/dist/swaps/IBTCWalletSwap.d.ts +55 -0
- package/dist/swaps/IBTCWalletSwap.js +17 -0
- package/dist/swaps/IClaimableSwap.d.ts +17 -0
- package/dist/swaps/IClaimableSwap.js +14 -0
- package/dist/swaps/IClaimableSwapWrapper.d.ts +5 -0
- package/dist/swaps/IClaimableSwapWrapper.js +2 -0
- package/dist/swaps/IRefundableSwap.d.ts +17 -0
- package/dist/swaps/IRefundableSwap.js +13 -0
- package/dist/swaps/ISwap.d.ts +207 -0
- package/dist/swaps/ISwap.js +264 -0
- package/dist/swaps/ISwapWithGasDrop.d.ts +15 -0
- package/dist/swaps/ISwapWithGasDrop.js +11 -0
- package/dist/swaps/ISwapWrapper.d.ts +153 -0
- package/dist/swaps/ISwapWrapper.js +227 -0
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.d.ts +53 -0
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.js +116 -0
- package/dist/swaps/escrow_swaps/IEscrowSwap.d.ts +70 -0
- package/dist/swaps/escrow_swaps/IEscrowSwap.js +132 -0
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +85 -0
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +122 -0
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +86 -0
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.js +115 -0
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.d.ts +93 -0
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +121 -0
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.d.ts +45 -0
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.js +65 -0
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +263 -0
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +933 -0
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +110 -0
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +307 -0
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +236 -0
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +898 -0
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +125 -0
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +393 -0
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +245 -0
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +841 -0
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.d.ts +120 -0
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +294 -0
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.d.ts +228 -0
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +721 -0
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.d.ts +37 -0
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +93 -0
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.d.ts +86 -0
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +213 -0
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +170 -0
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +520 -0
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.d.ts +50 -0
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.js +109 -0
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.d.ts +93 -0
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +217 -0
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +315 -0
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +1098 -0
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +125 -0
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +631 -0
- package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +107 -0
- package/dist/swaps/trusted/ln/LnForGasSwap.js +343 -0
- package/dist/swaps/trusted/ln/LnForGasWrapper.d.ts +21 -0
- package/dist/swaps/trusted/ln/LnForGasWrapper.js +62 -0
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.d.ts +164 -0
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +520 -0
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.d.ts +48 -0
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +74 -0
- package/dist/types/AmountData.d.ts +9 -0
- package/dist/types/AmountData.js +2 -0
- package/dist/types/CustomPriceFunction.d.ts +5 -0
- package/dist/types/CustomPriceFunction.js +2 -0
- package/dist/types/PriceInfoType.d.ts +28 -0
- package/dist/types/PriceInfoType.js +57 -0
- package/dist/types/SwapExecutionAction.d.ts +7 -0
- package/dist/types/SwapExecutionAction.js +2 -0
- package/dist/types/SwapWithSigner.d.ts +14 -0
- package/dist/types/SwapWithSigner.js +40 -0
- package/dist/types/Token.d.ts +53 -0
- package/dist/types/Token.js +58 -0
- package/dist/types/TokenAmount.d.ts +57 -0
- package/dist/types/TokenAmount.js +47 -0
- package/dist/types/fees/Fee.d.ts +49 -0
- package/dist/types/fees/Fee.js +2 -0
- package/dist/types/fees/FeeBreakdown.d.ts +10 -0
- package/dist/types/fees/FeeBreakdown.js +2 -0
- package/dist/types/fees/PercentagePPM.d.ts +15 -0
- package/dist/types/fees/PercentagePPM.js +17 -0
- package/dist/types/lnurl/LNURLPay.d.ts +54 -0
- package/dist/types/lnurl/LNURLPay.js +28 -0
- package/dist/types/lnurl/LNURLWithdraw.d.ts +42 -0
- package/dist/types/lnurl/LNURLWithdraw.js +24 -0
- package/dist/utils/AutomaticClockDriftCorrection.d.ts +1 -0
- package/dist/utils/AutomaticClockDriftCorrection.js +70 -0
- package/dist/utils/BitcoinUtils.d.ts +13 -0
- package/dist/utils/BitcoinUtils.js +98 -0
- package/dist/utils/BitcoinWalletUtils.d.ts +7 -0
- package/dist/utils/BitcoinWalletUtils.js +14 -0
- package/dist/utils/Logger.d.ts +7 -0
- package/dist/utils/Logger.js +12 -0
- package/dist/utils/RetryUtils.d.ts +21 -0
- package/dist/utils/RetryUtils.js +66 -0
- package/dist/utils/SwapUtils.d.ts +31 -0
- package/dist/utils/SwapUtils.js +18 -0
- package/dist/{Utils.d.ts → utils/TimeoutUtils.d.ts} +9 -3
- package/dist/utils/TimeoutUtils.js +55 -0
- package/dist/utils/TokenUtils.d.ts +11 -0
- package/dist/utils/TokenUtils.js +29 -0
- package/dist/utils/TypeUtils.d.ts +7 -0
- package/dist/utils/TypeUtils.js +2 -0
- package/dist/utils/Utils.d.ts +57 -0
- package/dist/utils/Utils.js +178 -0
- package/package.json +14 -6
- package/src/SmartChainAssets.ts +11 -3
- package/src/bitcoin/BitcoinRpcWithAddressIndex.ts +87 -0
- package/src/bitcoin/LightningNetworkApi.ts +16 -0
- package/src/bitcoin/coinselect2/accumulative.ts +68 -0
- package/src/bitcoin/coinselect2/blackjack.ts +49 -0
- package/src/bitcoin/coinselect2/index.ts +92 -0
- package/src/bitcoin/coinselect2/utils.ts +189 -0
- package/src/bitcoin/mempool/MempoolApi.ts +554 -0
- package/src/bitcoin/mempool/MempoolBitcoinBlock.ts +88 -0
- package/src/bitcoin/mempool/MempoolBitcoinRpc.ts +437 -0
- package/src/bitcoin/mempool/synchronizer/MempoolBtcRelaySynchronizer.ts +134 -0
- package/src/bitcoin/wallet/BitcoinWallet.ts +375 -0
- package/src/bitcoin/wallet/IBitcoinWallet.ts +44 -0
- package/src/bitcoin/wallet/MinimalBitcoinWalletInterface.ts +19 -0
- package/src/bitcoin/wallet/MinimalLightningNetworkWalletInterface.ts +7 -0
- package/src/bitcoin/wallet/SingleAddressBitcoinWallet.ts +108 -0
- package/src/enums/FeeType.ts +9 -0
- package/src/enums/SwapAmountType.ts +9 -0
- package/src/enums/SwapDirection.ts +9 -0
- package/src/enums/SwapType.ts +15 -0
- package/src/errors/IntermediaryError.ts +24 -0
- package/src/errors/PaymentAuthError.ts +26 -0
- package/src/errors/RequestError.ts +51 -0
- package/src/errors/UserError.ts +14 -0
- package/src/events/UnifiedSwapEventListener.ts +171 -0
- package/src/http/HttpUtils.ts +92 -0
- package/src/http/paramcoders/IParamReader.ts +10 -0
- package/src/http/paramcoders/ParamDecoder.ts +142 -0
- package/src/http/paramcoders/ParamEncoder.ts +37 -0
- package/src/http/paramcoders/SchemaVerifier.ts +153 -0
- package/src/http/paramcoders/client/ResponseParamDecoder.ts +58 -0
- package/src/http/paramcoders/client/StreamParamEncoder.ts +29 -0
- package/src/http/paramcoders/client/StreamingFetchPromise.ts +193 -0
- package/src/index.ts +102 -4
- package/src/intermediaries/Intermediary.ts +204 -0
- package/src/intermediaries/IntermediaryDiscovery.ts +485 -0
- package/src/intermediaries/apis/IntermediaryAPI.ts +940 -0
- package/src/intermediaries/apis/TrustedIntermediaryAPI.ts +257 -0
- package/src/lnurl/LNURL.ts +403 -0
- package/src/prices/RedundantSwapPrice.ts +245 -0
- package/src/prices/SingleSwapPrice.ts +47 -0
- package/src/prices/SwapPriceWithChain.ts +157 -0
- package/src/prices/abstract/ICachedSwapPrice.ts +86 -0
- package/src/prices/abstract/IPriceProvider.ts +128 -0
- package/src/prices/abstract/ISwapPrice.ts +328 -0
- package/src/prices/providers/BinancePriceProvider.ts +41 -0
- package/src/prices/providers/CoinGeckoPriceProvider.ts +40 -0
- package/src/prices/providers/CoinPaprikaPriceProvider.ts +44 -0
- package/src/prices/providers/CustomPriceProvider.ts +29 -0
- package/src/prices/providers/KrakenPriceProvider.ts +74 -0
- package/src/prices/providers/OKXPriceProvider.ts +53 -0
- package/src/prices/providers/abstract/ExchangePriceProvider.ts +29 -0
- package/src/prices/providers/abstract/HttpPriceProvider.ts +15 -0
- package/src/storage/IUnifiedStorage.ts +83 -0
- package/src/storage/UnifiedSwapStorage.ts +104 -0
- package/src/storage-browser/IndexedDBUnifiedStorage.ts +328 -0
- package/src/{storage → storage-browser}/LocalStorageManager.ts +2 -1
- package/src/swapper/Swapper.ts +2107 -0
- package/src/{SwapperFactory.ts → swapper/SwapperFactory.ts} +113 -72
- package/src/swapper/SwapperUtils.ts +510 -0
- package/src/swapper/SwapperWithChain.ts +464 -0
- package/src/swapper/SwapperWithSigner.ts +300 -0
- package/src/swaps/IAddressSwap.ts +20 -0
- package/src/swaps/IBTCWalletSwap.ts +77 -0
- package/src/swaps/IClaimableSwap.ts +30 -0
- package/src/swaps/IClaimableSwapWrapper.ts +9 -0
- package/src/swaps/IRefundableSwap.ts +29 -0
- package/src/swaps/ISwap.ts +490 -0
- package/src/swaps/ISwapWithGasDrop.ts +19 -0
- package/src/swaps/ISwapWrapper.ts +344 -0
- package/src/swaps/escrow_swaps/IEscrowSelfInitSwap.ts +168 -0
- package/src/swaps/escrow_swaps/IEscrowSwap.ts +197 -0
- package/src/swaps/escrow_swaps/IEscrowSwapWrapper.ts +210 -0
- package/src/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.ts +150 -0
- package/src/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.ts +219 -0
- package/src/swaps/escrow_swaps/frombtc/IFromBTCWrapper.ts +84 -0
- package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.ts +1082 -0
- package/src/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.ts +429 -0
- package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.ts +1078 -0
- package/src/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.ts +549 -0
- package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.ts +974 -0
- package/src/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.ts +443 -0
- package/src/swaps/escrow_swaps/tobtc/IToBTCSwap.ts +860 -0
- package/src/swaps/escrow_swaps/tobtc/IToBTCWrapper.ts +104 -0
- package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.ts +256 -0
- package/src/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.ts +716 -0
- package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.ts +151 -0
- package/src/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.ts +299 -0
- package/src/swaps/spv_swaps/SpvFromBTCSwap.ts +1394 -0
- package/src/swaps/spv_swaps/SpvFromBTCWrapper.ts +796 -0
- package/src/swaps/trusted/ln/LnForGasSwap.ts +402 -0
- package/src/swaps/trusted/ln/LnForGasWrapper.ts +70 -0
- package/src/swaps/trusted/onchain/OnchainForGasSwap.ts +633 -0
- package/src/swaps/trusted/onchain/OnchainForGasWrapper.ts +110 -0
- package/src/types/AmountData.ts +9 -0
- package/src/types/CustomPriceFunction.ts +5 -0
- package/src/types/PriceInfoType.ts +67 -0
- package/src/types/SwapExecutionAction.ts +8 -0
- package/src/types/SwapWithSigner.ts +57 -0
- package/src/types/Token.ts +90 -0
- package/src/types/TokenAmount.ts +110 -0
- package/src/types/fees/Fee.ts +55 -0
- package/src/types/fees/FeeBreakdown.ts +11 -0
- package/src/types/fees/PercentagePPM.ts +24 -0
- package/src/types/lnurl/LNURLPay.ts +72 -0
- package/src/types/lnurl/LNURLWithdraw.ts +55 -0
- package/src/utils/AutomaticClockDriftCorrection.ts +71 -0
- package/src/utils/BitcoinUtils.ts +86 -0
- package/src/utils/BitcoinWalletUtils.ts +16 -0
- package/src/utils/Logger.ts +15 -0
- package/src/utils/RetryUtils.ts +71 -0
- package/src/utils/SwapUtils.ts +38 -0
- package/src/utils/TimeoutUtils.ts +50 -0
- package/src/utils/TokenUtils.ts +25 -0
- package/src/utils/TypeUtils.ts +9 -0
- package/src/utils/Utils.ts +182 -0
- package/dist/SwapperFactory.d.ts +0 -52
- package/dist/Utils.js +0 -37
- package/dist/fs-storage/FileSystemStorageManager.d.ts +0 -15
- package/dist/fs-storage/FileSystemStorageManager.js +0 -60
- package/dist/fs-storage/index.d.ts +0 -1
- package/dist/fs-storage/index.js +0 -17
- package/src/SmartChainAssets.js +0 -75
- package/src/SwapperFactory.js +0 -120
- package/src/Utils.js +0 -37
- package/src/Utils.ts +0 -31
- package/src/fs-storage/FileSystemStorageManager.ts +0 -71
- package/src/fs-storage/index.ts +0 -1
- package/src/index.js +0 -21
- package/src/storage/LocalStorageManager.js +0 -72
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwapperWithChain = void 0;
|
|
4
|
+
const SwapType_1 = require("../enums/SwapType");
|
|
5
|
+
const SwapPriceWithChain_1 = require("../prices/SwapPriceWithChain");
|
|
6
|
+
const SwapperWithSigner_1 = require("./SwapperWithSigner");
|
|
7
|
+
const UserError_1 = require("../errors/UserError");
|
|
8
|
+
const Token_1 = require("../types/Token");
|
|
9
|
+
/**
|
|
10
|
+
* Chain-specific wrapper around Swapper for a particular blockchain
|
|
11
|
+
* @category Core
|
|
12
|
+
*/
|
|
13
|
+
class SwapperWithChain {
|
|
14
|
+
get intermediaryDiscovery() {
|
|
15
|
+
return this.swapper.intermediaryDiscovery;
|
|
16
|
+
}
|
|
17
|
+
get mempoolApi() {
|
|
18
|
+
return this.swapper.mempoolApi;
|
|
19
|
+
}
|
|
20
|
+
get bitcoinRpc() {
|
|
21
|
+
return this.swapper.bitcoinRpc;
|
|
22
|
+
}
|
|
23
|
+
get bitcoinNetwork() {
|
|
24
|
+
return this.swapper.bitcoinNetwork;
|
|
25
|
+
}
|
|
26
|
+
get Utils() {
|
|
27
|
+
return this.swapper.Utils;
|
|
28
|
+
}
|
|
29
|
+
get SwapTypeInfo() {
|
|
30
|
+
return this.swapper.SwapTypeInfo;
|
|
31
|
+
}
|
|
32
|
+
constructor(swapper, chainIdentifier) {
|
|
33
|
+
this.swapper = swapper;
|
|
34
|
+
this.chainIdentifier = chainIdentifier;
|
|
35
|
+
this.prices = new SwapPriceWithChain_1.SwapPriceWithChain(swapper.prices, chainIdentifier);
|
|
36
|
+
}
|
|
37
|
+
createToBTCSwap(signer, tokenAddress, address, amount, exactIn, additionalParams, options) {
|
|
38
|
+
return this.swapper.createToBTCSwap(this.chainIdentifier, signer, tokenAddress, address, amount, exactIn, additionalParams, options);
|
|
39
|
+
}
|
|
40
|
+
createToBTCLNSwap(signer, tokenAddress, paymentRequest, additionalParams, options) {
|
|
41
|
+
return this.swapper.createToBTCLNSwap(this.chainIdentifier, signer, tokenAddress, paymentRequest, additionalParams, options);
|
|
42
|
+
}
|
|
43
|
+
createToBTCLNSwapViaLNURL(signer, tokenAddress, lnurlPay, amount, exactIn, additionalParams, options) {
|
|
44
|
+
return this.swapper.createToBTCLNSwapViaLNURL(this.chainIdentifier, signer, tokenAddress, lnurlPay, amount, exactIn, additionalParams, options);
|
|
45
|
+
}
|
|
46
|
+
createToBTCLNSwapViaInvoiceCreateService(signer, tokenAddress, service, amount, exactIn, additionalParams, options) {
|
|
47
|
+
return this.swapper.createToBTCLNSwapViaInvoiceCreateService(this.chainIdentifier, signer, tokenAddress, service, amount, exactIn, additionalParams, options);
|
|
48
|
+
}
|
|
49
|
+
createFromBTCSwap(signer, tokenAddress, amount, exactOut, additionalParams, options) {
|
|
50
|
+
return this.swapper.createFromBTCSwap(this.chainIdentifier, signer, tokenAddress, amount, exactOut, additionalParams, options);
|
|
51
|
+
}
|
|
52
|
+
createFromBTCLNSwap(signer, tokenAddress, amount, exactOut, additionalParams, options) {
|
|
53
|
+
return this.swapper.createFromBTCLNSwap(this.chainIdentifier, signer, tokenAddress, amount, exactOut, additionalParams, options);
|
|
54
|
+
}
|
|
55
|
+
createFromBTCLNSwapViaLNURL(signer, tokenAddress, lnurl, amount, exactOut, additionalParams) {
|
|
56
|
+
return this.swapper.createFromBTCLNSwapViaLNURL(this.chainIdentifier, signer, tokenAddress, lnurl, amount, exactOut, additionalParams);
|
|
57
|
+
}
|
|
58
|
+
createFromBTCLNSwapNew(signer, tokenAddress, amount, exactOut, additionalParams, options) {
|
|
59
|
+
return this.swapper.createFromBTCLNSwapNew(this.chainIdentifier, signer, tokenAddress, amount, exactOut, additionalParams, options);
|
|
60
|
+
}
|
|
61
|
+
createFromBTCLNSwapNewViaLNURL(signer, tokenAddress, lnurl, amount, exactOut, additionalParams, options) {
|
|
62
|
+
return this.swapper.createFromBTCLNSwapNewViaLNURL(this.chainIdentifier, signer, tokenAddress, lnurl, amount, exactOut, additionalParams, options);
|
|
63
|
+
}
|
|
64
|
+
createTrustedLNForGasSwap(signer, amount, trustedIntermediaryUrl) {
|
|
65
|
+
return this.swapper.createTrustedLNForGasSwap(this.chainIdentifier, signer, amount, trustedIntermediaryUrl);
|
|
66
|
+
}
|
|
67
|
+
createTrustedOnchainForGasSwap(signer, amount, refundAddress, trustedIntermediaryUrl) {
|
|
68
|
+
return this.swapper.createTrustedOnchainForGasSwap(this.chainIdentifier, signer, amount, refundAddress, trustedIntermediaryUrl);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Creates a swap from srcToken to dstToken, of a specific token amount, either specifying input amount (exactIn=true)
|
|
72
|
+
* or output amount (exactIn=false), NOTE: For regular -> BTC-LN (lightning) swaps the passed amount is ignored and
|
|
73
|
+
* invoice's pre-set amount is used instead.
|
|
74
|
+
* @deprecated Use swap() instead
|
|
75
|
+
*
|
|
76
|
+
* @param signer Smartchain (Solana, Starknet, etc.) address of the user
|
|
77
|
+
* @param srcToken Source token of the swap, user pays this token
|
|
78
|
+
* @param dstToken Destination token of the swap, user receives this token
|
|
79
|
+
* @param amount Amount of the swap
|
|
80
|
+
* @param exactIn Whether the amount specified is an input amount (exactIn=true) or an output amount (exactIn=false)
|
|
81
|
+
* @param addressLnurlLightningInvoice Bitcoin on-chain address, lightning invoice, LNURL-pay to pay or
|
|
82
|
+
* LNURL-withdrawal to withdraw money from
|
|
83
|
+
*/
|
|
84
|
+
create(signer, srcToken, dstToken, amount, exactIn, addressLnurlLightningInvoice) {
|
|
85
|
+
return this.swapper.create(signer, srcToken, dstToken, amount, exactIn, addressLnurlLightningInvoice);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Creates a swap from srcToken to dstToken, of a specific token amount, either specifying input amount (exactIn=true)
|
|
89
|
+
* or output amount (exactIn=false), NOTE: For regular SmartChain -> BTC-LN (lightning) swaps the passed amount is ignored and
|
|
90
|
+
* invoice's pre-set amount is used instead, use LNURL-pay for dynamic amounts
|
|
91
|
+
*
|
|
92
|
+
* @param srcToken Source token of the swap, user pays this token
|
|
93
|
+
* @param dstToken Destination token of the swap, user receives this token
|
|
94
|
+
* @param amount Amount of the swap
|
|
95
|
+
* @param exactIn Whether the amount specified is an input amount (exactIn=true) or an output amount (exactIn=false)
|
|
96
|
+
* @param src Source wallet/lnurl-withdraw of the swap
|
|
97
|
+
* @param dst Destination smart chain address, bitcoin on-chain address, lightning invoice, LNURL-pay
|
|
98
|
+
* @param options Options for the swap
|
|
99
|
+
*/
|
|
100
|
+
swap(srcToken, dstToken, amount, exactIn, src, dst, options) {
|
|
101
|
+
if (typeof (srcToken) === "string")
|
|
102
|
+
srcToken = this.getToken(srcToken);
|
|
103
|
+
if (typeof (dstToken) === "string")
|
|
104
|
+
dstToken = this.getToken(dstToken);
|
|
105
|
+
return this.swapper.swap(srcToken, dstToken, amount, exactIn, src, dst, options);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Returns swaps that are in-progress and are claimable for the specific chain, optionally also for a specific signer's address
|
|
109
|
+
*/
|
|
110
|
+
getAllSwaps(signer) {
|
|
111
|
+
return this.swapper.getAllSwaps(this.chainIdentifier, signer);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Returns swaps that are in-progress and are claimable for the specific chain, optionally also for a specific signer's address
|
|
115
|
+
*/
|
|
116
|
+
getActionableSwaps(signer) {
|
|
117
|
+
return this.swapper.getActionableSwaps(this.chainIdentifier, signer);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Returns swaps that are refundable for the specific chain, optionally also for a specific signer's address
|
|
121
|
+
*/
|
|
122
|
+
getRefundableSwaps(signer) {
|
|
123
|
+
return this.swapper.getRefundableSwaps(this.chainIdentifier, signer);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Returns swaps that are due to be claimed/settled manually for the specific chain,
|
|
127
|
+
* optionally also for a specific signer's address
|
|
128
|
+
*/
|
|
129
|
+
getClaimableSwaps(signer) {
|
|
130
|
+
return this.swapper.getClaimableSwaps(this.chainIdentifier, signer);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Returns swap with a specific id (identifier) on a specific chain and optionally with a signer
|
|
134
|
+
*/
|
|
135
|
+
getSwapById(id, signer) {
|
|
136
|
+
return this.swapper.getSwapById(id, this.chainIdentifier, signer);
|
|
137
|
+
}
|
|
138
|
+
getToken(tickerOrAddress) {
|
|
139
|
+
//Btc tokens - BTC, BTCLN, BTC-LN
|
|
140
|
+
if (tickerOrAddress === "BTC")
|
|
141
|
+
return Token_1.BitcoinTokens.BTC;
|
|
142
|
+
if (tickerOrAddress === "BTCLN" || tickerOrAddress === "BTC-LN")
|
|
143
|
+
return Token_1.BitcoinTokens.BTCLN;
|
|
144
|
+
//Check if the ticker is in format <chainId>-<ticker>, i.e. SOLANA-USDC, STARKNET-WBTC
|
|
145
|
+
if (tickerOrAddress.includes("-")) {
|
|
146
|
+
const [chainId, ticker] = tickerOrAddress.split("-");
|
|
147
|
+
if (chainId !== this.chainIdentifier)
|
|
148
|
+
throw new UserError_1.UserError(`Invalid chainId specified in ticker: ${chainId}, swapper chainId: ${this.chainIdentifier}`);
|
|
149
|
+
const token = this.swapper.tokensByTicker[this.chainIdentifier]?.[ticker];
|
|
150
|
+
if (token == null)
|
|
151
|
+
throw new UserError_1.UserError(`Not found ticker: ${ticker} for chainId: ${chainId}`);
|
|
152
|
+
return token;
|
|
153
|
+
}
|
|
154
|
+
const chain = this.swapper.chains[this.chainIdentifier];
|
|
155
|
+
if (chain.chainInterface.isValidToken(tickerOrAddress)) {
|
|
156
|
+
//Try to find in known token addresses
|
|
157
|
+
const token = this.swapper.tokens[this.chainIdentifier]?.[tickerOrAddress];
|
|
158
|
+
if (token != null)
|
|
159
|
+
return token;
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
//Check in known tickers
|
|
163
|
+
const token = this.swapper.tokensByTicker[this.chainIdentifier]?.[tickerOrAddress];
|
|
164
|
+
if (token != null)
|
|
165
|
+
return token;
|
|
166
|
+
}
|
|
167
|
+
throw new UserError_1.UserError(`Specified token address or ticker ${tickerOrAddress} not found for chainId: ${this.chainIdentifier}!`);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Synchronizes swaps from chain, this is usually ran when SDK is initialized, deletes expired quotes
|
|
171
|
+
*/
|
|
172
|
+
async _syncSwaps(signer) {
|
|
173
|
+
return this.swapper._syncSwaps(this.chainIdentifier, signer);
|
|
174
|
+
}
|
|
175
|
+
supportsSwapType(swapType) {
|
|
176
|
+
return this.swapper.supportsSwapType(this.chainIdentifier, swapType);
|
|
177
|
+
}
|
|
178
|
+
getSwapType(srcToken, dstToken) {
|
|
179
|
+
return this.swapper.getSwapType(srcToken, dstToken);
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Returns minimum/maximum limits for inputs and outputs for a swap between given tokens
|
|
183
|
+
*
|
|
184
|
+
* @param srcToken
|
|
185
|
+
* @param dstToken
|
|
186
|
+
*/
|
|
187
|
+
getSwapLimits(srcToken, dstToken) {
|
|
188
|
+
return this.swapper.getSwapLimits(srcToken, dstToken);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Returns a set of supported tokens by all the intermediaries offering a specific swap service
|
|
192
|
+
*
|
|
193
|
+
* @param _swapType Swap service type to check supported tokens for
|
|
194
|
+
*/
|
|
195
|
+
getSupportedTokens(_swapType) {
|
|
196
|
+
const tokens = [];
|
|
197
|
+
this.intermediaryDiscovery.intermediaries.forEach(lp => {
|
|
198
|
+
let swapType = _swapType;
|
|
199
|
+
if (swapType === SwapType_1.SwapType.FROM_BTCLN && this.supportsSwapType(SwapType_1.SwapType.FROM_BTCLN_AUTO))
|
|
200
|
+
swapType = SwapType_1.SwapType.FROM_BTCLN_AUTO;
|
|
201
|
+
if (swapType === SwapType_1.SwapType.FROM_BTC && this.supportsSwapType(SwapType_1.SwapType.SPV_VAULT_FROM_BTC))
|
|
202
|
+
swapType = SwapType_1.SwapType.SPV_VAULT_FROM_BTC;
|
|
203
|
+
const chainTokens = lp.services[swapType]?.chainTokens?.[this.chainIdentifier];
|
|
204
|
+
if (chainTokens == null)
|
|
205
|
+
return;
|
|
206
|
+
for (let tokenAddress of chainTokens) {
|
|
207
|
+
const token = this.swapper.tokens?.[this.chainIdentifier]?.[tokenAddress];
|
|
208
|
+
if (token != null)
|
|
209
|
+
tokens.push(token);
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
return tokens;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Returns the set of supported tokens by all the intermediaries we know of offering a specific swapType service
|
|
216
|
+
*
|
|
217
|
+
* @param swapType Specific swap type for which to obtain supported tokens
|
|
218
|
+
*/
|
|
219
|
+
getSupportedTokenAddresses(swapType) {
|
|
220
|
+
const set = new Set();
|
|
221
|
+
this.intermediaryDiscovery.intermediaries.forEach(lp => {
|
|
222
|
+
const chainTokens = lp.services[swapType]?.chainTokens?.[this.chainIdentifier];
|
|
223
|
+
if (chainTokens == null)
|
|
224
|
+
return;
|
|
225
|
+
chainTokens.forEach(token => set.add(token));
|
|
226
|
+
});
|
|
227
|
+
return set;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Returns tokens that you can swap to (if input=true) from a given token,
|
|
231
|
+
* or tokens that you can swap from (if input=false) to a given token
|
|
232
|
+
*/
|
|
233
|
+
getSwapCounterTokens(token, input) {
|
|
234
|
+
if ((0, Token_1.isSCToken)(token)) {
|
|
235
|
+
const result = [];
|
|
236
|
+
if (input) {
|
|
237
|
+
//TO_BTC or TO_BTCLN
|
|
238
|
+
if (this.getSupportedTokenAddresses(SwapType_1.SwapType.TO_BTCLN).has(token.address)) {
|
|
239
|
+
result.push(Token_1.BitcoinTokens.BTCLN);
|
|
240
|
+
}
|
|
241
|
+
if (this.getSupportedTokenAddresses(SwapType_1.SwapType.TO_BTC).has(token.address)) {
|
|
242
|
+
result.push(Token_1.BitcoinTokens.BTC);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
//FROM_BTC or FROM_BTCLN
|
|
247
|
+
const fromLightningSwapType = this.supportsSwapType(SwapType_1.SwapType.FROM_BTCLN_AUTO) ? SwapType_1.SwapType.FROM_BTCLN_AUTO : SwapType_1.SwapType.FROM_BTCLN;
|
|
248
|
+
if (this.getSupportedTokenAddresses(fromLightningSwapType).has(token.address)) {
|
|
249
|
+
result.push(Token_1.BitcoinTokens.BTCLN);
|
|
250
|
+
}
|
|
251
|
+
const fromOnchainSwapType = this.supportsSwapType(SwapType_1.SwapType.SPV_VAULT_FROM_BTC) ? SwapType_1.SwapType.SPV_VAULT_FROM_BTC : SwapType_1.SwapType.FROM_BTC;
|
|
252
|
+
if (this.getSupportedTokenAddresses(fromOnchainSwapType).has(token.address)) {
|
|
253
|
+
result.push(Token_1.BitcoinTokens.BTC);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return result;
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
if (input) {
|
|
260
|
+
if (token.lightning) {
|
|
261
|
+
return this.getSupportedTokens(SwapType_1.SwapType.FROM_BTCLN);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
return this.getSupportedTokens(SwapType_1.SwapType.FROM_BTC);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
if (token.lightning) {
|
|
269
|
+
return this.getSupportedTokens(SwapType_1.SwapType.TO_BTCLN);
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
return this.getSupportedTokens(SwapType_1.SwapType.TO_BTC);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Creates a child swapper instance with a signer
|
|
279
|
+
*
|
|
280
|
+
* @param signer Signer to use for the new swapper instance
|
|
281
|
+
*/
|
|
282
|
+
withChain(signer) {
|
|
283
|
+
return new SwapperWithSigner_1.SwapperWithSigner(this, signer);
|
|
284
|
+
}
|
|
285
|
+
///////////////////////////////////
|
|
286
|
+
/// Deprecated
|
|
287
|
+
/**
|
|
288
|
+
* Returns swap bounds (minimums & maximums) for different swap types & tokens
|
|
289
|
+
* @deprecated Use getSwapLimits() instead!
|
|
290
|
+
*/
|
|
291
|
+
getSwapBounds() {
|
|
292
|
+
return this.swapper.getSwapBounds(this.chainIdentifier);
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Returns maximum possible swap amount
|
|
296
|
+
* @deprecated Use getSwapLimits() instead!
|
|
297
|
+
*
|
|
298
|
+
* @param type Type of the swap
|
|
299
|
+
* @param token Token of the swap
|
|
300
|
+
*/
|
|
301
|
+
getMaximum(type, token) {
|
|
302
|
+
return this.swapper.getMaximum(this.chainIdentifier, type, token);
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Returns minimum possible swap amount
|
|
306
|
+
* @deprecated Use getSwapLimits() instead!
|
|
307
|
+
*
|
|
308
|
+
* @param type Type of swap
|
|
309
|
+
* @param token Token of the swap
|
|
310
|
+
*/
|
|
311
|
+
getMinimum(type, token) {
|
|
312
|
+
return this.swapper.getMinimum(this.chainIdentifier, type, token);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
exports.SwapperWithChain = SwapperWithChain;
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { IntermediaryDiscovery, SwapBounds } from "../intermediaries/IntermediaryDiscovery";
|
|
2
|
+
import { SwapType } from "../enums/SwapType";
|
|
3
|
+
import { LnForGasSwap } from "../swaps/trusted/ln/LnForGasSwap";
|
|
4
|
+
import { ISwap } from "../swaps/ISwap";
|
|
5
|
+
import { IToBTCSwap } from "../swaps/escrow_swaps/tobtc/IToBTCSwap";
|
|
6
|
+
import { ChainIds, MultiChain, SupportsSwapType } from "./Swapper";
|
|
7
|
+
import { FromBTCLNSwap } from "../swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap";
|
|
8
|
+
import { FromBTCSwap } from "../swaps/escrow_swaps/frombtc/onchain/FromBTCSwap";
|
|
9
|
+
import { ToBTCLNSwap } from "../swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap";
|
|
10
|
+
import { ToBTCSwap } from "../swaps/escrow_swaps/tobtc/onchain/ToBTCSwap";
|
|
11
|
+
import { SwapPriceWithChain } from "../prices/SwapPriceWithChain";
|
|
12
|
+
import { MempoolApi } from "../bitcoin/mempool/MempoolApi";
|
|
13
|
+
import { MempoolBitcoinRpc } from "../bitcoin/mempool/MempoolBitcoinRpc";
|
|
14
|
+
import { BTC_NETWORK } from "@scure/btc-signer/utils";
|
|
15
|
+
import { ToBTCOptions } from "../swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper";
|
|
16
|
+
import { ToBTCLNOptions } from "../swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper";
|
|
17
|
+
import { FromBTCOptions } from "../swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper";
|
|
18
|
+
import { FromBTCLNOptions } from "../swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper";
|
|
19
|
+
import { SwapperUtils } from "./SwapperUtils";
|
|
20
|
+
import { SpvFromBTCSwap } from "../swaps/spv_swaps/SpvFromBTCSwap";
|
|
21
|
+
import { SwapperWithChain } from "./SwapperWithChain";
|
|
22
|
+
import { SwapWithSigner } from "../types/SwapWithSigner";
|
|
23
|
+
import { OnchainForGasSwap } from "../swaps/trusted/onchain/OnchainForGasSwap";
|
|
24
|
+
import { FromBTCLNAutoSwap } from "../swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap";
|
|
25
|
+
import { FromBTCLNAutoOptions } from "../swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper";
|
|
26
|
+
import { TokenAmount } from "../types/TokenAmount";
|
|
27
|
+
import { BtcToken, SCToken, Token } from "../types/Token";
|
|
28
|
+
import { LNURLWithdraw } from "../types/lnurl/LNURLWithdraw";
|
|
29
|
+
import { LNURLPay } from "../types/lnurl/LNURLPay";
|
|
30
|
+
/**
|
|
31
|
+
* Chain and signer-specific wrapper for automatic signer injection into swap methods
|
|
32
|
+
* @category Core
|
|
33
|
+
*/
|
|
34
|
+
export declare class SwapperWithSigner<T extends MultiChain, ChainIdentifier extends ChainIds<T>> {
|
|
35
|
+
readonly chainIdentifier: ChainIdentifier;
|
|
36
|
+
readonly swapper: SwapperWithChain<T, ChainIdentifier>;
|
|
37
|
+
readonly signer: T[ChainIdentifier]["Signer"];
|
|
38
|
+
get prices(): SwapPriceWithChain<T, ChainIdentifier>;
|
|
39
|
+
get intermediaryDiscovery(): IntermediaryDiscovery;
|
|
40
|
+
get mempoolApi(): MempoolApi;
|
|
41
|
+
get bitcoinRpc(): MempoolBitcoinRpc;
|
|
42
|
+
get bitcoinNetwork(): BTC_NETWORK;
|
|
43
|
+
get Utils(): SwapperUtils<T>;
|
|
44
|
+
get SwapTypeInfo(): {
|
|
45
|
+
readonly 2: {
|
|
46
|
+
readonly requiresInputWallet: true;
|
|
47
|
+
readonly requiresOutputWallet: false;
|
|
48
|
+
readonly supportsGasDrop: false;
|
|
49
|
+
};
|
|
50
|
+
readonly 3: {
|
|
51
|
+
readonly requiresInputWallet: true;
|
|
52
|
+
readonly requiresOutputWallet: false;
|
|
53
|
+
readonly supportsGasDrop: false;
|
|
54
|
+
};
|
|
55
|
+
readonly 0: {
|
|
56
|
+
readonly requiresInputWallet: false;
|
|
57
|
+
readonly requiresOutputWallet: true;
|
|
58
|
+
readonly supportsGasDrop: false;
|
|
59
|
+
};
|
|
60
|
+
readonly 1: {
|
|
61
|
+
readonly requiresInputWallet: false;
|
|
62
|
+
readonly requiresOutputWallet: true;
|
|
63
|
+
readonly supportsGasDrop: false;
|
|
64
|
+
};
|
|
65
|
+
readonly 6: {
|
|
66
|
+
readonly requiresInputWallet: true;
|
|
67
|
+
readonly requiresOutputWallet: false;
|
|
68
|
+
readonly supportsGasDrop: true;
|
|
69
|
+
};
|
|
70
|
+
readonly 7: {
|
|
71
|
+
readonly requiresInputWallet: false;
|
|
72
|
+
readonly requiresOutputWallet: false;
|
|
73
|
+
readonly supportsGasDrop: true;
|
|
74
|
+
};
|
|
75
|
+
readonly 4: {
|
|
76
|
+
readonly requiresInputWallet: false;
|
|
77
|
+
readonly requiresOutputWallet: false;
|
|
78
|
+
readonly supportsGasDrop: false;
|
|
79
|
+
};
|
|
80
|
+
readonly 5: {
|
|
81
|
+
readonly requiresInputWallet: false;
|
|
82
|
+
readonly requiresOutputWallet: false;
|
|
83
|
+
readonly supportsGasDrop: false;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
constructor(swapper: SwapperWithChain<T, ChainIdentifier>, signer: T[ChainIdentifier]["Signer"]);
|
|
87
|
+
createToBTCSwap(tokenAddress: string, address: string, amount: bigint, exactIn?: boolean, additionalParams?: Record<string, any>, options?: ToBTCOptions): Promise<SwapWithSigner<ToBTCSwap<T[ChainIdentifier]>>>;
|
|
88
|
+
createToBTCLNSwap(tokenAddress: string, paymentRequest: string, additionalParams?: Record<string, any>, options?: ToBTCLNOptions & {
|
|
89
|
+
comment?: string;
|
|
90
|
+
}): Promise<SwapWithSigner<ToBTCLNSwap<T[ChainIdentifier]>>>;
|
|
91
|
+
createToBTCLNSwapViaLNURL(tokenAddress: string, lnurlPay: string | LNURLPay, amount: bigint, exactIn?: boolean, additionalParams?: Record<string, any>, options?: ToBTCLNOptions): Promise<SwapWithSigner<ToBTCLNSwap<T[ChainIdentifier]>>>;
|
|
92
|
+
createFromBTCSwap(tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>, options?: FromBTCOptions): Promise<SwapWithSigner<FromBTCSwap<T[ChainIdentifier]>>>;
|
|
93
|
+
createFromBTCLNSwap(tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>, options?: FromBTCLNOptions): Promise<SwapWithSigner<FromBTCLNSwap<T[ChainIdentifier]>>>;
|
|
94
|
+
createFromBTCLNSwapViaLNURL(tokenAddress: string, lnurl: string | LNURLWithdraw, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>): Promise<SwapWithSigner<FromBTCLNSwap<T[ChainIdentifier]>>>;
|
|
95
|
+
createFromBTCLNSwapNew(tokenAddress: string, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>, options?: FromBTCLNAutoOptions): Promise<SwapWithSigner<FromBTCLNAutoSwap<T[ChainIdentifier]>>>;
|
|
96
|
+
createFromBTCLNSwapNewViaLNURL(tokenAddress: string, lnurl: string | LNURLWithdraw, amount: bigint, exactOut?: boolean, additionalParams?: Record<string, any>, options?: FromBTCLNAutoOptions): Promise<SwapWithSigner<FromBTCLNAutoSwap<T[ChainIdentifier]>>>;
|
|
97
|
+
createTrustedLNForGasSwap(amount: bigint, trustedIntermediaryUrl?: string): Promise<LnForGasSwap<T[ChainIdentifier]>>;
|
|
98
|
+
createTrustedOnchainForGasSwap(amount: bigint, refundAddress?: string, trustedIntermediaryUrl?: string): Promise<OnchainForGasSwap<T[ChainIdentifier]>>;
|
|
99
|
+
create(srcToken: BtcToken<true>, dstToken: SCToken<ChainIdentifier>, amount: bigint, exactIn: boolean, lnurlWithdraw?: string | LNURLWithdraw): Promise<(SupportsSwapType<T[ChainIdentifier], SwapType.FROM_BTCLN_AUTO> extends true ? FromBTCLNAutoSwap<T[ChainIdentifier]> : FromBTCLNSwap<T[ChainIdentifier]>)>;
|
|
100
|
+
create(srcToken: BtcToken<false>, dstToken: SCToken<ChainIdentifier>, amount: bigint, exactIn: boolean): Promise<(SupportsSwapType<T[ChainIdentifier], SwapType.SPV_VAULT_FROM_BTC> extends true ? SpvFromBTCSwap<T[ChainIdentifier]> : FromBTCSwap<T[ChainIdentifier]>)>;
|
|
101
|
+
create(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<false>, amount: bigint, exactIn: boolean, address: string): Promise<ToBTCSwap<T[ChainIdentifier]>>;
|
|
102
|
+
create(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<true>, amount: bigint, exactIn: boolean, lnurlPay: string | LNURLPay): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
103
|
+
create(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<true>, amount: bigint, exactIn: false, lightningInvoice: string | LNURLWithdraw | LNURLPay): Promise<ToBTCLNSwap<T[ChainIdentifier]>>;
|
|
104
|
+
/**
|
|
105
|
+
* Returns swaps that are in-progress and are claimable for the specific chain, optionally also for a specific signer's address
|
|
106
|
+
*/
|
|
107
|
+
getAllSwaps(): Promise<ISwap<T[ChainIdentifier]>[]>;
|
|
108
|
+
/**
|
|
109
|
+
* Returns swaps that are in-progress and are claimable for the specific chain, optionally also for a specific signer's address
|
|
110
|
+
*/
|
|
111
|
+
getActionableSwaps(): Promise<ISwap<T[ChainIdentifier]>[]>;
|
|
112
|
+
/**
|
|
113
|
+
* Returns swaps that are refundable for the specific chain, optionally also for a specific signer's address
|
|
114
|
+
*/
|
|
115
|
+
getRefundableSwaps(): Promise<IToBTCSwap<T[ChainIdentifier]>[]>;
|
|
116
|
+
/**
|
|
117
|
+
* Returns swap with a specific id (identifier) on a specific chain and optionally with a signer
|
|
118
|
+
*/
|
|
119
|
+
getSwapById(id: string): Promise<ISwap<T[ChainIdentifier]>>;
|
|
120
|
+
/**
|
|
121
|
+
* Synchronizes swaps from chain, this is usually ran when SDK is initialized, deletes expired quotes
|
|
122
|
+
*/
|
|
123
|
+
_syncSwaps(): Promise<void>;
|
|
124
|
+
supportsSwapType<Type extends SwapType>(swapType: Type): SupportsSwapType<T[ChainIdentifier], Type>;
|
|
125
|
+
/**
|
|
126
|
+
* Returns type of the swap based on input and output tokens specified
|
|
127
|
+
*
|
|
128
|
+
* @param srcToken
|
|
129
|
+
* @param dstToken
|
|
130
|
+
*/
|
|
131
|
+
getSwapType(srcToken: BtcToken<true>, dstToken: SCToken<ChainIdentifier>): (SupportsSwapType<T[ChainIdentifier], SwapType.FROM_BTCLN_AUTO> extends true ? SwapType.FROM_BTCLN_AUTO : SwapType.FROM_BTCLN);
|
|
132
|
+
getSwapType(srcToken: BtcToken<false>, dstToken: SCToken<ChainIdentifier>): (SupportsSwapType<T[ChainIdentifier], SwapType.SPV_VAULT_FROM_BTC> extends true ? SwapType.SPV_VAULT_FROM_BTC : SwapType.FROM_BTC);
|
|
133
|
+
getSwapType(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<false>): SwapType.TO_BTC;
|
|
134
|
+
getSwapType(srcToken: SCToken<ChainIdentifier>, dstToken: BtcToken<true>): SwapType.TO_BTCLN;
|
|
135
|
+
getSwapType(srcToken: Token<ChainIdentifier>, dstToken: Token<ChainIdentifier>): SwapType.FROM_BTCLN_AUTO | SwapType.FROM_BTCLN | SwapType.SPV_VAULT_FROM_BTC | SwapType.FROM_BTC | SwapType.TO_BTC | SwapType.TO_BTCLN;
|
|
136
|
+
/**
|
|
137
|
+
* Returns minimum/maximum limits for inputs and outputs for a swap between given tokens
|
|
138
|
+
*
|
|
139
|
+
* @param srcToken
|
|
140
|
+
* @param dstToken
|
|
141
|
+
*/
|
|
142
|
+
getSwapLimits<A extends Token<ChainIdentifier>, B extends Token<ChainIdentifier>>(srcToken: A, dstToken: B): {
|
|
143
|
+
input: {
|
|
144
|
+
min: TokenAmount<string, A>;
|
|
145
|
+
max?: TokenAmount<string, A>;
|
|
146
|
+
};
|
|
147
|
+
output: {
|
|
148
|
+
min: TokenAmount<string, B>;
|
|
149
|
+
max?: TokenAmount<string, B>;
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Returns tokens that you can swap to (if input=true) from a given token,
|
|
154
|
+
* or tokens that you can swap from (if input=false) to a given token
|
|
155
|
+
*/
|
|
156
|
+
getSwapCounterTokens(token: Token, input: boolean): Token<ChainIdentifier>[];
|
|
157
|
+
/**
|
|
158
|
+
* Returns swap bounds (minimums & maximums) for different swap types & tokens
|
|
159
|
+
* @deprecated Use getSwapLimits() instead!
|
|
160
|
+
*/
|
|
161
|
+
getSwapBounds(): SwapBounds;
|
|
162
|
+
/**
|
|
163
|
+
* Returns maximum possible swap amount
|
|
164
|
+
* @deprecated Use getSwapLimits() instead!
|
|
165
|
+
*
|
|
166
|
+
* @param type Type of the swap
|
|
167
|
+
* @param token Token of the swap
|
|
168
|
+
*/
|
|
169
|
+
getMaximum(type: SwapType, token: string): bigint;
|
|
170
|
+
/**
|
|
171
|
+
* Returns minimum possible swap amount
|
|
172
|
+
* @deprecated Use getSwapLimits() instead!
|
|
173
|
+
*
|
|
174
|
+
* @param type Type of swap
|
|
175
|
+
* @param token Token of the swap
|
|
176
|
+
*/
|
|
177
|
+
getMinimum(type: SwapType, token: string): bigint;
|
|
178
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwapperWithSigner = void 0;
|
|
4
|
+
const SwapWithSigner_1 = require("../types/SwapWithSigner");
|
|
5
|
+
/**
|
|
6
|
+
* Chain and signer-specific wrapper for automatic signer injection into swap methods
|
|
7
|
+
* @category Core
|
|
8
|
+
*/
|
|
9
|
+
class SwapperWithSigner {
|
|
10
|
+
get prices() {
|
|
11
|
+
return this.swapper.prices;
|
|
12
|
+
}
|
|
13
|
+
get intermediaryDiscovery() {
|
|
14
|
+
return this.swapper.intermediaryDiscovery;
|
|
15
|
+
}
|
|
16
|
+
get mempoolApi() {
|
|
17
|
+
return this.swapper.mempoolApi;
|
|
18
|
+
}
|
|
19
|
+
get bitcoinRpc() {
|
|
20
|
+
return this.swapper.bitcoinRpc;
|
|
21
|
+
}
|
|
22
|
+
get bitcoinNetwork() {
|
|
23
|
+
return this.swapper.bitcoinNetwork;
|
|
24
|
+
}
|
|
25
|
+
get Utils() {
|
|
26
|
+
return this.swapper.Utils;
|
|
27
|
+
}
|
|
28
|
+
get SwapTypeInfo() {
|
|
29
|
+
return this.swapper.SwapTypeInfo;
|
|
30
|
+
}
|
|
31
|
+
constructor(swapper, signer) {
|
|
32
|
+
this.swapper = swapper;
|
|
33
|
+
this.signer = signer;
|
|
34
|
+
this.chainIdentifier = swapper.chainIdentifier;
|
|
35
|
+
}
|
|
36
|
+
createToBTCSwap(tokenAddress, address, amount, exactIn, additionalParams, options) {
|
|
37
|
+
return this.swapper.createToBTCSwap(this.signer.getAddress(), tokenAddress, address, amount, exactIn, additionalParams, options)
|
|
38
|
+
.then(swap => (0, SwapWithSigner_1.wrapSwapWithSigner)(swap, this.signer));
|
|
39
|
+
}
|
|
40
|
+
createToBTCLNSwap(tokenAddress, paymentRequest, additionalParams, options) {
|
|
41
|
+
return this.swapper.createToBTCLNSwap(this.signer.getAddress(), tokenAddress, paymentRequest, additionalParams, options)
|
|
42
|
+
.then(swap => (0, SwapWithSigner_1.wrapSwapWithSigner)(swap, this.signer));
|
|
43
|
+
}
|
|
44
|
+
createToBTCLNSwapViaLNURL(tokenAddress, lnurlPay, amount, exactIn, additionalParams, options) {
|
|
45
|
+
return this.swapper.createToBTCLNSwapViaLNURL(this.signer.getAddress(), tokenAddress, lnurlPay, amount, exactIn, additionalParams, options)
|
|
46
|
+
.then(swap => (0, SwapWithSigner_1.wrapSwapWithSigner)(swap, this.signer));
|
|
47
|
+
}
|
|
48
|
+
createFromBTCSwap(tokenAddress, amount, exactOut, additionalParams, options) {
|
|
49
|
+
return this.swapper.createFromBTCSwap(this.signer.getAddress(), tokenAddress, amount, exactOut, additionalParams, options)
|
|
50
|
+
.then(swap => (0, SwapWithSigner_1.wrapSwapWithSigner)(swap, this.signer));
|
|
51
|
+
}
|
|
52
|
+
createFromBTCLNSwap(tokenAddress, amount, exactOut, additionalParams, options) {
|
|
53
|
+
return this.swapper.createFromBTCLNSwap(this.signer.getAddress(), tokenAddress, amount, exactOut, additionalParams, options)
|
|
54
|
+
.then(swap => (0, SwapWithSigner_1.wrapSwapWithSigner)(swap, this.signer));
|
|
55
|
+
}
|
|
56
|
+
createFromBTCLNSwapViaLNURL(tokenAddress, lnurl, amount, exactOut, additionalParams) {
|
|
57
|
+
return this.swapper.createFromBTCLNSwapViaLNURL(this.signer.getAddress(), tokenAddress, lnurl, amount, exactOut, additionalParams)
|
|
58
|
+
.then(swap => (0, SwapWithSigner_1.wrapSwapWithSigner)(swap, this.signer));
|
|
59
|
+
}
|
|
60
|
+
createFromBTCLNSwapNew(tokenAddress, amount, exactOut, additionalParams, options) {
|
|
61
|
+
return this.swapper.createFromBTCLNSwapNew(this.signer.getAddress(), tokenAddress, amount, exactOut, additionalParams, options)
|
|
62
|
+
.then(swap => (0, SwapWithSigner_1.wrapSwapWithSigner)(swap, this.signer));
|
|
63
|
+
}
|
|
64
|
+
createFromBTCLNSwapNewViaLNURL(tokenAddress, lnurl, amount, exactOut, additionalParams, options) {
|
|
65
|
+
return this.swapper.createFromBTCLNSwapNewViaLNURL(this.signer.getAddress(), tokenAddress, lnurl, amount, exactOut, additionalParams, options)
|
|
66
|
+
.then(swap => (0, SwapWithSigner_1.wrapSwapWithSigner)(swap, this.signer));
|
|
67
|
+
}
|
|
68
|
+
createTrustedLNForGasSwap(amount, trustedIntermediaryUrl) {
|
|
69
|
+
return this.swapper.createTrustedLNForGasSwap(this.signer.getAddress(), amount, trustedIntermediaryUrl);
|
|
70
|
+
}
|
|
71
|
+
createTrustedOnchainForGasSwap(amount, refundAddress, trustedIntermediaryUrl) {
|
|
72
|
+
return this.swapper.createTrustedOnchainForGasSwap(this.signer.getAddress(), amount, refundAddress, trustedIntermediaryUrl);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Creates a swap from srcToken to dstToken, of a specific token amount, either specifying input amount (exactIn=true)
|
|
76
|
+
* or output amount (exactIn=false), NOTE: For regular -> BTC-LN (lightning) swaps the passed amount is ignored and
|
|
77
|
+
* invoice's pre-set amount is used instead.
|
|
78
|
+
*
|
|
79
|
+
* @param srcToken Source token of the swap, user pays this token
|
|
80
|
+
* @param dstToken Destination token of the swap, user receives this token
|
|
81
|
+
* @param amount Amount of the swap
|
|
82
|
+
* @param exactIn Whether the amount specified is an input amount (exactIn=true) or an output amount (exactIn=false)
|
|
83
|
+
* @param addressLnurlLightningInvoice Bitcoin on-chain address, lightning invoice, LNURL-pay to pay or
|
|
84
|
+
* LNURL-withdrawal to withdraw money from
|
|
85
|
+
*/
|
|
86
|
+
create(srcToken, dstToken, amount, exactIn, addressLnurlLightningInvoice) {
|
|
87
|
+
return this.swapper.create(this.signer.getAddress(), srcToken, dstToken, amount, exactIn, addressLnurlLightningInvoice)
|
|
88
|
+
.then(swap => (0, SwapWithSigner_1.wrapSwapWithSigner)(swap, this.signer));
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Returns swaps that are in-progress and are claimable for the specific chain, optionally also for a specific signer's address
|
|
92
|
+
*/
|
|
93
|
+
getAllSwaps() {
|
|
94
|
+
return this.swapper.getAllSwaps(this.signer.getAddress());
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Returns swaps that are in-progress and are claimable for the specific chain, optionally also for a specific signer's address
|
|
98
|
+
*/
|
|
99
|
+
getActionableSwaps() {
|
|
100
|
+
return this.swapper.getActionableSwaps(this.signer.getAddress());
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Returns swaps that are refundable for the specific chain, optionally also for a specific signer's address
|
|
104
|
+
*/
|
|
105
|
+
getRefundableSwaps() {
|
|
106
|
+
return this.swapper.getRefundableSwaps(this.signer.getAddress());
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Returns swap with a specific id (identifier) on a specific chain and optionally with a signer
|
|
110
|
+
*/
|
|
111
|
+
getSwapById(id) {
|
|
112
|
+
return this.swapper.getSwapById(id, this.signer.getAddress());
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Synchronizes swaps from chain, this is usually ran when SDK is initialized, deletes expired quotes
|
|
116
|
+
*/
|
|
117
|
+
async _syncSwaps() {
|
|
118
|
+
return this.swapper._syncSwaps(this.signer.getAddress());
|
|
119
|
+
}
|
|
120
|
+
supportsSwapType(swapType) {
|
|
121
|
+
return this.swapper.supportsSwapType(swapType);
|
|
122
|
+
}
|
|
123
|
+
getSwapType(srcToken, dstToken) {
|
|
124
|
+
return this.swapper.getSwapType(srcToken, dstToken);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Returns minimum/maximum limits for inputs and outputs for a swap between given tokens
|
|
128
|
+
*
|
|
129
|
+
* @param srcToken
|
|
130
|
+
* @param dstToken
|
|
131
|
+
*/
|
|
132
|
+
getSwapLimits(srcToken, dstToken) {
|
|
133
|
+
return this.swapper.getSwapLimits(srcToken, dstToken);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Returns tokens that you can swap to (if input=true) from a given token,
|
|
137
|
+
* or tokens that you can swap from (if input=false) to a given token
|
|
138
|
+
*/
|
|
139
|
+
getSwapCounterTokens(token, input) {
|
|
140
|
+
return this.swapper.getSwapCounterTokens(token, input);
|
|
141
|
+
}
|
|
142
|
+
///////////////////////////////////
|
|
143
|
+
/// Deprecated
|
|
144
|
+
/**
|
|
145
|
+
* Returns swap bounds (minimums & maximums) for different swap types & tokens
|
|
146
|
+
* @deprecated Use getSwapLimits() instead!
|
|
147
|
+
*/
|
|
148
|
+
getSwapBounds() {
|
|
149
|
+
return this.swapper.getSwapBounds();
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Returns maximum possible swap amount
|
|
153
|
+
* @deprecated Use getSwapLimits() instead!
|
|
154
|
+
*
|
|
155
|
+
* @param type Type of the swap
|
|
156
|
+
* @param token Token of the swap
|
|
157
|
+
*/
|
|
158
|
+
getMaximum(type, token) {
|
|
159
|
+
return this.swapper.getMaximum(type, token);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Returns minimum possible swap amount
|
|
163
|
+
* @deprecated Use getSwapLimits() instead!
|
|
164
|
+
*
|
|
165
|
+
* @param type Type of swap
|
|
166
|
+
* @param token Token of the swap
|
|
167
|
+
*/
|
|
168
|
+
getMinimum(type, token) {
|
|
169
|
+
return this.swapper.getMinimum(type, token);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.SwapperWithSigner = SwapperWithSigner;
|