@1delta/bridge-configs 0.1.0
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/LICENSE +674 -0
- package/dist/configs/across/config.d.ts +4 -0
- package/dist/configs/across/config.d.ts.map +1 -0
- package/dist/configs/across/config.js +317 -0
- package/dist/configs/axelar/abis/AxelarGasService.d.ts +103 -0
- package/dist/configs/axelar/abis/AxelarGasService.d.ts.map +1 -0
- package/dist/configs/axelar/abis/AxelarGasService.js +1073 -0
- package/dist/configs/axelar/abis/AxelarGateway.d.ts +51 -0
- package/dist/configs/axelar/abis/AxelarGateway.d.ts.map +1 -0
- package/dist/configs/axelar/abis/AxelarGateway.js +753 -0
- package/dist/configs/axelar/abis/SquidMulticall.d.ts +47 -0
- package/dist/configs/axelar/abis/SquidMulticall.d.ts.map +1 -0
- package/dist/configs/axelar/abis/SquidMulticall.js +104 -0
- package/dist/configs/axelar/abis/SquidRouter.d.ts +82 -0
- package/dist/configs/axelar/abis/SquidRouter.d.ts.map +1 -0
- package/dist/configs/axelar/abis/SquidRouter.js +837 -0
- package/dist/configs/axelar/calldata/buildTx.d.ts +3 -0
- package/dist/configs/axelar/calldata/buildTx.d.ts.map +1 -0
- package/dist/configs/axelar/calldata/buildTx.js +29 -0
- package/dist/configs/axelar/calldata/index.d.ts +3 -0
- package/dist/configs/axelar/calldata/index.d.ts.map +1 -0
- package/dist/configs/axelar/calldata/index.js +2 -0
- package/dist/configs/axelar/calldata/squid/createSquidMulticallPayload.d.ts +16 -0
- package/dist/configs/axelar/calldata/squid/createSquidMulticallPayload.d.ts.map +1 -0
- package/dist/configs/axelar/calldata/squid/createSquidMulticallPayload.js +76 -0
- package/dist/configs/axelar/calldata/squid/types.d.ts +15 -0
- package/dist/configs/axelar/calldata/squid/types.d.ts.map +1 -0
- package/dist/configs/axelar/calldata/squid/types.js +7 -0
- package/dist/configs/axelar/calldata/types.d.ts +18 -0
- package/dist/configs/axelar/calldata/types.d.ts.map +1 -0
- package/dist/configs/axelar/calldata/types.js +1 -0
- package/dist/configs/axelar/config.d.ts +4 -0
- package/dist/configs/axelar/config.d.ts.map +1 -0
- package/dist/configs/axelar/config.js +99 -0
- package/dist/configs/axelar/data/axelarConfig/index.d.ts +3 -0
- package/dist/configs/axelar/data/axelarConfig/index.d.ts.map +1 -0
- package/dist/configs/axelar/data/axelarConfig/index.js +33 -0
- package/dist/configs/axelar/data/axelarConfig/types.d.ts +181 -0
- package/dist/configs/axelar/data/axelarConfig/types.d.ts.map +1 -0
- package/dist/configs/axelar/data/axelarConfig/types.js +1 -0
- package/dist/configs/axelar/data/squidChains/index.d.ts +6 -0
- package/dist/configs/axelar/data/squidChains/index.d.ts.map +1 -0
- package/dist/configs/axelar/data/squidChains/index.js +61 -0
- package/dist/configs/axelar/data/squidChains/types.d.ts +23 -0
- package/dist/configs/axelar/data/squidChains/types.d.ts.map +1 -0
- package/dist/configs/axelar/data/squidChains/types.js +1 -0
- package/dist/configs/axelar/errors.d.ts +15 -0
- package/dist/configs/axelar/errors.d.ts.map +1 -0
- package/dist/configs/axelar/errors.js +8 -0
- package/dist/configs/axelar/gasEstimation/index.d.ts +7 -0
- package/dist/configs/axelar/gasEstimation/index.d.ts.map +1 -0
- package/dist/configs/axelar/gasEstimation/index.js +38 -0
- package/dist/configs/axelar/gasEstimation/types.d.ts +23 -0
- package/dist/configs/axelar/gasEstimation/types.d.ts.map +1 -0
- package/dist/configs/axelar/gasEstimation/types.js +1 -0
- package/dist/configs/axelar/route/fetchAxelarRoute.d.ts +3 -0
- package/dist/configs/axelar/route/fetchAxelarRoute.d.ts.map +1 -0
- package/dist/configs/axelar/route/fetchAxelarRoute.js +50 -0
- package/dist/configs/axelar/route/index.d.ts +3 -0
- package/dist/configs/axelar/route/index.d.ts.map +1 -0
- package/dist/configs/axelar/route/index.js +2 -0
- package/dist/configs/axelar/route/tokenIdentifier.d.ts +5 -0
- package/dist/configs/axelar/route/tokenIdentifier.d.ts.map +1 -0
- package/dist/configs/axelar/route/tokenIdentifier.js +32 -0
- package/dist/configs/axelar/route/types.d.ts +5 -0
- package/dist/configs/axelar/route/types.d.ts.map +1 -0
- package/dist/configs/axelar/route/types.js +1 -0
- package/dist/configs/butter/config.d.ts +9 -0
- package/dist/configs/butter/config.d.ts.map +1 -0
- package/dist/configs/butter/config.js +207 -0
- package/dist/configs/cowswap/config.d.ts +4 -0
- package/dist/configs/cowswap/config.d.ts.map +1 -0
- package/dist/configs/cowswap/config.js +106 -0
- package/dist/configs/cowswap/errors.d.ts +19 -0
- package/dist/configs/cowswap/errors.d.ts.map +1 -0
- package/dist/configs/cowswap/errors.js +12 -0
- package/dist/configs/cowswap/swap/quote.d.ts +5 -0
- package/dist/configs/cowswap/swap/quote.d.ts.map +1 -0
- package/dist/configs/cowswap/swap/quote.js +28 -0
- package/dist/configs/cowswap/swap/route.d.ts +5 -0
- package/dist/configs/cowswap/swap/route.d.ts.map +1 -0
- package/dist/configs/cowswap/swap/route.js +61 -0
- package/dist/configs/cowswap/track/index.d.ts +6 -0
- package/dist/configs/cowswap/track/index.d.ts.map +1 -0
- package/dist/configs/cowswap/track/index.js +27 -0
- package/dist/configs/cowswap/utils/getCowSwapSlippage.d.ts +4 -0
- package/dist/configs/cowswap/utils/getCowSwapSlippage.d.ts.map +1 -0
- package/dist/configs/cowswap/utils/getCowSwapSlippage.js +16 -0
- package/dist/configs/cowswap/utils/toSupportedChainId.d.ts +3 -0
- package/dist/configs/cowswap/utils/toSupportedChainId.d.ts.map +1 -0
- package/dist/configs/cowswap/utils/toSupportedChainId.js +11 -0
- package/dist/configs/crosscurve/config.d.ts +4 -0
- package/dist/configs/crosscurve/config.d.ts.map +1 -0
- package/dist/configs/crosscurve/config.js +185 -0
- package/dist/configs/gas-zip/chains/fetch.d.ts +10 -0
- package/dist/configs/gas-zip/chains/fetch.d.ts.map +1 -0
- package/dist/configs/gas-zip/chains/fetch.js +29 -0
- package/dist/configs/gas-zip/chains/types.d.ts +25 -0
- package/dist/configs/gas-zip/chains/types.d.ts.map +1 -0
- package/dist/configs/gas-zip/chains/types.js +1 -0
- package/dist/configs/gas-zip/config.d.ts +4 -0
- package/dist/configs/gas-zip/config.d.ts.map +1 -0
- package/dist/configs/gas-zip/config.js +121 -0
- package/dist/configs/index.d.ts +2 -0
- package/dist/configs/index.d.ts.map +1 -0
- package/dist/configs/index.js +41 -0
- package/dist/configs/layerswap/LayerswapNetworks.json +3656 -0
- package/dist/configs/layerswap/config.d.ts +4 -0
- package/dist/configs/layerswap/config.d.ts.map +1 -0
- package/dist/configs/layerswap/config.js +285 -0
- package/dist/configs/lifi/config.d.ts +4 -0
- package/dist/configs/lifi/config.d.ts.map +1 -0
- package/dist/configs/lifi/config.js +104 -0
- package/dist/configs/mayan/calldata/index.d.ts +14 -0
- package/dist/configs/mayan/calldata/index.d.ts.map +1 -0
- package/dist/configs/mayan/calldata/index.js +41 -0
- package/dist/configs/mayan/config.d.ts +4 -0
- package/dist/configs/mayan/config.d.ts.map +1 -0
- package/dist/configs/mayan/config.js +222 -0
- package/dist/configs/odos/config.d.ts +8 -0
- package/dist/configs/odos/config.d.ts.map +1 -0
- package/dist/configs/odos/config.js +127 -0
- package/dist/configs/orbiter/abis/ERC20.d.ts +172 -0
- package/dist/configs/orbiter/abis/ERC20.d.ts.map +1 -0
- package/dist/configs/orbiter/abis/ERC20.js +224 -0
- package/dist/configs/orbiter/abis/OrbiterRouterEVMV3.d.ts +85 -0
- package/dist/configs/orbiter/abis/OrbiterRouterEVMV3.d.ts.map +1 -0
- package/dist/configs/orbiter/abis/OrbiterRouterEVMV3.js +83 -0
- package/dist/configs/orbiter/calldata/index.d.ts +32 -0
- package/dist/configs/orbiter/calldata/index.d.ts.map +1 -0
- package/dist/configs/orbiter/calldata/index.js +59 -0
- package/dist/configs/orbiter/config.d.ts +4 -0
- package/dist/configs/orbiter/config.d.ts.map +1 -0
- package/dist/configs/orbiter/config.js +178 -0
- package/dist/configs/router/config.d.ts +4 -0
- package/dist/configs/router/config.d.ts.map +1 -0
- package/dist/configs/router/config.js +125 -0
- package/dist/configs/squid-v1/config.d.ts +4 -0
- package/dist/configs/squid-v1/config.d.ts.map +1 -0
- package/dist/configs/squid-v1/config.js +133 -0
- package/dist/configs/squid-v2/config.d.ts +4 -0
- package/dist/configs/squid-v2/config.d.ts.map +1 -0
- package/dist/configs/squid-v2/config.js +146 -0
- package/dist/configs/squid-v2/constants.d.ts +2 -0
- package/dist/configs/squid-v2/constants.d.ts.map +1 -0
- package/dist/configs/squid-v2/constants.js +1 -0
- package/dist/configs/stargate/abis/StargatePool.d.ts +41 -0
- package/dist/configs/stargate/abis/StargatePool.d.ts.map +1 -0
- package/dist/configs/stargate/abis/StargatePool.js +318 -0
- package/dist/configs/stargate/abis/TokenMessaging.d.ts +16 -0
- package/dist/configs/stargate/abis/TokenMessaging.d.ts.map +1 -0
- package/dist/configs/stargate/abis/TokenMessaging.js +21 -0
- package/dist/configs/stargate/calldata/constants.d.ts +249 -0
- package/dist/configs/stargate/calldata/constants.d.ts.map +1 -0
- package/dist/configs/stargate/calldata/constants.js +273 -0
- package/dist/configs/stargate/calldata/index.d.ts +6 -0
- package/dist/configs/stargate/calldata/index.d.ts.map +1 -0
- package/dist/configs/stargate/calldata/index.js +127 -0
- package/dist/configs/stargate/calldata/types.d.ts +51 -0
- package/dist/configs/stargate/calldata/types.d.ts.map +1 -0
- package/dist/configs/stargate/calldata/types.js +10 -0
- package/dist/configs/stargate/common/config.d.ts +88 -0
- package/dist/configs/stargate/common/config.d.ts.map +1 -0
- package/dist/configs/stargate/common/config.js +93 -0
- package/dist/configs/stargate/common/constants.d.ts +5 -0
- package/dist/configs/stargate/common/constants.d.ts.map +1 -0
- package/dist/configs/stargate/common/constants.js +7 -0
- package/dist/configs/stargate/common/index.d.ts +3 -0
- package/dist/configs/stargate/common/index.d.ts.map +1 -0
- package/dist/configs/stargate/common/index.js +2 -0
- package/dist/configs/stargate/configs/bus/config.d.ts +4 -0
- package/dist/configs/stargate/configs/bus/config.d.ts.map +1 -0
- package/dist/configs/stargate/configs/bus/config.js +41 -0
- package/dist/configs/stargate/configs/taxi/config.d.ts +4 -0
- package/dist/configs/stargate/configs/taxi/config.d.ts.map +1 -0
- package/dist/configs/stargate/configs/taxi/config.js +58 -0
- package/dist/configs/stargate/types/index.d.ts +12 -0
- package/dist/configs/stargate/types/index.d.ts.map +1 -0
- package/dist/configs/stargate/types/index.js +15 -0
- package/dist/configs/symbiosis/config.d.ts +4 -0
- package/dist/configs/symbiosis/config.d.ts.map +1 -0
- package/dist/configs/symbiosis/config.js +119 -0
- package/dist/configs/utils/index.d.ts +2 -0
- package/dist/configs/utils/index.d.ts.map +1 -0
- package/dist/configs/utils/index.js +3 -0
- package/dist/configs/xy/config.d.ts +4 -0
- package/dist/configs/xy/config.d.ts.map +1 -0
- package/dist/configs/xy/config.js +176 -0
- package/dist/configs/zenlink/calldata/aggregationRouterV2ABI.d.ts +49 -0
- package/dist/configs/zenlink/calldata/aggregationRouterV2ABI.d.ts.map +1 -0
- package/dist/configs/zenlink/calldata/aggregationRouterV2ABI.js +63 -0
- package/dist/configs/zenlink/calldata/index.d.ts +18 -0
- package/dist/configs/zenlink/calldata/index.d.ts.map +1 -0
- package/dist/configs/zenlink/calldata/index.js +35 -0
- package/dist/configs/zenlink/config.d.ts +4 -0
- package/dist/configs/zenlink/config.d.ts.map +1 -0
- package/dist/configs/zenlink/config.js +109 -0
- package/dist/configs/zenlink/errors.d.ts +15 -0
- package/dist/configs/zenlink/errors.d.ts.map +1 -0
- package/dist/configs/zenlink/errors.js +8 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/types/index.d.ts +31 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +52 -0
- package/dist/walletClient.d.ts +4433 -0
- package/dist/walletClient.d.ts.map +1 -0
- package/dist/walletClient.js +7 -0
- package/package.json +27 -0
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import { SupportedChainId } from '@1delta/lib-utils';
|
|
2
|
+
import { NATIVE_PLACEHOLDER } from '../common/constants';
|
|
3
|
+
/** Auto generated in registry */
|
|
4
|
+
export const STARGATE_ASSET_TO_POOL = {
|
|
5
|
+
'1': {
|
|
6
|
+
'0x0000000000000000000000000000000000000000': '0x77b2043768d28e9c9ab44e1abfc95944bce57931',
|
|
7
|
+
'0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48': '0xc026395860db2d07ee33e05fe50ed7bd583189c7',
|
|
8
|
+
'0xdac17f958d2ee523a2206206994597c13d831ec7': '0x933597a323eb81cae705c5bc29985172fd5a3973',
|
|
9
|
+
'0xd5f7838f5c461feff7fe49ea5ebaf7728bb0adfa': '0x268ca24daeff1fac2ed883c598200ccbb79e931d',
|
|
10
|
+
},
|
|
11
|
+
'10': {
|
|
12
|
+
'0x0000000000000000000000000000000000000000': '0xe8cdf27acd73a434d661c84887215f7598e7d0d3',
|
|
13
|
+
'0x0b2c639c533813f4aa9d7837caf62653d097ff85': '0xce8cca271ebc0533920c83d39f417ed6a0abb7d0',
|
|
14
|
+
'0x94b008aa00579c1307b0ef2c499ad98a8ce58e58': '0x19cfce47ed54a88614648dc3f19a5980097007dd',
|
|
15
|
+
},
|
|
16
|
+
'14': {
|
|
17
|
+
'0x1502fa4be69d526124d453619276faccab275d3d': '0x8e8539e4ccd69123c623a106773f2b0cbbc58746',
|
|
18
|
+
'0xfbda5f676cb37624f28265a144a48b0d6e87d3b6': '0x77c71633c34c3784ede189d74223122422492a0f',
|
|
19
|
+
'0x0b38e83b86d491735feaa0a791f65c2b99535396': '0x1c10cc06dc6d35970d1d53b2a23c76ef370d4135',
|
|
20
|
+
},
|
|
21
|
+
'30': {
|
|
22
|
+
'0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590': '0x45f1a95a4d3f3836523f5c83673c797f4d4d263b',
|
|
23
|
+
'0x74c9f2b00581f1b11aa7ff05aa9f608b7389de67': '0xaf54be5b6eec24d6bfacf1cce4eaf680a8239398',
|
|
24
|
+
'0xaf368c91793cb22739386dfcbbb2f1a9e4bcbebf': '0xaf5191b0de278c7286d6c7cc6ab6bb8a73ba2cd6',
|
|
25
|
+
},
|
|
26
|
+
'40': {
|
|
27
|
+
'0xbab93b7ad7fe8692a878b95a8e689423437cc500': '0xa272ffe20cffe769cdfc4b63088dcd2c82a2d8f9',
|
|
28
|
+
'0xf1815bd50389c46847f0bda824ec8da914045d14': '0x2086f755a6d9254045c257ea3d382ef854849b0f',
|
|
29
|
+
'0x674843c06ff83502ddb4d37c2e09c01cda38cbc8': '0x3a1293bdb83bbbdd5ebf4fac96605ad2021bbc0f',
|
|
30
|
+
},
|
|
31
|
+
'56': {
|
|
32
|
+
'0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d': '0x962bd449e630b0d928f308ce63f1a21f02576057',
|
|
33
|
+
'0x55d398326f99059ff775485246999027b3197955': '0x138eb30f73bc423c6455c53df6d89cb01d9ebc63',
|
|
34
|
+
},
|
|
35
|
+
'100': {
|
|
36
|
+
'0x6a023ccd1ff6f2045c3309768ead9e68f978f6e1': '0xe9aba835f813ca05e50a6c0ce65d0d74390f7de7',
|
|
37
|
+
'0x2a22f9c3b484c3629090feed35f17ff8f88f76f0': '0xb1eead6959cb5bb9b20417d6689922523b2b86c3',
|
|
38
|
+
},
|
|
39
|
+
'122': {
|
|
40
|
+
'0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590': '0x45f1a95a4d3f3836523f5c83673c797f4d4d263b',
|
|
41
|
+
'0xc6bc407706b7140ee8eef2f86f9504651b63e7f9': '0xaf54be5b6eec24d6bfacf1cce4eaf680a8239398',
|
|
42
|
+
'0x3695dd1d1d43b794c0b13eb8be8419eb3ac22bf7': '0xaf5191b0de278c7286d6c7cc6ab6bb8a73ba2cd6',
|
|
43
|
+
},
|
|
44
|
+
'137': {
|
|
45
|
+
'0x3c499c542cef5e3811e1192ce70d8cc03d5c3359': '0x9aa02d4fae7f58b8e8f34c66e756cc734dac7fe4',
|
|
46
|
+
'0xc2132d05d31c914a87c6611c10748aeb04b58e8f': '0xd47b03ee6d86cf251ee7860fb2acf9f91b9fd4d7',
|
|
47
|
+
},
|
|
48
|
+
'146': {
|
|
49
|
+
'0x29219dd400f2bf60e5a23d13be72b486d4038894': '0xa272ffe20cffe769cdfc4b63088dcd2c82a2d8f9',
|
|
50
|
+
},
|
|
51
|
+
'747': {
|
|
52
|
+
'0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590': '0x45f1a95a4d3f3836523f5c83673c797f4d4d263b',
|
|
53
|
+
'0xf1815bd50389c46847f0bda824ec8da914045d14': '0xaf54be5b6eec24d6bfacf1cce4eaf680a8239398',
|
|
54
|
+
'0x674843c06ff83502ddb4d37c2e09c01cda38cbc8': '0xaf5191b0de278c7286d6c7cc6ab6bb8a73ba2cd6',
|
|
55
|
+
},
|
|
56
|
+
'1088': {
|
|
57
|
+
'0x420000000000000000000000000000000000000a': '0x36ed193dc7160d3858ec250e69d12b03ca087d08',
|
|
58
|
+
'0xbb06dca3ae6887fabf931640f67cab3e3a16f4dc': '0x4dcbfc0249e8d5032f89d6461218a9d2efff5125',
|
|
59
|
+
},
|
|
60
|
+
'1116': {
|
|
61
|
+
'0xa4151b2b3e269645181dccf2d426ce75fcbdeca9': '0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590',
|
|
62
|
+
'0x900101d06a7426441ae63e9ab3b9b0f63be145f1': '0x45f1a95a4d3f3836523f5c83673c797f4d4d263b',
|
|
63
|
+
},
|
|
64
|
+
'1514': {
|
|
65
|
+
'0xbab93b7ad7fe8692a878b95a8e689423437cc500': '0xa272ffe20cffe769cdfc4b63088dcd2c82a2d8f9',
|
|
66
|
+
'0xf1815bd50389c46847f0bda824ec8da914045d14': '0x2086f755a6d9254045c257ea3d382ef854849b0f',
|
|
67
|
+
'0x674843c06ff83502ddb4d37c2e09c01cda38cbc8': '0x3a1293bdb83bbbdd5ebf4fac96605ad2021bbc0f',
|
|
68
|
+
},
|
|
69
|
+
'1625': {
|
|
70
|
+
'0xf6f832466cd6c21967e0d954109403f36bc8ceaa': '0x17d65bf79e77b6ab21d8a0afed3bc8657d8ee0b2',
|
|
71
|
+
'0xfbda5f676cb37624f28265a144a48b0d6e87d3b6': '0xc1b8045a6ef2934cf0f78b0dbd489969fa9be7e4',
|
|
72
|
+
'0x816e810f9f787d669fb71932deabf6c83781cd48': '0x0b38e83b86d491735feaa0a791f65c2b99535396',
|
|
73
|
+
},
|
|
74
|
+
'1868': {
|
|
75
|
+
'0x0000000000000000000000000000000000000000': '0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590',
|
|
76
|
+
'0xba9986d2381edf1da03b0b9c1f8b00dc4aacc369': '0x45f1a95a4d3f3836523f5c83673c797f4d4d263b',
|
|
77
|
+
},
|
|
78
|
+
'1890': {
|
|
79
|
+
'0xbcf8c1b03bbdda88d579330bdf236b58f8bb2cfd': '0x8ee21165ecb7562ba716c9549c1de751282b9b33',
|
|
80
|
+
'0x808d7c71ad2ba3fa531b068a2417c63106bc0949': '0x06d538690af257da524f25d0cd52fd85b1c2173e',
|
|
81
|
+
'0x0000000000000000000000000000000000000000': '0x8731d54e9d02c286767d56ac03e8037c07e01e98',
|
|
82
|
+
},
|
|
83
|
+
'2222': {
|
|
84
|
+
'0x919c1c267bc06a7039e03fcc2ef738525769109c': '0x41a5b0470d96656fb3e8f68a218b39adbca3420b',
|
|
85
|
+
},
|
|
86
|
+
'2345': {
|
|
87
|
+
'0x3a1293bdb83bbbdd5ebf4fac96605ad2021bbc0f': '0x88853d410299bcbfe5fcc9eef93c03115e908279',
|
|
88
|
+
'0x3022b87ac063de95b1570f46f5e470f8b53112d8': '0xbba60da06c2c5424f03f7434542280fcad453d10',
|
|
89
|
+
'0xe1ad845d93853fff44990ae0dcecd8575293681e': '0x549943e04f40284185054145c6e4e9568c1d3241',
|
|
90
|
+
},
|
|
91
|
+
'2741': {
|
|
92
|
+
'0x84a71ccd554cc1b02749b35d22f684cc8ec987e1': '0x91a5fe991ccb876d22847967ced24dcd7a426e0e',
|
|
93
|
+
'0x0709f39376deee2a2dfc94a58edeb2eb9df012bd': '0x943c484278b8be05d119dfc73cfaa4c9d8f11a76',
|
|
94
|
+
'0x0000000000000000000000000000000000000000': '0x221f0e1280ec657503ca55c708105f1e1529527d',
|
|
95
|
+
},
|
|
96
|
+
'3338': {
|
|
97
|
+
'0x6694340fc020c5e6b96567843da2df01b2ce1eb6': '0xe7ec689f432f29383f217e36e680b5c855051f25',
|
|
98
|
+
'0xbba60da06c2c5424f03f7434542280fcad453d10': '0x5c1a97c144a97e9b370f833a06c70ca8f2f30de5',
|
|
99
|
+
'0xf4d9235269a96aadafc9adae454a0618ebe37949': '0x07cd5a2702394e512aaae54f7a250ea0576e5e8c',
|
|
100
|
+
},
|
|
101
|
+
'5000': {
|
|
102
|
+
'0xdeaddeaddeaddeaddeaddeaddeaddeaddead1111': '0x4c1d3fc3fc3c177c3b633427c2f769276c547463',
|
|
103
|
+
'0x09bc4e0d864854c6afb6eb9a9cdf58ac190d0df9': '0xac290ad4e0c891fdc295ca4f0a6214cf6dc6acdc',
|
|
104
|
+
'0x201eba5cc46d216ce6dc03f6a759e8e766e956ae': '0xb715b85682b731db9d5063187c450095c91c57fc',
|
|
105
|
+
'0xcda86a272531e8640cd7f1a92c01839911b90bb0': '0xf7628d84a2bbd9bb9c8e686ac95bb5d55169f3f1',
|
|
106
|
+
},
|
|
107
|
+
'8217': {
|
|
108
|
+
'0x55acee547df909cf844e32dd66ee55a6f81dc71b': '0xbb4957e44401a31ed81cab33539d9e8993fa13ce',
|
|
109
|
+
'0xe2053bcf56d2030d2470fb454574237cf9ee3d4b': '0x01a7c805cc47abdb254cd8aad29de5e447f59224',
|
|
110
|
+
'0x9025095263d1e548dc890a7589a4c78038ac40ab': '0x8619ba1b324e099cb2227060c4bc5bdee14456c6',
|
|
111
|
+
},
|
|
112
|
+
'8453': {
|
|
113
|
+
'0x0000000000000000000000000000000000000000': '0xdc181bd607330aeebef6ea62e03e5e1fb4b6f7c7',
|
|
114
|
+
'0x833589fcd6edb6e08f4c7c32d4f71b54bda02913': '0x27a16dc786820b16e5c9028b75b99f6f604b5d26',
|
|
115
|
+
},
|
|
116
|
+
'8822': {
|
|
117
|
+
'0x160345fc359604fc6e70e3c5facbde5f7a9342d8': '0x9c2dc7377717603eb92b2655c5f2e7997a4945bd',
|
|
118
|
+
'0xfbda5f676cb37624f28265a144a48b0d6e87d3b6': '0x8e8539e4ccd69123c623a106773f2b0cbbc58746',
|
|
119
|
+
'0xc1b8045a6ef2934cf0f78b0dbd489969fa9be7e4': '0x77c71633c34c3784ede189d74223122422492a0f',
|
|
120
|
+
},
|
|
121
|
+
'33139': {
|
|
122
|
+
'0xf4d9235269a96aadafc9adae454a0618ebe37949': '0x28e0f0eed8d6a6a96033feee8b2d7f32eb5ccc48',
|
|
123
|
+
'0xf1815bd50389c46847f0bda824ec8da914045d14': '0x2086f755a6d9254045c257ea3d382ef854849b0f',
|
|
124
|
+
'0x674843c06ff83502ddb4d37c2e09c01cda38cbc8': '0xeb8d955d8ae221e5b502851ddd78e6c4498db4f6',
|
|
125
|
+
},
|
|
126
|
+
'42161': {
|
|
127
|
+
'0x0000000000000000000000000000000000000000': '0xa45b5130f36cdca45667738e2a258ab09f4a5f7f',
|
|
128
|
+
'0xaf88d065e77c8cc2239327c5edb3a432268e5831': '0xe8cdf27acd73a434d661c84887215f7598e7d0d3',
|
|
129
|
+
'0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9': '0xce8cca271ebc0533920c83d39f417ed6a0abb7d0',
|
|
130
|
+
},
|
|
131
|
+
'43111': {
|
|
132
|
+
'0xad11a8beb98bbf61dbb1aa0f6d6f2ecd87b35afa': '0x45f1a95a4d3f3836523f5c83673c797f4d4d263b',
|
|
133
|
+
'0xbb0d083fb1be0a9f6157ec484b6c79e0a4e31c2e': '0xaf54be5b6eec24d6bfacf1cce4eaf680a8239398',
|
|
134
|
+
'0x0000000000000000000000000000000000000000': '0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590',
|
|
135
|
+
},
|
|
136
|
+
'43114': {
|
|
137
|
+
'0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e': '0x5634c4a5fed09819e3c46d86a965dd9447d86e47',
|
|
138
|
+
'0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7': '0x12dc9256acc9895b076f6638d628382881e62cee',
|
|
139
|
+
},
|
|
140
|
+
'55244': {
|
|
141
|
+
'0x6c030c5cc283f791b26816f325b9c632d964f8a1': '0x8ee21165ecb7562ba716c9549c1de751282b9b33',
|
|
142
|
+
},
|
|
143
|
+
'57073': {
|
|
144
|
+
'0xf1815bd50389c46847f0bda824ec8da914045d14': '0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590',
|
|
145
|
+
},
|
|
146
|
+
'59144': {
|
|
147
|
+
'0x0000000000000000000000000000000000000000': '0x81f6138153d473e8c5ecebd3dc8cd4903506b075',
|
|
148
|
+
},
|
|
149
|
+
'80094': {
|
|
150
|
+
'0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590': '0x45f1a95a4d3f3836523f5c83673c797f4d4d263b',
|
|
151
|
+
},
|
|
152
|
+
'98865': {
|
|
153
|
+
'0x3938a812c54304feffd266c7e2e70b48f9475ad6': '0x8943cb63eef1b3dba5f455bfb704477436e31c1a',
|
|
154
|
+
'0xa849026cda282eeebc3c39afcbe87a69424f16b4': '0xe67f75484c69d4a597f6e50ea6f5bb929e3a3d0e',
|
|
155
|
+
},
|
|
156
|
+
'167000': {
|
|
157
|
+
'0x19e26b0638bf63aa9fa4d14c6baf8d52ebe86c5c': '0x77c71633c34c3784ede189d74223122422492a0f',
|
|
158
|
+
'0x9c2dc7377717603eb92b2655c5f2e7997a4945bd': '0x1c10cc06dc6d35970d1d53b2a23c76ef370d4135',
|
|
159
|
+
},
|
|
160
|
+
'534352': {
|
|
161
|
+
'0x0000000000000000000000000000000000000000': '0xc2b638cb5042c1b3c5d5c969361fb50569840583',
|
|
162
|
+
'0x06efdbff2a14a7c8e15944d1f4a48f9f95f663a4': '0x3fc69cc4a842838bcdc9499178740226062b14e4',
|
|
163
|
+
},
|
|
164
|
+
'1313161554': {
|
|
165
|
+
'0x368ebb46aca6b8d0787c96b2b20bd3cc3f2c45f7': '0x81f6138153d473e8c5ecebd3dc8cd4903506b075',
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
export const TOKEN_MESSAGING_CONTRACT = {
|
|
169
|
+
'1': '0x6d6620efa72948c5f68a3c8646d58c00d3f4a980',
|
|
170
|
+
'10': '0xf1fcb4cbd57b67d683972a59b6a7b1e2e8bf27e6',
|
|
171
|
+
'14': '0x45d417612e177672958dc0537c45a8f8d754ac2e',
|
|
172
|
+
'30': '0x45a01e4e04f14f7a4a6702c74187c5f6222033cd',
|
|
173
|
+
'40': '0x88853d410299bcbfe5fcc9eef93c03115e908279',
|
|
174
|
+
'56': '0x6e3d884c96d640526f273c61dfcf08915ebd7e2b',
|
|
175
|
+
'100': '0xaf368c91793cb22739386dfcbbb2f1a9e4bcbebf',
|
|
176
|
+
'122': '0x45a01e4e04f14f7a4a6702c74187c5f6222033cd',
|
|
177
|
+
'137': '0x6ce9bf8cdab780416ad1fd87b318a077d2f50eac',
|
|
178
|
+
'146': '0x2086f755a6d9254045c257ea3d382ef854849b0f',
|
|
179
|
+
'747': '0x45a01e4e04f14f7a4a6702c74187c5f6222033cd',
|
|
180
|
+
'1088': '0xcbe78230cca58b9ef4c3c5d1bc0d7e4b3206588a',
|
|
181
|
+
'1116': '0xaf54be5b6eec24d6bfacf1cce4eaf680a8239398',
|
|
182
|
+
'1514': '0x88853d410299bcbfe5fcc9eef93c03115e908279',
|
|
183
|
+
'1625': '0x9c2dc7377717603eb92b2655c5f2e7997a4945bd',
|
|
184
|
+
'1868': '0xaf54be5b6eec24d6bfacf1cce4eaf680a8239398',
|
|
185
|
+
'1890': '0x693604e757ac7e2c4a8263594a18d69c35562341',
|
|
186
|
+
'2222': '0x6b73d3cbbb278ce2e8698e983aeccdd94dc4594b',
|
|
187
|
+
'2345': '0xb0b2391a32e066fdf354ef7f4199300f920789f0',
|
|
188
|
+
'2741': '0x183d6b82680189bb4db826f739cdc9527d467b25',
|
|
189
|
+
'3338': '0x53bf833a5d6c4dda888f69c22c88c9f356a41614',
|
|
190
|
+
'5000': '0x41b491285a4f888f9f636cec8a363ab9770a0aef',
|
|
191
|
+
'8217': '0x16f3f98d82d965988e6853681fd578f4d719a1c0',
|
|
192
|
+
'8453': '0x5634c4a5fed09819e3c46d86a965dd9447d86e47',
|
|
193
|
+
'8822': '0x1c10cc06dc6d35970d1d53b2a23c76ef370d4135',
|
|
194
|
+
'33139': '0xbe574b6219c6d985d08712e90c21a88fd55f1ae8',
|
|
195
|
+
'42161': '0x19cfce47ed54a88614648dc3f19a5980097007dd',
|
|
196
|
+
'43111': '0xaf5191b0de278c7286d6c7cc6ab6bb8a73ba2cd6',
|
|
197
|
+
'43114': '0x17e450be3ba9557f2378e20d64ad417e59ef9a34',
|
|
198
|
+
'55244': '0x06eb48763f117c7be887296cdcdfad2e4092739c',
|
|
199
|
+
'57073': '0x45f1a95a4d3f3836523f5c83673c797f4d4d263b',
|
|
200
|
+
'59144': '0x5f688f563dc16590e570f97b542fa87931af2fed',
|
|
201
|
+
'80094': '0xaf5191b0de278c7286d6c7cc6ab6bb8a73ba2cd6',
|
|
202
|
+
'98865': '0x45f1a95a4d3f3836523f5c83673c797f4d4d263b',
|
|
203
|
+
'167000': '0x45d417612e177672958dc0537c45a8f8d754ac2e',
|
|
204
|
+
'534352': '0x4e422b0acb2bd7e3ac70b5c0e5eb806e86a94038',
|
|
205
|
+
'1313161554': '0x5f688f563dc16590e570f97b542fa87931af2fed',
|
|
206
|
+
};
|
|
207
|
+
export const STARGATE_ENDPOINT_ID = {
|
|
208
|
+
'1': 30101,
|
|
209
|
+
'10': 30111,
|
|
210
|
+
'14': 30295,
|
|
211
|
+
'30': 30333,
|
|
212
|
+
'40': 30199,
|
|
213
|
+
'56': 30102,
|
|
214
|
+
'100': 30145,
|
|
215
|
+
'122': 30138,
|
|
216
|
+
'137': 30109,
|
|
217
|
+
'146': 30332,
|
|
218
|
+
'747': 30336,
|
|
219
|
+
'1088': 30151,
|
|
220
|
+
'1116': 30153,
|
|
221
|
+
'1514': 30364,
|
|
222
|
+
'1625': 30294,
|
|
223
|
+
'1868': 30340,
|
|
224
|
+
'1890': 30309,
|
|
225
|
+
'2222': 30177,
|
|
226
|
+
'2345': 30361,
|
|
227
|
+
'2741': 30324,
|
|
228
|
+
'3338': 30302,
|
|
229
|
+
'5000': 30181,
|
|
230
|
+
'8217': 30150,
|
|
231
|
+
'8453': 30184,
|
|
232
|
+
'8822': 30284,
|
|
233
|
+
'33139': 30312,
|
|
234
|
+
'42161': 30110,
|
|
235
|
+
'43111': 30329,
|
|
236
|
+
'43114': 30106,
|
|
237
|
+
'55244': 30327,
|
|
238
|
+
'57073': 30339,
|
|
239
|
+
'59144': 30183,
|
|
240
|
+
'80094': 30362,
|
|
241
|
+
'98865': 30318,
|
|
242
|
+
'167000': 30290,
|
|
243
|
+
'534352': 30214,
|
|
244
|
+
'1313161554': 30211,
|
|
245
|
+
};
|
|
246
|
+
/** Auto generated end */
|
|
247
|
+
export const getStargateContract = (chainId, token) => {
|
|
248
|
+
let _token = token;
|
|
249
|
+
if (token === NATIVE_PLACEHOLDER)
|
|
250
|
+
_token = '0x0000000000000000000000000000000000000000';
|
|
251
|
+
return STARGATE_ASSET_TO_POOL?.[chainId]?.[_token];
|
|
252
|
+
};
|
|
253
|
+
export const STARGATE_CHAIN_NAME = {
|
|
254
|
+
[SupportedChainId.ETHEREUM_MAINNET]: 'ethereum',
|
|
255
|
+
[SupportedChainId.BNB_SMART_CHAIN_MAINNET]: 'bsc',
|
|
256
|
+
[SupportedChainId.AVALANCHE_C_CHAIN]: 'avalanche',
|
|
257
|
+
[SupportedChainId.POLYGON_MAINNET]: 'polygon',
|
|
258
|
+
[SupportedChainId.ARBITRUM_ONE]: 'arbitrum',
|
|
259
|
+
[SupportedChainId.OP_MAINNET]: 'optimism',
|
|
260
|
+
[SupportedChainId.METIS_ANDROMEDA_MAINNET]: 'metis',
|
|
261
|
+
[SupportedChainId.LINEA]: 'linea',
|
|
262
|
+
[SupportedChainId.MANTLE]: 'mantle',
|
|
263
|
+
[SupportedChainId.BASE]: 'base',
|
|
264
|
+
[SupportedChainId.KAVA]: 'kava',
|
|
265
|
+
[SupportedChainId.SCROLL]: 'scroll',
|
|
266
|
+
[SupportedChainId.AURORA_MAINNET]: 'aurora',
|
|
267
|
+
[SupportedChainId.CORE_BLOCKCHAIN_MAINNET]: 'core',
|
|
268
|
+
[SupportedChainId.SONIC_MAINNET]: 'sonic',
|
|
269
|
+
[SupportedChainId.GNOSIS]: 'gnosis',
|
|
270
|
+
[SupportedChainId.TAIKO_ALETHIA]: 'taiko',
|
|
271
|
+
[SupportedChainId.BERACHAIN]: 'bera',
|
|
272
|
+
[SupportedChainId.HEMI_NETWORK]: 'hemi',
|
|
273
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { EncodeBridgeCallsResult, EncodeBridgeTxParams } from './types';
|
|
2
|
+
export declare namespace StargateRouter {
|
|
3
|
+
function encodeBridgeTx({ fromChainId, toChainId, token, amount, receiver, fromTokenDecimals, toTokenDecimals, }: EncodeBridgeTxParams): Promise<EncodeBridgeCallsResult[]>;
|
|
4
|
+
function isValidPath(fromChainId: string, fromToken: string, toChainId: string, toToken: string): Promise<boolean>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/configs/stargate/calldata/index.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EAMrB,MAAM,SAAS,CAAA;AAEhB,yBAAiB,cAAc,CAAC;IAyE9B,SAAsB,cAAc,CAAC,EACnC,WAAW,EACX,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,EACR,iBAAiB,EACjB,eAAe,GAChB,EAAE,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CA8C3D;IAED,SAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CA6ClB;CAeF"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { multicallViem } from '@1delta/lib-utils';
|
|
2
|
+
import { encodeFunctionData, padHex, toHex } from 'viem';
|
|
3
|
+
import { STARGATE_POOL_ABI } from '../abis/StargatePool';
|
|
4
|
+
import { TOKEN_MESSAGING_ABI } from '../abis/TokenMessaging';
|
|
5
|
+
import { NATIVE_PLACEHOLDER } from '../common/constants';
|
|
6
|
+
import { TransportType } from '../types';
|
|
7
|
+
import { getStargateContract, STARGATE_ENDPOINT_ID, TOKEN_MESSAGING_CONTRACT, } from './constants';
|
|
8
|
+
import { StargateFunctions, TokenMessagingFunctions, } from './types';
|
|
9
|
+
export var StargateRouter;
|
|
10
|
+
(function (StargateRouter) {
|
|
11
|
+
const PAY_IN_LZ_TOKEN = false;
|
|
12
|
+
async function prepareBridgeCalls(chainId, stargateAddress, dstEid, amount, receiver, transportTypes, isNative) {
|
|
13
|
+
const sendParams = transportTypes.map((transportType) => ({
|
|
14
|
+
dstEid,
|
|
15
|
+
to: padHex(receiver, { size: 32 }),
|
|
16
|
+
amountLD: amount,
|
|
17
|
+
minAmountLD: amount,
|
|
18
|
+
extraOptions: '0x',
|
|
19
|
+
composeMsg: '0x',
|
|
20
|
+
oftCmd: transportType === TransportType.Bus ? toHex(1) : '0x',
|
|
21
|
+
}));
|
|
22
|
+
const quoteOFTCalls = sendParams.map((sendParam) => ({
|
|
23
|
+
address: stargateAddress,
|
|
24
|
+
name: StargateFunctions.QuoteOFT,
|
|
25
|
+
params: [sendParam],
|
|
26
|
+
}));
|
|
27
|
+
const quoteOFTResults = await multicallViem(chainId, STARGATE_POOL_ABI, quoteOFTCalls);
|
|
28
|
+
const receipts = quoteOFTResults.map((result) => result[2]);
|
|
29
|
+
const minAmounts = receipts.map((receipt) => receipt.amountReceivedLD);
|
|
30
|
+
const newSendParams = minAmounts.map((minAmount, index) => ({
|
|
31
|
+
...sendParams[index],
|
|
32
|
+
minAmountLD: minAmount,
|
|
33
|
+
}));
|
|
34
|
+
const quoteSendCalls = newSendParams.map((sendParam) => ({
|
|
35
|
+
address: stargateAddress,
|
|
36
|
+
name: StargateFunctions.QuoteSend,
|
|
37
|
+
params: [sendParam, PAY_IN_LZ_TOKEN],
|
|
38
|
+
}));
|
|
39
|
+
const quoteSendResults = await multicallViem(chainId, STARGATE_POOL_ABI, quoteSendCalls);
|
|
40
|
+
const bridgeCalls = newSendParams.map((sendParam, i) => {
|
|
41
|
+
const transportType = transportTypes[i];
|
|
42
|
+
const messagingFee = quoteSendResults[i];
|
|
43
|
+
const valueToSend = isNative
|
|
44
|
+
? messagingFee.nativeFee + sendParam.amountLD
|
|
45
|
+
: messagingFee.nativeFee;
|
|
46
|
+
return {
|
|
47
|
+
transportType,
|
|
48
|
+
sendParam,
|
|
49
|
+
messagingFee,
|
|
50
|
+
valueToSend,
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
return bridgeCalls;
|
|
54
|
+
}
|
|
55
|
+
async function encodeBridgeTx({ fromChainId, toChainId, token, amount, receiver, fromTokenDecimals, toTokenDecimals, }) {
|
|
56
|
+
const stargateAddress = getStargateContract(fromChainId, token);
|
|
57
|
+
const dstEid = STARGATE_ENDPOINT_ID[toChainId];
|
|
58
|
+
if (!stargateAddress)
|
|
59
|
+
throw new Error(`Stargate contract address unknown for chainId ${fromChainId} and token ${token}`);
|
|
60
|
+
if (!dstEid)
|
|
61
|
+
throw new Error(`Endpoint ID unknown for chainId ${toChainId}`);
|
|
62
|
+
const transportTypes = [TransportType.Taxi, TransportType.Bus];
|
|
63
|
+
const isNative = token === NATIVE_PLACEHOLDER;
|
|
64
|
+
const calls = await prepareBridgeCalls(fromChainId, stargateAddress, dstEid, amount, receiver, transportTypes, isNative);
|
|
65
|
+
const results = calls.map((call) => {
|
|
66
|
+
const to = stargateAddress;
|
|
67
|
+
const value = call.valueToSend.toString();
|
|
68
|
+
const data = encodeFunctionData({
|
|
69
|
+
abi: STARGATE_POOL_ABI,
|
|
70
|
+
functionName: StargateFunctions.SendToken,
|
|
71
|
+
args: [call.sendParam, call.messagingFee, receiver],
|
|
72
|
+
});
|
|
73
|
+
return {
|
|
74
|
+
transportType: call.transportType,
|
|
75
|
+
quote: adjustDecimals(call.sendParam.minAmountLD, fromTokenDecimals, toTokenDecimals),
|
|
76
|
+
destinationFee: call.messagingFee.nativeFee,
|
|
77
|
+
tx: { data, value, to },
|
|
78
|
+
dstEid,
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
return results;
|
|
82
|
+
}
|
|
83
|
+
StargateRouter.encodeBridgeTx = encodeBridgeTx;
|
|
84
|
+
async function isValidPath(fromChainId, fromToken, toChainId, toToken) {
|
|
85
|
+
const fromStargateAddress = getStargateContract(fromChainId, fromToken);
|
|
86
|
+
const toStargateAddress = getStargateContract(toChainId, toToken);
|
|
87
|
+
if (!fromStargateAddress)
|
|
88
|
+
throw new Error(`Stargate contract address unknown for ChainId ${fromChainId} and Token ${fromToken}`);
|
|
89
|
+
if (!toStargateAddress)
|
|
90
|
+
throw new Error(`Stargate contract address unknown for ChainId ${toChainId} and Token ${toToken}`);
|
|
91
|
+
const fromTokenMessagingAddress = TOKEN_MESSAGING_CONTRACT[fromChainId];
|
|
92
|
+
const toTokenMessagingAddress = TOKEN_MESSAGING_CONTRACT[toChainId];
|
|
93
|
+
if (!fromTokenMessagingAddress)
|
|
94
|
+
throw new Error(`Stargate Token Messaging contract address unknown for ChainId ${fromChainId}`);
|
|
95
|
+
if (!toTokenMessagingAddress)
|
|
96
|
+
throw new Error(`Stargate Token Messaging contract address unknown for ChainId ${toChainId}`);
|
|
97
|
+
const fromResult = await multicallViem(fromChainId, TOKEN_MESSAGING_ABI, [
|
|
98
|
+
{
|
|
99
|
+
address: fromTokenMessagingAddress,
|
|
100
|
+
name: TokenMessagingFunctions.AssetIds,
|
|
101
|
+
params: [fromStargateAddress],
|
|
102
|
+
},
|
|
103
|
+
]);
|
|
104
|
+
const toResult = await multicallViem(toChainId, TOKEN_MESSAGING_ABI, [
|
|
105
|
+
{
|
|
106
|
+
address: toTokenMessagingAddress,
|
|
107
|
+
name: TokenMessagingFunctions.AssetIds,
|
|
108
|
+
params: [toStargateAddress],
|
|
109
|
+
},
|
|
110
|
+
]);
|
|
111
|
+
const fromAssetId = Number(fromResult[0]);
|
|
112
|
+
const toAssetId = Number(toResult[0]);
|
|
113
|
+
return !isNaN(fromAssetId) && fromAssetId !== 0 && fromAssetId === toAssetId;
|
|
114
|
+
}
|
|
115
|
+
StargateRouter.isValidPath = isValidPath;
|
|
116
|
+
function adjustDecimals(amount, fromDecimals, toDecimals) {
|
|
117
|
+
if (fromDecimals > toDecimals) {
|
|
118
|
+
return amount / 10n ** BigInt(fromDecimals - toDecimals);
|
|
119
|
+
}
|
|
120
|
+
else if (fromDecimals < toDecimals) {
|
|
121
|
+
return amount * 10n ** BigInt(toDecimals - fromDecimals);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
return amount;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
})(StargateRouter || (StargateRouter = {}));
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { TransactionData } from '@1delta/bridge-core';
|
|
2
|
+
import { TransportType } from '../types';
|
|
3
|
+
interface SendParam {
|
|
4
|
+
dstEid: number;
|
|
5
|
+
to: string;
|
|
6
|
+
amountLD: bigint;
|
|
7
|
+
minAmountLD: bigint;
|
|
8
|
+
extraOptions: string;
|
|
9
|
+
composeMsg: string;
|
|
10
|
+
oftCmd: string;
|
|
11
|
+
}
|
|
12
|
+
export interface EncodeBridgeTxParams {
|
|
13
|
+
fromChainId: string;
|
|
14
|
+
toChainId: string;
|
|
15
|
+
token: string;
|
|
16
|
+
amount: bigint;
|
|
17
|
+
receiver: string;
|
|
18
|
+
fromTokenDecimals: number;
|
|
19
|
+
toTokenDecimals: number;
|
|
20
|
+
}
|
|
21
|
+
export interface MessagingFee {
|
|
22
|
+
nativeFee: bigint;
|
|
23
|
+
zroFee: bigint;
|
|
24
|
+
}
|
|
25
|
+
export interface OFTReceipt {
|
|
26
|
+
amountReceivedLD: bigint;
|
|
27
|
+
composeMsg: string;
|
|
28
|
+
}
|
|
29
|
+
export interface PrepareBridgeCallsResult {
|
|
30
|
+
transportType: TransportType;
|
|
31
|
+
valueToSend: bigint;
|
|
32
|
+
sendParam: SendParam;
|
|
33
|
+
messagingFee: MessagingFee;
|
|
34
|
+
}
|
|
35
|
+
export interface EncodeBridgeCallsResult {
|
|
36
|
+
transportType: TransportType;
|
|
37
|
+
quote: bigint;
|
|
38
|
+
destinationFee: bigint;
|
|
39
|
+
tx: TransactionData;
|
|
40
|
+
dstEid: number;
|
|
41
|
+
}
|
|
42
|
+
export declare enum StargateFunctions {
|
|
43
|
+
QuoteOFT = "quoteOFT",
|
|
44
|
+
QuoteSend = "quoteSend",
|
|
45
|
+
SendToken = "sendToken"
|
|
46
|
+
}
|
|
47
|
+
export declare enum TokenMessagingFunctions {
|
|
48
|
+
AssetIds = "assetIds"
|
|
49
|
+
}
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/configs/stargate/calldata/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,UAAU,SAAS;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,aAAa,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,aAAa,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,EAAE,EAAE,eAAe,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,oBAAY,iBAAiB;IAC3B,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,oBAAY,uBAAuB;IACjC,QAAQ,aAAa;CACtB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export var StargateFunctions;
|
|
2
|
+
(function (StargateFunctions) {
|
|
3
|
+
StargateFunctions["QuoteOFT"] = "quoteOFT";
|
|
4
|
+
StargateFunctions["QuoteSend"] = "quoteSend";
|
|
5
|
+
StargateFunctions["SendToken"] = "sendToken";
|
|
6
|
+
})(StargateFunctions || (StargateFunctions = {}));
|
|
7
|
+
export var TokenMessagingFunctions;
|
|
8
|
+
(function (TokenMessagingFunctions) {
|
|
9
|
+
TokenMessagingFunctions["AssetIds"] = "assetIds";
|
|
10
|
+
})(TokenMessagingFunctions || (TokenMessagingFunctions = {}));
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Params as CrossChainParamsDataAndOther } from '@1delta/bridge-core';
|
|
2
|
+
import { TransportType } from '../types';
|
|
3
|
+
export declare const stargateConfig: {
|
|
4
|
+
icon: {
|
|
5
|
+
light: string;
|
|
6
|
+
dark: string;
|
|
7
|
+
};
|
|
8
|
+
apiInterface: {
|
|
9
|
+
route: {
|
|
10
|
+
execute: (crossChainParamsData: CrossChainParamsDataAndOther) => Promise<{
|
|
11
|
+
aggregator: string;
|
|
12
|
+
transportType?: TransportType | undefined;
|
|
13
|
+
quote?: bigint | undefined;
|
|
14
|
+
destinationFee?: bigint | undefined;
|
|
15
|
+
tx?: import("../../../../../bridge-core/src/types").BuildTransactionDataResponse | undefined;
|
|
16
|
+
dstEid?: number | undefined;
|
|
17
|
+
}>;
|
|
18
|
+
responseMapping: {
|
|
19
|
+
name: string;
|
|
20
|
+
depositContract: string;
|
|
21
|
+
toAmount: string;
|
|
22
|
+
fee: {
|
|
23
|
+
destinationGasFee: string;
|
|
24
|
+
};
|
|
25
|
+
estimatedDuration: {
|
|
26
|
+
format: (data: any) => any;
|
|
27
|
+
};
|
|
28
|
+
transactionData: {
|
|
29
|
+
data: string;
|
|
30
|
+
value: string;
|
|
31
|
+
to: string;
|
|
32
|
+
};
|
|
33
|
+
interfaceParamData: {
|
|
34
|
+
dstEid: string;
|
|
35
|
+
nativeFee: string;
|
|
36
|
+
slippage: {
|
|
37
|
+
format: () => number;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
quote: {
|
|
43
|
+
execute: (crossChainParamsData: CrossChainParamsDataAndOther) => Promise<{
|
|
44
|
+
aggregator: string;
|
|
45
|
+
transportType?: TransportType | undefined;
|
|
46
|
+
quote?: bigint | undefined;
|
|
47
|
+
destinationFee?: bigint | undefined;
|
|
48
|
+
tx?: import("../../../../../bridge-core/src/types").BuildTransactionDataResponse | undefined;
|
|
49
|
+
dstEid?: number | undefined;
|
|
50
|
+
}>;
|
|
51
|
+
responseMapping: {
|
|
52
|
+
transactionData: {};
|
|
53
|
+
name: string;
|
|
54
|
+
depositContract: string;
|
|
55
|
+
toAmount: string;
|
|
56
|
+
fee: {
|
|
57
|
+
destinationGasFee: string;
|
|
58
|
+
};
|
|
59
|
+
estimatedDuration: {
|
|
60
|
+
format: (data: any) => any;
|
|
61
|
+
};
|
|
62
|
+
interfaceParamData: {
|
|
63
|
+
dstEid: string;
|
|
64
|
+
nativeFee: string;
|
|
65
|
+
slippage: {
|
|
66
|
+
format: () => number;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
errorCodes: {
|
|
73
|
+
ERROR: {
|
|
74
|
+
code: string;
|
|
75
|
+
message: string;
|
|
76
|
+
};
|
|
77
|
+
NOT_SUPPORT: {
|
|
78
|
+
code: string;
|
|
79
|
+
message: string;
|
|
80
|
+
};
|
|
81
|
+
DEPOSIT_NOT_FOUND: {
|
|
82
|
+
code: string;
|
|
83
|
+
message: string;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
export default stargateConfig;
|
|
88
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/configs/stargate/common/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,IAAI,4BAA4B,EACvC,MAAM,qBAAqB,CAAA;AAK5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAsFxC,eAAO,MAAM,cAAc;;;;;;;4CAOiB,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CA4B5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BvE,CAAA;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { CrossChainBusinessException, } from '@1delta/bridge-core';
|
|
2
|
+
import { Bridge } from '../../../types';
|
|
3
|
+
import { bridgeIcon } from '../../utils';
|
|
4
|
+
import { StargateRouter } from '../calldata';
|
|
5
|
+
import { TransportType } from '../types';
|
|
6
|
+
import { ESTIMATED_DURATION_BY_TRANSPORT } from './constants';
|
|
7
|
+
const NAME = 'Stargate';
|
|
8
|
+
const errorCodes = {
|
|
9
|
+
ERROR: { code: 'ERROR', message: 'unknown error' },
|
|
10
|
+
NOT_SUPPORT: { code: 'NOT_SUPPORT', message: 'NOT SUPPORT' },
|
|
11
|
+
DEPOSIT_NOT_FOUND: {
|
|
12
|
+
code: 'DEPOSIT_NOT_FOUND',
|
|
13
|
+
message: 'deposit not found',
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
const stargateResponseMapping = {
|
|
17
|
+
name: 'aggregator',
|
|
18
|
+
depositContract: 'tx.to',
|
|
19
|
+
toAmount: 'quote',
|
|
20
|
+
fee: {
|
|
21
|
+
destinationGasFee: 'destinationFee',
|
|
22
|
+
},
|
|
23
|
+
estimatedDuration: {
|
|
24
|
+
format: (data) => ESTIMATED_DURATION_BY_TRANSPORT[data.transportType],
|
|
25
|
+
},
|
|
26
|
+
transactionData: {
|
|
27
|
+
data: 'tx.data',
|
|
28
|
+
value: 'tx.value',
|
|
29
|
+
to: 'tx.to',
|
|
30
|
+
},
|
|
31
|
+
interfaceParamData: {
|
|
32
|
+
dstEid: 'dstEid',
|
|
33
|
+
nativeFee: 'destinationFee',
|
|
34
|
+
slippage: {
|
|
35
|
+
format: () => {
|
|
36
|
+
// 1e9 = 100% -> 1e5 = 0.01%
|
|
37
|
+
return 1e5;
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
async function stagatePathBuilder(fromTokenAddress, fromChainId, toTokenAddress, toChainId, fromAmount, toAddress, aggregator, fromTokenDecimals, toTokenDecimals) {
|
|
43
|
+
const isValidPair = await StargateRouter.isValidPath(fromChainId, fromTokenAddress, toChainId, toTokenAddress);
|
|
44
|
+
if (!isValidPair)
|
|
45
|
+
throw new CrossChainBusinessException(errorCodes.NOT_SUPPORT);
|
|
46
|
+
const paths = await StargateRouter.encodeBridgeTx({
|
|
47
|
+
fromChainId,
|
|
48
|
+
toChainId,
|
|
49
|
+
token: fromTokenAddress,
|
|
50
|
+
amount: BigInt(fromAmount),
|
|
51
|
+
receiver: toAddress,
|
|
52
|
+
fromTokenDecimals,
|
|
53
|
+
toTokenDecimals,
|
|
54
|
+
});
|
|
55
|
+
const isBus = aggregator === Bridge.STARGATE_BUS;
|
|
56
|
+
const path = paths.find((path) => {
|
|
57
|
+
const isBusPath = path.transportType === TransportType.Bus;
|
|
58
|
+
const isTaxiPath = path.transportType === TransportType.Taxi;
|
|
59
|
+
return (isBus && isBusPath) || (!isBus && isTaxiPath);
|
|
60
|
+
});
|
|
61
|
+
return {
|
|
62
|
+
...path,
|
|
63
|
+
aggregator: aggregator ?? NAME,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export const stargateConfig = {
|
|
67
|
+
icon: {
|
|
68
|
+
light: bridgeIcon(NAME),
|
|
69
|
+
dark: bridgeIcon(NAME),
|
|
70
|
+
},
|
|
71
|
+
apiInterface: {
|
|
72
|
+
route: {
|
|
73
|
+
execute: async (crossChainParamsData) => {
|
|
74
|
+
const { fromTokenAddress, fromChainId, toTokenAddress, toChainId, fromAmount, toAddress, aggregator, fromTokenDecimals, toTokenDecimals, } = crossChainParamsData;
|
|
75
|
+
const res = await stagatePathBuilder(fromTokenAddress, fromChainId, toTokenAddress, toChainId, fromAmount, toAddress, aggregator, fromTokenDecimals, toTokenDecimals);
|
|
76
|
+
return res;
|
|
77
|
+
},
|
|
78
|
+
responseMapping: stargateResponseMapping,
|
|
79
|
+
},
|
|
80
|
+
quote: {
|
|
81
|
+
execute: async (crossChainParamsData) => {
|
|
82
|
+
const { fromTokenAddress, fromChainId, toTokenAddress, toChainId, fromAmount, aggregator, fromTokenDecimals, toTokenDecimals, } = crossChainParamsData;
|
|
83
|
+
return await stagatePathBuilder(fromTokenAddress, fromChainId, toTokenAddress, toChainId, fromAmount,
|
|
84
|
+
// default to trivial address
|
|
85
|
+
'0x0000000000000000000000000000000000000001', aggregator, fromTokenDecimals, toTokenDecimals);
|
|
86
|
+
},
|
|
87
|
+
// encforce that we do not build a txn here
|
|
88
|
+
responseMapping: { ...stargateResponseMapping, transactionData: {} },
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
errorCodes,
|
|
92
|
+
};
|
|
93
|
+
export default stargateConfig;
|