@sodax/types 2.0.0-rc.15 → 2.0.0-rc.17
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/dist/backend/backendApiV2.d.ts +54 -19
- package/dist/chains/chains.d.ts +48 -0
- package/dist/chains/chains.js +27 -0
- package/dist/hooks/hooks.d.ts +42 -0
- package/dist/hooks/hooks.js +44 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/sodax-config/sodax-config.d.ts +45 -1
- package/dist/swap/swap.d.ts +51 -27
- package/dist/swap/swap.js +6 -8
- package/package.json +1 -1
|
@@ -18,6 +18,36 @@ export type PartnerFeeV2 = {
|
|
|
18
18
|
address: string;
|
|
19
19
|
percentage: number;
|
|
20
20
|
};
|
|
21
|
+
/** JSON-safe mirror of the SDK `BitcoinBoundExtras` — Bound Exchange (Radfi) inputs for raw Bitcoin TRADING-mode intents. */
|
|
22
|
+
export interface BitcoinBoundExtrasV2 {
|
|
23
|
+
/**
|
|
24
|
+
* Bound Exchange (Radfi) access token; threads through the typed DTO instead of an
|
|
25
|
+
* `x-bound-access-token` header. Only consumed for raw Bitcoin TRADING-mode intents.
|
|
26
|
+
*/
|
|
27
|
+
accessToken?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* JSON-safe mirror of the SDK `SwapExtras<K>` — per-request swap extras flattened onto a request body.
|
|
31
|
+
* All fields are optional; chain applicability is documented per field (the wire DTO can't `K`-gate the
|
|
32
|
+
* way the SDK type does). Shared by {@link CreateIntentParamsV2} and {@link QuoteRequestV2}.
|
|
33
|
+
*/
|
|
34
|
+
export interface SwapExtrasV2 {
|
|
35
|
+
/**
|
|
36
|
+
* Per-request partner-fee override; defaults to the backend's configured fee. Keeps the fee-adjusted
|
|
37
|
+
* quote and the built intent consistent with `createIntent`.
|
|
38
|
+
*/
|
|
39
|
+
partnerFee?: PartnerFeeV2;
|
|
40
|
+
/**
|
|
41
|
+
* Source-chain signer public key (compressed hex), for chains whose address can't yield it (e.g.
|
|
42
|
+
* Stacks). Only used when building a raw intent.
|
|
43
|
+
*/
|
|
44
|
+
srcPublicKey?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Bitcoin Bound (Radfi) inputs, grouped so future Bound fields extend one slot instead of adding a
|
|
47
|
+
* top-level field per item. Only used for raw Bitcoin TRADING-mode intents.
|
|
48
|
+
*/
|
|
49
|
+
bound?: BitcoinBoundExtrasV2;
|
|
50
|
+
}
|
|
21
51
|
/**
|
|
22
52
|
* Solver intent status code:
|
|
23
53
|
* -1 NOT_FOUND, 1 NOT_STARTED_YET, 2 STARTED_NOT_FINISHED, 3 SOLVED (terminal), 4 FAILED (terminal).
|
|
@@ -141,8 +171,12 @@ export interface RelayExtraDataResponseV2 {
|
|
|
141
171
|
export type GetSwapTokensResponseV2 = Record<string, readonly SwapTokenV2[]>;
|
|
142
172
|
/** GET /swaps/tokens/:chainKey — supported swap tokens for a single chain. */
|
|
143
173
|
export type GetSwapTokensByChainResponseV2 = readonly SwapTokenV2[];
|
|
144
|
-
/**
|
|
145
|
-
|
|
174
|
+
/**
|
|
175
|
+
* POST /swaps/quote — request body. Inherits the swap extras (`partnerFee`, `srcPublicKey`, `bound`) from
|
|
176
|
+
* {@link SwapExtrasV2}; the inherited `srcPublicKey`/`bound` are consumed only by the `includeTxData=true`
|
|
177
|
+
* intent-building path (Stacks/Bitcoin sources), mirroring `srcAddress`/`dstAddress` below.
|
|
178
|
+
*/
|
|
179
|
+
export interface QuoteRequestV2 extends SwapExtrasV2 {
|
|
146
180
|
/** Source token address on the source spoke chain. */
|
|
147
181
|
tokenSrc: string;
|
|
148
182
|
/** Source spoke chain key (SODAX SpokeChainKey). */
|
|
@@ -155,12 +189,10 @@ export interface QuoteRequestV2 {
|
|
|
155
189
|
amount: string;
|
|
156
190
|
/** Quote type (only `exact_input` is supported). */
|
|
157
191
|
quoteType: QuoteTypeV2;
|
|
158
|
-
/** Source address — required only when `includeTxData=true
|
|
192
|
+
/** Source address — required only when `includeTxData=true` (with the inherited `srcPublicKey`/`bound` for Stacks/Bitcoin sources); ignored otherwise. */
|
|
159
193
|
srcAddress?: string;
|
|
160
194
|
/** Destination address — required only when `includeTxData=true`; ignored otherwise. */
|
|
161
195
|
dstAddress?: string;
|
|
162
|
-
/** Optional per-request partner-fee override; defaults to the backend's configured fee. Keeps the fee-adjusted quote (and the `includeTxData` intent) consistent with `createIntent`. */
|
|
163
|
-
partnerFee?: PartnerFeeV2;
|
|
164
196
|
}
|
|
165
197
|
/** POST /swaps/quote — query params. */
|
|
166
198
|
export interface QuoteQueryV2 {
|
|
@@ -184,8 +216,12 @@ export interface DeadlineResponseV2 {
|
|
|
184
216
|
/** Unix timestamp (seconds) at which the swap intent will expire (decimal string). */
|
|
185
217
|
deadline: string;
|
|
186
218
|
}
|
|
187
|
-
/**
|
|
188
|
-
|
|
219
|
+
/**
|
|
220
|
+
* Shared request body for `/swaps/allowance/check`, `/swaps/approve`, and `/swaps/intents`. Inherits the
|
|
221
|
+
* swap extras (`partnerFee`, `srcPublicKey`, `bound`) from {@link SwapExtrasV2}; the Bitcoin Bound token
|
|
222
|
+
* is carried as `bound.accessToken` (not a flat `accessToken`), mirroring the SDK's grouped `extras.bound`.
|
|
223
|
+
*/
|
|
224
|
+
export interface CreateIntentParamsV2 extends SwapExtrasV2 {
|
|
189
225
|
/** Source spoke chain key (SODAX SpokeChainKey). */
|
|
190
226
|
srcChainKey: string;
|
|
191
227
|
/** Destination spoke chain key (SODAX SpokeChainKey). */
|
|
@@ -204,22 +240,12 @@ export interface CreateIntentParamsV2 {
|
|
|
204
240
|
allowPartialFill: boolean;
|
|
205
241
|
/** User address on the source spoke chain (chain-specific format). */
|
|
206
242
|
srcAddress: string;
|
|
207
|
-
/** Source-chain signer public key (compressed hex), for chains whose address can't yield it (e.g. Stacks). */
|
|
208
|
-
srcPublicKey?: string;
|
|
209
243
|
/** Recipient address on the destination spoke chain (chain-specific format). */
|
|
210
244
|
dstAddress: string;
|
|
211
245
|
/** Solver address (EVM hub address). Defaults to the zero address for "any solver". */
|
|
212
246
|
solver?: string;
|
|
213
247
|
/** Arbitrary calldata hex string. Defaults to `0x`. */
|
|
214
248
|
data?: string;
|
|
215
|
-
/** Optional per-request partner-fee override embedded into the built intent. When omitted the backend applies its configured default. */
|
|
216
|
-
partnerFee?: PartnerFeeV2;
|
|
217
|
-
/**
|
|
218
|
-
* Bound Exchange (Radfi) access token for Bitcoin TRADING-mode (`raw`) intents — supplied in the
|
|
219
|
-
* request body instead of an `x-bound-access-token` header so the token threads through the typed
|
|
220
|
-
* DTO. Required only when the source chain is Bitcoin in TRADING mode; ignored otherwise.
|
|
221
|
-
*/
|
|
222
|
-
accessToken?: string;
|
|
223
249
|
}
|
|
224
250
|
/** POST /swaps/allowance/check — response body. */
|
|
225
251
|
export interface AllowanceCheckResponseV2 {
|
|
@@ -345,11 +371,20 @@ export interface IntentStateV2 {
|
|
|
345
371
|
* event. Bigint fields are serialized as decimal strings.
|
|
346
372
|
*/
|
|
347
373
|
export type GetIntentResponseV2 = IntentResponseV2;
|
|
348
|
-
/**
|
|
374
|
+
/**
|
|
375
|
+
* POST /swaps/limit-orders — request body. Same as create-intent but `deadline` is optional.
|
|
376
|
+
*
|
|
377
|
+
* The trailing `& _AssertJsonSafe<…>` wires the compile-time JSON-safety guard (see the Config API v2
|
|
378
|
+
* section) into the swap request surface: if a `bigint` ever leaks into `SwapExtrasV2` — or the
|
|
379
|
+
* `PartnerFeeV2` / `BitcoinBoundExtrasV2` it composes — the constraint fails and `pnpm checkTs` /
|
|
380
|
+
* `pnpm build` go red. It is `& unknown` in the happy path, so it does not change the type. This is the
|
|
381
|
+
* swaps-section analog of the guard on `GetAllConfigResponseV2`; `CreateLimitOrderParamsV2` is the one
|
|
382
|
+
* exported swaps request `type` (the others are interfaces, which cannot carry an intersection).
|
|
383
|
+
*/
|
|
349
384
|
export type CreateLimitOrderParamsV2 = Omit<CreateIntentParamsV2, 'deadline'> & {
|
|
350
385
|
/** Unix timestamp (seconds) at which the limit order expires. Omit (or pass `"0"`) for no expiry. */
|
|
351
386
|
deadline?: string;
|
|
352
|
-
}
|
|
387
|
+
} & _AssertJsonSafe<[_ContainsBigint<SwapExtrasV2>] extends [false] ? true : false>;
|
|
353
388
|
/** POST /swaps/limit-orders — response body (same shape as create-intent). */
|
|
354
389
|
export type CreateLimitOrderResponseV2 = CreateIntentResponseV2;
|
|
355
390
|
/** POST /swaps/gas/estimate — request body. */
|
package/dist/chains/chains.d.ts
CHANGED
|
@@ -31,6 +31,12 @@ export declare const RelayChainIdMap: {
|
|
|
31
31
|
export type IntentChainId = (typeof RelayChainIdMap)[keyof typeof RelayChainIdMap];
|
|
32
32
|
export declare const INTENT_CHAIN_IDS: (6n | 23n | 30n | 4n | 19n | 146n | 24n | 5n | 1n | 21n | 27n | 1768124270n | 26745n | 27756n | 15n | 2n | 627463n | 726564n | 27489n | 60n)[];
|
|
33
33
|
export declare const IntentRelayChainIdToChainKey: Map<IntentRelayChainId, ChainKey>;
|
|
34
|
+
/**
|
|
35
|
+
* Base URL for default chain logos hosted in the `@sodax/assets` package.
|
|
36
|
+
* Each logo is served from `main` via raw.githubusercontent and named by its
|
|
37
|
+
* `ChainKeys` value, so the full URL is `${CHAIN_LOGO_BASE_URL}/<chainKey>.png`.
|
|
38
|
+
*/
|
|
39
|
+
export declare const CHAIN_LOGO_BASE_URL = "https://raw.githubusercontent.com/icon-project/sodax-sdks/main/packages/assets/chain";
|
|
34
40
|
export declare const baseChainInfo: {
|
|
35
41
|
readonly sonic: {
|
|
36
42
|
readonly name: "Sonic";
|
|
@@ -38,6 +44,7 @@ export declare const baseChainInfo: {
|
|
|
38
44
|
readonly type: "EVM";
|
|
39
45
|
readonly chainId: 146;
|
|
40
46
|
readonly mainnet: true;
|
|
47
|
+
readonly logo: string;
|
|
41
48
|
readonly explorer: {
|
|
42
49
|
readonly baseUrl: "https://sonicscan.org/";
|
|
43
50
|
readonly txUrl: "https://sonicscan.org/tx/";
|
|
@@ -51,6 +58,7 @@ export declare const baseChainInfo: {
|
|
|
51
58
|
readonly type: "SOLANA";
|
|
52
59
|
readonly chainId: "solana";
|
|
53
60
|
readonly mainnet: true;
|
|
61
|
+
readonly logo: string;
|
|
54
62
|
readonly explorer: {
|
|
55
63
|
readonly baseUrl: "https://solscan.io/";
|
|
56
64
|
readonly txUrl: "https://solscan.io/tx/";
|
|
@@ -64,6 +72,7 @@ export declare const baseChainInfo: {
|
|
|
64
72
|
readonly type: "EVM";
|
|
65
73
|
readonly chainId: 43114;
|
|
66
74
|
readonly mainnet: true;
|
|
75
|
+
readonly logo: string;
|
|
67
76
|
readonly explorer: {
|
|
68
77
|
readonly baseUrl: "https://snowtrace.io/";
|
|
69
78
|
readonly txUrl: "https://snowtrace.io/tx/";
|
|
@@ -77,6 +86,7 @@ export declare const baseChainInfo: {
|
|
|
77
86
|
readonly type: "EVM";
|
|
78
87
|
readonly chainId: 42161;
|
|
79
88
|
readonly mainnet: true;
|
|
89
|
+
readonly logo: string;
|
|
80
90
|
readonly explorer: {
|
|
81
91
|
readonly baseUrl: "https://arbiscan.io/";
|
|
82
92
|
readonly txUrl: "https://arbiscan.io/tx/";
|
|
@@ -90,6 +100,7 @@ export declare const baseChainInfo: {
|
|
|
90
100
|
readonly type: "EVM";
|
|
91
101
|
readonly chainId: 8453;
|
|
92
102
|
readonly mainnet: true;
|
|
103
|
+
readonly logo: string;
|
|
93
104
|
readonly explorer: {
|
|
94
105
|
readonly baseUrl: "https://basescan.org/";
|
|
95
106
|
readonly txUrl: "https://basescan.org/tx/";
|
|
@@ -103,6 +114,7 @@ export declare const baseChainInfo: {
|
|
|
103
114
|
readonly type: "EVM";
|
|
104
115
|
readonly chainId: 10;
|
|
105
116
|
readonly mainnet: true;
|
|
117
|
+
readonly logo: string;
|
|
106
118
|
readonly explorer: {
|
|
107
119
|
readonly baseUrl: "https://optimistic.etherscan.io/";
|
|
108
120
|
readonly txUrl: "https://optimistic.etherscan.io/tx/";
|
|
@@ -116,6 +128,7 @@ export declare const baseChainInfo: {
|
|
|
116
128
|
readonly type: "EVM";
|
|
117
129
|
readonly chainId: 56;
|
|
118
130
|
readonly mainnet: true;
|
|
131
|
+
readonly logo: string;
|
|
119
132
|
readonly explorer: {
|
|
120
133
|
readonly baseUrl: "https://bscscan.com/";
|
|
121
134
|
readonly txUrl: "https://bscscan.com/tx/";
|
|
@@ -129,6 +142,7 @@ export declare const baseChainInfo: {
|
|
|
129
142
|
readonly type: "EVM";
|
|
130
143
|
readonly chainId: 137;
|
|
131
144
|
readonly mainnet: true;
|
|
145
|
+
readonly logo: string;
|
|
132
146
|
readonly explorer: {
|
|
133
147
|
readonly baseUrl: "https://polygonscan.com/";
|
|
134
148
|
readonly txUrl: "https://polygonscan.com/tx/";
|
|
@@ -142,6 +156,7 @@ export declare const baseChainInfo: {
|
|
|
142
156
|
readonly type: "EVM";
|
|
143
157
|
readonly chainId: 999;
|
|
144
158
|
readonly mainnet: true;
|
|
159
|
+
readonly logo: string;
|
|
145
160
|
readonly explorer: {
|
|
146
161
|
readonly baseUrl: "https://hyperevmscan.io/";
|
|
147
162
|
readonly txUrl: "https://hyperevmscan.io/tx/";
|
|
@@ -155,6 +170,7 @@ export declare const baseChainInfo: {
|
|
|
155
170
|
readonly type: "EVM";
|
|
156
171
|
readonly chainId: 1890;
|
|
157
172
|
readonly mainnet: true;
|
|
173
|
+
readonly logo: string;
|
|
158
174
|
readonly explorer: {
|
|
159
175
|
readonly baseUrl: "https://phoenix.lightlink.io/";
|
|
160
176
|
readonly txUrl: "https://phoenix.lightlink.io/tx/";
|
|
@@ -168,6 +184,7 @@ export declare const baseChainInfo: {
|
|
|
168
184
|
readonly type: "INJECTIVE";
|
|
169
185
|
readonly chainId: "injective-1";
|
|
170
186
|
readonly mainnet: true;
|
|
187
|
+
readonly logo: string;
|
|
171
188
|
readonly explorer: {
|
|
172
189
|
readonly baseUrl: "https://www.mintscan.io/injective/";
|
|
173
190
|
readonly txUrl: "https://www.mintscan.io/injective/tx/";
|
|
@@ -181,6 +198,7 @@ export declare const baseChainInfo: {
|
|
|
181
198
|
readonly type: "STELLAR";
|
|
182
199
|
readonly chainId: "stellar";
|
|
183
200
|
readonly mainnet: true;
|
|
201
|
+
readonly logo: string;
|
|
184
202
|
readonly explorer: {
|
|
185
203
|
readonly baseUrl: "https://stellar.expert/explorer/public/";
|
|
186
204
|
readonly txUrl: "https://stellar.expert/explorer/public/tx/";
|
|
@@ -194,6 +212,7 @@ export declare const baseChainInfo: {
|
|
|
194
212
|
readonly type: "SUI";
|
|
195
213
|
readonly chainId: "sui";
|
|
196
214
|
readonly mainnet: true;
|
|
215
|
+
readonly logo: string;
|
|
197
216
|
readonly explorer: {
|
|
198
217
|
readonly baseUrl: "https://suivision.xyz/";
|
|
199
218
|
readonly txUrl: "https://suivision.xyz/txblock/";
|
|
@@ -207,6 +226,7 @@ export declare const baseChainInfo: {
|
|
|
207
226
|
readonly type: "ICON";
|
|
208
227
|
readonly chainId: "0x1.icon";
|
|
209
228
|
readonly mainnet: true;
|
|
229
|
+
readonly logo: string;
|
|
210
230
|
readonly explorer: {
|
|
211
231
|
readonly baseUrl: "https://tracker.icon.community/";
|
|
212
232
|
readonly txUrl: "https://tracker.icon.community/transaction/";
|
|
@@ -220,6 +240,7 @@ export declare const baseChainInfo: {
|
|
|
220
240
|
readonly type: "NEAR";
|
|
221
241
|
readonly chainId: "near";
|
|
222
242
|
readonly mainnet: true;
|
|
243
|
+
readonly logo: string;
|
|
223
244
|
readonly explorer: {
|
|
224
245
|
readonly baseUrl: "https://nearblocks.io/";
|
|
225
246
|
readonly txUrl: "https://nearblocks.io/txns/";
|
|
@@ -233,6 +254,7 @@ export declare const baseChainInfo: {
|
|
|
233
254
|
readonly type: "EVM";
|
|
234
255
|
readonly chainId: 1;
|
|
235
256
|
readonly mainnet: true;
|
|
257
|
+
readonly logo: string;
|
|
236
258
|
readonly explorer: {
|
|
237
259
|
readonly baseUrl: "https://etherscan.io/";
|
|
238
260
|
readonly txUrl: "https://etherscan.io/tx/";
|
|
@@ -246,6 +268,7 @@ export declare const baseChainInfo: {
|
|
|
246
268
|
readonly type: "BITCOIN";
|
|
247
269
|
readonly chainId: "bitcoin";
|
|
248
270
|
readonly mainnet: true;
|
|
271
|
+
readonly logo: string;
|
|
249
272
|
readonly explorer: {
|
|
250
273
|
readonly baseUrl: "https://mempool.space/";
|
|
251
274
|
readonly txUrl: "https://mempool.space/tx/";
|
|
@@ -259,6 +282,7 @@ export declare const baseChainInfo: {
|
|
|
259
282
|
readonly type: "EVM";
|
|
260
283
|
readonly chainId: 151;
|
|
261
284
|
readonly mainnet: true;
|
|
285
|
+
readonly logo: string;
|
|
262
286
|
readonly explorer: {
|
|
263
287
|
readonly baseUrl: "https://redbelly.routescan.io/";
|
|
264
288
|
readonly txUrl: "https://redbelly.routescan.io/tx/";
|
|
@@ -272,6 +296,7 @@ export declare const baseChainInfo: {
|
|
|
272
296
|
readonly type: "EVM";
|
|
273
297
|
readonly chainId: 8217;
|
|
274
298
|
readonly mainnet: true;
|
|
299
|
+
readonly logo: string;
|
|
275
300
|
readonly explorer: {
|
|
276
301
|
readonly baseUrl: "https://klaytnfinder.io/";
|
|
277
302
|
readonly txUrl: "https://klaytnfinder.io/tx/";
|
|
@@ -285,6 +310,7 @@ export declare const baseChainInfo: {
|
|
|
285
310
|
readonly type: "STACKS";
|
|
286
311
|
readonly chainId: "stacks";
|
|
287
312
|
readonly mainnet: true;
|
|
313
|
+
readonly logo: string;
|
|
288
314
|
readonly explorer: {
|
|
289
315
|
readonly baseUrl: "https://explorer.hiro.so/";
|
|
290
316
|
readonly txUrl: "https://explorer.hiro.so/txid/";
|
|
@@ -354,6 +380,8 @@ export type BaseChainInfo<T extends ChainType> = {
|
|
|
354
380
|
chainId: string | number;
|
|
355
381
|
type: T;
|
|
356
382
|
mainnet: boolean;
|
|
383
|
+
/** Default chain logo URL (hosted in @sodax/assets, see CHAIN_LOGO_BASE_URL). */
|
|
384
|
+
logo: string;
|
|
357
385
|
explorer: {
|
|
358
386
|
baseUrl: string;
|
|
359
387
|
txUrl: string;
|
|
@@ -511,6 +539,7 @@ export declare const spokeChainConfig: {
|
|
|
511
539
|
readonly type: "EVM";
|
|
512
540
|
readonly chainId: 146;
|
|
513
541
|
readonly mainnet: true;
|
|
542
|
+
readonly logo: string;
|
|
514
543
|
readonly explorer: {
|
|
515
544
|
readonly baseUrl: "https://sonicscan.org/";
|
|
516
545
|
readonly txUrl: "https://sonicscan.org/tx/";
|
|
@@ -863,6 +892,7 @@ export declare const spokeChainConfig: {
|
|
|
863
892
|
readonly type: "EVM";
|
|
864
893
|
readonly chainId: 151;
|
|
865
894
|
readonly mainnet: true;
|
|
895
|
+
readonly logo: string;
|
|
866
896
|
readonly explorer: {
|
|
867
897
|
readonly baseUrl: "https://redbelly.routescan.io/";
|
|
868
898
|
readonly txUrl: "https://redbelly.routescan.io/tx/";
|
|
@@ -1032,6 +1062,7 @@ export declare const spokeChainConfig: {
|
|
|
1032
1062
|
readonly type: "SOLANA";
|
|
1033
1063
|
readonly chainId: "solana";
|
|
1034
1064
|
readonly mainnet: true;
|
|
1065
|
+
readonly logo: string;
|
|
1035
1066
|
readonly explorer: {
|
|
1036
1067
|
readonly baseUrl: "https://solscan.io/";
|
|
1037
1068
|
readonly txUrl: "https://solscan.io/tx/";
|
|
@@ -1247,6 +1278,7 @@ export declare const spokeChainConfig: {
|
|
|
1247
1278
|
readonly type: "EVM";
|
|
1248
1279
|
readonly chainId: 43114;
|
|
1249
1280
|
readonly mainnet: true;
|
|
1281
|
+
readonly logo: string;
|
|
1250
1282
|
readonly explorer: {
|
|
1251
1283
|
readonly baseUrl: "https://snowtrace.io/";
|
|
1252
1284
|
readonly txUrl: "https://snowtrace.io/tx/";
|
|
@@ -1329,6 +1361,7 @@ export declare const spokeChainConfig: {
|
|
|
1329
1361
|
readonly type: "EVM";
|
|
1330
1362
|
readonly chainId: 42161;
|
|
1331
1363
|
readonly mainnet: true;
|
|
1364
|
+
readonly logo: string;
|
|
1332
1365
|
readonly explorer: {
|
|
1333
1366
|
readonly baseUrl: "https://arbiscan.io/";
|
|
1334
1367
|
readonly txUrl: "https://arbiscan.io/tx/";
|
|
@@ -1521,6 +1554,7 @@ export declare const spokeChainConfig: {
|
|
|
1521
1554
|
readonly type: "EVM";
|
|
1522
1555
|
readonly chainId: 8453;
|
|
1523
1556
|
readonly mainnet: true;
|
|
1557
|
+
readonly logo: string;
|
|
1524
1558
|
readonly explorer: {
|
|
1525
1559
|
readonly baseUrl: "https://basescan.org/";
|
|
1526
1560
|
readonly txUrl: "https://basescan.org/tx/";
|
|
@@ -1649,6 +1683,7 @@ export declare const spokeChainConfig: {
|
|
|
1649
1683
|
readonly type: "EVM";
|
|
1650
1684
|
readonly chainId: 10;
|
|
1651
1685
|
readonly mainnet: true;
|
|
1686
|
+
readonly logo: string;
|
|
1652
1687
|
readonly explorer: {
|
|
1653
1688
|
readonly baseUrl: "https://optimistic.etherscan.io/";
|
|
1654
1689
|
readonly txUrl: "https://optimistic.etherscan.io/tx/";
|
|
@@ -1758,6 +1793,7 @@ export declare const spokeChainConfig: {
|
|
|
1758
1793
|
readonly type: "EVM";
|
|
1759
1794
|
readonly chainId: 56;
|
|
1760
1795
|
readonly mainnet: true;
|
|
1796
|
+
readonly logo: string;
|
|
1761
1797
|
readonly explorer: {
|
|
1762
1798
|
readonly baseUrl: "https://bscscan.com/";
|
|
1763
1799
|
readonly txUrl: "https://bscscan.com/tx/";
|
|
@@ -1948,6 +1984,7 @@ export declare const spokeChainConfig: {
|
|
|
1948
1984
|
readonly type: "EVM";
|
|
1949
1985
|
readonly chainId: 137;
|
|
1950
1986
|
readonly mainnet: true;
|
|
1987
|
+
readonly logo: string;
|
|
1951
1988
|
readonly explorer: {
|
|
1952
1989
|
readonly baseUrl: "https://polygonscan.com/";
|
|
1953
1990
|
readonly txUrl: "https://polygonscan.com/tx/";
|
|
@@ -2066,6 +2103,7 @@ export declare const spokeChainConfig: {
|
|
|
2066
2103
|
readonly type: "EVM";
|
|
2067
2104
|
readonly chainId: 999;
|
|
2068
2105
|
readonly mainnet: true;
|
|
2106
|
+
readonly logo: string;
|
|
2069
2107
|
readonly explorer: {
|
|
2070
2108
|
readonly baseUrl: "https://hyperevmscan.io/";
|
|
2071
2109
|
readonly txUrl: "https://hyperevmscan.io/tx/";
|
|
@@ -2175,6 +2213,7 @@ export declare const spokeChainConfig: {
|
|
|
2175
2213
|
readonly type: "EVM";
|
|
2176
2214
|
readonly chainId: 1890;
|
|
2177
2215
|
readonly mainnet: true;
|
|
2216
|
+
readonly logo: string;
|
|
2178
2217
|
readonly explorer: {
|
|
2179
2218
|
readonly baseUrl: "https://phoenix.lightlink.io/";
|
|
2180
2219
|
readonly txUrl: "https://phoenix.lightlink.io/tx/";
|
|
@@ -2353,6 +2392,7 @@ export declare const spokeChainConfig: {
|
|
|
2353
2392
|
readonly type: "INJECTIVE";
|
|
2354
2393
|
readonly chainId: "injective-1";
|
|
2355
2394
|
readonly mainnet: true;
|
|
2395
|
+
readonly logo: string;
|
|
2356
2396
|
readonly explorer: {
|
|
2357
2397
|
readonly baseUrl: "https://www.mintscan.io/injective/";
|
|
2358
2398
|
readonly txUrl: "https://www.mintscan.io/injective/tx/";
|
|
@@ -2431,6 +2471,7 @@ export declare const spokeChainConfig: {
|
|
|
2431
2471
|
readonly type: "BITCOIN";
|
|
2432
2472
|
readonly chainId: "bitcoin";
|
|
2433
2473
|
readonly mainnet: true;
|
|
2474
|
+
readonly logo: string;
|
|
2434
2475
|
readonly explorer: {
|
|
2435
2476
|
readonly baseUrl: "https://mempool.space/";
|
|
2436
2477
|
readonly txUrl: "https://mempool.space/tx/";
|
|
@@ -2591,6 +2632,7 @@ export declare const spokeChainConfig: {
|
|
|
2591
2632
|
readonly type: "STELLAR";
|
|
2592
2633
|
readonly chainId: "stellar";
|
|
2593
2634
|
readonly mainnet: true;
|
|
2635
|
+
readonly logo: string;
|
|
2594
2636
|
readonly explorer: {
|
|
2595
2637
|
readonly baseUrl: "https://stellar.expert/explorer/public/";
|
|
2596
2638
|
readonly txUrl: "https://stellar.expert/explorer/public/tx/";
|
|
@@ -2759,6 +2801,7 @@ export declare const spokeChainConfig: {
|
|
|
2759
2801
|
readonly type: "SUI";
|
|
2760
2802
|
readonly chainId: "sui";
|
|
2761
2803
|
readonly mainnet: true;
|
|
2804
|
+
readonly logo: string;
|
|
2762
2805
|
readonly explorer: {
|
|
2763
2806
|
readonly baseUrl: "https://suivision.xyz/";
|
|
2764
2807
|
readonly txUrl: "https://suivision.xyz/txblock/";
|
|
@@ -2786,6 +2829,7 @@ export declare const spokeChainConfig: {
|
|
|
2786
2829
|
readonly type: "ICON";
|
|
2787
2830
|
readonly chainId: "0x1.icon";
|
|
2788
2831
|
readonly mainnet: true;
|
|
2832
|
+
readonly logo: string;
|
|
2789
2833
|
readonly explorer: {
|
|
2790
2834
|
readonly baseUrl: "https://tracker.icon.community/";
|
|
2791
2835
|
readonly txUrl: "https://tracker.icon.community/transaction/";
|
|
@@ -2927,6 +2971,7 @@ export declare const spokeChainConfig: {
|
|
|
2927
2971
|
readonly type: "EVM";
|
|
2928
2972
|
readonly chainId: 1;
|
|
2929
2973
|
readonly mainnet: true;
|
|
2974
|
+
readonly logo: string;
|
|
2930
2975
|
readonly explorer: {
|
|
2931
2976
|
readonly baseUrl: "https://etherscan.io/";
|
|
2932
2977
|
readonly txUrl: "https://etherscan.io/tx/";
|
|
@@ -3190,6 +3235,7 @@ export declare const spokeChainConfig: {
|
|
|
3190
3235
|
readonly type: "EVM";
|
|
3191
3236
|
readonly chainId: 8217;
|
|
3192
3237
|
readonly mainnet: true;
|
|
3238
|
+
readonly logo: string;
|
|
3193
3239
|
readonly explorer: {
|
|
3194
3240
|
readonly baseUrl: "https://klaytnfinder.io/";
|
|
3195
3241
|
readonly txUrl: "https://klaytnfinder.io/tx/";
|
|
@@ -3260,6 +3306,7 @@ export declare const spokeChainConfig: {
|
|
|
3260
3306
|
readonly type: "STACKS";
|
|
3261
3307
|
readonly chainId: "stacks";
|
|
3262
3308
|
readonly mainnet: true;
|
|
3309
|
+
readonly logo: string;
|
|
3263
3310
|
readonly explorer: {
|
|
3264
3311
|
readonly baseUrl: "https://explorer.hiro.so/";
|
|
3265
3312
|
readonly txUrl: "https://explorer.hiro.so/txid/";
|
|
@@ -3363,6 +3410,7 @@ export declare const hubConfig: {
|
|
|
3363
3410
|
readonly type: "EVM";
|
|
3364
3411
|
readonly chainId: 146;
|
|
3365
3412
|
readonly mainnet: true;
|
|
3413
|
+
readonly logo: string;
|
|
3366
3414
|
readonly explorer: {
|
|
3367
3415
|
readonly baseUrl: "https://sonicscan.org/";
|
|
3368
3416
|
readonly txUrl: "https://sonicscan.org/tx/";
|
package/dist/chains/chains.js
CHANGED
|
@@ -30,6 +30,13 @@ export const RelayChainIdMap = {
|
|
|
30
30
|
};
|
|
31
31
|
export const INTENT_CHAIN_IDS = Object.values(RelayChainIdMap);
|
|
32
32
|
export const IntentRelayChainIdToChainKey = Object.fromEntries(Object.entries(RelayChainIdMap).map(([chainKey, chainId]) => [chainId, chainKey]));
|
|
33
|
+
/**
|
|
34
|
+
* Base URL for default chain logos hosted in the `@sodax/assets` package.
|
|
35
|
+
* Each logo is served from `main` via raw.githubusercontent and named by its
|
|
36
|
+
* `ChainKeys` value, so the full URL is `${CHAIN_LOGO_BASE_URL}/<chainKey>.png`.
|
|
37
|
+
*/
|
|
38
|
+
export const CHAIN_LOGO_BASE_URL = 'https://raw.githubusercontent.com/icon-project/sodax-sdks/main/packages/assets/chain';
|
|
39
|
+
const chainLogo = (key) => `${CHAIN_LOGO_BASE_URL}/${key}.png`;
|
|
33
40
|
export const baseChainInfo = {
|
|
34
41
|
[ChainKeys.SONIC_MAINNET]: {
|
|
35
42
|
name: 'Sonic',
|
|
@@ -37,6 +44,7 @@ export const baseChainInfo = {
|
|
|
37
44
|
type: 'EVM',
|
|
38
45
|
chainId: 146,
|
|
39
46
|
mainnet: true,
|
|
47
|
+
logo: chainLogo(ChainKeys.SONIC_MAINNET),
|
|
40
48
|
explorer: {
|
|
41
49
|
baseUrl: 'https://sonicscan.org/',
|
|
42
50
|
txUrl: 'https://sonicscan.org/tx/',
|
|
@@ -50,6 +58,7 @@ export const baseChainInfo = {
|
|
|
50
58
|
type: 'SOLANA',
|
|
51
59
|
chainId: 'solana',
|
|
52
60
|
mainnet: true,
|
|
61
|
+
logo: chainLogo(ChainKeys.SOLANA_MAINNET),
|
|
53
62
|
explorer: {
|
|
54
63
|
baseUrl: 'https://solscan.io/',
|
|
55
64
|
txUrl: 'https://solscan.io/tx/',
|
|
@@ -63,6 +72,7 @@ export const baseChainInfo = {
|
|
|
63
72
|
type: 'EVM',
|
|
64
73
|
chainId: 43_114,
|
|
65
74
|
mainnet: true,
|
|
75
|
+
logo: chainLogo(ChainKeys.AVALANCHE_MAINNET),
|
|
66
76
|
explorer: {
|
|
67
77
|
baseUrl: 'https://snowtrace.io/',
|
|
68
78
|
txUrl: 'https://snowtrace.io/tx/',
|
|
@@ -76,6 +86,7 @@ export const baseChainInfo = {
|
|
|
76
86
|
type: 'EVM',
|
|
77
87
|
chainId: 42_161,
|
|
78
88
|
mainnet: true,
|
|
89
|
+
logo: chainLogo(ChainKeys.ARBITRUM_MAINNET),
|
|
79
90
|
explorer: {
|
|
80
91
|
baseUrl: 'https://arbiscan.io/',
|
|
81
92
|
txUrl: 'https://arbiscan.io/tx/',
|
|
@@ -89,6 +100,7 @@ export const baseChainInfo = {
|
|
|
89
100
|
type: 'EVM',
|
|
90
101
|
chainId: 8453,
|
|
91
102
|
mainnet: true,
|
|
103
|
+
logo: chainLogo(ChainKeys.BASE_MAINNET),
|
|
92
104
|
explorer: {
|
|
93
105
|
baseUrl: 'https://basescan.org/',
|
|
94
106
|
txUrl: 'https://basescan.org/tx/',
|
|
@@ -102,6 +114,7 @@ export const baseChainInfo = {
|
|
|
102
114
|
type: 'EVM',
|
|
103
115
|
chainId: 10,
|
|
104
116
|
mainnet: true,
|
|
117
|
+
logo: chainLogo(ChainKeys.OPTIMISM_MAINNET),
|
|
105
118
|
explorer: {
|
|
106
119
|
baseUrl: 'https://optimistic.etherscan.io/',
|
|
107
120
|
txUrl: 'https://optimistic.etherscan.io/tx/',
|
|
@@ -115,6 +128,7 @@ export const baseChainInfo = {
|
|
|
115
128
|
type: 'EVM',
|
|
116
129
|
chainId: 56,
|
|
117
130
|
mainnet: true,
|
|
131
|
+
logo: chainLogo(ChainKeys.BSC_MAINNET),
|
|
118
132
|
explorer: {
|
|
119
133
|
baseUrl: 'https://bscscan.com/',
|
|
120
134
|
txUrl: 'https://bscscan.com/tx/',
|
|
@@ -128,6 +142,7 @@ export const baseChainInfo = {
|
|
|
128
142
|
type: 'EVM',
|
|
129
143
|
chainId: 137,
|
|
130
144
|
mainnet: true,
|
|
145
|
+
logo: chainLogo(ChainKeys.POLYGON_MAINNET),
|
|
131
146
|
explorer: {
|
|
132
147
|
baseUrl: 'https://polygonscan.com/',
|
|
133
148
|
txUrl: 'https://polygonscan.com/tx/',
|
|
@@ -141,6 +156,7 @@ export const baseChainInfo = {
|
|
|
141
156
|
type: 'EVM',
|
|
142
157
|
chainId: 999,
|
|
143
158
|
mainnet: true,
|
|
159
|
+
logo: chainLogo(ChainKeys.HYPEREVM_MAINNET),
|
|
144
160
|
explorer: {
|
|
145
161
|
baseUrl: 'https://hyperevmscan.io/',
|
|
146
162
|
txUrl: 'https://hyperevmscan.io/tx/',
|
|
@@ -154,6 +170,7 @@ export const baseChainInfo = {
|
|
|
154
170
|
type: 'EVM',
|
|
155
171
|
chainId: 1890,
|
|
156
172
|
mainnet: true,
|
|
173
|
+
logo: chainLogo(ChainKeys.LIGHTLINK_MAINNET),
|
|
157
174
|
explorer: {
|
|
158
175
|
baseUrl: 'https://phoenix.lightlink.io/',
|
|
159
176
|
txUrl: 'https://phoenix.lightlink.io/tx/',
|
|
@@ -167,6 +184,7 @@ export const baseChainInfo = {
|
|
|
167
184
|
type: 'INJECTIVE',
|
|
168
185
|
chainId: 'injective-1',
|
|
169
186
|
mainnet: true,
|
|
187
|
+
logo: chainLogo(ChainKeys.INJECTIVE_MAINNET),
|
|
170
188
|
explorer: {
|
|
171
189
|
baseUrl: 'https://www.mintscan.io/injective/',
|
|
172
190
|
txUrl: 'https://www.mintscan.io/injective/tx/',
|
|
@@ -180,6 +198,7 @@ export const baseChainInfo = {
|
|
|
180
198
|
type: 'STELLAR',
|
|
181
199
|
chainId: 'stellar',
|
|
182
200
|
mainnet: true,
|
|
201
|
+
logo: chainLogo(ChainKeys.STELLAR_MAINNET),
|
|
183
202
|
explorer: {
|
|
184
203
|
baseUrl: 'https://stellar.expert/explorer/public/',
|
|
185
204
|
txUrl: 'https://stellar.expert/explorer/public/tx/',
|
|
@@ -193,6 +212,7 @@ export const baseChainInfo = {
|
|
|
193
212
|
type: 'SUI',
|
|
194
213
|
chainId: 'sui',
|
|
195
214
|
mainnet: true,
|
|
215
|
+
logo: chainLogo(ChainKeys.SUI_MAINNET),
|
|
196
216
|
explorer: {
|
|
197
217
|
baseUrl: 'https://suivision.xyz/',
|
|
198
218
|
txUrl: 'https://suivision.xyz/txblock/',
|
|
@@ -206,6 +226,7 @@ export const baseChainInfo = {
|
|
|
206
226
|
type: 'ICON',
|
|
207
227
|
chainId: '0x1.icon',
|
|
208
228
|
mainnet: true,
|
|
229
|
+
logo: chainLogo(ChainKeys.ICON_MAINNET),
|
|
209
230
|
explorer: {
|
|
210
231
|
baseUrl: 'https://tracker.icon.community/',
|
|
211
232
|
txUrl: 'https://tracker.icon.community/transaction/',
|
|
@@ -219,6 +240,7 @@ export const baseChainInfo = {
|
|
|
219
240
|
type: 'NEAR',
|
|
220
241
|
chainId: 'near',
|
|
221
242
|
mainnet: true,
|
|
243
|
+
logo: chainLogo(ChainKeys.NEAR_MAINNET),
|
|
222
244
|
explorer: {
|
|
223
245
|
baseUrl: 'https://nearblocks.io/',
|
|
224
246
|
txUrl: 'https://nearblocks.io/txns/',
|
|
@@ -232,6 +254,7 @@ export const baseChainInfo = {
|
|
|
232
254
|
type: 'EVM',
|
|
233
255
|
chainId: 1,
|
|
234
256
|
mainnet: true,
|
|
257
|
+
logo: chainLogo(ChainKeys.ETHEREUM_MAINNET),
|
|
235
258
|
explorer: {
|
|
236
259
|
baseUrl: 'https://etherscan.io/',
|
|
237
260
|
txUrl: 'https://etherscan.io/tx/',
|
|
@@ -245,6 +268,7 @@ export const baseChainInfo = {
|
|
|
245
268
|
type: 'BITCOIN',
|
|
246
269
|
chainId: 'bitcoin',
|
|
247
270
|
mainnet: true,
|
|
271
|
+
logo: chainLogo(ChainKeys.BITCOIN_MAINNET),
|
|
248
272
|
explorer: {
|
|
249
273
|
baseUrl: 'https://mempool.space/',
|
|
250
274
|
txUrl: 'https://mempool.space/tx/',
|
|
@@ -258,6 +282,7 @@ export const baseChainInfo = {
|
|
|
258
282
|
type: 'EVM',
|
|
259
283
|
chainId: 151,
|
|
260
284
|
mainnet: true,
|
|
285
|
+
logo: chainLogo(ChainKeys.REDBELLY_MAINNET),
|
|
261
286
|
explorer: {
|
|
262
287
|
baseUrl: 'https://redbelly.routescan.io/',
|
|
263
288
|
txUrl: 'https://redbelly.routescan.io/tx/',
|
|
@@ -271,6 +296,7 @@ export const baseChainInfo = {
|
|
|
271
296
|
type: 'EVM',
|
|
272
297
|
chainId: 8217,
|
|
273
298
|
mainnet: true,
|
|
299
|
+
logo: chainLogo(ChainKeys.KAIA_MAINNET),
|
|
274
300
|
explorer: {
|
|
275
301
|
baseUrl: 'https://klaytnfinder.io/',
|
|
276
302
|
txUrl: 'https://klaytnfinder.io/tx/',
|
|
@@ -284,6 +310,7 @@ export const baseChainInfo = {
|
|
|
284
310
|
type: 'STACKS',
|
|
285
311
|
chainId: 'stacks',
|
|
286
312
|
mainnet: true,
|
|
313
|
+
logo: chainLogo(ChainKeys.STACKS_MAINNET),
|
|
287
314
|
explorer: {
|
|
288
315
|
baseUrl: 'https://explorer.hiro.so/',
|
|
289
316
|
txUrl: 'https://explorer.hiro.so/txid/',
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Address } from '../shared/shared.js';
|
|
2
|
+
import type { SpokeChainKey } from '../chains/chains.js';
|
|
3
|
+
/**
|
|
4
|
+
* Stable identifier for a deployed delivery-hook contract. The string value is the discriminant
|
|
5
|
+
* used by the SDK's hook resolver (`EvmSolverService.resolveDeliveryHook`) to pick the codec.
|
|
6
|
+
*/
|
|
7
|
+
export declare const HookKind: {
|
|
8
|
+
/** Deposits delivered USDC into the recipient's HyperCore perps account (HyperEVM). */
|
|
9
|
+
readonly HYPERCORE_DEPOSIT: "hyperCoreDeposit";
|
|
10
|
+
};
|
|
11
|
+
export type HookKind = (typeof HookKind)[keyof typeof HookKind];
|
|
12
|
+
export type SpokeHookConfig = {
|
|
13
|
+
kind: HookKind;
|
|
14
|
+
/** Deployed hook contract address on the chain it is registered under. */
|
|
15
|
+
address: Address;
|
|
16
|
+
/**
|
|
17
|
+
* Spoke-token addresses (on the hook's own chain) this hook accepts as the delivered output.
|
|
18
|
+
* `undefined` means no token restriction. HyperCore, for example, only credits USDC. Reference
|
|
19
|
+
* the canonical token addresses from `spokeChainConfig` rather than hardcoding literals.
|
|
20
|
+
*/
|
|
21
|
+
supportedTokens?: readonly string[];
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Deployed delivery hooks, keyed by the chain they live on. Many hooks per chain and many chains
|
|
25
|
+
* are supported — add an entry to grow coverage. `Partial` because most chains have no hooks.
|
|
26
|
+
*/
|
|
27
|
+
export declare const spokeHooks: {
|
|
28
|
+
readonly hyper: readonly [{
|
|
29
|
+
readonly kind: "hyperCoreDeposit";
|
|
30
|
+
readonly address: "0xc79224a4DEE653C9a26572B941149d95a88432c4";
|
|
31
|
+
readonly supportedTokens: readonly ["0xb88339CB7199b77E23DB6E890353E22632Ba630f"];
|
|
32
|
+
}];
|
|
33
|
+
};
|
|
34
|
+
/** Returns the deployed hook of the given kind on `chainKey`, or `undefined` if none is registered. */
|
|
35
|
+
export declare const getSpokeHook: (chainKey: SpokeChainKey, kind: HookKind) => SpokeHookConfig | undefined;
|
|
36
|
+
/** Returns every hook deployed on `chainKey` (empty when none). */
|
|
37
|
+
export declare const getSpokeHooks: (chainKey: SpokeChainKey) => readonly SpokeHookConfig[];
|
|
38
|
+
/**
|
|
39
|
+
* Whether a hook of `kind` on `chainKey` accepts `token` (case-insensitive) as the delivered output.
|
|
40
|
+
* `false` when the hook is not deployed there; `true` when the hook has no token restriction.
|
|
41
|
+
*/
|
|
42
|
+
export declare const isHookSupportedToken: (chainKey: SpokeChainKey, kind: HookKind, token: string) => boolean;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// Delivery-hook registry for solver intents.
|
|
2
|
+
//
|
|
3
|
+
// When an intent's output is delivered on a spoke chain, the `SpokeAssetManager` can call
|
|
4
|
+
// `ISpokeReceiver(dstAddress).hook(token, amount, deliveryData)` instead of transferring the
|
|
5
|
+
// tokens straight to the recipient. Each deployed hook contract is identified here by a stable
|
|
6
|
+
// `HookKind` plus its per-chain address, so consumers never hardcode addresses and the address
|
|
7
|
+
// can never drift from the payload codec that targets it (the codec lives in `@sodax/sdk`).
|
|
8
|
+
import { ChainKeys, spokeChainConfig } from '../chains/chains.js';
|
|
9
|
+
/**
|
|
10
|
+
* Stable identifier for a deployed delivery-hook contract. The string value is the discriminant
|
|
11
|
+
* used by the SDK's hook resolver (`EvmSolverService.resolveDeliveryHook`) to pick the codec.
|
|
12
|
+
*/
|
|
13
|
+
export const HookKind = {
|
|
14
|
+
/** Deposits delivered USDC into the recipient's HyperCore perps account (HyperEVM). */
|
|
15
|
+
HYPERCORE_DEPOSIT: 'hyperCoreDeposit',
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Deployed delivery hooks, keyed by the chain they live on. Many hooks per chain and many chains
|
|
19
|
+
* are supported — add an entry to grow coverage. `Partial` because most chains have no hooks.
|
|
20
|
+
*/
|
|
21
|
+
export const spokeHooks = {
|
|
22
|
+
[ChainKeys.HYPEREVM_MAINNET]: [
|
|
23
|
+
{
|
|
24
|
+
kind: HookKind.HYPERCORE_DEPOSIT,
|
|
25
|
+
address: '0xc79224a4DEE653C9a26572B941149d95a88432c4',
|
|
26
|
+
supportedTokens: [spokeChainConfig[ChainKeys.HYPEREVM_MAINNET].supportedTokens.USDC.address], // USDC on HyperEVM
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
};
|
|
30
|
+
/** Returns the deployed hook of the given kind on `chainKey`, or `undefined` if none is registered. */
|
|
31
|
+
export const getSpokeHook = (chainKey, kind) => spokeHooks[chainKey]?.find(h => h.kind === kind);
|
|
32
|
+
/** Returns every hook deployed on `chainKey` (empty when none). */
|
|
33
|
+
export const getSpokeHooks = (chainKey) => spokeHooks[chainKey] ?? [];
|
|
34
|
+
/**
|
|
35
|
+
* Whether a hook of `kind` on `chainKey` accepts `token` (case-insensitive) as the delivered output.
|
|
36
|
+
* `false` when the hook is not deployed there; `true` when the hook has no token restriction.
|
|
37
|
+
*/
|
|
38
|
+
export const isHookSupportedToken = (chainKey, kind, token) => {
|
|
39
|
+
const hook = getSpokeHook(chainKey, kind);
|
|
40
|
+
if (!hook) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
return !hook.supportedTokens || hook.supportedTokens.some(t => t.toLowerCase() === token.toLowerCase());
|
|
44
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './hooks.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './hooks.js';
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from './backend/index.js';
|
|
|
6
6
|
export * from './bitcoin/index.js';
|
|
7
7
|
export * from './dex/index.js';
|
|
8
8
|
export * from './evm/index.js';
|
|
9
|
+
export * from './hooks/index.js';
|
|
9
10
|
export * from './icon/index.js';
|
|
10
11
|
export * from './injective/index.js';
|
|
11
12
|
export * from './moneyMarket/index.js';
|
|
@@ -18,4 +19,4 @@ export * from './sui/index.js';
|
|
|
18
19
|
export * from './swap/index.js';
|
|
19
20
|
export * from './utils/index.js';
|
|
20
21
|
export * from './wallet/index.js';
|
|
21
|
-
export declare const CONFIG_VERSION =
|
|
22
|
+
export declare const CONFIG_VERSION = 215;
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ export * from './backend/index.js';
|
|
|
6
6
|
export * from './bitcoin/index.js';
|
|
7
7
|
export * from './dex/index.js';
|
|
8
8
|
export * from './evm/index.js';
|
|
9
|
+
export * from './hooks/index.js';
|
|
9
10
|
export * from './icon/index.js';
|
|
10
11
|
export * from './injective/index.js';
|
|
11
12
|
export * from './moneyMarket/index.js';
|
|
@@ -18,4 +19,4 @@ export * from './sui/index.js';
|
|
|
18
19
|
export * from './swap/index.js';
|
|
19
20
|
export * from './utils/index.js';
|
|
20
21
|
export * from './wallet/index.js';
|
|
21
|
-
export const CONFIG_VERSION =
|
|
22
|
+
export const CONFIG_VERSION = 215; // this value should be incremented (inside release/sdk branch) each time @sodax/types package is updated
|
|
@@ -79,6 +79,7 @@ export declare const sodaxConfig: {
|
|
|
79
79
|
readonly type: "EVM";
|
|
80
80
|
readonly chainId: 146;
|
|
81
81
|
readonly mainnet: true;
|
|
82
|
+
readonly logo: string;
|
|
82
83
|
readonly explorer: {
|
|
83
84
|
readonly baseUrl: "https://sonicscan.org/";
|
|
84
85
|
readonly txUrl: "https://sonicscan.org/tx/";
|
|
@@ -431,6 +432,7 @@ export declare const sodaxConfig: {
|
|
|
431
432
|
readonly type: "EVM";
|
|
432
433
|
readonly chainId: 151;
|
|
433
434
|
readonly mainnet: true;
|
|
435
|
+
readonly logo: string;
|
|
434
436
|
readonly explorer: {
|
|
435
437
|
readonly baseUrl: "https://redbelly.routescan.io/";
|
|
436
438
|
readonly txUrl: "https://redbelly.routescan.io/tx/";
|
|
@@ -600,6 +602,7 @@ export declare const sodaxConfig: {
|
|
|
600
602
|
readonly type: "SOLANA";
|
|
601
603
|
readonly chainId: "solana";
|
|
602
604
|
readonly mainnet: true;
|
|
605
|
+
readonly logo: string;
|
|
603
606
|
readonly explorer: {
|
|
604
607
|
readonly baseUrl: "https://solscan.io/";
|
|
605
608
|
readonly txUrl: "https://solscan.io/tx/";
|
|
@@ -815,6 +818,7 @@ export declare const sodaxConfig: {
|
|
|
815
818
|
readonly type: "EVM";
|
|
816
819
|
readonly chainId: 43114;
|
|
817
820
|
readonly mainnet: true;
|
|
821
|
+
readonly logo: string;
|
|
818
822
|
readonly explorer: {
|
|
819
823
|
readonly baseUrl: "https://snowtrace.io/";
|
|
820
824
|
readonly txUrl: "https://snowtrace.io/tx/";
|
|
@@ -897,6 +901,7 @@ export declare const sodaxConfig: {
|
|
|
897
901
|
readonly type: "EVM";
|
|
898
902
|
readonly chainId: 42161;
|
|
899
903
|
readonly mainnet: true;
|
|
904
|
+
readonly logo: string;
|
|
900
905
|
readonly explorer: {
|
|
901
906
|
readonly baseUrl: "https://arbiscan.io/";
|
|
902
907
|
readonly txUrl: "https://arbiscan.io/tx/";
|
|
@@ -1089,6 +1094,7 @@ export declare const sodaxConfig: {
|
|
|
1089
1094
|
readonly type: "EVM";
|
|
1090
1095
|
readonly chainId: 8453;
|
|
1091
1096
|
readonly mainnet: true;
|
|
1097
|
+
readonly logo: string;
|
|
1092
1098
|
readonly explorer: {
|
|
1093
1099
|
readonly baseUrl: "https://basescan.org/";
|
|
1094
1100
|
readonly txUrl: "https://basescan.org/tx/";
|
|
@@ -1217,6 +1223,7 @@ export declare const sodaxConfig: {
|
|
|
1217
1223
|
readonly type: "EVM";
|
|
1218
1224
|
readonly chainId: 10;
|
|
1219
1225
|
readonly mainnet: true;
|
|
1226
|
+
readonly logo: string;
|
|
1220
1227
|
readonly explorer: {
|
|
1221
1228
|
readonly baseUrl: "https://optimistic.etherscan.io/";
|
|
1222
1229
|
readonly txUrl: "https://optimistic.etherscan.io/tx/";
|
|
@@ -1326,6 +1333,7 @@ export declare const sodaxConfig: {
|
|
|
1326
1333
|
readonly type: "EVM";
|
|
1327
1334
|
readonly chainId: 56;
|
|
1328
1335
|
readonly mainnet: true;
|
|
1336
|
+
readonly logo: string;
|
|
1329
1337
|
readonly explorer: {
|
|
1330
1338
|
readonly baseUrl: "https://bscscan.com/";
|
|
1331
1339
|
readonly txUrl: "https://bscscan.com/tx/";
|
|
@@ -1516,6 +1524,7 @@ export declare const sodaxConfig: {
|
|
|
1516
1524
|
readonly type: "EVM";
|
|
1517
1525
|
readonly chainId: 137;
|
|
1518
1526
|
readonly mainnet: true;
|
|
1527
|
+
readonly logo: string;
|
|
1519
1528
|
readonly explorer: {
|
|
1520
1529
|
readonly baseUrl: "https://polygonscan.com/";
|
|
1521
1530
|
readonly txUrl: "https://polygonscan.com/tx/";
|
|
@@ -1634,6 +1643,7 @@ export declare const sodaxConfig: {
|
|
|
1634
1643
|
readonly type: "EVM";
|
|
1635
1644
|
readonly chainId: 999;
|
|
1636
1645
|
readonly mainnet: true;
|
|
1646
|
+
readonly logo: string;
|
|
1637
1647
|
readonly explorer: {
|
|
1638
1648
|
readonly baseUrl: "https://hyperevmscan.io/";
|
|
1639
1649
|
readonly txUrl: "https://hyperevmscan.io/tx/";
|
|
@@ -1743,6 +1753,7 @@ export declare const sodaxConfig: {
|
|
|
1743
1753
|
readonly type: "EVM";
|
|
1744
1754
|
readonly chainId: 1890;
|
|
1745
1755
|
readonly mainnet: true;
|
|
1756
|
+
readonly logo: string;
|
|
1746
1757
|
readonly explorer: {
|
|
1747
1758
|
readonly baseUrl: "https://phoenix.lightlink.io/";
|
|
1748
1759
|
readonly txUrl: "https://phoenix.lightlink.io/tx/";
|
|
@@ -1921,6 +1932,7 @@ export declare const sodaxConfig: {
|
|
|
1921
1932
|
readonly type: "INJECTIVE";
|
|
1922
1933
|
readonly chainId: "injective-1";
|
|
1923
1934
|
readonly mainnet: true;
|
|
1935
|
+
readonly logo: string;
|
|
1924
1936
|
readonly explorer: {
|
|
1925
1937
|
readonly baseUrl: "https://www.mintscan.io/injective/";
|
|
1926
1938
|
readonly txUrl: "https://www.mintscan.io/injective/tx/";
|
|
@@ -1999,6 +2011,7 @@ export declare const sodaxConfig: {
|
|
|
1999
2011
|
readonly type: "BITCOIN";
|
|
2000
2012
|
readonly chainId: "bitcoin";
|
|
2001
2013
|
readonly mainnet: true;
|
|
2014
|
+
readonly logo: string;
|
|
2002
2015
|
readonly explorer: {
|
|
2003
2016
|
readonly baseUrl: "https://mempool.space/";
|
|
2004
2017
|
readonly txUrl: "https://mempool.space/tx/";
|
|
@@ -2159,6 +2172,7 @@ export declare const sodaxConfig: {
|
|
|
2159
2172
|
readonly type: "STELLAR";
|
|
2160
2173
|
readonly chainId: "stellar";
|
|
2161
2174
|
readonly mainnet: true;
|
|
2175
|
+
readonly logo: string;
|
|
2162
2176
|
readonly explorer: {
|
|
2163
2177
|
readonly baseUrl: "https://stellar.expert/explorer/public/";
|
|
2164
2178
|
readonly txUrl: "https://stellar.expert/explorer/public/tx/";
|
|
@@ -2327,6 +2341,7 @@ export declare const sodaxConfig: {
|
|
|
2327
2341
|
readonly type: "SUI";
|
|
2328
2342
|
readonly chainId: "sui";
|
|
2329
2343
|
readonly mainnet: true;
|
|
2344
|
+
readonly logo: string;
|
|
2330
2345
|
readonly explorer: {
|
|
2331
2346
|
readonly baseUrl: "https://suivision.xyz/";
|
|
2332
2347
|
readonly txUrl: "https://suivision.xyz/txblock/";
|
|
@@ -2354,6 +2369,7 @@ export declare const sodaxConfig: {
|
|
|
2354
2369
|
readonly type: "ICON";
|
|
2355
2370
|
readonly chainId: "0x1.icon";
|
|
2356
2371
|
readonly mainnet: true;
|
|
2372
|
+
readonly logo: string;
|
|
2357
2373
|
readonly explorer: {
|
|
2358
2374
|
readonly baseUrl: "https://tracker.icon.community/";
|
|
2359
2375
|
readonly txUrl: "https://tracker.icon.community/transaction/";
|
|
@@ -2495,6 +2511,7 @@ export declare const sodaxConfig: {
|
|
|
2495
2511
|
readonly type: "EVM";
|
|
2496
2512
|
readonly chainId: 1;
|
|
2497
2513
|
readonly mainnet: true;
|
|
2514
|
+
readonly logo: string;
|
|
2498
2515
|
readonly explorer: {
|
|
2499
2516
|
readonly baseUrl: "https://etherscan.io/";
|
|
2500
2517
|
readonly txUrl: "https://etherscan.io/tx/";
|
|
@@ -2758,6 +2775,7 @@ export declare const sodaxConfig: {
|
|
|
2758
2775
|
readonly type: "EVM";
|
|
2759
2776
|
readonly chainId: 8217;
|
|
2760
2777
|
readonly mainnet: true;
|
|
2778
|
+
readonly logo: string;
|
|
2761
2779
|
readonly explorer: {
|
|
2762
2780
|
readonly baseUrl: "https://klaytnfinder.io/";
|
|
2763
2781
|
readonly txUrl: "https://klaytnfinder.io/tx/";
|
|
@@ -2828,6 +2846,7 @@ export declare const sodaxConfig: {
|
|
|
2828
2846
|
readonly type: "STACKS";
|
|
2829
2847
|
readonly chainId: "stacks";
|
|
2830
2848
|
readonly mainnet: true;
|
|
2849
|
+
readonly logo: string;
|
|
2831
2850
|
readonly explorer: {
|
|
2832
2851
|
readonly baseUrl: "https://explorer.hiro.so/";
|
|
2833
2852
|
readonly txUrl: "https://explorer.hiro.so/txid/";
|
|
@@ -4228,7 +4247,31 @@ export declare const sodaxConfig: {
|
|
|
4228
4247
|
readonly hubAsset: "0xb78c7c96ae996b4d479bb81b7569a5c6a79c88cb";
|
|
4229
4248
|
readonly vault: "0xb78c7c96ae996b4d479bb81b7569a5c6a79c88cb";
|
|
4230
4249
|
}];
|
|
4231
|
-
readonly "injective-1": [
|
|
4250
|
+
readonly "injective-1": [{
|
|
4251
|
+
readonly symbol: "INJ";
|
|
4252
|
+
readonly name: "Injective";
|
|
4253
|
+
readonly decimals: 18;
|
|
4254
|
+
readonly address: "inj";
|
|
4255
|
+
readonly chainKey: "injective-1";
|
|
4256
|
+
readonly hubAsset: "0xd375590b4955f6ea5623f799153f9b787a3bd319";
|
|
4257
|
+
readonly vault: "0x1f22279C89B213944b7Ea41daCB0a868DdCDFd13";
|
|
4258
|
+
}, {
|
|
4259
|
+
readonly symbol: "bnUSD";
|
|
4260
|
+
readonly name: "bnUSD";
|
|
4261
|
+
readonly decimals: 18;
|
|
4262
|
+
readonly address: "factory/inj1d036ftaatxpkqsu9hja8r24rv3v33chz3appxp/bnUSD";
|
|
4263
|
+
readonly chainKey: "injective-1";
|
|
4264
|
+
readonly hubAsset: "0x69425FFb14704124A58d6F69d510f74A59D9a5bC";
|
|
4265
|
+
readonly vault: "0xE801CA34E19aBCbFeA12025378D19c4FBE250131";
|
|
4266
|
+
}, {
|
|
4267
|
+
readonly symbol: "USDC";
|
|
4268
|
+
readonly name: "USD Coin";
|
|
4269
|
+
readonly decimals: 6;
|
|
4270
|
+
readonly address: "ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E";
|
|
4271
|
+
readonly chainKey: "injective-1";
|
|
4272
|
+
readonly hubAsset: "0x4bc1211faa06fb50ff61a70331f56167ae511057";
|
|
4273
|
+
readonly vault: "0xAbbb91c0617090F0028BDC27597Cd0D038F3A833";
|
|
4274
|
+
}];
|
|
4232
4275
|
readonly near: [{
|
|
4233
4276
|
readonly symbol: "NEAR";
|
|
4234
4277
|
readonly name: "NEAR";
|
|
@@ -6144,6 +6187,7 @@ export declare const sodaxConfig: {
|
|
|
6144
6187
|
readonly type: "EVM";
|
|
6145
6188
|
readonly chainId: 146;
|
|
6146
6189
|
readonly mainnet: true;
|
|
6190
|
+
readonly logo: string;
|
|
6147
6191
|
readonly explorer: {
|
|
6148
6192
|
readonly baseUrl: "https://sonicscan.org/";
|
|
6149
6193
|
readonly txUrl: "https://sonicscan.org/tx/";
|
package/dist/swap/swap.d.ts
CHANGED
|
@@ -1337,7 +1337,31 @@ export declare const swapSupportedTokens: {
|
|
|
1337
1337
|
readonly hubAsset: "0xb78c7c96ae996b4d479bb81b7569a5c6a79c88cb";
|
|
1338
1338
|
readonly vault: "0xb78c7c96ae996b4d479bb81b7569a5c6a79c88cb";
|
|
1339
1339
|
}];
|
|
1340
|
-
readonly "injective-1": [
|
|
1340
|
+
readonly "injective-1": [{
|
|
1341
|
+
readonly symbol: "INJ";
|
|
1342
|
+
readonly name: "Injective";
|
|
1343
|
+
readonly decimals: 18;
|
|
1344
|
+
readonly address: "inj";
|
|
1345
|
+
readonly chainKey: "injective-1";
|
|
1346
|
+
readonly hubAsset: "0xd375590b4955f6ea5623f799153f9b787a3bd319";
|
|
1347
|
+
readonly vault: "0x1f22279C89B213944b7Ea41daCB0a868DdCDFd13";
|
|
1348
|
+
}, {
|
|
1349
|
+
readonly symbol: "bnUSD";
|
|
1350
|
+
readonly name: "bnUSD";
|
|
1351
|
+
readonly decimals: 18;
|
|
1352
|
+
readonly address: "factory/inj1d036ftaatxpkqsu9hja8r24rv3v33chz3appxp/bnUSD";
|
|
1353
|
+
readonly chainKey: "injective-1";
|
|
1354
|
+
readonly hubAsset: "0x69425FFb14704124A58d6F69d510f74A59D9a5bC";
|
|
1355
|
+
readonly vault: "0xE801CA34E19aBCbFeA12025378D19c4FBE250131";
|
|
1356
|
+
}, {
|
|
1357
|
+
readonly symbol: "USDC";
|
|
1358
|
+
readonly name: "USD Coin";
|
|
1359
|
+
readonly decimals: 6;
|
|
1360
|
+
readonly address: "ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E";
|
|
1361
|
+
readonly chainKey: "injective-1";
|
|
1362
|
+
readonly hubAsset: "0x4bc1211faa06fb50ff61a70331f56167ae511057";
|
|
1363
|
+
readonly vault: "0xAbbb91c0617090F0028BDC27597Cd0D038F3A833";
|
|
1364
|
+
}];
|
|
1341
1365
|
readonly near: [{
|
|
1342
1366
|
readonly symbol: "NEAR";
|
|
1343
1367
|
readonly name: "NEAR";
|
|
@@ -1831,31 +1855,7 @@ export declare const stagingSwapSupportedTokens: {
|
|
|
1831
1855
|
readonly hubAsset: "0xad8901fe2c8defe467fa1df7af78d755e53485ab";
|
|
1832
1856
|
readonly vault: "0xbDf1F453FCB61424011BBDDCB96cFDB30f3Fe876";
|
|
1833
1857
|
}];
|
|
1834
|
-
readonly "injective-1": [
|
|
1835
|
-
readonly symbol: "INJ";
|
|
1836
|
-
readonly name: "Injective";
|
|
1837
|
-
readonly decimals: 18;
|
|
1838
|
-
readonly address: "inj";
|
|
1839
|
-
readonly chainKey: "injective-1";
|
|
1840
|
-
readonly hubAsset: "0xd375590b4955f6ea5623f799153f9b787a3bd319";
|
|
1841
|
-
readonly vault: "0x1f22279C89B213944b7Ea41daCB0a868DdCDFd13";
|
|
1842
|
-
}, {
|
|
1843
|
-
readonly symbol: "bnUSD";
|
|
1844
|
-
readonly name: "bnUSD";
|
|
1845
|
-
readonly decimals: 18;
|
|
1846
|
-
readonly address: "factory/inj1d036ftaatxpkqsu9hja8r24rv3v33chz3appxp/bnUSD";
|
|
1847
|
-
readonly chainKey: "injective-1";
|
|
1848
|
-
readonly hubAsset: "0x69425FFb14704124A58d6F69d510f74A59D9a5bC";
|
|
1849
|
-
readonly vault: "0xE801CA34E19aBCbFeA12025378D19c4FBE250131";
|
|
1850
|
-
}, {
|
|
1851
|
-
readonly symbol: "USDC";
|
|
1852
|
-
readonly name: "USD Coin";
|
|
1853
|
-
readonly decimals: 6;
|
|
1854
|
-
readonly address: "ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E";
|
|
1855
|
-
readonly chainKey: "injective-1";
|
|
1856
|
-
readonly hubAsset: "0x4bc1211faa06fb50ff61a70331f56167ae511057";
|
|
1857
|
-
readonly vault: "0xAbbb91c0617090F0028BDC27597Cd0D038F3A833";
|
|
1858
|
-
}];
|
|
1858
|
+
readonly "injective-1": [];
|
|
1859
1859
|
readonly near: readonly [];
|
|
1860
1860
|
readonly bitcoin: readonly [];
|
|
1861
1861
|
readonly ethereum: [{
|
|
@@ -3223,7 +3223,31 @@ export declare const swapsConfig: {
|
|
|
3223
3223
|
readonly hubAsset: "0xb78c7c96ae996b4d479bb81b7569a5c6a79c88cb";
|
|
3224
3224
|
readonly vault: "0xb78c7c96ae996b4d479bb81b7569a5c6a79c88cb";
|
|
3225
3225
|
}];
|
|
3226
|
-
readonly "injective-1": [
|
|
3226
|
+
readonly "injective-1": [{
|
|
3227
|
+
readonly symbol: "INJ";
|
|
3228
|
+
readonly name: "Injective";
|
|
3229
|
+
readonly decimals: 18;
|
|
3230
|
+
readonly address: "inj";
|
|
3231
|
+
readonly chainKey: "injective-1";
|
|
3232
|
+
readonly hubAsset: "0xd375590b4955f6ea5623f799153f9b787a3bd319";
|
|
3233
|
+
readonly vault: "0x1f22279C89B213944b7Ea41daCB0a868DdCDFd13";
|
|
3234
|
+
}, {
|
|
3235
|
+
readonly symbol: "bnUSD";
|
|
3236
|
+
readonly name: "bnUSD";
|
|
3237
|
+
readonly decimals: 18;
|
|
3238
|
+
readonly address: "factory/inj1d036ftaatxpkqsu9hja8r24rv3v33chz3appxp/bnUSD";
|
|
3239
|
+
readonly chainKey: "injective-1";
|
|
3240
|
+
readonly hubAsset: "0x69425FFb14704124A58d6F69d510f74A59D9a5bC";
|
|
3241
|
+
readonly vault: "0xE801CA34E19aBCbFeA12025378D19c4FBE250131";
|
|
3242
|
+
}, {
|
|
3243
|
+
readonly symbol: "USDC";
|
|
3244
|
+
readonly name: "USD Coin";
|
|
3245
|
+
readonly decimals: 6;
|
|
3246
|
+
readonly address: "ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E";
|
|
3247
|
+
readonly chainKey: "injective-1";
|
|
3248
|
+
readonly hubAsset: "0x4bc1211faa06fb50ff61a70331f56167ae511057";
|
|
3249
|
+
readonly vault: "0xAbbb91c0617090F0028BDC27597Cd0D038F3A833";
|
|
3250
|
+
}];
|
|
3227
3251
|
readonly near: [{
|
|
3228
3252
|
readonly symbol: "NEAR";
|
|
3229
3253
|
readonly name: "NEAR";
|
package/dist/swap/swap.js
CHANGED
|
@@ -169,8 +169,11 @@ export const swapSupportedTokens = {
|
|
|
169
169
|
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.WAL,
|
|
170
170
|
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.NAVX,
|
|
171
171
|
],
|
|
172
|
-
|
|
173
|
-
|
|
172
|
+
[ChainKeys.INJECTIVE_MAINNET]: [
|
|
173
|
+
spokeChainConfig[ChainKeys.INJECTIVE_MAINNET].supportedTokens.INJ,
|
|
174
|
+
spokeChainConfig[ChainKeys.INJECTIVE_MAINNET].supportedTokens.bnUSD,
|
|
175
|
+
spokeChainConfig[ChainKeys.INJECTIVE_MAINNET].supportedTokens.USDC,
|
|
176
|
+
],
|
|
174
177
|
[ChainKeys.NEAR_MAINNET]: [
|
|
175
178
|
spokeChainConfig[ChainKeys.NEAR_MAINNET].supportedTokens.NEAR,
|
|
176
179
|
spokeChainConfig[ChainKeys.NEAR_MAINNET].supportedTokens.bnUSD,
|
|
@@ -265,12 +268,7 @@ export const stagingSwapSupportedTokens = {
|
|
|
265
268
|
[ChainKeys.ICON_MAINNET]: [],
|
|
266
269
|
[ChainKeys.STELLAR_MAINNET]: [],
|
|
267
270
|
[ChainKeys.SUI_MAINNET]: [spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.USDT],
|
|
268
|
-
[ChainKeys.INJECTIVE_MAINNET]: [
|
|
269
|
-
spokeChainConfig[ChainKeys.INJECTIVE_MAINNET].supportedTokens.INJ,
|
|
270
|
-
spokeChainConfig[ChainKeys.INJECTIVE_MAINNET].supportedTokens.bnUSD,
|
|
271
|
-
spokeChainConfig[ChainKeys.INJECTIVE_MAINNET].supportedTokens.USDC,
|
|
272
|
-
// spokeChainConfig[ChainKeys.INJECTIVE_MAINNET].supportedTokens.SODA, // NOTE: not in solver wiki
|
|
273
|
-
],
|
|
271
|
+
[ChainKeys.INJECTIVE_MAINNET]: [],
|
|
274
272
|
[ChainKeys.NEAR_MAINNET]: [],
|
|
275
273
|
[ChainKeys.BITCOIN_MAINNET]: [],
|
|
276
274
|
[ChainKeys.ETHEREUM_MAINNET]: [
|
package/package.json
CHANGED