sushi 4.2.3 → 5.0.0

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 (502) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/_cjs/address/getCreate2Address.js +2 -2
  3. package/_cjs/address/getCreate2Address.js.map +1 -1
  4. package/_cjs/api/price.js.map +1 -1
  5. package/_cjs/chain/chain-key.js +14 -0
  6. package/_cjs/chain/chain-key.js.map +1 -0
  7. package/_cjs/chain/evm/generated-chain-data.js.map +1 -0
  8. package/_cjs/chain/evm/id.js +60 -0
  9. package/_cjs/chain/evm/id.js.map +1 -0
  10. package/_cjs/chain/evm/index.js +278 -0
  11. package/_cjs/chain/evm/index.js.map +1 -0
  12. package/_cjs/chain/id.js +6 -54
  13. package/_cjs/chain/id.js.map +1 -1
  14. package/_cjs/chain/index.js +3 -274
  15. package/_cjs/chain/index.js.map +1 -1
  16. package/_cjs/chain/non-evm/aptos/id.js +7 -0
  17. package/_cjs/chain/non-evm/aptos/id.js.map +1 -0
  18. package/_cjs/chain/non-evm/aptos/index.js +30 -0
  19. package/_cjs/chain/non-evm/aptos/index.js.map +1 -0
  20. package/_cjs/chain/non-evm/index.js +19 -0
  21. package/_cjs/chain/non-evm/index.js.map +1 -0
  22. package/_cjs/chain/non-evm/tron/id.js +7 -0
  23. package/_cjs/chain/non-evm/tron/id.js.map +1 -0
  24. package/_cjs/chain/non-evm/tron/index.js +30 -0
  25. package/_cjs/chain/non-evm/tron/index.js.map +1 -0
  26. package/_cjs/config/api.js +1 -3
  27. package/_cjs/config/api.js.map +1 -1
  28. package/_cjs/config/features/aggregator.js +9 -9
  29. package/_cjs/config/features/aggregator.js.map +1 -1
  30. package/_cjs/config/features/bentobox.js +43 -43
  31. package/_cjs/config/features/bentobox.js.map +1 -1
  32. package/_cjs/config/features/extractor.js +44 -44
  33. package/_cjs/config/features/extractor.js.map +1 -1
  34. package/_cjs/config/features/furo.js +16 -16
  35. package/_cjs/config/features/furo.js.map +1 -1
  36. package/_cjs/config/features/master-chef.js +3 -3
  37. package/_cjs/config/features/master-chef.js.map +1 -1
  38. package/_cjs/config/features/merkl.js +17 -17
  39. package/_cjs/config/features/merkl.js.map +1 -1
  40. package/_cjs/config/features/mini-chef.js +34 -34
  41. package/_cjs/config/features/mini-chef.js.map +1 -1
  42. package/_cjs/config/features/pancakeswap-v2.js +22 -22
  43. package/_cjs/config/features/pancakeswap-v2.js.map +1 -1
  44. package/_cjs/config/features/pancakeswap-v3.js +29 -29
  45. package/_cjs/config/features/pancakeswap-v3.js.map +1 -1
  46. package/_cjs/config/features/route-processor.js +323 -323
  47. package/_cjs/config/features/route-processor.js.map +1 -1
  48. package/_cjs/config/features/squid.js +32 -32
  49. package/_cjs/config/features/squid.js.map +1 -1
  50. package/_cjs/config/features/stargate.js +580 -577
  51. package/_cjs/config/features/stargate.js.map +1 -1
  52. package/_cjs/config/features/sushiswap-v2.js +138 -137
  53. package/_cjs/config/features/sushiswap-v2.js.map +1 -1
  54. package/_cjs/config/features/sushiswap-v3.js +146 -146
  55. package/_cjs/config/features/sushiswap-v3.js.map +1 -1
  56. package/_cjs/config/features/sushiswap.js.map +1 -1
  57. package/_cjs/config/features/sushixswap.js +89 -89
  58. package/_cjs/config/features/sushixswap.js.map +1 -1
  59. package/_cjs/config/features/trident.js +42 -42
  60. package/_cjs/config/features/trident.js.map +1 -1
  61. package/_cjs/config/features/uniswap-v2.js +19 -19
  62. package/_cjs/config/features/uniswap-v2.js.map +1 -1
  63. package/_cjs/config/features/uniswap-v3.js +67 -67
  64. package/_cjs/config/features/uniswap-v3.js.map +1 -1
  65. package/_cjs/config/governance.js +2 -2
  66. package/_cjs/config/governance.js.map +1 -1
  67. package/_cjs/config/index.js +0 -2
  68. package/_cjs/config/index.js.map +1 -1
  69. package/_cjs/config/native-ids.js +54 -54
  70. package/_cjs/config/native-ids.js.map +1 -1
  71. package/_cjs/config/subgraph/get-subgraph-url.js +43 -0
  72. package/_cjs/config/subgraph/get-subgraph-url.js.map +1 -0
  73. package/_cjs/config/subgraph/hosts.js +7 -10
  74. package/_cjs/config/subgraph/hosts.js.map +1 -1
  75. package/_cjs/config/subgraph/max-first.js +2 -2
  76. package/_cjs/config/subgraph/max-first.js.map +1 -1
  77. package/_cjs/config/subgraph/seconds-between-blocks.js +26 -26
  78. package/_cjs/config/subgraph/seconds-between-blocks.js.map +1 -1
  79. package/_cjs/config/subgraph/subgraphs/bentobox.js +23 -16
  80. package/_cjs/config/subgraph/subgraphs/bentobox.js.map +1 -1
  81. package/_cjs/config/subgraph/subgraphs/blocks.js +42 -35
  82. package/_cjs/config/subgraph/subgraphs/blocks.js.map +1 -1
  83. package/_cjs/config/subgraph/subgraphs/furo.js +25 -18
  84. package/_cjs/config/subgraph/subgraphs/furo.js.map +1 -1
  85. package/_cjs/config/subgraph/subgraphs/master-chef-v1.js +12 -3
  86. package/_cjs/config/subgraph/subgraphs/master-chef-v1.js.map +1 -1
  87. package/_cjs/config/subgraph/subgraphs/master-chef-v2.js +12 -3
  88. package/_cjs/config/subgraph/subgraphs/master-chef-v2.js.map +1 -1
  89. package/_cjs/config/subgraph/subgraphs/mini-chef.js +26 -19
  90. package/_cjs/config/subgraph/subgraphs/mini-chef.js.map +1 -1
  91. package/_cjs/config/subgraph/subgraphs/sushi-bar.js +12 -3
  92. package/_cjs/config/subgraph/subgraphs/sushi-bar.js.map +1 -1
  93. package/_cjs/config/subgraph/subgraphs/sushiswap-v2.js +49 -37
  94. package/_cjs/config/subgraph/subgraphs/sushiswap-v2.js.map +1 -1
  95. package/_cjs/config/subgraph/subgraphs/sushiswap-v3.js +44 -32
  96. package/_cjs/config/subgraph/subgraphs/sushiswap-v3.js.map +1 -1
  97. package/_cjs/config/token-chomper.js +85 -85
  98. package/_cjs/config/token-chomper.js.map +1 -1
  99. package/_cjs/config/token-maps/additional-bases.js +85 -81
  100. package/_cjs/config/token-maps/additional-bases.js.map +1 -1
  101. package/_cjs/config/token-maps/bases-to-check-trades-against.js +337 -337
  102. package/_cjs/config/token-maps/bases-to-check-trades-against.js.map +1 -1
  103. package/_cjs/config/token-maps/custom-bases.js +5 -5
  104. package/_cjs/config/token-maps/custom-bases.js.map +1 -1
  105. package/_cjs/config/token-maps/default-bases.js +358 -348
  106. package/_cjs/config/token-maps/default-bases.js.map +1 -1
  107. package/_cjs/config/token-maps/default-quote.js +54 -51
  108. package/_cjs/config/token-maps/default-quote.js.map +1 -1
  109. package/_cjs/config/token-maps/lsds.js +108 -108
  110. package/_cjs/config/token-maps/lsds.js.map +1 -1
  111. package/_cjs/config/token-maps/short-name-to-currency.js +230 -230
  112. package/_cjs/config/token-maps/short-name-to-currency.js.map +1 -1
  113. package/_cjs/config/token-maps/stables.js +202 -172
  114. package/_cjs/config/token-maps/stables.js.map +1 -1
  115. package/_cjs/config/token-security.js +16 -16
  116. package/_cjs/config/token-security.js.map +1 -1
  117. package/_cjs/config/wallet.js +77 -77
  118. package/_cjs/config/wallet.js.map +1 -1
  119. package/_cjs/config/wnative.js.map +1 -1
  120. package/_cjs/currency/currency.js +1 -3
  121. package/_cjs/currency/currency.js.map +1 -1
  122. package/_cjs/currency/native.js +2 -2
  123. package/_cjs/currency/native.js.map +1 -1
  124. package/_cjs/currency/token-addresses.js +454 -454
  125. package/_cjs/currency/token-addresses.js.map +1 -1
  126. package/_cjs/currency/token.js.map +1 -1
  127. package/_cjs/currency/tokens.js +179 -179
  128. package/_cjs/currency/tokens.js.map +1 -1
  129. package/_cjs/currency/zod.js +3 -2
  130. package/_cjs/currency/zod.js.map +1 -1
  131. package/_cjs/format/id.js +7 -3
  132. package/_cjs/format/id.js.map +1 -1
  133. package/_cjs/index.js +2 -2
  134. package/_cjs/index.js.map +1 -1
  135. package/_cjs/pool/sushiswap-v2/sushiswap-v2-pool.js +2 -2
  136. package/_cjs/pool/sushiswap-v2/sushiswap-v2-pool.js.map +1 -1
  137. package/_cjs/router/get-currency-combinations.js.map +1 -1
  138. package/_cjs/token-list/wrapped-token-info.js.map +1 -1
  139. package/_esm/address/getCreate2Address.js +2 -2
  140. package/_esm/address/getCreate2Address.js.map +1 -1
  141. package/_esm/api/price.js.map +1 -1
  142. package/_esm/chain/chain-key.js +11 -0
  143. package/_esm/chain/chain-key.js.map +1 -0
  144. package/_esm/chain/evm/generated-chain-data.js.map +1 -0
  145. package/_esm/chain/evm/id.js +67 -0
  146. package/_esm/chain/evm/id.js.map +1 -0
  147. package/_esm/chain/evm/index.js +280 -0
  148. package/_esm/chain/evm/index.js.map +1 -0
  149. package/_esm/chain/id.js +6 -64
  150. package/_esm/chain/id.js.map +1 -1
  151. package/_esm/chain/index.js +3 -293
  152. package/_esm/chain/index.js.map +1 -1
  153. package/_esm/chain/non-evm/aptos/id.js +4 -0
  154. package/_esm/chain/non-evm/aptos/id.js.map +1 -0
  155. package/_esm/chain/non-evm/aptos/index.js +11 -0
  156. package/_esm/chain/non-evm/aptos/index.js.map +1 -0
  157. package/_esm/chain/non-evm/index.js +3 -0
  158. package/_esm/chain/non-evm/index.js.map +1 -0
  159. package/_esm/chain/non-evm/tron/id.js +4 -0
  160. package/_esm/chain/non-evm/tron/id.js.map +1 -0
  161. package/_esm/chain/non-evm/tron/index.js +11 -0
  162. package/_esm/chain/non-evm/tron/index.js.map +1 -0
  163. package/_esm/config/api.js +1 -3
  164. package/_esm/config/api.js.map +1 -1
  165. package/_esm/config/features/aggregator.js +9 -9
  166. package/_esm/config/features/aggregator.js.map +1 -1
  167. package/_esm/config/features/bentobox.js +43 -43
  168. package/_esm/config/features/bentobox.js.map +1 -1
  169. package/_esm/config/features/extractor.js +44 -44
  170. package/_esm/config/features/extractor.js.map +1 -1
  171. package/_esm/config/features/furo.js +16 -16
  172. package/_esm/config/features/furo.js.map +1 -1
  173. package/_esm/config/features/master-chef.js +7 -7
  174. package/_esm/config/features/master-chef.js.map +1 -1
  175. package/_esm/config/features/merkl.js +18 -18
  176. package/_esm/config/features/merkl.js.map +1 -1
  177. package/_esm/config/features/mini-chef.js +35 -35
  178. package/_esm/config/features/mini-chef.js.map +1 -1
  179. package/_esm/config/features/pancakeswap-v2.js +24 -24
  180. package/_esm/config/features/pancakeswap-v2.js.map +1 -1
  181. package/_esm/config/features/pancakeswap-v3.js +29 -29
  182. package/_esm/config/features/pancakeswap-v3.js.map +1 -1
  183. package/_esm/config/features/route-processor.js +329 -329
  184. package/_esm/config/features/route-processor.js.map +1 -1
  185. package/_esm/config/features/squid.js +32 -32
  186. package/_esm/config/features/squid.js.map +1 -1
  187. package/_esm/config/features/stargate.js +598 -595
  188. package/_esm/config/features/stargate.js.map +1 -1
  189. package/_esm/config/features/sushiswap-v2.js +201 -200
  190. package/_esm/config/features/sushiswap-v2.js.map +1 -1
  191. package/_esm/config/features/sushiswap-v3.js +157 -157
  192. package/_esm/config/features/sushiswap-v3.js.map +1 -1
  193. package/_esm/config/features/sushiswap.js.map +1 -1
  194. package/_esm/config/features/sushixswap.js +91 -91
  195. package/_esm/config/features/sushixswap.js.map +1 -1
  196. package/_esm/config/features/trident.js +45 -45
  197. package/_esm/config/features/trident.js.map +1 -1
  198. package/_esm/config/features/uniswap-v2.js +19 -19
  199. package/_esm/config/features/uniswap-v2.js.map +1 -1
  200. package/_esm/config/features/uniswap-v3.js +67 -67
  201. package/_esm/config/features/uniswap-v3.js.map +1 -1
  202. package/_esm/config/governance.js +2 -2
  203. package/_esm/config/governance.js.map +1 -1
  204. package/_esm/config/index.js +0 -2
  205. package/_esm/config/index.js.map +1 -1
  206. package/_esm/config/native-ids.js +65 -65
  207. package/_esm/config/native-ids.js.map +1 -1
  208. package/_esm/config/subgraph/get-subgraph-url.js +46 -0
  209. package/_esm/config/subgraph/get-subgraph-url.js.map +1 -0
  210. package/_esm/config/subgraph/hosts.js +4 -9
  211. package/_esm/config/subgraph/hosts.js.map +1 -1
  212. package/_esm/config/subgraph/max-first.js +2 -2
  213. package/_esm/config/subgraph/max-first.js.map +1 -1
  214. package/_esm/config/subgraph/seconds-between-blocks.js +27 -27
  215. package/_esm/config/subgraph/seconds-between-blocks.js.map +1 -1
  216. package/_esm/config/subgraph/subgraphs/bentobox.js +23 -16
  217. package/_esm/config/subgraph/subgraphs/bentobox.js.map +1 -1
  218. package/_esm/config/subgraph/subgraphs/blocks.js +47 -40
  219. package/_esm/config/subgraph/subgraphs/blocks.js.map +1 -1
  220. package/_esm/config/subgraph/subgraphs/furo.js +25 -18
  221. package/_esm/config/subgraph/subgraphs/furo.js.map +1 -1
  222. package/_esm/config/subgraph/subgraphs/master-chef-v1.js +11 -2
  223. package/_esm/config/subgraph/subgraphs/master-chef-v1.js.map +1 -1
  224. package/_esm/config/subgraph/subgraphs/master-chef-v2.js +11 -2
  225. package/_esm/config/subgraph/subgraphs/master-chef-v2.js.map +1 -1
  226. package/_esm/config/subgraph/subgraphs/mini-chef.js +27 -20
  227. package/_esm/config/subgraph/subgraphs/mini-chef.js.map +1 -1
  228. package/_esm/config/subgraph/subgraphs/sushi-bar.js +11 -2
  229. package/_esm/config/subgraph/subgraphs/sushi-bar.js.map +1 -1
  230. package/_esm/config/subgraph/subgraphs/sushiswap-v2.js +49 -37
  231. package/_esm/config/subgraph/subgraphs/sushiswap-v2.js.map +1 -1
  232. package/_esm/config/subgraph/subgraphs/sushiswap-v3.js +44 -32
  233. package/_esm/config/subgraph/subgraphs/sushiswap-v3.js.map +1 -1
  234. package/_esm/config/token-chomper.js +85 -85
  235. package/_esm/config/token-chomper.js.map +1 -1
  236. package/_esm/config/token-maps/additional-bases.js +85 -81
  237. package/_esm/config/token-maps/additional-bases.js.map +1 -1
  238. package/_esm/config/token-maps/bases-to-check-trades-against.js +339 -339
  239. package/_esm/config/token-maps/bases-to-check-trades-against.js.map +1 -1
  240. package/_esm/config/token-maps/custom-bases.js +5 -5
  241. package/_esm/config/token-maps/custom-bases.js.map +1 -1
  242. package/_esm/config/token-maps/default-bases.js +369 -359
  243. package/_esm/config/token-maps/default-bases.js.map +1 -1
  244. package/_esm/config/token-maps/default-quote.js +71 -68
  245. package/_esm/config/token-maps/default-quote.js.map +1 -1
  246. package/_esm/config/token-maps/lsds.js +108 -108
  247. package/_esm/config/token-maps/lsds.js.map +1 -1
  248. package/_esm/config/token-maps/short-name-to-currency.js +256 -256
  249. package/_esm/config/token-maps/short-name-to-currency.js.map +1 -1
  250. package/_esm/config/token-maps/stables.js +212 -182
  251. package/_esm/config/token-maps/stables.js.map +1 -1
  252. package/_esm/config/token-security.js +16 -16
  253. package/_esm/config/token-security.js.map +1 -1
  254. package/_esm/config/wallet.js +77 -77
  255. package/_esm/config/wallet.js.map +1 -1
  256. package/_esm/config/wnative.js.map +1 -1
  257. package/_esm/currency/currency.js +1 -3
  258. package/_esm/currency/currency.js.map +1 -1
  259. package/_esm/currency/native.js +2 -2
  260. package/_esm/currency/native.js.map +1 -1
  261. package/_esm/currency/token-addresses.js +483 -483
  262. package/_esm/currency/token-addresses.js.map +1 -1
  263. package/_esm/currency/token.js.map +1 -1
  264. package/_esm/currency/tokens.js +195 -195
  265. package/_esm/currency/tokens.js.map +1 -1
  266. package/_esm/currency/zod.js +3 -2
  267. package/_esm/currency/zod.js.map +1 -1
  268. package/_esm/format/id.js +7 -3
  269. package/_esm/format/id.js.map +1 -1
  270. package/_esm/index.js +2 -2
  271. package/_esm/index.js.map +1 -1
  272. package/_esm/pool/sushiswap-v2/sushiswap-v2-pool.js +2 -2
  273. package/_esm/pool/sushiswap-v2/sushiswap-v2-pool.js.map +1 -1
  274. package/_esm/router/get-currency-combinations.js.map +1 -1
  275. package/_esm/token-list/wrapped-token-info.js.map +1 -1
  276. package/_types/address/getCreate2Address.d.ts +2 -2
  277. package/_types/address/getCreate2Address.d.ts.map +1 -1
  278. package/_types/api/price.d.ts +3 -3
  279. package/_types/api/price.d.ts.map +1 -1
  280. package/_types/chain/chain-key.d.ts +63 -0
  281. package/_types/chain/chain-key.d.ts.map +1 -0
  282. package/_types/chain/{generated-chain-data.d.ts.map → evm/generated-chain-data.d.ts.map} +1 -1
  283. package/_types/chain/evm/id.d.ts +58 -0
  284. package/_types/chain/evm/id.d.ts.map +1 -0
  285. package/_types/chain/evm/index.d.ts +1197 -0
  286. package/_types/chain/evm/index.d.ts.map +1 -0
  287. package/_types/chain/id.d.ts +2 -0
  288. package/_types/chain/id.d.ts.map +1 -1
  289. package/_types/chain/index.d.ts +3 -1190
  290. package/_types/chain/index.d.ts.map +1 -1
  291. package/_types/chain/non-evm/aptos/id.d.ts +5 -0
  292. package/_types/chain/non-evm/aptos/id.d.ts.map +1 -0
  293. package/_types/chain/non-evm/aptos/index.d.ts +13 -0
  294. package/_types/chain/non-evm/aptos/index.d.ts.map +1 -0
  295. package/_types/chain/non-evm/index.d.ts +3 -0
  296. package/_types/chain/non-evm/index.d.ts.map +1 -0
  297. package/_types/chain/non-evm/tron/id.d.ts +5 -0
  298. package/_types/chain/non-evm/tron/id.d.ts.map +1 -0
  299. package/_types/chain/non-evm/tron/index.d.ts +13 -0
  300. package/_types/chain/non-evm/tron/index.d.ts.map +1 -0
  301. package/_types/config/api.d.ts +1 -1
  302. package/_types/config/api.d.ts.map +1 -1
  303. package/_types/config/features/aggregator.d.ts +2 -2
  304. package/_types/config/features/aggregator.d.ts.map +1 -1
  305. package/_types/config/features/bentobox.d.ts +2 -2
  306. package/_types/config/features/bentobox.d.ts.map +1 -1
  307. package/_types/config/features/furo.d.ts +2 -2
  308. package/_types/config/features/furo.d.ts.map +1 -1
  309. package/_types/config/features/merkl.d.ts +2 -2
  310. package/_types/config/features/merkl.d.ts.map +1 -1
  311. package/_types/config/features/mini-chef.d.ts +2 -2
  312. package/_types/config/features/mini-chef.d.ts.map +1 -1
  313. package/_types/config/features/pancakeswap-v2.d.ts +2 -2
  314. package/_types/config/features/pancakeswap-v2.d.ts.map +1 -1
  315. package/_types/config/features/pancakeswap-v3.d.ts +2 -2
  316. package/_types/config/features/pancakeswap-v3.d.ts.map +1 -1
  317. package/_types/config/features/route-processor.d.ts +9 -9
  318. package/_types/config/features/route-processor.d.ts.map +1 -1
  319. package/_types/config/features/stargate.d.ts.map +1 -1
  320. package/_types/config/features/sushiswap-v2.d.ts +4 -4
  321. package/_types/config/features/sushiswap-v2.d.ts.map +1 -1
  322. package/_types/config/features/sushiswap-v3.d.ts +7 -6
  323. package/_types/config/features/sushiswap-v3.d.ts.map +1 -1
  324. package/_types/config/features/sushiswap.d.ts +2 -2
  325. package/_types/config/features/sushiswap.d.ts.map +1 -1
  326. package/_types/config/features/sushixswap.d.ts +5 -5
  327. package/_types/config/features/sushixswap.d.ts.map +1 -1
  328. package/_types/config/features/trident.d.ts +2 -2
  329. package/_types/config/features/trident.d.ts.map +1 -1
  330. package/_types/config/features/uniswap-v3.d.ts +2 -2
  331. package/_types/config/features/uniswap-v3.d.ts.map +1 -1
  332. package/_types/config/index.d.ts +0 -2
  333. package/_types/config/index.d.ts.map +1 -1
  334. package/_types/config/subgraph/get-subgraph-url.d.ts +20 -0
  335. package/_types/config/subgraph/get-subgraph-url.d.ts.map +1 -0
  336. package/_types/config/subgraph/hosts.d.ts +4 -3
  337. package/_types/config/subgraph/hosts.d.ts.map +1 -1
  338. package/_types/config/subgraph/max-first.d.ts +2 -2
  339. package/_types/config/subgraph/max-first.d.ts.map +1 -1
  340. package/_types/config/subgraph/seconds-between-blocks.d.ts +2 -2
  341. package/_types/config/subgraph/seconds-between-blocks.d.ts.map +1 -1
  342. package/_types/config/subgraph/subgraphs/bentobox.d.ts +9 -2
  343. package/_types/config/subgraph/subgraphs/bentobox.d.ts.map +1 -1
  344. package/_types/config/subgraph/subgraphs/blocks.d.ts +9 -2
  345. package/_types/config/subgraph/subgraphs/blocks.d.ts.map +1 -1
  346. package/_types/config/subgraph/subgraphs/data-api.d.ts +1 -1
  347. package/_types/config/subgraph/subgraphs/data-api.d.ts.map +1 -1
  348. package/_types/config/subgraph/subgraphs/furo.d.ts +9 -2
  349. package/_types/config/subgraph/subgraphs/furo.d.ts.map +1 -1
  350. package/_types/config/subgraph/subgraphs/master-chef-v1.d.ts +9 -1
  351. package/_types/config/subgraph/subgraphs/master-chef-v1.d.ts.map +1 -1
  352. package/_types/config/subgraph/subgraphs/master-chef-v2.d.ts +9 -1
  353. package/_types/config/subgraph/subgraphs/master-chef-v2.d.ts.map +1 -1
  354. package/_types/config/subgraph/subgraphs/mini-chef.d.ts +9 -2
  355. package/_types/config/subgraph/subgraphs/mini-chef.d.ts.map +1 -1
  356. package/_types/config/subgraph/subgraphs/sushi-bar.d.ts +9 -1
  357. package/_types/config/subgraph/subgraphs/sushi-bar.d.ts.map +1 -1
  358. package/_types/config/subgraph/subgraphs/sushiswap-v2.d.ts +9 -2
  359. package/_types/config/subgraph/subgraphs/sushiswap-v2.d.ts.map +1 -1
  360. package/_types/config/subgraph/subgraphs/sushiswap-v3.d.ts +9 -2
  361. package/_types/config/subgraph/subgraphs/sushiswap-v3.d.ts.map +1 -1
  362. package/_types/config/token-chomper.d.ts +2 -2
  363. package/_types/config/token-chomper.d.ts.map +1 -1
  364. package/_types/config/token-maps/additional-bases.d.ts.map +1 -1
  365. package/_types/config/token-maps/default-bases.d.ts +1 -1
  366. package/_types/config/token-maps/default-bases.d.ts.map +1 -1
  367. package/_types/config/token-maps/default-quote.d.ts.map +1 -1
  368. package/_types/config/token-maps/lsds.d.ts.map +1 -1
  369. package/_types/config/token-maps/short-name-to-currency.d.ts +4 -4
  370. package/_types/config/token-maps/short-name-to-currency.d.ts.map +1 -1
  371. package/_types/config/token-maps/stables.d.ts.map +1 -1
  372. package/_types/config/token-security.d.ts +2 -2
  373. package/_types/config/token-security.d.ts.map +1 -1
  374. package/_types/config/wallet.d.ts +2 -2
  375. package/_types/config/wallet.d.ts.map +1 -1
  376. package/_types/config/wnative.d.ts +2 -2
  377. package/_types/config/wnative.d.ts.map +1 -1
  378. package/_types/currency/currency.d.ts +4 -4
  379. package/_types/currency/currency.d.ts.map +1 -1
  380. package/_types/currency/native.d.ts +3 -2
  381. package/_types/currency/native.d.ts.map +1 -1
  382. package/_types/currency/token.d.ts +2 -1
  383. package/_types/currency/token.d.ts.map +1 -1
  384. package/_types/currency/tokens.d.ts.map +1 -1
  385. package/_types/currency/zod.d.ts +10 -10
  386. package/_types/currency/zod.d.ts.map +1 -1
  387. package/_types/format/id.d.ts +1 -2
  388. package/_types/format/id.d.ts.map +1 -1
  389. package/_types/index.d.ts +2 -2
  390. package/_types/index.d.ts.map +1 -1
  391. package/_types/pool/sushiswap-v2/zod.d.ts +16 -16
  392. package/_types/pool/sushiswap-v3/utils/computePoolAddress.d.ts +2 -2
  393. package/_types/pool/sushiswap-v3/utils/computePoolAddress.d.ts.map +1 -1
  394. package/_types/pool/trident-constant-product/zod.d.ts +16 -16
  395. package/_types/pool/trident-stable/zod.d.ts +16 -16
  396. package/_types/router/get-currency-combinations.d.ts +3 -3
  397. package/_types/router/get-currency-combinations.d.ts.map +1 -1
  398. package/_types/token-list/wrapped-token-info.d.ts +3 -3
  399. package/_types/token-list/wrapped-token-info.d.ts.map +1 -1
  400. package/_types/types/sushi-pool/pool-id.d.ts +2 -2
  401. package/_types/types/sushi-pool/pool-id.d.ts.map +1 -1
  402. package/_types/types/sushi-pool/pool-with-incentives.d.ts +2 -2
  403. package/_types/types/sushi-pool/pool-with-incentives.d.ts.map +1 -1
  404. package/_types/types/token.d.ts +2 -2
  405. package/_types/types/token.d.ts.map +1 -1
  406. package/address/getCreate2Address.ts +7 -3
  407. package/api/price.ts +6 -3
  408. package/chain/chain-key.ts +17 -0
  409. package/chain/{generate.ts → evm/generate.ts} +10 -17
  410. package/chain/evm/id.ts +68 -0
  411. package/chain/evm/index.ts +371 -0
  412. package/chain/id.ts +8 -64
  413. package/chain/index.ts +3 -376
  414. package/chain/non-evm/aptos/id.ts +5 -0
  415. package/chain/non-evm/aptos/index.ts +23 -0
  416. package/chain/non-evm/index.ts +2 -0
  417. package/chain/non-evm/tron/id.ts +5 -0
  418. package/chain/non-evm/tron/index.ts +23 -0
  419. package/config/api.ts +1 -4
  420. package/config/features/aggregator.ts +10 -10
  421. package/config/features/bentobox.ts +44 -44
  422. package/config/features/extractor.ts +44 -44
  423. package/config/features/furo.ts +17 -17
  424. package/config/features/master-chef.ts +7 -7
  425. package/config/features/merkl.ts +19 -19
  426. package/config/features/mini-chef.ts +36 -36
  427. package/config/features/pancakeswap-v2.ts +25 -25
  428. package/config/features/pancakeswap-v3.ts +30 -30
  429. package/config/features/route-processor.ts +336 -337
  430. package/config/features/squid.ts +32 -32
  431. package/config/features/stargate.ts +598 -595
  432. package/config/features/sushiswap-v2.ts +202 -202
  433. package/config/features/sushiswap-v3.ts +169 -173
  434. package/config/features/sushiswap.ts +2 -2
  435. package/config/features/sushixswap.ts +95 -95
  436. package/config/features/trident.ts +48 -46
  437. package/config/features/uniswap-v2.ts +19 -19
  438. package/config/features/uniswap-v3.ts +68 -68
  439. package/config/governance.ts +2 -2
  440. package/config/index.ts +0 -2
  441. package/config/native-ids.ts +65 -65
  442. package/config/subgraph/get-subgraph-url.ts +107 -0
  443. package/config/subgraph/hosts.ts +8 -11
  444. package/config/subgraph/max-first.ts +5 -5
  445. package/config/subgraph/seconds-between-blocks.ts +28 -28
  446. package/config/subgraph/subgraphs/bentobox.ts +26 -20
  447. package/config/subgraph/subgraphs/blocks.ts +49 -41
  448. package/config/subgraph/subgraphs/furo.ts +27 -19
  449. package/config/subgraph/subgraphs/master-chef-v1.ts +11 -2
  450. package/config/subgraph/subgraphs/master-chef-v2.ts +11 -2
  451. package/config/subgraph/subgraphs/mini-chef.ts +30 -25
  452. package/config/subgraph/subgraphs/sushi-bar.ts +11 -2
  453. package/config/subgraph/subgraphs/sushiswap-v2.ts +52 -39
  454. package/config/subgraph/subgraphs/sushiswap-v3.ts +47 -34
  455. package/config/token-chomper.ts +86 -86
  456. package/config/token-maps/additional-bases.ts +85 -81
  457. package/config/token-maps/bases-to-check-trades-against.ts +339 -339
  458. package/config/token-maps/custom-bases.ts +5 -5
  459. package/config/token-maps/default-bases.ts +370 -360
  460. package/config/token-maps/default-quote.ts +72 -69
  461. package/config/token-maps/lsds.ts +109 -109
  462. package/config/token-maps/short-name-to-currency.ts +257 -257
  463. package/config/token-maps/stables.ts +213 -183
  464. package/config/token-security.ts +17 -17
  465. package/config/wallet.ts +78 -78
  466. package/config/wnative.ts +2 -2
  467. package/currency/currency.ts +4 -6
  468. package/currency/native.ts +4 -4
  469. package/currency/token-addresses.ts +483 -483
  470. package/currency/token.ts +2 -1
  471. package/currency/tokens.ts +204 -200
  472. package/currency/zod.ts +3 -2
  473. package/format/id.ts +8 -4
  474. package/index.ts +2 -2
  475. package/package.json +1 -1
  476. package/pool/sushiswap-v2/sushiswap-v2-pool.ts +2 -2
  477. package/pool/sushiswap-v3/utils/computePoolAddress.ts +2 -2
  478. package/router/get-currency-combinations.ts +3 -3
  479. package/token-list/wrapped-token-info.ts +3 -3
  480. package/types/sushi-pool/pool-id.ts +2 -2
  481. package/types/sushi-pool/pool-with-incentives.ts +2 -2
  482. package/types/token.ts +2 -2
  483. package/_cjs/chain/generated-chain-data.js.map +0 -1
  484. package/_cjs/config/viem.js +0 -849
  485. package/_cjs/config/viem.js.map +0 -1
  486. package/_cjs/lowercase-map.js +0 -19
  487. package/_cjs/lowercase-map.js.map +0 -1
  488. package/_esm/chain/generated-chain-data.js.map +0 -1
  489. package/_esm/config/viem.js +0 -906
  490. package/_esm/config/viem.js.map +0 -1
  491. package/_esm/lowercase-map.js +0 -15
  492. package/_esm/lowercase-map.js.map +0 -1
  493. package/_types/config/viem.d.ts +0 -5279
  494. package/_types/config/viem.d.ts.map +0 -1
  495. package/_types/lowercase-map.d.ts +0 -7
  496. package/_types/lowercase-map.d.ts.map +0 -1
  497. package/config/viem.ts +0 -1046
  498. package/lowercase-map.ts +0 -14
  499. /package/_cjs/chain/{generated-chain-data.js → evm/generated-chain-data.js} +0 -0
  500. /package/_esm/chain/{generated-chain-data.js → evm/generated-chain-data.js} +0 -0
  501. /package/_types/chain/{generated-chain-data.d.ts → evm/generated-chain-data.d.ts} +0 -0
  502. /package/chain/{generated-chain-data.ts → evm/generated-chain-data.ts} +0 -0
@@ -1,68 +1,68 @@
1
- import { ChainId } from '../chain/index.js'
1
+ import { EvmChainId } from '../chain/evm/index.js'
2
2
 
3
3
  export const nativeCurrencyIds = {
4
- [ChainId.ETHEREUM]: 'ETH',
5
- [ChainId.SEPOLIA]: 'ETH',
6
- // [ChainId.ROPSTEN]: 'ETH',
7
- // [ChainId.RINKEBY]: 'ETH',
8
- // [ChainId.GÖRLI]: 'ETH',
9
- // [ChainId.KOVAN]: 'ETH',
10
- [ChainId.POLYGON]: 'MATIC',
11
- [ChainId.POLYGON_TESTNET]: 'MATIC',
12
- [ChainId.FANTOM]: 'FTM',
13
- [ChainId.FANTOM_TESTNET]: 'FTM',
14
- [ChainId.GNOSIS]: 'XDAI',
15
- [ChainId.BSC]: 'BNB',
16
- [ChainId.BSC_TESTNET]: 'BNB',
17
- [ChainId.ARBITRUM]: 'ETH',
18
- [ChainId.ARBITRUM_NOVA]: 'ETH',
19
- [ChainId.ARBITRUM_TESTNET]: 'ETH',
20
- [ChainId.AVALANCHE]: 'AVAX',
21
- [ChainId.AVALANCHE_TESTNET]: 'AVAX',
22
- [ChainId.HECO]: 'HT',
23
- // [ChainId.HECO_TESTNET]: 'HT',
24
- [ChainId.HARMONY]: 'ONE',
25
- // [ChainId.HARMONY_TESTNET]: 'ONE',
26
- [ChainId.OKEX]: 'OKT',
27
- // [ChainId.OKEX_TESTNET]: 'OKT',
28
- [ChainId.CELO]: 'CELO',
29
- [ChainId.PALM]: 'PALM',
30
- [ChainId.MOONRIVER]: 'MOVR',
31
- [ChainId.FUSE]: 'FUSE',
32
- [ChainId.TELOS]: 'TLOS',
33
- [ChainId.MOONBEAM]: 'GLMR',
34
- [ChainId.OPTIMISM]: 'ETH',
35
- [ChainId.KAVA]: 'KAVA',
36
- [ChainId.METIS]: 'METIS',
37
- [ChainId.BOBA]: 'ETH',
38
- [ChainId.BOBA_AVAX]: 'BOBA',
39
- [ChainId.BOBA_BNB]: 'BOBA',
40
- [ChainId.BTTC]: 'BTT',
41
- [ChainId.THUNDERCORE]: 'TT',
42
- // [ChainId.CONSENSUS_ZKEVM_TESTNET]: 'ETH',
43
- // [ChainId.SCROLL_ALPHA_TESTNET]: 'ETH',
44
- // [ChainId.BASE_TESTNET]: 'ETH',
45
- [ChainId.POLYGON_ZKEVM]: 'ETH',
46
- [ChainId.CORE]: 'CORE',
47
- [ChainId.HAQQ]: 'ISLM',
48
- [ChainId.ZKSYNC_ERA]: 'ETH',
49
- [ChainId.LINEA]: 'ETH',
50
- [ChainId.BASE]: 'ETH',
51
- [ChainId.SCROLL]: 'ETH',
52
- // [ChainId.SEPOLIA]: 'ETH',
53
- [ChainId.FILECOIN]: 'FIL',
54
- [ChainId.ZETACHAIN]: 'ZETA',
55
- [ChainId.CRONOS]: 'CRO',
56
- [ChainId.BLAST]: 'ETH',
57
- [ChainId.SKALE_EUROPA]: 'sFUEL',
58
- [ChainId.ROOTSTOCK]: 'RBTC',
59
- [ChainId.MANTLE]: 'MNT',
60
- [ChainId.CURTIS]: 'APE',
61
- [ChainId.MANTA]: 'ETH',
62
- [ChainId.MODE]: 'ETH',
63
- [ChainId.TAIKO]: 'ETH',
64
- [ChainId.ZKLINK]: 'ETH',
65
- [ChainId.APE]: 'APE',
66
- [ChainId.SONIC]: 'S',
67
- [ChainId.HEMI]: 'ETH',
4
+ [EvmChainId.ETHEREUM]: 'ETH',
5
+ [EvmChainId.SEPOLIA]: 'ETH',
6
+ // [EvmChainId.ROPSTEN]: 'ETH',
7
+ // [EvmChainId.RINKEBY]: 'ETH',
8
+ // [EvmChainId.GÖRLI]: 'ETH',
9
+ // [EvmChainId.KOVAN]: 'ETH',
10
+ [EvmChainId.POLYGON]: 'MATIC',
11
+ [EvmChainId.POLYGON_TESTNET]: 'MATIC',
12
+ [EvmChainId.FANTOM]: 'FTM',
13
+ [EvmChainId.FANTOM_TESTNET]: 'FTM',
14
+ [EvmChainId.GNOSIS]: 'XDAI',
15
+ [EvmChainId.BSC]: 'BNB',
16
+ [EvmChainId.BSC_TESTNET]: 'BNB',
17
+ [EvmChainId.ARBITRUM]: 'ETH',
18
+ [EvmChainId.ARBITRUM_NOVA]: 'ETH',
19
+ [EvmChainId.ARBITRUM_TESTNET]: 'ETH',
20
+ [EvmChainId.AVALANCHE]: 'AVAX',
21
+ [EvmChainId.AVALANCHE_TESTNET]: 'AVAX',
22
+ [EvmChainId.HECO]: 'HT',
23
+ // [EvmChainId.HECO_TESTNET]: 'HT',
24
+ [EvmChainId.HARMONY]: 'ONE',
25
+ // [EvmChainId.HARMONY_TESTNET]: 'ONE',
26
+ [EvmChainId.OKEX]: 'OKT',
27
+ // [EvmChainId.OKEX_TESTNET]: 'OKT',
28
+ [EvmChainId.CELO]: 'CELO',
29
+ [EvmChainId.PALM]: 'PALM',
30
+ [EvmChainId.MOONRIVER]: 'MOVR',
31
+ [EvmChainId.FUSE]: 'FUSE',
32
+ [EvmChainId.TELOS]: 'TLOS',
33
+ [EvmChainId.MOONBEAM]: 'GLMR',
34
+ [EvmChainId.OPTIMISM]: 'ETH',
35
+ [EvmChainId.KAVA]: 'KAVA',
36
+ [EvmChainId.METIS]: 'METIS',
37
+ [EvmChainId.BOBA]: 'ETH',
38
+ [EvmChainId.BOBA_AVAX]: 'BOBA',
39
+ [EvmChainId.BOBA_BNB]: 'BOBA',
40
+ [EvmChainId.BTTC]: 'BTT',
41
+ [EvmChainId.THUNDERCORE]: 'TT',
42
+ // [EvmChainId.CONSENSUS_ZKEVM_TESTNET]: 'ETH',
43
+ // [EvmChainId.SCROLL_ALPHA_TESTNET]: 'ETH',
44
+ // [EvmChainId.BASE_TESTNET]: 'ETH',
45
+ [EvmChainId.POLYGON_ZKEVM]: 'ETH',
46
+ [EvmChainId.CORE]: 'CORE',
47
+ [EvmChainId.HAQQ]: 'ISLM',
48
+ [EvmChainId.ZKSYNC_ERA]: 'ETH',
49
+ [EvmChainId.LINEA]: 'ETH',
50
+ [EvmChainId.BASE]: 'ETH',
51
+ [EvmChainId.SCROLL]: 'ETH',
52
+ // [EvmChainId.SEPOLIA]: 'ETH',
53
+ [EvmChainId.FILECOIN]: 'FIL',
54
+ [EvmChainId.ZETACHAIN]: 'ZETA',
55
+ [EvmChainId.CRONOS]: 'CRO',
56
+ [EvmChainId.BLAST]: 'ETH',
57
+ [EvmChainId.SKALE_EUROPA]: 'sFUEL',
58
+ [EvmChainId.ROOTSTOCK]: 'RBTC',
59
+ [EvmChainId.MANTLE]: 'MNT',
60
+ [EvmChainId.CURTIS]: 'APE',
61
+ [EvmChainId.MANTA]: 'ETH',
62
+ [EvmChainId.MODE]: 'ETH',
63
+ [EvmChainId.TAIKO]: 'ETH',
64
+ [EvmChainId.ZKLINK]: 'ETH',
65
+ [EvmChainId.APE]: 'APE',
66
+ [EvmChainId.SONIC]: 'S',
67
+ [EvmChainId.HEMI]: 'ETH',
68
68
  } as const
@@ -0,0 +1,107 @@
1
+ import type { ChainId } from '../../chain/index.js'
2
+ import {
3
+ getDecentralizedHostByDeploymentId,
4
+ getDecentralizedHostBySubgraphId,
5
+ } from './hosts.js'
6
+
7
+ type DecentralizedKey<IncludeKey extends boolean> = IncludeKey extends true
8
+ ? {
9
+ decentralizedKey: string
10
+ }
11
+ : {
12
+ decentralizedKey?: string
13
+ }
14
+
15
+ type Config<IncludeKey extends boolean> = DecentralizedKey<IncludeKey>
16
+
17
+ type Rest<IncludeKey extends boolean> = IncludeKey extends true
18
+ ? [config: Config<IncludeKey>]
19
+ : [config?: Config<IncludeKey>]
20
+
21
+ function isIn<T extends object>(key: PropertyKey, obj: T): key is keyof T {
22
+ return key in obj
23
+ }
24
+
25
+ type DecentralizedEntry = {
26
+ type: 'subgraphId' | 'deploymentId'
27
+ id: string
28
+ }
29
+
30
+ type _COMPLETENESS = 'COMPLETE' | 'PARTIAL'
31
+
32
+ // Double-wrap to allow of automatic DECENTRALIZED and OTHER type inference
33
+ function getSubgraphUrlWrapperWrapper<
34
+ DECENTRALIZED extends ChainId,
35
+ OTHER extends ChainId,
36
+ >(subgraphs: {
37
+ decentralizedIds: Record<DECENTRALIZED, DecentralizedEntry>
38
+ otherUrls: Record<OTHER, string>
39
+ }) {
40
+ // CHAINS is the union of related chainIds
41
+ // COMPLETENESS tells us if the list of subgraphs is complete or partial for the given chainIds
42
+ function getSubgraphUrlWrapper<
43
+ CHAINS extends COMPLETENESS extends 'COMPLETE'
44
+ ? DECENTRALIZED | OTHER
45
+ : ChainId,
46
+ COMPLETENESS extends _COMPLETENESS,
47
+ >() {
48
+ // Handles the actual url lookup
49
+ function getSubgraphUrl<
50
+ PASSED_CHAIN extends CHAINS & (DECENTRALIZED | OTHER),
51
+ >(
52
+ chainId: PASSED_CHAIN,
53
+ // Require the decentralized key only if the subgraph is on decentralized network
54
+ ...rest: Rest<PASSED_CHAIN extends DECENTRALIZED ? true : false>
55
+ ) {
56
+ const [config] = rest
57
+
58
+ if (isIn(chainId, subgraphs.decentralizedIds)) {
59
+ const _config = config as DecentralizedKey<true>
60
+
61
+ const entry = subgraphs.decentralizedIds[chainId]
62
+
63
+ if (entry.type === 'deploymentId') {
64
+ return `${getDecentralizedHostByDeploymentId(
65
+ _config.decentralizedKey,
66
+ )}/${subgraphs.decentralizedIds[chainId]}`
67
+ }
68
+
69
+ if (entry.type === 'subgraphId') {
70
+ return `${getDecentralizedHostBySubgraphId(
71
+ _config.decentralizedKey,
72
+ )}/${subgraphs.decentralizedIds[chainId]}`
73
+ }
74
+
75
+ throw new Error(`Invalid entry type: ${entry.type}`)
76
+ }
77
+
78
+ if (isIn(chainId, subgraphs.otherUrls)) {
79
+ return subgraphs.otherUrls[chainId]
80
+ }
81
+
82
+ throw new Error(`No subgraph found for chainId: ${chainId}`)
83
+ }
84
+
85
+ return getSubgraphUrl
86
+ }
87
+
88
+ return getSubgraphUrlWrapper
89
+ }
90
+
91
+ export { getSubgraphUrlWrapperWrapper as getSubgraphUrlWrapper }
92
+
93
+ export function wrapAsIdType<CHAIN extends ChainId>(
94
+ entries: Record<CHAIN, string>,
95
+ type: DecentralizedEntry['type'],
96
+ ) {
97
+ const result: Partial<Record<CHAIN, DecentralizedEntry>> = {}
98
+
99
+ for (const chainId in entries) {
100
+ result[chainId as CHAIN] = {
101
+ type: type,
102
+ id: entries[chainId as CHAIN],
103
+ }
104
+ }
105
+
106
+ return result as Record<CHAIN, DecentralizedEntry>
107
+ }
@@ -26,15 +26,12 @@ export const METIS_0XGRAPH_HOST =
26
26
  export const SKALE_HOST =
27
27
  'elated-tan-skat-graph.skalenodes.com:8000/subgraphs/name'
28
28
 
29
- const SUSHI_DOMAIN_RESTRICTED_API_KEY = '5d5d00365d2b8f675e12952d6eb5b9b0'
30
- const DECENTRALIZED_NETWORK_KEY =
31
- process.env['SUSHI_GRAPH_KEY'] ||
32
- process.env['NEXT_PUBLIC_SUSHI_GRAPH_KEY'] ||
33
- SUSHI_DOMAIN_RESTRICTED_API_KEY
34
- export const DECENTRALIZED_HOST_BY_SUBGRAPH_ID = `gateway-arbitrum.network.thegraph.com/api/${DECENTRALIZED_NETWORK_KEY}/subgraphs/id`
35
- export const DECENTRALIZED_HOST_BY_DEPLOYMENT_ID = `gateway-arbitrum.network.thegraph.com/api/${DECENTRALIZED_NETWORK_KEY}/deployments/id`
29
+ export const SUSHI_DOMAIN_RESTRICTED_API_KEY =
30
+ '5d5d00365d2b8f675e12952d6eb5b9b0'
36
31
 
37
- export const SUSHI_DATA_API_HOST =
38
- process.env['SUSHI_DATA_API_HOST'] ||
39
- process.env['NEXT_PUBLIC_SUSHI_DATA_API_HOST'] ||
40
- 'https://production.data-gcp.sushi.com'
32
+ export const getDecentralizedHostBySubgraphId = (key: string) =>
33
+ `gateway-arbitrum.network.thegraph.com/api/${key}/subgraphs/id`
34
+ export const getDecentralizedHostByDeploymentId = (key: string) =>
35
+ `gateway-arbitrum.network.thegraph.com/api/${key}/deployments/id`
36
+
37
+ export const SUSHI_DATA_API_HOST = 'https://production.data-gcp.sushi.com'
@@ -1,11 +1,11 @@
1
- import { ChainId } from '../../chain/index.js'
1
+ import { EvmChainId } from '../../chain/evm/index.js'
2
2
 
3
- const MAX_FIRST_PARTIAL: Partial<Record<ChainId, number>> = {
4
- [ChainId.METIS]: 100,
3
+ const MAX_FIRST_PARTIAL: Partial<Record<EvmChainId, number>> = {
4
+ [EvmChainId.METIS]: 100,
5
5
  }
6
6
 
7
7
  export const MAX_FIRST = new Proxy(MAX_FIRST_PARTIAL, {
8
8
  get: (target, name: any) => {
9
- return name in target ? target[name as ChainId] : 1000
9
+ return name in target ? target[name as EvmChainId] : 1000
10
10
  },
11
- }) as Record<ChainId, number>
11
+ }) as Record<EvmChainId, number>
@@ -1,30 +1,30 @@
1
- import { ChainId } from '../../chain/index.js'
1
+ import { EvmChainId } from '../../chain/evm/index.js'
2
2
 
3
- export const SECONDS_BETWEEN_BLOCKS: Partial<Record<ChainId, number>> = {
4
- [ChainId.ETHEREUM]: 12,
5
- [ChainId.GNOSIS]: 5,
6
- [ChainId.POLYGON]: 2,
7
- [ChainId.POLYGON_ZKEVM]: 5,
8
- [ChainId.FANTOM]: 2,
9
- [ChainId.BSC]: 3,
10
- [ChainId.HARMONY]: 2,
11
- [ChainId.AVALANCHE]: 2,
12
- [ChainId.CELO]: 5,
13
- [ChainId.ARBITRUM]: 0.25,
14
- [ChainId.OKEX]: 3.8,
15
- [ChainId.HECO]: 3,
16
- [ChainId.MOONRIVER]: 12.2,
17
- [ChainId.FUSE]: 5,
18
- // [ChainId.KOVAN]: 4,
19
- [ChainId.MOONBEAM]: 12.2,
20
- [ChainId.OPTIMISM]: 2,
21
- [ChainId.KAVA]: 6.3,
22
- [ChainId.METIS]: 4.5,
23
- [ChainId.ARBITRUM_NOVA]: 1,
24
- [ChainId.BOBA]: 250,
25
- [ChainId.BOBA_AVAX]: 612,
26
- [ChainId.BOBA_BNB]: 0.5,
27
- [ChainId.BTTC]: 2,
28
- [ChainId.THUNDERCORE]: 1,
29
- [ChainId.SCROLL]: 3,
3
+ export const SECONDS_BETWEEN_BLOCKS: Partial<Record<EvmChainId, number>> = {
4
+ [EvmChainId.ETHEREUM]: 12,
5
+ [EvmChainId.GNOSIS]: 5,
6
+ [EvmChainId.POLYGON]: 2,
7
+ [EvmChainId.POLYGON_ZKEVM]: 5,
8
+ [EvmChainId.FANTOM]: 2,
9
+ [EvmChainId.BSC]: 3,
10
+ [EvmChainId.HARMONY]: 2,
11
+ [EvmChainId.AVALANCHE]: 2,
12
+ [EvmChainId.CELO]: 5,
13
+ [EvmChainId.ARBITRUM]: 0.25,
14
+ [EvmChainId.OKEX]: 3.8,
15
+ [EvmChainId.HECO]: 3,
16
+ [EvmChainId.MOONRIVER]: 12.2,
17
+ [EvmChainId.FUSE]: 5,
18
+ // [EvmChainId.KOVAN]: 4,
19
+ [EvmChainId.MOONBEAM]: 12.2,
20
+ [EvmChainId.OPTIMISM]: 2,
21
+ [EvmChainId.KAVA]: 6.3,
22
+ [EvmChainId.METIS]: 4.5,
23
+ [EvmChainId.ARBITRUM_NOVA]: 1,
24
+ [EvmChainId.BOBA]: 250,
25
+ [EvmChainId.BOBA_AVAX]: 612,
26
+ [EvmChainId.BOBA_BNB]: 0.5,
27
+ [EvmChainId.BTTC]: 2,
28
+ [EvmChainId.THUNDERCORE]: 1,
29
+ [EvmChainId.SCROLL]: 3,
30
30
  } as const
@@ -1,22 +1,28 @@
1
- import { ChainId } from '../../../chain/index.js'
1
+ import { EvmChainId } from '../../../chain/evm/index.js'
2
2
  import type { BentoBoxChainId } from '../../features/bentobox.js'
3
- import {
4
- DECENTRALIZED_HOST_BY_DEPLOYMENT_ID,
5
- SUSHI_DEDICATED_GOLDSKY_HOST,
6
- } from '../hosts.js'
3
+ import { getSubgraphUrlWrapper, wrapAsIdType } from '../get-subgraph-url.js'
4
+ import { SUSHI_DEDICATED_GOLDSKY_HOST } from '../hosts.js'
7
5
 
8
- export const BENTOBOX_SUBGRAPH_URL: Partial<Record<BentoBoxChainId, string>> = {
9
- [ChainId.ETHEREUM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmRLTuSKgS8GbioD9vfAmn9dUUm5uVPptUdFMS5LG4yzAA`,
10
- [ChainId.POLYGON]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmYyjZXjfUaqe359vzGgxe2ju1qJPiQM68pG2ipfNL8F7F`,
11
- [ChainId.AVALANCHE]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmY9S4TVSMX6bcjVnvRhntMUS6ppdv23ktNhLQkWm5PaVn`,
12
- [ChainId.BSC]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmdnkNhFRuDcshaD6RXTf4zSqHntUtnHGr2krUtbzfF9F7`,
13
- [ChainId.FANTOM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmRqdvBLBWVw2JtnDj2JAtZnVkTt4DvGBuiFtphvVYAe9U`,
14
- [ChainId.GNOSIS]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmT3VpmrGD7bbPGT6aKqaK4yg3u73ryhgp5kEM2BVTEWFj`,
15
- [ChainId.ARBITRUM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmdCukF6WX46K2Lgy4QJR8AyKQByc2NCRAUAyRxm9uA4uZ`,
16
- [ChainId.CELO]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmZC9vYPNAdew2U4qAYXCjBGwfrpwvxKRm3RE2njwzwgxE`,
17
- [ChainId.MOONRIVER]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmXU45n3iB7AKQWLwAMs2MaGkkMjqF7sF8QW32NxQKFLx9`,
18
- [ChainId.MOONBEAM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmZG6wYBro1aU5Sg2V3J3n6omQcJCAZsmnMoJNp68Em4s2`,
19
- [ChainId.OPTIMISM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmbQQsmYqNoVdWG9fpffvcqeg6zvwDjUxE3T65AB1Lmmha`,
20
- [ChainId.HARMONY]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmcHkq534QMFaGWsPqkeKeuGLwZwVKK7KRqZE3cKxaEojH`,
21
- [ChainId.BTTC]: `${SUSHI_DEDICATED_GOLDSKY_HOST}/sushiswap/bentobox-bttc/gn`,
22
- }
6
+ const BENTOBOX_DECENTRALIZED_IDS = {
7
+ [EvmChainId.ETHEREUM]: `QmRLTuSKgS8GbioD9vfAmn9dUUm5uVPptUdFMS5LG4yzAA`,
8
+ [EvmChainId.POLYGON]: `QmYyjZXjfUaqe359vzGgxe2ju1qJPiQM68pG2ipfNL8F7F`,
9
+ [EvmChainId.AVALANCHE]: `QmY9S4TVSMX6bcjVnvRhntMUS6ppdv23ktNhLQkWm5PaVn`,
10
+ [EvmChainId.BSC]: `QmdnkNhFRuDcshaD6RXTf4zSqHntUtnHGr2krUtbzfF9F7`,
11
+ [EvmChainId.FANTOM]: `QmRqdvBLBWVw2JtnDj2JAtZnVkTt4DvGBuiFtphvVYAe9U`,
12
+ [EvmChainId.GNOSIS]: `QmT3VpmrGD7bbPGT6aKqaK4yg3u73ryhgp5kEM2BVTEWFj`,
13
+ [EvmChainId.ARBITRUM]: `QmdCukF6WX46K2Lgy4QJR8AyKQByc2NCRAUAyRxm9uA4uZ`,
14
+ [EvmChainId.CELO]: `QmZC9vYPNAdew2U4qAYXCjBGwfrpwvxKRm3RE2njwzwgxE`,
15
+ [EvmChainId.MOONRIVER]: `QmXU45n3iB7AKQWLwAMs2MaGkkMjqF7sF8QW32NxQKFLx9`,
16
+ [EvmChainId.MOONBEAM]: `QmZG6wYBro1aU5Sg2V3J3n6omQcJCAZsmnMoJNp68Em4s2`,
17
+ [EvmChainId.OPTIMISM]: `QmbQQsmYqNoVdWG9fpffvcqeg6zvwDjUxE3T65AB1Lmmha`,
18
+ [EvmChainId.HARMONY]: `QmcHkq534QMFaGWsPqkeKeuGLwZwVKK7KRqZE3cKxaEojH`,
19
+ } as const satisfies Partial<Record<BentoBoxChainId, string>>
20
+
21
+ const BENTOBOX_OTHER_URLS = {
22
+ [EvmChainId.BTTC]: `${SUSHI_DEDICATED_GOLDSKY_HOST}/sushiswap/bentobox-bttc/gn`,
23
+ } as const satisfies Partial<Record<BentoBoxChainId, string>>
24
+
25
+ export const getBentoBoxSubgraphUrl = getSubgraphUrlWrapper({
26
+ decentralizedIds: wrapAsIdType(BENTOBOX_DECENTRALIZED_IDS, 'deploymentId'),
27
+ otherUrls: BENTOBOX_OTHER_URLS,
28
+ })<BentoBoxChainId, 'PARTIAL'>()
@@ -1,7 +1,7 @@
1
- import { ChainId } from '../../../chain/index.js'
1
+ import { EvmChainId } from '../../../chain/index.js'
2
+ import { getSubgraphUrlWrapper, wrapAsIdType } from '../get-subgraph-url.js'
2
3
  import {
3
4
  CORE_HOST,
4
- DECENTRALIZED_HOST_BY_DEPLOYMENT_ID,
5
5
  FILECOIN_HOST,
6
6
  HAQQ_HOST,
7
7
  METIS_0XGRAPH_HOST,
@@ -12,42 +12,50 @@ import {
12
12
  WAGMI_KAVA_HOST,
13
13
  } from '../hosts.js'
14
14
 
15
- export const BLOCKS_SUBGRAPH_URL: Partial<Record<ChainId, string>> = {
16
- [ChainId.ETHEREUM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/Qmc9SpuEmLpQEHMsS91gUn1ezxhMT6rZvtPmvJFcMFs4jf`,
17
- [ChainId.GNOSIS]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmSuECAqbS4rBjaiQxT6rDKGbXZrZf3pbaNoWaPybM8LPb`,
18
- [ChainId.POLYGON]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmW4KMXwa16mqLtcZP6pNPu8od4WBcDTZ88Cer3NWJHarY`,
19
- [ChainId.POLYGON_ZKEVM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmPkSqnWiEkJHHfBgo3n3RkXSKpJ5K1a3jYMXTgUrtiaBd`,
20
- [ChainId.FANTOM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmW23f8YMmvRaL97XScHWKtL2LJijJu52brHuXq73McrVA`,
21
- [ChainId.BSC]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmZhXTrZX9HTAzkHa4KYXffzzGBDMJhqSBkqKUDmhpay2o`,
22
- [ChainId.HARMONY]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmXByYZwFH59hUWUuYqz6Kh62wxn1QUaW2Dw9YgyzxnPG8`,
23
- [ChainId.AVALANCHE]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmcEuwgrisQJBiw17g67nR4o2zvMTXZKzBR436GeiEfRAu`,
24
- [ChainId.CELO]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmZVmmn6K9FLHXMT3KuFV754NyAXSLPidz9LCqabmRAQWd`,
25
- [ChainId.ARBITRUM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmUGLeBFVtYiSoHX1ZdvwDDFYANtrwpXNa2g3XobfrcHfc`,
26
- [ChainId.MOONRIVER]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmahwQzHutiz9w9VJmfkDBtRrkyHJgxVDCGmP5KyL7n4py`,
27
- [ChainId.FUSE]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/Qmb5xV1EEk5uUr51mG3UrVxwqC4W3WGPEHV4bj69xRX6BX`,
28
- [ChainId.MOONBEAM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmRd2AMHySTBE6y7UkvRm8vxuNmYqHHZ4G27J63JyWkt9h`,
29
- [ChainId.OPTIMISM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmVie4YxCAuG5LPMbTgDNcop31BVsptbkCSKcCQXSg2XMh`,
30
- [ChainId.BOBA]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmZyzP3zWmgt3duVgTX3ZveumhJQwiDnpJhQUJDx4pToM9`,
31
- [ChainId.BASE]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmVvYAaZxH8NZTT7GP7rCWNa3c82MRNKxcqFUDTjrrT9Vm`,
32
- [ChainId.LINEA]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmbSc9Y7fLrp6xSceRuAdLcF3qASdP3iDFYWnBFSRPSABp`,
33
- [ChainId.SCROLL]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmeiBVERaEaBvDeXvNhSbCXVq1PxsshdKua5Y6b8Bqnuzu`,
34
- // [ChainId.OKEX]: `${GRAPH_HOST}/okexchain-blocks/oec`,
35
- // [ChainId.HECO]: `${GRAPH_HOST}/hecoblocks/heco`,
36
- // [ChainId.KOVAN]: `${GRAPH_HOST}/blocklytics/kovan-blocks`,
37
- [ChainId.KAVA]: `${WAGMI_KAVA_HOST}/blocks`,
38
- [ChainId.METIS]: `${METIS_0XGRAPH_HOST}/sushiswap/blocks-metis`,
39
- // [ChainId.METIS]: `${WAGMI_METIS_HOST}/blocks`,
40
- [ChainId.ARBITRUM_NOVA]: `${SUSHI_GOLDSKY_HOST}/blocks/arbitrum-nova/gn`,
41
- [ChainId.BOBA_BNB]: `${SUSHI_GOLDSKY_HOST}/blocks/boba-bnb/gn`,
42
- [ChainId.BTTC]: `${SUSHI_GOLDSKY_HOST}/blocks/bttc-mainnet/gn`,
43
- [ChainId.THUNDERCORE]: `${THUNDERCORE_HOST}/sushiswap/blocks-thundercore`,
44
- [ChainId.CORE]: `${CORE_HOST}/sushiswap/blocks-core`,
45
- [ChainId.FILECOIN]: `${FILECOIN_HOST}/sushiswap/blocks`,
46
- [ChainId.HAQQ]: `${HAQQ_HOST}/sushi/blocks-haqq`,
47
- [ChainId.ZETACHAIN]: `${SUSHI_GOLDSKY_HOST}/blocks-zetachain/1.0.0/gn`,
48
- [ChainId.BLAST]: `${SUSHI_DEDICATED_GOLDSKY_HOST}/sushiswap/blocks-blast/gn`,
49
- [ChainId.SKALE_EUROPA]: `${SKALE_HOST}/sushi/blocks-skale-europa`,
50
- [ChainId.ROOTSTOCK]: `${SUSHI_DEDICATED_GOLDSKY_HOST}/sushiswap/blocks-rootstock/gn`,
51
- [ChainId.SONIC]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmdAhLuQAv9GfsWctJ8R36bYr6Gdp2GgUGSR2EDUNfb96h`,
52
- [ChainId.HEMI]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmaiDWUnDJ4sGaW8ANNPjype8FDYe1G3gseSTRotmr83CL`,
53
- }
15
+ const BLOCKS_DECENTRALIZED_IDS = {
16
+ [EvmChainId.ETHEREUM]: `Qmc9SpuEmLpQEHMsS91gUn1ezxhMT6rZvtPmvJFcMFs4jf`,
17
+ [EvmChainId.GNOSIS]: `QmSuECAqbS4rBjaiQxT6rDKGbXZrZf3pbaNoWaPybM8LPb`,
18
+ [EvmChainId.POLYGON]: `QmW4KMXwa16mqLtcZP6pNPu8od4WBcDTZ88Cer3NWJHarY`,
19
+ [EvmChainId.POLYGON_ZKEVM]: `QmPkSqnWiEkJHHfBgo3n3RkXSKpJ5K1a3jYMXTgUrtiaBd`,
20
+ [EvmChainId.FANTOM]: `QmW23f8YMmvRaL97XScHWKtL2LJijJu52brHuXq73McrVA`,
21
+ [EvmChainId.BSC]: `QmZhXTrZX9HTAzkHa4KYXffzzGBDMJhqSBkqKUDmhpay2o`,
22
+ [EvmChainId.HARMONY]: `QmXByYZwFH59hUWUuYqz6Kh62wxn1QUaW2Dw9YgyzxnPG8`,
23
+ [EvmChainId.AVALANCHE]: `QmcEuwgrisQJBiw17g67nR4o2zvMTXZKzBR436GeiEfRAu`,
24
+ [EvmChainId.CELO]: `QmZVmmn6K9FLHXMT3KuFV754NyAXSLPidz9LCqabmRAQWd`,
25
+ [EvmChainId.ARBITRUM]: `QmUGLeBFVtYiSoHX1ZdvwDDFYANtrwpXNa2g3XobfrcHfc`,
26
+ [EvmChainId.MOONRIVER]: `QmahwQzHutiz9w9VJmfkDBtRrkyHJgxVDCGmP5KyL7n4py`,
27
+ [EvmChainId.FUSE]: `Qmb5xV1EEk5uUr51mG3UrVxwqC4W3WGPEHV4bj69xRX6BX`,
28
+ [EvmChainId.MOONBEAM]: `QmRd2AMHySTBE6y7UkvRm8vxuNmYqHHZ4G27J63JyWkt9h`,
29
+ [EvmChainId.OPTIMISM]: `QmVie4YxCAuG5LPMbTgDNcop31BVsptbkCSKcCQXSg2XMh`,
30
+ [EvmChainId.BOBA]: `QmZyzP3zWmgt3duVgTX3ZveumhJQwiDnpJhQUJDx4pToM9`,
31
+ [EvmChainId.BASE]: `QmVvYAaZxH8NZTT7GP7rCWNa3c82MRNKxcqFUDTjrrT9Vm`,
32
+ [EvmChainId.LINEA]: `QmbSc9Y7fLrp6xSceRuAdLcF3qASdP3iDFYWnBFSRPSABp`,
33
+ [EvmChainId.SCROLL]: `QmeiBVERaEaBvDeXvNhSbCXVq1PxsshdKua5Y6b8Bqnuzu`,
34
+ [EvmChainId.SONIC]: `QmdAhLuQAv9GfsWctJ8R36bYr6Gdp2GgUGSR2EDUNfb96h`,
35
+ [EvmChainId.HEMI]: `QmaiDWUnDJ4sGaW8ANNPjype8FDYe1G3gseSTRotmr83CL`,
36
+ } as const satisfies Partial<Record<EvmChainId, string>>
37
+
38
+ const BLOCKS_OTHER_URLS = {
39
+ // [EvmChainId.OKEX]: `${GRAPH_HOST}/okexchain-blocks/oec`,
40
+ // [EvmChainId.HECO]: `${GRAPH_HOST}/hecoblocks/heco`,
41
+ // [EvmChainId.KOVAN]: `${GRAPH_HOST}/blocklytics/kovan-blocks`,
42
+ [EvmChainId.KAVA]: `${WAGMI_KAVA_HOST}/blocks`,
43
+ [EvmChainId.METIS]: `${METIS_0XGRAPH_HOST}/sushiswap/blocks-metis`,
44
+ // [EvmChainId.METIS]: `${WAGMI_METIS_HOST}/blocks`,
45
+ [EvmChainId.ARBITRUM_NOVA]: `${SUSHI_GOLDSKY_HOST}/blocks/arbitrum-nova/gn`,
46
+ [EvmChainId.BOBA_BNB]: `${SUSHI_GOLDSKY_HOST}/blocks/boba-bnb/gn`,
47
+ [EvmChainId.BTTC]: `${SUSHI_GOLDSKY_HOST}/blocks/bttc-mainnet/gn`,
48
+ [EvmChainId.THUNDERCORE]: `${THUNDERCORE_HOST}/sushiswap/blocks-thundercore`,
49
+ [EvmChainId.CORE]: `${CORE_HOST}/sushiswap/blocks-core`,
50
+ [EvmChainId.FILECOIN]: `${FILECOIN_HOST}/sushiswap/blocks`,
51
+ [EvmChainId.HAQQ]: `${HAQQ_HOST}/sushi/blocks-haqq`,
52
+ [EvmChainId.ZETACHAIN]: `${SUSHI_GOLDSKY_HOST}/blocks-zetachain/1.0.0/gn`,
53
+ [EvmChainId.BLAST]: `${SUSHI_DEDICATED_GOLDSKY_HOST}/sushiswap/blocks-blast/gn`,
54
+ [EvmChainId.SKALE_EUROPA]: `${SKALE_HOST}/sushi/blocks-skale-europa`,
55
+ [EvmChainId.ROOTSTOCK]: `${SUSHI_DEDICATED_GOLDSKY_HOST}/sushiswap/blocks-rootstock/gn`,
56
+ } as const satisfies Partial<Record<EvmChainId, string>>
57
+
58
+ export const getBlocksSubgraphUrl = getSubgraphUrlWrapper({
59
+ decentralizedIds: wrapAsIdType(BLOCKS_DECENTRALIZED_IDS, 'deploymentId'),
60
+ otherUrls: BLOCKS_OTHER_URLS,
61
+ })<EvmChainId, 'PARTIAL'>()
@@ -1,27 +1,35 @@
1
- import { ChainId } from '../../../chain/index.js'
1
+ import { EvmChainId } from '../../../chain/evm/index.js'
2
2
  import type { FuroChainId } from '../../features/furo.js'
3
+ import { getSubgraphUrlWrapper, wrapAsIdType } from '../get-subgraph-url.js'
3
4
  import {
4
5
  CORE_HOST,
5
- DECENTRALIZED_HOST_BY_DEPLOYMENT_ID,
6
6
  HAQQ_HOST,
7
7
  SUSHI_DEDICATED_GOLDSKY_HOST,
8
8
  THUNDERCORE_HOST,
9
9
  } from '../hosts.js'
10
10
 
11
- export const FURO_SUBGRAPH_URL: Record<FuroChainId, string> = {
12
- [ChainId.ETHEREUM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmQLU8dEJcxYj7rVGbGWRYHrhKifbQKTtPRfKhHw1aszWh`,
13
- [ChainId.ARBITRUM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmQV6TaRFgBdk4ykzpf6mfdWVB2GLVjkidJZ2YWctR2w2C`,
14
- [ChainId.AVALANCHE]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmbBFHznvVVj5FHA32nHCJ3EEbGBFV7gbnEJ7MvcfJSWRg`,
15
- [ChainId.BSC]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmVQ9jq4bBgfGKzKBL1AjYFGTqLEAYqTPUbs9YienYewpf`,
16
- [ChainId.FANTOM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmUCx4QRvmDiP1fJaE8RQ72YkkXP9c62rckyhf9EPh87aj`,
17
- [ChainId.GNOSIS]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/Qmf7PkcBd251aKyxCcMPRBWKc76tZ8k1xmVMSZ5zKqoSbh`,
18
- [ChainId.HARMONY]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/Qma2FYbCR7iBQmGaGN4oLMB5TtnBcN9bgTttYyt3vD6xXX`,
19
- [ChainId.MOONBEAM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmNwmGQw2vcK991B7MJCJgsZAS8Mt2fQZ41qrPMJFVKaAU`,
20
- [ChainId.MOONRIVER]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmdChdTYcr6YgfKHw6FCUtJsfZBEQkvsoAkiRAs1GcGWMZ`,
21
- [ChainId.OPTIMISM]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmajmWiw8tyhgJcGk69QiL2gEXqniM3PNPAaLjPh6dYfpf`,
22
- [ChainId.POLYGON]: `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmT25bz8HV5173wbZ21vcMR76R34BW7Bix4fES9iibBKKW`,
23
- [ChainId.HAQQ]: `${HAQQ_HOST}/sushi/furo-haqq`,
24
- [ChainId.CORE]: `${CORE_HOST}/sushi-subgraphs/furo-core`,
25
- [ChainId.THUNDERCORE]: `${THUNDERCORE_HOST}/sushi-subgraphs/furo-thundercore`,
26
- [ChainId.BTTC]: `${SUSHI_DEDICATED_GOLDSKY_HOST}/sushi-subgraphs/furo-bttc/gn`,
27
- }
11
+ const FURO_DECENTRALIZED_IDS = {
12
+ [EvmChainId.ETHEREUM]: `QmQLU8dEJcxYj7rVGbGWRYHrhKifbQKTtPRfKhHw1aszWh`,
13
+ [EvmChainId.ARBITRUM]: `QmQV6TaRFgBdk4ykzpf6mfdWVB2GLVjkidJZ2YWctR2w2C`,
14
+ [EvmChainId.AVALANCHE]: `QmbBFHznvVVj5FHA32nHCJ3EEbGBFV7gbnEJ7MvcfJSWRg`,
15
+ [EvmChainId.BSC]: `QmVQ9jq4bBgfGKzKBL1AjYFGTqLEAYqTPUbs9YienYewpf`,
16
+ [EvmChainId.FANTOM]: `QmUCx4QRvmDiP1fJaE8RQ72YkkXP9c62rckyhf9EPh87aj`,
17
+ [EvmChainId.GNOSIS]: `Qmf7PkcBd251aKyxCcMPRBWKc76tZ8k1xmVMSZ5zKqoSbh`,
18
+ [EvmChainId.HARMONY]: `Qma2FYbCR7iBQmGaGN4oLMB5TtnBcN9bgTttYyt3vD6xXX`,
19
+ [EvmChainId.MOONBEAM]: `QmNwmGQw2vcK991B7MJCJgsZAS8Mt2fQZ41qrPMJFVKaAU`,
20
+ [EvmChainId.MOONRIVER]: `QmdChdTYcr6YgfKHw6FCUtJsfZBEQkvsoAkiRAs1GcGWMZ`,
21
+ [EvmChainId.OPTIMISM]: `QmajmWiw8tyhgJcGk69QiL2gEXqniM3PNPAaLjPh6dYfpf`,
22
+ [EvmChainId.POLYGON]: `QmT25bz8HV5173wbZ21vcMR76R34BW7Bix4fES9iibBKKW`,
23
+ } as const satisfies Partial<Record<FuroChainId, string>>
24
+
25
+ const FURO_OTHER_URLS = {
26
+ [EvmChainId.HAQQ]: `${HAQQ_HOST}/sushi/furo-haqq`,
27
+ [EvmChainId.CORE]: `${CORE_HOST}/sushi-subgraphs/furo-core`,
28
+ [EvmChainId.THUNDERCORE]: `${THUNDERCORE_HOST}/sushi-subgraphs/furo-thundercore`,
29
+ [EvmChainId.BTTC]: `${SUSHI_DEDICATED_GOLDSKY_HOST}/sushi-subgraphs/furo-bttc/gn`,
30
+ } as const satisfies Partial<Record<FuroChainId, string>>
31
+
32
+ export const getFuroSubgraphUrl = getSubgraphUrlWrapper({
33
+ decentralizedIds: wrapAsIdType(FURO_DECENTRALIZED_IDS, 'deploymentId'),
34
+ otherUrls: FURO_OTHER_URLS,
35
+ })<FuroChainId, 'COMPLETE'>()
@@ -1,3 +1,12 @@
1
- import { DECENTRALIZED_HOST_BY_DEPLOYMENT_ID } from '../hosts.js'
1
+ import { ChainId } from '../../../chain/id.js'
2
+ import { getSubgraphUrlWrapper } from '../get-subgraph-url.js'
2
3
 
3
- export const MASTERCHEF_V1_SUBGRAPH_URL = `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmQdLeKXfkgjE35QmBNTeEac4Fa4SvqYZ9wWJF43Nwv8KH`
4
+ export const getMasterChefV1SubgraphUrl = getSubgraphUrlWrapper({
5
+ decentralizedIds: {
6
+ [ChainId.ETHEREUM]: {
7
+ type: 'deploymentId',
8
+ id: 'QmQdLeKXfkgjE35QmBNTeEac4Fa4SvqYZ9wWJF43Nwv8KH',
9
+ },
10
+ },
11
+ otherUrls: {},
12
+ })()
@@ -1,3 +1,12 @@
1
- import { DECENTRALIZED_HOST_BY_DEPLOYMENT_ID } from '../hosts.js'
1
+ import { ChainId } from '../../../chain/id.js'
2
+ import { getSubgraphUrlWrapper } from '../get-subgraph-url.js'
2
3
 
3
- export const MASTERCHEF_V2_SUBGRAPH_URL = `${DECENTRALIZED_HOST_BY_DEPLOYMENT_ID}/QmTbcaVrmr3VBKNhNjrqkhLo2WtPBA7Ana9eqj4PD216K1`
4
+ export const getMasterChefV2SubgraphUrl = getSubgraphUrlWrapper({
5
+ decentralizedIds: {
6
+ [ChainId.ETHEREUM]: {
7
+ type: 'deploymentId',
8
+ id: 'QmTbcaVrmr3VBKNhNjrqkhLo2WtPBA7Ana9eqj4PD216K1',
9
+ },
10
+ },
11
+ otherUrls: {},
12
+ })()