@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.
Files changed (210) hide show
  1. package/LICENSE +674 -0
  2. package/dist/configs/across/config.d.ts +4 -0
  3. package/dist/configs/across/config.d.ts.map +1 -0
  4. package/dist/configs/across/config.js +317 -0
  5. package/dist/configs/axelar/abis/AxelarGasService.d.ts +103 -0
  6. package/dist/configs/axelar/abis/AxelarGasService.d.ts.map +1 -0
  7. package/dist/configs/axelar/abis/AxelarGasService.js +1073 -0
  8. package/dist/configs/axelar/abis/AxelarGateway.d.ts +51 -0
  9. package/dist/configs/axelar/abis/AxelarGateway.d.ts.map +1 -0
  10. package/dist/configs/axelar/abis/AxelarGateway.js +753 -0
  11. package/dist/configs/axelar/abis/SquidMulticall.d.ts +47 -0
  12. package/dist/configs/axelar/abis/SquidMulticall.d.ts.map +1 -0
  13. package/dist/configs/axelar/abis/SquidMulticall.js +104 -0
  14. package/dist/configs/axelar/abis/SquidRouter.d.ts +82 -0
  15. package/dist/configs/axelar/abis/SquidRouter.d.ts.map +1 -0
  16. package/dist/configs/axelar/abis/SquidRouter.js +837 -0
  17. package/dist/configs/axelar/calldata/buildTx.d.ts +3 -0
  18. package/dist/configs/axelar/calldata/buildTx.d.ts.map +1 -0
  19. package/dist/configs/axelar/calldata/buildTx.js +29 -0
  20. package/dist/configs/axelar/calldata/index.d.ts +3 -0
  21. package/dist/configs/axelar/calldata/index.d.ts.map +1 -0
  22. package/dist/configs/axelar/calldata/index.js +2 -0
  23. package/dist/configs/axelar/calldata/squid/createSquidMulticallPayload.d.ts +16 -0
  24. package/dist/configs/axelar/calldata/squid/createSquidMulticallPayload.d.ts.map +1 -0
  25. package/dist/configs/axelar/calldata/squid/createSquidMulticallPayload.js +76 -0
  26. package/dist/configs/axelar/calldata/squid/types.d.ts +15 -0
  27. package/dist/configs/axelar/calldata/squid/types.d.ts.map +1 -0
  28. package/dist/configs/axelar/calldata/squid/types.js +7 -0
  29. package/dist/configs/axelar/calldata/types.d.ts +18 -0
  30. package/dist/configs/axelar/calldata/types.d.ts.map +1 -0
  31. package/dist/configs/axelar/calldata/types.js +1 -0
  32. package/dist/configs/axelar/config.d.ts +4 -0
  33. package/dist/configs/axelar/config.d.ts.map +1 -0
  34. package/dist/configs/axelar/config.js +99 -0
  35. package/dist/configs/axelar/data/axelarConfig/index.d.ts +3 -0
  36. package/dist/configs/axelar/data/axelarConfig/index.d.ts.map +1 -0
  37. package/dist/configs/axelar/data/axelarConfig/index.js +33 -0
  38. package/dist/configs/axelar/data/axelarConfig/types.d.ts +181 -0
  39. package/dist/configs/axelar/data/axelarConfig/types.d.ts.map +1 -0
  40. package/dist/configs/axelar/data/axelarConfig/types.js +1 -0
  41. package/dist/configs/axelar/data/squidChains/index.d.ts +6 -0
  42. package/dist/configs/axelar/data/squidChains/index.d.ts.map +1 -0
  43. package/dist/configs/axelar/data/squidChains/index.js +61 -0
  44. package/dist/configs/axelar/data/squidChains/types.d.ts +23 -0
  45. package/dist/configs/axelar/data/squidChains/types.d.ts.map +1 -0
  46. package/dist/configs/axelar/data/squidChains/types.js +1 -0
  47. package/dist/configs/axelar/errors.d.ts +15 -0
  48. package/dist/configs/axelar/errors.d.ts.map +1 -0
  49. package/dist/configs/axelar/errors.js +8 -0
  50. package/dist/configs/axelar/gasEstimation/index.d.ts +7 -0
  51. package/dist/configs/axelar/gasEstimation/index.d.ts.map +1 -0
  52. package/dist/configs/axelar/gasEstimation/index.js +38 -0
  53. package/dist/configs/axelar/gasEstimation/types.d.ts +23 -0
  54. package/dist/configs/axelar/gasEstimation/types.d.ts.map +1 -0
  55. package/dist/configs/axelar/gasEstimation/types.js +1 -0
  56. package/dist/configs/axelar/route/fetchAxelarRoute.d.ts +3 -0
  57. package/dist/configs/axelar/route/fetchAxelarRoute.d.ts.map +1 -0
  58. package/dist/configs/axelar/route/fetchAxelarRoute.js +50 -0
  59. package/dist/configs/axelar/route/index.d.ts +3 -0
  60. package/dist/configs/axelar/route/index.d.ts.map +1 -0
  61. package/dist/configs/axelar/route/index.js +2 -0
  62. package/dist/configs/axelar/route/tokenIdentifier.d.ts +5 -0
  63. package/dist/configs/axelar/route/tokenIdentifier.d.ts.map +1 -0
  64. package/dist/configs/axelar/route/tokenIdentifier.js +32 -0
  65. package/dist/configs/axelar/route/types.d.ts +5 -0
  66. package/dist/configs/axelar/route/types.d.ts.map +1 -0
  67. package/dist/configs/axelar/route/types.js +1 -0
  68. package/dist/configs/butter/config.d.ts +9 -0
  69. package/dist/configs/butter/config.d.ts.map +1 -0
  70. package/dist/configs/butter/config.js +207 -0
  71. package/dist/configs/cowswap/config.d.ts +4 -0
  72. package/dist/configs/cowswap/config.d.ts.map +1 -0
  73. package/dist/configs/cowswap/config.js +106 -0
  74. package/dist/configs/cowswap/errors.d.ts +19 -0
  75. package/dist/configs/cowswap/errors.d.ts.map +1 -0
  76. package/dist/configs/cowswap/errors.js +12 -0
  77. package/dist/configs/cowswap/swap/quote.d.ts +5 -0
  78. package/dist/configs/cowswap/swap/quote.d.ts.map +1 -0
  79. package/dist/configs/cowswap/swap/quote.js +28 -0
  80. package/dist/configs/cowswap/swap/route.d.ts +5 -0
  81. package/dist/configs/cowswap/swap/route.d.ts.map +1 -0
  82. package/dist/configs/cowswap/swap/route.js +61 -0
  83. package/dist/configs/cowswap/track/index.d.ts +6 -0
  84. package/dist/configs/cowswap/track/index.d.ts.map +1 -0
  85. package/dist/configs/cowswap/track/index.js +27 -0
  86. package/dist/configs/cowswap/utils/getCowSwapSlippage.d.ts +4 -0
  87. package/dist/configs/cowswap/utils/getCowSwapSlippage.d.ts.map +1 -0
  88. package/dist/configs/cowswap/utils/getCowSwapSlippage.js +16 -0
  89. package/dist/configs/cowswap/utils/toSupportedChainId.d.ts +3 -0
  90. package/dist/configs/cowswap/utils/toSupportedChainId.d.ts.map +1 -0
  91. package/dist/configs/cowswap/utils/toSupportedChainId.js +11 -0
  92. package/dist/configs/crosscurve/config.d.ts +4 -0
  93. package/dist/configs/crosscurve/config.d.ts.map +1 -0
  94. package/dist/configs/crosscurve/config.js +185 -0
  95. package/dist/configs/gas-zip/chains/fetch.d.ts +10 -0
  96. package/dist/configs/gas-zip/chains/fetch.d.ts.map +1 -0
  97. package/dist/configs/gas-zip/chains/fetch.js +29 -0
  98. package/dist/configs/gas-zip/chains/types.d.ts +25 -0
  99. package/dist/configs/gas-zip/chains/types.d.ts.map +1 -0
  100. package/dist/configs/gas-zip/chains/types.js +1 -0
  101. package/dist/configs/gas-zip/config.d.ts +4 -0
  102. package/dist/configs/gas-zip/config.d.ts.map +1 -0
  103. package/dist/configs/gas-zip/config.js +121 -0
  104. package/dist/configs/index.d.ts +2 -0
  105. package/dist/configs/index.d.ts.map +1 -0
  106. package/dist/configs/index.js +41 -0
  107. package/dist/configs/layerswap/LayerswapNetworks.json +3656 -0
  108. package/dist/configs/layerswap/config.d.ts +4 -0
  109. package/dist/configs/layerswap/config.d.ts.map +1 -0
  110. package/dist/configs/layerswap/config.js +285 -0
  111. package/dist/configs/lifi/config.d.ts +4 -0
  112. package/dist/configs/lifi/config.d.ts.map +1 -0
  113. package/dist/configs/lifi/config.js +104 -0
  114. package/dist/configs/mayan/calldata/index.d.ts +14 -0
  115. package/dist/configs/mayan/calldata/index.d.ts.map +1 -0
  116. package/dist/configs/mayan/calldata/index.js +41 -0
  117. package/dist/configs/mayan/config.d.ts +4 -0
  118. package/dist/configs/mayan/config.d.ts.map +1 -0
  119. package/dist/configs/mayan/config.js +222 -0
  120. package/dist/configs/odos/config.d.ts +8 -0
  121. package/dist/configs/odos/config.d.ts.map +1 -0
  122. package/dist/configs/odos/config.js +127 -0
  123. package/dist/configs/orbiter/abis/ERC20.d.ts +172 -0
  124. package/dist/configs/orbiter/abis/ERC20.d.ts.map +1 -0
  125. package/dist/configs/orbiter/abis/ERC20.js +224 -0
  126. package/dist/configs/orbiter/abis/OrbiterRouterEVMV3.d.ts +85 -0
  127. package/dist/configs/orbiter/abis/OrbiterRouterEVMV3.d.ts.map +1 -0
  128. package/dist/configs/orbiter/abis/OrbiterRouterEVMV3.js +83 -0
  129. package/dist/configs/orbiter/calldata/index.d.ts +32 -0
  130. package/dist/configs/orbiter/calldata/index.d.ts.map +1 -0
  131. package/dist/configs/orbiter/calldata/index.js +59 -0
  132. package/dist/configs/orbiter/config.d.ts +4 -0
  133. package/dist/configs/orbiter/config.d.ts.map +1 -0
  134. package/dist/configs/orbiter/config.js +178 -0
  135. package/dist/configs/router/config.d.ts +4 -0
  136. package/dist/configs/router/config.d.ts.map +1 -0
  137. package/dist/configs/router/config.js +125 -0
  138. package/dist/configs/squid-v1/config.d.ts +4 -0
  139. package/dist/configs/squid-v1/config.d.ts.map +1 -0
  140. package/dist/configs/squid-v1/config.js +133 -0
  141. package/dist/configs/squid-v2/config.d.ts +4 -0
  142. package/dist/configs/squid-v2/config.d.ts.map +1 -0
  143. package/dist/configs/squid-v2/config.js +146 -0
  144. package/dist/configs/squid-v2/constants.d.ts +2 -0
  145. package/dist/configs/squid-v2/constants.d.ts.map +1 -0
  146. package/dist/configs/squid-v2/constants.js +1 -0
  147. package/dist/configs/stargate/abis/StargatePool.d.ts +41 -0
  148. package/dist/configs/stargate/abis/StargatePool.d.ts.map +1 -0
  149. package/dist/configs/stargate/abis/StargatePool.js +318 -0
  150. package/dist/configs/stargate/abis/TokenMessaging.d.ts +16 -0
  151. package/dist/configs/stargate/abis/TokenMessaging.d.ts.map +1 -0
  152. package/dist/configs/stargate/abis/TokenMessaging.js +21 -0
  153. package/dist/configs/stargate/calldata/constants.d.ts +249 -0
  154. package/dist/configs/stargate/calldata/constants.d.ts.map +1 -0
  155. package/dist/configs/stargate/calldata/constants.js +273 -0
  156. package/dist/configs/stargate/calldata/index.d.ts +6 -0
  157. package/dist/configs/stargate/calldata/index.d.ts.map +1 -0
  158. package/dist/configs/stargate/calldata/index.js +127 -0
  159. package/dist/configs/stargate/calldata/types.d.ts +51 -0
  160. package/dist/configs/stargate/calldata/types.d.ts.map +1 -0
  161. package/dist/configs/stargate/calldata/types.js +10 -0
  162. package/dist/configs/stargate/common/config.d.ts +88 -0
  163. package/dist/configs/stargate/common/config.d.ts.map +1 -0
  164. package/dist/configs/stargate/common/config.js +93 -0
  165. package/dist/configs/stargate/common/constants.d.ts +5 -0
  166. package/dist/configs/stargate/common/constants.d.ts.map +1 -0
  167. package/dist/configs/stargate/common/constants.js +7 -0
  168. package/dist/configs/stargate/common/index.d.ts +3 -0
  169. package/dist/configs/stargate/common/index.d.ts.map +1 -0
  170. package/dist/configs/stargate/common/index.js +2 -0
  171. package/dist/configs/stargate/configs/bus/config.d.ts +4 -0
  172. package/dist/configs/stargate/configs/bus/config.d.ts.map +1 -0
  173. package/dist/configs/stargate/configs/bus/config.js +41 -0
  174. package/dist/configs/stargate/configs/taxi/config.d.ts +4 -0
  175. package/dist/configs/stargate/configs/taxi/config.d.ts.map +1 -0
  176. package/dist/configs/stargate/configs/taxi/config.js +58 -0
  177. package/dist/configs/stargate/types/index.d.ts +12 -0
  178. package/dist/configs/stargate/types/index.d.ts.map +1 -0
  179. package/dist/configs/stargate/types/index.js +15 -0
  180. package/dist/configs/symbiosis/config.d.ts +4 -0
  181. package/dist/configs/symbiosis/config.d.ts.map +1 -0
  182. package/dist/configs/symbiosis/config.js +119 -0
  183. package/dist/configs/utils/index.d.ts +2 -0
  184. package/dist/configs/utils/index.d.ts.map +1 -0
  185. package/dist/configs/utils/index.js +3 -0
  186. package/dist/configs/xy/config.d.ts +4 -0
  187. package/dist/configs/xy/config.d.ts.map +1 -0
  188. package/dist/configs/xy/config.js +176 -0
  189. package/dist/configs/zenlink/calldata/aggregationRouterV2ABI.d.ts +49 -0
  190. package/dist/configs/zenlink/calldata/aggregationRouterV2ABI.d.ts.map +1 -0
  191. package/dist/configs/zenlink/calldata/aggregationRouterV2ABI.js +63 -0
  192. package/dist/configs/zenlink/calldata/index.d.ts +18 -0
  193. package/dist/configs/zenlink/calldata/index.d.ts.map +1 -0
  194. package/dist/configs/zenlink/calldata/index.js +35 -0
  195. package/dist/configs/zenlink/config.d.ts +4 -0
  196. package/dist/configs/zenlink/config.d.ts.map +1 -0
  197. package/dist/configs/zenlink/config.js +109 -0
  198. package/dist/configs/zenlink/errors.d.ts +15 -0
  199. package/dist/configs/zenlink/errors.d.ts.map +1 -0
  200. package/dist/configs/zenlink/errors.js +8 -0
  201. package/dist/index.d.ts +8 -0
  202. package/dist/index.d.ts.map +1 -0
  203. package/dist/index.js +7 -0
  204. package/dist/types/index.d.ts +31 -0
  205. package/dist/types/index.d.ts.map +1 -0
  206. package/dist/types/index.js +52 -0
  207. package/dist/walletClient.d.ts +4433 -0
  208. package/dist/walletClient.d.ts.map +1 -0
  209. package/dist/walletClient.js +7 -0
  210. package/package.json +27 -0
@@ -0,0 +1,5 @@
1
+ import { TransportType } from '../types';
2
+ export declare const NATIVE_PLACEHOLDER = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
3
+ export declare const SERVER_HOST = "https://mainnet.stargate-api.com/v1";
4
+ export declare const ESTIMATED_DURATION_BY_TRANSPORT: Record<TransportType, number>;
5
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/configs/stargate/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,eAAO,MAAM,kBAAkB,+CAA+C,CAAA;AAE9E,eAAO,MAAM,WAAW,wCAAwC,CAAA;AAEhE,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAGzE,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { TransportType } from '../types';
2
+ export const NATIVE_PLACEHOLDER = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
3
+ export const SERVER_HOST = 'https://mainnet.stargate-api.com/v1';
4
+ export const ESTIMATED_DURATION_BY_TRANSPORT = {
5
+ [TransportType.Bus]: 600, // up to 10min
6
+ [TransportType.Taxi]: 60, // around 1min
7
+ };
@@ -0,0 +1,3 @@
1
+ export * from './config';
2
+ export * from './constants';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/configs/stargate/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './config';
2
+ export * from './constants';
@@ -0,0 +1,4 @@
1
+ import { CrossChainConfig } from '@1delta/bridge-core';
2
+ export declare const stargateBusConfig: CrossChainConfig;
3
+ export default stargateBusConfig;
4
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/configs/stargate/configs/bus/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAc,MAAM,qBAAqB,CAAA;AAKlE,eAAO,MAAM,iBAAiB,EAAE,gBAyC/B,CAAA;AAED,eAAe,iBAAiB,CAAA"}
@@ -0,0 +1,41 @@
1
+ import { Bridge } from '../../../../types';
2
+ import { SERVER_HOST, stargateConfig } from '../../common';
3
+ export const stargateBusConfig = {
4
+ ...stargateConfig,
5
+ name: Bridge.STARGATE_BUS,
6
+ apiInterface: {
7
+ ...stargateConfig.apiInterface,
8
+ status: {
9
+ url: `${SERVER_HOST}/buses/bus-queue/:hash`,
10
+ pathParams: {
11
+ hash: 'fromHash',
12
+ },
13
+ method: 'get',
14
+ requestMapping: {},
15
+ requestAfter: (res, _, crossChainParamsData) => {
16
+ const { fromHash } = crossChainParamsData;
17
+ const hashExists = res.some((entry) => entry?.inQueue === false);
18
+ return {
19
+ hashExists,
20
+ fromHash,
21
+ };
22
+ },
23
+ responseMapping: {
24
+ toHash: '',
25
+ statusInfo: {
26
+ format: (res) => {
27
+ const data = {
28
+ status: 'PENDING',
29
+ bridgeResponseResult: res,
30
+ };
31
+ if (res.hashExists) {
32
+ data.status = 'DONE';
33
+ }
34
+ return data;
35
+ },
36
+ },
37
+ },
38
+ },
39
+ },
40
+ };
41
+ export default stargateBusConfig;
@@ -0,0 +1,4 @@
1
+ import { CrossChainConfig } from '@1delta/bridge-core';
2
+ export declare const stargateTaxiConfig: CrossChainConfig;
3
+ export default stargateTaxiConfig;
4
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/configs/stargate/configs/taxi/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAc,MAAM,qBAAqB,CAAA;AASlE,eAAO,MAAM,kBAAkB,EAAE,gBAyDhC,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -0,0 +1,58 @@
1
+ import { Bridge } from '../../../../types';
2
+ import { getStargateContract, STARGATE_CHAIN_NAME, } from '../../calldata/constants';
3
+ import { SERVER_HOST, stargateConfig } from '../../common';
4
+ export const stargateTaxiConfig = {
5
+ ...stargateConfig,
6
+ name: Bridge.STARGATE_TAXI,
7
+ apiInterface: {
8
+ ...stargateConfig.apiInterface,
9
+ status: {
10
+ url: `${SERVER_HOST}/overview/transfers`,
11
+ method: 'get',
12
+ before: async (params) => {
13
+ const { fromTokenAddress, fromChainId, toTokenAddress, toChainId } = params;
14
+ params.srcPool = getStargateContract(fromChainId, fromTokenAddress);
15
+ params.dstPool = getStargateContract(toChainId, toTokenAddress);
16
+ params.srcChainKey = STARGATE_CHAIN_NAME[fromChainId];
17
+ params.dstChainKey = STARGATE_CHAIN_NAME[toChainId];
18
+ },
19
+ requestMapping: {
20
+ srcPool: 'srcPool',
21
+ dstPool: 'dstPool',
22
+ srcChainKey: 'srcChainKey',
23
+ dstChainKey: 'dstChainKey',
24
+ version: {
25
+ format: () => 'v2',
26
+ },
27
+ sort: {
28
+ format: () => 'desc',
29
+ },
30
+ },
31
+ requestAfter: (res, _, crossChainParamsData) => {
32
+ const fromHash = crossChainParamsData.fromHash;
33
+ const data = res.data;
34
+ const hashExists = data.some((entry) => entry.srcTxHash === fromHash);
35
+ return {
36
+ hashExists,
37
+ fromHash,
38
+ };
39
+ },
40
+ responseMapping: {
41
+ toHash: '',
42
+ statusInfo: {
43
+ format: (res) => {
44
+ const data = {
45
+ status: 'PENDING',
46
+ bridgeResponseResult: res,
47
+ };
48
+ if (res.hashExists) {
49
+ data.status = 'DONE';
50
+ }
51
+ return data;
52
+ },
53
+ },
54
+ },
55
+ },
56
+ },
57
+ };
58
+ export default stargateTaxiConfig;
@@ -0,0 +1,12 @@
1
+ export declare enum TransportType {
2
+ Taxi = "taxi",
3
+ Bus = "bus"
4
+ }
5
+ export declare enum StargateAssetIds {
6
+ USDC = 1,
7
+ USDT = 2,
8
+ ETH = 13,
9
+ METIS = 17,
10
+ mETH = 22
11
+ }
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/configs/stargate/types/index.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IAEvB,IAAI,SAAS;IAEb,GAAG,QAAQ;CACZ;AAED,oBAAY,gBAAgB;IAC1B,IAAI,IAAI;IACR,IAAI,IAAI;IACR,GAAG,KAAK;IACR,KAAK,KAAK;IACV,IAAI,KAAK;CACV"}
@@ -0,0 +1,15 @@
1
+ export var TransportType;
2
+ (function (TransportType) {
3
+ // Taxi is nearly instant (sub 1min) and composable but costs more
4
+ TransportType["Taxi"] = "taxi";
5
+ // Bus is slower (5-10min) but cheaper and not composable
6
+ TransportType["Bus"] = "bus";
7
+ })(TransportType || (TransportType = {}));
8
+ export var StargateAssetIds;
9
+ (function (StargateAssetIds) {
10
+ StargateAssetIds[StargateAssetIds["USDC"] = 1] = "USDC";
11
+ StargateAssetIds[StargateAssetIds["USDT"] = 2] = "USDT";
12
+ StargateAssetIds[StargateAssetIds["ETH"] = 13] = "ETH";
13
+ StargateAssetIds[StargateAssetIds["METIS"] = 17] = "METIS";
14
+ StargateAssetIds[StargateAssetIds["mETH"] = 22] = "mETH";
15
+ })(StargateAssetIds || (StargateAssetIds = {}));
@@ -0,0 +1,4 @@
1
+ import { CrossChainConfig } from '@1delta/bridge-core';
2
+ export declare const symbiosisConfig: CrossChainConfig;
3
+ export default symbiosisConfig;
4
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/configs/symbiosis/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAEjB,MAAM,qBAAqB,CAAA;AAyB5B,eAAO,MAAM,eAAe,EAAE,gBA4F7B,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,119 @@
1
+ import { CrossChainBusinessException, } from '@1delta/bridge-core';
2
+ import { Bridge } from '../../types';
3
+ import { bridgeIcon } from '../utils';
4
+ const serverHost = 'https://api.symbiosis.finance/crosschain';
5
+ const NAME = Bridge.SYMBIOSIS;
6
+ const errorCodes = {
7
+ ERROR: { code: 'ERROR', message: 'unknown error' },
8
+ NOT_SUPPORT: { code: 'NOT_SUPPORT', message: 'NOT SUPPORT' },
9
+ DEPOSIT_NOT_FOUND: {
10
+ code: 'DEPOSIT_NOT_FOUND',
11
+ message: 'deposit not found',
12
+ },
13
+ };
14
+ var Status;
15
+ (function (Status) {
16
+ Status[Status["DONE"] = 0] = "DONE";
17
+ Status[Status["PROCESSING"] = 1] = "PROCESSING";
18
+ Status[Status["NOT_FOUND"] = -1] = "NOT_FOUND";
19
+ Status[Status["STUCKED"] = 2] = "STUCKED";
20
+ Status[Status["REVERTED"] = 3] = "REVERTED";
21
+ })(Status || (Status = {}));
22
+ export const symbiosisConfig = {
23
+ name: NAME,
24
+ icon: {
25
+ light: bridgeIcon(NAME),
26
+ dark: bridgeIcon(NAME),
27
+ },
28
+ apiInterface: {
29
+ route: {
30
+ url: `${serverHost}/v1/swap`,
31
+ method: 'post',
32
+ requestMapping: {
33
+ tokenAmountIn: {
34
+ format: (params) => {
35
+ return {
36
+ address: params.fromTokenAddress,
37
+ amount: params.fromAmount,
38
+ chainId: Number(params.fromChainId),
39
+ decimals: params.fromTokenDecimals,
40
+ };
41
+ },
42
+ },
43
+ tokenOut: {
44
+ format: (params) => {
45
+ return {
46
+ address: params.toTokenAddress,
47
+ chainId: Number(params.toChainId),
48
+ decimals: params.toTokenDecimals,
49
+ };
50
+ },
51
+ },
52
+ selectMode: 'best_return',
53
+ from: 'fromAddress',
54
+ to: 'toAddress',
55
+ slippage: {
56
+ format: (params) => {
57
+ return Number(params.slippage * 100);
58
+ },
59
+ },
60
+ },
61
+ requestAfter: (data) => {
62
+ if (!data)
63
+ throw new CrossChainBusinessException(errorCodes.NOT_SUPPORT);
64
+ return data;
65
+ },
66
+ responseMapping: {
67
+ name: NAME,
68
+ depositContract: 'approveTo',
69
+ toAmount: 'tokenAmountOut.amount',
70
+ fee: {},
71
+ estimatedDuration: 'estimatedTime',
72
+ transactionData: {
73
+ data: 'tx.data',
74
+ value: 'tx.value',
75
+ to: 'tx.to',
76
+ },
77
+ },
78
+ },
79
+ status: {
80
+ url: `${serverHost}/v1/tx/:chainId/:transactionHash`,
81
+ method: 'get',
82
+ pathParams: {
83
+ chainId: 'fromChainId',
84
+ transactionHash: 'fromHash',
85
+ },
86
+ requestMapping: {},
87
+ requestAfter: (res) => {
88
+ return res;
89
+ },
90
+ responseMapping: {
91
+ toHash: 'tx.Hash',
92
+ statusInfo: {
93
+ format: (res) => {
94
+ const data = {
95
+ status: 'PENDING',
96
+ bridgeResponseResult: res.status.text,
97
+ };
98
+ if (res?.status?.code === Status.DONE) {
99
+ data.status = 'DONE';
100
+ }
101
+ else if (res?.status?.code === Status.PROCESSING) {
102
+ data.status = 'PENDING';
103
+ }
104
+ else if (res?.status?.code === Status.NOT_FOUND) {
105
+ data.status = 'NOT_FOUND';
106
+ }
107
+ else if (res?.status?.code === Status.STUCKED) {
108
+ data.status = 'FAILED';
109
+ data.message = `failed: ${res.msg}`;
110
+ }
111
+ return data;
112
+ },
113
+ },
114
+ },
115
+ },
116
+ },
117
+ errorCodes,
118
+ };
119
+ export default symbiosisConfig;
@@ -0,0 +1,2 @@
1
+ export declare function bridgeIcon(aggregator: string): string;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/configs/utils/index.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,UAE5C"}
@@ -0,0 +1,3 @@
1
+ export function bridgeIcon(aggregator) {
2
+ return `https://raw.githubusercontent.com/1delta-DAO/protocol-icons/main/bridge/${aggregator.toLowerCase()}.webp`;
3
+ }
@@ -0,0 +1,4 @@
1
+ import { CrossChainConfig } from '@1delta/bridge-core';
2
+ export declare const xyConfig: CrossChainConfig;
3
+ export default xyConfig;
4
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/configs/xy/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAEjB,MAAM,qBAAqB,CAAA;AA0B5B,eAAO,MAAM,QAAQ,EAAE,gBAmItB,CAAA;AAsBD,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,176 @@
1
+ import { CrossChainBusinessException, } from '@1delta/bridge-core';
2
+ import { Bridge } from '../../types';
3
+ import { bridgeIcon } from '../utils';
4
+ const serverHost = 'https://aggregator-api.xy.finance/v1';
5
+ const NAME = Bridge.XY;
6
+ const errorCodes = {
7
+ ERROR: { code: 'ERROR', message: 'unknown error' },
8
+ NOT_SUPPORT: { code: 'NOT_SUPPORT', message: 'NOT SUPPORT' },
9
+ DEPOSIT_NOT_FOUND: {
10
+ code: 'DEPOSIT_NOT_FOUND',
11
+ message: 'deposit not found',
12
+ },
13
+ };
14
+ var Status;
15
+ (function (Status) {
16
+ Status["DONE"] = "Done";
17
+ Status["PROCESSING"] = "Processing";
18
+ Status["NOT_FOUND"] = "Not found";
19
+ Status["REFUNDED"] = "Refunded";
20
+ Status["PENDING_REFUND"] = "Pending refund";
21
+ Status["FAILED"] = "FAILED";
22
+ })(Status || (Status = {}));
23
+ export const xyConfig = {
24
+ name: NAME,
25
+ icon: {
26
+ light: bridgeIcon(NAME),
27
+ dark: bridgeIcon(NAME),
28
+ },
29
+ apiInterface: {
30
+ route: {
31
+ url: `${serverHost}/quote`,
32
+ method: 'get',
33
+ headers: {},
34
+ requestMapping: {
35
+ srcChainId: 'fromChainId',
36
+ dstChainId: 'toChainId',
37
+ srcQuoteTokenAddress: 'fromTokenAddress',
38
+ srcQuoteTokenAmount: 'fromAmount',
39
+ dstQuoteTokenAddress: 'toTokenAddress',
40
+ slippage: 'slippage',
41
+ },
42
+ requestAfter: (data) => {
43
+ if (!data.routes)
44
+ throw new CrossChainBusinessException(errorCodes.NOT_SUPPORT);
45
+ const bestRoute = getBestRoute(data.routes);
46
+ return bestRoute;
47
+ },
48
+ responseMapping: {
49
+ name: NAME,
50
+ depositContract: 'contractAddress',
51
+ toAmount: 'dstQuoteTokenAmount',
52
+ fee: {
53
+ destinationGasFee: 'withholdingFeeAmount',
54
+ },
55
+ estimatedDuration: 'estimatedTransferTime',
56
+ interfaceParamData: {
57
+ srcSwapDescription: 'srcSwapDescription',
58
+ bridgeDescription: 'bridgeDescription',
59
+ dstSwapDescription: 'dstSwapDescription',
60
+ },
61
+ },
62
+ },
63
+ status: {
64
+ url: `${serverHost}/crossChainStatus`,
65
+ method: 'get',
66
+ requestMapping: {
67
+ srcChainId: 'fromChainId',
68
+ srcTxHash: 'fromHash',
69
+ },
70
+ requestAfter: (res, _, crossChainParamsData) => {
71
+ return res;
72
+ },
73
+ responseMapping: {
74
+ toHash: 'tx',
75
+ statusInfo: {
76
+ format: (res) => {
77
+ const data = {
78
+ status: 'PENDING',
79
+ bridgeResponseResult: res.msg,
80
+ };
81
+ if (res.status === Status.DONE) {
82
+ data.status = 'DONE';
83
+ }
84
+ else if (res.status === Status.PROCESSING ||
85
+ res.status === Status.PENDING_REFUND) {
86
+ data.status = 'PENDING';
87
+ }
88
+ else if (res.status === Status.NOT_FOUND) {
89
+ data.status = 'NOT_FOUND';
90
+ }
91
+ else if (res.status === Status.REFUNDED) {
92
+ data.status = 'TRANSFER_REFUNDED';
93
+ }
94
+ else if (res.status === Status.FAILED) {
95
+ data.status = 'FAILED';
96
+ data.message = `failed: ${res.msg}`;
97
+ }
98
+ else if (res.status) {
99
+ data.status = 'PARTIAL_SUCCESS';
100
+ }
101
+ return data;
102
+ },
103
+ },
104
+ },
105
+ },
106
+ buildTransactionData: {
107
+ url: `${serverHost}/buildTx`,
108
+ method: 'get',
109
+ headers: {},
110
+ requestMapping: {
111
+ srcChainId: 'fromChainId',
112
+ dstChainId: 'toChainId',
113
+ srcQuoteTokenAddress: 'fromTokenAddress',
114
+ srcQuoteTokenAmount: 'fromAmount',
115
+ dstQuoteTokenAddress: 'toTokenAddress',
116
+ slippage: 'slippage',
117
+ receiver: 'toAddress',
118
+ srcSwapProvider: {
119
+ format: (_, { interfaceParamData }) => {
120
+ return interfaceParamData.srcSwapDescription?.provider;
121
+ },
122
+ },
123
+ dstSwapProvider: {
124
+ format: (_, { interfaceParamData }) => {
125
+ return interfaceParamData.dstSwapDescription?.provider;
126
+ },
127
+ },
128
+ bridgeProvider: {
129
+ format: (_, { interfaceParamData }) => {
130
+ return interfaceParamData.bridgeDescription?.provider;
131
+ },
132
+ },
133
+ srcBridgeTokenAddress: {
134
+ format: (_, { interfaceParamData }) => {
135
+ return interfaceParamData.bridgeDescription?.srcBridgeTokenAddress;
136
+ },
137
+ },
138
+ dstBridgeTokenAddress: {
139
+ format: (_, { interfaceParamData }) => {
140
+ return interfaceParamData.bridgeDescription?.dstBridgeTokenAddress;
141
+ },
142
+ },
143
+ },
144
+ requestAfter: (res) => {
145
+ if (res.success !== true)
146
+ throw new CrossChainBusinessException(errorCodes.ERROR);
147
+ return res;
148
+ },
149
+ responseMapping: {
150
+ data: 'tx.data',
151
+ value: 'tx.value',
152
+ to: 'tx.to',
153
+ },
154
+ },
155
+ },
156
+ errorCodes,
157
+ };
158
+ const getBestRoute = (routes) => {
159
+ if (!routes || routes.length === 0) {
160
+ return null;
161
+ }
162
+ // Return route with greatest usd output
163
+ const bestRoute = routes.reduce((bestRoute, currentRoute) => {
164
+ // Convert values to numbers and handle potential null/undefined
165
+ const bestTotalOutput = Number(bestRoute?.dstQuoteTokenUsdValue || 0);
166
+ const currentTotalOutput = Number(currentRoute?.dstQuoteTokenUsdValue || 0);
167
+ // Handle NaN cases
168
+ if (isNaN(currentTotalOutput))
169
+ return bestRoute;
170
+ if (isNaN(bestTotalOutput))
171
+ return currentRoute;
172
+ return currentTotalOutput > bestTotalOutput ? currentRoute : bestRoute;
173
+ });
174
+ return bestRoute;
175
+ };
176
+ export default xyConfig;
@@ -0,0 +1,49 @@
1
+ export declare const aggregationRouterV2ABI: readonly [{
2
+ readonly inputs: readonly [{
3
+ readonly internalType: "contract IAggregationExecutor";
4
+ readonly name: "executor";
5
+ readonly type: "address";
6
+ }, {
7
+ readonly components: readonly [{
8
+ readonly internalType: "Currency";
9
+ readonly name: "srcToken";
10
+ readonly type: "address";
11
+ }, {
12
+ readonly internalType: "Currency";
13
+ readonly name: "dstToken";
14
+ readonly type: "address";
15
+ }, {
16
+ readonly internalType: "address";
17
+ readonly name: "dstReceiver";
18
+ readonly type: "address";
19
+ }, {
20
+ readonly internalType: "uint256";
21
+ readonly name: "amount";
22
+ readonly type: "uint256";
23
+ }, {
24
+ readonly internalType: "uint256";
25
+ readonly name: "minReturnAmount";
26
+ readonly type: "uint256";
27
+ }];
28
+ readonly internalType: "struct AggregationRouter.SwapDescription";
29
+ readonly name: "desc";
30
+ readonly type: "tuple";
31
+ }, {
32
+ readonly internalType: "bytes";
33
+ readonly name: "route";
34
+ readonly type: "bytes";
35
+ }];
36
+ readonly name: "swap";
37
+ readonly outputs: readonly [{
38
+ readonly internalType: "uint256";
39
+ readonly name: "returnAmount";
40
+ readonly type: "uint256";
41
+ }, {
42
+ readonly internalType: "uint256";
43
+ readonly name: "spentAmount";
44
+ readonly type: "uint256";
45
+ }];
46
+ readonly stateMutability: "payable";
47
+ readonly type: "function";
48
+ }];
49
+ //# sourceMappingURL=aggregationRouterV2ABI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregationRouterV2ABI.d.ts","sourceRoot":"","sources":["../../../../src/configs/zenlink/calldata/aggregationRouterV2ABI.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DzB,CAAA"}
@@ -0,0 +1,63 @@
1
+ export const aggregationRouterV2ABI = [
2
+ {
3
+ inputs: [
4
+ {
5
+ internalType: 'contract IAggregationExecutor',
6
+ name: 'executor',
7
+ type: 'address',
8
+ },
9
+ {
10
+ components: [
11
+ {
12
+ internalType: 'Currency',
13
+ name: 'srcToken',
14
+ type: 'address',
15
+ },
16
+ {
17
+ internalType: 'Currency',
18
+ name: 'dstToken',
19
+ type: 'address',
20
+ },
21
+ {
22
+ internalType: 'address',
23
+ name: 'dstReceiver',
24
+ type: 'address',
25
+ },
26
+ {
27
+ internalType: 'uint256',
28
+ name: 'amount',
29
+ type: 'uint256',
30
+ },
31
+ {
32
+ internalType: 'uint256',
33
+ name: 'minReturnAmount',
34
+ type: 'uint256',
35
+ },
36
+ ],
37
+ internalType: 'struct AggregationRouter.SwapDescription',
38
+ name: 'desc',
39
+ type: 'tuple',
40
+ },
41
+ {
42
+ internalType: 'bytes',
43
+ name: 'route',
44
+ type: 'bytes',
45
+ },
46
+ ],
47
+ name: 'swap',
48
+ outputs: [
49
+ {
50
+ internalType: 'uint256',
51
+ name: 'returnAmount',
52
+ type: 'uint256',
53
+ },
54
+ {
55
+ internalType: 'uint256',
56
+ name: 'spentAmount',
57
+ type: 'uint256',
58
+ },
59
+ ],
60
+ stateMutability: 'payable',
61
+ type: 'function',
62
+ },
63
+ ];
@@ -0,0 +1,18 @@
1
+ import { Address, Hex } from 'viem';
2
+ export interface CreateZenlinkCalldataParams {
3
+ routerAddress: string;
4
+ executorAddress: string;
5
+ tokenIn: string;
6
+ tokenOut: string;
7
+ amount: string;
8
+ to: string;
9
+ amountOutMin: string;
10
+ routeCode: string;
11
+ value: string;
12
+ }
13
+ export declare function createZenlinkCalldata({ routerAddress, executorAddress, tokenIn, tokenOut, amount, to, amountOutMin, routeCode, value, }: CreateZenlinkCalldataParams): Promise<{
14
+ to: Address;
15
+ data: Hex;
16
+ value: string;
17
+ }>;
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/configs/zenlink/calldata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAsB,GAAG,EAAE,MAAM,MAAM,CAAA;AAIvD,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,aAAa,EACb,eAAe,EACf,OAAO,EACP,QAAQ,EACR,MAAM,EACN,EAAE,EACF,YAAY,EACZ,SAAS,EACT,KAAK,GACN,EAAE,2BAA2B,GAAG,OAAO,CAAC;IACvC,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;CACd,CAAC,CAqCD"}