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.
- package/lib/features/common/providers/bridgers/models/bridgers-contract-addresses.js +5 -5
- package/lib/features/common/providers/rango/utils/rango-utils.d.ts +1 -1
- package/lib/features/common/providers/rango/utils/rango-utils.js +6 -2
- package/lib/features/common/providers/rango/utils/rango-utils.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.d.ts +3 -1
- package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.js +6 -4
- package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.d.ts +1 -0
- package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.js +1 -0
- package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/common/models/bridge-type.d.ts +2 -1
- package/lib/features/cross-chain/calculation-manager/providers/common/models/default-bridge-type.d.ts +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.js +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-blockchain-supported-pools.d.ts +2 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-blockchain-supported-pools.js +72 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-blockchain-supported-pools.js.map +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-bridge-token.d.ts +11 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-bridge-token.js +14 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-bridge-token.js.map +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-chain-id.d.ts +2 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-chain-id.js +24 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-chain-id.js.map +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-contract-address.d.ts +5 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-contract-address.js +81 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-contract-address.js.map +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-cross-chain-supported-blockchains.d.ts +2 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-cross-chain-supported-blockchains.js +24 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-cross-chain-supported-blockchains.js.map +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-abi.d.ts +5 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-abi.js +181 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-abi.js.map +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-id.d.ts +16 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-id.js +26 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-id.js.map +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-token-address.d.ts +5 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-token-address.js +64 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-token-address.js.map +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/modal/stargate-v2-quote-params-struct.d.ts +17 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/modal/stargate-v2-quote-params-struct.js +3 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/modal/stargate-v2-quote-params-struct.js.map +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.d.ts +18 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.js +198 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.js.map +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.d.ts +56 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.js +170 -0
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.js.map +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-provider.js +2 -4
- package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js +3 -2
- package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.d.ts +2 -0
- package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.js +2 -2
- package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.js.map +1 -1
- package/lib/index.d.ts +11 -0
- package/lib/index.js +11 -0
- package/lib/index.js.map +1 -1
- 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 @@
|
|
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
|
+
}
|