rubic-sdk 6.0.0-alpha.ton.3 → 6.0.0-alpha.ton.30

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.
Files changed (87) hide show
  1. package/lib/core/blockchain/services/ton/tonapi-service.d.ts +3 -2
  2. package/lib/core/blockchain/services/ton/tonapi-service.js +13 -10
  3. package/lib/core/blockchain/services/ton/tonapi-service.js.map +1 -1
  4. package/lib/core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-web3-private.js +8 -9
  5. package/lib/core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-web3-private.js.map +1 -1
  6. package/lib/core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public.d.ts +4 -1
  7. package/lib/core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public.js +34 -15
  8. package/lib/core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public.js.map +1 -1
  9. package/lib/core/blockchain/web3-pure/typed-web3-pure/ton-web3-pure/ton-web3-pure.d.ts +11 -0
  10. package/lib/core/blockchain/web3-pure/typed-web3-pure/ton-web3-pure/ton-web3-pure.js +30 -0
  11. package/lib/core/blockchain/web3-pure/typed-web3-pure/ton-web3-pure/ton-web3-pure.js.map +1 -1
  12. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.d.ts +1 -2
  13. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.js +3 -3
  14. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.js.map +1 -1
  15. package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.js +13 -4
  16. package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.js.map +1 -1
  17. package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/models/orbiter-api-status-types.d.ts +7 -0
  18. package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-provider.js +6 -2
  19. package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-provider.js.map +1 -1
  20. package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/services/orbiter-api-service.d.ts +4 -3
  21. package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/services/orbiter-api-service.js +14 -4
  22. package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/services/orbiter-api-service.js.map +1 -1
  23. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js +1 -2
  24. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js.map +1 -1
  25. package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.d.ts +2 -2
  26. package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.js +5 -3
  27. package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.js.map +1 -1
  28. package/lib/features/on-chain/calculation-manager/on-chain-manager.js +23 -14
  29. package/lib/features/on-chain/calculation-manager/on-chain-manager.js.map +1 -1
  30. package/lib/features/on-chain/calculation-manager/providers/aggregators/1inch/one-inch-trade.d.ts +2 -2
  31. package/lib/features/on-chain/calculation-manager/providers/aggregators/common/native-router-abstract/native-router-abstract-trade.d.ts +2 -2
  32. package/lib/features/on-chain/calculation-manager/providers/aggregators/dln/chains/dln-evm-on-chain-trade.d.ts +2 -2
  33. package/lib/features/on-chain/calculation-manager/providers/aggregators/dln/chains/dln-solana-on-chain-trade.d.ts +2 -2
  34. package/lib/features/on-chain/calculation-manager/providers/aggregators/lifi/lifi-trade.d.ts +2 -2
  35. package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/odos-on-chain-trade.d.ts +2 -2
  36. package/lib/features/on-chain/calculation-manager/providers/aggregators/okuswap/okuswap-on-chain-trade.d.ts +2 -2
  37. package/lib/features/on-chain/calculation-manager/providers/aggregators/open-ocean/open-ocean-trade.d.ts +2 -2
  38. package/lib/features/on-chain/calculation-manager/providers/aggregators/piteas/piteas-trade.d.ts +2 -2
  39. package/lib/features/on-chain/calculation-manager/providers/aggregators/rango/rango-on-chain-provider.js +4 -2
  40. package/lib/features/on-chain/calculation-manager/providers/aggregators/rango/rango-on-chain-provider.js.map +1 -1
  41. package/lib/features/on-chain/calculation-manager/providers/aggregators/rango/rango-on-chain-trade.d.ts +2 -2
  42. package/lib/features/on-chain/calculation-manager/providers/aggregators/rango/rango-on-chain-trade.js +1 -1
  43. package/lib/features/on-chain/calculation-manager/providers/aggregators/rango/rango-on-chain-trade.js.map +1 -1
  44. package/lib/features/on-chain/calculation-manager/providers/aggregators/rango/services/rango-on-chain-api-service.d.ts +1 -1
  45. package/lib/features/on-chain/calculation-manager/providers/aggregators/rango/services/rango-on-chain-api-service.js +2 -2
  46. package/lib/features/on-chain/calculation-manager/providers/aggregators/rango/services/rango-on-chain-api-service.js.map +1 -1
  47. package/lib/features/on-chain/calculation-manager/providers/aggregators/symbiosis/symbiosis-on-chain-trade.d.ts +2 -2
  48. package/lib/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/models/tonkeeper-api-types.d.ts +2 -0
  49. package/lib/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/models/tonkeeper-trade-struct.d.ts +5 -0
  50. package/lib/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/services/tonkeeper-api-service.js +2 -2
  51. package/lib/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/services/tonkeeper-api-service.js.map +1 -1
  52. package/lib/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-provider.d.ts +1 -0
  53. package/lib/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-provider.js +20 -7
  54. package/lib/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-provider.js.map +1 -1
  55. package/lib/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-trade.d.ts +3 -0
  56. package/lib/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-trade.js +27 -4
  57. package/lib/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-trade.js.map +1 -1
  58. package/lib/features/on-chain/calculation-manager/providers/aggregators/xy-dex/xy-dex-trade.d.ts +2 -2
  59. package/lib/features/on-chain/calculation-manager/providers/aggregators/zrx/zrx-trade.d.ts +2 -2
  60. package/lib/features/on-chain/calculation-manager/providers/common/evm-wrap-trade/evm-wrap-trade.d.ts +2 -2
  61. package/lib/features/on-chain/calculation-manager/providers/common/on-chain-aggregator/aggregator-solana-on-chain-trade-abstract.d.ts +2 -2
  62. package/lib/features/on-chain/calculation-manager/providers/common/on-chain-aggregator/models/aggregator-on-chain-types.d.ts +1 -1
  63. package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade.d.ts +2 -2
  64. package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/on-chain-trade.js +1 -1
  65. package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/on-chain-trade.js.map +1 -1
  66. package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/models/ton--on-chian-trade-types.d.ts +5 -0
  67. package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/models/ton--on-chian-trade-types.js +3 -0
  68. package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/models/ton--on-chian-trade-types.js.map +1 -0
  69. package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade.d.ts +5 -0
  70. package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade.js +11 -0
  71. package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade.js.map +1 -1
  72. package/lib/features/on-chain/calculation-manager/providers/dexes/common/curve-provider/curve-abstract-trade.d.ts +2 -2
  73. package/lib/features/on-chain/calculation-manager/providers/dexes/common/izumi-abstract/izumi-trade.d.ts +2 -2
  74. package/lib/features/on-chain/calculation-manager/providers/dexes/common/pancake-router/pancake-router-trade.d.ts +2 -2
  75. package/lib/features/on-chain/calculation-manager/providers/dexes/common/sync-swap-abstract/sync-swap-abstract-trade.d.ts +2 -2
  76. package/lib/features/on-chain/calculation-manager/providers/dexes/common/uniswap-v2-abstract/uniswap-v2-abstract-trade.d.ts +2 -2
  77. package/lib/features/on-chain/calculation-manager/providers/dexes/common/uniswap-v3-algebra-abstract/uniswap-v3-algebra-abstract-trade.d.ts +2 -2
  78. package/lib/features/on-chain/calculation-manager/providers/dexes/common/vooi-abstract/vooi-abstract-trade.d.ts +2 -2
  79. package/lib/features/on-chain/calculation-manager/providers/dexes/mode/eddy-finance-mode/eddy-finance-mode-trade.d.ts +2 -2
  80. package/lib/features/on-chain/calculation-manager/providers/dexes/zetachain/eddy-finance/eddy-finance-trade.d.ts +2 -2
  81. package/lib/index.d.ts +1 -1
  82. package/lib/index.js +1 -1
  83. package/lib/index.js.map +1 -1
  84. package/package.json +1 -1
  85. package/lib/core/blockchain/services/ton/ton-utils.d.ts +0 -13
  86. package/lib/core/blockchain/services/ton/ton-utils.js +0 -36
  87. package/lib/core/blockchain/services/ton/ton-utils.js.map +0 -1
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TonkeeperOnChainProvider = void 0;
7
+ const core_1 = require("@ton/core");
7
8
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
9
  const tokens_1 = require("../../../../../../common/tokens");
9
10
  const native_tokens_1 = require("../../../../../../common/tokens/constants/native-tokens");
10
11
  const blockchain_name_1 = require("../../../../../../core/blockchain/models/blockchain-name");
11
- const ton_utils_1 = require("../../../../../../core/blockchain/services/ton/ton-utils");
12
12
  const web3_pure_1 = require("../../../../../../core/blockchain/web3-pure/web3-pure");
13
13
  const on_chain_trade_type_1 = require("../../common/models/on-chain-trade-type");
14
14
  const aggregator_on_chain_provider_abstract_1 = require("../../common/on-chain-aggregator/aggregator-on-chain-provider-abstract");
@@ -24,11 +24,8 @@ class TonkeeperOnChainProvider extends aggregator_on_chain_provider_abstract_1.A
24
24
  }
25
25
  async calculate(from, toToken, options) {
26
26
  try {
27
- const [fromRawAddress, toRawAddress, { fromWithoutFee, proxyFeeInfo }] = await Promise.all([
28
- (await ton_utils_1.TonUtils.getAllFormatsOfAddress(from.address)).raw_form,
29
- (await ton_utils_1.TonUtils.getAllFormatsOfAddress(toToken.address)).raw_form,
30
- this.handleProxyContract(from, options)
31
- ]);
27
+ const [fromRawAddress, toRawAddress] = this.getRawAddresses(from, toToken);
28
+ const { fromWithoutFee, proxyFeeInfo } = await this.handleProxyContract(from, options);
32
29
  const bestRoute = await tonkeeper_api_service_1.TonkeeperApiService.makeQuoteReq(fromRawAddress, toRawAddress, fromWithoutFee.stringWeiAmount);
33
30
  const to = new tokens_1.PriceTokenAmount({
34
31
  ...toToken.asStruct,
@@ -44,7 +41,11 @@ class TonkeeperOnChainProvider extends aggregator_on_chain_provider_abstract_1.A
44
41
  path: this.getRoutePath(from, toToken),
45
42
  proxyFeeInfo,
46
43
  fromWithoutFee,
47
- bestRoute
44
+ bestRoute,
45
+ rawAddresses: {
46
+ fromRawAddress,
47
+ toRawAddress
48
+ }
48
49
  };
49
50
  tradeStruct.gasFeeInfo = await this.getGasFeeInfo(tradeStruct);
50
51
  return new tonkeeper_on_chain_trade_1.TonkeeperOnChainTrade(tradeStruct, options.providerAddress);
@@ -56,6 +57,18 @@ class TonkeeperOnChainProvider extends aggregator_on_chain_provider_abstract_1.A
56
57
  };
57
58
  }
58
59
  }
60
+ getRawAddresses(from, toToken) {
61
+ const rawAddresses = [from, toToken].map(token => {
62
+ if (token.address.startsWith('0:') || token.address.startsWith('-1:')) {
63
+ return token.address;
64
+ }
65
+ if (token.isNative) {
66
+ return 'ton';
67
+ }
68
+ return core_1.Address.parse(token.address).toRawString();
69
+ });
70
+ return rawAddresses;
71
+ }
59
72
  async getGasFeeInfo(tradeStruct) {
60
73
  const nativeTonCoin = native_tokens_1.nativeTokensList[blockchain_name_1.BLOCKCHAIN_NAME.TON];
61
74
  const gasLimitWei = tradeStruct.bestRoute.trades[0].blockchainFee;
@@ -1 +1 @@
1
- {"version":3,"file":"tonkeeper-on-chain-provider.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-provider.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,8CAAiE;AACjE,6EAA6E;AAC7E,gFAIoD;AACpD,0EAAsE;AACtE,uEAAmE;AAInE,iFAA8E;AAC9E,kIAAmH;AAInH,4EAAuE;AACvE,yEAAmE;AAEnE,MAAa,wBAAyB,SAAQ,iEAAyB;IAAvE;;QACoB,cAAS,GAAG,yCAAmB,CAAC,SAAS,CAAC;IA+D9D,CAAC;IA7DU,qBAAqB,CAAC,UAA0B;QACnD,OAAO,UAAU,KAAK,iCAAe,CAAC,GAAG,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,SAAS,CAClB,IAAsB,EACtB,OAAmB,EACnB,OAA0C;QAE1C,IAAI;YACA,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,GAClE,MAAM,OAAO,CAAC,GAAG,CAAC;gBACd,CAAC,MAAM,oBAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;gBAC9D,CAAC,MAAM,oBAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;gBACjE,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC;aAC1C,CAAC,CAAC;YAEP,MAAM,SAAS,GAAG,MAAM,2CAAmB,CAAC,YAAY,CACpD,cAAc,EACd,YAAY,EACZ,cAAc,CAAC,eAAe,CACjC,CAAC;YACF,MAAM,EAAE,GAAG,IAAI,yBAAgB,CAAC;gBAC5B,GAAG,OAAO,CAAC,QAAQ;gBACnB,SAAS,EAAE,IAAI,sBAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aACzD,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG;gBAChB,IAAI;gBACJ,EAAE;gBACF,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,QAAQ,EAAE,KAAK;gBACf,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;gBACtC,YAAY;gBACZ,cAAc;gBACd,SAAS;aACmB,CAAC;YACjC,WAAW,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAE/D,OAAO,IAAI,gDAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;SAC1E;QAAC,OAAO,GAAG,EAAE;YACV,OAAO;gBACH,IAAI,EAAE,yCAAmB,CAAC,SAAS;gBACnC,KAAK,EAAE,GAAG;aACb,CAAC;SACL;IACL,CAAC;IAES,KAAK,CAAC,aAAa,CACzB,WAAwC;QAExC,MAAM,aAAa,GAAG,gCAAgB,CAAC,iCAAe,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAClE,MAAM,cAAc,GAAG,oBAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7E,OAAO;YACH,QAAQ,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;YAC1B,QAAQ,EAAE,cAAc;SAC3B,CAAC;IACN,CAAC;CACJ;AAhED,4DAgEC"}
1
+ {"version":3,"file":"tonkeeper-on-chain-provider.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-provider.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import { TonEncodedConfig } from '../../../../../../core/blockchain/web3-private-service/web3-private/ton-web3-private/models/ton-types';
2
2
  import { EncodeTransactionOptions } from '../../../../../common/models/encode-transaction-options';
3
+ import { TonEncodedConfigAndToAmount } from '../../common/on-chain-trade/ton-on-chain-trade/models/ton--on-chian-trade-types';
3
4
  import { TonOnChainTrade } from '../../common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade';
4
5
  import { TonkeeperOnChainTradeStruct } from './models/tonkeeper-trade-struct';
5
6
  export declare class TonkeeperOnChainTrade extends TonOnChainTrade {
6
7
  type: "TONKEEPER";
7
8
  private readonly bestRoute;
9
+ private readonly rawAddresses;
8
10
  constructor(tradeStruct: TonkeeperOnChainTradeStruct, providerAddress: string);
9
11
  encodeDirect(options: EncodeTransactionOptions): Promise<TonEncodedConfig>;
12
+ protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<TonEncodedConfigAndToAmount>;
10
13
  }
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
2
8
  Object.defineProperty(exports, "__esModule", { value: true });
3
9
  exports.TonkeeperOnChainTrade = void 0;
10
+ const decorators_1 = require("../../../../../../common/utils/decorators");
11
+ const check_unsupported_receiver_address_1 = require("../../../../../common/utils/check-unsupported-receiver-address");
4
12
  const on_chain_trade_type_1 = require("../../common/models/on-chain-trade-type");
5
13
  const ton_on_chain_trade_1 = require("../../common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade");
6
14
  const tonkeeper_api_service_1 = require("./services/tonkeeper-api-service");
@@ -9,15 +17,30 @@ class TonkeeperOnChainTrade extends ton_on_chain_trade_1.TonOnChainTrade {
9
17
  super(tradeStruct, providerAddress);
10
18
  this.type = on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.TONKEEPER;
11
19
  this.bestRoute = tradeStruct.bestRoute;
20
+ this.rawAddresses = tradeStruct.rawAddresses;
12
21
  }
13
22
  async encodeDirect(options) {
14
- const { body, to, value } = await tonkeeper_api_service_1.TonkeeperApiService.encodeParamsForSwap(this.bestRoute, options.receiverAddress || this.walletAddress, this.slippageTolerance);
23
+ (0, check_unsupported_receiver_address_1.checkUnsupportedReceiverAddress)(options.receiverAddress, this.walletAddress);
24
+ const { tx } = await this.getTransactionConfigAndAmount(options);
25
+ return tx;
26
+ }
27
+ async getTransactionConfigAndAmount(options) {
28
+ const [newBestRoute, { body, to, value }] = await Promise.all([
29
+ tonkeeper_api_service_1.TonkeeperApiService.makeQuoteReq(this.rawAddresses.fromRawAddress, this.rawAddresses.toRawAddress, this.fromWithoutFee.stringWeiAmount),
30
+ tonkeeper_api_service_1.TonkeeperApiService.encodeParamsForSwap(this.bestRoute, options.receiverAddress || this.walletAddress, this.slippageTolerance)
31
+ ]);
15
32
  return {
16
- address: to,
17
- amount: value,
18
- payload: body
33
+ tx: {
34
+ address: to,
35
+ amount: value,
36
+ payload: body
37
+ },
38
+ toAmount: newBestRoute.trades[0].toAmount
19
39
  };
20
40
  }
21
41
  }
22
42
  exports.TonkeeperOnChainTrade = TonkeeperOnChainTrade;
43
+ __decorate([
44
+ (0, decorators_1.Cache)({ maxAge: 15000 })
45
+ ], TonkeeperOnChainTrade.prototype, "getTransactionConfigAndAmount", null);
23
46
  //# sourceMappingURL=tonkeeper-on-chain-trade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tonkeeper-on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-trade.ts"],"names":[],"mappings":";;;AAGA,iFAA8E;AAC9E,0GAAoG;AAGpG,4EAAuE;AAEvE,MAAa,qBAAsB,SAAQ,oCAAe;IAKtD,YAAY,WAAwC,EAAE,eAAuB;QACzE,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QALjC,SAAI,GAAG,yCAAmB,CAAC,SAAS,CAAC;QAMxC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,OAAiC;QACvD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,2CAAmB,CAAC,mBAAmB,CACrE,IAAI,CAAC,SAAS,EACd,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,EAC7C,IAAI,CAAC,iBAAiB,CACzB,CAAC;QAEF,OAAO;YACH,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;CACJ;AAvBD,sDAuBC"}
1
+ {"version":3,"file":"tonkeeper-on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-trade.ts"],"names":[],"mappings":";;;;;;;;;AAAA,4DAAoD;AAGpD,qHAA+G;AAE/G,iFAA8E;AAE9E,0GAAoG;AAGpG,4EAAuE;AAEvE,MAAa,qBAAsB,SAAQ,oCAAe;IAOtD,YAAY,WAAwC,EAAE,eAAuB;QACzE,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAPjC,SAAI,GAAG,yCAAmB,CAAC,SAAS,CAAC;QAQxC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,OAAiC;QACvD,IAAA,oEAA+B,EAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7E,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,EAAE,CAAC;IACd,CAAC;IAGe,AAAN,KAAK,CAAC,6BAA6B,CACzC,OAAiC;QAEjC,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC1D,2CAAmB,CAAC,YAAY,CAC5B,IAAI,CAAC,YAAY,CAAC,cAAc,EAChC,IAAI,CAAC,YAAY,CAAC,YAAY,EAC9B,IAAI,CAAC,cAAc,CAAC,eAAe,CACtC;YACD,2CAAmB,CAAC,mBAAmB,CACnC,IAAI,CAAC,SAAS,EACd,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,EAC7C,IAAI,CAAC,iBAAiB,CACzB;SACJ,CAAC,CAAC;QAEH,OAAO;YACH,EAAE,EAAE;gBACA,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,IAAI;aAChB;YACD,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ;SAC5C,CAAC;IACN,CAAC;CACJ;AA7CD,sDA6CC;AAzBmB;IADf,IAAA,kBAAK,EAAC,EAAE,MAAM,EAAE,KAAM,EAAE,CAAC;0EAyBzB"}
@@ -2,7 +2,7 @@ import BigNumber from 'bignumber.js';
2
2
  import { EncodeTransactionOptions } from '../../../../../common/models/encode-transaction-options';
3
3
  import { XyDexTradeStruct } from './models/xy-dex-trade-struct';
4
4
  import { AggregatorEvmOnChainTrade } from '../../common/on-chain-aggregator/aggregator-evm-on-chain-trade-abstract';
5
- import { GetToAmountAndTxDataResponse } from '../../common/on-chain-aggregator/models/aggregator-on-chain-types';
5
+ import { EvmEncodedConfigAndToAmount } from '../../common/on-chain-aggregator/models/aggregator-on-chain-types';
6
6
  export declare class XyDexTrade extends AggregatorEvmOnChainTrade {
7
7
  /** @internal */
8
8
  static getGasLimit(tradeStruct: XyDexTradeStruct): Promise<BigNumber | null>;
@@ -10,6 +10,6 @@ export declare class XyDexTrade extends AggregatorEvmOnChainTrade {
10
10
  type: "XY_DEX";
11
11
  private readonly provider;
12
12
  constructor(tradeStruct: XyDexTradeStruct, providerAddress: string);
13
- getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<GetToAmountAndTxDataResponse>;
13
+ getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
14
14
  private getResponseFromApiToTransactionRequest;
15
15
  }
@@ -3,7 +3,7 @@ import { EncodeTransactionOptions } from '../../../../../common/models/encode-tr
3
3
  import { ZrxTradeStruct } from './models/zrx-trade-struct';
4
4
  import { OnChainTradeType } from '../../common/models/on-chain-trade-type';
5
5
  import { AggregatorEvmOnChainTrade } from '../../common/on-chain-aggregator/aggregator-evm-on-chain-trade-abstract';
6
- import { GetToAmountAndTxDataResponse } from '../../common/on-chain-aggregator/models/aggregator-on-chain-types';
6
+ import { EvmEncodedConfigAndToAmount } from '../../common/on-chain-aggregator/models/aggregator-on-chain-types';
7
7
  export declare class ZrxTrade extends AggregatorEvmOnChainTrade {
8
8
  private readonly affiliateAddress;
9
9
  /** @internal */
@@ -11,5 +11,5 @@ export declare class ZrxTrade extends AggregatorEvmOnChainTrade {
11
11
  readonly dexContractAddress: string;
12
12
  get type(): OnChainTradeType;
13
13
  constructor(tradeStruct: ZrxTradeStruct, providerAddress: string);
14
- protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<GetToAmountAndTxDataResponse>;
14
+ protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
15
15
  }
@@ -1,12 +1,12 @@
1
1
  import { EvmBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name';
2
2
  import { EncodeTransactionOptions } from '../../../../../common/models/encode-transaction-options';
3
- import { GetToAmountAndTxDataResponse } from '../on-chain-aggregator/models/aggregator-on-chain-types';
3
+ import { EvmEncodedConfigAndToAmount } from '../on-chain-aggregator/models/aggregator-on-chain-types';
4
4
  import { EvmOnChainTrade } from '../on-chain-trade/evm-on-chain-trade/evm-on-chain-trade';
5
5
  import { EvmOnChainTradeStruct } from '../on-chain-trade/evm-on-chain-trade/models/evm-on-chain-trade-struct';
6
6
  export declare class EvmWrapTrade extends EvmOnChainTrade {
7
7
  get dexContractAddress(): string;
8
8
  readonly type: "WRAPPED";
9
- protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<GetToAmountAndTxDataResponse>;
9
+ protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
10
10
  constructor(evmOnChainTradeStruct: EvmOnChainTradeStruct, providerAddress: string);
11
11
  static isSupportedBlockchain(blockchain: EvmBlockchainName): boolean;
12
12
  static isSupportedTrade(blockchain: EvmBlockchainName, fromAddress: string, toAddress: string): boolean;
@@ -1,10 +1,10 @@
1
1
  import { EvmEncodeConfig } from '../../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/models/evm-encode-config';
2
2
  import { SolanaOnChainTrade } from '../on-chain-trade/solana-on-chain-trade/solana-on-chain-trade';
3
- import { GetToAmountAndTxDataResponse } from './models/aggregator-on-chain-types';
3
+ import { EvmEncodedConfigAndToAmount } from './models/aggregator-on-chain-types';
4
4
  export declare abstract class AggregatorSolanaOnChainTrade extends SolanaOnChainTrade {
5
5
  protected getTxConfigAndCheckAmount(receiverAddress?: string, fromAddress?: string, directTransaction?: EvmEncodeConfig): Promise<EvmEncodeConfig>;
6
6
  /**
7
7
  * @description Returns data for method OnChainTrade.checkAmountChange and EvmEncodeConfig value
8
8
  */
9
- protected abstract getToAmountAndTxData(receiverAddress?: string, fromAddress?: string): Promise<GetToAmountAndTxDataResponse>;
9
+ protected abstract getToAmountAndTxData(receiverAddress?: string, fromAddress?: string): Promise<EvmEncodedConfigAndToAmount>;
10
10
  }
@@ -1,5 +1,5 @@
1
1
  import { EvmEncodeConfig } from '../../../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/models/evm-encode-config';
2
- export interface GetToAmountAndTxDataResponse {
2
+ export interface EvmEncodedConfigAndToAmount {
3
3
  tx: EvmEncodeConfig;
4
4
  toAmount: string;
5
5
  }
@@ -11,7 +11,7 @@ import { SwapTransactionOptions } from '../../../../../../common/models/swap-tra
11
11
  import { FeeInfo } from '../../../../../../cross-chain/calculation-manager/providers/common/models/fee-info';
12
12
  import { GetContractParamsOptions } from '../../../../../../cross-chain/calculation-manager/providers/common/models/get-contract-params-options';
13
13
  import { IsDeflationToken } from '../../../../../../deflation-token-manager/models/is-deflation-token';
14
- import { GetToAmountAndTxDataResponse } from '../../on-chain-aggregator/models/aggregator-on-chain-types';
14
+ import { EvmEncodedConfigAndToAmount } from '../../on-chain-aggregator/models/aggregator-on-chain-types';
15
15
  import { EvmOnChainTradeStruct } from './models/evm-on-chain-trade-struct';
16
16
  import { GasFeeInfo } from './models/gas-fee-info';
17
17
  import { OptionsGasParams, TransactionGasParams } from './models/gas-params';
@@ -77,7 +77,7 @@ export declare abstract class EvmOnChainTrade extends OnChainTrade {
77
77
  protected isDeflationError(): boolean;
78
78
  protected getGasParams(options: OptionsGasParams, calculatedGasFee?: OptionsGasParams): TransactionGasParams;
79
79
  protected getSwapData(options: GetContractParamsOptions): Promise<unknown[]>;
80
- protected abstract getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<GetToAmountAndTxDataResponse>;
80
+ protected abstract getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
81
81
  protected setTransactionConfig(options: EncodeTransactionOptions): Promise<EvmEncodeConfig>;
82
82
  protected getSwapError(err: Error & {
83
83
  code: number;
@@ -131,7 +131,7 @@ class OnChainTrade {
131
131
  checkAmountChange(newWeiAmount, oldWeiAmount) {
132
132
  const oldAmount = new bignumber_js_1.default(oldWeiAmount);
133
133
  const newAmount = new bignumber_js_1.default(newWeiAmount);
134
- const changePercent = 0.5;
134
+ const changePercent = 0.01;
135
135
  const acceptablePercentPriceChange = new bignumber_js_1.default(changePercent).dividedBy(100);
136
136
  const amountPlusPercent = oldAmount.multipliedBy(acceptablePercentPriceChange.plus(1));
137
137
  const amountMinusPercent = oldAmount.multipliedBy(new bignumber_js_1.default(1).minus(acceptablePercentPriceChange));
@@ -1 +1 @@
1
- {"version":3,"file":"on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/common/on-chain-trade/on-chain-trade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/common/on-chain-trade/on-chain-trade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { TonEncodedConfig } from '../../../../../../../../core/blockchain/web3-private-service/web3-private/ton-web3-private/models/ton-types';
2
+ export interface TonEncodedConfigAndToAmount {
3
+ tx: TonEncodedConfig;
4
+ toAmount: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ton--on-chian-trade-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ton--on-chian-trade-types.js","sourceRoot":"","sources":["../../../../../../../../../src/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/models/ton--on-chian-trade-types.ts"],"names":[],"mappings":""}
@@ -10,6 +10,7 @@ import { TransactionConfig } from 'web3-core';
10
10
  import { OnChainTradeStruct } from '../evm-on-chain-trade/models/evm-on-chain-trade-struct';
11
11
  import { GasFeeInfo } from '../evm-on-chain-trade/models/gas-fee-info';
12
12
  import { OnChainTrade } from '../on-chain-trade';
13
+ import { TonEncodedConfigAndToAmount } from './models/ton--on-chian-trade-types';
13
14
  export declare abstract class TonOnChainTrade extends OnChainTrade {
14
15
  readonly from: PriceTokenAmount;
15
16
  readonly to: PriceTokenAmount;
@@ -17,6 +18,8 @@ export declare abstract class TonOnChainTrade extends OnChainTrade {
17
18
  readonly path: ReadonlyArray<Token>;
18
19
  readonly feeInfo: FeeInfo;
19
20
  readonly gasFeeInfo: GasFeeInfo | null;
21
+ protected readonly fromWithoutFee: PriceTokenAmount<TonBlockchainName>;
22
+ private skipAmountCheck;
20
23
  protected get spenderAddress(): string;
21
24
  protected get web3Public(): TonWeb3Public;
22
25
  protected get web3Private(): TonWeb3Private;
@@ -27,4 +30,6 @@ export declare abstract class TonOnChainTrade extends OnChainTrade {
27
30
  swap(options?: SwapTransactionOptions): Promise<string>;
28
31
  encode(options: EncodeTransactionOptions): Promise<TonEncodedConfig>;
29
32
  abstract encodeDirect(options: EncodeTransactionOptions): Promise<TonEncodedConfig>;
33
+ private handleAmountCheckBeforeSwap;
34
+ protected abstract getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<TonEncodedConfigAndToAmount>;
30
35
  }
@@ -19,11 +19,13 @@ class TonOnChainTrade extends on_chain_trade_1.OnChainTrade {
19
19
  constructor(tradeStruct, providerAddress) {
20
20
  super(providerAddress);
21
21
  this.feeInfo = {};
22
+ this.skipAmountCheck = false;
22
23
  this.from = tradeStruct.from;
23
24
  this.to = tradeStruct.to;
24
25
  this.slippageTolerance = tradeStruct.slippageTolerance;
25
26
  this.gasFeeInfo = tradeStruct.gasFeeInfo;
26
27
  this.path = tradeStruct.path;
28
+ this.fromWithoutFee = tradeStruct.fromWithoutFee;
27
29
  }
28
30
  async needApprove() {
29
31
  return false;
@@ -49,6 +51,7 @@ class TonOnChainTrade extends on_chain_trade_1.OnChainTrade {
49
51
  const tonEncodedConfig = await this.encode({
50
52
  fromAddress,
51
53
  receiverAddress,
54
+ skipAmountCheck: this.skipAmountCheck,
52
55
  ...(options?.referrer && { referrer: options?.referrer })
53
56
  });
54
57
  try {
@@ -65,8 +68,16 @@ class TonOnChainTrade extends on_chain_trade_1.OnChainTrade {
65
68
  async encode(options) {
66
69
  await this.checkFromAddress(options.fromAddress);
67
70
  await this.checkReceiverAddress(options.receiverAddress);
71
+ if (!options.skipAmountCheck) {
72
+ this.skipAmountCheck = true;
73
+ await this.handleAmountCheckBeforeSwap(options);
74
+ }
68
75
  return this.encodeDirect(options);
69
76
  }
77
+ async handleAmountCheckBeforeSwap(options) {
78
+ const { toAmount } = await this.getTransactionConfigAndAmount(options);
79
+ this.checkAmountChange(toAmount, this.to.stringWeiAmount);
80
+ }
70
81
  }
71
82
  exports.TonOnChainTrade = TonOnChainTrade;
72
83
  //# sourceMappingURL=ton-on-chain-trade.js.map
@@ -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,8CAAkD;AAElD,oDAAqD;AACrD,gFAAgG;AAIhG,yDAAsD;AAQtD,sDAAiD;AAEjD,MAAsB,eAAgB,SAAQ,6BAAY;IAatD,IAAc,cAAc;QACxB,MAAM,IAAI,sBAAa,CAAC,qBAAqB,CAAC,CAAC;IACnD,CAAC;IAED,IAAc,UAAU;QACpB,OAAO,mBAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,iCAAe,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAED,IAAc,WAAW;QACrB,OAAO,mBAAQ,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,iCAAe,CAAC,GAAG,CAAC,CAAC;IACvF,CAAC;IAED,YAAY,WAAkD,EAAE,eAAuB;QACnF,KAAK,CAAC,eAAe,CAAC,CAAC;QAjBX,YAAO,GAAY,EAAE,CAAC;QAkBlC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IACjC,CAAC;IAEe,KAAK,CAAC,WAAW;QAC7B,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,MAAM,IAAI,sBAAa,CAAC,yBAAyB,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,aAAa;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,UAAkC,EAAE;QAClD,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE/C,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAC9B,IAAI,eAAuB,CAAC;QAC5B,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;YACvC,IAAI,SAAS,EAAE;gBACX,SAAS,CAAC,IAAI,CAAC,CAAC;aACnB;YACD,eAAe,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;QACvC,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC;QAEtE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;YACvC,WAAW;YACX,eAAe;YACf,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;SAC5D,CAAC,CAAC;QAEH,IAAI;YACA,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;gBACnC,iBAAiB;gBACjB,QAAQ,EAAE,CAAC,gBAAgB,CAAC;aAC/B,CAAC,CAAC;YACH,OAAO,eAAgB,CAAC;SAC3B;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAA,mBAAU,EAAC,GAAG,CAAC,CAAC;SACzB;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAiC;QACjD,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEzD,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;CAGJ;AAtFD,0CAsFC"}
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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"}
@@ -1,6 +1,6 @@
1
1
  import { EncodeTransactionOptions } from '../../../../../../common/models/encode-transaction-options';
2
2
  import { OnChainTradeType } from '../../../common/models/on-chain-trade-type';
3
- import { GetToAmountAndTxDataResponse } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
3
+ import { EvmEncodedConfigAndToAmount } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
4
4
  import { EvmOnChainTrade } from '../../../common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade';
5
5
  import { CurveOnChainTradeStruct } from './models/curve-on-chain-trade-struct';
6
6
  export declare abstract class CurveAbstractTrade extends EvmOnChainTrade {
@@ -9,5 +9,5 @@ export declare abstract class CurveAbstractTrade extends EvmOnChainTrade {
9
9
  readonly dexContractAddress: string;
10
10
  private readonly poolAddress;
11
11
  constructor(tradeStruct: CurveOnChainTradeStruct, providerAddress: string);
12
- protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<GetToAmountAndTxDataResponse>;
12
+ protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
13
13
  }
@@ -1,7 +1,7 @@
1
1
  import BigNumber from 'bignumber.js';
2
2
  import { EncodeTransactionOptions } from '../../../../../../common/models/encode-transaction-options';
3
3
  import { OnChainTradeType } from '../../../common/models/on-chain-trade-type';
4
- import { GetToAmountAndTxDataResponse } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
4
+ import { EvmEncodedConfigAndToAmount } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
5
5
  import { EvmOnChainTrade } from '../../../common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade';
6
6
  import { IzumiTradeStruct } from './models/izumi-trade-struct';
7
7
  export declare class IzumiTrade extends EvmOnChainTrade {
@@ -10,6 +10,6 @@ export declare class IzumiTrade extends EvmOnChainTrade {
10
10
  readonly dexContractAddress: string;
11
11
  private readonly swapConfig;
12
12
  private readonly strictERC20Token;
13
- protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<GetToAmountAndTxDataResponse>;
13
+ protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
14
14
  constructor(tradeStruct: IzumiTradeStruct, providerAddress: string);
15
15
  }
@@ -1,14 +1,14 @@
1
1
  import BigNumber from 'bignumber.js';
2
2
  import { EncodeTransactionOptions } from '../../../../../../common/models/encode-transaction-options';
3
3
  import { OnChainTradeType } from '../../../common/models/on-chain-trade-type';
4
- import { GetToAmountAndTxDataResponse } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
4
+ import { EvmEncodedConfigAndToAmount } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
5
5
  import { EvmOnChainTrade } from '../../../common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade';
6
6
  import { PancakeRouterTradeStruct } from './models/pancake-router-trade-struct';
7
7
  export declare class PancakeRouterTrade extends EvmOnChainTrade {
8
8
  static getGasLimit(tradeStruct: PancakeRouterTradeStruct, providerAddress: string): Promise<BigNumber | null>;
9
9
  get type(): OnChainTradeType;
10
10
  readonly dexContractAddress: string;
11
- protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<GetToAmountAndTxDataResponse>;
11
+ protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
12
12
  private readonly trade;
13
13
  constructor(tradeStruct: PancakeRouterTradeStruct, providerAddress: string);
14
14
  }
@@ -1,7 +1,7 @@
1
1
  import BigNumber from 'bignumber.js';
2
2
  import { EncodeTransactionOptions } from '../../../../../../common/models/encode-transaction-options';
3
3
  import { OnChainTradeType } from '../../../common/models/on-chain-trade-type';
4
- import { GetToAmountAndTxDataResponse } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
4
+ import { EvmEncodedConfigAndToAmount } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
5
5
  import { EvmOnChainTrade } from '../../../common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade';
6
6
  import { EvmOnChainTradeStruct } from '../../../common/on-chain-trade/evm-on-chain-trade/models/evm-on-chain-trade-struct';
7
7
  import { BestPathsWithAmounts } from './utils/typings';
@@ -18,6 +18,6 @@ export declare class SyncSwapAbstractTrade extends EvmOnChainTrade {
18
18
  constructor(tradeStruct: EvmOnChainTradeStruct & {
19
19
  bestPathWithAmounts: BestPathsWithAmounts;
20
20
  }, providerAddress: string, dexContractAddress: string);
21
- protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<GetToAmountAndTxDataResponse>;
21
+ protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
22
22
  getCallParameters(receiverAddress?: string): unknown[];
23
23
  }
@@ -7,7 +7,7 @@ import { ContractMulticallResponse } from '../../../../../../../core/blockchain/
7
7
  import { EncodeTransactionOptions } from '../../../../../../common/models/encode-transaction-options';
8
8
  import { SwapTransactionOptions } from '../../../../../../common/models/swap-transaction-options';
9
9
  import { OnChainTradeType } from '../../../common/models/on-chain-trade-type';
10
- import { GetToAmountAndTxDataResponse } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
10
+ import { EvmEncodedConfigAndToAmount } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
11
11
  import { EvmOnChainTrade } from '../../../common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade';
12
12
  import { Exact } from '../../../common/on-chain-trade/evm-on-chain-trade/models/exact';
13
13
  import { ExactInputOutputSwapMethodsList } from './constants/SWAP_METHOD';
@@ -52,7 +52,7 @@ export declare abstract class UniswapV2AbstractTrade extends EvmOnChainTrade {
52
52
  amountIn: string;
53
53
  amountOut: string;
54
54
  };
55
- protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<GetToAmountAndTxDataResponse>;
55
+ protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
56
56
  protected getSwapError(err: Error & {
57
57
  code: number;
58
58
  }): Error;
@@ -4,7 +4,7 @@ import { EvmBlockchainName } from '../../../../../../../core/blockchain/models/b
4
4
  import { MethodData } from '../../../../../../../core/blockchain/web3-public-service/web3-public/models/method-data';
5
5
  import { EncodeTransactionOptions } from '../../../../../../common/models/encode-transaction-options';
6
6
  import { OnChainTradeType } from '../../../common/models/on-chain-trade-type';
7
- import { GetToAmountAndTxDataResponse } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
7
+ import { EvmEncodedConfigAndToAmount } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
8
8
  import { EvmOnChainTrade } from '../../../common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade';
9
9
  import { Exact } from '../../../common/on-chain-trade/evm-on-chain-trade/models/exact';
10
10
  import { CreateTradeInstance } from './models/create-trade-instance';
@@ -34,7 +34,7 @@ export declare abstract class UniswapV3AlgebraAbstractTrade extends EvmOnChainTr
34
34
  * Returns swap `exactInput` method's name and arguments to use in `swap contract`.
35
35
  */
36
36
  protected abstract getSwapRouterExactInputMethodData(walletAddress: string): MethodData;
37
- protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<GetToAmountAndTxDataResponse>;
37
+ protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
38
38
  private getSwapRouterMethodData;
39
39
  /**
40
40
  * Returns encoded data of estimated gas function and default estimated gas.
@@ -1,6 +1,6 @@
1
1
  import { EncodeTransactionOptions } from '../../../../../../common/models/encode-transaction-options';
2
2
  import { OnChainTradeType } from '../../../common/models/on-chain-trade-type';
3
- import { GetToAmountAndTxDataResponse } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
3
+ import { EvmEncodedConfigAndToAmount } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
4
4
  import { EvmOnChainTrade } from '../../../common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade';
5
5
  import { VooiTradeStruct } from './models/vooi-trade-struct';
6
6
  export declare abstract class VooiAbstractTrade extends EvmOnChainTrade {
@@ -11,5 +11,5 @@ export declare abstract class VooiAbstractTrade extends EvmOnChainTrade {
11
11
  readonly type: "VOOI";
12
12
  abstract readonly dexContractAddress: string;
13
13
  constructor(tradeStruct: VooiTradeStruct, providerAddress: string);
14
- protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<GetToAmountAndTxDataResponse>;
14
+ protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
15
15
  }
@@ -2,7 +2,7 @@ import { EvmWeb3Private } from '../../../../../../../core/blockchain/web3-privat
2
2
  import { EncodeTransactionOptions } from '../../../../../../common/models/encode-transaction-options';
3
3
  import { GetContractParamsOptions } from '../../../../../../cross-chain/calculation-manager/providers/common/models/get-contract-params-options';
4
4
  import { OnChainTradeType } from '../../../common/models/on-chain-trade-type';
5
- import { GetToAmountAndTxDataResponse } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
5
+ import { EvmEncodedConfigAndToAmount } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
6
6
  import { ExactInputOutputSwapMethodsList } from '../../common/uniswap-v2-abstract/constants/SWAP_METHOD';
7
7
  import { UniswapV2AbstractTrade } from '../../common/uniswap-v2-abstract/uniswap-v2-abstract-trade';
8
8
  export declare class EddyFinanceModeTrade extends UniswapV2AbstractTrade {
@@ -10,7 +10,7 @@ export declare class EddyFinanceModeTrade extends UniswapV2AbstractTrade {
10
10
  readonly dexContractAddress = "0xc1e624C810D297FD70eF53B0E08F44FABE468591";
11
11
  static readonly swapMethods: ExactInputOutputSwapMethodsList;
12
12
  protected get spenderAddress(): string;
13
- protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<GetToAmountAndTxDataResponse>;
13
+ protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
14
14
  protected getCallParameters(receiverAddress?: string): unknown[];
15
15
  protected getSwapParametersByMethod(method: string): Parameters<InstanceType<typeof EvmWeb3Private>['executeContractMethod']>;
16
16
  protected getSwapData(options: GetContractParamsOptions): Promise<unknown[]>;
@@ -2,7 +2,7 @@ import { EvmWeb3Private } from '../../../../../../../core/blockchain/web3-privat
2
2
  import { EncodeTransactionOptions } from '../../../../../../common/models/encode-transaction-options';
3
3
  import { GetContractParamsOptions } from '../../../../../../cross-chain/calculation-manager/providers/common/models/get-contract-params-options';
4
4
  import { OnChainTradeType } from '../../../common/models/on-chain-trade-type';
5
- import { GetToAmountAndTxDataResponse } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
5
+ import { EvmEncodedConfigAndToAmount } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
6
6
  import { ExactInputOutputSwapMethodsList } from '../../common/uniswap-v2-abstract/constants/SWAP_METHOD';
7
7
  import { UniswapV2AbstractTrade } from '../../common/uniswap-v2-abstract/uniswap-v2-abstract-trade';
8
8
  export declare class EddyFinanceTrade extends UniswapV2AbstractTrade {
@@ -10,7 +10,7 @@ export declare class EddyFinanceTrade extends UniswapV2AbstractTrade {
10
10
  readonly dexContractAddress = "0x2ca7d64A7EFE2D62A725E2B35Cf7230D6677FfEe";
11
11
  static readonly swapMethods: ExactInputOutputSwapMethodsList;
12
12
  protected get spenderAddress(): string;
13
- protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<GetToAmountAndTxDataResponse>;
13
+ protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
14
14
  protected getCallParameters(): unknown[];
15
15
  protected getSwapParametersByMethod(method: string): Parameters<InstanceType<typeof EvmWeb3Private>['executeContractMethod']>;
16
16
  protected getSwapData(options: GetContractParamsOptions): Promise<unknown[]>;
package/lib/index.d.ts CHANGED
@@ -75,7 +75,6 @@ export * from './core/blockchain/models/ton/ton-center-types';
75
75
  export * from './core/blockchain/models/ton/tonapi-types';
76
76
  export * from './core/blockchain/models/web3-primitive-type';
77
77
  export * from './core/blockchain/services/constants/ton-constants';
78
- export * from './core/blockchain/services/ton/ton-utils';
79
78
  export * from './core/blockchain/services/ton/tonapi-service';
80
79
  export * from './core/blockchain/utils/blockchains-info/blockchains-info';
81
80
  export * from './core/blockchain/utils/blockchains-info/constants/blockchain-id';
@@ -641,6 +640,7 @@ export * from './features/on-chain/calculation-manager/providers/common/on-chain
641
640
  export * from './features/on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/models/permit2-approve-config';
642
641
  export * from './features/on-chain/calculation-manager/providers/common/on-chain-trade/on-chain-trade';
643
642
  export * from './features/on-chain/calculation-manager/providers/common/on-chain-trade/solana-on-chain-trade/solana-on-chain-trade';
643
+ export * from './features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/models/ton--on-chian-trade-types';
644
644
  export * from './features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade';
645
645
  export * from './features/on-chain/calculation-manager/providers/common/on-chain-trade/tron-on-chain-trade/tron-on-chain-trade';
646
646
  export * from './features/on-chain/calculation-manager/providers/common/utils/get-gas-fee-info';
package/lib/index.js CHANGED
@@ -92,7 +92,6 @@ __exportStar(require("./core/blockchain/models/ton/ton-center-types"), exports);
92
92
  __exportStar(require("./core/blockchain/models/ton/tonapi-types"), exports);
93
93
  __exportStar(require("./core/blockchain/models/web3-primitive-type"), exports);
94
94
  __exportStar(require("./core/blockchain/services/constants/ton-constants"), exports);
95
- __exportStar(require("./core/blockchain/services/ton/ton-utils"), exports);
96
95
  __exportStar(require("./core/blockchain/services/ton/tonapi-service"), exports);
97
96
  __exportStar(require("./core/blockchain/utils/blockchains-info/blockchains-info"), exports);
98
97
  __exportStar(require("./core/blockchain/utils/blockchains-info/constants/blockchain-id"), exports);
@@ -658,6 +657,7 @@ __exportStar(require("./features/on-chain/calculation-manager/providers/common/o
658
657
  __exportStar(require("./features/on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/models/permit2-approve-config"), exports);
659
658
  __exportStar(require("./features/on-chain/calculation-manager/providers/common/on-chain-trade/on-chain-trade"), exports);
660
659
  __exportStar(require("./features/on-chain/calculation-manager/providers/common/on-chain-trade/solana-on-chain-trade/solana-on-chain-trade"), exports);
660
+ __exportStar(require("./features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/models/ton--on-chian-trade-types"), exports);
661
661
  __exportStar(require("./features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade"), exports);
662
662
  __exportStar(require("./features/on-chain/calculation-manager/providers/common/on-chain-trade/tron-on-chain-trade/tron-on-chain-trade"), exports);
663
663
  __exportStar(require("./features/on-chain/calculation-manager/providers/common/utils/get-gas-fee-info"), exports);