@openocean.finance/widget 1.0.28 → 1.0.29

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 (110) hide show
  1. package/dist/esm/components/AmountInput/AmountInputEndAdornment.js +46 -39
  2. package/dist/esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
  3. package/dist/esm/components/Messages/WarningMessages.js +2 -2
  4. package/dist/esm/components/Messages/WarningMessages.js.map +1 -1
  5. package/dist/esm/components/Step/Step.js +37 -29
  6. package/dist/esm/components/Step/Step.js.map +1 -1
  7. package/dist/esm/components/TransactionDetails.js +2 -5
  8. package/dist/esm/components/TransactionDetails.js.map +1 -1
  9. package/dist/esm/config/version.d.ts +1 -1
  10. package/dist/esm/config/version.js +1 -1
  11. package/dist/esm/cross/adapters/AcrossAdapter.d.ts +15 -0
  12. package/dist/esm/cross/adapters/AcrossAdapter.js +166 -0
  13. package/dist/esm/cross/adapters/AcrossAdapter.js.map +1 -0
  14. package/dist/esm/cross/adapters/BaseSwapAdapter.d.ts +107 -0
  15. package/dist/esm/cross/adapters/BaseSwapAdapter.js +44 -0
  16. package/dist/esm/cross/adapters/BaseSwapAdapter.js.map +1 -0
  17. package/dist/esm/cross/adapters/DebridgeAdapter.d.ts +20 -0
  18. package/dist/esm/cross/adapters/DebridgeAdapter.js +264 -0
  19. package/dist/esm/cross/adapters/DebridgeAdapter.js.map +1 -0
  20. package/dist/esm/cross/adapters/LifiAdapter.d.ts +19 -0
  21. package/dist/esm/cross/adapters/LifiAdapter.js +169 -0
  22. package/dist/esm/cross/adapters/LifiAdapter.js.map +1 -0
  23. package/dist/esm/cross/adapters/MayanAdapter.d.ts +14 -0
  24. package/dist/esm/cross/adapters/MayanAdapter.js +119 -0
  25. package/dist/esm/cross/adapters/MayanAdapter.js.map +1 -0
  26. package/dist/esm/cross/adapters/NearIntentsAdapter.d.ts +21 -0
  27. package/dist/esm/cross/adapters/NearIntentsAdapter.js +425 -0
  28. package/dist/esm/cross/adapters/NearIntentsAdapter.js.map +1 -0
  29. package/dist/esm/cross/adapters/OptimexAdapter.d.ts +19 -0
  30. package/dist/esm/cross/adapters/OptimexAdapter.js +216 -0
  31. package/dist/esm/cross/adapters/OptimexAdapter.js.map +1 -0
  32. package/dist/esm/cross/adapters/OrbiterAdapter.d.ts +20 -0
  33. package/dist/esm/cross/adapters/OrbiterAdapter.js +213 -0
  34. package/dist/esm/cross/adapters/OrbiterAdapter.js.map +1 -0
  35. package/dist/esm/cross/adapters/RelayAdapter.d.ts +14 -0
  36. package/dist/esm/cross/adapters/RelayAdapter.js +171 -0
  37. package/dist/esm/cross/adapters/RelayAdapter.js.map +1 -0
  38. package/dist/esm/cross/adapters/SymbiosisAdapter.d.ts +14 -0
  39. package/dist/esm/cross/adapters/SymbiosisAdapter.js +120 -0
  40. package/dist/esm/cross/adapters/SymbiosisAdapter.js.map +1 -0
  41. package/dist/esm/cross/adapters/XYFinanceAdapter.d.ts +14 -0
  42. package/dist/esm/cross/adapters/XYFinanceAdapter.js +177 -0
  43. package/dist/esm/cross/adapters/XYFinanceAdapter.js.map +1 -0
  44. package/dist/esm/cross/adapters/index.d.ts +2 -0
  45. package/dist/esm/cross/adapters/index.js +10 -0
  46. package/dist/esm/cross/adapters/index.js.map +1 -0
  47. package/dist/esm/cross/constants/index.d.ts +202 -0
  48. package/dist/esm/cross/constants/index.js +183 -0
  49. package/dist/esm/cross/constants/index.js.map +1 -0
  50. package/dist/esm/cross/crossChainQuote.d.ts +25 -0
  51. package/dist/esm/cross/crossChainQuote.js +127 -0
  52. package/dist/esm/cross/crossChainQuote.js.map +1 -0
  53. package/dist/esm/cross/factory.d.ts +9 -0
  54. package/dist/esm/cross/factory.js +125 -0
  55. package/dist/esm/cross/factory.js.map +1 -0
  56. package/dist/esm/cross/registry.d.ts +12 -0
  57. package/dist/esm/cross/registry.js +52 -0
  58. package/dist/esm/cross/registry.js.map +1 -0
  59. package/dist/esm/hooks/useChain.d.ts +1 -1
  60. package/dist/esm/hooks/useGasRefuel.d.ts +1 -1
  61. package/dist/esm/hooks/useGasSufficiencyBridge.js +1 -2
  62. package/dist/esm/hooks/useGasSufficiencyBridge.js.map +1 -1
  63. package/dist/esm/hooks/useRouteExecution.js +2 -1
  64. package/dist/esm/hooks/useRouteExecution.js.map +1 -1
  65. package/dist/esm/hooks/useRoutes.js +50 -32
  66. package/dist/esm/hooks/useRoutes.js.map +1 -1
  67. package/dist/esm/hooks/useSettingMonitor.js +1 -0
  68. package/dist/esm/hooks/useSettingMonitor.js.map +1 -1
  69. package/dist/esm/hooks/useTokenAddressBalance.d.ts +1 -1
  70. package/dist/esm/hooks/useTokenPrice.js +4 -2
  71. package/dist/esm/hooks/useTokenPrice.js.map +1 -1
  72. package/dist/esm/hooks/useTokens.d.ts +1 -1
  73. package/dist/esm/services/ExecuteRoute.js +142 -124
  74. package/dist/esm/services/ExecuteRoute.js.map +1 -1
  75. package/dist/esm/stores/form/useFieldController.d.ts +1 -1
  76. package/dist/esm/stores/routes/createRouteExecutionStore.js +6 -3
  77. package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -1
  78. package/dist/esm/stores/routes/useSetExecutableRoute.d.ts +1 -1
  79. package/dist/esm/types/widget.d.ts +3 -0
  80. package/dist/tsconfig.tsbuildinfo +1 -0
  81. package/package.json +14 -4
  82. package/src/components/AmountInput/AmountInputEndAdornment.tsx +46 -46
  83. package/src/components/Messages/WarningMessages.tsx +7 -2
  84. package/src/components/Step/Step.tsx +37 -31
  85. package/src/components/TransactionDetails.tsx +10 -11
  86. package/src/config/version.ts +1 -1
  87. package/src/cross/adapters/AcrossAdapter.ts +193 -0
  88. package/src/cross/adapters/BaseSwapAdapter.ts +173 -0
  89. package/src/cross/adapters/DebridgeAdapter.ts +375 -0
  90. package/src/cross/adapters/LifiAdapter.ts +213 -0
  91. package/src/cross/adapters/MayanAdapter.ts +179 -0
  92. package/src/cross/adapters/NearIntentsAdapter.ts +539 -0
  93. package/src/cross/adapters/OptimexAdapter.ts +273 -0
  94. package/src/cross/adapters/OrbiterAdapter.ts +270 -0
  95. package/src/cross/adapters/RelayAdapter.ts +248 -0
  96. package/src/cross/adapters/SymbiosisAdapter.ts +144 -0
  97. package/src/cross/adapters/XYFinanceAdapter.ts +213 -0
  98. package/src/cross/adapters/index.ts +9 -0
  99. package/src/cross/constants/index.ts +223 -0
  100. package/src/cross/crossChainQuote.ts +181 -0
  101. package/src/cross/factory.ts +145 -0
  102. package/src/cross/registry.ts +65 -0
  103. package/src/hooks/useGasSufficiencyBridge.ts +1 -3
  104. package/src/hooks/useRouteExecution.ts +2 -1
  105. package/src/hooks/useRoutes.ts +64 -43
  106. package/src/hooks/useSettingMonitor.ts +1 -1
  107. package/src/hooks/useTokenPrice.ts +5 -3
  108. package/src/services/ExecuteRoute.ts +184 -171
  109. package/src/stores/routes/createRouteExecutionStore.ts +13 -4
  110. package/src/types/widget.ts +3 -0
@@ -0,0 +1,202 @@
1
+ import { ChainId } from '@openocean.finance/widget-sdk';
2
+ export declare const CROSS_CHAIN_FEE_RECEIVER = "0x922164BBBd36Acf9E854AcBbF32faCC949fCAEef";
3
+ export declare const CROSS_CHAIN_FEE_RECEIVER_SOLANA = "yEVG5DpokLuVRAqoWeKJANBY2wynzgTSXUbGz7aDKBq";
4
+ export declare const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
5
+ export declare const BTC_DEFAULT_RECEIVER = "";
6
+ export declare const SOLANA_NATIVE = "11111111111111111111111111111111";
7
+ export declare const ETHER_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
8
+ export declare const TOKEN_API_URL = "https://token-api.kyberengineering.io/api";
9
+ export declare const NativeCurrencies: {
10
+ 1: {
11
+ name: string;
12
+ symbol: string;
13
+ decimals: number;
14
+ address: string;
15
+ wrapped: {
16
+ name: string;
17
+ symbol: string;
18
+ decimals: number;
19
+ address: string;
20
+ };
21
+ };
22
+ 56: {
23
+ name: string;
24
+ symbol: string;
25
+ decimals: number;
26
+ address: string;
27
+ wrapped: {
28
+ name: string;
29
+ symbol: string;
30
+ decimals: number;
31
+ address: string;
32
+ };
33
+ };
34
+ 43114: {
35
+ name: string;
36
+ symbol: string;
37
+ decimals: number;
38
+ address: string;
39
+ wrapped: {
40
+ name: string;
41
+ symbol: string;
42
+ decimals: number;
43
+ address: string;
44
+ };
45
+ };
46
+ 137: {
47
+ name: string;
48
+ symbol: string;
49
+ decimals: number;
50
+ address: string;
51
+ wrapped: {
52
+ name: string;
53
+ symbol: string;
54
+ decimals: number;
55
+ address: string;
56
+ };
57
+ };
58
+ 42161: {
59
+ name: string;
60
+ symbol: string;
61
+ decimals: number;
62
+ address: string;
63
+ wrapped: {
64
+ name: string;
65
+ symbol: string;
66
+ decimals: number;
67
+ address: string;
68
+ };
69
+ };
70
+ 10: {
71
+ name: string;
72
+ symbol: string;
73
+ decimals: number;
74
+ address: string;
75
+ wrapped: {
76
+ name: string;
77
+ symbol: string;
78
+ decimals: number;
79
+ address: string;
80
+ };
81
+ };
82
+ 250: {
83
+ name: string;
84
+ symbol: string;
85
+ decimals: number;
86
+ address: string;
87
+ wrapped: {
88
+ name: string;
89
+ symbol: string;
90
+ decimals: number;
91
+ address: string;
92
+ };
93
+ };
94
+ 8453: {
95
+ name: string;
96
+ symbol: string;
97
+ decimals: number;
98
+ address: string;
99
+ wrapped: {
100
+ name: string;
101
+ symbol: string;
102
+ decimals: number;
103
+ address: string;
104
+ };
105
+ };
106
+ 534352: {
107
+ name: string;
108
+ symbol: string;
109
+ decimals: number;
110
+ address: string;
111
+ wrapped: {
112
+ name: string;
113
+ symbol: string;
114
+ decimals: number;
115
+ address: string;
116
+ };
117
+ };
118
+ 81457: {
119
+ name: string;
120
+ symbol: string;
121
+ decimals: number;
122
+ address: string;
123
+ wrapped: {
124
+ name: string;
125
+ symbol: string;
126
+ decimals: number;
127
+ address: string;
128
+ };
129
+ };
130
+ 5000: {
131
+ name: string;
132
+ symbol: string;
133
+ decimals: number;
134
+ address: string;
135
+ wrapped: {
136
+ name: string;
137
+ symbol: string;
138
+ decimals: number;
139
+ address: string;
140
+ };
141
+ };
142
+ 146: {
143
+ name: string;
144
+ symbol: string;
145
+ decimals: number;
146
+ address: string;
147
+ wrapped: {
148
+ name: string;
149
+ symbol: string;
150
+ decimals: number;
151
+ address: string;
152
+ };
153
+ };
154
+ 130: {
155
+ name: string;
156
+ symbol: string;
157
+ decimals: number;
158
+ address: string;
159
+ wrapped: {
160
+ name: string;
161
+ symbol: string;
162
+ decimals: number;
163
+ address: string;
164
+ };
165
+ };
166
+ };
167
+ export declare const MAINNET_NETWORKS: readonly [ChainId.ETH, ChainId.BSC, ChainId.AVA, ChainId.BAS, ChainId.POL, ChainId.ARB, ChainId.OPT, ChainId.MNT, ChainId.SON, ChainId.UNI, ChainId.BLS, ChainId.SCL];
168
+ export interface Currency {
169
+ id: string;
170
+ name: string;
171
+ symbol: string;
172
+ address: string;
173
+ icon: string;
174
+ logo: string;
175
+ decimals: number;
176
+ isNative: boolean;
177
+ wrapped: {
178
+ name: string;
179
+ symbol: string;
180
+ decimals: number;
181
+ address: string;
182
+ };
183
+ }
184
+ export interface NearToken {
185
+ assetId: string;
186
+ decimals: number;
187
+ blockchain: string;
188
+ symbol: string;
189
+ price: number;
190
+ priceUpdatedAt: number;
191
+ contractAddress: string;
192
+ logo: string;
193
+ }
194
+ export interface SolanaToken {
195
+ id: string;
196
+ name: string;
197
+ symbol: string;
198
+ icon: string;
199
+ logo: string;
200
+ decimals: number;
201
+ tokenProgram: string;
202
+ }
@@ -0,0 +1,183 @@
1
+ import { ChainId } from '@openocean.finance/widget-sdk';
2
+ export const CROSS_CHAIN_FEE_RECEIVER = '0x922164BBBd36Acf9E854AcBbF32faCC949fCAEef';
3
+ export const CROSS_CHAIN_FEE_RECEIVER_SOLANA = 'yEVG5DpokLuVRAqoWeKJANBY2wynzgTSXUbGz7aDKBq';
4
+ export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
5
+ export const BTC_DEFAULT_RECEIVER = '';
6
+ export const SOLANA_NATIVE = '11111111111111111111111111111111';
7
+ export const ETHER_ADDRESS = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
8
+ export const TOKEN_API_URL = 'https://token-api.kyberengineering.io/api';
9
+ export const NativeCurrencies = {
10
+ [ChainId.ETH]: {
11
+ name: 'Ether',
12
+ symbol: 'ETH',
13
+ decimals: 18,
14
+ address: '0x0000000000000000000000000000000000000000',
15
+ wrapped: {
16
+ name: 'Wrapped Ether',
17
+ symbol: 'WETH',
18
+ decimals: 18,
19
+ address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
20
+ },
21
+ },
22
+ [ChainId.BSC]: {
23
+ name: 'Binance Coin',
24
+ symbol: 'BNB',
25
+ decimals: 18,
26
+ address: '0x0000000000000000000000000000000000000000',
27
+ wrapped: {
28
+ name: 'Wrapped BNB',
29
+ symbol: 'WBNB',
30
+ decimals: 18,
31
+ address: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
32
+ },
33
+ },
34
+ [ChainId.AVA]: {
35
+ name: 'Avalanche',
36
+ symbol: 'AVAX',
37
+ decimals: 18,
38
+ address: '0x0000000000000000000000000000000000000000',
39
+ wrapped: {
40
+ name: 'Wrapped AVAX',
41
+ symbol: 'WAVAX',
42
+ decimals: 18,
43
+ address: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7',
44
+ },
45
+ },
46
+ [ChainId.POL]: {
47
+ name: 'Polygon',
48
+ symbol: 'MATIC',
49
+ decimals: 18,
50
+ address: '0x0000000000000000000000000000000000000000',
51
+ wrapped: {
52
+ name: 'Wrapped MATIC',
53
+ symbol: 'WMATIC',
54
+ decimals: 18,
55
+ address: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',
56
+ },
57
+ },
58
+ [ChainId.ARB]: {
59
+ name: 'ETH',
60
+ symbol: 'ETH',
61
+ decimals: 18,
62
+ address: '0x0000000000000000000000000000000000000000',
63
+ wrapped: {
64
+ name: 'Wrapped ETH',
65
+ symbol: 'WEHT',
66
+ decimals: 18,
67
+ address: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
68
+ },
69
+ },
70
+ [ChainId.OPT]: {
71
+ name: 'Optimism',
72
+ symbol: 'ETH',
73
+ decimals: 18,
74
+ address: '0x0000000000000000000000000000000000000000',
75
+ wrapped: {
76
+ name: 'Wrapped ETH',
77
+ symbol: 'WETH',
78
+ decimals: 18,
79
+ address: '0x4200000000000000000000000000000000000006',
80
+ },
81
+ },
82
+ [ChainId.FTM]: {
83
+ name: 'Fantom',
84
+ symbol: 'FTM',
85
+ decimals: 18,
86
+ address: '0x0000000000000000000000000000000000000000',
87
+ wrapped: {
88
+ name: 'Wrapped FTM',
89
+ symbol: 'WFTM',
90
+ decimals: 18,
91
+ address: '0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83',
92
+ },
93
+ },
94
+ [ChainId.BAS]: {
95
+ name: 'Base',
96
+ symbol: 'ETH',
97
+ decimals: 18,
98
+ address: '0x0000000000000000000000000000000000000000',
99
+ wrapped: {
100
+ name: 'Wrapped ETH',
101
+ symbol: 'WEHT',
102
+ decimals: 18,
103
+ address: '0x4200000000000000000000000000000000000006',
104
+ },
105
+ },
106
+ [ChainId.SCL]: {
107
+ name: 'Scroll',
108
+ symbol: 'ETH',
109
+ decimals: 18,
110
+ address: '0x0000000000000000000000000000000000000000',
111
+ wrapped: {
112
+ name: 'Wrapped ETH',
113
+ symbol: 'WEHT',
114
+ decimals: 18,
115
+ address: '0x5300000000000000000000000000000000000004',
116
+ },
117
+ },
118
+ [ChainId.BLS]: {
119
+ name: 'Blast',
120
+ symbol: 'ETH',
121
+ decimals: 18,
122
+ address: '0x0000000000000000000000000000000000000000',
123
+ wrapped: {
124
+ name: 'Wrapped ETH',
125
+ symbol: 'WEHT',
126
+ decimals: 18,
127
+ address: '0x4300000000000000000000000000000000000004',
128
+ },
129
+ },
130
+ [ChainId.MNT]: {
131
+ name: 'Mantle',
132
+ symbol: 'ETH',
133
+ decimals: 18,
134
+ address: '0x0000000000000000000000000000000000000000',
135
+ wrapped: {
136
+ name: 'Wrapped MNT',
137
+ symbol: 'WMNT',
138
+ decimals: 18,
139
+ address: '0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8',
140
+ },
141
+ },
142
+ [ChainId.SON]: {
143
+ name: 'Son',
144
+ symbol: 'S',
145
+ decimals: 18,
146
+ address: '0x0000000000000000000000000000000000000000',
147
+ wrapped: {
148
+ name: 'Wrapped S',
149
+ symbol: 'WS',
150
+ decimals: 18,
151
+ address: '0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38',
152
+ },
153
+ },
154
+ [ChainId.UNI]: {
155
+ name: 'UniChain',
156
+ symbol: 'ETH',
157
+ decimals: 18,
158
+ address: '0x0000000000000000000000000000000000000000',
159
+ wrapped: {
160
+ name: 'Wrapped ETH',
161
+ symbol: 'WEHT',
162
+ decimals: 18,
163
+ address: '0x4200000000000000000000000000000000000006',
164
+ },
165
+ },
166
+ };
167
+ export const MAINNET_NETWORKS = [
168
+ ChainId.ETH,
169
+ ChainId.BSC,
170
+ ChainId.AVA,
171
+ ChainId.BAS,
172
+ ChainId.POL,
173
+ ChainId.ARB,
174
+ ChainId.OPT,
175
+ // ChainId.FTM,
176
+ // ChainId.MAM,
177
+ ChainId.MNT,
178
+ ChainId.SON,
179
+ ChainId.UNI,
180
+ ChainId.BLS,
181
+ ChainId.SCL,
182
+ ];
183
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cross/constants/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { WalletClient } from 'viem';
2
+ /**
3
+ * Get cross-chain aggregated quotes (supports multiple adapter comparison)
4
+ * @param params - Cross-chain quote parameters
5
+ * @returns Best quote result, compatible with useRoutes.ts requirements
6
+ */
7
+ export declare function getCrossChainQuote({ fromMsg, toMsg, inAmount, slippage_tolerance, account, receiver, tokenInUsd, tokenOutUsd, feeBps, walletClient, publicKey, nearTokens, }: {
8
+ fromMsg: any;
9
+ toMsg: any;
10
+ inAmount: string;
11
+ slippage_tolerance: string | number;
12
+ account: string;
13
+ receiver?: string;
14
+ tokenInUsd?: number;
15
+ tokenOutUsd?: number;
16
+ feeBps?: number;
17
+ walletClient?: any;
18
+ publicKey?: string;
19
+ nearTokens?: any[];
20
+ }): Promise<any | null>;
21
+ export declare const bridgeExecuteSwap: ({ quoteData, walletClient, }: {
22
+ quoteData: any;
23
+ walletClient: WalletClient;
24
+ }) => Promise<any>;
25
+ export declare const ADAPTER_LOGIN_URLS: Record<string, string>;
@@ -0,0 +1,127 @@
1
+ import { CrossChainSwapFactory } from './factory.js';
2
+ import { CrossChainSwapAdapterRegistry } from './registry.js';
3
+ /**
4
+ * Get cross-chain aggregated quotes (supports multiple adapter comparison)
5
+ * @param params - Cross-chain quote parameters
6
+ * @returns Best quote result, compatible with useRoutes.ts requirements
7
+ */
8
+ export async function getCrossChainQuote({ fromMsg, toMsg, inAmount, slippage_tolerance, account, receiver, tokenInUsd = 0, tokenOutUsd = 0, feeBps = 10, walletClient, publicKey, nearTokens = [], }) {
9
+ try {
10
+ // 1. Register all Adapters
11
+ const registry = new CrossChainSwapAdapterRegistry();
12
+ CrossChainSwapFactory.getAllAdapters().forEach((adapter) => {
13
+ registry.registerAdapter(adapter);
14
+ });
15
+ // 2. Construct QuoteParams
16
+ const params = {
17
+ feeBps,
18
+ fromChain: fromMsg.chainId,
19
+ toChain: toMsg.chainId,
20
+ fromToken: fromMsg,
21
+ toToken: toMsg,
22
+ amount: inAmount,
23
+ slippage: typeof slippage_tolerance === 'string'
24
+ ? Number.parseFloat(slippage_tolerance)
25
+ : slippage_tolerance,
26
+ walletClient,
27
+ tokenInUsd,
28
+ tokenOutUsd,
29
+ sender: account,
30
+ recipient: receiver || account,
31
+ publicKey,
32
+ };
33
+ if (fromMsg.chainId === 'near' || toMsg.chainId === 'near') {
34
+ ;
35
+ params.nearTokens = nearTokens;
36
+ }
37
+ // 3. Get all quotes
38
+ const adapters = registry
39
+ .getAllAdapters()
40
+ .filter((adapter) => adapter.getSupportedChains().includes(params.fromChain) &&
41
+ adapter.getSupportedChains().includes(params.toChain));
42
+ if (adapters.length === 0) {
43
+ console.warn('No supported adapters found for the specified chains');
44
+ return null;
45
+ }
46
+ const quoteResults = [];
47
+ // Get quotes from all adapters in parallel
48
+ const quotePromises = adapters.map(async (adapter) => {
49
+ try {
50
+ const quote = await adapter.getQuote(params);
51
+ if (quote) {
52
+ quoteResults.push({ adapter, quote });
53
+ }
54
+ }
55
+ catch (error) {
56
+ // Ignore individual adapter errors, continue getting quotes from other adapters
57
+ console.warn(`Failed to get quote from ${adapter.getName()}:`, error);
58
+ }
59
+ });
60
+ await Promise.all(quotePromises);
61
+ if (quoteResults.length === 0) {
62
+ console.warn('No valid quotes found from any adapter');
63
+ return null;
64
+ }
65
+ // 4. Select best quote (highest outputAmount)
66
+ quoteResults.sort((a, b) => a.quote.outputAmount < b.quote.outputAmount ? 1 : -1);
67
+ const best = quoteResults[0];
68
+ // 5. Construct return structure compatible with useRoutes.ts
69
+ return {
70
+ data: {
71
+ minOutAmount: best.quote.outputAmount || '0',
72
+ outAmount: best.quote.outputAmount || '0',
73
+ fromTokenUSD: best.quote.inputUsd?.toString() || '0',
74
+ toTokenUSD: best.quote.outputUsd?.toString() || '0',
75
+ quoteAdapterName: best.adapter.getName(),
76
+ quoteAdapterKey: best.adapter.getName().toLowerCase(),
77
+ chainId: fromMsg.chainId,
78
+ from: account,
79
+ to: best.quote.contractAddress || '0x0',
80
+ value: best.quote.rawQuote.tx?.value || '0x0',
81
+ data: best.quote.rawQuote.tx?.data || '0x',
82
+ // gasLimit: best.quote.rawQuote.tx?.gasLimit || '0',
83
+ // gas: best.quote.rawQuote.tx?.gas || '0',
84
+ // nonce: best.quote.rawQuote.tx?.nonce || '0',
85
+ approveContract: best.quote.contractAddress || '0x0',
86
+ executionDuration: best.quote.timeEstimate || 300,
87
+ // Fee information
88
+ feeCosts: [
89
+ {
90
+ name: `${best.adapter.getName()} Fee`,
91
+ description: 'Protocol fee',
92
+ token: fromMsg,
93
+ amount: '0',
94
+ amountUSD: best.quote.protocolFee,
95
+ percentage: '0',
96
+ included: false,
97
+ },
98
+ ],
99
+ // Original quote data
100
+ quoteRawData: best.quote,
101
+ },
102
+ };
103
+ }
104
+ catch (error) {
105
+ console.error('Error getting cross-chain quote:', error);
106
+ return null;
107
+ }
108
+ }
109
+ export const bridgeExecuteSwap = async ({ quoteData, walletClient, }) => {
110
+ const adapterName = quoteData.quoteAdapterKey;
111
+ const adapter = CrossChainSwapFactory.getAdapterByName(adapterName);
112
+ const result = await adapter.executeSwap({
113
+ quote: quoteData.quoteRawData,
114
+ }, walletClient);
115
+ return result;
116
+ };
117
+ // Login URL mapping for each adapter
118
+ export const ADAPTER_LOGIN_URLS = {
119
+ debridge: 'https://app.debridge.finance/',
120
+ across: 'https://across.to/',
121
+ lifi: 'https://jumper.exchange/',
122
+ mayan: 'https://swap.mayan.finance/',
123
+ relay: 'https://app.relay.link/',
124
+ xyfinance: 'https://xy.finance/',
125
+ kyberswap: 'https://kyberswap.com/',
126
+ };
127
+ //# sourceMappingURL=crossChainQuote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crossChainQuote.js","sourceRoot":"","sources":["../../../src/cross/crossChainQuote.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { MayanAdapter, RelayAdapter } from './adapters/index.js';
2
+ export declare class CrossChainSwapFactory {
3
+ private static relayInstance;
4
+ private static mayanInstance;
5
+ static getRelayAdapter(): RelayAdapter;
6
+ static getMayanAdapter(): MayanAdapter;
7
+ static getAllAdapters(): SwapProvider[];
8
+ static getAdapterByName(name: string): SwapProvider | undefined;
9
+ }
@@ -0,0 +1,125 @@
1
+ // import { NearIntentsAdapter } from './adapters/NearIntentsAdapter.js'
2
+ // import { OptimexAdapter } from './adapters/OptimexAdapter.js'
3
+ // import { OrbiterAdapter } from './adapters/OrbiterAdapter.js'
4
+ import {
5
+ // AcrossAdapter,
6
+ // DeBridgeAdapter,
7
+ // LifiAdapter,
8
+ MayanAdapter, RelayAdapter,
9
+ // SwapProvider,
10
+ // SymbiosisAdapter,
11
+ // XYFinanceAdapter,
12
+ } from './adapters/index.js';
13
+ // Factory for creating swap provider instances
14
+ export class CrossChainSwapFactory {
15
+ // private static symbiosisInstance: SymbiosisAdapter
16
+ // private static debridgeInstance: DeBridgeAdapter
17
+ // private static lifiInstance: LifiAdapter
18
+ // private static optimexInstance: OptimexAdapter
19
+ // private static orbiterInstance: OrbiterAdapter
20
+ // // Get or create Across adapter
21
+ // static getAcrossAdapter(): AcrossAdapter {
22
+ // if (!CrossChainSwapFactory.acrossInstance) {
23
+ // CrossChainSwapFactory.acrossInstance = new AcrossAdapter()
24
+ // }
25
+ // return CrossChainSwapFactory.acrossInstance
26
+ // }
27
+ // // Get or create Relay adapter
28
+ static getRelayAdapter() {
29
+ if (!CrossChainSwapFactory.relayInstance) {
30
+ CrossChainSwapFactory.relayInstance = new RelayAdapter();
31
+ }
32
+ return CrossChainSwapFactory.relayInstance;
33
+ }
34
+ // static getXyFinanceAdapter(): XYFinanceAdapter {
35
+ // if (!CrossChainSwapFactory.xyFinanceInstance) {
36
+ // CrossChainSwapFactory.xyFinanceInstance = new XYFinanceAdapter()
37
+ // }
38
+ // return CrossChainSwapFactory.xyFinanceInstance
39
+ // }
40
+ // static getNearIntentsAdapter(): NearIntentsAdapter {
41
+ // if (!CrossChainSwapFactory.nearIntentsInstance) {
42
+ // CrossChainSwapFactory.nearIntentsInstance = new NearIntentsAdapter()
43
+ // }
44
+ // return CrossChainSwapFactory.nearIntentsInstance
45
+ // }
46
+ static getMayanAdapter() {
47
+ if (!CrossChainSwapFactory.mayanInstance) {
48
+ CrossChainSwapFactory.mayanInstance = new MayanAdapter();
49
+ }
50
+ return CrossChainSwapFactory.mayanInstance;
51
+ }
52
+ // static getSymbiosisAdapter(): SymbiosisAdapter {
53
+ // if (!CrossChainSwapFactory.symbiosisInstance) {
54
+ // CrossChainSwapFactory.symbiosisInstance = new SymbiosisAdapter()
55
+ // }
56
+ // return CrossChainSwapFactory.symbiosisInstance
57
+ // }
58
+ // static getDebridgeInstance(): DeBridgeAdapter {
59
+ // if (!CrossChainSwapFactory.debridgeInstance) {
60
+ // CrossChainSwapFactory.debridgeInstance = new DeBridgeAdapter()
61
+ // }
62
+ // return CrossChainSwapFactory.debridgeInstance
63
+ // }
64
+ // static getLifiInstance(): LifiAdapter {
65
+ // if (!CrossChainSwapFactory.lifiInstance) {
66
+ // CrossChainSwapFactory.lifiInstance = new LifiAdapter()
67
+ // }
68
+ // return CrossChainSwapFactory.lifiInstance
69
+ // }
70
+ // static getOptimexAdapter(): OptimexAdapter {
71
+ // if (!CrossChainSwapFactory.optimexInstance) {
72
+ // CrossChainSwapFactory.optimexInstance = new OptimexAdapter()
73
+ // }
74
+ // return CrossChainSwapFactory.optimexInstance
75
+ // }
76
+ // static getOrbiterAdapter(): OrbiterAdapter {
77
+ // if (!CrossChainSwapFactory.orbiterInstance) {
78
+ // CrossChainSwapFactory.orbiterInstance = new OrbiterAdapter()
79
+ // }
80
+ // return CrossChainSwapFactory.orbiterInstance
81
+ // }
82
+ // Get all registered adapters
83
+ static getAllAdapters() {
84
+ return [
85
+ // CrossChainSwapFactory.getMayanAdapter(),
86
+ CrossChainSwapFactory.getRelayAdapter(),
87
+ // CrossChainSwapFactory.getAcrossAdapter(),
88
+ // CrossChainSwapFactory.getXyFinanceAdapter(),
89
+ // CrossChainSwapFactory.getNearIntentsAdapter(),
90
+ // CrossChainSwapFactory.getSymbiosisAdapter(),
91
+ // CrossChainSwapFactory.getDebridgeInstance(),
92
+ // CrossChainSwapFactory.getLifiInstance(),
93
+ // CrossChainSwapFactory.getOptimexAdapter(),
94
+ // CrossChainSwapFactory.getOrbiterAdapter(),
95
+ ];
96
+ }
97
+ // Get adapter by name
98
+ static getAdapterByName(name) {
99
+ switch (name.toLowerCase()) {
100
+ // case 'across':
101
+ // return CrossChainSwapFactory.getAcrossAdapter()
102
+ case 'relay':
103
+ return CrossChainSwapFactory.getRelayAdapter();
104
+ // case 'xyfinance':
105
+ // return CrossChainSwapFactory.getXyFinanceAdapter()
106
+ // case 'near intents':
107
+ // return CrossChainSwapFactory.getNearIntentsAdapter()
108
+ case 'mayan':
109
+ return CrossChainSwapFactory.getMayanAdapter();
110
+ // case 'symbiosis':
111
+ // return CrossChainSwapFactory.getSymbiosisAdapter()
112
+ // case 'debridge':
113
+ // return CrossChainSwapFactory.getDebridgeInstance()
114
+ // case 'lifi':
115
+ // return CrossChainSwapFactory.getLifiInstance()
116
+ // case 'optimex':
117
+ // return CrossChainSwapFactory.getOptimexAdapter()
118
+ // case 'orbiter':
119
+ // return CrossChainSwapFactory.getOrbiterAdapter()
120
+ default:
121
+ return undefined;
122
+ }
123
+ }
124
+ }
125
+ //# sourceMappingURL=factory.js.map