@atomiqlabs/sdk 8.6.5 → 8.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SmartChainAssets.d.ts +181 -181
- package/dist/SmartChainAssets.js +181 -181
- package/dist/bitcoin/coinselect2/accumulative.d.ts +6 -6
- package/dist/bitcoin/coinselect2/accumulative.js +51 -52
- package/dist/bitcoin/coinselect2/blackjack.d.ts +6 -6
- package/dist/bitcoin/coinselect2/blackjack.js +37 -38
- package/dist/bitcoin/coinselect2/index.d.ts +17 -19
- package/dist/bitcoin/coinselect2/index.js +69 -69
- package/dist/bitcoin/coinselect2/utils.d.ts +75 -77
- package/dist/bitcoin/coinselect2/utils.js +123 -123
- package/dist/bitcoin/wallet/BitcoinWallet.d.ts +128 -130
- package/dist/bitcoin/wallet/BitcoinWallet.js +322 -322
- package/dist/bitcoin/wallet/IBitcoinWallet.d.ts +78 -78
- package/dist/bitcoin/wallet/IBitcoinWallet.js +20 -21
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.d.ts +99 -101
- package/dist/bitcoin/wallet/SingleAddressBitcoinWallet.js +176 -176
- package/dist/enums/FeeType.d.ts +15 -15
- package/dist/enums/FeeType.js +19 -19
- package/dist/enums/SwapAmountType.d.ts +15 -15
- package/dist/enums/SwapAmountType.js +19 -19
- package/dist/enums/SwapDirection.d.ts +15 -15
- package/dist/enums/SwapDirection.js +19 -19
- package/dist/enums/SwapSide.d.ts +15 -15
- package/dist/enums/SwapSide.js +19 -19
- package/dist/enums/SwapType.d.ts +75 -75
- package/dist/enums/SwapType.js +79 -79
- package/dist/errors/IntermediaryError.d.ts +13 -13
- package/dist/errors/IntermediaryError.js +27 -27
- package/dist/errors/RequestError.d.ts +32 -32
- package/dist/errors/RequestError.js +54 -54
- package/dist/errors/UserError.d.ts +8 -8
- package/dist/errors/UserError.js +16 -16
- package/dist/events/UnifiedSwapEventListener.d.ts +23 -23
- package/dist/events/UnifiedSwapEventListener.js +130 -130
- package/dist/http/HttpUtils.d.ts +27 -27
- package/dist/http/HttpUtils.js +90 -91
- package/dist/http/paramcoders/IParamReader.d.ts +8 -8
- package/dist/http/paramcoders/IParamReader.js +2 -2
- package/dist/http/paramcoders/ParamDecoder.d.ts +42 -44
- package/dist/http/paramcoders/ParamDecoder.js +137 -137
- package/dist/http/paramcoders/ParamEncoder.d.ts +18 -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 +11 -13
- package/dist/http/paramcoders/client/StreamParamEncoder.js +26 -26
- package/dist/http/paramcoders/client/StreamingFetchPromise.d.ts +16 -16
- package/dist/http/paramcoders/client/StreamingFetchPromise.js +173 -174
- package/dist/index.d.ts +85 -85
- package/dist/index.js +158 -158
- package/dist/intermediaries/Intermediary.d.ts +157 -157
- package/dist/intermediaries/Intermediary.js +142 -142
- package/dist/intermediaries/IntermediaryDiscovery.d.ts +198 -199
- package/dist/intermediaries/IntermediaryDiscovery.js +406 -406
- package/dist/intermediaries/apis/IntermediaryAPI.d.ts +437 -438
- package/dist/intermediaries/apis/IntermediaryAPI.js +603 -602
- package/dist/intermediaries/apis/TrustedIntermediaryAPI.d.ts +155 -155
- package/dist/intermediaries/apis/TrustedIntermediaryAPI.js +137 -137
- package/dist/lnurl/LNURL.d.ts +102 -102
- package/dist/lnurl/LNURL.js +321 -321
- package/dist/prices/RedundantSwapPrice.d.ts +110 -110
- package/dist/prices/RedundantSwapPrice.js +222 -222
- package/dist/prices/SingleSwapPrice.d.ts +34 -34
- package/dist/prices/SingleSwapPrice.js +44 -44
- package/dist/prices/SwapPriceWithChain.d.ts +107 -107
- package/dist/prices/SwapPriceWithChain.js +128 -128
- package/dist/prices/abstract/ICachedSwapPrice.d.ts +28 -28
- package/dist/prices/abstract/ICachedSwapPrice.js +62 -62
- package/dist/prices/abstract/IPriceProvider.d.ts +81 -81
- package/dist/prices/abstract/IPriceProvider.js +74 -74
- package/dist/prices/abstract/ISwapPrice.d.ts +168 -168
- package/dist/prices/abstract/ISwapPrice.js +279 -279
- package/dist/prices/providers/BinancePriceProvider.d.ts +23 -23
- package/dist/prices/providers/BinancePriceProvider.js +30 -30
- package/dist/prices/providers/CoinGeckoPriceProvider.d.ts +23 -23
- package/dist/prices/providers/CoinGeckoPriceProvider.js +29 -29
- package/dist/prices/providers/CoinPaprikaPriceProvider.d.ts +25 -25
- package/dist/prices/providers/CoinPaprikaPriceProvider.js +29 -29
- package/dist/prices/providers/CustomPriceProvider.d.ts +24 -24
- package/dist/prices/providers/CustomPriceProvider.js +35 -35
- package/dist/prices/providers/KrakenPriceProvider.d.ts +38 -38
- package/dist/prices/providers/KrakenPriceProvider.js +45 -45
- package/dist/prices/providers/OKXPriceProvider.d.ts +34 -34
- package/dist/prices/providers/OKXPriceProvider.js +29 -29
- package/dist/prices/providers/abstract/ExchangePriceProvider.d.ts +17 -17
- package/dist/prices/providers/abstract/ExchangePriceProvider.js +21 -21
- package/dist/prices/providers/abstract/HttpPriceProvider.d.ts +7 -7
- package/dist/prices/providers/abstract/HttpPriceProvider.js +12 -12
- package/dist/storage/IUnifiedStorage.d.ts +85 -85
- package/dist/storage/IUnifiedStorage.js +2 -2
- package/dist/storage/UnifiedSwapStorage.d.ts +114 -114
- package/dist/storage/UnifiedSwapStorage.js +116 -116
- package/dist/storage-browser/IndexedDBUnifiedStorage.d.ts +63 -63
- package/dist/storage-browser/IndexedDBUnifiedStorage.js +298 -298
- package/dist/storage-browser/LocalStorageManager.d.ts +49 -49
- package/dist/storage-browser/LocalStorageManager.js +93 -93
- package/dist/swapper/Swapper.d.ts +686 -687
- package/dist/swapper/Swapper.js +1603 -1603
- package/dist/swapper/SwapperFactory.d.ts +135 -135
- package/dist/swapper/SwapperFactory.js +162 -162
- package/dist/swapper/SwapperUtils.d.ts +200 -200
- package/dist/swapper/SwapperUtils.js +467 -467
- package/dist/swapper/SwapperWithChain.d.ts +404 -404
- package/dist/swapper/SwapperWithChain.js +469 -469
- package/dist/swapper/SwapperWithSigner.d.ts +322 -322
- package/dist/swapper/SwapperWithSigner.js +318 -318
- package/dist/swaps/IAddressSwap.d.ts +22 -22
- package/dist/swaps/IAddressSwap.js +13 -14
- package/dist/swaps/IBTCWalletSwap.d.ts +73 -73
- package/dist/swaps/IBTCWalletSwap.js +17 -18
- package/dist/swaps/IClaimableSwap.d.ts +49 -49
- package/dist/swaps/IClaimableSwap.js +14 -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 +13 -14
- package/dist/swaps/ISwap.d.ts +386 -387
- package/dist/swaps/ISwap.js +346 -346
- package/dist/swaps/ISwapWithGasDrop.d.ts +21 -21
- package/dist/swaps/ISwapWithGasDrop.js +11 -12
- package/dist/swaps/ISwapWrapper.d.ts +283 -285
- package/dist/swaps/ISwapWrapper.js +353 -353
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.d.ts +98 -98
- package/dist/swaps/escrow_swaps/IEscrowSelfInitSwap.js +126 -126
- package/dist/swaps/escrow_swaps/IEscrowSwap.d.ts +133 -135
- package/dist/swaps/escrow_swaps/IEscrowSwap.js +169 -169
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.d.ts +114 -115
- package/dist/swaps/escrow_swaps/IEscrowSwapWrapper.js +134 -134
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.d.ts +98 -101
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCLNWrapper.js +130 -130
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.d.ts +162 -162
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCSelfInitSwap.js +190 -190
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.d.ts +58 -58
- package/dist/swaps/escrow_swaps/frombtc/IFromBTCWrapper.js +78 -78
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.d.ts +529 -531
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNSwap.js +1285 -1285
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.d.ts +181 -184
- package/dist/swaps/escrow_swaps/frombtc/ln/FromBTCLNWrapper.js +418 -418
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.d.ts +581 -583
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoSwap.js +1371 -1371
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.d.ts +225 -228
- package/dist/swaps/escrow_swaps/frombtc/ln_auto/FromBTCLNAutoWrapper.js +506 -506
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.d.ts +458 -458
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCSwap.js +1126 -1126
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.d.ts +190 -191
- package/dist/swaps/escrow_swaps/frombtc/onchain/FromBTCWrapper.js +378 -378
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.d.ts +403 -403
- package/dist/swaps/escrow_swaps/tobtc/IToBTCSwap.js +924 -924
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.d.ts +62 -62
- package/dist/swaps/escrow_swaps/tobtc/IToBTCWrapper.js +112 -112
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.d.ts +125 -127
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNSwap.js +256 -256
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.d.ts +241 -242
- package/dist/swaps/escrow_swaps/tobtc/ln/ToBTCLNWrapper.js +520 -520
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.d.ts +73 -73
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCSwap.js +155 -155
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.d.ts +127 -128
- package/dist/swaps/escrow_swaps/tobtc/onchain/ToBTCWrapper.js +278 -278
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.d.ts +630 -630
- package/dist/swaps/spv_swaps/SpvFromBTCSwap.js +1443 -1443
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.d.ts +213 -207
- package/dist/swaps/spv_swaps/SpvFromBTCWrapper.js +756 -755
- package/dist/swaps/trusted/ln/LnForGasSwap.d.ts +261 -261
- package/dist/swaps/trusted/ln/LnForGasSwap.js +511 -511
- package/dist/swaps/trusted/ln/LnForGasWrapper.d.ts +40 -40
- package/dist/swaps/trusted/ln/LnForGasWrapper.js +82 -82
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.d.ts +342 -342
- package/dist/swaps/trusted/onchain/OnchainForGasSwap.js +715 -715
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.d.ts +68 -69
- package/dist/swaps/trusted/onchain/OnchainForGasWrapper.js +92 -92
- package/dist/types/AmountData.d.ts +10 -10
- package/dist/types/AmountData.js +2 -2
- package/dist/types/CustomPriceFunction.d.ts +11 -11
- package/dist/types/CustomPriceFunction.js +2 -2
- package/dist/types/PriceInfoType.d.ts +28 -28
- package/dist/types/PriceInfoType.js +56 -57
- package/dist/types/SwapExecutionAction.d.ts +88 -88
- package/dist/types/SwapExecutionAction.js +2 -2
- package/dist/types/SwapStateInfo.d.ts +5 -5
- package/dist/types/SwapStateInfo.js +2 -2
- package/dist/types/SwapWithSigner.d.ts +17 -17
- package/dist/types/SwapWithSigner.js +42 -43
- package/dist/types/Token.d.ts +99 -99
- package/dist/types/Token.js +76 -76
- package/dist/types/TokenAmount.d.ts +69 -69
- package/dist/types/TokenAmount.js +59 -60
- 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 +17 -18
- package/dist/types/lnurl/LNURLPay.d.ts +61 -61
- package/dist/types/lnurl/LNURLPay.js +30 -31
- package/dist/types/lnurl/LNURLWithdraw.d.ts +48 -48
- package/dist/types/lnurl/LNURLWithdraw.js +26 -27
- package/dist/types/wallets/LightningInvoiceCreateService.d.ts +24 -24
- package/dist/types/wallets/LightningInvoiceCreateService.js +14 -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 +69 -70
- package/dist/utils/BitcoinUtils.d.ts +12 -14
- package/dist/utils/BitcoinUtils.js +101 -102
- package/dist/utils/BitcoinWalletUtils.d.ts +7 -7
- package/dist/utils/BitcoinWalletUtils.js +13 -14
- package/dist/utils/Logger.d.ts +7 -7
- package/dist/utils/Logger.js +11 -12
- package/dist/utils/RetryUtils.d.ts +22 -22
- package/dist/utils/RetryUtils.js +66 -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 +54 -55
- package/dist/utils/TokenUtils.d.ts +19 -19
- package/dist/utils/TokenUtils.js +36 -37
- package/dist/utils/TypeUtils.d.ts +7 -7
- package/dist/utils/TypeUtils.js +2 -2
- package/dist/utils/Utils.d.ts +56 -58
- package/dist/utils/Utils.js +193 -194
- package/package.json +1 -1
- package/src/intermediaries/apis/IntermediaryAPI.ts +4 -2
- package/src/swaps/spv_swaps/SpvFromBTCWrapper.ts +8 -0
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import { LnForGasSwap, LnForGasSwapState } from "./LnForGasSwap";
|
|
2
|
-
import { ISwapWrapper, SwapTypeDefinition } from "../../ISwapWrapper";
|
|
3
|
-
import { ChainType } from "@atomiqlabs/base";
|
|
4
|
-
import { Intermediary } from "../../../intermediaries/Intermediary";
|
|
5
|
-
import { SwapType } from "../../../enums/SwapType";
|
|
6
|
-
export type LnForGasSwapTypeDefinition<T extends ChainType> = SwapTypeDefinition<T, LnForGasWrapper<T>, LnForGasSwap<T>>;
|
|
7
|
-
/**
|
|
8
|
-
* Trusted swap for Bitcoin Lightning -> Smart chains, to be used for minor amounts to get gas tokens on
|
|
9
|
-
* the destination chain, which is only needed for Solana, which still uses legacy swaps
|
|
10
|
-
*
|
|
11
|
-
* @category Swaps/Trusted Gas Swaps
|
|
12
|
-
*/
|
|
13
|
-
export declare class LnForGasWrapper<T extends ChainType> extends ISwapWrapper<T, LnForGasSwapTypeDefinition<T>> {
|
|
14
|
-
TYPE: SwapType.TRUSTED_FROM_BTCLN;
|
|
15
|
-
/**
|
|
16
|
-
* @internal
|
|
17
|
-
*/
|
|
18
|
-
readonly _swapDeserializer: typeof LnForGasSwap;
|
|
19
|
-
/**
|
|
20
|
-
* @internal
|
|
21
|
-
*/
|
|
22
|
-
readonly _pendingSwapStates: LnForGasSwapState[];
|
|
23
|
-
/**
|
|
24
|
-
* @internal
|
|
25
|
-
*/
|
|
26
|
-
protected readonly tickSwapState: undefined;
|
|
27
|
-
/**
|
|
28
|
-
* @internal
|
|
29
|
-
*/
|
|
30
|
-
protected processEvent: undefined;
|
|
31
|
-
/**
|
|
32
|
-
* Returns a newly created trusted Lightning network -> Smart chain swap, receiving
|
|
33
|
-
* the specified amount of native token on the destination chain.
|
|
34
|
-
*
|
|
35
|
-
* @param recipient Address of the recipient on the smart chain destination chain
|
|
36
|
-
* @param amount Amount of native token to receive in base units
|
|
37
|
-
* @param lpOrUrl Intermediary (LP) to use for the swap
|
|
38
|
-
*/
|
|
39
|
-
create(recipient: string, amount: bigint, lpOrUrl: Intermediary | string): Promise<LnForGasSwap<T>>;
|
|
40
|
-
}
|
|
1
|
+
import { LnForGasSwap, LnForGasSwapState } from "./LnForGasSwap";
|
|
2
|
+
import { ISwapWrapper, SwapTypeDefinition } from "../../ISwapWrapper";
|
|
3
|
+
import { ChainType } from "@atomiqlabs/base";
|
|
4
|
+
import { Intermediary } from "../../../intermediaries/Intermediary";
|
|
5
|
+
import { SwapType } from "../../../enums/SwapType";
|
|
6
|
+
export type LnForGasSwapTypeDefinition<T extends ChainType> = SwapTypeDefinition<T, LnForGasWrapper<T>, LnForGasSwap<T>>;
|
|
7
|
+
/**
|
|
8
|
+
* Trusted swap for Bitcoin Lightning -> Smart chains, to be used for minor amounts to get gas tokens on
|
|
9
|
+
* the destination chain, which is only needed for Solana, which still uses legacy swaps
|
|
10
|
+
*
|
|
11
|
+
* @category Swaps/Trusted Gas Swaps
|
|
12
|
+
*/
|
|
13
|
+
export declare class LnForGasWrapper<T extends ChainType> extends ISwapWrapper<T, LnForGasSwapTypeDefinition<T>> {
|
|
14
|
+
TYPE: SwapType.TRUSTED_FROM_BTCLN;
|
|
15
|
+
/**
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
readonly _swapDeserializer: typeof LnForGasSwap;
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
readonly _pendingSwapStates: LnForGasSwapState[];
|
|
23
|
+
/**
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
protected readonly tickSwapState: undefined;
|
|
27
|
+
/**
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
protected processEvent: undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Returns a newly created trusted Lightning network -> Smart chain swap, receiving
|
|
33
|
+
* the specified amount of native token on the destination chain.
|
|
34
|
+
*
|
|
35
|
+
* @param recipient Address of the recipient on the smart chain destination chain
|
|
36
|
+
* @param amount Amount of native token to receive in base units
|
|
37
|
+
* @param lpOrUrl Intermediary (LP) to use for the swap
|
|
38
|
+
*/
|
|
39
|
+
create(recipient: string, amount: bigint, lpOrUrl: Intermediary | string): Promise<LnForGasSwap<T>>;
|
|
40
|
+
}
|
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LnForGasWrapper = void 0;
|
|
4
|
-
const LnForGasSwap_1 = require("./LnForGasSwap");
|
|
5
|
-
const ISwapWrapper_1 = require("../../ISwapWrapper");
|
|
6
|
-
const TrustedIntermediaryAPI_1 = require("../../../intermediaries/apis/TrustedIntermediaryAPI");
|
|
7
|
-
const bolt11_1 = require("@atomiqlabs/bolt11");
|
|
8
|
-
const IntermediaryError_1 = require("../../../errors/IntermediaryError");
|
|
9
|
-
const SwapType_1 = require("../../../enums/SwapType");
|
|
10
|
-
/**
|
|
11
|
-
* Trusted swap for Bitcoin Lightning -> Smart chains, to be used for minor amounts to get gas tokens on
|
|
12
|
-
* the destination chain, which is only needed for Solana, which still uses legacy swaps
|
|
13
|
-
*
|
|
14
|
-
* @category Swaps/Trusted Gas Swaps
|
|
15
|
-
*/
|
|
16
|
-
class LnForGasWrapper extends ISwapWrapper_1.ISwapWrapper {
|
|
17
|
-
constructor() {
|
|
18
|
-
super(...arguments);
|
|
19
|
-
this.TYPE = SwapType_1.SwapType.TRUSTED_FROM_BTCLN;
|
|
20
|
-
/**
|
|
21
|
-
* @internal
|
|
22
|
-
*/
|
|
23
|
-
this._swapDeserializer = LnForGasSwap_1.LnForGasSwap;
|
|
24
|
-
/**
|
|
25
|
-
* @internal
|
|
26
|
-
*/
|
|
27
|
-
this._pendingSwapStates = [LnForGasSwap_1.LnForGasSwapState.PR_CREATED];
|
|
28
|
-
/**
|
|
29
|
-
* @internal
|
|
30
|
-
*/
|
|
31
|
-
this.tickSwapState = undefined;
|
|
32
|
-
/**
|
|
33
|
-
* @internal
|
|
34
|
-
*/
|
|
35
|
-
this.processEvent = undefined;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Returns a newly created trusted Lightning network -> Smart chain swap, receiving
|
|
39
|
-
* the specified amount of native token on the destination chain.
|
|
40
|
-
*
|
|
41
|
-
* @param recipient Address of the recipient on the smart chain destination chain
|
|
42
|
-
* @param amount Amount of native token to receive in base units
|
|
43
|
-
* @param lpOrUrl Intermediary (LP) to use for the swap
|
|
44
|
-
*/
|
|
45
|
-
async create(recipient, amount, lpOrUrl) {
|
|
46
|
-
if (!this.isInitialized)
|
|
47
|
-
throw new Error("Not initialized, call init() first!");
|
|
48
|
-
const lpUrl = typeof (lpOrUrl) === "string" ? lpOrUrl : lpOrUrl.url;
|
|
49
|
-
const token = this._chain.getNativeCurrencyAddress();
|
|
50
|
-
const resp = await TrustedIntermediaryAPI_1.TrustedIntermediaryAPI.initTrustedFromBTCLN(this.chainIdentifier, lpUrl, {
|
|
51
|
-
address: recipient,
|
|
52
|
-
amount,
|
|
53
|
-
token
|
|
54
|
-
}, this._options.getRequestTimeout);
|
|
55
|
-
const decodedPr = (0, bolt11_1.decode)(resp.pr);
|
|
56
|
-
if (decodedPr.millisatoshis == null)
|
|
57
|
-
throw new Error("Invalid payment request returned, no msat amount value!");
|
|
58
|
-
if (decodedPr.timeExpireDate == null)
|
|
59
|
-
throw new Error("Invalid payment request returned, no time expire date!");
|
|
60
|
-
const amountIn = (BigInt(decodedPr.millisatoshis) + 999n) / 1000n;
|
|
61
|
-
if (resp.total !== amount)
|
|
62
|
-
throw new IntermediaryError_1.IntermediaryError("Invalid total returned");
|
|
63
|
-
const pricingInfo = await this.verifyReturnedPrice(typeof (lpOrUrl) === "string" || lpOrUrl.services[SwapType_1.SwapType.TRUSTED_FROM_BTCLN] == null ?
|
|
64
|
-
{ swapFeePPM: 10000, swapBaseFee: 10 } :
|
|
65
|
-
lpOrUrl.services[SwapType_1.SwapType.TRUSTED_FROM_BTCLN], false, amountIn, amount, token, { swapFeeBtc: resp.swapFeeSats });
|
|
66
|
-
const quoteInit = {
|
|
67
|
-
pr: resp.pr,
|
|
68
|
-
outputAmount: resp.total,
|
|
69
|
-
recipient,
|
|
70
|
-
pricingInfo,
|
|
71
|
-
url: lpUrl,
|
|
72
|
-
expiry: decodedPr.timeExpireDate * 1000,
|
|
73
|
-
swapFee: resp.swapFee,
|
|
74
|
-
swapFeeBtc: resp.swapFeeSats,
|
|
75
|
-
token,
|
|
76
|
-
exactIn: false
|
|
77
|
-
};
|
|
78
|
-
const quote = new LnForGasSwap_1.LnForGasSwap(this, quoteInit);
|
|
79
|
-
return quote;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
exports.LnForGasWrapper = LnForGasWrapper;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LnForGasWrapper = void 0;
|
|
4
|
+
const LnForGasSwap_1 = require("./LnForGasSwap");
|
|
5
|
+
const ISwapWrapper_1 = require("../../ISwapWrapper");
|
|
6
|
+
const TrustedIntermediaryAPI_1 = require("../../../intermediaries/apis/TrustedIntermediaryAPI");
|
|
7
|
+
const bolt11_1 = require("@atomiqlabs/bolt11");
|
|
8
|
+
const IntermediaryError_1 = require("../../../errors/IntermediaryError");
|
|
9
|
+
const SwapType_1 = require("../../../enums/SwapType");
|
|
10
|
+
/**
|
|
11
|
+
* Trusted swap for Bitcoin Lightning -> Smart chains, to be used for minor amounts to get gas tokens on
|
|
12
|
+
* the destination chain, which is only needed for Solana, which still uses legacy swaps
|
|
13
|
+
*
|
|
14
|
+
* @category Swaps/Trusted Gas Swaps
|
|
15
|
+
*/
|
|
16
|
+
class LnForGasWrapper extends ISwapWrapper_1.ISwapWrapper {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.TYPE = SwapType_1.SwapType.TRUSTED_FROM_BTCLN;
|
|
20
|
+
/**
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
this._swapDeserializer = LnForGasSwap_1.LnForGasSwap;
|
|
24
|
+
/**
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
this._pendingSwapStates = [LnForGasSwap_1.LnForGasSwapState.PR_CREATED];
|
|
28
|
+
/**
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
this.tickSwapState = undefined;
|
|
32
|
+
/**
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
this.processEvent = undefined;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Returns a newly created trusted Lightning network -> Smart chain swap, receiving
|
|
39
|
+
* the specified amount of native token on the destination chain.
|
|
40
|
+
*
|
|
41
|
+
* @param recipient Address of the recipient on the smart chain destination chain
|
|
42
|
+
* @param amount Amount of native token to receive in base units
|
|
43
|
+
* @param lpOrUrl Intermediary (LP) to use for the swap
|
|
44
|
+
*/
|
|
45
|
+
async create(recipient, amount, lpOrUrl) {
|
|
46
|
+
if (!this.isInitialized)
|
|
47
|
+
throw new Error("Not initialized, call init() first!");
|
|
48
|
+
const lpUrl = typeof (lpOrUrl) === "string" ? lpOrUrl : lpOrUrl.url;
|
|
49
|
+
const token = this._chain.getNativeCurrencyAddress();
|
|
50
|
+
const resp = await TrustedIntermediaryAPI_1.TrustedIntermediaryAPI.initTrustedFromBTCLN(this.chainIdentifier, lpUrl, {
|
|
51
|
+
address: recipient,
|
|
52
|
+
amount,
|
|
53
|
+
token
|
|
54
|
+
}, this._options.getRequestTimeout);
|
|
55
|
+
const decodedPr = (0, bolt11_1.decode)(resp.pr);
|
|
56
|
+
if (decodedPr.millisatoshis == null)
|
|
57
|
+
throw new Error("Invalid payment request returned, no msat amount value!");
|
|
58
|
+
if (decodedPr.timeExpireDate == null)
|
|
59
|
+
throw new Error("Invalid payment request returned, no time expire date!");
|
|
60
|
+
const amountIn = (BigInt(decodedPr.millisatoshis) + 999n) / 1000n;
|
|
61
|
+
if (resp.total !== amount)
|
|
62
|
+
throw new IntermediaryError_1.IntermediaryError("Invalid total returned");
|
|
63
|
+
const pricingInfo = await this.verifyReturnedPrice(typeof (lpOrUrl) === "string" || lpOrUrl.services[SwapType_1.SwapType.TRUSTED_FROM_BTCLN] == null ?
|
|
64
|
+
{ swapFeePPM: 10000, swapBaseFee: 10 } :
|
|
65
|
+
lpOrUrl.services[SwapType_1.SwapType.TRUSTED_FROM_BTCLN], false, amountIn, amount, token, { swapFeeBtc: resp.swapFeeSats });
|
|
66
|
+
const quoteInit = {
|
|
67
|
+
pr: resp.pr,
|
|
68
|
+
outputAmount: resp.total,
|
|
69
|
+
recipient,
|
|
70
|
+
pricingInfo,
|
|
71
|
+
url: lpUrl,
|
|
72
|
+
expiry: decodedPr.timeExpireDate * 1000,
|
|
73
|
+
swapFee: resp.swapFee,
|
|
74
|
+
swapFeeBtc: resp.swapFeeSats,
|
|
75
|
+
token,
|
|
76
|
+
exactIn: false
|
|
77
|
+
};
|
|
78
|
+
const quote = new LnForGasSwap_1.LnForGasSwap(this, quoteInit);
|
|
79
|
+
return quote;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.LnForGasWrapper = LnForGasWrapper;
|