rubic-sdk 5.32.4-alpha.wl.1 → 5.32.4-alpha.wl.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-swap-api.d.ts +1 -0
- package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.d.ts +1 -3
- package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.js +4 -6
- 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 +0 -1
- package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.js +0 -1
- package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/archon-bridge/archon-bridge-trade.js +1 -2
- package/lib/features/cross-chain/calculation-manager/providers/archon-bridge/archon-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/evm-bridgers-trade/evm-bridgers-cross-chain-trade.js +1 -2
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/evm-bridgers-trade/evm-bridgers-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/utils/get-proxy-method-arguments-and-transaction-data.js +7 -0
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/utils/get-proxy-method-arguments-and-transaction-data.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/cbridge/cbridge-cross-chain-trade.js +1 -2
- package/lib/features/cross-chain/calculation-manager/providers/cbridge/cbridge-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.js +1 -2
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.js +4 -7
- package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/common/models/bridge-type.d.ts +1 -2
- package/lib/features/cross-chain/calculation-manager/providers/common/models/default-bridge-type.d.ts +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/chains/debridge-evm-cross-chain-trade.js +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/chains/debridge-evm-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-trade.js +1 -2
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-trade.js +1 -2
- package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-trade.js +1 -2
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.js +1 -2
- package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.js +1 -2
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-trade.js +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.js +1 -2
- package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-trade.js +1 -2
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js +2 -3
- 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 +0 -2
- 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/features/on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade.js +0 -1
- package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade.js.map +1 -1
- package/lib/index.d.ts +0 -11
- package/lib/index.js +0 -11
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-blockchain-supported-pools.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-blockchain-supported-pools.js +0 -72
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-blockchain-supported-pools.js.map +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-bridge-token.d.ts +0 -11
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-bridge-token.js +0 -14
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-bridge-token.js.map +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-chain-id.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-chain-id.js +0 -24
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-chain-id.js.map +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-contract-address.d.ts +0 -5
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-contract-address.js +0 -81
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-contract-address.js.map +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-cross-chain-supported-blockchains.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-cross-chain-supported-blockchains.js +0 -24
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-cross-chain-supported-blockchains.js.map +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-abi.d.ts +0 -5
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-abi.js +0 -181
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-abi.js.map +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-id.d.ts +0 -16
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-id.js +0 -26
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-id.js.map +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-token-address.d.ts +0 -5
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-token-address.js +0 -64
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-token-address.js.map +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/modal/stargate-v2-quote-params-struct.d.ts +0 -17
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/modal/stargate-v2-quote-params-struct.js +0 -3
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/modal/stargate-v2-quote-params-struct.js.map +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.d.ts +0 -18
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.js +0 -198
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.js.map +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.d.ts +0 -56
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.js +0 -170
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.js.map +0 -1
@@ -1,5 +0,0 @@
|
|
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 {};
|
@@ -1,64 +0,0 @@
|
|
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
|
@@ -1 +0,0 @@
|
|
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"}
|
@@ -1,17 +0,0 @@
|
|
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
|
-
}
|
@@ -1 +0,0 @@
|
|
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":""}
|
@@ -1,18 +0,0 @@
|
|
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
|
-
}
|
@@ -1,198 +0,0 @@
|
|
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
|
@@ -1 +0,0 @@
|
|
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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"}
|
@@ -1,56 +0,0 @@
|
|
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
|
-
}
|
@@ -1,170 +0,0 @@
|
|
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.StargateV2CrossChainTrade = void 0;
|
7
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
8
|
-
const errors_1 = require("../../../../../common/errors");
|
9
|
-
const evm_web3_pure_1 = require("../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/evm-web3-pure");
|
10
|
-
const injector_1 = require("../../../../../core/injector/injector");
|
11
|
-
const cross_chain_trade_type_1 = require("../../models/cross-chain-trade-type");
|
12
|
-
const get_cross_chain_gas_data_1 = require("../../utils/get-cross-chain-gas-data");
|
13
|
-
const rubic_proxy_contract_address_1 = require("../common/constants/rubic-proxy-contract-address");
|
14
|
-
const evm_common_cross_chain_abi_1 = require("../common/emv-cross-chain-trade/constants/evm-common-cross-chain-abi");
|
15
|
-
const gateway_rubic_cross_chain_abi_1 = require("../common/emv-cross-chain-trade/constants/gateway-rubic-cross-chain-abi");
|
16
|
-
const evm_cross_chain_trade_1 = require("../common/emv-cross-chain-trade/evm-cross-chain-trade");
|
17
|
-
const bridge_type_1 = require("../common/models/bridge-type");
|
18
|
-
const proxy_cross_chain_evm_trade_1 = require("../common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade");
|
19
|
-
const stargate_v2_contract_address_1 = require("./constants/stargate-v2-contract-address");
|
20
|
-
const stargate_v2_pool_abi_1 = require("./constants/stargate-v2-pool-abi");
|
21
|
-
const stargate_v2_token_address_1 = require("./constants/stargate-v2-token-address");
|
22
|
-
class StargateV2CrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
|
23
|
-
get methodName() {
|
24
|
-
return 'startBridgeTokensViaGenericCrossChain';
|
25
|
-
}
|
26
|
-
static async getGasData(from, toToken, feeInfo, slippageTolerance, providerAddress, routePath, sendParams, messagingFee, receiverAddress) {
|
27
|
-
try {
|
28
|
-
const trade = new StargateV2CrossChainTrade({
|
29
|
-
from,
|
30
|
-
to: toToken,
|
31
|
-
slippageTolerance,
|
32
|
-
gasData: null,
|
33
|
-
feeInfo,
|
34
|
-
sendParams,
|
35
|
-
messagingFee,
|
36
|
-
priceImpact: 0,
|
37
|
-
toTokenAmountMin: new bignumber_js_1.default(0)
|
38
|
-
}, providerAddress || evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, routePath);
|
39
|
-
return (0, get_cross_chain_gas_data_1.getCrossChainGasData)(trade, receiverAddress);
|
40
|
-
}
|
41
|
-
catch (_err) {
|
42
|
-
return null;
|
43
|
-
}
|
44
|
-
}
|
45
|
-
get web3Private() {
|
46
|
-
return injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(this.from.blockchain);
|
47
|
-
}
|
48
|
-
get fromBlockchain() {
|
49
|
-
return this.from.blockchain;
|
50
|
-
}
|
51
|
-
get fromContractAddress() {
|
52
|
-
const fromTokenSymbol = stargate_v2_token_address_1.stargateV2TokenAddress[this.from.blockchain][this.fromTokenAddress];
|
53
|
-
return this.isProxyTrade
|
54
|
-
? rubic_proxy_contract_address_1.rubicProxyContractAddress[this.fromBlockchain].gateway
|
55
|
-
: stargate_v2_contract_address_1.stargateV2ContractAddress?.[this.fromBlockchain]?.[fromTokenSymbol];
|
56
|
-
}
|
57
|
-
constructor(crossChainTrade, providerAddress, routePath) {
|
58
|
-
super(providerAddress, routePath);
|
59
|
-
this.type = cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.STARGATE_V2;
|
60
|
-
this.isAggregator = false;
|
61
|
-
this.onChainSubtype = { from: undefined, to: undefined };
|
62
|
-
this.bridgeType = bridge_type_1.BRIDGE_TYPE.STARGATE_V2;
|
63
|
-
this.from = crossChainTrade.from;
|
64
|
-
this.to = crossChainTrade.to;
|
65
|
-
this.feeInfo = crossChainTrade.feeInfo;
|
66
|
-
this.gasData = crossChainTrade.gasData;
|
67
|
-
this.slippageTolerance = crossChainTrade.slippageTolerance;
|
68
|
-
this.stargateV2SendParams = crossChainTrade.sendParams;
|
69
|
-
this.messagingFee = crossChainTrade.messagingFee;
|
70
|
-
this.priceImpact = crossChainTrade.priceImpact;
|
71
|
-
this.toTokenAmountMin = crossChainTrade.toTokenAmountMin;
|
72
|
-
this.fromTokenAddress = this.from.address.toLowerCase();
|
73
|
-
}
|
74
|
-
async getContractParams(options) {
|
75
|
-
const { data, value: providerValue, to } = await this.setTransactionConfig(false, options?.useCacheData || false, options?.receiverAddress);
|
76
|
-
try {
|
77
|
-
const bridgeData = proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getBridgeData({ ...options }, {
|
78
|
-
walletAddress: this.walletAddress,
|
79
|
-
fromTokenAmount: this.from,
|
80
|
-
toTokenAmount: this.to,
|
81
|
-
toAddress: undefined,
|
82
|
-
srcChainTrade: null,
|
83
|
-
providerAddress: this.providerAddress,
|
84
|
-
type: `native:${this.type}`,
|
85
|
-
fromAddress: this.walletAddress
|
86
|
-
});
|
87
|
-
const extraNativeFee = this.from.isNative
|
88
|
-
? new bignumber_js_1.default(providerValue).minus(this.from.stringWeiAmount).toFixed()
|
89
|
-
: new bignumber_js_1.default(providerValue).toFixed();
|
90
|
-
const providerData = await proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getGenericProviderData(to, data, this.fromBlockchain, to, extraNativeFee);
|
91
|
-
const methodArguments = [bridgeData, providerData];
|
92
|
-
const value = this.getSwapValue(providerValue);
|
93
|
-
const transactionConfiguration = evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(rubic_proxy_contract_address_1.rubicProxyContractAddress[this.from.blockchain].router, evm_common_cross_chain_abi_1.evmCommonCrossChainAbi, this.methodName, methodArguments, value);
|
94
|
-
const sendingToken = this.from.isNative ? [] : [this.from.address];
|
95
|
-
const sendingAmount = this.from.isNative ? [] : [this.from.stringWeiAmount];
|
96
|
-
return {
|
97
|
-
contractAddress: rubic_proxy_contract_address_1.rubicProxyContractAddress[this.from.blockchain].gateway,
|
98
|
-
contractAbi: gateway_rubic_cross_chain_abi_1.gatewayRubicCrossChainAbi,
|
99
|
-
methodName: 'startViaRubic',
|
100
|
-
methodArguments: [sendingToken, sendingAmount, transactionConfiguration.data],
|
101
|
-
value
|
102
|
-
};
|
103
|
-
}
|
104
|
-
catch (err) {
|
105
|
-
console.log(err?.message);
|
106
|
-
throw new errors_1.RubicSdkError(err?.message);
|
107
|
-
}
|
108
|
-
}
|
109
|
-
async getTransactionConfigAndAmount(_receiverAddress) {
|
110
|
-
const fromBlockchain = this.from.blockchain;
|
111
|
-
const fromTokenSymbol = stargate_v2_token_address_1.stargateV2TokenAddress[fromBlockchain][this.fromTokenAddress];
|
112
|
-
const contractAddress = stargate_v2_contract_address_1.stargateV2ContractAddress?.[fromBlockchain]?.[fromTokenSymbol];
|
113
|
-
if (!contractAddress) {
|
114
|
-
throw new errors_1.RubicSdkError();
|
115
|
-
}
|
116
|
-
const nativeFee = new bignumber_js_1.default(this.messagingFee.nativeFee);
|
117
|
-
const value = this.from.isNative
|
118
|
-
? new bignumber_js_1.default(this.from.stringWeiAmount).plus(nativeFee).toFixed()
|
119
|
-
: this.messagingFee.nativeFee;
|
120
|
-
const calldata = await evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(contractAddress, stargate_v2_pool_abi_1.stargateV2SendTokenAbi, 'sendToken', [this.stargateV2SendParams, this.messagingFee, this.walletAddress], value);
|
121
|
-
return {
|
122
|
-
config: calldata,
|
123
|
-
amount: this.to.stringWeiAmount
|
124
|
-
};
|
125
|
-
}
|
126
|
-
async swapDirect(options = {}) {
|
127
|
-
this.checkWalletConnected();
|
128
|
-
await this.checkTradeErrors();
|
129
|
-
await this.checkAllowanceAndApprove(options);
|
130
|
-
const { onConfirm, gasLimit, gasPriceOptions } = options;
|
131
|
-
let transactionHash;
|
132
|
-
const onTransactionHash = (hash) => {
|
133
|
-
if (onConfirm) {
|
134
|
-
onConfirm(hash);
|
135
|
-
}
|
136
|
-
transactionHash = hash;
|
137
|
-
};
|
138
|
-
try {
|
139
|
-
const { data, value, to } = await this.setTransactionConfig(false, options?.useCacheData || false, options?.receiverAddress);
|
140
|
-
await this.web3Private.trySendTransaction(to, {
|
141
|
-
data,
|
142
|
-
value,
|
143
|
-
onTransactionHash,
|
144
|
-
gas: gasLimit,
|
145
|
-
gasPriceOptions
|
146
|
-
});
|
147
|
-
return transactionHash;
|
148
|
-
}
|
149
|
-
catch (err) {
|
150
|
-
if (err instanceof errors_1.FailedToCheckForTransactionReceiptError) {
|
151
|
-
return transactionHash;
|
152
|
-
}
|
153
|
-
throw err;
|
154
|
-
}
|
155
|
-
}
|
156
|
-
getTradeAmountRatio(fromUsd) {
|
157
|
-
return fromUsd.dividedBy(this.to.tokenAmount);
|
158
|
-
}
|
159
|
-
getTradeInfo() {
|
160
|
-
return {
|
161
|
-
estimatedGas: this.estimatedGas,
|
162
|
-
feeInfo: this.feeInfo,
|
163
|
-
priceImpact: this.priceImpact,
|
164
|
-
slippage: this.slippageTolerance * 100,
|
165
|
-
routePath: this.routePath
|
166
|
-
};
|
167
|
-
}
|
168
|
-
}
|
169
|
-
exports.StargateV2CrossChainTrade = StargateV2CrossChainTrade;
|
170
|
-
//# sourceMappingURL=stargate-v2-cross-chain-trade.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"stargate-v2-cross-chain-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.ts"],"names":[],"mappings":"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"}
|