rubic-sdk 6.0.0-alpha.ton.116 → 6.0.0-alpha.ton.118
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/lib/core/blockchain/web3-public-service/constants/rpc-errors.js +2 -1
- package/lib/core/blockchain/web3-public-service/constants/rpc-errors.js.map +1 -1
- package/lib/features/common/providers/symbiosis/services/symbiosis-api-service.js +0 -4
- package/lib/features/common/providers/symbiosis/services/symbiosis-api-service.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/arbitrum-rbc-bridge-trade.js +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/arbitrum-rbc-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/archon-bridge/archon-bridge-provider.js +3 -2
- package/lib/features/cross-chain/calculation-manager/providers/archon-bridge/archon-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/archon-bridge/archon-bridge-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/archon-bridge/archon-bridge-trade.js +2 -2
- package/lib/features/cross-chain/calculation-manager/providers/archon-bridge/archon-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/bridgers-cross-chain-provider.js +2 -1
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/bridgers-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/evm-bridgers-trade/evm-bridgers-cross-chain-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/evm-bridgers-trade/evm-bridgers-cross-chain-trade.js +3 -3
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/evm-bridgers-trade/evm-bridgers-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/tron-bridgers-trade/tron-bridgers-cross-chain-trade.js +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/tron-bridgers-trade/tron-bridgers-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/cbridge/cbridge-cross-chain-provider.js +3 -2
- package/lib/features/cross-chain/calculation-manager/providers/cbridge/cbridge-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/cbridge/cbridge-cross-chain-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/cbridge/cbridge-cross-chain-trade.js +3 -3
- package/lib/features/cross-chain/calculation-manager/providers/cbridge/cbridge-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-provider.js +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.js +3 -3
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/common/cross-chain-trade.d.ts +4 -3
- package/lib/features/cross-chain/calculation-manager/providers/common/cross-chain-trade.js +5 -8
- package/lib/features/cross-chain/calculation-manager/providers/common/cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.js +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/chains/debridge-evm-cross-chain-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/chains/debridge-evm-cross-chain-trade.js +8 -6
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/chains/debridge-evm-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/chains/debridge-solana-cross-chain-trade.js +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/chains/debridge-solana-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-factory.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-factory.js +2 -2
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-factory.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-provider.js +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-provider.js +2 -1
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.js +3 -2
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/models/eddy-trade-types.d.ts +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-provider.js +2 -1
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-trade.js +3 -3
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-provider.js +3 -2
- package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-trade.js +6 -4
- package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/meson-provider/meson-cross-chain-provider.js +5 -4
- package/lib/features/cross-chain/calculation-manager/providers/meson-provider/meson-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/meson-provider/meson-cross-chain-trade.js +11 -7
- package/lib/features/cross-chain/calculation-manager/providers/meson-provider/meson-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/meson-provider/models/meson-trade-types.d.ts +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/models/orbiter-bridge-trade-types.d.ts +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-provider.d.ts +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-provider.js +4 -18
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-trade.d.ts +7 -0
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-trade.js +31 -5
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/models/owl-to-trade-types.d.ts +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/owl-to-bridge-provider.js +4 -3
- package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/owl-to-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/owl-to-bridge-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/owl-to-bridge-trade.js +4 -3
- package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/owl-to-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.js +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.js +3 -3
- package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-parser-types.d.ts +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.js +6 -3
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.js +4 -1
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-provider.js +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-trade.d.ts +9 -1
- package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-trade.js +14 -4
- package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/scroll-bridge/scroll-bridge-provider.js +2 -1
- package/lib/features/cross-chain/calculation-manager/providers/scroll-bridge/scroll-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/scroll-bridge/scroll-bridge-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/scroll-bridge/scroll-bridge-trade.js +3 -3
- package/lib/features/cross-chain/calculation-manager/providers/scroll-bridge/scroll-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-provider.js +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-trade.js +6 -4
- package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-provider.js +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.js +3 -3
- package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.js +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.js +6 -4
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-ccr-evm-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-ccr-evm-trade.js +3 -3
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-ccr-evm-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js +2 -2
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/taiko-bridge/taiko-bridge-provider.js +2 -1
- package/lib/features/cross-chain/calculation-manager/providers/taiko-bridge/taiko-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/taiko-bridge/taiko-bridge-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/taiko-bridge/taiko-bridge-trade.js +3 -3
- package/lib/features/cross-chain/calculation-manager/providers/taiko-bridge/taiko-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-provider.js +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-trade.js +3 -3
- package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-trade.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-trade.js +2 -2
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-trade.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/open-ocean/models/open-ocean-token-list-response.d.ts +2 -2
- package/lib/features/on-chain/calculation-manager/providers/aggregators/open-ocean/models/open-ocean-trade-struct.d.ts +0 -2
- package/lib/features/on-chain/calculation-manager/providers/aggregators/open-ocean/open-ocean-provider.d.ts +0 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/open-ocean/open-ocean-provider.js +3 -41
- package/lib/features/on-chain/calculation-manager/providers/aggregators/open-ocean/open-ocean-provider.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/open-ocean/open-ocean-trade.d.ts +0 -5
- package/lib/features/on-chain/calculation-manager/providers/aggregators/open-ocean/open-ocean-trade.js +2 -48
- package/lib/features/on-chain/calculation-manager/providers/aggregators/open-ocean/open-ocean-trade.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/open-ocean/services/open-ocean-api-service.d.ts +16 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/open-ocean/services/open-ocean-api-service.js +75 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/open-ocean/services/open-ocean-api-service.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/stonfi/constants/{ton-addresses.js → addresses.js} +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/stonfi/constants/addresses.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/stonfi/services/stonfi-api-service.js +4 -4
- package/lib/features/on-chain/calculation-manager/providers/aggregators/stonfi/services/stonfi-api-service.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/stonfi/services/stonfi-swap-service.js +4 -4
- package/lib/features/on-chain/calculation-manager/providers/aggregators/stonfi/services/stonfi-swap-service.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/stonfi/stonfi-on-chain-trade.js +3 -5
- package/lib/features/on-chain/calculation-manager/providers/aggregators/stonfi/stonfi-on-chain-trade.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade.d.ts +1 -0
- package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade.js +12 -1
- package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/stonfi/constants/ton-addresses.js.map +0 -1
- /package/lib/features/on-chain/calculation-manager/providers/aggregators/stonfi/constants/{ton-addresses.d.ts → addresses.d.ts} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"xy-cross-chain-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-trade.ts"],"names":[],"mappings":";;;;;;;;;AAGA,4DAAoD;AAEpD,6GAAwG;AAExG,uEAAmE;AACnE,yDAAsD;AAEtD,4FAA2F;AAG3F,8EAAsF;AACtF,uHAAoH;AACpH,uJAAiJ;AACjJ,yKAAkK;AAClK,+KAAwK;AACxK,qJAA+I;AAE/I,kHAG0F;AAK1F,wKAAiK;AACjK,0IAAqI;AAErI,0HAAmH;AAGnH;;GAEG;AACH,MAAa,iBAAkB,SAAQ,0CAAkB;IACrD,gBAAgB;IACT,MAAM,CAAC,KAAK,CAAC,UAAU,CAC1B,IAAyC,EACzC,OAA4C,EAC5C,kBAAoC,EACpC,OAAgB,EAChB,eAAuB;QAEvB,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAC/B;gBACI,IAAI;gBACJ,EAAE,EAAE,OAAO;gBACX,kBAAkB;gBAClB,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC;gBACX,OAAO;gBACP,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,yBAAW,CAAC,EAAE;aAC7B,EACD,eAAe,IAAI,2BAAW,CAAC,aAAa,EAC5C,EAAE,
|
1
|
+
{"version":3,"file":"xy-cross-chain-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-trade.ts"],"names":[],"mappings":"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"}
|
@@ -12,7 +12,6 @@ class DedustOnChainTrade extends ton_on_chain_trade_1.TonOnChainTrade {
|
|
12
12
|
this.dedustSwapService = new dedust_swap_service_1.DedustSwapService();
|
13
13
|
}
|
14
14
|
async swap(options = {}) {
|
15
|
-
await this.checkWalletState(options?.testMode);
|
16
15
|
let txHash;
|
17
16
|
const onTransactionHash = (hash) => {
|
18
17
|
if (options.onConfirm) {
|
@@ -20,9 +19,10 @@ class DedustOnChainTrade extends ton_on_chain_trade_1.TonOnChainTrade {
|
|
20
19
|
}
|
21
20
|
txHash = hash;
|
22
21
|
};
|
22
|
+
await this.checkWalletState(options?.testMode);
|
23
23
|
await this.makePreSwapChecks({
|
24
24
|
fromAddress: this.walletAddress,
|
25
|
-
receiverAddress:
|
25
|
+
receiverAddress: options.receiverAddress,
|
26
26
|
skipAmountCheck: this.skipAmountCheck,
|
27
27
|
...(options?.referrer && { referrer: options?.referrer })
|
28
28
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dedust-on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-trade.ts"],"names":[],"mappings":";;;AAAA,oDAAqD;AAIrD,iFAAgG;AAChG,0GAAoG;AAEpG,wEAAmE;AAEnE,MAAa,kBAAmB,SAAQ,oCAA0B;IAK9D,YAAY,WAAqC,EAAE,eAAuB;QACtE,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QALxB,SAAI,GAAqB,yCAAmB,CAAC,MAAM,CAAC;QAEnD,sBAAiB,GAAG,IAAI,uCAAiB,EAAE,CAAC;IAI7D,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,UAAkC,EAAE;QAClD,
|
1
|
+
{"version":3,"file":"dedust-on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-trade.ts"],"names":[],"mappings":";;;AAAA,oDAAqD;AAIrD,iFAAgG;AAChG,0GAAoG;AAEpG,wEAAmE;AAEnE,MAAa,kBAAmB,SAAQ,oCAA0B;IAK9D,YAAY,WAAqC,EAAE,eAAuB;QACtE,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QALxB,SAAI,GAAqB,yCAAmB,CAAC,MAAM,CAAC;QAEnD,sBAAiB,GAAG,IAAI,uCAAiB,EAAE,CAAC;IAI7D,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,UAAkC,EAAE;QAClD,IAAI,MAAc,CAAC;QACnB,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;YACvC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,MAAM,GAAG,IAAI,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,iBAAiB,CAAC;YACzB,WAAW,EAAE,IAAI,CAAC,aAAa;YAC/B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;SAC5D,CAAC,CAAC;QAEH,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACxC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,iBAAiB,EACtB,iBAAiB,CACpB,CAAC;YACF,OAAO,MAAO,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAA,mBAAU,EAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;IAES,qBAAqB,CAAC,QAAkC;QAC9D,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;CACJ;AA3CD,gDA2CC"}
|
@@ -1,5 +1,3 @@
|
|
1
|
-
import BigNumber from 'bignumber.js';
|
2
1
|
import { EvmOnChainTradeStruct } from '../../../common/on-chain-trade/evm-on-chain-trade/models/evm-on-chain-trade-struct';
|
3
2
|
export interface OpenOceanTradeStruct extends EvmOnChainTradeStruct {
|
4
|
-
toTokenWeiAmountMin: BigNumber;
|
5
3
|
}
|
@@ -11,7 +11,6 @@ export declare class OpenOceanProvider extends AggregatorOnChainProvider {
|
|
11
11
|
static readonly nativeAddress = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
12
12
|
isSupportedBlockchain(blockchain: BlockchainName): boolean;
|
13
13
|
calculate(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>, options: RequiredOnChainCalculationOptions): Promise<OnChainTrade | OnChainTradeError>;
|
14
|
-
private getTokenAddress;
|
15
14
|
protected getGasFeeInfo(tradeStruct: OpenOceanTradeStruct): Promise<GasFeeInfo | null>;
|
16
15
|
private checkIsSupportedTokens;
|
17
16
|
}
|
@@ -7,20 +7,14 @@ exports.OpenOceanProvider = void 0;
|
|
7
7
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
8
8
|
const errors_1 = require("../../../../../../common/errors");
|
9
9
|
const tokens_1 = require("../../../../../../common/tokens");
|
10
|
-
const native_tokens_1 = require("../../../../../../common/tokens/constants/native-tokens");
|
11
10
|
const p_timeout_1 = __importDefault(require("../../../../../../common/utils/p-timeout"));
|
12
|
-
const blockchain_name_1 = require("../../../../../../core/blockchain/models/blockchain-name");
|
13
|
-
const web3_pure_1 = require("../../../../../../core/blockchain/web3-pure/web3-pure");
|
14
|
-
const injector_1 = require("../../../../../../core/injector/injector");
|
15
|
-
const get_open_ocean_api_url_1 = require("./constants/get-open-ocean-api-url");
|
16
|
-
const open_ocean_blockchain_1 = require("./constants/open-ocean-blockchain");
|
17
11
|
const open_ocean_on_chain_supported_blockchain_1 = require("./constants/open-ocean-on-chain-supported-blockchain");
|
18
12
|
const open_ocean_trade_1 = require("./open-ocean-trade");
|
19
13
|
const on_chain_trade_type_1 = require("../../common/models/on-chain-trade-type");
|
20
14
|
const get_gas_fee_info_1 = require("../../common/utils/get-gas-fee-info");
|
21
15
|
const get_gas_price_info_1 = require("../../common/utils/get-gas-price-info");
|
22
16
|
const aggregator_on_chain_provider_abstract_1 = require("../../common/on-chain-aggregator/aggregator-on-chain-provider-abstract");
|
23
|
-
const
|
17
|
+
const open_ocean_api_service_1 = require("./services/open-ocean-api-service");
|
24
18
|
class OpenOceanProvider extends aggregator_on_chain_provider_abstract_1.AggregatorOnChainProvider {
|
25
19
|
constructor() {
|
26
20
|
super(...arguments);
|
@@ -33,27 +27,7 @@ class OpenOceanProvider extends aggregator_on_chain_provider_abstract_1.Aggregat
|
|
33
27
|
try {
|
34
28
|
await this.checkIsSupportedTokens(from, toToken);
|
35
29
|
const { fromWithoutFee, proxyFeeInfo } = await this.handleProxyContract(from, options);
|
36
|
-
const
|
37
|
-
const gasPrice = await injector_1.Injector.web3PublicService
|
38
|
-
.getWeb3Public(blockchain)
|
39
|
-
.getGasPrice();
|
40
|
-
const isArbitrum = blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM;
|
41
|
-
const apiUrl = get_open_ocean_api_url_1.openOceanApiUrl.quote(open_ocean_blockchain_1.openOceanBlockchainName[blockchain]);
|
42
|
-
const quoteResponse = await (0, p_timeout_1.default)(injector_1.Injector.httpClient.get(apiUrl, {
|
43
|
-
headers: { apikey: 'sndfje3u4b3fnNSDNFUSDNVSunw345842hrnfd3b4nt4' },
|
44
|
-
params: {
|
45
|
-
chain: open_ocean_blockchain_1.openOceanBlockchainName[blockchain],
|
46
|
-
inTokenAddress: this.getTokenAddress(fromWithoutFee),
|
47
|
-
outTokenAddress: this.getTokenAddress(toToken),
|
48
|
-
amount: fromWithoutFee.tokenAmount.toString(),
|
49
|
-
slippage: options.slippageTolerance * 100,
|
50
|
-
gasPrice: isArbitrum
|
51
|
-
? arbitrum_gas_price_1.ARBITRUM_GAS_PRICE
|
52
|
-
: web3_pure_1.Web3Pure.fromWei(gasPrice, native_tokens_1.nativeTokensList[from.blockchain].decimals)
|
53
|
-
.multipliedBy(10 ** 9)
|
54
|
-
.toString()
|
55
|
-
}
|
56
|
-
}), 7000);
|
30
|
+
const quoteResponse = await (0, p_timeout_1.default)(open_ocean_api_service_1.OpenOceanApiService.fetchQuoteData(fromWithoutFee, toToken, options.slippageTolerance), 7000);
|
57
31
|
if ([500, 400].includes(quoteResponse.code)) {
|
58
32
|
return {
|
59
33
|
type: on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.OPEN_OCEAN,
|
@@ -64,7 +38,6 @@ class OpenOceanProvider extends aggregator_on_chain_provider_abstract_1.Aggregat
|
|
64
38
|
...toToken.asStruct,
|
65
39
|
weiAmount: new bignumber_js_1.default(quoteResponse.data.outAmount)
|
66
40
|
});
|
67
|
-
const toTokenWeiAmountMin = new bignumber_js_1.default(quoteResponse.data.outAmount).multipliedBy(1 - options.slippageTolerance);
|
68
41
|
const openOceanTradeStruct = {
|
69
42
|
from,
|
70
43
|
to,
|
@@ -73,7 +46,6 @@ class OpenOceanProvider extends aggregator_on_chain_provider_abstract_1.Aggregat
|
|
73
46
|
},
|
74
47
|
slippageTolerance: options.slippageTolerance,
|
75
48
|
path: [from, to],
|
76
|
-
toTokenWeiAmountMin,
|
77
49
|
useProxy: options.useProxy,
|
78
50
|
proxyFeeInfo,
|
79
51
|
fromWithoutFee,
|
@@ -94,15 +66,6 @@ class OpenOceanProvider extends aggregator_on_chain_provider_abstract_1.Aggregat
|
|
94
66
|
};
|
95
67
|
}
|
96
68
|
}
|
97
|
-
getTokenAddress(token) {
|
98
|
-
if (token.isNative) {
|
99
|
-
if (token.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.METIS) {
|
100
|
-
return '0xdeaddeaddeaddeaddeaddeaddeaddeaddead0000';
|
101
|
-
}
|
102
|
-
return OpenOceanProvider.nativeAddress;
|
103
|
-
}
|
104
|
-
return token.address;
|
105
|
-
}
|
106
69
|
async getGasFeeInfo(tradeStruct) {
|
107
70
|
try {
|
108
71
|
const gasPriceInfo = await (0, get_gas_price_info_1.getGasPriceInfo)(tradeStruct.from.blockchain);
|
@@ -115,8 +78,7 @@ class OpenOceanProvider extends aggregator_on_chain_provider_abstract_1.Aggregat
|
|
115
78
|
}
|
116
79
|
}
|
117
80
|
async checkIsSupportedTokens(from, to) {
|
118
|
-
const
|
119
|
-
const tokenListResponse = await injector_1.Injector.httpClient.get(apiUrl, { headers: { apikey: 'sndfje3u4b3fnNSDNFUSDNVSunw345842hrnfd3b4nt4' } });
|
81
|
+
const tokenListResponse = await open_ocean_api_service_1.OpenOceanApiService.fetchTokensList(from.blockchain);
|
120
82
|
const tokens = tokenListResponse?.data?.map(token => token.address.toLocaleLowerCase());
|
121
83
|
const isSupportedTokens = Boolean(tokens.length) &&
|
122
84
|
(from.isNative || tokens.includes(from.address.toLocaleLowerCase())) &&
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"open-ocean-provider.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/open-ocean/open-ocean-provider.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,8CAAkD;AAClD,8CAAiE;AACjE,
|
1
|
+
{"version":3,"file":"open-ocean-provider.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/open-ocean/open-ocean-provider.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
2
|
-
import { PriceTokenAmount } from '../../../../../../common/tokens/price-token-amount';
|
3
2
|
import { EncodeTransactionOptions } from '../../../../../common/models/encode-transaction-options';
|
4
3
|
import { GetContractParamsOptions } from '../../../../../cross-chain/calculation-manager/providers/common/models/get-contract-params-options';
|
5
4
|
import { OpenOceanTradeStruct } from './models/open-ocean-trade-struct';
|
@@ -9,13 +8,9 @@ export declare class OpenOceanTrade extends AggregatorEvmOnChainTrade {
|
|
9
8
|
/** @internal */
|
10
9
|
static getGasLimit(openOceanTradeStruct: OpenOceanTradeStruct): Promise<BigNumber | null>;
|
11
10
|
readonly type: "OPEN_OCEAN";
|
12
|
-
private readonly _toTokenAmountMin;
|
13
|
-
static readonly nativeAddress = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
14
11
|
protected get spenderAddress(): string;
|
15
12
|
get dexContractAddress(): string;
|
16
|
-
get toTokenAmountMin(): PriceTokenAmount;
|
17
13
|
constructor(tradeStruct: OpenOceanTradeStruct, providerAddress: string);
|
18
14
|
protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
|
19
|
-
private getTokenAddress;
|
20
15
|
protected getSwapData(options: GetContractParamsOptions): Promise<unknown[]>;
|
21
16
|
}
|
@@ -2,21 +2,14 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.OpenOceanTrade = void 0;
|
4
4
|
const errors_1 = require("../../../../../../common/errors");
|
5
|
-
const native_tokens_1 = require("../../../../../../common/tokens/constants/native-tokens");
|
6
|
-
const price_token_amount_1 = require("../../../../../../common/tokens/price-token-amount");
|
7
5
|
const blockchain_name_1 = require("../../../../../../core/blockchain/models/blockchain-name");
|
8
|
-
const chain_type_1 = require("../../../../../../core/blockchain/models/chain-type");
|
9
6
|
const evm_web3_pure_1 = require("../../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/evm-web3-pure");
|
10
|
-
const web3_pure_1 = require("../../../../../../core/blockchain/web3-pure/web3-pure");
|
11
|
-
const injector_1 = require("../../../../../../core/injector/injector");
|
12
7
|
const rubic_proxy_contract_address_1 = require("../../../../../cross-chain/calculation-manager/providers/common/constants/rubic-proxy-contract-address");
|
13
8
|
const proxy_cross_chain_evm_trade_1 = require("../../../../../cross-chain/calculation-manager/providers/common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade");
|
14
|
-
const get_open_ocean_api_url_1 = require("./constants/get-open-ocean-api-url");
|
15
|
-
const open_ocean_blockchain_1 = require("./constants/open-ocean-blockchain");
|
16
9
|
const on_chain_trade_type_1 = require("../../common/models/on-chain-trade-type");
|
17
10
|
const get_on_chain_gas_data_1 = require("../../../utils/get-on-chain-gas-data");
|
18
11
|
const aggregator_evm_on_chain_trade_abstract_1 = require("../../common/on-chain-aggregator/aggregator-evm-on-chain-trade-abstract");
|
19
|
-
const
|
12
|
+
const open_ocean_api_service_1 = require("./services/open-ocean-api-service");
|
20
13
|
class OpenOceanTrade extends aggregator_evm_on_chain_trade_abstract_1.AggregatorEvmOnChainTrade {
|
21
14
|
/** @internal */
|
22
15
|
static async getGasLimit(openOceanTradeStruct) {
|
@@ -34,41 +27,12 @@ class OpenOceanTrade extends aggregator_evm_on_chain_trade_abstract_1.Aggregator
|
|
34
27
|
get dexContractAddress() {
|
35
28
|
throw new errors_1.RubicSdkError('Dex address is unknown before swap is started');
|
36
29
|
}
|
37
|
-
get toTokenAmountMin() {
|
38
|
-
return this._toTokenAmountMin;
|
39
|
-
}
|
40
30
|
constructor(tradeStruct, providerAddress) {
|
41
31
|
super(tradeStruct, providerAddress);
|
42
32
|
this.type = on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.OPEN_OCEAN;
|
43
|
-
this._toTokenAmountMin = new price_token_amount_1.PriceTokenAmount({
|
44
|
-
...this.to.asStruct,
|
45
|
-
weiAmount: tradeStruct.toTokenWeiAmountMin
|
46
|
-
});
|
47
33
|
}
|
48
34
|
async getTransactionConfigAndAmount(options) {
|
49
|
-
const
|
50
|
-
.getWeb3Public(this.from.blockchain)
|
51
|
-
.getGasPrice();
|
52
|
-
const walletAddress = injector_1.Injector.web3PrivateService.getWeb3Private(chain_type_1.CHAIN_TYPE.EVM).address;
|
53
|
-
const apiUrl = get_open_ocean_api_url_1.openOceanApiUrl.swapQuote(open_ocean_blockchain_1.openOceanBlockchainName[this.from.blockchain]);
|
54
|
-
const isArbitrum = this.from.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM;
|
55
|
-
const swapQuoteResponse = await injector_1.Injector.httpClient.get(apiUrl, {
|
56
|
-
headers: { apikey: 'sndfje3u4b3fnNSDNFUSDNVSunw345842hrnfd3b4nt4' },
|
57
|
-
params: {
|
58
|
-
chain: open_ocean_blockchain_1.openOceanBlockchainName[this.from.blockchain],
|
59
|
-
inTokenAddress: this.getTokenAddress(this.from),
|
60
|
-
outTokenAddress: this.getTokenAddress(this.to),
|
61
|
-
amount: this.fromWithoutFee.tokenAmount.toString(),
|
62
|
-
gasPrice: isArbitrum
|
63
|
-
? arbitrum_gas_price_1.ARBITRUM_GAS_PRICE
|
64
|
-
: web3_pure_1.Web3Pure.fromWei(gasPrice, native_tokens_1.nativeTokensList[this.from.blockchain].decimals)
|
65
|
-
.multipliedBy(10 ** 9)
|
66
|
-
.toString(),
|
67
|
-
slippage: this.slippageTolerance * 100,
|
68
|
-
account: options.receiverAddress || walletAddress,
|
69
|
-
referrer: '0x429A3A1a2623DFb520f1D93F64F38c0738418F1f'
|
70
|
-
}
|
71
|
-
});
|
35
|
+
const swapQuoteResponse = await open_ocean_api_service_1.OpenOceanApiService.fetchSwapData(this.fromWithoutFee, this.to, options.receiverAddress || options.fromAddress, this.slippageTolerance);
|
72
36
|
const { data, to, value, outAmount: toAmount } = swapQuoteResponse.data;
|
73
37
|
return {
|
74
38
|
tx: {
|
@@ -79,15 +43,6 @@ class OpenOceanTrade extends aggregator_evm_on_chain_trade_abstract_1.Aggregator
|
|
79
43
|
toAmount
|
80
44
|
};
|
81
45
|
}
|
82
|
-
getTokenAddress(token) {
|
83
|
-
if (token.isNative) {
|
84
|
-
if (token.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.METIS) {
|
85
|
-
return '0xdeaddeaddeaddeaddeaddeaddeaddeaddead0000';
|
86
|
-
}
|
87
|
-
return OpenOceanTrade.nativeAddress;
|
88
|
-
}
|
89
|
-
return token.address;
|
90
|
-
}
|
91
46
|
async getSwapData(options) {
|
92
47
|
const directTransactionConfig = await this.encodeDirect({
|
93
48
|
...options,
|
@@ -118,5 +73,4 @@ class OpenOceanTrade extends aggregator_evm_on_chain_trade_abstract_1.Aggregator
|
|
118
73
|
}
|
119
74
|
}
|
120
75
|
exports.OpenOceanTrade = OpenOceanTrade;
|
121
|
-
OpenOceanTrade.nativeAddress = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
|
122
76
|
//# sourceMappingURL=open-ocean-trade.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"open-ocean-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/open-ocean/open-ocean-trade.ts"],"names":[],"mappings":";;;AACA,8CAA+E;AAE/E,
|
1
|
+
{"version":3,"file":"open-ocean-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/open-ocean/open-ocean-trade.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { PriceToken, PriceTokenAmount } from '../../../../../../../common/tokens';
|
2
|
+
import { EvmBlockchainName } from '../../../../../../../core/blockchain/models/blockchain-name';
|
3
|
+
import { OpenoceanOnChainSupportedBlockchain } from '../constants/open-ocean-on-chain-supported-blockchain';
|
4
|
+
import { OpenoceanSwapQuoteResponse } from '../models/open-cean-swap-quote-response';
|
5
|
+
import { OpenOceanQuoteResponse } from '../models/open-ocean-quote-response';
|
6
|
+
import { OpenOceanTokenListResponse } from '../models/open-ocean-token-list-response';
|
7
|
+
export declare class OpenOceanApiService {
|
8
|
+
private static apiV4Url;
|
9
|
+
private static xApiUrl;
|
10
|
+
static readonly nativeOpenOceanAddress = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
11
|
+
static fetchQuoteData(fromWithoutFee: PriceTokenAmount<OpenoceanOnChainSupportedBlockchain>, toToken: PriceToken<EvmBlockchainName>, slippageTolerance: number): Promise<OpenOceanQuoteResponse>;
|
12
|
+
static fetchSwapData(fromWithoutFee: PriceTokenAmount<OpenoceanOnChainSupportedBlockchain>, to: PriceTokenAmount, walletAddress: string, slippageTolerance: number): Promise<OpenoceanSwapQuoteResponse>;
|
13
|
+
static fetchTokensList(blockchain: OpenoceanOnChainSupportedBlockchain): Promise<OpenOceanTokenListResponse>;
|
14
|
+
private static getGasPriceNonWei;
|
15
|
+
private static getTokenAddress;
|
16
|
+
}
|
@@ -0,0 +1,75 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.OpenOceanApiService = void 0;
|
4
|
+
const native_tokens_1 = require("../../../../../../../common/tokens/constants/native-tokens");
|
5
|
+
const blockchain_name_1 = require("../../../../../../../core/blockchain/models/blockchain-name");
|
6
|
+
const web3_pure_1 = require("../../../../../../../core/blockchain/web3-pure/web3-pure");
|
7
|
+
const injector_1 = require("../../../../../../../core/injector/injector");
|
8
|
+
const arbitrum_gas_price_1 = require("../constants/arbitrum-gas-price");
|
9
|
+
const open_ocean_blockchain_1 = require("../constants/open-ocean-blockchain");
|
10
|
+
class OpenOceanApiService {
|
11
|
+
static async fetchQuoteData(fromWithoutFee, toToken, slippageTolerance) {
|
12
|
+
const gasPriceNonWei = await this.getGasPriceNonWei(fromWithoutFee);
|
13
|
+
const quoteResponse = await injector_1.Injector.httpClient.get(`${this.xApiUrl}/v4/${open_ocean_blockchain_1.openOceanBlockchainName[fromWithoutFee.blockchain]}/quote`, {
|
14
|
+
headers: { apikey: 'sndfje3u4b3fnNSDNFUSDNVSunw345842hrnfd3b4nt4' },
|
15
|
+
params: {
|
16
|
+
chain: open_ocean_blockchain_1.openOceanBlockchainName[fromWithoutFee.blockchain],
|
17
|
+
inTokenAddress: this.getTokenAddress(fromWithoutFee),
|
18
|
+
outTokenAddress: this.getTokenAddress(toToken),
|
19
|
+
amount: fromWithoutFee.tokenAmount.toString(),
|
20
|
+
// @TODO check if needs to pass slippage in quote
|
21
|
+
slippage: slippageTolerance * 100,
|
22
|
+
gasPrice: gasPriceNonWei
|
23
|
+
}
|
24
|
+
});
|
25
|
+
return quoteResponse;
|
26
|
+
}
|
27
|
+
static async fetchSwapData(fromWithoutFee, to, walletAddress, slippageTolerance) {
|
28
|
+
const gasPriceNonWei = await this.getGasPriceNonWei(fromWithoutFee);
|
29
|
+
const swapResponse = await injector_1.Injector.httpClient.get(`${this.xApiUrl}/v4/${open_ocean_blockchain_1.openOceanBlockchainName[fromWithoutFee.blockchain]}/swap`, {
|
30
|
+
headers: { apikey: 'sndfje3u4b3fnNSDNFUSDNVSunw345842hrnfd3b4nt4' },
|
31
|
+
params: {
|
32
|
+
chain: open_ocean_blockchain_1.openOceanBlockchainName[fromWithoutFee.blockchain],
|
33
|
+
inTokenAddress: this.getTokenAddress(fromWithoutFee),
|
34
|
+
outTokenAddress: this.getTokenAddress(to),
|
35
|
+
amount: fromWithoutFee.tokenAmount.toString(),
|
36
|
+
gasPrice: gasPriceNonWei,
|
37
|
+
slippage: slippageTolerance * 100,
|
38
|
+
account: walletAddress,
|
39
|
+
// @TODO check if need to pass referrer in quote
|
40
|
+
referrer: '0x429A3A1a2623DFb520f1D93F64F38c0738418F1f'
|
41
|
+
}
|
42
|
+
});
|
43
|
+
return swapResponse;
|
44
|
+
}
|
45
|
+
static async fetchTokensList(blockchain) {
|
46
|
+
const tokenListResponse = await injector_1.Injector.httpClient.get(`${this.xApiUrl}/token_list/${open_ocean_blockchain_1.openOceanBlockchainName[blockchain]}`, { headers: { apikey: 'sndfje3u4b3fnNSDNFUSDNVSunw345842hrnfd3b4nt4' } });
|
47
|
+
return tokenListResponse;
|
48
|
+
}
|
49
|
+
static async getGasPriceNonWei(fromWithoutFee) {
|
50
|
+
if (fromWithoutFee.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM) {
|
51
|
+
return arbitrum_gas_price_1.ARBITRUM_GAS_PRICE;
|
52
|
+
}
|
53
|
+
const gasPriceWei = await injector_1.Injector.web3PublicService
|
54
|
+
.getWeb3Public(fromWithoutFee.blockchain)
|
55
|
+
.getGasPrice();
|
56
|
+
const gasPriceNonWei = web3_pure_1.Web3Pure.fromWei(gasPriceWei, native_tokens_1.nativeTokensList[fromWithoutFee.blockchain].decimals)
|
57
|
+
.multipliedBy(10 ** 9)
|
58
|
+
.toString();
|
59
|
+
return gasPriceNonWei;
|
60
|
+
}
|
61
|
+
static getTokenAddress(token) {
|
62
|
+
if (token.isNative) {
|
63
|
+
if (token.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.METIS) {
|
64
|
+
return '0xdeaddeaddeaddeaddeaddeaddeaddeaddead0000';
|
65
|
+
}
|
66
|
+
return this.nativeOpenOceanAddress;
|
67
|
+
}
|
68
|
+
return token.address;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
exports.OpenOceanApiService = OpenOceanApiService;
|
72
|
+
OpenOceanApiService.apiV4Url = 'https://open-api.openocean.finance/v4';
|
73
|
+
OpenOceanApiService.xApiUrl = 'https://x-api.rubic.exchange/oo/api';
|
74
|
+
OpenOceanApiService.nativeOpenOceanAddress = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
|
75
|
+
//# sourceMappingURL=open-ocean-api-service.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"open-ocean-api-service.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/open-ocean/services/open-ocean-api-service.ts"],"names":[],"mappings":"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"}
|
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.STONFI_REFERRAL_ADDRESS = exports.BOUNCEABLE_TON_NATIVE_ADDRESS = void 0;
|
4
4
|
exports.BOUNCEABLE_TON_NATIVE_ADDRESS = 'EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c';
|
5
5
|
exports.STONFI_REFERRAL_ADDRESS = 'UQDCgZa4vgbHOIEYrbWTaD5pEmDN0opSfs3gQZ_dYOVzEsx1';
|
6
|
-
//# sourceMappingURL=
|
6
|
+
//# sourceMappingURL=addresses.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/stonfi/constants/addresses.ts"],"names":[],"mappings":";;;AAAa,QAAA,6BAA6B,GAAG,kDAAkD,CAAC;AACnF,QAAA,uBAAuB,GAAG,kDAAkD,CAAC"}
|
@@ -2,18 +2,18 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.StonfiApiService = void 0;
|
4
4
|
const injector_1 = require("../../../../../../../core/injector/injector");
|
5
|
-
const
|
5
|
+
const addresses_1 = require("../constants/addresses");
|
6
6
|
class StonfiApiService {
|
7
7
|
static async makeQuoteRequest(from, to, slippage) {
|
8
8
|
try {
|
9
|
-
const srcTokenAddress = from.isNative ?
|
10
|
-
const dstTokenAddress = to.isNative ?
|
9
|
+
const srcTokenAddress = from.isNative ? addresses_1.BOUNCEABLE_TON_NATIVE_ADDRESS : from.address;
|
10
|
+
const dstTokenAddress = to.isNative ? addresses_1.BOUNCEABLE_TON_NATIVE_ADDRESS : to.address;
|
11
11
|
const queryParams = `offer_address=${srcTokenAddress}
|
12
12
|
&ask_address=${dstTokenAddress}
|
13
13
|
&units=${from.stringWeiAmount}
|
14
14
|
&slippage_tolerance=${slippage}
|
15
15
|
&referral_fee_bps=100
|
16
|
-
&referral_address=${
|
16
|
+
&referral_address=${addresses_1.STONFI_REFERRAL_ADDRESS}`;
|
17
17
|
const res = await injector_1.Injector.httpClient.post(`${this.apiUrl}/swap/simulate?${queryParams}`);
|
18
18
|
return {
|
19
19
|
minAmountOutWei: res.min_ask_units,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"stonfi-api-service.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/stonfi/services/stonfi-api-service.ts"],"names":[],"mappings":";;;AACA,yDAAsD;AAEtD,
|
1
|
+
{"version":3,"file":"stonfi-api-service.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/stonfi/services/stonfi-api-service.ts"],"names":[],"mappings":";;;AACA,yDAAsD;AAEtD,sDAAgG;AAGhG,MAAa,gBAAgB;IAGlB,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAChC,IAAsB,EACtB,EAAc,EACd,QAAgB;QAEhB,IAAI,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,yCAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACrF,MAAM,eAAe,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,yCAA6B,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC;YAEjF,MAAM,WAAW,GAAG,iBAAiB,eAAe;eACjD,eAAe;SACrB,IAAI,CAAC,eAAe;sBACP,QAAQ;;oBAEV,mCAAuB,EAAE,CAAC;YAElC,MAAM,GAAG,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,IAAI,CACtC,GAAG,IAAI,CAAC,MAAM,kBAAkB,WAAW,EAAE,CAChD,CAAC;YAEF,OAAO;gBACH,eAAe,EAAE,GAAG,CAAC,aAAa;gBAClC,YAAY,EAAE,GAAG,CAAC,SAAS;gBAC3B,SAAS,EAAE,GAAG,CAAC,SAAS;aAC3B,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;;AA/BL,4CAgCC;AA/B2B,uBAAM,GAAG,wBAAwB,CAAC"}
|
@@ -5,7 +5,7 @@ const sdk_1 = require("@ston-fi/sdk");
|
|
5
5
|
const ton_1 = require("@ton/ton");
|
6
6
|
const chain_type_1 = require("../../../../../../../core/blockchain/models/chain-type");
|
7
7
|
const injector_1 = require("../../../../../../../core/injector/injector");
|
8
|
-
const
|
8
|
+
const addresses_1 = require("../constants/addresses");
|
9
9
|
const convert_params_to_ton_config_1 = require("../utils/convert-params-to-ton-config");
|
10
10
|
class StonfiSwapService {
|
11
11
|
get tonClient() {
|
@@ -26,7 +26,7 @@ class StonfiSwapService {
|
|
26
26
|
offerAmount: from.stringWeiAmount,
|
27
27
|
askJettonAddress: to.address,
|
28
28
|
minAskAmount: minAmountOutWei,
|
29
|
-
referralAddress:
|
29
|
+
referralAddress: addresses_1.STONFI_REFERRAL_ADDRESS
|
30
30
|
});
|
31
31
|
return (0, convert_params_to_ton_config_1.convertTxParamsToTonConfig)(txParams);
|
32
32
|
}
|
@@ -37,7 +37,7 @@ class StonfiSwapService {
|
|
37
37
|
offerAmount: from.stringWeiAmount,
|
38
38
|
proxyTon: new sdk_1.pTON.v1(),
|
39
39
|
minAskAmount: minAmountOutWei,
|
40
|
-
referralAddress:
|
40
|
+
referralAddress: addresses_1.STONFI_REFERRAL_ADDRESS
|
41
41
|
});
|
42
42
|
return (0, convert_params_to_ton_config_1.convertTxParamsToTonConfig)(txParams);
|
43
43
|
}
|
@@ -47,7 +47,7 @@ class StonfiSwapService {
|
|
47
47
|
offerAmount: from.stringWeiAmount,
|
48
48
|
askJettonAddress: to.address,
|
49
49
|
minAskAmount: minAmountOutWei,
|
50
|
-
referralAddress:
|
50
|
+
referralAddress: addresses_1.STONFI_REFERRAL_ADDRESS
|
51
51
|
});
|
52
52
|
return (0, convert_params_to_ton_config_1.convertTxParamsToTonConfig)(txParams);
|
53
53
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"stonfi-swap-service.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/stonfi/services/stonfi-swap-service.ts"],"names":[],"mappings":";;;AAAA,sCAAyC;AACzC,kCAAqC;AAErC,sEAAmE;AAEnE,yDAAsD;AAEtD,
|
1
|
+
{"version":3,"file":"stonfi-swap-service.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/stonfi/services/stonfi-swap-service.ts"],"names":[],"mappings":";;;AAAA,sCAAyC;AACzC,kCAAqC;AAErC,sEAAmE;AAEnE,yDAAsD;AAEtD,sDAAiE;AACjE,wFAAmF;AAEnF,MAAa,iBAAiB;IAC1B,IAAY,SAAS;QACjB,OAAO,CACH,mBAAQ,CAAC,kBAAkB,CAAC,cAAc,CAAC,uBAAU,CAAC,GAAG,CAAC,CAAC,SAAS;YACpE,IAAI,eAAS,CAAC;gBACV,QAAQ,EAAE,sCAAsC;gBAChD,MAAM,EAAE,kEAAkE;aAC7E,CAAC,CACL,CAAC;IACN,CAAC;IAID;QAFiB,iBAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,SAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAE1D,CAAC;IAET,KAAK,CAAC,WAAW,CACpB,IAAsB,EACtB,EAAoB,EACpB,aAAqB,EACrB,eAAuB;QAEvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC;gBAChE,iBAAiB,EAAE,aAAa;gBAChC,QAAQ,EAAE,IAAI,UAAI,CAAC,EAAE,EAAE;gBACvB,WAAW,EAAE,IAAI,CAAC,eAAe;gBACjC,gBAAgB,EAAE,EAAE,CAAC,OAAO;gBAC5B,YAAY,EAAE,eAAe;gBAC7B,eAAe,EAAE,mCAAuB;aAC3C,CAAC,CAAC;YAEH,OAAO,IAAA,yDAA0B,EAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC;gBAChE,iBAAiB,EAAE,aAAa;gBAChC,kBAAkB,EAAE,IAAI,CAAC,OAAO;gBAChC,WAAW,EAAE,IAAI,CAAC,eAAe;gBACjC,QAAQ,EAAE,IAAI,UAAI,CAAC,EAAE,EAAE;gBACvB,YAAY,EAAE,eAAe;gBAC7B,eAAe,EAAE,mCAAuB;aAC3C,CAAC,CAAC;YAEH,OAAO,IAAA,yDAA0B,EAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC;YACnE,iBAAiB,EAAE,aAAa;YAChC,kBAAkB,EAAE,IAAI,CAAC,OAAO;YAChC,WAAW,EAAE,IAAI,CAAC,eAAe;YACjC,gBAAgB,EAAE,EAAE,CAAC,OAAO;YAC5B,YAAY,EAAE,eAAe;YAC7B,eAAe,EAAE,mCAAuB;SAC3C,CAAC,CAAC;QAEH,OAAO,IAAA,yDAA0B,EAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;CACJ;AA1DD,8CA0DC"}
|
@@ -13,7 +13,6 @@ class StonfiOnChainTrade extends ton_on_chain_trade_1.TonOnChainTrade {
|
|
13
13
|
this.stonfiSwapService = new stonfi_swap_service_1.StonfiSwapService();
|
14
14
|
}
|
15
15
|
async swap(options = {}) {
|
16
|
-
await this.checkWalletState(options?.testMode);
|
17
16
|
let transactionHash;
|
18
17
|
const onTransactionHash = (hash) => {
|
19
18
|
if (options.onConfirm) {
|
@@ -21,11 +20,10 @@ class StonfiOnChainTrade extends ton_on_chain_trade_1.TonOnChainTrade {
|
|
21
20
|
}
|
22
21
|
transactionHash = hash;
|
23
22
|
};
|
24
|
-
|
25
|
-
const receiverAddress = options.receiverAddress || this.walletAddress;
|
23
|
+
await this.checkWalletState(options?.testMode);
|
26
24
|
await this.makePreSwapChecks({
|
27
|
-
fromAddress,
|
28
|
-
receiverAddress,
|
25
|
+
fromAddress: this.walletAddress,
|
26
|
+
receiverAddress: options.receiverAddress,
|
29
27
|
skipAmountCheck: this.skipAmountCheck,
|
30
28
|
...(options?.referrer && { referrer: options?.referrer })
|
31
29
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"stonfi-on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/stonfi/stonfi-on-chain-trade.ts"],"names":[],"mappings":";;;AAAA,oDAAqD;AAKrD,iFAAgG;AAChG,0GAAoG;AACpG,sEAAiE;AACjE,wEAAmE;AAEnE,MAAa,kBAAmB,SAAQ,oCAAiC;IAAzE;;QACoB,SAAI,GAAqB,yCAAmB,CAAC,MAAM,CAAC;QAEnD,sBAAiB,GAAG,IAAI,uCAAiB,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"stonfi-on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/stonfi/stonfi-on-chain-trade.ts"],"names":[],"mappings":";;;AAAA,oDAAqD;AAKrD,iFAAgG;AAChG,0GAAoG;AACpG,sEAAiE;AACjE,wEAAmE;AAEnE,MAAa,kBAAmB,SAAQ,oCAAiC;IAAzE;;QACoB,SAAI,GAAqB,yCAAmB,CAAC,MAAM,CAAC;QAEnD,sBAAiB,GAAG,IAAI,uCAAiB,EAAE,CAAC;IAoDjE,CAAC;IAlDU,KAAK,CAAC,IAAI,CAAC,UAAkC,EAAE;QAClD,IAAI,eAAuB,CAAC;QAC5B,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;YACvC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,eAAe,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC;QAEF,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,iBAAiB,CAAC;YACzB,WAAW,EAAE,IAAI,CAAC,aAAa;YAC/B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;SAC5D,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAEnD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;gBACnC,iBAAiB;gBACjB,QAAQ,EAAE,CAAC,gBAAgB,CAAC;aAC/B,CAAC,CAAC;YACH,OAAO,eAAgB,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAA,mBAAU,EAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAChD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,gBAAgB,CAAC,eAAe,CACxC,CAAC;QAEF,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,QAAkC;QACpE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,qCAAgB,CAAC,gBAAgB,CAC5D,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,iBAAiB,CACzB,CAAC;QAEF,OAAO,YAAY,CAAC;IACxB,CAAC;CACJ;AAvDD,gDAuDC"}
|
@@ -26,6 +26,7 @@ export declare abstract class TonOnChainTrade<T = undefined> extends OnChainTrad
|
|
26
26
|
approve(): Promise<void>;
|
27
27
|
encodeApprove(): Promise<TransactionConfig>;
|
28
28
|
encode(): Promise<T>;
|
29
|
+
protected checkNativeBalance(): Promise<void>;
|
29
30
|
protected makePreSwapChecks(options: EncodeTransactionOptions): Promise<void>;
|
30
31
|
/**
|
31
32
|
* recalculates and returns output stringWeiAmount
|
@@ -2,7 +2,9 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.TonOnChainTrade = void 0;
|
4
4
|
const errors_1 = require("../../../../../../../common/errors");
|
5
|
+
const native_tokens_1 = require("../../../../../../../common/tokens/constants/native-tokens");
|
5
6
|
const blockchain_name_1 = require("../../../../../../../core/blockchain/models/blockchain-name");
|
7
|
+
const web3_pure_1 = require("../../../../../../../core/blockchain/web3-pure/web3-pure");
|
6
8
|
const injector_1 = require("../../../../../../../core/injector/injector");
|
7
9
|
const check_unsupported_receiver_address_1 = require("../../../../../../common/utils/check-unsupported-receiver-address");
|
8
10
|
const on_chain_trade_1 = require("../on-chain-trade");
|
@@ -42,10 +44,19 @@ class TonOnChainTrade extends on_chain_trade_1.OnChainTrade {
|
|
42
44
|
async encode() {
|
43
45
|
throw new errors_1.RubicSdkError('Method not implemented! Use custom swap methods on each child class!');
|
44
46
|
}
|
47
|
+
async checkNativeBalance() {
|
48
|
+
const balanceWei = await this.web3Public.getBalance(this.walletAddress);
|
49
|
+
const balanceNonWei = web3_pure_1.Web3Pure.fromWei(balanceWei, native_tokens_1.nativeTokensList[blockchain_name_1.BLOCKCHAIN_NAME.TON].decimals);
|
50
|
+
const requiredBalanceNonWei = this.gasFeeInfo.gasLimit.plus(0.01);
|
51
|
+
if (balanceNonWei.lt(requiredBalanceNonWei)) {
|
52
|
+
throw new errors_1.InsufficientFundsError(native_tokens_1.nativeTokensList[blockchain_name_1.BLOCKCHAIN_NAME.TON], balanceNonWei, requiredBalanceNonWei);
|
53
|
+
}
|
54
|
+
}
|
45
55
|
async makePreSwapChecks(options) {
|
46
56
|
(0, check_unsupported_receiver_address_1.checkUnsupportedReceiverAddress)(options.receiverAddress, this.walletAddress);
|
47
57
|
await this.checkFromAddress(options.fromAddress);
|
48
|
-
await this.
|
58
|
+
await this.checkNativeBalance();
|
59
|
+
await this.checkBalance();
|
49
60
|
if (!options.skipAmountCheck) {
|
50
61
|
this.skipAmountCheck = true;
|
51
62
|
const toWeiAmount = await this.calculateOutputAmount(options);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ton-on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"ton-on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade.ts"],"names":[],"mappings":"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"}
|