@gfxlabs/oku-chains 1.12.23 → 1.12.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/browser.js +458 -0
  2. package/dist/index-mjs.js +454 -1
  3. package/dist/index.js +458 -0
  4. package/dist/types/definitions/arbitrum.d.ts +14 -0
  5. package/dist/types/definitions/avalanche.d.ts +10 -0
  6. package/dist/types/definitions/base.d.ts +14 -0
  7. package/dist/types/definitions/bob.d.ts +4 -0
  8. package/dist/types/definitions/boba.d.ts +4 -0
  9. package/dist/types/definitions/bsc.d.ts +13 -0
  10. package/dist/types/definitions/etherlink.d.ts +5 -0
  11. package/dist/types/definitions/filecoin.d.ts +3 -0
  12. package/dist/types/definitions/gensyn.d.ts +4 -0
  13. package/dist/types/definitions/gnosis.d.ts +7 -0
  14. package/dist/types/definitions/goat.d.ts +4 -0
  15. package/dist/types/definitions/hemi.d.ts +4 -0
  16. package/dist/types/definitions/hyperevem.d.ts +8 -0
  17. package/dist/types/definitions/linea.d.ts +11 -0
  18. package/dist/types/definitions/mainnet.d.ts +13 -0
  19. package/dist/types/definitions/mantle.d.ts +8 -0
  20. package/dist/types/definitions/monad.d.ts +11 -0
  21. package/dist/types/definitions/nibiru.d.ts +3 -0
  22. package/dist/types/definitions/optimism.d.ts +12 -0
  23. package/dist/types/definitions/plasma.d.ts +10 -0
  24. package/dist/types/definitions/polygon.d.ts +13 -0
  25. package/dist/types/definitions/redbelly.d.ts +3 -0
  26. package/dist/types/definitions/robinhood.d.ts +8 -0
  27. package/dist/types/definitions/rootstock.d.ts +5 -0
  28. package/dist/types/definitions/saga.d.ts +3 -0
  29. package/dist/types/definitions/sei.d.ts +6 -0
  30. package/dist/types/definitions/unichain.d.ts +11 -0
  31. package/dist/types/definitions/worldchain.d.ts +6 -0
  32. package/dist/types/definitions/xdc.d.ts +4 -0
  33. package/dist/types/definitions/zerog.d.ts +4 -0
  34. package/dist/types/index.d.ts +274 -11
  35. package/dist/types/spec/index.d.ts +16 -0
  36. package/dist/types/util/routers.d.ts +14 -0
  37. package/package.json +1 -1
@@ -4,8 +4,11 @@ export * from "./spec/index";
4
4
  export * from "./util/caip2";
5
5
  export { makeConfig } from "./util/index";
6
6
  export { buildNetworkIndex, type NetworkIndex, NetworkNotFoundError, } from "./util/lookup";
7
+ export type { MarketRouterChainInput, MarketRouterEntry, MarketRouterName, } from "./util/routers";
8
+ import type { Address } from "viem";
7
9
  import type { IChainInfo } from "./spec";
8
10
  import { ChainType } from "./spec";
11
+ import { type MarketRouterChainInput, type MarketRouterEntry, type MarketRouterName } from "./util/routers";
9
12
  export declare const MAINNET_CHAINS: readonly [Readonly<{
10
13
  name: "Arbitrum";
11
14
  liteChain: true;
@@ -42,6 +45,20 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
42
45
  cowswap: string;
43
46
  icecreamswap: true;
44
47
  };
48
+ marketRouters: {
49
+ binance: "0xB44446b0c8E56988c34f7Ff73Ae904982b5FdDA5"[];
50
+ enso: "0xF75584eF6673aD213a685a1B58Cc0330B8eA22Cf"[];
51
+ fabric: "0x3A7f029E3ad003AB5Aa78ccf101b1B543eaed6F9"[];
52
+ icecreamswap: "0x57f96440f1b1cAD53B40A8924BD540b1279A491c"[];
53
+ kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"[];
54
+ native: "0x0FC85a171bD0b53BF0bBace74F04B66170Ae3eAb"[];
55
+ odos: "0xa669e7A0d4b3e4Fa48af2dE86BD4CD7126Be4e13"[];
56
+ okx: "0x7CF6b330b437E9fb432B1400DE17B03357Cf049A"[];
57
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
58
+ paraswap: "0x6A000F20005980200259B80c5102003040001068"[];
59
+ uniswap: ("0x5E325eDA8064b456f4781070C0738d849c824258" | "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" | "0x8B844f885672f333Bc0042cB669255f93a4C1E6b")[];
60
+ zeroex: ("0x0000000000001fF3684f28c67538d4D072C22734" | "0xfeEA2A79D7d3d36753C8917AF744D71f13C9b02a")[];
61
+ };
45
62
  bridges: {
46
63
  chainlink: {
47
64
  atlasNetworkName: string;
@@ -264,6 +281,20 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
264
281
  icecreamswap: true;
265
282
  cowswap: string;
266
283
  };
284
+ marketRouters: {
285
+ binance: "0xB44446b0c8E56988c34f7Ff73Ae904982b5FdDA5"[];
286
+ enso: "0xF75584eF6673aD213a685a1B58Cc0330B8eA22Cf"[];
287
+ fabric: "0x7C137a37742437d2212B7bd873ed135b5C4c61da"[];
288
+ icecreamswap: "0xC87De04e2EC1F4282dFF2933A2D58199f688fC3d"[];
289
+ kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"[];
290
+ native: "0xaEC634d949df14Be76dC317504C7b9a6a8A5f576"[];
291
+ odos: "0x19cEeAd7105607Cd444F5ad10dd51356436095a1"[];
292
+ okx: "0xC8F6b8Ba0DC0f175B568B99440B0867F69A29265"[];
293
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
294
+ paraswap: "0x6A000F20005980200259B80c5102003040001068"[];
295
+ uniswap: ("0x2626664c2603336E57B271c5C0b26F421741e481" | "0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD" | "0xFdf682F51FE81Aa4898F0AE2163d8A55c127fbC7")[];
296
+ zeroex: ("0x0000000000001fF3684f28c67538d4D072C22734" | "0x7747F8D2a76BD6345Cc29622a946A929647F2359")[];
297
+ };
267
298
  bridges: {
268
299
  chainlink: {
269
300
  atlasNetworkName: string;
@@ -730,6 +761,10 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
730
761
  markets: {
731
762
  icecreamswap: true;
732
763
  };
764
+ marketRouters: {
765
+ icecreamswap: "0xC87De04e2EC1F4282dFF2933A2D58199f688fC3d"[];
766
+ uniswap: ("0x4BA622997559F9b5Ac68751D7Fc3dEecc23a0e88" | "0x759E8B0cb9d65291e258aE3e043258ae1dD0df16")[];
767
+ };
733
768
  bridges: {};
734
769
  oracles: {
735
770
  coingecko: {
@@ -1320,6 +1355,19 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
1320
1355
  icecreamswap: true;
1321
1356
  cowswap: string;
1322
1357
  };
1358
+ marketRouters: {
1359
+ binance: "0xB44446b0c8E56988c34f7Ff73Ae904982b5FdDA5"[];
1360
+ enso: "0xF75584eF6673aD213a685a1B58Cc0330B8eA22Cf"[];
1361
+ icecreamswap: "0x1a3304cBef66de00FbE1548CC4C6585aD22FbCFf"[];
1362
+ kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"[];
1363
+ native: "0xF064b069Ed18Eb5c61159247C55C5af79B28a968"[];
1364
+ odos: "0x89b8AA89FDd0507a99d334CBe3C808fAFC7d850E"[];
1365
+ okx: "0x62cceF0b4545166f721cAa9fEe13c1d3767E27dc"[];
1366
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
1367
+ paraswap: "0x6A000F20005980200259B80c5102003040001068"[];
1368
+ uniswap: ("0x8B844f885672f333Bc0042cB669255f93a4C1E6b" | "0x4Dae2f939ACf50408e13d58534Ff8c2776d45265" | "0xB971eF87ede563556b2ED4b1C0b0019111Dd85d2")[];
1369
+ zeroex: ("0x0000000000001fF3684f28c67538d4D072C22734" | "0xc2eff1F1cE35d395408A34Ad881dBCD978F40b89")[];
1370
+ };
1323
1371
  bridges: {
1324
1372
  chainlink: {
1325
1373
  atlasNetworkName: string;
@@ -1514,6 +1562,9 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
1514
1562
  coingecko: string;
1515
1563
  };
1516
1564
  markets: {};
1565
+ marketRouters: {
1566
+ uniswap: ("0x83702C6356A1028A900F83d446D189a31646a16b" | "0xcAb04058e60020d65D18D4B3DFF2cA1445D7099f")[];
1567
+ };
1517
1568
  bridges: {};
1518
1569
  oracles: {
1519
1570
  coingecko: {
@@ -1678,6 +1729,19 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
1678
1729
  zeroex: true;
1679
1730
  cowswap: string;
1680
1731
  };
1732
+ marketRouters: {
1733
+ binance: "0xB44446b0c8E56988c34f7Ff73Ae904982b5FdDA5"[];
1734
+ enso: "0xF75584eF6673aD213a685a1B58Cc0330B8eA22Cf"[];
1735
+ icecreamswap: "0xa929c559E5e6537359680F39CB4E3708E1a14dd1"[];
1736
+ kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"[];
1737
+ native: "0x8a2ddc0461Fcf96F81a05529Bed540d4f1eb2a00"[];
1738
+ odos: "0x0D05a7D3448512B78fa8A9e46c4872C88C4a0D05"[];
1739
+ okx: "0x28b1Dc1a5E3699A428BC51d234DFab7C9CB2a183"[];
1740
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
1741
+ paraswap: "0x6A000F20005980200259B80c5102003040001068"[];
1742
+ uniswap: ("0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" | "0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af" | "0xCb640A86855f1A828c27241bA364348de28abe66")[];
1743
+ zeroex: ("0x0000000000001fF3684f28c67538d4D072C22734" | "0x7f54F05635d15Cde17A49502fEdB9D1803A3Be8A")[];
1744
+ };
1681
1745
  bridges: {
1682
1746
  chainlink: {
1683
1747
  atlasNetworkName: string;
@@ -2059,6 +2123,18 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
2059
2123
  zeroex: true;
2060
2124
  icecreamswap: true;
2061
2125
  };
2126
+ marketRouters: {
2127
+ binance: "0xB44446b0c8E56988c34f7Ff73Ae904982b5FdDA5"[];
2128
+ enso: "0xF75584eF6673aD213a685a1B58Cc0330B8eA22Cf"[];
2129
+ icecreamswap: "0xa575f37e869e6887564F87c07e2885e08D542C4a"[];
2130
+ kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"[];
2131
+ odos: "0xCa423977156BB05b13A2BA3b76Bc5419E2fE9680"[];
2132
+ okx: "0xDd5E9B947c99Aa60bab00ca4631Dce63b49983E7"[];
2133
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
2134
+ paraswap: "0x6A000F20005980200259B80c5102003040001068"[];
2135
+ uniswap: ("0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" | "0x8B844f885672f333Bc0042cB669255f93a4C1E6b" | "0xCb1355ff08Ab38bBCE60111F1bb2B784bE25D7e8")[];
2136
+ zeroex: ("0x0000000000001fF3684f28c67538d4D072C22734" | "0x8CF38ec1BB723e6B948442Dc604b35a54D3Dc893")[];
2137
+ };
2062
2138
  bridges: {
2063
2139
  chainlink: {
2064
2140
  atlasNetworkName: string;
@@ -2523,6 +2599,7 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
2523
2599
  }>, Readonly<{
2524
2600
  initCodeHash: "0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54";
2525
2601
  blockTimeSeconds: 2;
2602
+ liteChain: true;
2526
2603
  launchTime: 1688997600;
2527
2604
  transactionType: "eip1559";
2528
2605
  sortIndex: 5;
@@ -2555,6 +2632,18 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
2555
2632
  icecreamswap: true;
2556
2633
  cowswap: string;
2557
2634
  };
2635
+ marketRouters: {
2636
+ binance: "0xB44446b0c8E56988c34f7Ff73Ae904982b5FdDA5"[];
2637
+ enso: "0xF75584eF6673aD213a685a1B58Cc0330B8eA22Cf"[];
2638
+ icecreamswap: "0x99bA7d569EA69671B399A7cC488b687515F7EC23"[];
2639
+ kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"[];
2640
+ odos: "0x4E3288c9ca110bCC82bf38F09A7b425c095d92Bf"[];
2641
+ okx: "0xF6E1B4b201e220FC3741bd7a75675ffEA25c02AD"[];
2642
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
2643
+ paraswap: "0x6A000F20005980200259B80c5102003040001068"[];
2644
+ uniswap: ("0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" | "0x8B844f885672f333Bc0042cB669255f93a4C1E6b" | "0xec7BE89e9d109e7e3Fec59c222CF297125FEFda2")[];
2645
+ zeroex: ("0x0000000000001fF3684f28c67538d4D072C22734" | "0x7150ea07D00d8E5a46bcC809f1c9FDf5cb5f8E81")[];
2646
+ };
2558
2647
  bridges: {
2559
2648
  chainlink: {
2560
2649
  atlasNetworkName: string;
@@ -2747,6 +2836,11 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
2747
2836
  openocean: string;
2748
2837
  icecreamswap: true;
2749
2838
  };
2839
+ marketRouters: {
2840
+ icecreamswap: "0x63d3C7Ab37ca36A2A0A338076C163fF60c72527c"[];
2841
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
2842
+ uniswap: ("0x0B14ff67f0014046b4b99057Aec4509640b3947A" | "0x244f68e77357f86a8522323eBF80b5FC2F814d3E")[];
2843
+ };
2750
2844
  morpho: {};
2751
2845
  bridges: {
2752
2846
  chainlink: {
@@ -3955,6 +4049,17 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
3955
4049
  spender: string;
3956
4050
  };
3957
4051
  };
4052
+ marketRouters: {
4053
+ binance: "0xB44446b0c8E56988c34f7Ff73Ae904982b5FdDA5"[];
4054
+ enso: "0xA146d46823f3F594B785200102Be5385CAfCE9B5"[];
4055
+ icecreamswap: "0x2fF506ed9729580EF8Bf04429614beB1baE5F76D"[];
4056
+ kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"[];
4057
+ odos: "0x2d8879046f1559E53eb052E949e9544bCB72f414"[];
4058
+ okx: "0x2E1Dee213BA8d7af0934C49a23187BabEACa8764"[];
4059
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
4060
+ uniswap: ("0x8B844f885672f333Bc0042cB669255f93a4C1E6b" | "0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a" | "0xD7c7D7F18dD5388D5217c9696C7e799fCd75c6bD")[];
4061
+ zeroex: ("0x0000000000001fF3684f28c67538d4D072C22734" | "0x1816eA2150e74Eb3068A4e3809E461Cc6977A7D7")[];
4062
+ };
3958
4063
  bridges: {
3959
4064
  chainlink: {
3960
4065
  atlasNetworkName: string;
@@ -4298,6 +4403,14 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
4298
4403
  zeroex: true;
4299
4404
  icecreamswap: true;
4300
4405
  };
4406
+ marketRouters: {
4407
+ icecreamswap: "0x3FFc2315A992b01dc4B3f79C8EEa1921091Ee24f"[];
4408
+ odos: "0xD9F4e85489aDCD0bAF0Cd63b4231c6af58c26745"[];
4409
+ okx: "0xcF76984119C7f6ae56fAfE680d39C08278b7eCF4"[];
4410
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
4411
+ uniswap: ("0x447B8E40B0CdA8e55F405C86bC635D02d0540aB8" | "0x738fD6d10bCc05c230388B4027CAd37f82fe2AF2")[];
4412
+ zeroex: ("0x0000000000005E88410CcDFaDe4a5EfaE4b49562" | "0xe3fBE7889A51d62AcD4E056d756F6eA04a3d8D2d")[];
4413
+ };
4301
4414
  bridges: {
4302
4415
  chainlink: {
4303
4416
  atlasNetworkName: string;
@@ -4462,6 +4575,12 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
4462
4575
  spender: string;
4463
4576
  };
4464
4577
  };
4578
+ marketRouters: {
4579
+ enso: "0x300b3D30aaBf46b05983284f0297D966E92bbeB2"[];
4580
+ icecreamswap: "0xC87De04e2EC1F4282dFF2933A2D58199f688fC3d"[];
4581
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
4582
+ uniswap: ("0xdD489C75be1039ec7d843A6aC2Fd658350B067Cf" | "0xa683c66045ad16abb1bCE5ad46A64d95f9A25785")[];
4583
+ };
4465
4584
  morpho: {
4466
4585
  morpho: "0xc9cDAc20FCeAAF616f7EB0bb6Cd2c69dcfa9094c";
4467
4586
  bundler3: "0xF9457356F18A3349Bb317Ac144c3Bcc62e5761aD";
@@ -4891,17 +5010,7 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
4891
5010
  type: "eip2930";
4892
5011
  gasPrice: bigint;
4893
5012
  maxFeePerBlobGas?: undefined | undefined;
4894
- maxFeePerGas
4895
- /**
4896
- * True if the chain is non-EVM (its CAIP-2 namespace is not `eip155`). Accepts
4897
- * an {@link IChainInfo} object, a CAIP-2 string, an internal name, or a
4898
- * numeric chain id.
4899
- */
4900
- ? /**
4901
- * True if the chain is non-EVM (its CAIP-2 namespace is not `eip155`). Accepts
4902
- * an {@link IChainInfo} object, a CAIP-2 string, an internal name, or a
4903
- * numeric chain id.
4904
- */: undefined | undefined;
5013
+ maxFeePerGas?: undefined | undefined;
4905
5014
  maxPriorityFeePerGas?: undefined | undefined;
4906
5015
  isSystemTx?: undefined | undefined;
4907
5016
  mint?: undefined | undefined;
@@ -5062,6 +5171,10 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
5062
5171
  markets: {
5063
5172
  icecreamswap: true;
5064
5173
  };
5174
+ marketRouters: {
5175
+ icecreamswap: "0xC87De04e2EC1F4282dFF2933A2D58199f688fC3d"[];
5176
+ uniswap: ("0x346239972d1fa486FC4a521031BC81bFB7D6e8a4" | "0x807F4E281B7A3B324825C64ca53c69F0b418dE40")[];
5177
+ };
5065
5178
  bridges: {
5066
5179
  chainlink: {
5067
5180
  atlasNetworkName: string;
@@ -5497,6 +5610,13 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
5497
5610
  spender: string;
5498
5611
  };
5499
5612
  };
5613
+ marketRouters: {
5614
+ enso: "0xF75584eF6673aD213a685a1B58Cc0330B8eA22Cf"[];
5615
+ icecreamswap: "0xC87De04e2EC1F4282dFF2933A2D58199f688fC3d"[];
5616
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
5617
+ paraswap: "0x6A000F20005980200259B80c5102003040001068"[];
5618
+ uniswap: ("0x75FC67473A91335B5b8F8821277262a13B38c9b3" | "0xc6D25285D5C5b62b7ca26D6092751A145D50e9Be")[];
5619
+ };
5500
5620
  bridges: {
5501
5621
  chainlink: {
5502
5622
  atlasNetworkName: string;
@@ -7405,6 +7525,10 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
7405
7525
  markets: {
7406
7526
  icecreamswap: true;
7407
7527
  };
7528
+ marketRouters: {
7529
+ icecreamswap: "0xC87De04e2EC1F4282dFF2933A2D58199f688fC3d"[];
7530
+ uniswap: ("0x533c7A53389e0538AB6aE1D7798D6C1213eAc28B" | "0x864DDc9B50B9A0dF676d826c9B9EDe9F8913a160")[];
7531
+ };
7408
7532
  bridges: {
7409
7533
  chainlink: {
7410
7534
  atlasNetworkName: string;
@@ -7709,6 +7833,9 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
7709
7833
  coingecko: string;
7710
7834
  };
7711
7835
  markets: {};
7836
+ marketRouters: {
7837
+ uniswap: ("0x346239972d1fa486FC4a521031BC81bFB7D6e8a4" | "0xa683c66045ad16abb1bCE5ad46A64d95f9A25785")[];
7838
+ };
7712
7839
  bridges: {};
7713
7840
  oracles: {};
7714
7841
  morpho: {};
@@ -7840,6 +7967,10 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
7840
7967
  coingecko: string;
7841
7968
  };
7842
7969
  markets: {};
7970
+ marketRouters: {
7971
+ icecreamswap: "0xC87De04e2EC1F4282dFF2933A2D58199f688fC3d"[];
7972
+ uniswap: ("0x738fD6d10bCc05c230388B4027CAd37f82fe2AF2" | "0xaa52bB8110fE38D0d2d2AF0B85C3A3eE622CA455")[];
7973
+ };
7843
7974
  bridges: {
7844
7975
  stargate: {
7845
7976
  endpointID: number;
@@ -7974,6 +8105,9 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
7974
8105
  coingecko: string;
7975
8106
  };
7976
8107
  markets: {};
8108
+ marketRouters: {
8109
+ uniswap: ("0x807F4E281B7A3B324825C64ca53c69F0b418dE40" | "0x1b35fbA9357fD9bda7ed0429C8BbAbe1e8CC88fc")[];
8110
+ };
7977
8111
  bridges: {};
7978
8112
  oracles: {};
7979
8113
  morpho: {};
@@ -8249,6 +8383,12 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
8249
8383
  markets: {
8250
8384
  zeroex: true;
8251
8385
  };
8386
+ marketRouters: {
8387
+ enso: "0xF75584eF6673aD213a685a1B58Cc0330B8eA22Cf"[];
8388
+ icecreamswap: "0xC87De04e2EC1F4282dFF2933A2D58199f688fC3d"[];
8389
+ uniswap: ("0x8B844f885672f333Bc0042cB669255f93a4C1E6b" | "0x091AD9e2e6e5eD44c1c66dB50e49A601F9f36cF6" | "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D")[];
8390
+ zeroex: ("0x0000000000001fF3684f28c67538d4D072C22734" | "0x1072a0A713A23a2Da9BAB99E9CD68187970E89a4")[];
8391
+ };
8252
8392
  bridges: {
8253
8393
  chainlink: {
8254
8394
  atlasNetworkName: string;
@@ -8684,6 +8824,10 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
8684
8824
  markets: {
8685
8825
  icecreamswap: true;
8686
8826
  };
8827
+ marketRouters: {
8828
+ icecreamswap: "0x0EE6f0900990b23A2a96a6F41EB56693c9076031"[];
8829
+ uniswap: ("0x738fD6d10bCc05c230388B4027CAd37f82fe2AF2" | "0xaa52bB8110fE38D0d2d2AF0B85C3A3eE622CA455")[];
8830
+ };
8687
8831
  bridges: {
8688
8832
  stargate: {
8689
8833
  endpointID: number;
@@ -9061,6 +9205,9 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
9061
9205
  externalId: {};
9062
9206
  blockAid: "";
9063
9207
  markets: {};
9208
+ marketRouters: {
9209
+ uniswap: ("0x533c7A53389e0538AB6aE1D7798D6C1213eAc28B" | "0xA7E6cB0A6B1BE8b779022A6aFcb097cF0d3Ff4A2")[];
9210
+ };
9064
9211
  bridges: {
9065
9212
  stargate: {
9066
9213
  endpointID: number;
@@ -9195,6 +9342,11 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
9195
9342
  kyberswap: string;
9196
9343
  threeroute: true;
9197
9344
  };
9345
+ marketRouters: {
9346
+ kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"[];
9347
+ threeroute: "0x1B62C2CEf163E3120E512F71F6e6E99058c80F6E"[];
9348
+ uniswap: ("0x9db70E29712Cc8Af10c2B597BaDA6784544FF407" | "0xdD489C75be1039ec7d843A6aC2Fd658350B067Cf")[];
9349
+ };
9198
9350
  bridges: {
9199
9351
  stargate: {
9200
9352
  endpointID: number;
@@ -9357,6 +9509,17 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
9357
9509
  spender: string;
9358
9510
  };
9359
9511
  };
9512
+ marketRouters: {
9513
+ enso: "0xF75584eF6673aD213a685a1B58Cc0330B8eA22Cf"[];
9514
+ icecreamswap: "0x3FFc2315A992b01dc4B3f79C8EEa1921091Ee24f"[];
9515
+ kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"[];
9516
+ odos: "0x6409722F3a1C4486A3b1FE566cBDd5e9D946A1f3"[];
9517
+ okx: "0x6733Eb2E75B1625F1Fe5f18aD2cB2BaBDA510d19"[];
9518
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
9519
+ paraswap: "0x6A000F20005980200259B80c5102003040001068"[];
9520
+ uniswap: ("0xFdf682F51FE81Aa4898F0AE2163d8A55c127fbC7" | "0x73855d06DE49d0fe4A9c42636Ba96c62da12FF9C" | "0xEf740bf23aCaE26f6492B10de645D6B98dC8Eaf3")[];
9521
+ zeroex: ("0x0000000000001fF3684f28c67538d4D072C22734" | "0x972655fACb8Df3CdF40395E4262f874f81674D46")[];
9522
+ };
9360
9523
  bridges: {
9361
9524
  layerzero: {
9362
9525
  eid: number;
@@ -9909,6 +10072,16 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
9909
10072
  kyberswap: string;
9910
10073
  openocean: string;
9911
10074
  };
10075
+ marketRouters: {
10076
+ binance: "0xB44446b0c8E56988c34f7Ff73Ae904982b5FdDA5"[];
10077
+ enso: "0xCfBAa9Cfce952Ca4F4069874fF1Df8c05e37a3c7"[];
10078
+ icecreamswap: "0xC87De04e2EC1F4282dFF2933A2D58199f688fC3d"[];
10079
+ kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"[];
10080
+ okx: "0x19D345f95A80cc136d898f41b490E023cFF78658"[];
10081
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
10082
+ uniswap: ("0x807F4E281B7A3B324825C64ca53c69F0b418dE40" | "0x1b35fbA9357fD9bda7ed0429C8BbAbe1e8CC88fc")[];
10083
+ zeroex: ("0x0000000000001fF3684f28c67538d4D072C22734" | "0x7F2194E8d4D5B5F889b17aeCe891F89Da74F5384")[];
10084
+ };
9912
10085
  bridges: {
9913
10086
  chainlink: {
9914
10087
  atlasNetworkName: string;
@@ -10036,6 +10209,10 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
10036
10209
  coingecko: string;
10037
10210
  };
10038
10211
  markets: {};
10212
+ marketRouters: {
10213
+ icecreamswap: "0x9E6d21E759A7A288b80eef94E4737D313D31c13f"[];
10214
+ uniswap: ("0x807F4E281B7A3B324825C64ca53c69F0b418dE40" | "0x1b35fbA9357fD9bda7ed0429C8BbAbe1e8CC88fc")[];
10215
+ };
10039
10216
  bridges: {
10040
10217
  chainlink: {
10041
10218
  atlasNetworkName: string;
@@ -10176,6 +10353,16 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
10176
10353
  openocean: string;
10177
10354
  cowswap: string;
10178
10355
  };
10356
+ marketRouters: {
10357
+ enso: "0xF75584eF6673aD213a685a1B58Cc0330B8eA22Cf"[];
10358
+ icecreamswap: "0xa575f37e869e6887564F87c07e2885e08D542C4a"[];
10359
+ kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"[];
10360
+ odos: "0x88de50B233052e4Fb783d4F6db78Cc34fEa3e9FC"[];
10361
+ okx: "0xa94Fcf9fc56a864f8DE51e6315aee5863AD63C91"[];
10362
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
10363
+ uniswap: ("0x8B844f885672f333Bc0042cB669255f93a4C1E6b" | "0x4Dae2f939ACf50408e13d58534Ff8c2776d45265" | "0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE")[];
10364
+ zeroex: ("0x0000000000001fF3684f28c67538d4D072C22734" | "0x6De411A14aEaafB3f23697A4472a4D4ed275Ac0f")[];
10365
+ };
10179
10366
  bridges: {
10180
10367
  chainlink: {
10181
10368
  atlasNetworkName: string;
@@ -10463,6 +10650,17 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
10463
10650
  markets: {
10464
10651
  openocean: string;
10465
10652
  };
10653
+ marketRouters: {
10654
+ binance: "0xB44446b0c8E56988c34f7Ff73Ae904982b5FdDA5"[];
10655
+ enso: "0xCfBAa9Cfce952Ca4F4069874fF1Df8c05e37a3c7"[];
10656
+ icecreamswap: "0xC87De04e2EC1F4282dFF2933A2D58199f688fC3d"[];
10657
+ kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"[];
10658
+ native: "0x332e56e0b91eC3F08553eC7964E19CC041A38672"[];
10659
+ okx: "0x7A7AD9aa93cd0A2D0255326E5Fb145CEc14997FF"[];
10660
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
10661
+ uniswap: ("0xFdf682F51FE81Aa4898F0AE2163d8A55c127fbC7" | "0x75FC67473A91335B5b8F8821277262a13B38c9b3" | "0xfE31F71C1b106EAc32F1A19239c9a9A72ddfb900")[];
10662
+ zeroex: ("0x0000000000001fF3684f28c67538d4D072C22734" | "0xfb78Fcae443eB423b59B8C186518c5dF94416344")[];
10663
+ };
10466
10664
  bridges: {
10467
10665
  chainlink: {
10468
10666
  atlasNetworkName: string;
@@ -10617,6 +10815,14 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
10617
10815
  markets: {
10618
10816
  openocean: string;
10619
10817
  };
10818
+ marketRouters: {
10819
+ enso: "0xF75584eF6673aD213a685a1B58Cc0330B8eA22Cf"[];
10820
+ icecreamswap: "0x2fF506ed9729580EF8Bf04429614beB1baE5F76D"[];
10821
+ kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"[];
10822
+ okx: "0x9Ac7b1FFEE0f58c0a3c89AA54Afb62efD25DC9fd"[];
10823
+ openocean: "0x6352a56caadC4F1E25CD6c75970Fa768A3304e64"[];
10824
+ zeroex: ("0x0000000000001fF3684f28c67538d4D072C22734" | "0xb32b027C59F540C22B4c76bF849BcF853B99F158")[];
10825
+ };
10620
10826
  bridges: {
10621
10827
  chainlink: {
10622
10828
  atlasNetworkName: string;
@@ -10736,6 +10942,10 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
10736
10942
  blockAid: "";
10737
10943
  externalId: {};
10738
10944
  markets: {};
10945
+ marketRouters: {
10946
+ icecreamswap: "0x9E6d21E759A7A288b80eef94E4737D313D31c13f"[];
10947
+ uniswap: ("0x807F4E281B7A3B324825C64ca53c69F0b418dE40" | "0x447B8E40B0CdA8e55F405C86bC635D02d0540aB8")[];
10948
+ };
10739
10949
  bridges: {};
10740
10950
  oracles: {};
10741
10951
  morpho: {
@@ -10984,6 +11194,14 @@ export declare const MAINNET_CHAINS: readonly [Readonly<{
10984
11194
  markets: {
10985
11195
  openocean: string;
10986
11196
  };
11197
+ marketRouters: {
11198
+ icecreamswap: "0x603206D6105217DD972E4Ab30676A220CA393346"[];
11199
+ kyberswap: "0x6131B5fae19EA4f9D964eAc0408E4408b66337b5"[];
11200
+ native: "0xa5ec1f0aC784C3620fFDcdf2A7DbcEF9DA658ea4"[];
11201
+ okx: "0xE58b3089dF6667fBf99b75595a1671BaF6797D6d"[];
11202
+ uniswap: ("0x8876789976dEcBfCbBbe364623C63652db8C0904" | "0xCaf681a66D020601342297493863E78C959E5cb2")[];
11203
+ zeroex: ("0x0000000000001fF3684f28c67538d4D072C22734" | "0xe72688F7d25D7318B9A81F21EdDa640CA948c83B")[];
11204
+ };
10987
11205
  bridges: {};
10988
11206
  oracles: {};
10989
11207
  morpho: {};
@@ -11295,6 +11513,51 @@ export declare function networkByString(s: string): IChainInfo;
11295
11513
  * @throws {NetworkNotFoundError} if no matching chain is found
11296
11514
  */
11297
11515
  export declare function networkByCAIP2(caip2: string): IChainInfo;
11516
+ /**
11517
+ * Every market router configured for a chain, flattened to `(market, address)`
11518
+ * pairs. Accepts anything {@link networkByAny} accepts.
11519
+ *
11520
+ * @example
11521
+ * ```ts
11522
+ * marketRouterEntries(8453) // by chain ID
11523
+ * marketRouterEntries("base") // by internal name
11524
+ * marketRouterEntries("eip155:8453") // by CAIP-2
11525
+ * marketRouterEntries(someChain) // by chain object
11526
+ * ```
11527
+ *
11528
+ * @throws {NetworkNotFoundError} if no matching chain is found
11529
+ */
11530
+ export declare function marketRouterEntries(chain: MarketRouterChainInput): MarketRouterEntry[];
11531
+ /**
11532
+ * The routers configured for a single market on a chain, or an empty array
11533
+ * when that market has no deployment there.
11534
+ *
11535
+ * @throws {NetworkNotFoundError} if no matching chain is found
11536
+ */
11537
+ export declare function routersForMarket(chain: MarketRouterChainInput, market: MarketRouterName): ReadonlyArray<Address>;
11538
+ /**
11539
+ * The set of contract addresses the Oku Router may call on a chain, lowercased
11540
+ * and de-duplicated. Markets share deployments on some chains, so this is
11541
+ * smaller than {@link marketRouterEntries}.
11542
+ *
11543
+ * @throws {NetworkNotFoundError} if no matching chain is found
11544
+ */
11545
+ export declare function routerAllowlist(chain: MarketRouterChainInput): Set<string>;
11546
+ /**
11547
+ * Whether `address` is a market router the Oku Router may call on this chain.
11548
+ * Case-insensitive, so an unchecksummed `to` from an upstream quote can be
11549
+ * passed directly.
11550
+ *
11551
+ * @throws {NetworkNotFoundError} if no matching chain is found
11552
+ */
11553
+ export declare function isAllowedRouter(chain: MarketRouterChainInput, address: string): boolean;
11554
+ /**
11555
+ * Every market `address` is registered under on this chain. Empty when the
11556
+ * address is not allowlisted; more than one when markets share a deployment.
11557
+ *
11558
+ * @throws {NetworkNotFoundError} if no matching chain is found
11559
+ */
11560
+ export declare function marketsForRouter(chain: MarketRouterChainInput, address: string): MarketRouterName[];
11298
11561
  /**
11299
11562
  * Accepted input for the chain-family helpers ({@link chainType},
11300
11563
  * {@link isNetworkType}, etc.).
@@ -103,6 +103,21 @@ export interface Markets {
103
103
  cowswap?: string;
104
104
  icecreamswap?: boolean;
105
105
  }
106
+ export interface MarketRouters {
107
+ binance?: ReadonlyArray<Address>;
108
+ enso?: ReadonlyArray<Address>;
109
+ fabric?: ReadonlyArray<Address>;
110
+ icecreamswap?: ReadonlyArray<Address>;
111
+ kyberswap?: ReadonlyArray<Address>;
112
+ native?: ReadonlyArray<Address>;
113
+ odos?: ReadonlyArray<Address>;
114
+ okx?: ReadonlyArray<Address>;
115
+ openocean?: ReadonlyArray<Address>;
116
+ paraswap?: ReadonlyArray<Address>;
117
+ threeroute?: ReadonlyArray<Address>;
118
+ uniswap?: ReadonlyArray<Address>;
119
+ zeroex?: ReadonlyArray<Address>;
120
+ }
106
121
  export interface Bridges {
107
122
  deswap?: {
108
123
  chainId: number;
@@ -201,6 +216,7 @@ export interface IChainInfo<formatters extends ChainFormatters | undefined = Cha
201
216
  coingecko?: string;
202
217
  };
203
218
  markets: Markets;
219
+ marketRouters?: MarketRouters;
204
220
  bridges: Bridges;
205
221
  oracles: Oracles;
206
222
  initCodeHash: Hash;
@@ -0,0 +1,14 @@
1
+ import type { Address } from "viem";
2
+ import type { IChainInfo, MarketRouters } from "../spec";
3
+ import { type NetworkIndex } from "./lookup";
4
+ export type MarketRouterName = keyof MarketRouters;
5
+ export type MarketRouterChainInput = string | number | IChainInfo;
6
+ export interface MarketRouterEntry {
7
+ market: MarketRouterName;
8
+ address: Address;
9
+ }
10
+ export declare function marketRouterEntries(chain: MarketRouterChainInput, idx: NetworkIndex): MarketRouterEntry[];
11
+ export declare function routersForMarket(chain: MarketRouterChainInput, market: MarketRouterName, idx: NetworkIndex): ReadonlyArray<Address>;
12
+ export declare function routerAllowlist(chain: MarketRouterChainInput, idx: NetworkIndex): Set<string>;
13
+ export declare function isAllowedRouter(chain: MarketRouterChainInput, address: string, idx: NetworkIndex): boolean;
14
+ export declare function marketsForRouter(chain: MarketRouterChainInput, address: string, idx: NetworkIndex): MarketRouterName[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gfxlabs/oku-chains",
3
- "version": "1.12.23",
3
+ "version": "1.12.25",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index-mjs.js",