@sodax/types 2.0.0-rc.12 → 2.0.0-rc.14

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/swap/swap.js CHANGED
@@ -1,4 +1,4 @@
1
- import { SodaTokens } from '../chains/tokens.js';
1
+ import { SodaTokens, LsodaTokens } from '../chains/tokens.js';
2
2
  import { spokeChainConfig, ChainKeys } from '../chains/chains.js';
3
3
  export const swapSupportedTokens = {
4
4
  [ChainKeys.SONIC_MAINNET]: [
@@ -8,7 +8,9 @@ export const swapSupportedTokens = {
8
8
  spokeChainConfig[ChainKeys.SONIC_MAINNET].supportedTokens.USDT,
9
9
  spokeChainConfig[ChainKeys.SONIC_MAINNET].supportedTokens.wS,
10
10
  spokeChainConfig[ChainKeys.SONIC_MAINNET].supportedTokens.SODA,
11
- ...Object.values(SodaTokens),
11
+ // sodaUSDS is staging-only — see stagingSwapSupportedTokens
12
+ ...Object.values(SodaTokens).filter(t => t !== SodaTokens.sodaUSDS),
13
+ ...Object.values(LsodaTokens),
12
14
  ],
13
15
  [ChainKeys.AVALANCHE_MAINNET]: [
14
16
  spokeChainConfig[ChainKeys.AVALANCHE_MAINNET].supportedTokens.AVAX,
@@ -27,7 +29,6 @@ export const swapSupportedTokens = {
27
29
  spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.tBTC,
28
30
  spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.USDC,
29
31
  spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.USDT,
30
- spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.SODA,
31
32
  spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.ARB,
32
33
  spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.AAVE,
33
34
  spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.LINK,
@@ -35,21 +36,20 @@ export const swapSupportedTokens = {
35
36
  spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.CRV,
36
37
  spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.PENDLE,
37
38
  spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.rETH,
39
+ spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.SODA,
38
40
  ],
39
41
  [ChainKeys.BASE_MAINNET]: [
40
42
  spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.ETH,
41
- spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.bnUSD,
42
43
  spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.weETH,
43
44
  spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.USDC,
44
45
  spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.wstETH,
45
46
  spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.cbBTC,
46
- spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.SODA,
47
47
  spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.VIRTUAL,
48
48
  spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.cbETH,
49
+ spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.SODA,
49
50
  ],
50
51
  [ChainKeys.OPTIMISM_MAINNET]: [
51
52
  spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.ETH,
52
- spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.bnUSD,
53
53
  spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.USDC,
54
54
  spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.wstETH,
55
55
  // spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.weETH, // NOTE: Not Implemented
@@ -57,6 +57,7 @@ export const swapSupportedTokens = {
57
57
  spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.SODA,
58
58
  spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.OP,
59
59
  spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.WBTC,
60
+ spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.bnUSD,
60
61
  ],
61
62
  [ChainKeys.POLYGON_MAINNET]: [
62
63
  spokeChainConfig[ChainKeys.POLYGON_MAINNET].supportedTokens.POL,
@@ -112,7 +113,6 @@ export const swapSupportedTokens = {
112
113
  spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['SUI.LL'],
113
114
  spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['S.LL'],
114
115
  spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['POL.LL'],
115
- spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['HYPE.LL'],
116
116
  spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens.LL,
117
117
  ],
118
118
  [ChainKeys.SOLANA_MAINNET]: [
@@ -150,6 +150,9 @@ export const swapSupportedTokens = {
150
150
  spokeChainConfig[ChainKeys.STELLAR_MAINNET].supportedTokens.bnUSD, // NOTE: Not Implemented
151
151
  spokeChainConfig[ChainKeys.STELLAR_MAINNET].supportedTokens.USDC,
152
152
  spokeChainConfig[ChainKeys.STELLAR_MAINNET].supportedTokens.SODA,
153
+ spokeChainConfig[ChainKeys.STELLAR_MAINNET].supportedTokens.sodaETH,
154
+ spokeChainConfig[ChainKeys.STELLAR_MAINNET].supportedTokens.sodaBTC,
155
+ spokeChainConfig[ChainKeys.STELLAR_MAINNET].supportedTokens.sodaBNB,
153
156
  ],
154
157
  [ChainKeys.SUI_MAINNET]: [
155
158
  spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.SUI,
@@ -166,12 +169,8 @@ export const swapSupportedTokens = {
166
169
  spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.WAL,
167
170
  spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.NAVX,
168
171
  ],
169
- [ChainKeys.INJECTIVE_MAINNET]: [
170
- spokeChainConfig[ChainKeys.INJECTIVE_MAINNET].supportedTokens.INJ,
171
- spokeChainConfig[ChainKeys.INJECTIVE_MAINNET].supportedTokens.bnUSD,
172
- spokeChainConfig[ChainKeys.INJECTIVE_MAINNET].supportedTokens.USDC,
173
- // spokeChainConfig[ChainKeys.INJECTIVE_MAINNET].supportedTokens.SODA, // NOTE: not in solver wiki
174
- ],
172
+ // Injective is currently staging-only — see stagingSwapSupportedTokens
173
+ [ChainKeys.INJECTIVE_MAINNET]: [],
175
174
  [ChainKeys.NEAR_MAINNET]: [
176
175
  spokeChainConfig[ChainKeys.NEAR_MAINNET].supportedTokens.NEAR,
177
176
  spokeChainConfig[ChainKeys.NEAR_MAINNET].supportedTokens.bnUSD,
@@ -238,11 +237,61 @@ export const swapSupportedTokens = {
238
237
  spokeChainConfig[ChainKeys.STACKS_MAINNET].supportedTokens.USDC,
239
238
  ],
240
239
  };
240
+ // Tokens supported ONLY in the staging solver environment.
241
+ // The staging solver supports every production token PLUS these — use
242
+ // `getStagingSolverTokens` for the full staging set. The two lists are disjoint per chain;
243
+ // a token lives in exactly one of them. It is upon the user to provide a token valid for
244
+ // their target environment — validation accepts either (see `isSwapSupportedToken`).
245
+ // Derived from the production solver oracle (tokens absent there).
246
+ export const stagingSwapSupportedTokens = {
247
+ [ChainKeys.SONIC_MAINNET]: [SodaTokens.sodaUSDS],
248
+ [ChainKeys.AVALANCHE_MAINNET]: [],
249
+ [ChainKeys.ARBITRUM_MAINNET]: [],
250
+ [ChainKeys.BASE_MAINNET]: [
251
+ spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.bnUSD,
252
+ spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.AERO,
253
+ ],
254
+ [ChainKeys.OPTIMISM_MAINNET]: [],
255
+ [ChainKeys.POLYGON_MAINNET]: [
256
+ spokeChainConfig[ChainKeys.POLYGON_MAINNET].supportedTokens.USDT,
257
+ spokeChainConfig[ChainKeys.POLYGON_MAINNET].supportedTokens.wstETH,
258
+ ],
259
+ [ChainKeys.BSC_MAINNET]: [],
260
+ [ChainKeys.HYPEREVM_MAINNET]: [],
261
+ [ChainKeys.LIGHTLINK_MAINNET]: [
262
+ spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['HYPE.LL'],
263
+ ],
264
+ [ChainKeys.SOLANA_MAINNET]: [],
265
+ [ChainKeys.ICON_MAINNET]: [],
266
+ [ChainKeys.STELLAR_MAINNET]: [],
267
+ [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
+ ],
274
+ [ChainKeys.NEAR_MAINNET]: [],
275
+ [ChainKeys.BITCOIN_MAINNET]: [],
276
+ [ChainKeys.ETHEREUM_MAINNET]: [
277
+ spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.wstETH,
278
+ spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.weETH,
279
+ ],
280
+ [ChainKeys.REDBELLY_MAINNET]: [],
281
+ [ChainKeys.KAIA_MAINNET]: [],
282
+ [ChainKeys.STACKS_MAINNET]: [],
283
+ };
241
284
  export const swapsConfig = {
242
- partnerFee: undefined,
243
285
  supportedTokens: swapSupportedTokens,
244
286
  };
245
- // get supported spoke chain tokens for solver
287
+ // get production supported spoke chain tokens for solver
246
288
  export const getSupportedSolverTokens = (chainId) => swapSupportedTokens[chainId];
247
- // check if token address for given spoke chain id is supported
248
- export const isSwapSupportedToken = (chainId, token) => swapSupportedTokens[chainId].some(t => t.address.toLowerCase() === token.toLowerCase());
289
+ // get supported spoke chain tokens for the staging solver staging supports every
290
+ // production token plus the staging-only ones
291
+ export const getStagingSolverTokens = (chainId) => [
292
+ ...swapSupportedTokens[chainId],
293
+ ...stagingSwapSupportedTokens[chainId],
294
+ ];
295
+ // check if token address for given spoke chain id is supported in either the production or
296
+ // staging solver environment — the caller is responsible for targeting the correct environment.
297
+ export const isSwapSupportedToken = (chainId, token) => [...swapSupportedTokens[chainId], ...stagingSwapSupportedTokens[chainId]].some(t => t.address.toLowerCase() === token.toLowerCase());
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "2.0.0-rc.12",
7
+ "version": "2.0.0-rc.14",
8
8
  "description": "Sodax Common Types",
9
9
  "main": "dist/index.js",
10
10
  "homepage": "https://github.com/icon-project/sodax-sdks/tree/main/packages/types",
@@ -50,7 +50,7 @@
50
50
  "knip": "5.30.5",
51
51
  "madge": "8.0.0",
52
52
  "typescript": "5.5.4",
53
- "vitest": "3.2.4"
53
+ "vitest": "3.2.6"
54
54
  },
55
55
  "keywords": [
56
56
  "sodax",