@sodax/types 2.0.0-rc.2 → 2.0.0-rc.20
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 +4 -2
- package/dist/backend/backendApiV1.d.ts +28 -0
- package/dist/backend/backendApiV1.js +1 -0
- package/dist/backend/backendApiV2.d.ts +678 -0
- package/dist/backend/backendApiV2.js +38 -0
- package/dist/backend/index.d.ts +2 -2
- package/dist/backend/index.js +2 -2
- package/dist/bitcoin/bitcoin.d.ts +18 -1
- package/dist/bitcoin/bitcoin.js +13 -1
- package/dist/bitcoin/index.d.ts +0 -1
- package/dist/bitcoin/index.js +0 -1
- package/dist/chains/chain-keys.d.ts +3 -3
- package/dist/chains/chain-keys.js +1 -1
- package/dist/chains/chains.d.ts +390 -13
- package/dist/chains/chains.js +76 -5
- package/dist/chains/index.d.ts +0 -1
- package/dist/chains/index.js +0 -1
- package/dist/chains/tokens.d.ts +530 -7
- package/dist/chains/tokens.js +241 -3
- package/dist/common/common.d.ts +15 -8
- package/dist/common/common.js +0 -1
- package/dist/common/constants.d.ts +19 -2
- package/dist/common/constants.js +0 -1
- package/dist/common/index.d.ts +0 -1
- package/dist/common/index.js +0 -1
- package/dist/dex/dex.d.ts +4 -2
- package/dist/dex/dex.js +0 -1
- package/dist/dex/index.d.ts +0 -1
- package/dist/dex/index.js +0 -1
- package/dist/dex/pancakeswap-infinity.d.ts +0 -1
- package/dist/dex/pancakeswap-infinity.js +0 -1
- package/dist/evm/evm.d.ts +0 -1
- package/dist/evm/evm.js +0 -1
- package/dist/evm/index.d.ts +0 -1
- package/dist/evm/index.js +0 -1
- 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/icon/icon.d.ts +0 -1
- package/dist/icon/icon.js +0 -1
- package/dist/icon/index.d.ts +0 -1
- package/dist/icon/index.js +0 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -2
- package/dist/injective/index.d.ts +0 -1
- package/dist/injective/index.js +0 -1
- package/dist/injective/injective.d.ts +4 -1
- package/dist/injective/injective.js +0 -1
- package/dist/leverageYield/index.d.ts +1 -0
- package/dist/leverageYield/index.js +1 -0
- package/dist/leverageYield/leverageYield.d.ts +152 -0
- package/dist/leverageYield/leverageYield.js +51 -0
- package/dist/moneyMarket/index.d.ts +0 -1
- package/dist/moneyMarket/index.js +0 -1
- package/dist/moneyMarket/moneyMarket.d.ts +270 -5
- package/dist/moneyMarket/moneyMarket.js +15 -1
- package/dist/near/index.d.ts +0 -1
- package/dist/near/index.js +0 -1
- package/dist/near/near-api-js.d.ts +0 -1
- package/dist/near/near-api-js.js +0 -1
- package/dist/near/near.d.ts +5 -2
- package/dist/near/near.js +0 -1
- package/dist/shared/analytics.d.ts +119 -0
- package/dist/shared/analytics.js +1 -0
- package/dist/shared/features.d.ts +9 -0
- package/dist/shared/features.js +1 -0
- package/dist/shared/index.d.ts +3 -1
- package/dist/shared/index.js +3 -1
- package/dist/shared/logger.d.ts +27 -0
- package/dist/shared/logger.js +1 -0
- package/dist/shared/shared.d.ts +21 -1
- package/dist/shared/shared.js +0 -1
- package/dist/sodax-config/index.d.ts +0 -1
- package/dist/sodax-config/index.js +0 -1
- package/dist/sodax-config/sodax-config.d.ts +729 -77
- package/dist/sodax-config/sodax-config.js +3 -5
- package/dist/solana/index.d.ts +0 -1
- package/dist/solana/index.js +0 -1
- package/dist/solana/solana-web3.d.ts +0 -1
- package/dist/solana/solana-web3.js +0 -1
- package/dist/solana/solana.d.ts +2 -1
- package/dist/solana/solana.js +0 -1
- package/dist/stacks/index.d.ts +0 -1
- package/dist/stacks/index.js +0 -1
- package/dist/stacks/stacks.d.ts +2 -1
- package/dist/stacks/stacks.js +0 -1
- package/dist/stellar/index.d.ts +0 -1
- package/dist/stellar/index.js +0 -1
- package/dist/stellar/stellar.d.ts +4 -1
- package/dist/stellar/stellar.js +0 -1
- package/dist/sui/index.d.ts +0 -1
- package/dist/sui/index.js +0 -1
- package/dist/sui/sui.d.ts +3 -3
- package/dist/sui/sui.js +0 -1
- package/dist/swap/index.d.ts +0 -1
- package/dist/swap/index.js +0 -1
- package/dist/swap/swap.d.ts +466 -107
- package/dist/swap/swap.js +75 -14
- package/dist/utils/deep-partial.d.ts +0 -1
- package/dist/utils/deep-partial.js +0 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/utils.d.ts +0 -1
- package/dist/utils/utils.js +0 -1
- package/dist/wallet/index.d.ts +0 -1
- package/dist/wallet/index.js +0 -1
- package/dist/wallet/providers.d.ts +0 -1
- package/dist/wallet/providers.js +0 -1
- package/dist/wallet/wallet.d.ts +0 -1
- package/dist/wallet/wallet.js +0 -1
- package/package.json +28 -11
- package/dist/backend/backendApi.d.ts +0 -75
- package/dist/backend/backendApi.d.ts.map +0 -1
- package/dist/backend/backendApi.js +0 -2
- package/dist/backend/backendApi.js.map +0 -1
- package/dist/backend/index.d.ts.map +0 -1
- package/dist/backend/index.js.map +0 -1
- package/dist/bitcoin/bitcoin.d.ts.map +0 -1
- package/dist/bitcoin/bitcoin.js.map +0 -1
- package/dist/bitcoin/index.d.ts.map +0 -1
- package/dist/bitcoin/index.js.map +0 -1
- package/dist/chains/chain-keys.d.ts.map +0 -1
- package/dist/chains/chain-keys.js.map +0 -1
- package/dist/chains/chains.d.ts.map +0 -1
- package/dist/chains/chains.js.map +0 -1
- package/dist/chains/index.d.ts.map +0 -1
- package/dist/chains/index.js.map +0 -1
- package/dist/chains/tokens.d.ts.map +0 -1
- package/dist/chains/tokens.js.map +0 -1
- package/dist/common/common.d.ts.map +0 -1
- package/dist/common/common.js.map +0 -1
- package/dist/common/constants.d.ts.map +0 -1
- package/dist/common/constants.js.map +0 -1
- package/dist/common/index.d.ts.map +0 -1
- package/dist/common/index.js.map +0 -1
- package/dist/dex/dex.d.ts.map +0 -1
- package/dist/dex/dex.js.map +0 -1
- package/dist/dex/index.d.ts.map +0 -1
- package/dist/dex/index.js.map +0 -1
- package/dist/dex/pancakeswap-infinity.d.ts.map +0 -1
- package/dist/dex/pancakeswap-infinity.js.map +0 -1
- package/dist/evm/evm.d.ts.map +0 -1
- package/dist/evm/evm.js.map +0 -1
- package/dist/evm/index.d.ts.map +0 -1
- package/dist/evm/index.js.map +0 -1
- package/dist/icon/icon.d.ts.map +0 -1
- package/dist/icon/icon.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/injective/injective.d.ts.map +0 -1
- package/dist/injective/injective.js.map +0 -1
- package/dist/moneyMarket/index.d.ts.map +0 -1
- package/dist/moneyMarket/index.js.map +0 -1
- package/dist/moneyMarket/moneyMarket.d.ts.map +0 -1
- package/dist/moneyMarket/moneyMarket.js.map +0 -1
- package/dist/near/index.d.ts.map +0 -1
- package/dist/near/index.js.map +0 -1
- package/dist/near/near-api-js.d.ts.map +0 -1
- package/dist/near/near-api-js.js.map +0 -1
- package/dist/near/near.d.ts.map +0 -1
- package/dist/near/near.js.map +0 -1
- package/dist/shared/index.d.ts.map +0 -1
- package/dist/shared/index.js.map +0 -1
- package/dist/shared/shared.d.ts.map +0 -1
- package/dist/shared/shared.js.map +0 -1
- package/dist/sodax-config/index.d.ts.map +0 -1
- package/dist/sodax-config/index.js.map +0 -1
- package/dist/sodax-config/sodax-config.d.ts.map +0 -1
- package/dist/sodax-config/sodax-config.js.map +0 -1
- package/dist/solana/index.d.ts.map +0 -1
- package/dist/solana/index.js.map +0 -1
- package/dist/solana/solana-web3.d.ts.map +0 -1
- package/dist/solana/solana-web3.js.map +0 -1
- package/dist/solana/solana.d.ts.map +0 -1
- package/dist/solana/solana.js.map +0 -1
- package/dist/stacks/index.d.ts.map +0 -1
- package/dist/stacks/index.js.map +0 -1
- package/dist/stacks/stacks.d.ts.map +0 -1
- package/dist/stacks/stacks.js.map +0 -1
- package/dist/stellar/index.d.ts.map +0 -1
- package/dist/stellar/index.js.map +0 -1
- package/dist/stellar/stellar.d.ts.map +0 -1
- package/dist/stellar/stellar.js.map +0 -1
- package/dist/sui/index.d.ts.map +0 -1
- package/dist/sui/index.js.map +0 -1
- package/dist/sui/sui.d.ts.map +0 -1
- package/dist/sui/sui.js.map +0 -1
- package/dist/swap/index.d.ts.map +0 -1
- package/dist/swap/index.js.map +0 -1
- package/dist/swap/swap.d.ts.map +0 -1
- package/dist/swap/swap.js.map +0 -1
- package/dist/utils/deep-partial.d.ts.map +0 -1
- package/dist/utils/deep-partial.js.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/utils.d.ts.map +0 -1
- package/dist/utils/utils.js.map +0 -1
- package/dist/wallet/index.d.ts.map +0 -1
- package/dist/wallet/index.js.map +0 -1
- package/dist/wallet/providers.d.ts.map +0 -1
- package/dist/wallet/providers.js.map +0 -1
- package/dist/wallet/wallet.d.ts.map +0 -1
- package/dist/wallet/wallet.js.map +0 -1
package/dist/chains/tokens.js
CHANGED
|
@@ -12,6 +12,7 @@ export const HubVaultSymbols = [
|
|
|
12
12
|
'sodaBNB',
|
|
13
13
|
'sodaETH',
|
|
14
14
|
'sodaBTC',
|
|
15
|
+
'sodaWBTC',
|
|
15
16
|
'sodaSUI',
|
|
16
17
|
'sodaINJ',
|
|
17
18
|
'sodaXLM',
|
|
@@ -32,6 +33,8 @@ export const HubVaultSymbols = [
|
|
|
32
33
|
'sodaKAIA',
|
|
33
34
|
'sodaSTX',
|
|
34
35
|
'sodaUSDS',
|
|
36
|
+
'sodaHBAR',
|
|
37
|
+
'sodaJITOSOL',
|
|
35
38
|
];
|
|
36
39
|
export const SodaTokens = {
|
|
37
40
|
sodaBNB: {
|
|
@@ -70,6 +73,15 @@ export const SodaTokens = {
|
|
|
70
73
|
hubAsset: '0x7A1A5555842Ad2D0eD274d09b5c4406a95799D5d',
|
|
71
74
|
vault: '0x7A1A5555842Ad2D0eD274d09b5c4406a95799D5d',
|
|
72
75
|
},
|
|
76
|
+
sodaWBTC: {
|
|
77
|
+
symbol: 'sodaWBTC',
|
|
78
|
+
name: 'Soda Wrapped BTC',
|
|
79
|
+
decimals: 18,
|
|
80
|
+
address: '0x811C3fCc13f9c2a23AE2Ae2DCadacFAC6eb5f0eB',
|
|
81
|
+
chainKey: ChainKeys.SONIC_MAINNET,
|
|
82
|
+
hubAsset: '0x811C3fCc13f9c2a23AE2Ae2DCadacFAC6eb5f0eB',
|
|
83
|
+
vault: '0x811C3fCc13f9c2a23AE2Ae2DCadacFAC6eb5f0eB',
|
|
84
|
+
},
|
|
73
85
|
sodaSOL: {
|
|
74
86
|
symbol: 'sodaSOL',
|
|
75
87
|
name: 'Soda SOL',
|
|
@@ -217,7 +229,7 @@ export const SodaTokens = {
|
|
|
217
229
|
sodaNEAR: {
|
|
218
230
|
symbol: 'sodaNEAR',
|
|
219
231
|
name: 'SODA NEAR',
|
|
220
|
-
decimals:
|
|
232
|
+
decimals: 18,
|
|
221
233
|
address: '0xf4ba497c9b805e4bd88a8a9e6a7b8f74984c3e39',
|
|
222
234
|
chainKey: ChainKeys.SONIC_MAINNET,
|
|
223
235
|
hubAsset: '0xf4ba497c9b805e4bd88a8a9e6a7b8f74984c3e39',
|
|
@@ -249,8 +261,65 @@ export const SodaTokens = {
|
|
|
249
261
|
chainKey: ChainKeys.SONIC_MAINNET,
|
|
250
262
|
hubAsset: '0x243b0c26c8b38793908d7C64e8510f21B19B4613',
|
|
251
263
|
vault: '0x243b0c26c8b38793908d7C64e8510f21B19B4613',
|
|
264
|
+
},
|
|
265
|
+
sodaHBAR: {
|
|
266
|
+
symbol: 'sodaHBAR',
|
|
267
|
+
name: 'Soda HBAR',
|
|
268
|
+
decimals: 18,
|
|
269
|
+
address: '0x3BB956cc8922E1Ba4148dc10eD1b4Fa19aa599c4',
|
|
270
|
+
chainKey: ChainKeys.SONIC_MAINNET,
|
|
271
|
+
hubAsset: '0x3BB956cc8922E1Ba4148dc10eD1b4Fa19aa599c4',
|
|
272
|
+
vault: '0x3BB956cc8922E1Ba4148dc10eD1b4Fa19aa599c4',
|
|
273
|
+
},
|
|
274
|
+
sodaJITOSOL: {
|
|
275
|
+
symbol: 'sodaJITOSOL',
|
|
276
|
+
name: 'Soda JITOSOL',
|
|
277
|
+
decimals: 18,
|
|
278
|
+
address: '0xe1bad4400d947Bc4fa66f9c0A143D800002083a0',
|
|
279
|
+
chainKey: ChainKeys.SONIC_MAINNET,
|
|
280
|
+
hubAsset: '0xe1bad4400d947Bc4fa66f9c0A143D800002083a0',
|
|
281
|
+
vault: '0xe1bad4400d947Bc4fa66f9c0A143D800002083a0',
|
|
252
282
|
}
|
|
253
283
|
};
|
|
284
|
+
/**
|
|
285
|
+
* Leverage-yield vault share tokens on Sonic. Each entry is the ERC-4626 share token
|
|
286
|
+
* issued by a deployed `LeverageYieldVault` (see `leverageYield.leverageYieldVaults` for
|
|
287
|
+
* the matching vault metadata). Spread into `sonicSupportedTokens` and the swap registry
|
|
288
|
+
* so they're discoverable in token selectors and swappable via the solver.
|
|
289
|
+
*
|
|
290
|
+
* `address`, `hubAsset`, and `vault` are all the leverage-vault proxy address — these
|
|
291
|
+
* tokens live on the hub and aren't further wrapped.
|
|
292
|
+
*/
|
|
293
|
+
export const LsodaSymbols = ['lsodaWEETH', 'lsodaWSTETH', 'lsodaJITOSOL'];
|
|
294
|
+
export const LsodaTokens = {
|
|
295
|
+
lsodaWEETH: {
|
|
296
|
+
symbol: 'lsodaWEETH',
|
|
297
|
+
name: 'Leveraged Soda weETH',
|
|
298
|
+
decimals: 18,
|
|
299
|
+
address: '0xD09de2f5070699A909c0FD32fb5A909d3886701D',
|
|
300
|
+
chainKey: ChainKeys.SONIC_MAINNET,
|
|
301
|
+
hubAsset: '0xD09de2f5070699A909c0FD32fb5A909d3886701D',
|
|
302
|
+
vault: '0xD09de2f5070699A909c0FD32fb5A909d3886701D',
|
|
303
|
+
},
|
|
304
|
+
lsodaWSTETH: {
|
|
305
|
+
symbol: 'lsodaWSTETH',
|
|
306
|
+
name: 'Leveraged Soda wstETH',
|
|
307
|
+
decimals: 18,
|
|
308
|
+
address: '0x136E5D1CEC5db1829E24941Eddd9C8640E02Ce7a',
|
|
309
|
+
chainKey: ChainKeys.SONIC_MAINNET,
|
|
310
|
+
hubAsset: '0x136E5D1CEC5db1829E24941Eddd9C8640E02Ce7a',
|
|
311
|
+
vault: '0x136E5D1CEC5db1829E24941Eddd9C8640E02Ce7a',
|
|
312
|
+
},
|
|
313
|
+
lsodaJITOSOL: {
|
|
314
|
+
symbol: 'lsodaJITOSOL',
|
|
315
|
+
name: 'Leveraged Soda JITOSOL',
|
|
316
|
+
decimals: 18,
|
|
317
|
+
address: '0xD7Ae4853E0f93682F5DaA14734F5D18cBa09Bd78',
|
|
318
|
+
chainKey: ChainKeys.SONIC_MAINNET,
|
|
319
|
+
hubAsset: '0xD7Ae4853E0f93682F5DaA14734F5D18cBa09Bd78',
|
|
320
|
+
vault: '0xD7Ae4853E0f93682F5DaA14734F5D18cBa09Bd78',
|
|
321
|
+
},
|
|
322
|
+
};
|
|
254
323
|
// --- Per-chain supported tokens ---
|
|
255
324
|
export const sonicSupportedTokens = {
|
|
256
325
|
S: {
|
|
@@ -317,6 +386,7 @@ export const sonicSupportedTokens = {
|
|
|
317
386
|
vault: SodaTokens.sodaSODA.address,
|
|
318
387
|
},
|
|
319
388
|
...SodaTokens,
|
|
389
|
+
...LsodaTokens,
|
|
320
390
|
};
|
|
321
391
|
export const redbellySupportedTokens = {
|
|
322
392
|
RBNT: {
|
|
@@ -526,7 +596,7 @@ export const solanaSupportedTokens = {
|
|
|
526
596
|
address: 'J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn',
|
|
527
597
|
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
528
598
|
hubAsset: '0x942f89a324d2652e447b9fcf08effc9f9776a680',
|
|
529
|
-
vault:
|
|
599
|
+
vault: SodaTokens.sodaJITOSOL.address,
|
|
530
600
|
},
|
|
531
601
|
mSOL: {
|
|
532
602
|
symbol: 'mSOL',
|
|
@@ -573,6 +643,78 @@ export const solanaSupportedTokens = {
|
|
|
573
643
|
hubAsset: '0x0076b67235bfc69b649d29dd7cb66e5b92b618aa',
|
|
574
644
|
vault: '0x0076b67235bfc69b649d29dd7cb66e5b92b618aa',
|
|
575
645
|
},
|
|
646
|
+
CRCLx: {
|
|
647
|
+
symbol: 'CRCLx',
|
|
648
|
+
name: 'Circle xStock',
|
|
649
|
+
decimals: 8,
|
|
650
|
+
address: 'XsueG8BtpquVJX9LVLLEGuViXUungE6WmK5YZ3p3bd1',
|
|
651
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
652
|
+
hubAsset: '0x64659130a3373b3527146b38fc1fccf017bc0c61',
|
|
653
|
+
vault: '0x64659130a3373b3527146b38fc1fccf017bc0c61',
|
|
654
|
+
},
|
|
655
|
+
TSLAx: {
|
|
656
|
+
symbol: 'TSLAx',
|
|
657
|
+
name: 'Tesla xStock',
|
|
658
|
+
decimals: 8,
|
|
659
|
+
address: 'XsDoVfqeBukxuZHWhdvWHBhgEHjGNst4MLodqsJHzoB',
|
|
660
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
661
|
+
hubAsset: '0x3cc867f6f4d1817b6230b781125301363fce370c',
|
|
662
|
+
vault: '0x3cc867f6f4d1817b6230b781125301363fce370c',
|
|
663
|
+
},
|
|
664
|
+
SPYx: {
|
|
665
|
+
symbol: 'SPYx',
|
|
666
|
+
name: 'SP500 xStock',
|
|
667
|
+
decimals: 8,
|
|
668
|
+
address: 'XsoCS1TfEyfFhfvj8EtZ528L3CaKBDBRqRapnBbDF2W',
|
|
669
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
670
|
+
hubAsset: '0xea66dbe82ebcb6c3a55b2db3d722b676be63a26e',
|
|
671
|
+
vault: '0xea66dbe82ebcb6c3a55b2db3d722b676be63a26e',
|
|
672
|
+
},
|
|
673
|
+
NVDAx: {
|
|
674
|
+
symbol: 'NVDAx',
|
|
675
|
+
name: 'NVIDIA xStock',
|
|
676
|
+
decimals: 8,
|
|
677
|
+
address: 'Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh',
|
|
678
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
679
|
+
hubAsset: '0x48303c90f4136bc3101b308c8b50c55745aaf317',
|
|
680
|
+
vault: '0x48303c90f4136bc3101b308c8b50c55745aaf317',
|
|
681
|
+
},
|
|
682
|
+
QQQx: {
|
|
683
|
+
symbol: 'QQQx',
|
|
684
|
+
name: 'Nasdaq xStock',
|
|
685
|
+
decimals: 8,
|
|
686
|
+
address: 'Xs8S1uUs1zvS2p7iwtsG3b6fkhpvmwz4GYU3gWAmWHZ',
|
|
687
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
688
|
+
hubAsset: '0x4448b894740198ab76c83c8850d73f7dc8e4b9b3',
|
|
689
|
+
vault: '0x4448b894740198ab76c83c8850d73f7dc8e4b9b3',
|
|
690
|
+
},
|
|
691
|
+
MSTRx: {
|
|
692
|
+
symbol: 'MSTRx',
|
|
693
|
+
name: 'MicroStrategy xStock',
|
|
694
|
+
decimals: 8,
|
|
695
|
+
address: 'XsP7xzNPvEHS1m6qfanPUGjNmdnmsLKEoNAnHjdxxyZ',
|
|
696
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
697
|
+
hubAsset: '0xc46c34961802355c5223a115568fdf18a51ad6f6',
|
|
698
|
+
vault: '0xc46c34961802355c5223a115568fdf18a51ad6f6',
|
|
699
|
+
},
|
|
700
|
+
COINx: {
|
|
701
|
+
symbol: 'COINx',
|
|
702
|
+
name: 'Coinbase xStock',
|
|
703
|
+
decimals: 8,
|
|
704
|
+
address: 'Xs7ZdzSHLU9ftNJsii5fCeJhoRWSC32SQGzGQtePxNu',
|
|
705
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
706
|
+
hubAsset: '0xf444586e95166da0754052f03f344cf1152abe7d',
|
|
707
|
+
vault: '0xf444586e95166da0754052f03f344cf1152abe7d',
|
|
708
|
+
},
|
|
709
|
+
GOOGLx: {
|
|
710
|
+
symbol: 'GOOGLx',
|
|
711
|
+
name: 'Alphabet xStock',
|
|
712
|
+
decimals: 8,
|
|
713
|
+
address: 'XsCPL9dNWBMvFtTmwcCA5v3xWPSMEBCszbQdiLLq6aN',
|
|
714
|
+
chainKey: ChainKeys.SOLANA_MAINNET,
|
|
715
|
+
hubAsset: '0x024230dd63b27df90d988d6f37a69d4de627ce89',
|
|
716
|
+
vault: '0x024230dd63b27df90d988d6f37a69d4de627ce89',
|
|
717
|
+
},
|
|
576
718
|
};
|
|
577
719
|
export const avalancheSupportedTokens = {
|
|
578
720
|
AVAX: {
|
|
@@ -675,6 +817,7 @@ export const arbitrumSupportedTokens = {
|
|
|
675
817
|
chainKey: ChainKeys.ARBITRUM_MAINNET,
|
|
676
818
|
hubAsset: '0x96Fc8540736f1598b7E235e6dE8814062b3b5d3B',
|
|
677
819
|
vault: SodaTokens.sodaBTC.address,
|
|
820
|
+
access: 'withdrawOnly',
|
|
678
821
|
},
|
|
679
822
|
WBTC: {
|
|
680
823
|
symbol: 'WBTC',
|
|
@@ -683,7 +826,17 @@ export const arbitrumSupportedTokens = {
|
|
|
683
826
|
address: '0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f',
|
|
684
827
|
chainKey: ChainKeys.ARBITRUM_MAINNET,
|
|
685
828
|
hubAsset: '0xfB0ACB1b2720B620935F50a6dd3F7FEA52b2FCBe',
|
|
829
|
+
vault: SodaTokens.sodaWBTC.address,
|
|
830
|
+
},
|
|
831
|
+
WBTC_LEGACY: {
|
|
832
|
+
symbol: 'WBTC.legacy',
|
|
833
|
+
name: 'Wrapped BTC (Legacy)',
|
|
834
|
+
decimals: 8,
|
|
835
|
+
address: '0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f',
|
|
836
|
+
chainKey: ChainKeys.ARBITRUM_MAINNET,
|
|
837
|
+
hubAsset: '0xfB0ACB1b2720B620935F50a6dd3F7FEA52b2FCBe',
|
|
686
838
|
vault: SodaTokens.sodaBTC.address,
|
|
839
|
+
access: 'withdrawOnly',
|
|
687
840
|
},
|
|
688
841
|
USDC: {
|
|
689
842
|
symbol: 'USDC',
|
|
@@ -839,6 +992,7 @@ export const baseSupportedTokens = {
|
|
|
839
992
|
chainKey: ChainKeys.BASE_MAINNET,
|
|
840
993
|
hubAsset: '0x2803a23a3BA6b09e57D1c71deC0D9eFdBB00A27F',
|
|
841
994
|
vault: SodaTokens.sodaBTC.address,
|
|
995
|
+
access: 'withdrawOnly',
|
|
842
996
|
},
|
|
843
997
|
SODA: {
|
|
844
998
|
symbol: 'SODA',
|
|
@@ -876,6 +1030,15 @@ export const baseSupportedTokens = {
|
|
|
876
1030
|
hubAsset: '0xaa81bb5ba3c972ab53605d3ba7e443a3de6d1cb9',
|
|
877
1031
|
vault: '0xaa81bb5ba3c972ab53605d3ba7e443a3de6d1cb9',
|
|
878
1032
|
},
|
|
1033
|
+
AERO: {
|
|
1034
|
+
symbol: 'AERO',
|
|
1035
|
+
name: 'Aerodrome Finance',
|
|
1036
|
+
decimals: 18,
|
|
1037
|
+
address: '0x940181a94A35A4569e4529A3CDfB74e38FD98631',
|
|
1038
|
+
chainKey: ChainKeys.BASE_MAINNET,
|
|
1039
|
+
hubAsset: '0x348e086ab6f424dfc575a325c28624ed23973173',
|
|
1040
|
+
vault: '0x348e086ab6f424dfc575a325c28624ed23973173',
|
|
1041
|
+
},
|
|
879
1042
|
};
|
|
880
1043
|
export const optimismSupportedTokens = {
|
|
881
1044
|
ETH: {
|
|
@@ -1558,6 +1721,33 @@ export const stellarSupportedTokens = {
|
|
|
1558
1721
|
hubAsset: '0xD749B5FfFED7cEDaa3239abDd16D677179C29AEc',
|
|
1559
1722
|
vault: SodaTokens.sodaSODA.address,
|
|
1560
1723
|
},
|
|
1724
|
+
sodaETH: {
|
|
1725
|
+
symbol: 'sodaETH',
|
|
1726
|
+
name: 'Soda ETH',
|
|
1727
|
+
decimals: 7,
|
|
1728
|
+
address: 'CDK5EWVTZLGSLI6D5OSES7XUKWZUKBXDRNOWUVDNPP5RJRP5EYWCW7SL',
|
|
1729
|
+
chainKey: ChainKeys.STELLAR_MAINNET,
|
|
1730
|
+
hubAsset: '0x4985a4b72ac723723e9ae82382d12d77e9a715de',
|
|
1731
|
+
vault: SodaTokens.sodaETH.address,
|
|
1732
|
+
},
|
|
1733
|
+
sodaBTC: {
|
|
1734
|
+
symbol: 'sodaBTC',
|
|
1735
|
+
name: 'Soda BTC',
|
|
1736
|
+
decimals: 7,
|
|
1737
|
+
address: 'CD6XWBW74YVFDQQYUM2GALCULMA5MAWGP6NTCWF3ZYXP4Z7MEVY4JKBX',
|
|
1738
|
+
chainKey: ChainKeys.STELLAR_MAINNET,
|
|
1739
|
+
hubAsset: '0xddee01f63c18843e2bac30cb702864d7632c83a2',
|
|
1740
|
+
vault: SodaTokens.sodaBTC.address,
|
|
1741
|
+
},
|
|
1742
|
+
sodaBNB: {
|
|
1743
|
+
symbol: 'sodaBNB',
|
|
1744
|
+
name: 'Soda BNB',
|
|
1745
|
+
decimals: 7,
|
|
1746
|
+
address: 'CCXTXZAFLVNTMORVWYB6BGL7YEW3U3ONDAL2FGBRGDUQH7AGANVQPRS6',
|
|
1747
|
+
chainKey: ChainKeys.STELLAR_MAINNET,
|
|
1748
|
+
hubAsset: '0xa10be5f5c2dea7d272555dc73ea2a7317c3c5b63',
|
|
1749
|
+
vault: SodaTokens.sodaBNB.address,
|
|
1750
|
+
},
|
|
1561
1751
|
};
|
|
1562
1752
|
export const suiSupportedTokens = {
|
|
1563
1753
|
SUI: {
|
|
@@ -1881,7 +2071,17 @@ export const ethereumSupportedTokens = {
|
|
|
1881
2071
|
address: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',
|
|
1882
2072
|
chainKey: ChainKeys.ETHEREUM_MAINNET,
|
|
1883
2073
|
hubAsset: '0x4ccbe4c2cf2aeed19314790622efd71dc0b67acb',
|
|
2074
|
+
vault: SodaTokens.sodaWBTC.address,
|
|
2075
|
+
},
|
|
2076
|
+
WBTC_LEGACY: {
|
|
2077
|
+
symbol: 'WBTC.legacy',
|
|
2078
|
+
name: 'Wrapped Bitcoin (Legacy)',
|
|
2079
|
+
decimals: 8,
|
|
2080
|
+
address: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',
|
|
2081
|
+
chainKey: ChainKeys.ETHEREUM_MAINNET,
|
|
2082
|
+
hubAsset: '0x4ccbe4c2cf2aeed19314790622efd71dc0b67acb',
|
|
1884
2083
|
vault: SodaTokens.sodaBTC.address,
|
|
2084
|
+
access: 'withdrawOnly',
|
|
1885
2085
|
},
|
|
1886
2086
|
sUSDat: {
|
|
1887
2087
|
symbol: 'sUSDat',
|
|
@@ -2066,6 +2266,44 @@ export const kaiaSupportedTokens = {
|
|
|
2066
2266
|
vault: SodaTokens.sodaSODA.address,
|
|
2067
2267
|
},
|
|
2068
2268
|
};
|
|
2269
|
+
export const hederaSupportedTokens = {
|
|
2270
|
+
HBAR: {
|
|
2271
|
+
symbol: 'HBAR',
|
|
2272
|
+
name: 'HBAR',
|
|
2273
|
+
decimals: 8,
|
|
2274
|
+
address: '0x0000000000000000000000000000000000000000',
|
|
2275
|
+
chainKey: ChainKeys.HEDERA_MAINNET,
|
|
2276
|
+
hubAsset: '0x5c18c543b6B6EA97dE739F48C49CfC291B3AD465',
|
|
2277
|
+
vault: SodaTokens.sodaHBAR.address,
|
|
2278
|
+
},
|
|
2279
|
+
bnUSD: {
|
|
2280
|
+
symbol: 'bnUSD',
|
|
2281
|
+
name: 'bnUSD',
|
|
2282
|
+
decimals: 8,
|
|
2283
|
+
address: '0x0000000000000000000000000000000000a0286a',
|
|
2284
|
+
chainKey: ChainKeys.HEDERA_MAINNET,
|
|
2285
|
+
hubAsset: '0x44be1984cd279334a630469fa357305c7dba2837',
|
|
2286
|
+
vault: SodaTokens.bnUSD.address,
|
|
2287
|
+
},
|
|
2288
|
+
SODA: {
|
|
2289
|
+
symbol: 'SODA',
|
|
2290
|
+
name: 'SODAX',
|
|
2291
|
+
decimals: 8,
|
|
2292
|
+
address: '0x0000000000000000000000000000000000a02869',
|
|
2293
|
+
chainKey: ChainKeys.HEDERA_MAINNET,
|
|
2294
|
+
hubAsset: '0x1217721376839dbffe78093ddd5d8e50d0239b3f',
|
|
2295
|
+
vault: SodaTokens.sodaSODA.address,
|
|
2296
|
+
},
|
|
2297
|
+
USDC: {
|
|
2298
|
+
symbol: 'USDC',
|
|
2299
|
+
name: 'USD Coin',
|
|
2300
|
+
decimals: 6,
|
|
2301
|
+
address: '0x000000000000000000000000000000000006f89a',
|
|
2302
|
+
chainKey: ChainKeys.HEDERA_MAINNET,
|
|
2303
|
+
hubAsset: '0xafafae0c1476424c4b81f09095bd7dcb858047c8',
|
|
2304
|
+
vault: SodaTokens.sodaUSDC.address,
|
|
2305
|
+
},
|
|
2306
|
+
};
|
|
2069
2307
|
export const stacksSupportedTokens = {
|
|
2070
2308
|
STX: {
|
|
2071
2309
|
symbol: 'STX',
|
|
@@ -2135,5 +2373,5 @@ export const supportedTokensByChain = {
|
|
|
2135
2373
|
[ChainKeys.ETHEREUM_MAINNET]: ethereumSupportedTokens,
|
|
2136
2374
|
[ChainKeys.KAIA_MAINNET]: kaiaSupportedTokens,
|
|
2137
2375
|
[ChainKeys.STACKS_MAINNET]: stacksSupportedTokens,
|
|
2376
|
+
[ChainKeys.HEDERA_MAINNET]: hederaSupportedTokens,
|
|
2138
2377
|
};
|
|
2139
|
-
//# sourceMappingURL=tokens.js.map
|
package/dist/common/common.d.ts
CHANGED
|
@@ -227,7 +227,10 @@ export type AssetInfo = {
|
|
|
227
227
|
chainId: bigint;
|
|
228
228
|
spokeAddress: `0x${string}`;
|
|
229
229
|
};
|
|
230
|
-
export type
|
|
230
|
+
export type MoneyMarketOptions = {
|
|
231
|
+
partnerFee?: PartnerFee;
|
|
232
|
+
};
|
|
233
|
+
export type MoneyMarketDefaultConfig = {
|
|
231
234
|
supportedTokens: Record<SpokeChainKey, readonly XToken[]>;
|
|
232
235
|
supportedReserveAssets: readonly Address[];
|
|
233
236
|
uiPoolDataProvider: Address;
|
|
@@ -236,8 +239,8 @@ export type MoneyMarketConfig = {
|
|
|
236
239
|
bnUSD: Address;
|
|
237
240
|
bnUSDVault: Address;
|
|
238
241
|
bnUSDAToken: Address;
|
|
239
|
-
partnerFee: PartnerFee | undefined;
|
|
240
242
|
};
|
|
243
|
+
export type MoneyMarketConfig = Prettify<MoneyMarketDefaultConfig & MoneyMarketOptions>;
|
|
241
244
|
export type TokenInfo = {
|
|
242
245
|
decimals: number;
|
|
243
246
|
depositFee: bigint;
|
|
@@ -259,13 +262,18 @@ export type WalletProviderSlot<K extends SpokeChainKey | ChainType, Raw extends
|
|
|
259
262
|
walletProvider: GetWalletProviderType<K>;
|
|
260
263
|
};
|
|
261
264
|
/**
|
|
262
|
-
* Standard exec-mode wrapper for hub/spoke flows: bounded `params`, optional
|
|
263
|
-
* plus {@link WalletProviderSlot} (`raw: true` for unsigned payloads,
|
|
264
|
-
*
|
|
265
|
-
*
|
|
265
|
+
* Standard exec-mode wrapper for hub/spoke flows: bounded `params`, optional per-action `extras`,
|
|
266
|
+
* optional relay toggles, plus {@link WalletProviderSlot} (`raw: true` for unsigned payloads,
|
|
267
|
+
* otherwise `walletProvider` required).
|
|
268
|
+
*
|
|
269
|
+
* Per-action data beyond `params` goes in the typed `extras` slot (`E`), parameterized like
|
|
270
|
+
* `params` so a feature can key it off `K`, e.g. `SpokeExecActionParams<K, Raw, P, MyExtras<K>>`.
|
|
271
|
+
* `E` defaults to `never`, so callers that don't opt in get `extras?: never` (effectively absent).
|
|
272
|
+
* Simple one-off modifiers may still be intersected at the alias site instead.
|
|
266
273
|
*/
|
|
267
|
-
export type SpokeExecActionParams<K extends SpokeChainKey, Raw extends boolean, P> = {
|
|
274
|
+
export type SpokeExecActionParams<K extends SpokeChainKey, Raw extends boolean, P, E = never> = {
|
|
268
275
|
params: P;
|
|
276
|
+
extras?: E;
|
|
269
277
|
skipSimulation?: boolean;
|
|
270
278
|
timeout?: number;
|
|
271
279
|
} & WalletProviderSlot<K, Raw>;
|
|
@@ -279,4 +287,3 @@ export type GetActionChainType<T extends {
|
|
|
279
287
|
srcChainKey: SpokeChainKey;
|
|
280
288
|
}> = GetChainType<T['srcChainKey']>;
|
|
281
289
|
export {};
|
|
282
|
-
//# sourceMappingURL=common.d.ts.map
|
package/dist/common/common.js
CHANGED
|
@@ -27,4 +27,3 @@ export var SolverIntentErrorCode;
|
|
|
27
27
|
SolverIntentErrorCode[SolverIntentErrorCode["CREATE_INTENT_ORDER_FAILED"] = -998] = "CREATE_INTENT_ORDER_FAILED";
|
|
28
28
|
SolverIntentErrorCode[SolverIntentErrorCode["UNKNOWN"] = -999] = "UNKNOWN";
|
|
29
29
|
})(SolverIntentErrorCode || (SolverIntentErrorCode = {}));
|
|
30
|
-
//# sourceMappingURL=common.js.map
|
|
@@ -15,11 +15,28 @@ export declare const DEFAULT_BACKEND_API_HEADERS: {
|
|
|
15
15
|
};
|
|
16
16
|
export declare const DEFAULT_RELAYER_API_ENDPOINT = "https://xcall-relay.nw.iconblockchain.xyz";
|
|
17
17
|
export declare const VAULT_TOKEN_DECIMALS = 18;
|
|
18
|
-
export type
|
|
18
|
+
export type BaseApiConfig = {
|
|
19
19
|
baseURL: HttpUrl;
|
|
20
20
|
timeout: number;
|
|
21
21
|
headers: Record<string, string>;
|
|
22
22
|
};
|
|
23
|
+
/** Per-endpoint config for the swaps API. Structurally identical to {@link BaseApiConfig}. */
|
|
24
|
+
export type SwapsApiConfig = BaseApiConfig;
|
|
25
|
+
/**
|
|
26
|
+
* Nested config that points the base (backend) API and the swaps API at independent endpoints.
|
|
27
|
+
* At least one slice must be provided — an empty custom config is meaningless (pass a flat
|
|
28
|
+
* {@link BaseApiConfig} instead). Requiring a slice keeps the two members disjoint from
|
|
29
|
+
* `BaseApiConfig` (which carries `baseURL`), so {@link ApiConfig} can be discriminated by the
|
|
30
|
+
* presence of a `baseApiConfig` / `swapsApiConfig` slice.
|
|
31
|
+
*/
|
|
32
|
+
export type CustomApiConfig = {
|
|
33
|
+
baseApiConfig: BaseApiConfig;
|
|
34
|
+
swapsApiConfig?: SwapsApiConfig;
|
|
35
|
+
} | {
|
|
36
|
+
baseApiConfig?: BaseApiConfig;
|
|
37
|
+
swapsApiConfig: SwapsApiConfig;
|
|
38
|
+
};
|
|
39
|
+
export type ApiConfig = BaseApiConfig | CustomApiConfig;
|
|
23
40
|
export declare const apiConfig: {
|
|
24
41
|
baseURL: "https://api.sodax.com/v1/be";
|
|
25
42
|
timeout: number;
|
|
@@ -65,6 +82,6 @@ export declare const relayConfig: {
|
|
|
65
82
|
readonly redbelly: 726564n;
|
|
66
83
|
readonly "0x2019.kaia": 27489n;
|
|
67
84
|
readonly stacks: 60n;
|
|
85
|
+
readonly hedera: 18501n;
|
|
68
86
|
};
|
|
69
87
|
};
|
|
70
|
-
//# sourceMappingURL=constants.d.ts.map
|
package/dist/common/constants.js
CHANGED
package/dist/common/index.d.ts
CHANGED
package/dist/common/index.js
CHANGED
package/dist/dex/dex.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Address } from '../shared/shared.js';
|
|
2
2
|
import { StatATokenAddresses } from '../chains/tokens.js';
|
|
3
3
|
import type { PoolKey } from './pancakeswap-infinity.js';
|
|
4
|
+
import type { Prettify } from '../common/common.js';
|
|
4
5
|
export type { EncodedPoolKey, PoolKey, Slot0, CLPositionConfig, } from './pancakeswap-infinity.js';
|
|
5
6
|
export type ConcentratedLiquidityConfig = {
|
|
6
7
|
permit2: Address;
|
|
@@ -134,7 +135,9 @@ export declare const dexPools: {
|
|
|
134
135
|
};
|
|
135
136
|
};
|
|
136
137
|
};
|
|
137
|
-
export type
|
|
138
|
+
export type DexOptions = {};
|
|
139
|
+
export type DexConfig = Prettify<DexDefaultConfig & DexOptions>;
|
|
140
|
+
export type DexDefaultConfig = {
|
|
138
141
|
concentratedLiquidityConfig: ConcentratedLiquidityConfig;
|
|
139
142
|
dexPools: Record<string, PoolKey>;
|
|
140
143
|
statATokenAddresses: Record<Address, Address> & typeof StatATokenAddresses;
|
|
@@ -265,4 +268,3 @@ export declare const dexConfig: {
|
|
|
265
268
|
readonly '0x3e102c7d9b46c92abcd4c2e1c70f362b47a201a6': "0x4effB5813271699683C25c734F4daBc45B363709";
|
|
266
269
|
};
|
|
267
270
|
};
|
|
268
|
-
//# sourceMappingURL=dex.d.ts.map
|
package/dist/dex/dex.js
CHANGED
package/dist/dex/index.d.ts
CHANGED
package/dist/dex/index.js
CHANGED
package/dist/evm/evm.d.ts
CHANGED
package/dist/evm/evm.js
CHANGED
package/dist/evm/index.d.ts
CHANGED
package/dist/evm/index.js
CHANGED
|
@@ -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/icon/icon.d.ts
CHANGED
package/dist/icon/icon.js
CHANGED
package/dist/icon/index.d.ts
CHANGED
package/dist/icon/index.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -6,9 +6,11 @@ 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';
|
|
13
|
+
export * from './leverageYield/index.js';
|
|
12
14
|
export * from './near/index.js';
|
|
13
15
|
export * from './solana/index.js';
|
|
14
16
|
export * from './stacks/index.js';
|
|
@@ -17,5 +19,4 @@ export * from './sui/index.js';
|
|
|
17
19
|
export * from './swap/index.js';
|
|
18
20
|
export * from './utils/index.js';
|
|
19
21
|
export * from './wallet/index.js';
|
|
20
|
-
export declare const CONFIG_VERSION =
|
|
21
|
-
//# sourceMappingURL=index.d.ts.map
|
|
22
|
+
export declare const CONFIG_VERSION = 218;
|