@sodax/types 1.5.7-beta → 2.0.0-rc.10
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/README.md +86 -20
- package/dist/backend/backendApi.d.ts +74 -0
- package/dist/backend/backendApi.js +1 -0
- package/dist/backend/index.d.ts +1 -81
- package/dist/backend/index.js +1 -2
- package/dist/{btc/index.d.ts → bitcoin/bitcoin.d.ts} +30 -31
- package/dist/{btc/index.js → bitcoin/bitcoin.js} +4 -4
- package/dist/bitcoin/index.d.ts +1 -0
- package/dist/bitcoin/index.js +1 -0
- package/dist/chains/chain-keys.d.ts +30 -0
- package/dist/chains/chain-keys.js +38 -0
- package/dist/chains/chains.d.ts +3602 -0
- package/dist/chains/chains.js +711 -0
- package/dist/chains/index.d.ts +2 -0
- package/dist/chains/index.js +2 -0
- package/dist/chains/tokens.d.ts +4617 -0
- package/dist/chains/tokens.js +2242 -0
- package/dist/common/common.d.ts +281 -0
- package/dist/common/common.js +29 -0
- package/dist/common/constants.d.ts +69 -0
- package/dist/common/constants.js +30 -0
- package/dist/common/index.d.ts +2 -275
- package/dist/common/index.js +2 -2
- package/dist/dex/dex.d.ts +267 -0
- package/dist/dex/dex.js +127 -0
- package/dist/dex/index.d.ts +1 -0
- package/dist/dex/index.js +1 -0
- package/dist/dex/pancakeswap-infinity.d.ts +538 -0
- package/dist/dex/pancakeswap-infinity.js +2 -0
- package/dist/evm/evm.d.ts +47 -0
- package/dist/evm/evm.js +1 -0
- package/dist/evm/index.d.ts +1 -40
- package/dist/evm/index.js +1 -2
- package/dist/icon/icon.d.ts +54 -0
- package/dist/icon/icon.js +1 -0
- package/dist/icon/index.d.ts +1 -36
- package/dist/icon/index.js +1 -2
- package/dist/index.d.ts +15 -8
- package/dist/index.js +15 -8
- package/dist/injective/index.d.ts +1 -68
- package/dist/injective/index.js +1 -17
- package/dist/injective/injective.d.ts +102 -0
- package/dist/injective/injective.js +1 -0
- package/dist/moneyMarket/index.d.ts +1 -0
- package/dist/moneyMarket/index.js +1 -0
- package/dist/moneyMarket/moneyMarket.d.ts +2559 -0
- package/dist/moneyMarket/moneyMarket.js +199 -0
- package/dist/near/index.d.ts +1 -70
- package/dist/near/index.js +1 -2
- package/dist/near/near-api-js.d.ts +6118 -0
- package/dist/near/near-api-js.js +1 -0
- package/dist/near/near.d.ts +74 -0
- package/dist/near/near.js +1 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.js +1 -0
- package/dist/shared/shared.d.ts +16 -0
- package/dist/shared/shared.js +5 -0
- package/dist/sodax-config/index.d.ts +1 -0
- package/dist/sodax-config/index.js +1 -0
- package/dist/sodax-config/sodax-config.d.ts +6307 -0
- package/dist/sodax-config/sodax-config.js +21 -0
- package/dist/solana/index.d.ts +1 -100
- package/dist/solana/index.js +1 -2
- package/dist/solana/solana-web3.d.ts +389 -0
- package/dist/solana/solana-web3.js +1 -0
- package/dist/solana/solana.d.ts +110 -0
- package/dist/solana/solana.js +1 -0
- package/dist/stacks/index.d.ts +1 -17
- package/dist/stacks/index.js +1 -2
- package/dist/stacks/stacks.d.ts +210 -0
- package/dist/stacks/stacks.js +1 -0
- package/dist/stellar/index.d.ts +1 -70
- package/dist/stellar/index.js +1 -2
- package/dist/stellar/stellar.d.ts +96 -0
- package/dist/stellar/stellar.js +1 -0
- package/dist/sui/index.d.ts +1 -33
- package/dist/sui/index.js +1 -2
- package/dist/sui/sui.d.ts +311 -0
- package/dist/sui/sui.js +1 -0
- package/dist/swap/index.d.ts +1 -0
- package/dist/swap/index.js +1 -0
- package/dist/swap/swap.d.ts +3500 -0
- package/dist/swap/swap.js +248 -0
- package/dist/utils/deep-partial.d.ts +8 -0
- package/dist/utils/deep-partial.js +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/utils.d.ts +60 -0
- package/dist/utils/utils.js +143 -0
- package/dist/wallet/index.d.ts +2 -0
- package/dist/wallet/index.js +2 -0
- package/dist/wallet/providers.d.ts +23 -0
- package/dist/wallet/providers.js +1 -0
- package/dist/wallet/wallet.d.ts +18 -0
- package/dist/wallet/wallet.js +1 -0
- package/package.json +42 -14
- package/dist/backend/index.d.ts.map +0 -1
- package/dist/backend/index.js.map +0 -1
- package/dist/btc/index.d.ts.map +0 -1
- package/dist/btc/index.js.map +0 -1
- package/dist/common/index.d.ts.map +0 -1
- package/dist/common/index.js.map +0 -1
- package/dist/constants/index.d.ts +0 -7299
- package/dist/constants/index.d.ts.map +0 -1
- package/dist/constants/index.js +0 -3227
- package/dist/constants/index.js.map +0 -1
- package/dist/evm/index.d.ts.map +0 -1
- package/dist/evm/index.js.map +0 -1
- package/dist/icon/index.d.ts.map +0 -1
- package/dist/icon/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/injective/index.d.ts.map +0 -1
- package/dist/injective/index.js.map +0 -1
- package/dist/near/index.d.ts.map +0 -1
- package/dist/near/index.js.map +0 -1
- package/dist/solana/index.d.ts.map +0 -1
- package/dist/solana/index.js.map +0 -1
- package/dist/stacks/index.d.ts.map +0 -1
- package/dist/stacks/index.js.map +0 -1
- package/dist/stellar/index.d.ts.map +0 -1
- package/dist/stellar/index.js.map +0 -1
- package/dist/sui/index.d.ts.map +0 -1
- package/dist/sui/index.js.map +0 -1
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { SodaTokens } from '../chains/tokens.js';
|
|
2
|
+
import { spokeChainConfig, ChainKeys } from '../chains/chains.js';
|
|
3
|
+
export const swapSupportedTokens = {
|
|
4
|
+
[ChainKeys.SONIC_MAINNET]: [
|
|
5
|
+
spokeChainConfig[ChainKeys.SONIC_MAINNET].supportedTokens.S,
|
|
6
|
+
spokeChainConfig[ChainKeys.SONIC_MAINNET].supportedTokens.WETH,
|
|
7
|
+
spokeChainConfig[ChainKeys.SONIC_MAINNET].supportedTokens.USDC,
|
|
8
|
+
spokeChainConfig[ChainKeys.SONIC_MAINNET].supportedTokens.USDT,
|
|
9
|
+
spokeChainConfig[ChainKeys.SONIC_MAINNET].supportedTokens.wS,
|
|
10
|
+
spokeChainConfig[ChainKeys.SONIC_MAINNET].supportedTokens.SODA,
|
|
11
|
+
...Object.values(SodaTokens),
|
|
12
|
+
],
|
|
13
|
+
[ChainKeys.AVALANCHE_MAINNET]: [
|
|
14
|
+
spokeChainConfig[ChainKeys.AVALANCHE_MAINNET].supportedTokens.AVAX,
|
|
15
|
+
spokeChainConfig[ChainKeys.AVALANCHE_MAINNET].supportedTokens.USDT,
|
|
16
|
+
spokeChainConfig[ChainKeys.AVALANCHE_MAINNET].supportedTokens.USDC,
|
|
17
|
+
spokeChainConfig[ChainKeys.AVALANCHE_MAINNET].supportedTokens.bnUSD,
|
|
18
|
+
spokeChainConfig[ChainKeys.AVALANCHE_MAINNET].supportedTokens.SODA,
|
|
19
|
+
spokeChainConfig[ChainKeys.AVALANCHE_MAINNET].supportedTokens.WETHe,
|
|
20
|
+
],
|
|
21
|
+
[ChainKeys.ARBITRUM_MAINNET]: [
|
|
22
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.ETH,
|
|
23
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.bnUSD,
|
|
24
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.WBTC,
|
|
25
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.weETH,
|
|
26
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.wstETH,
|
|
27
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.tBTC,
|
|
28
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.USDC,
|
|
29
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.USDT,
|
|
30
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.SODA,
|
|
31
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.ARB,
|
|
32
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.AAVE,
|
|
33
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.LINK,
|
|
34
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.UNI,
|
|
35
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.CRV,
|
|
36
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.PENDLE,
|
|
37
|
+
spokeChainConfig[ChainKeys.ARBITRUM_MAINNET].supportedTokens.rETH,
|
|
38
|
+
],
|
|
39
|
+
[ChainKeys.BASE_MAINNET]: [
|
|
40
|
+
spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.ETH,
|
|
41
|
+
spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.bnUSD,
|
|
42
|
+
spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.weETH,
|
|
43
|
+
spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.USDC,
|
|
44
|
+
spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.wstETH,
|
|
45
|
+
spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.cbBTC,
|
|
46
|
+
spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.SODA,
|
|
47
|
+
spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.VIRTUAL,
|
|
48
|
+
spokeChainConfig[ChainKeys.BASE_MAINNET].supportedTokens.cbETH,
|
|
49
|
+
],
|
|
50
|
+
[ChainKeys.OPTIMISM_MAINNET]: [
|
|
51
|
+
spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.ETH,
|
|
52
|
+
spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.bnUSD,
|
|
53
|
+
spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.USDC,
|
|
54
|
+
spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.wstETH,
|
|
55
|
+
// spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.weETH, // NOTE: Not Implemented
|
|
56
|
+
spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.USDT,
|
|
57
|
+
spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.SODA,
|
|
58
|
+
spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.OP,
|
|
59
|
+
spokeChainConfig[ChainKeys.OPTIMISM_MAINNET].supportedTokens.WBTC,
|
|
60
|
+
],
|
|
61
|
+
[ChainKeys.POLYGON_MAINNET]: [
|
|
62
|
+
spokeChainConfig[ChainKeys.POLYGON_MAINNET].supportedTokens.POL,
|
|
63
|
+
spokeChainConfig[ChainKeys.POLYGON_MAINNET].supportedTokens.bnUSD,
|
|
64
|
+
spokeChainConfig[ChainKeys.POLYGON_MAINNET].supportedTokens.USDC,
|
|
65
|
+
spokeChainConfig[ChainKeys.POLYGON_MAINNET].supportedTokens.SODA,
|
|
66
|
+
spokeChainConfig[ChainKeys.POLYGON_MAINNET].supportedTokens.WBTC,
|
|
67
|
+
spokeChainConfig[ChainKeys.POLYGON_MAINNET].supportedTokens.AAVE,
|
|
68
|
+
spokeChainConfig[ChainKeys.POLYGON_MAINNET].supportedTokens.LINK,
|
|
69
|
+
spokeChainConfig[ChainKeys.POLYGON_MAINNET].supportedTokens.DAI,
|
|
70
|
+
],
|
|
71
|
+
[ChainKeys.BSC_MAINNET]: [
|
|
72
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.BNB,
|
|
73
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.ETHB,
|
|
74
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.BTCB,
|
|
75
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.bnUSD,
|
|
76
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.USDC,
|
|
77
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.USDT,
|
|
78
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.SODA,
|
|
79
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.CAKE,
|
|
80
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.FDUSD,
|
|
81
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.USD1,
|
|
82
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.ASTER,
|
|
83
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.XRP,
|
|
84
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.ADA,
|
|
85
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.DOGE,
|
|
86
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.SOL,
|
|
87
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.DOT,
|
|
88
|
+
spokeChainConfig[ChainKeys.BSC_MAINNET].supportedTokens.LINK,
|
|
89
|
+
],
|
|
90
|
+
[ChainKeys.HYPEREVM_MAINNET]: [
|
|
91
|
+
spokeChainConfig[ChainKeys.HYPEREVM_MAINNET].supportedTokens.HYPE,
|
|
92
|
+
spokeChainConfig[ChainKeys.HYPEREVM_MAINNET].supportedTokens.bnUSD,
|
|
93
|
+
spokeChainConfig[ChainKeys.HYPEREVM_MAINNET].supportedTokens.SODA,
|
|
94
|
+
spokeChainConfig[ChainKeys.HYPEREVM_MAINNET].supportedTokens.USDC,
|
|
95
|
+
spokeChainConfig[ChainKeys.HYPEREVM_MAINNET].supportedTokens.USDT0,
|
|
96
|
+
spokeChainConfig[ChainKeys.HYPEREVM_MAINNET].supportedTokens.UBTC,
|
|
97
|
+
spokeChainConfig[ChainKeys.HYPEREVM_MAINNET].supportedTokens.UETH,
|
|
98
|
+
spokeChainConfig[ChainKeys.HYPEREVM_MAINNET].supportedTokens.kHYPE,
|
|
99
|
+
spokeChainConfig[ChainKeys.HYPEREVM_MAINNET].supportedTokens.USDH,
|
|
100
|
+
],
|
|
101
|
+
[ChainKeys.LIGHTLINK_MAINNET]: [
|
|
102
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens.ETH,
|
|
103
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens.bnUSD,
|
|
104
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens.SODA,
|
|
105
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens.USDC,
|
|
106
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['BTC.LL'],
|
|
107
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['AVAX.LL'],
|
|
108
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['BNB.LL'],
|
|
109
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['SOL.LL'],
|
|
110
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['XLM.LL'],
|
|
111
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['INJ.LL'],
|
|
112
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['SUI.LL'],
|
|
113
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['S.LL'],
|
|
114
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['POL.LL'],
|
|
115
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens['HYPE.LL'],
|
|
116
|
+
spokeChainConfig[ChainKeys.LIGHTLINK_MAINNET].supportedTokens.LL,
|
|
117
|
+
],
|
|
118
|
+
[ChainKeys.SOLANA_MAINNET]: [
|
|
119
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.SOL,
|
|
120
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.bnUSD, // NOTE: Not Implemented
|
|
121
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.USDC,
|
|
122
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.SODA,
|
|
123
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.USDT,
|
|
124
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.BONK,
|
|
125
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.JUP,
|
|
126
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.JitoSOL,
|
|
127
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.mSOL,
|
|
128
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.RAY,
|
|
129
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.PYTH,
|
|
130
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.JTO,
|
|
131
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.WBTC,
|
|
132
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.CRCLx,
|
|
133
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.TSLAx,
|
|
134
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.SPYx,
|
|
135
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.NVDAx,
|
|
136
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.QQQx,
|
|
137
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.MSTRx,
|
|
138
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.COINx,
|
|
139
|
+
spokeChainConfig[ChainKeys.SOLANA_MAINNET].supportedTokens.GOOGLx,
|
|
140
|
+
],
|
|
141
|
+
[ChainKeys.ICON_MAINNET]: [
|
|
142
|
+
spokeChainConfig[ChainKeys.ICON_MAINNET].supportedTokens.ICX,
|
|
143
|
+
spokeChainConfig[ChainKeys.ICON_MAINNET].supportedTokens.wICX,
|
|
144
|
+
spokeChainConfig[ChainKeys.ICON_MAINNET].supportedTokens.bnUSD,
|
|
145
|
+
// spokeChainConfig[ChainKeys.ICON_MAINNET].supportedTokens.BALN, // NOTE: Not Implemented
|
|
146
|
+
// spokeChainConfig[ChainKeys.ICON_MAINNET].supportedTokens.OMM, // NOTE: Not Implemented
|
|
147
|
+
],
|
|
148
|
+
[ChainKeys.STELLAR_MAINNET]: [
|
|
149
|
+
spokeChainConfig[ChainKeys.STELLAR_MAINNET].supportedTokens.XLM,
|
|
150
|
+
spokeChainConfig[ChainKeys.STELLAR_MAINNET].supportedTokens.bnUSD, // NOTE: Not Implemented
|
|
151
|
+
spokeChainConfig[ChainKeys.STELLAR_MAINNET].supportedTokens.USDC,
|
|
152
|
+
spokeChainConfig[ChainKeys.STELLAR_MAINNET].supportedTokens.SODA,
|
|
153
|
+
],
|
|
154
|
+
[ChainKeys.SUI_MAINNET]: [
|
|
155
|
+
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.SUI,
|
|
156
|
+
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.bnUSD, // NOTE: Not Implemented
|
|
157
|
+
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.USDC,
|
|
158
|
+
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.SODA,
|
|
159
|
+
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.afSUI,
|
|
160
|
+
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.mSUI,
|
|
161
|
+
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.haSUI,
|
|
162
|
+
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.vSUI,
|
|
163
|
+
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.yapSUI,
|
|
164
|
+
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.trevinSUI,
|
|
165
|
+
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.DEEP,
|
|
166
|
+
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.WAL,
|
|
167
|
+
spokeChainConfig[ChainKeys.SUI_MAINNET].supportedTokens.NAVX,
|
|
168
|
+
],
|
|
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
|
+
],
|
|
175
|
+
[ChainKeys.NEAR_MAINNET]: [
|
|
176
|
+
spokeChainConfig[ChainKeys.NEAR_MAINNET].supportedTokens.NEAR,
|
|
177
|
+
spokeChainConfig[ChainKeys.NEAR_MAINNET].supportedTokens.bnUSD,
|
|
178
|
+
spokeChainConfig[ChainKeys.NEAR_MAINNET].supportedTokens.SODA,
|
|
179
|
+
spokeChainConfig[ChainKeys.NEAR_MAINNET].supportedTokens.USDC,
|
|
180
|
+
spokeChainConfig[ChainKeys.NEAR_MAINNET].supportedTokens.USDT,
|
|
181
|
+
],
|
|
182
|
+
[ChainKeys.BITCOIN_MAINNET]: [
|
|
183
|
+
spokeChainConfig[ChainKeys.BITCOIN_MAINNET].supportedTokens.BTC,
|
|
184
|
+
// spokeChainConfig[ChainKeys.BITCOIN_MAINNET].supportedTokens.BUSD, // TODO: re-enable when trading wallet balance is ready
|
|
185
|
+
],
|
|
186
|
+
[ChainKeys.ETHEREUM_MAINNET]: [
|
|
187
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.ETH,
|
|
188
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.bnUSD,
|
|
189
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.USDC,
|
|
190
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.USDT,
|
|
191
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.SODA,
|
|
192
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.LL,
|
|
193
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.sUSDat,
|
|
194
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.AAVE,
|
|
195
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.LINK,
|
|
196
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.UNI,
|
|
197
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.PEPE,
|
|
198
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.ENA,
|
|
199
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.USDe,
|
|
200
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.sUSDe,
|
|
201
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.PYUSD,
|
|
202
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.ZRO,
|
|
203
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.PAXG,
|
|
204
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.XAUt,
|
|
205
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.USD1,
|
|
206
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.DAI,
|
|
207
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.cbBTC,
|
|
208
|
+
spokeChainConfig[ChainKeys.ETHEREUM_MAINNET].supportedTokens.rETH,
|
|
209
|
+
],
|
|
210
|
+
[ChainKeys.REDBELLY_MAINNET]: [
|
|
211
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.RBNT,
|
|
212
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.bnUSD,
|
|
213
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.SODA,
|
|
214
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.USDC,
|
|
215
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.USDT,
|
|
216
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.rETH,
|
|
217
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.rBTC,
|
|
218
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.rSOL,
|
|
219
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.rBNB,
|
|
220
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.rHYPE,
|
|
221
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.rAVAX,
|
|
222
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.rXLM,
|
|
223
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.rSUI,
|
|
224
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.rS,
|
|
225
|
+
spokeChainConfig[ChainKeys.REDBELLY_MAINNET].supportedTokens.rPOL,
|
|
226
|
+
],
|
|
227
|
+
[ChainKeys.KAIA_MAINNET]: [
|
|
228
|
+
spokeChainConfig[ChainKeys.KAIA_MAINNET].supportedTokens.KAIA,
|
|
229
|
+
spokeChainConfig[ChainKeys.KAIA_MAINNET].supportedTokens.USDT,
|
|
230
|
+
spokeChainConfig[ChainKeys.KAIA_MAINNET].supportedTokens.bnUSD,
|
|
231
|
+
spokeChainConfig[ChainKeys.KAIA_MAINNET].supportedTokens.SODA,
|
|
232
|
+
],
|
|
233
|
+
[ChainKeys.STACKS_MAINNET]: [
|
|
234
|
+
spokeChainConfig[ChainKeys.STACKS_MAINNET].supportedTokens.STX,
|
|
235
|
+
spokeChainConfig[ChainKeys.STACKS_MAINNET].supportedTokens.bnUSD,
|
|
236
|
+
spokeChainConfig[ChainKeys.STACKS_MAINNET].supportedTokens.SODA,
|
|
237
|
+
spokeChainConfig[ChainKeys.STACKS_MAINNET].supportedTokens.sBTC,
|
|
238
|
+
spokeChainConfig[ChainKeys.STACKS_MAINNET].supportedTokens.USDC,
|
|
239
|
+
],
|
|
240
|
+
};
|
|
241
|
+
export const swapsConfig = {
|
|
242
|
+
partnerFee: undefined,
|
|
243
|
+
supportedTokens: swapSupportedTokens,
|
|
244
|
+
};
|
|
245
|
+
// get supported spoke chain tokens for solver
|
|
246
|
+
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());
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recursive partial type. Every property (including nested ones) becomes optional.
|
|
3
|
+
* Arrays and primitives are kept as-is — they are replaced wholesale by `deepMerge`,
|
|
4
|
+
* not merged element-by-element.
|
|
5
|
+
*/
|
|
6
|
+
export type DeepPartial<T> = T extends readonly (infer U)[] ? readonly U[] : T extends (infer U)[] ? U[] : T extends object ? {
|
|
7
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
8
|
+
} : T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { type SpokeChainKey, type LegacybnUSDChainId, type LegacybnUSDToken, type EvmChainKey, type IntentRelayChainId, type GetChainType } from '../chains/chains.js';
|
|
2
|
+
import { type ChainKey } from '../chains/chain-keys.js';
|
|
3
|
+
import type { XToken } from '../chains/tokens.js';
|
|
4
|
+
import { type ConcentratedLiquidityConfig } from '../dex/dex.js';
|
|
5
|
+
import { type SolverConfig } from '../common/constants.js';
|
|
6
|
+
import type { IWalletProvider } from '../wallet/providers.js';
|
|
7
|
+
export declare function isHubChainKey(chainId: SpokeChainKey): boolean;
|
|
8
|
+
export declare function isSpokeChainKey(chainId: SpokeChainKey): boolean;
|
|
9
|
+
export declare function isEvmChainKey(chainId: SpokeChainKey): boolean;
|
|
10
|
+
export declare function isEvmSpokeOnlyChainKey(chainId: SpokeChainKey): boolean;
|
|
11
|
+
export declare function isBitcoinChainKey(chainId: SpokeChainKey): boolean;
|
|
12
|
+
export declare function isSonicChainKey(chainId: SpokeChainKey): boolean;
|
|
13
|
+
export declare function isSolanaChainKey(chainId: SpokeChainKey): boolean;
|
|
14
|
+
export declare function isNearChainKey(chainId: SpokeChainKey): boolean;
|
|
15
|
+
export declare function isStellarChainKey(chainId: SpokeChainKey): boolean;
|
|
16
|
+
export declare function isIconChainKey(chainId: SpokeChainKey): boolean;
|
|
17
|
+
export declare function isSuiChainKey(chainId: SpokeChainKey): boolean;
|
|
18
|
+
export declare function isInjectiveChainKey(chainId: SpokeChainKey): boolean;
|
|
19
|
+
export declare function isStacksChainKey(chainId: SpokeChainKey): boolean;
|
|
20
|
+
export declare function getChainType<K extends SpokeChainKey>(chainId: K): GetChainType<K>;
|
|
21
|
+
/** Numeric viem/wagmi chain id → EvmChainKey. Built once from `baseChainInfo`. */
|
|
22
|
+
export declare const EVM_CHAIN_ID_TO_KEY: ReadonlyMap<number, EvmChainKey>;
|
|
23
|
+
/**
|
|
24
|
+
* Look up the `EvmChainKey` for a numeric viem/wagmi chain id.
|
|
25
|
+
* Inverse of `baseChainInfo[chainKey].chainId` for EVM chains.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getEvmChainKeyByChainId(chainId: number | undefined): EvmChainKey | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Returns true if the provided chainId is a legacy bnUSD chain ID.
|
|
30
|
+
*/
|
|
31
|
+
export declare function isLegacybnUSDChainId(chainId: SpokeChainKey): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Returns true if the provided chainId is a new bnUSD chain ID.
|
|
34
|
+
*/
|
|
35
|
+
export declare function isNewbnUSDChainId(chainId: SpokeChainKey): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Returns true if the provided token (by object or address string) is a legacy bnUSD token.
|
|
38
|
+
*/
|
|
39
|
+
export declare function isLegacybnUSDToken(token: XToken | string): boolean;
|
|
40
|
+
export declare function getbnUSDToken(chainId: SpokeChainKey): XToken | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Returns true if the provided token (by object or address string) is a new bnUSD token.
|
|
43
|
+
*/
|
|
44
|
+
export declare function isNewbnUSDToken(token: XToken | string): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Returns all legacy bnUSD tokens, together with their chainId.
|
|
47
|
+
*/
|
|
48
|
+
export declare function getAllLegacybnUSDTokens(): {
|
|
49
|
+
token: LegacybnUSDToken;
|
|
50
|
+
chainId: LegacybnUSDChainId;
|
|
51
|
+
}[];
|
|
52
|
+
/**
|
|
53
|
+
* Returns the concentrated liquidity configuration object.
|
|
54
|
+
*/
|
|
55
|
+
export declare function getConcentratedLiquidityConfig(): ConcentratedLiquidityConfig;
|
|
56
|
+
export declare function getSolverConfig(): SolverConfig;
|
|
57
|
+
export declare function isNativeToken(chainId: SpokeChainKey, token: XToken | string): boolean;
|
|
58
|
+
export declare function getIntentRelayChainId(chainKey: SpokeChainKey): IntentRelayChainId;
|
|
59
|
+
export declare function getChainKeyFromRelayChainId(chainId: IntentRelayChainId): ChainKey;
|
|
60
|
+
export declare function isValidWalletProviderForChainKey(chainKey: SpokeChainKey, walletProvider: IWalletProvider): boolean;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { newbnUSDSpokeChainIds, bnUSDLegacySpokeChainIds, bnUSDLegacyTokens, spokeChainConfig, HUB_CHAIN_KEY, EVM_CHAIN_KEYS, EVM_CHAIN_KEYS_SET, BITCOIN_CHAIN_KEYS_SET, SONIC_CHAIN_KEYS_SET, SOLANA_CHAIN_KEYS_SET, NEAR_CHAIN_KEYS_SET, STELLAR_CHAIN_KEYS_SET, ICON_CHAIN_KEYS_SET, SUI_CHAIN_KEYS_SET, INJECTIVE_CHAIN_KEYS_SET, STACKS_CHAIN_KEYS_SET, baseChainInfo, RelayChainIdMap, IntentRelayChainIdToChainKey, EVM_SPOKE_ONLY_CHAIN_KEYS_SET, } from '../chains/chains.js';
|
|
2
|
+
import { spokeChainKeysSet } from '../chains/chain-keys.js';
|
|
3
|
+
import { concentratedLiquidityConfig } from '../dex/dex.js';
|
|
4
|
+
import { solverConfig } from '../common/constants.js';
|
|
5
|
+
export function isHubChainKey(chainId) {
|
|
6
|
+
return chainId === HUB_CHAIN_KEY;
|
|
7
|
+
}
|
|
8
|
+
export function isSpokeChainKey(chainId) {
|
|
9
|
+
return spokeChainKeysSet.has(chainId);
|
|
10
|
+
}
|
|
11
|
+
// NOTE: this function includes sonic (hub chain)
|
|
12
|
+
export function isEvmChainKey(chainId) {
|
|
13
|
+
return EVM_CHAIN_KEYS_SET.has(chainId);
|
|
14
|
+
}
|
|
15
|
+
export function isEvmSpokeOnlyChainKey(chainId) {
|
|
16
|
+
return EVM_SPOKE_ONLY_CHAIN_KEYS_SET.has(chainId);
|
|
17
|
+
}
|
|
18
|
+
export function isBitcoinChainKey(chainId) {
|
|
19
|
+
return BITCOIN_CHAIN_KEYS_SET.has(chainId);
|
|
20
|
+
}
|
|
21
|
+
export function isSonicChainKey(chainId) {
|
|
22
|
+
return SONIC_CHAIN_KEYS_SET.has(chainId);
|
|
23
|
+
}
|
|
24
|
+
export function isSolanaChainKey(chainId) {
|
|
25
|
+
return SOLANA_CHAIN_KEYS_SET.has(chainId);
|
|
26
|
+
}
|
|
27
|
+
export function isNearChainKey(chainId) {
|
|
28
|
+
return NEAR_CHAIN_KEYS_SET.has(chainId);
|
|
29
|
+
}
|
|
30
|
+
export function isStellarChainKey(chainId) {
|
|
31
|
+
return STELLAR_CHAIN_KEYS_SET.has(chainId);
|
|
32
|
+
}
|
|
33
|
+
export function isIconChainKey(chainId) {
|
|
34
|
+
return ICON_CHAIN_KEYS_SET.has(chainId);
|
|
35
|
+
}
|
|
36
|
+
export function isSuiChainKey(chainId) {
|
|
37
|
+
return SUI_CHAIN_KEYS_SET.has(chainId);
|
|
38
|
+
}
|
|
39
|
+
export function isInjectiveChainKey(chainId) {
|
|
40
|
+
return INJECTIVE_CHAIN_KEYS_SET.has(chainId);
|
|
41
|
+
}
|
|
42
|
+
export function isStacksChainKey(chainId) {
|
|
43
|
+
return STACKS_CHAIN_KEYS_SET.has(chainId);
|
|
44
|
+
}
|
|
45
|
+
export function getChainType(chainId) {
|
|
46
|
+
const type = baseChainInfo[chainId].type;
|
|
47
|
+
if (!type) {
|
|
48
|
+
throw new Error(`[getChainType] Unsupported chain id: ${chainId}. Valid chain ids: ${Object.keys(baseChainInfo).join(', ')}`);
|
|
49
|
+
}
|
|
50
|
+
return type;
|
|
51
|
+
}
|
|
52
|
+
/** Numeric viem/wagmi chain id → EvmChainKey. Built once from `baseChainInfo`. */
|
|
53
|
+
export const EVM_CHAIN_ID_TO_KEY = new Map(EVM_CHAIN_KEYS.map(key => {
|
|
54
|
+
const id = baseChainInfo[key].chainId;
|
|
55
|
+
if (typeof id !== 'number') {
|
|
56
|
+
throw new Error(`[@sodax/types] EVM chain ${key} has non-numeric chainId`);
|
|
57
|
+
}
|
|
58
|
+
return [id, key];
|
|
59
|
+
}));
|
|
60
|
+
/**
|
|
61
|
+
* Look up the `EvmChainKey` for a numeric viem/wagmi chain id.
|
|
62
|
+
* Inverse of `baseChainInfo[chainKey].chainId` for EVM chains.
|
|
63
|
+
*/
|
|
64
|
+
export function getEvmChainKeyByChainId(chainId) {
|
|
65
|
+
return chainId === undefined ? undefined : EVM_CHAIN_ID_TO_KEY.get(chainId);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Returns true if the provided chainId is a legacy bnUSD chain ID.
|
|
69
|
+
*/
|
|
70
|
+
export function isLegacybnUSDChainId(chainId) {
|
|
71
|
+
return bnUSDLegacySpokeChainIds.includes(chainId);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Returns true if the provided chainId is a new bnUSD chain ID.
|
|
75
|
+
*/
|
|
76
|
+
export function isNewbnUSDChainId(chainId) {
|
|
77
|
+
return newbnUSDSpokeChainIds.includes(chainId);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Returns true if the provided token (by object or address string) is a legacy bnUSD token.
|
|
81
|
+
*/
|
|
82
|
+
export function isLegacybnUSDToken(token) {
|
|
83
|
+
if (typeof token === 'string') {
|
|
84
|
+
return bnUSDLegacyTokens.some(t => t.address.toLowerCase() === token.toLowerCase());
|
|
85
|
+
}
|
|
86
|
+
return bnUSDLegacyTokens.some(t => t.address.toLowerCase() === token.address.toLowerCase());
|
|
87
|
+
}
|
|
88
|
+
export function getbnUSDToken(chainId) {
|
|
89
|
+
if ("bnUSD" in spokeChainConfig[chainId].supportedTokens) {
|
|
90
|
+
return spokeChainConfig[chainId].supportedTokens.bnUSD;
|
|
91
|
+
}
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Returns true if the provided token (by object or address string) is a new bnUSD token.
|
|
96
|
+
*/
|
|
97
|
+
export function isNewbnUSDToken(token) {
|
|
98
|
+
if (typeof token === 'string') {
|
|
99
|
+
return newbnUSDSpokeChainIds
|
|
100
|
+
.map(chainId => getbnUSDToken(chainId))
|
|
101
|
+
.some(t => t?.address.toLowerCase() === token.toLowerCase());
|
|
102
|
+
}
|
|
103
|
+
return newbnUSDSpokeChainIds
|
|
104
|
+
.map(chainId => getbnUSDToken(chainId))
|
|
105
|
+
.some(t => t?.address.toLowerCase() === token.address.toLowerCase());
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Returns all legacy bnUSD tokens, together with their chainId.
|
|
109
|
+
*/
|
|
110
|
+
export function getAllLegacybnUSDTokens() {
|
|
111
|
+
return bnUSDLegacySpokeChainIds.map(chainId => ({
|
|
112
|
+
token: spokeChainConfig[chainId].supportedTokens.legacybnUSD,
|
|
113
|
+
chainId,
|
|
114
|
+
}));
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Returns the concentrated liquidity configuration object.
|
|
118
|
+
*/
|
|
119
|
+
export function getConcentratedLiquidityConfig() {
|
|
120
|
+
return concentratedLiquidityConfig;
|
|
121
|
+
}
|
|
122
|
+
export function getSolverConfig() {
|
|
123
|
+
return solverConfig;
|
|
124
|
+
}
|
|
125
|
+
export function isNativeToken(chainId, token) {
|
|
126
|
+
if (typeof token === 'string') {
|
|
127
|
+
return token.toLowerCase() === spokeChainConfig[chainId].nativeToken.toLowerCase();
|
|
128
|
+
}
|
|
129
|
+
return token.address.toLowerCase() === spokeChainConfig[chainId].nativeToken.toLowerCase();
|
|
130
|
+
}
|
|
131
|
+
export function getIntentRelayChainId(chainKey) {
|
|
132
|
+
return RelayChainIdMap[chainKey];
|
|
133
|
+
}
|
|
134
|
+
export function getChainKeyFromRelayChainId(chainId) {
|
|
135
|
+
const chainKey = IntentRelayChainIdToChainKey.get(chainId);
|
|
136
|
+
if (!chainKey) {
|
|
137
|
+
throw new Error(`Invalid intent relay chain id: ${chainId}`);
|
|
138
|
+
}
|
|
139
|
+
return chainKey;
|
|
140
|
+
}
|
|
141
|
+
export function isValidWalletProviderForChainKey(chainKey, walletProvider) {
|
|
142
|
+
return getChainType(chainKey) === walletProvider.chainType;
|
|
143
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SpokeChainKey, ChainType, GetChainType } from '../chains/chains.js';
|
|
2
|
+
import type { IBitcoinWalletProvider } from '../bitcoin/bitcoin.js';
|
|
3
|
+
import type { IEvmWalletProvider } from '../evm/evm.js';
|
|
4
|
+
import type { IIconWalletProvider } from '../icon/icon.js';
|
|
5
|
+
import type { IInjectiveWalletProvider } from '../injective/injective.js';
|
|
6
|
+
import type { INearWalletProvider } from '../near/near.js';
|
|
7
|
+
import type { ISolanaWalletProvider } from '../solana/solana.js';
|
|
8
|
+
import type { IStacksWalletProvider } from '../stacks/stacks.js';
|
|
9
|
+
import type { IStellarWalletProvider } from '../stellar/stellar.js';
|
|
10
|
+
import type { ISuiWalletProvider } from '../sui/sui.js';
|
|
11
|
+
/**
|
|
12
|
+
* Union of all chain-specific wallet providers. Narrow by the discriminant field
|
|
13
|
+
* {@link IEvmWalletProvider.chainType} (and the same property on other variants), e.g.
|
|
14
|
+
* `if (w.chainType === 'EVM')` refines `w` to {@link IEvmWalletProvider}.
|
|
15
|
+
*/
|
|
16
|
+
export type IWalletProvider = IEvmWalletProvider | IInjectiveWalletProvider | IStellarWalletProvider | ISuiWalletProvider | IIconWalletProvider | IBitcoinWalletProvider | ISolanaWalletProvider | IStacksWalletProvider | INearWalletProvider;
|
|
17
|
+
/**
|
|
18
|
+
* Wallet provider type for a chain key or abstract {@link ChainType}. Maps `C` to the matching
|
|
19
|
+
* chain-specific provider. When `C` is the full {@link SpokeChainKey} union, `GetChainType<C>`
|
|
20
|
+
* distributes to the full {@link ChainType} union and the result reduces to the union of all
|
|
21
|
+
* chain-specific providers — i.e. {@link IWalletProvider}.
|
|
22
|
+
*/
|
|
23
|
+
export type GetWalletProviderType<C extends SpokeChainKey | ChainType> = GetChainType<C> extends 'EVM' ? IEvmWalletProvider : GetChainType<C> extends 'SOLANA' ? ISolanaWalletProvider : GetChainType<C> extends 'STELLAR' ? IStellarWalletProvider : GetChainType<C> extends 'ICON' ? IIconWalletProvider : GetChainType<C> extends 'SUI' ? ISuiWalletProvider : GetChainType<C> extends 'INJECTIVE' ? IInjectiveWalletProvider : GetChainType<C> extends 'STACKS' ? IStacksWalletProvider : GetChainType<C> extends 'NEAR' ? INearWalletProvider : GetChainType<C> extends 'BITCOIN' ? IBitcoinWalletProvider : IWalletProvider;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ChainType } from "../chains/chain-keys.js";
|
|
2
|
+
import type { XToken } from "../chains/tokens.js";
|
|
3
|
+
export interface WalletAddressProvider {
|
|
4
|
+
getWalletAddress(): Promise<string>;
|
|
5
|
+
getPublicKey?: () => Promise<string>;
|
|
6
|
+
}
|
|
7
|
+
export interface ICoreWallet extends WalletAddressProvider {
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Base chain-aware service contract — the minimum shape for reading token
|
|
11
|
+
* balances on a chain. Extended by `wallet-sdk-react.IXService` with
|
|
12
|
+
* connector methods.
|
|
13
|
+
*/
|
|
14
|
+
export interface IXServiceBase {
|
|
15
|
+
readonly xChainType: ChainType;
|
|
16
|
+
getBalance(address: string | undefined, xToken: XToken): Promise<bigint>;
|
|
17
|
+
getBalances(address: string | undefined, xTokens: readonly XToken[]): Promise<Record<string, bigint>>;
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -4,19 +4,23 @@
|
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
-
"version": "
|
|
8
|
-
"description": "Sodax Types",
|
|
7
|
+
"version": "2.0.0-rc.10",
|
|
8
|
+
"description": "Sodax Common Types",
|
|
9
9
|
"main": "dist/index.js",
|
|
10
|
-
"homepage": "https://github.com/icon-project/sodax-
|
|
10
|
+
"homepage": "https://github.com/icon-project/sodax-sdks/tree/main/packages/types",
|
|
11
11
|
"bugs": {
|
|
12
|
-
"url": "https://github.com/icon-project/sodax-
|
|
12
|
+
"url": "https://github.com/icon-project/sodax-sdks/issues"
|
|
13
13
|
},
|
|
14
14
|
"repository": {
|
|
15
15
|
"type": "git",
|
|
16
|
-
"url": "https://github.com/icon-project/sodax-
|
|
16
|
+
"url": "https://github.com/icon-project/sodax-sdks"
|
|
17
|
+
},
|
|
18
|
+
"engines": {
|
|
19
|
+
"node": ">=20.12.0"
|
|
17
20
|
},
|
|
18
21
|
"files": [
|
|
19
|
-
"dist"
|
|
22
|
+
"dist",
|
|
23
|
+
"!dist/**/*.map"
|
|
20
24
|
],
|
|
21
25
|
"type": "module",
|
|
22
26
|
"exports": {
|
|
@@ -25,25 +29,49 @@
|
|
|
25
29
|
"import": "./dist/index.js",
|
|
26
30
|
"default": "./dist/index.js"
|
|
27
31
|
},
|
|
32
|
+
"./dex": {
|
|
33
|
+
"types": "./dist/dex/index.d.ts",
|
|
34
|
+
"import": "./dist/dex/index.js",
|
|
35
|
+
"default": "./dist/dex/index.js"
|
|
36
|
+
},
|
|
28
37
|
"./package.json": "./package.json"
|
|
29
38
|
},
|
|
30
|
-
"
|
|
31
|
-
"
|
|
39
|
+
"typesVersions": {
|
|
40
|
+
"*": {
|
|
41
|
+
"dex": [
|
|
42
|
+
"./dist/dex/index.d.ts"
|
|
43
|
+
]
|
|
44
|
+
}
|
|
32
45
|
},
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@arethetypeswrong/cli": "0.17.4",
|
|
48
|
+
"@types/node": "22.18.1",
|
|
49
|
+
"@vitest/coverage-v8": "3.2.4",
|
|
50
|
+
"knip": "5.30.5",
|
|
51
|
+
"madge": "8.0.0",
|
|
52
|
+
"typescript": "5.5.4",
|
|
53
|
+
"vitest": "3.2.4"
|
|
38
54
|
},
|
|
55
|
+
"keywords": [
|
|
56
|
+
"sodax",
|
|
57
|
+
"types",
|
|
58
|
+
"typescript",
|
|
59
|
+
"multichain",
|
|
60
|
+
"wallet-providers"
|
|
61
|
+
],
|
|
62
|
+
"license": "MIT",
|
|
39
63
|
"scripts": {
|
|
40
64
|
"build": "tsc",
|
|
41
65
|
"dev": "tsc --watch",
|
|
42
66
|
"ci": "pnpm run pretty && pnpm run build && pnpm run test",
|
|
43
67
|
"checkTs": "tsc",
|
|
68
|
+
"test": "vitest run",
|
|
69
|
+
"coverage": "vitest run --coverage",
|
|
44
70
|
"pretty": "biome format . --write",
|
|
45
71
|
"lint": "biome lint . --write",
|
|
46
|
-
"check-exports": "attw
|
|
72
|
+
"check-exports": "attw --pack --ignore-rules=cjs-resolves-to-esm",
|
|
73
|
+
"check:circular-deps": "madge --circular $(find ./src -name '*.ts')",
|
|
74
|
+
"check:knip": "knip",
|
|
47
75
|
"clean": "rm -rf node_modules && rm -rf dist && rm -rf .turbo"
|
|
48
76
|
}
|
|
49
77
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":""}
|
package/dist/btc/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/btc/index.ts"],"names":[],"mappings":"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"}
|
package/dist/btc/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/btc/index.ts"],"names":[],"mappings":"AAUA,0DAA0D;AAC1D,MAAM,uBAAuB,GAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAErG,sEAAsE;AACtE,MAAM,UAAU,6BAA6B,CAAC,WAAwB;IACpE,OAAQ,uBAA6C,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC9E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5E,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC5E,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACtE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAClG,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;AAC9D,CAAC"}
|