rubic-sdk 5.32.5-alpha.fix.1 → 5.32.5-alpha.rango.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/lib/features/common/providers/bridgers/models/bridgers-contract-addresses.js +5 -5
  2. package/lib/features/common/providers/rango/utils/rango-utils.d.ts +1 -1
  3. package/lib/features/common/providers/rango/utils/rango-utils.js +6 -2
  4. package/lib/features/common/providers/rango/utils/rango-utils.js.map +1 -1
  5. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.d.ts +3 -1
  6. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.js +6 -4
  7. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.js.map +1 -1
  8. package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.d.ts +1 -0
  9. package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.js +1 -0
  10. package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.js.map +1 -1
  11. package/lib/features/cross-chain/calculation-manager/providers/common/models/bridge-type.d.ts +2 -1
  12. package/lib/features/cross-chain/calculation-manager/providers/common/models/default-bridge-type.d.ts +1 -0
  13. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.js +1 -1
  14. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.js.map +1 -1
  15. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-blockchain-supported-pools.d.ts +2 -0
  16. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-blockchain-supported-pools.js +72 -0
  17. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-blockchain-supported-pools.js.map +1 -0
  18. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-bridge-token.d.ts +11 -0
  19. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-bridge-token.js +14 -0
  20. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-bridge-token.js.map +1 -0
  21. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-chain-id.d.ts +2 -0
  22. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-chain-id.js +24 -0
  23. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-chain-id.js.map +1 -0
  24. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-contract-address.d.ts +5 -0
  25. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-contract-address.js +81 -0
  26. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-contract-address.js.map +1 -0
  27. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-cross-chain-supported-blockchains.d.ts +2 -0
  28. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-cross-chain-supported-blockchains.js +24 -0
  29. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-cross-chain-supported-blockchains.js.map +1 -0
  30. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-abi.d.ts +5 -0
  31. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-abi.js +181 -0
  32. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-abi.js.map +1 -0
  33. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-id.d.ts +16 -0
  34. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-id.js +26 -0
  35. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-id.js.map +1 -0
  36. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-token-address.d.ts +5 -0
  37. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-token-address.js +64 -0
  38. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-token-address.js.map +1 -0
  39. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/modal/stargate-v2-quote-params-struct.d.ts +17 -0
  40. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/modal/stargate-v2-quote-params-struct.js +3 -0
  41. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/modal/stargate-v2-quote-params-struct.js.map +1 -0
  42. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.d.ts +18 -0
  43. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.js +198 -0
  44. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.js.map +1 -0
  45. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.d.ts +56 -0
  46. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.js +170 -0
  47. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.js.map +1 -0
  48. package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-provider.js +2 -4
  49. package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-provider.js.map +1 -1
  50. package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js +3 -2
  51. package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js.map +1 -1
  52. package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.d.ts +2 -0
  53. package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.js +2 -2
  54. package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.js.map +1 -1
  55. package/lib/index.d.ts +11 -0
  56. package/lib/index.js +11 -0
  57. package/lib/index.js.map +1 -1
  58. package/package.json +2 -2
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stargateV2PoolBalanceAbi = exports.stargateV2SendTokenAbi = exports.stargateV2SendQuoteAbi = exports.stargateV2PoolAbi = void 0;
4
+ exports.stargateV2PoolAbi = [
5
+ {
6
+ inputs: [
7
+ {
8
+ components: [
9
+ { internalType: 'uint32', name: 'dstEid', type: 'uint32' },
10
+ { internalType: 'bytes32', name: 'to', type: 'bytes32' },
11
+ { internalType: 'uint256', name: 'amountLD', type: 'uint256' },
12
+ { internalType: 'uint256', name: 'minAmountLD', type: 'uint256' },
13
+ { internalType: 'bytes', name: 'extraOptions', type: 'bytes' },
14
+ { internalType: 'bytes', name: 'composeMsg', type: 'bytes' },
15
+ { internalType: 'bytes', name: 'oftCmd', type: 'bytes' }
16
+ ],
17
+ internalType: 'struct SendParam',
18
+ name: '_sendParam',
19
+ type: 'tuple'
20
+ }
21
+ ],
22
+ name: 'quoteOFT',
23
+ outputs: [
24
+ {
25
+ components: [
26
+ { internalType: 'uint256', name: 'minAmountLD', type: 'uint256' },
27
+ { internalType: 'uint256', name: 'maxAmountLD', type: 'uint256' }
28
+ ],
29
+ internalType: 'struct OFTLimit',
30
+ name: 'limit',
31
+ type: 'tuple'
32
+ },
33
+ {
34
+ components: [
35
+ { internalType: 'int256', name: 'feeAmountLD', type: 'int256' },
36
+ { internalType: 'string', name: 'description', type: 'string' }
37
+ ],
38
+ internalType: 'struct OFTFeeDetail[]',
39
+ name: 'oftFeeDetails',
40
+ type: 'tuple[]'
41
+ },
42
+ {
43
+ components: [
44
+ { internalType: 'uint256', name: 'amountSentLD', type: 'uint256' },
45
+ { internalType: 'uint256', name: 'amountReceivedLD', type: 'uint256' }
46
+ ],
47
+ internalType: 'struct OFTReceipt',
48
+ name: 'receipt',
49
+ type: 'tuple'
50
+ }
51
+ ],
52
+ stateMutability: 'view',
53
+ type: 'function'
54
+ }
55
+ ];
56
+ exports.stargateV2SendQuoteAbi = [
57
+ {
58
+ inputs: [
59
+ {
60
+ components: [
61
+ { internalType: 'uint32', name: 'dstEid', type: 'uint32' },
62
+ { internalType: 'bytes32', name: 'to', type: 'bytes32' },
63
+ { internalType: 'uint256', name: 'amountLD', type: 'uint256' },
64
+ { internalType: 'uint256', name: 'minAmountLD', type: 'uint256' },
65
+ { internalType: 'bytes', name: 'extraOptions', type: 'bytes' },
66
+ { internalType: 'bytes', name: 'composeMsg', type: 'bytes' },
67
+ { internalType: 'bytes', name: 'oftCmd', type: 'bytes' }
68
+ ],
69
+ internalType: 'struct SendParam',
70
+ name: '_sendParam',
71
+ type: 'tuple'
72
+ },
73
+ {
74
+ internalType: 'bool',
75
+ name: '_payInLzToken',
76
+ type: 'bool'
77
+ }
78
+ ],
79
+ name: 'quoteSend',
80
+ outputs: [
81
+ {
82
+ components: [
83
+ { internalType: 'uint256', name: 'nativeFee', type: 'uint256' },
84
+ { internalType: 'uint256', name: 'lzTokenFee', type: 'uint256' }
85
+ ],
86
+ internalType: 'struct MessagingFee',
87
+ name: 'fee',
88
+ type: 'tuple'
89
+ }
90
+ ],
91
+ stateMutability: 'view',
92
+ type: 'function'
93
+ }
94
+ ];
95
+ exports.stargateV2SendTokenAbi = [
96
+ {
97
+ inputs: [
98
+ {
99
+ components: [
100
+ { internalType: 'uint32', name: 'dstEid', type: 'uint32' },
101
+ { internalType: 'bytes32', name: 'to', type: 'bytes32' },
102
+ { internalType: 'uint256', name: 'amountLD', type: 'uint256' },
103
+ { internalType: 'uint256', name: 'minAmountLD', type: 'uint256' },
104
+ { internalType: 'bytes', name: 'extraOptions', type: 'bytes' },
105
+ { internalType: 'bytes', name: 'composeMsg', type: 'bytes' },
106
+ { internalType: 'bytes', name: 'oftCmd', type: 'bytes' }
107
+ ],
108
+ internalType: 'struct SendParam',
109
+ name: '_sendParam',
110
+ type: 'tuple'
111
+ },
112
+ {
113
+ components: [
114
+ { internalType: 'uint256', name: 'nativeFee', type: 'uint256' },
115
+ { internalType: 'uint256', name: 'lzTokenFee', type: 'uint256' }
116
+ ],
117
+ internalType: 'struct MessagingFee',
118
+ name: '_fee',
119
+ type: 'tuple'
120
+ },
121
+ { internalType: 'address', name: '_refundAddress', type: 'address' }
122
+ ],
123
+ name: 'sendToken',
124
+ outputs: [
125
+ {
126
+ components: [
127
+ { internalType: 'bytes32', name: 'guid', type: 'bytes32' },
128
+ { internalType: 'uint64', name: 'nonce', type: 'uint64' },
129
+ {
130
+ components: [
131
+ { internalType: 'uint256', name: 'nativeFee', type: 'uint256' },
132
+ { internalType: 'uint256', name: 'lzTokenFee', type: 'uint256' }
133
+ ],
134
+ internalType: 'struct MessagingFee',
135
+ name: 'fee',
136
+ type: 'tuple'
137
+ }
138
+ ],
139
+ internalType: 'struct MessagingReceipt',
140
+ name: 'msgReceipt',
141
+ type: 'tuple'
142
+ },
143
+ {
144
+ components: [
145
+ { internalType: 'uint256', name: 'amountSentLD', type: 'uint256' },
146
+ { internalType: 'uint256', name: 'amountReceivedLD', type: 'uint256' }
147
+ ],
148
+ internalType: 'struct OFTReceipt',
149
+ name: 'oftReceipt',
150
+ type: 'tuple'
151
+ },
152
+ {
153
+ components: [
154
+ { internalType: 'uint72', name: 'ticketId', type: 'uint72' },
155
+ { internalType: 'bytes', name: 'passengerBytes', type: 'bytes' }
156
+ ],
157
+ internalType: 'struct Ticket',
158
+ name: 'ticket',
159
+ type: 'tuple'
160
+ }
161
+ ],
162
+ stateMutability: 'payable',
163
+ type: 'function'
164
+ }
165
+ ];
166
+ exports.stargateV2PoolBalanceAbi = [
167
+ {
168
+ inputs: [],
169
+ name: 'poolBalance',
170
+ outputs: [
171
+ {
172
+ internalType: 'uint256',
173
+ name: '',
174
+ type: 'uint256'
175
+ }
176
+ ],
177
+ stateMutability: 'view',
178
+ type: 'function'
179
+ }
180
+ ];
181
+ //# sourceMappingURL=stargate-v2-pool-abi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stargate-v2-pool-abi.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-abi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { StargateV2BridgeToken } from './stargate-v2-bridge-token';
2
+ import { StargateV2SupportedBlockchains } from './stargate-v2-cross-chain-supported-blockchains';
3
+ declare const pools: {
4
+ readonly USDC: 1;
5
+ readonly "USDC.e": 1;
6
+ readonly USDT: 2;
7
+ readonly "m.USDT": 2;
8
+ readonly ETH: 13;
9
+ readonly WETH: 13;
10
+ readonly METIS: 17;
11
+ readonly mETH: 22;
12
+ };
13
+ export declare const stargateV2PoolId: Record<StargateV2BridgeToken, number>;
14
+ export type StargateV2PoolId = (typeof pools)[keyof typeof pools];
15
+ export declare function getTokenPoolByAddress(blockchain: StargateV2SupportedBlockchains, contractAddress: string): number | null;
16
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTokenPoolByAddress = exports.stargateV2PoolId = void 0;
4
+ const stargate_v2_bridge_token_1 = require("./stargate-v2-bridge-token");
5
+ const stargate_v2_token_address_1 = require("./stargate-v2-token-address");
6
+ const pools = {
7
+ [stargate_v2_bridge_token_1.stargateV2BridgeToken.USDC]: 1,
8
+ [stargate_v2_bridge_token_1.stargateV2BridgeToken.USDCe]: 1,
9
+ [stargate_v2_bridge_token_1.stargateV2BridgeToken.USDT]: 2,
10
+ [stargate_v2_bridge_token_1.stargateV2BridgeToken.mUSD]: 2,
11
+ [stargate_v2_bridge_token_1.stargateV2BridgeToken.ETH]: 13,
12
+ [stargate_v2_bridge_token_1.stargateV2BridgeToken.WETH]: 13,
13
+ [stargate_v2_bridge_token_1.stargateV2BridgeToken.METIS]: 17,
14
+ [stargate_v2_bridge_token_1.stargateV2BridgeToken.METH]: 22
15
+ };
16
+ exports.stargateV2PoolId = pools;
17
+ function getTokenPoolByAddress(blockchain, contractAddress) {
18
+ const tokenAddress = contractAddress.toLowerCase();
19
+ const tokenSymbol = stargate_v2_token_address_1.stargateV2TokenAddress?.[blockchain]?.[tokenAddress];
20
+ if (tokenSymbol) {
21
+ return exports.stargateV2PoolId[tokenSymbol];
22
+ }
23
+ return null;
24
+ }
25
+ exports.getTokenPoolByAddress = getTokenPoolByAddress;
26
+ //# sourceMappingURL=stargate-v2-pool-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stargate-v2-pool-id.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-id.ts"],"names":[],"mappings":";;;AAAA,yEAA0F;AAE1F,2EAAqE;AAErE,MAAM,KAAK,GAAG;IACV,CAAC,gDAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/B,CAAC,gDAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;IAChC,CAAC,gDAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/B,CAAC,gDAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/B,CAAC,gDAAqB,CAAC,GAAG,CAAC,EAAE,EAAE;IAC/B,CAAC,gDAAqB,CAAC,IAAI,CAAC,EAAE,EAAE;IAChC,CAAC,gDAAqB,CAAC,KAAK,CAAC,EAAE,EAAE;IACjC,CAAC,gDAAqB,CAAC,IAAI,CAAC,EAAE,EAAE;CAC1B,CAAC;AAEE,QAAA,gBAAgB,GAA0C,KAAK,CAAC;AAG7E,SAAgB,qBAAqB,CACjC,UAA0C,EAC1C,eAAuB;IAEvB,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,WAAW,GAAG,kDAAsB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IACzE,IAAI,WAAW,EAAE;QACb,OAAO,wBAAgB,CAAC,WAAW,CAAC,CAAC;KACxC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAVD,sDAUC"}
@@ -0,0 +1,5 @@
1
+ import { StargateV2BridgeToken } from './stargate-v2-bridge-token';
2
+ import { StargateV2SupportedBlockchains } from './stargate-v2-cross-chain-supported-blockchains';
3
+ type StargateV2TokenAddress = Record<StargateV2SupportedBlockchains, Partial<Record<string, StargateV2BridgeToken>>>;
4
+ export declare const stargateV2TokenAddress: StargateV2TokenAddress;
5
+ export {};
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stargateV2TokenAddress = void 0;
4
+ const blockchain_name_1 = require("../../../../../../core/blockchain/models/blockchain-name");
5
+ const stargate_v2_bridge_token_1 = require("./stargate-v2-bridge-token");
6
+ exports.stargateV2TokenAddress = {
7
+ [blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM]: {
8
+ '0x0000000000000000000000000000000000000000': stargate_v2_bridge_token_1.stargateV2BridgeToken.ETH,
9
+ '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDC,
10
+ '0xdac17f958d2ee523a2206206994597c13d831ec7': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDT,
11
+ '0x9e32b13ce7f2e80a01932b42553652e053d6ed8e': stargate_v2_bridge_token_1.stargateV2BridgeToken.METIS,
12
+ '0xd5f7838f5c461feff7fe49ea5ebaf7728bb0adfa': stargate_v2_bridge_token_1.stargateV2BridgeToken.METH
13
+ },
14
+ [blockchain_name_1.BLOCKCHAIN_NAME.BINANCE_SMART_CHAIN]: {
15
+ '0x55d398326f99059fF775485246999027B3197955': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDT
16
+ },
17
+ [blockchain_name_1.BLOCKCHAIN_NAME.AVALANCHE]: {
18
+ '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDC,
19
+ '0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDT
20
+ },
21
+ [blockchain_name_1.BLOCKCHAIN_NAME.POLYGON]: {
22
+ '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDC,
23
+ '0xc2132d05d31c914a87c6611c10748aeb04b58e8f': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDT
24
+ },
25
+ [blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM]: {
26
+ '0x0000000000000000000000000000000000000000': stargate_v2_bridge_token_1.stargateV2BridgeToken.ETH,
27
+ '0xaf88d065e77c8cc2239327c5edb3a432268e5831': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDC,
28
+ '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDT
29
+ },
30
+ [blockchain_name_1.BLOCKCHAIN_NAME.OPTIMISM]: {
31
+ '0x0000000000000000000000000000000000000000': stargate_v2_bridge_token_1.stargateV2BridgeToken.ETH,
32
+ '0x0b2c639c533813f4aa9d7837caf62653d097ff85': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDC,
33
+ '0x94b008aa00579c1307b0ef2c499ad98a8ce58e58': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDT
34
+ },
35
+ [blockchain_name_1.BLOCKCHAIN_NAME.METIS]: {
36
+ '0xbb06dca3ae6887fabf931640f67cab3e3a16f4dc': stargate_v2_bridge_token_1.stargateV2BridgeToken.mUSD,
37
+ '0x420000000000000000000000000000000000000a': stargate_v2_bridge_token_1.stargateV2BridgeToken.WETH,
38
+ '0x0000000000000000000000000000000000000000': stargate_v2_bridge_token_1.stargateV2BridgeToken.METIS
39
+ },
40
+ [blockchain_name_1.BLOCKCHAIN_NAME.LINEA]: {
41
+ '0x0000000000000000000000000000000000000000': stargate_v2_bridge_token_1.stargateV2BridgeToken.ETH
42
+ },
43
+ [blockchain_name_1.BLOCKCHAIN_NAME.MANTLE]: {
44
+ '0x09bc4e0d864854c6afb6eb9a9cdf58ac190d0df9': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDC,
45
+ '0x201eba5cc46d216ce6dc03f6a759e8e766e956ae': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDT,
46
+ '0xdeaddeaddeaddeaddeaddeaddeaddeaddead1111': stargate_v2_bridge_token_1.stargateV2BridgeToken.WETH,
47
+ '0xcda86a272531e8640cd7f1a92c01839911b90bb0': stargate_v2_bridge_token_1.stargateV2BridgeToken.METH
48
+ },
49
+ [blockchain_name_1.BLOCKCHAIN_NAME.BASE]: {
50
+ '0x0000000000000000000000000000000000000000': stargate_v2_bridge_token_1.stargateV2BridgeToken.ETH,
51
+ '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDC
52
+ },
53
+ [blockchain_name_1.BLOCKCHAIN_NAME.KAVA]: {
54
+ '0x919c1c267bc06a7039e03fcc2ef738525769109c': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDT
55
+ },
56
+ [blockchain_name_1.BLOCKCHAIN_NAME.SCROLL]: {
57
+ '0x0000000000000000000000000000000000000000': stargate_v2_bridge_token_1.stargateV2BridgeToken.ETH,
58
+ '0x06efdbff2a14a7c8e15944d1f4a48f9f95f663a4': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDCe
59
+ },
60
+ [blockchain_name_1.BLOCKCHAIN_NAME.AURORA]: {
61
+ '0x368ebb46aca6b8d0787c96b2b20bd3cc3f2c45f7': stargate_v2_bridge_token_1.stargateV2BridgeToken.USDC
62
+ }
63
+ };
64
+ //# sourceMappingURL=stargate-v2-token-address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stargate-v2-token-address.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-token-address.ts"],"names":[],"mappings":";;;AAAA,gFAA6E;AAE7E,yEAA0F;AAQ7E,QAAA,sBAAsB,GAA2B;IAC1D,CAAC,iCAAe,CAAC,QAAQ,CAAC,EAAE;QACxB,4CAA4C,EAAE,gDAAqB,CAAC,GAAG;QACvE,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;QACxE,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;QACxE,4CAA4C,EAAE,gDAAqB,CAAC,KAAK;QACzE,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;KAC3E;IACD,CAAC,iCAAe,CAAC,mBAAmB,CAAC,EAAE;QACnC,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;KAC3E;IACD,CAAC,iCAAe,CAAC,SAAS,CAAC,EAAE;QACzB,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;QACxE,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;KAC3E;IACD,CAAC,iCAAe,CAAC,OAAO,CAAC,EAAE;QACvB,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;QACxE,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;KAC3E;IACD,CAAC,iCAAe,CAAC,QAAQ,CAAC,EAAE;QACxB,4CAA4C,EAAE,gDAAqB,CAAC,GAAG;QACvE,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;QACxE,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;KAC3E;IACD,CAAC,iCAAe,CAAC,QAAQ,CAAC,EAAE;QACxB,4CAA4C,EAAE,gDAAqB,CAAC,GAAG;QACvE,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;QACxE,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;KAC3E;IACD,CAAC,iCAAe,CAAC,KAAK,CAAC,EAAE;QACrB,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;QACxE,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;QACxE,4CAA4C,EAAE,gDAAqB,CAAC,KAAK;KAC5E;IACD,CAAC,iCAAe,CAAC,KAAK,CAAC,EAAE;QACrB,4CAA4C,EAAE,gDAAqB,CAAC,GAAG;KAC1E;IACD,CAAC,iCAAe,CAAC,MAAM,CAAC,EAAE;QACtB,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;QACxE,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;QACxE,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;QACxE,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;KAC3E;IACD,CAAC,iCAAe,CAAC,IAAI,CAAC,EAAE;QACpB,4CAA4C,EAAE,gDAAqB,CAAC,GAAG;QACvE,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;KAC3E;IACD,CAAC,iCAAe,CAAC,IAAI,CAAC,EAAE;QACpB,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;KAC3E;IACD,CAAC,iCAAe,CAAC,MAAM,CAAC,EAAE;QACtB,4CAA4C,EAAE,gDAAqB,CAAC,GAAG;QACvE,4CAA4C,EAAE,gDAAqB,CAAC,KAAK;KAC5E;IACD,CAAC,iCAAe,CAAC,MAAM,CAAC,EAAE;QACtB,4CAA4C,EAAE,gDAAqB,CAAC,IAAI;KAC3E;CACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ export interface StargateV2QuoteParamsStruct {
2
+ dstEid: number;
3
+ to: string;
4
+ amountLD: string;
5
+ minAmountLD: string;
6
+ extraOptions: string;
7
+ composeMsg: string;
8
+ oftCmd: string;
9
+ }
10
+ export interface StargateV2QuoteOFTResponse {
11
+ amountSentLD?: string[];
12
+ amountReceivedLD: string[];
13
+ }
14
+ export interface StargateV2MessagingFee {
15
+ nativeFee: string;
16
+ lzTokenFee: string;
17
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=stargate-v2-quote-params-struct.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stargate-v2-quote-params-struct.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/stargate-v2-provider/modal/stargate-v2-quote-params-struct.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { PriceToken, PriceTokenAmount } from '../../../../../common/tokens';
2
+ import { BlockchainName, EvmBlockchainName } from '../../../../../core/blockchain/models/blockchain-name';
3
+ import { RequiredCrossChainOptions } from '../../models/cross-chain-options';
4
+ import { CrossChainProvider } from '../common/cross-chain-provider';
5
+ import { CalculationResult } from '../common/models/calculation-result';
6
+ import { FeeInfo } from '../common/models/fee-info';
7
+ import { RubicStep } from '../common/models/rubicStep';
8
+ export declare class StargateV2CrossChainProvider extends CrossChainProvider {
9
+ readonly type: "stargate_v2";
10
+ isSupportedBlockchain(fromBlockchain: BlockchainName): boolean;
11
+ calculate(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>, options: RequiredCrossChainOptions): Promise<CalculationResult>;
12
+ private checkMaxAmount;
13
+ protected getFeeInfo(fromBlockchain: Partial<EvmBlockchainName>, providerAddress: string, percentFeeToken: PriceTokenAmount, useProxy: boolean): Promise<FeeInfo>;
14
+ private checkSupportedPools;
15
+ private getReceiveAmount;
16
+ protected getRoutePath(from: PriceTokenAmount, to: PriceTokenAmount): Promise<RubicStep[]>;
17
+ private getNativeFee;
18
+ }
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.StargateV2CrossChainProvider = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const ethers_1 = require("ethers");
9
+ const errors_1 = require("../../../../../common/errors");
10
+ const tokens_1 = require("../../../../../common/tokens");
11
+ const native_tokens_1 = require("../../../../../common/tokens/constants/native-tokens");
12
+ const errors_2 = require("../../../../../common/utils/errors");
13
+ const web3_pure_1 = require("../../../../../core/blockchain/web3-pure/web3-pure");
14
+ const injector_1 = require("../../../../../core/injector/injector");
15
+ const fake_wallet_address_1 = require("../../../../common/constants/fake-wallet-address");
16
+ const get_from_without_fee_1 = require("../../../../common/utils/get-from-without-fee");
17
+ const cross_chain_trade_type_1 = require("../../models/cross-chain-trade-type");
18
+ const cross_chain_provider_1 = require("../common/cross-chain-provider");
19
+ const proxy_cross_chain_evm_trade_1 = require("../common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade");
20
+ const stargate_v2_blockchain_supported_pools_1 = require("./constants/stargate-v2-blockchain-supported-pools");
21
+ const stargate_v2_chain_id_1 = require("./constants/stargate-v2-chain-id");
22
+ const stargate_v2_contract_address_1 = require("./constants/stargate-v2-contract-address");
23
+ const stargate_v2_cross_chain_supported_blockchains_1 = require("./constants/stargate-v2-cross-chain-supported-blockchains");
24
+ const stargate_v2_pool_abi_1 = require("./constants/stargate-v2-pool-abi");
25
+ const stargate_v2_pool_id_1 = require("./constants/stargate-v2-pool-id");
26
+ const stargate_v2_token_address_1 = require("./constants/stargate-v2-token-address");
27
+ const stargate_v2_cross_chain_trade_1 = require("./stargate-v2-cross-chain-trade");
28
+ class StargateV2CrossChainProvider extends cross_chain_provider_1.CrossChainProvider {
29
+ constructor() {
30
+ super(...arguments);
31
+ this.type = cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.STARGATE_V2;
32
+ }
33
+ isSupportedBlockchain(fromBlockchain) {
34
+ return stargate_v2_cross_chain_supported_blockchains_1.stargateV2SupportedBlockchains.some(supportedBlockchain => supportedBlockchain === fromBlockchain);
35
+ }
36
+ async calculate(from, toToken, options) {
37
+ if (!this.isSupportedBlockchain(from.blockchain)) {
38
+ throw new errors_1.NotSupportedBlockchain();
39
+ }
40
+ try {
41
+ const isSupportedPools = this.checkSupportedPools(from, toToken);
42
+ if (!isSupportedPools) {
43
+ return {
44
+ trade: null,
45
+ error: new errors_1.NotSupportedTokensError(),
46
+ tradeType: this.type
47
+ };
48
+ }
49
+ const toBlockchain = toToken.blockchain;
50
+ const useProxy = options?.useProxy?.[this.type] ?? true;
51
+ const fromTokenAddress = from.address.toLowerCase();
52
+ const dstChainId = stargate_v2_chain_id_1.stargateV2ChainIds[toBlockchain];
53
+ const feeInfo = await this.getFeeInfo(from.blockchain, options.providerAddress, from, useProxy);
54
+ const receiverAddress = options?.receiverAddress ||
55
+ this.getWalletAddress(from.blockchain) ||
56
+ fake_wallet_address_1.FAKE_WALLET_ADDRESS;
57
+ const fromWithoutFee = (0, get_from_without_fee_1.getFromWithoutFee)(from, feeInfo.rubicProxy?.platformFee?.percent);
58
+ const maxAmountError = await this.checkMaxAmount(from.blockchain, fromTokenAddress, fromWithoutFee.weiAmount);
59
+ if (maxAmountError) {
60
+ return {
61
+ trade: null,
62
+ error: maxAmountError,
63
+ tradeType: this.type
64
+ };
65
+ }
66
+ const amountLD = fromWithoutFee.stringWeiAmount;
67
+ const sendParams = {
68
+ dstEid: dstChainId,
69
+ to: ethers_1.ethers.utils.hexZeroPad(receiverAddress, 32),
70
+ amountLD: amountLD,
71
+ minAmountLD: amountLD,
72
+ extraOptions: '0x',
73
+ composeMsg: '0x',
74
+ oftCmd: '0x'
75
+ };
76
+ const { amountReceivedLD } = await this.getReceiveAmount(sendParams, from.blockchain, fromTokenAddress);
77
+ const amountReceived = amountReceivedLD[1];
78
+ const slippageAmount = new bignumber_js_1.default(amountReceived).multipliedBy(options.slippageTolerance);
79
+ const minReceivedAmount = new bignumber_js_1.default(amountReceived).minus(slippageAmount);
80
+ sendParams.amountLD = amountReceived;
81
+ sendParams.minAmountLD = minReceivedAmount.toFixed(0);
82
+ const messagingFee = await this.getNativeFee(sendParams, from.blockchain, fromTokenAddress);
83
+ const nativeToken = native_tokens_1.nativeTokensList[from.blockchain];
84
+ const cryptoFeeToken = await tokens_1.PriceTokenAmount.createFromToken({
85
+ ...nativeToken,
86
+ weiAmount: new bignumber_js_1.default(messagingFee.nativeFee)
87
+ });
88
+ const to = new tokens_1.PriceTokenAmount({
89
+ ...toToken.asStruct,
90
+ tokenAmount: web3_pure_1.Web3Pure.fromWei(amountReceived, fromWithoutFee.decimals)
91
+ });
92
+ const routePath = await this.getRoutePath(from, to);
93
+ const gasData = options.gasCalculation === 'enabled'
94
+ ? await stargate_v2_cross_chain_trade_1.StargateV2CrossChainTrade.getGasData(from, to, feeInfo, options.slippageTolerance, options.providerAddress, routePath, sendParams, messagingFee, options.receiverAddress)
95
+ : null;
96
+ return {
97
+ trade: new stargate_v2_cross_chain_trade_1.StargateV2CrossChainTrade({
98
+ from,
99
+ to,
100
+ feeInfo: {
101
+ ...feeInfo,
102
+ provider: {
103
+ cryptoFee: {
104
+ amount: web3_pure_1.Web3Pure.fromWei(messagingFee.nativeFee, nativeToken.decimals),
105
+ token: cryptoFeeToken
106
+ }
107
+ }
108
+ },
109
+ slippageTolerance: options.slippageTolerance,
110
+ gasData,
111
+ sendParams,
112
+ messagingFee,
113
+ priceImpact: from.calculatePriceImpactPercent(to),
114
+ toTokenAmountMin: web3_pure_1.Web3Pure.fromWei(minReceivedAmount, fromWithoutFee.decimals)
115
+ }, options.providerAddress, routePath),
116
+ tradeType: this.type
117
+ };
118
+ }
119
+ catch (err) {
120
+ return {
121
+ trade: null,
122
+ error: (0, errors_2.parseError)(err),
123
+ tradeType: this.type
124
+ };
125
+ }
126
+ }
127
+ async checkMaxAmount(fromBlockchain, tokenAddress, amountToSend) {
128
+ const tokenSymbol = stargate_v2_token_address_1.stargateV2TokenAddress[fromBlockchain][tokenAddress];
129
+ const contractAddress = stargate_v2_contract_address_1.stargateV2ContractAddress[fromBlockchain][tokenSymbol];
130
+ const maxAmount = await injector_1.Injector.web3PublicService
131
+ .getWeb3Public(fromBlockchain)
132
+ .callContractMethod(contractAddress, stargate_v2_pool_abi_1.stargateV2PoolBalanceAbi, 'poolBalance');
133
+ const maxAmounSend = new bignumber_js_1.default(maxAmount);
134
+ if (amountToSend.gt(maxAmounSend)) {
135
+ return new errors_1.MaxAmountError(maxAmounSend, tokenSymbol);
136
+ }
137
+ return null;
138
+ }
139
+ async getFeeInfo(fromBlockchain, providerAddress, percentFeeToken, useProxy) {
140
+ return proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getFeeInfo(fromBlockchain, providerAddress, percentFeeToken, useProxy);
141
+ }
142
+ checkSupportedPools(from, to) {
143
+ const fromBlockchain = from.blockchain;
144
+ const toBlockchain = to.blockchain;
145
+ const srcTokenPool = (0, stargate_v2_pool_id_1.getTokenPoolByAddress)(fromBlockchain, from.address);
146
+ const dstTokenPool = (0, stargate_v2_pool_id_1.getTokenPoolByAddress)(toBlockchain, to.address);
147
+ if (!srcTokenPool || !dstTokenPool) {
148
+ return false;
149
+ }
150
+ const srcSupportedPools = stargate_v2_blockchain_supported_pools_1.stargateV2BlockchainSupportedPools[from.blockchain];
151
+ const dstSupportedPools = stargate_v2_blockchain_supported_pools_1.stargateV2BlockchainSupportedPools[to.blockchain];
152
+ return (srcSupportedPools.includes(srcTokenPool) &&
153
+ dstSupportedPools.includes(dstTokenPool) &&
154
+ srcTokenPool === dstTokenPool);
155
+ }
156
+ async getReceiveAmount(sendParam, fromBlockchain, tokenAddress) {
157
+ const tokenSymbol = stargate_v2_token_address_1.stargateV2TokenAddress[fromBlockchain][tokenAddress];
158
+ const contractAddress = stargate_v2_contract_address_1.stargateV2ContractAddress[fromBlockchain][tokenSymbol];
159
+ try {
160
+ const { 2: amountReceivedLD } = await injector_1.Injector.web3PublicService
161
+ .getWeb3Public(fromBlockchain)
162
+ .callContractMethod(contractAddress, stargate_v2_pool_abi_1.stargateV2PoolAbi, 'quoteOFT', [sendParam]);
163
+ return {
164
+ amountReceivedLD
165
+ };
166
+ }
167
+ catch (err) {
168
+ throw new errors_1.RubicSdkError(err?.message);
169
+ }
170
+ }
171
+ async getRoutePath(from, to) {
172
+ return [
173
+ {
174
+ type: 'cross-chain',
175
+ provider: cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.STARGATE_V2,
176
+ path: [from, to]
177
+ }
178
+ ];
179
+ }
180
+ async getNativeFee(sendParam, fromBlockchain, tokenAddress) {
181
+ const tokenSymbol = stargate_v2_token_address_1.stargateV2TokenAddress[fromBlockchain][tokenAddress];
182
+ const contractAddress = stargate_v2_contract_address_1.stargateV2ContractAddress[fromBlockchain][tokenSymbol];
183
+ try {
184
+ const { 0: nativeFee, 1: lzTokenFee } = await injector_1.Injector.web3PublicService
185
+ .getWeb3Public(fromBlockchain)
186
+ .callContractMethod(contractAddress, stargate_v2_pool_abi_1.stargateV2SendQuoteAbi, 'quoteSend', [sendParam, false]);
187
+ return {
188
+ nativeFee,
189
+ lzTokenFee
190
+ };
191
+ }
192
+ catch (err) {
193
+ throw new errors_1.RubicSdkError(err?.message);
194
+ }
195
+ }
196
+ }
197
+ exports.StargateV2CrossChainProvider = StargateV2CrossChainProvider;
198
+ //# sourceMappingURL=stargate-v2-cross-chain-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stargate-v2-cross-chain-provider.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import { PriceTokenAmount } from '../../../../../common/tokens';
3
+ import { BlockchainName, EvmBlockchainName } from '../../../../../core/blockchain/models/blockchain-name';
4
+ import { EvmWeb3Private } from '../../../../../core/blockchain/web3-private-service/web3-private/evm-web3-private/evm-web3-private';
5
+ import { EvmEncodeConfig } from '../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/models/evm-encode-config';
6
+ import { ContractParams } from '../../../../common/models/contract-params';
7
+ import { SwapTransactionOptions } from '../../../../common/models/swap-transaction-options';
8
+ import { EvmCrossChainTrade } from '../common/emv-cross-chain-trade/evm-cross-chain-trade';
9
+ import { GasData } from '../common/emv-cross-chain-trade/models/gas-data';
10
+ import { FeeInfo } from '../common/models/fee-info';
11
+ import { GetContractParamsOptions } from '../common/models/get-contract-params-options';
12
+ import { OnChainSubtype } from '../common/models/on-chain-subtype';
13
+ import { RubicStep } from '../common/models/rubicStep';
14
+ import { TradeInfo } from '../common/models/trade-info';
15
+ import { StargateV2SupportedBlockchains } from './constants/stargate-v2-cross-chain-supported-blockchains';
16
+ import { StargateV2MessagingFee, StargateV2QuoteParamsStruct } from './modal/stargate-v2-quote-params-struct';
17
+ export declare class StargateV2CrossChainTrade extends EvmCrossChainTrade {
18
+ protected get methodName(): string;
19
+ static getGasData(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceTokenAmount<EvmBlockchainName>, feeInfo: FeeInfo, slippageTolerance: number, providerAddress: string, routePath: RubicStep[], sendParams: StargateV2QuoteParamsStruct, messagingFee: StargateV2MessagingFee, receiverAddress?: string): Promise<GasData | null>;
20
+ protected get web3Private(): EvmWeb3Private;
21
+ readonly from: PriceTokenAmount<EvmBlockchainName>;
22
+ readonly to: PriceTokenAmount<BlockchainName>;
23
+ readonly feeInfo: FeeInfo;
24
+ readonly type: "stargate_v2";
25
+ readonly gasData: GasData;
26
+ readonly toTokenAmountMin: BigNumber;
27
+ readonly isAggregator = false;
28
+ readonly slippageTolerance: number;
29
+ readonly priceImpact: number | null;
30
+ readonly onChainSubtype: OnChainSubtype;
31
+ readonly bridgeType: "stargate_v2";
32
+ readonly messagingFee: StargateV2MessagingFee;
33
+ private readonly fromTokenAddress;
34
+ get fromBlockchain(): StargateV2SupportedBlockchains;
35
+ protected get fromContractAddress(): string;
36
+ private readonly stargateV2SendParams;
37
+ constructor(crossChainTrade: {
38
+ from: PriceTokenAmount<EvmBlockchainName>;
39
+ to: PriceTokenAmount<EvmBlockchainName>;
40
+ slippageTolerance: number;
41
+ gasData: GasData | null;
42
+ feeInfo: FeeInfo;
43
+ sendParams: StargateV2QuoteParamsStruct;
44
+ messagingFee: StargateV2MessagingFee;
45
+ priceImpact: number | null;
46
+ toTokenAmountMin: BigNumber;
47
+ }, providerAddress: string, routePath: RubicStep[]);
48
+ protected getContractParams(options: GetContractParamsOptions): Promise<ContractParams>;
49
+ protected getTransactionConfigAndAmount(_receiverAddress?: string | undefined): Promise<{
50
+ config: EvmEncodeConfig;
51
+ amount: string;
52
+ }>;
53
+ protected swapDirect(options?: SwapTransactionOptions): Promise<string>;
54
+ getTradeAmountRatio(fromUsd: BigNumber): BigNumber;
55
+ getTradeInfo(): TradeInfo;
56
+ }