@kumbaya_xyz/smart-order-router 4.22.38

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 (522) hide show
  1. package/CHANGELOG.md +255 -0
  2. package/LICENSE +674 -0
  3. package/README.md +315 -0
  4. package/build/main/index.d.ts +3 -0
  5. package/build/main/index.js +20 -0
  6. package/build/main/providers/cache-node.d.ts +10 -0
  7. package/build/main/providers/cache-node.js +33 -0
  8. package/build/main/providers/cache.d.ts +14 -0
  9. package/build/main/providers/cache.js +3 -0
  10. package/build/main/providers/caching/route/index.d.ts +2 -0
  11. package/build/main/providers/caching/route/index.js +19 -0
  12. package/build/main/providers/caching/route/model/cache-mode.d.ts +16 -0
  13. package/build/main/providers/caching/route/model/cache-mode.js +21 -0
  14. package/build/main/providers/caching/route/model/cached-route.d.ts +29 -0
  15. package/build/main/providers/caching/route/model/cached-route.js +77 -0
  16. package/build/main/providers/caching/route/model/cached-routes.d.ts +67 -0
  17. package/build/main/providers/caching/route/model/cached-routes.js +81 -0
  18. package/build/main/providers/caching/route/model/index.d.ts +3 -0
  19. package/build/main/providers/caching/route/model/index.js +20 -0
  20. package/build/main/providers/caching/route/route-caching-provider.d.ts +111 -0
  21. package/build/main/providers/caching/route/route-caching-provider.js +86 -0
  22. package/build/main/providers/caching-gas-provider.d.ts +23 -0
  23. package/build/main/providers/caching-gas-provider.js +41 -0
  24. package/build/main/providers/caching-subgraph-provider.d.ts +33 -0
  25. package/build/main/providers/caching-subgraph-provider.js +170 -0
  26. package/build/main/providers/caching-token-list-provider.d.ts +52 -0
  27. package/build/main/providers/caching-token-list-provider.js +147 -0
  28. package/build/main/providers/caching-token-provider.d.ts +24 -0
  29. package/build/main/providers/caching-token-provider.js +242 -0
  30. package/build/main/providers/eip-1559-gas-price-provider.d.ts +31 -0
  31. package/build/main/providers/eip-1559-gas-price-provider.js +71 -0
  32. package/build/main/providers/eth-estimate-gas-provider.d.ts +21 -0
  33. package/build/main/providers/eth-estimate-gas-provider.js +91 -0
  34. package/build/main/providers/eth-gas-station-info-gas-price-provider.d.ts +19 -0
  35. package/build/main/providers/eth-gas-station-info-gas-price-provider.js +36 -0
  36. package/build/main/providers/gas-price-provider.d.ts +10 -0
  37. package/build/main/providers/gas-price-provider.js +10 -0
  38. package/build/main/providers/index.d.ts +47 -0
  39. package/build/main/providers/index.js +64 -0
  40. package/build/main/providers/legacy-gas-price-provider.d.ts +7 -0
  41. package/build/main/providers/legacy-gas-price-provider.js +18 -0
  42. package/build/main/providers/multicall-provider.d.ts +83 -0
  43. package/build/main/providers/multicall-provider.js +15 -0
  44. package/build/main/providers/multicall-uniswap-provider.d.ts +37 -0
  45. package/build/main/providers/multicall-uniswap-provider.js +164 -0
  46. package/build/main/providers/on-chain-gas-price-provider.d.ts +19 -0
  47. package/build/main/providers/on-chain-gas-price-provider.js +37 -0
  48. package/build/main/providers/on-chain-quote-provider.d.ts +258 -0
  49. package/build/main/providers/on-chain-quote-provider.js +713 -0
  50. package/build/main/providers/pool-provider.d.ts +45 -0
  51. package/build/main/providers/pool-provider.js +73 -0
  52. package/build/main/providers/portion-provider.d.ts +86 -0
  53. package/build/main/providers/portion-provider.js +118 -0
  54. package/build/main/providers/provider.d.ts +38 -0
  55. package/build/main/providers/provider.js +3 -0
  56. package/build/main/providers/simulation-provider.d.ts +46 -0
  57. package/build/main/providers/simulation-provider.js +138 -0
  58. package/build/main/providers/static-gas-price-provider.d.ts +7 -0
  59. package/build/main/providers/static-gas-price-provider.js +13 -0
  60. package/build/main/providers/subgraph-provider-with-fallback.d.ts +11 -0
  61. package/build/main/providers/subgraph-provider-with-fallback.js +25 -0
  62. package/build/main/providers/subgraph-provider.d.ts +56 -0
  63. package/build/main/providers/subgraph-provider.js +287 -0
  64. package/build/main/providers/swap-router-provider.d.ts +30 -0
  65. package/build/main/providers/swap-router-provider.js +42 -0
  66. package/build/main/providers/tenderly-simulation-provider.d.ts +69 -0
  67. package/build/main/providers/tenderly-simulation-provider.js +458 -0
  68. package/build/main/providers/token-fee-fetcher.d.ts +31 -0
  69. package/build/main/providers/token-fee-fetcher.js +165 -0
  70. package/build/main/providers/token-properties-provider.d.ts +31 -0
  71. package/build/main/providers/token-properties-provider.js +118 -0
  72. package/build/main/providers/token-provider.d.ts +141 -0
  73. package/build/main/providers/token-provider.js +394 -0
  74. package/build/main/providers/token-validator-provider.d.ts +42 -0
  75. package/build/main/providers/token-validator-provider.js +99 -0
  76. package/build/main/providers/uri-subgraph-provider.d.ts +20 -0
  77. package/build/main/providers/uri-subgraph-provider.js +65 -0
  78. package/build/main/providers/v2/caching-pool-provider.d.ts +33 -0
  79. package/build/main/providers/v2/caching-pool-provider.js +89 -0
  80. package/build/main/providers/v2/caching-subgraph-provider.d.ts +19 -0
  81. package/build/main/providers/v2/caching-subgraph-provider.js +24 -0
  82. package/build/main/providers/v2/pool-provider.d.ts +63 -0
  83. package/build/main/providers/v2/pool-provider.js +148 -0
  84. package/build/main/providers/v2/quote-provider.d.ts +34 -0
  85. package/build/main/providers/v2/quote-provider.js +90 -0
  86. package/build/main/providers/v2/static-subgraph-provider.d.ts +19 -0
  87. package/build/main/providers/v2/static-subgraph-provider.js +171 -0
  88. package/build/main/providers/v2/subgraph-provider-with-fallback.d.ts +16 -0
  89. package/build/main/providers/v2/subgraph-provider-with-fallback.js +23 -0
  90. package/build/main/providers/v2/subgraph-provider.d.ts +53 -0
  91. package/build/main/providers/v2/subgraph-provider.js +344 -0
  92. package/build/main/providers/v2/uri-subgraph-provider.d.ts +4 -0
  93. package/build/main/providers/v2/uri-subgraph-provider.js +8 -0
  94. package/build/main/providers/v3/caching-pool-provider.d.ts +32 -0
  95. package/build/main/providers/v3/caching-pool-provider.js +84 -0
  96. package/build/main/providers/v3/caching-subgraph-provider.d.ts +19 -0
  97. package/build/main/providers/v3/caching-subgraph-provider.js +24 -0
  98. package/build/main/providers/v3/gas-data-provider.d.ts +39 -0
  99. package/build/main/providers/v3/gas-data-provider.js +26 -0
  100. package/build/main/providers/v3/pool-provider.d.ts +77 -0
  101. package/build/main/providers/v3/pool-provider.js +108 -0
  102. package/build/main/providers/v3/static-subgraph-provider.d.ts +21 -0
  103. package/build/main/providers/v3/static-subgraph-provider.js +217 -0
  104. package/build/main/providers/v3/subgraph-provider-with-fallback.d.ts +12 -0
  105. package/build/main/providers/v3/subgraph-provider-with-fallback.js +19 -0
  106. package/build/main/providers/v3/subgraph-provider.d.ts +45 -0
  107. package/build/main/providers/v3/subgraph-provider.js +46 -0
  108. package/build/main/providers/v3/uri-subgraph-provider.d.ts +4 -0
  109. package/build/main/providers/v3/uri-subgraph-provider.js +8 -0
  110. package/build/main/providers/v4/caching-pool-provider.d.ts +24 -0
  111. package/build/main/providers/v4/caching-pool-provider.js +81 -0
  112. package/build/main/providers/v4/caching-subgraph-provider.d.ts +19 -0
  113. package/build/main/providers/v4/caching-subgraph-provider.js +24 -0
  114. package/build/main/providers/v4/euler-swap-hooks-subgraph-provider.d.ts +25 -0
  115. package/build/main/providers/v4/euler-swap-hooks-subgraph-provider.js +160 -0
  116. package/build/main/providers/v4/pool-provider.d.ts +58 -0
  117. package/build/main/providers/v4/pool-provider.js +115 -0
  118. package/build/main/providers/v4/static-subgraph-provider.d.ts +15 -0
  119. package/build/main/providers/v4/static-subgraph-provider.js +78 -0
  120. package/build/main/providers/v4/subgraph-provider-with-fallback.d.ts +5 -0
  121. package/build/main/providers/v4/subgraph-provider-with-fallback.js +12 -0
  122. package/build/main/providers/v4/subgraph-provider.d.ts +63 -0
  123. package/build/main/providers/v4/subgraph-provider.js +63 -0
  124. package/build/main/providers/v4/uri-subgraph-provider.d.ts +4 -0
  125. package/build/main/providers/v4/uri-subgraph-provider.js +8 -0
  126. package/build/main/routers/alpha-router/alpha-router.d.ts +483 -0
  127. package/build/main/routers/alpha-router/alpha-router.js +1678 -0
  128. package/build/main/routers/alpha-router/config.d.ts +4 -0
  129. package/build/main/routers/alpha-router/config.js +131 -0
  130. package/build/main/routers/alpha-router/entities/index.d.ts +1 -0
  131. package/build/main/routers/alpha-router/entities/index.js +18 -0
  132. package/build/main/routers/alpha-router/entities/route-with-valid-quote.d.ts +208 -0
  133. package/build/main/routers/alpha-router/entities/route-with-valid-quote.js +194 -0
  134. package/build/main/routers/alpha-router/functions/best-swap-route.d.ts +24 -0
  135. package/build/main/routers/alpha-router/functions/best-swap-route.js +538 -0
  136. package/build/main/routers/alpha-router/functions/calculate-ratio-amount-in.d.ts +3 -0
  137. package/build/main/routers/alpha-router/functions/calculate-ratio-amount-in.js +18 -0
  138. package/build/main/routers/alpha-router/functions/compute-all-routes.d.ts +12 -0
  139. package/build/main/routers/alpha-router/functions/compute-all-routes.js +133 -0
  140. package/build/main/routers/alpha-router/functions/get-candidate-pools.d.ts +126 -0
  141. package/build/main/routers/alpha-router/functions/get-candidate-pools.js +1527 -0
  142. package/build/main/routers/alpha-router/gas-models/gas-costs.d.ts +12 -0
  143. package/build/main/routers/alpha-router/gas-models/gas-costs.js +200 -0
  144. package/build/main/routers/alpha-router/gas-models/gas-model.d.ts +107 -0
  145. package/build/main/routers/alpha-router/gas-models/gas-model.js +117 -0
  146. package/build/main/routers/alpha-router/gas-models/index.d.ts +2 -0
  147. package/build/main/routers/alpha-router/gas-models/index.js +19 -0
  148. package/build/main/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.d.ts +24 -0
  149. package/build/main/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.js +161 -0
  150. package/build/main/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.d.ts +15 -0
  151. package/build/main/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.js +191 -0
  152. package/build/main/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.d.ts +31 -0
  153. package/build/main/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.js +169 -0
  154. package/build/main/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.d.ts +26 -0
  155. package/build/main/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.js +41 -0
  156. package/build/main/routers/alpha-router/gas-models/v4/v4-heuristic-gas-model.d.ts +15 -0
  157. package/build/main/routers/alpha-router/gas-models/v4/v4-heuristic-gas-model.js +40 -0
  158. package/build/main/routers/alpha-router/index.d.ts +4 -0
  159. package/build/main/routers/alpha-router/index.js +21 -0
  160. package/build/main/routers/alpha-router/quoters/base-quoter.d.ts +77 -0
  161. package/build/main/routers/alpha-router/quoters/base-quoter.js +76 -0
  162. package/build/main/routers/alpha-router/quoters/index.d.ts +5 -0
  163. package/build/main/routers/alpha-router/quoters/index.js +22 -0
  164. package/build/main/routers/alpha-router/quoters/mixed-quoter.d.ts +32 -0
  165. package/build/main/routers/alpha-router/quoters/mixed-quoter.js +154 -0
  166. package/build/main/routers/alpha-router/quoters/model/index.d.ts +1 -0
  167. package/build/main/routers/alpha-router/quoters/model/index.js +18 -0
  168. package/build/main/routers/alpha-router/quoters/model/results/get-quotes-result.d.ts +6 -0
  169. package/build/main/routers/alpha-router/quoters/model/results/get-quotes-result.js +3 -0
  170. package/build/main/routers/alpha-router/quoters/model/results/get-routes-result.d.ts +6 -0
  171. package/build/main/routers/alpha-router/quoters/model/results/get-routes-result.js +3 -0
  172. package/build/main/routers/alpha-router/quoters/model/results/index.d.ts +2 -0
  173. package/build/main/routers/alpha-router/quoters/model/results/index.js +19 -0
  174. package/build/main/routers/alpha-router/quoters/v2-quoter.d.ts +24 -0
  175. package/build/main/routers/alpha-router/quoters/v2-quoter.js +141 -0
  176. package/build/main/routers/alpha-router/quoters/v3-quoter.d.ts +19 -0
  177. package/build/main/routers/alpha-router/quoters/v3-quoter.js +125 -0
  178. package/build/main/routers/alpha-router/quoters/v4-quoter.d.ts +18 -0
  179. package/build/main/routers/alpha-router/quoters/v4-quoter.js +122 -0
  180. package/build/main/routers/index.d.ts +4 -0
  181. package/build/main/routers/index.js +21 -0
  182. package/build/main/routers/legacy-router/bases.d.ts +213 -0
  183. package/build/main/routers/legacy-router/bases.js +124 -0
  184. package/build/main/routers/legacy-router/index.d.ts +1 -0
  185. package/build/main/routers/legacy-router/index.js +18 -0
  186. package/build/main/routers/legacy-router/legacy-router.d.ts +41 -0
  187. package/build/main/routers/legacy-router/legacy-router.js +291 -0
  188. package/build/main/routers/router.d.ts +195 -0
  189. package/build/main/routers/router.js +92 -0
  190. package/build/main/tsconfig.tsbuildinfo +1 -0
  191. package/build/main/types/other/factories/Erc20__factory.d.ts +45 -0
  192. package/build/main/types/other/factories/Erc20__factory.js +240 -0
  193. package/build/main/types/other/factories/GasDataArbitrum__factory.d.ts +18 -0
  194. package/build/main/types/other/factories/GasDataArbitrum__factory.js +58 -0
  195. package/build/main/types/other/factories/IMixedRouteQuoterV1__factory.d.ts +41 -0
  196. package/build/main/types/other/factories/IMixedRouteQuoterV1__factory.js +156 -0
  197. package/build/main/types/other/factories/ITokenValidator__factory.d.ts +22 -0
  198. package/build/main/types/other/factories/ITokenValidator__factory.js +78 -0
  199. package/build/main/types/other/factories/MixedRouteQuoterV2__factory.d.ts +86 -0
  200. package/build/main/types/other/factories/MixedRouteQuoterV2__factory.js +477 -0
  201. package/build/main/types/other/factories/Permit2__factory.d.ts +87 -0
  202. package/build/main/types/other/factories/Permit2__factory.js +941 -0
  203. package/build/main/types/other/factories/StateView__factory.d.ts +32 -0
  204. package/build/main/types/other/factories/StateView__factory.js +383 -0
  205. package/build/main/types/other/factories/SwapRouter02__factory.d.ts +67 -0
  206. package/build/main/types/other/factories/SwapRouter02__factory.js +1103 -0
  207. package/build/main/types/other/factories/TokenFeeDetector__factory.d.ts +47 -0
  208. package/build/main/types/other/factories/TokenFeeDetector__factory.js +243 -0
  209. package/build/main/types/other/factories/V4Quoter__factory.d.ts +37 -0
  210. package/build/main/types/other/factories/V4Quoter__factory.js +312 -0
  211. package/build/main/types/v2/factories/IUniswapV2Pair__factory.d.ts +35 -0
  212. package/build/main/types/v2/factories/IUniswapV2Pair__factory.js +671 -0
  213. package/build/main/types/v3/factories/IERC20Metadata__factory.d.ts +35 -0
  214. package/build/main/types/v3/factories/IERC20Metadata__factory.js +242 -0
  215. package/build/main/types/v3/factories/IQuoterV2__factory.d.ts +41 -0
  216. package/build/main/types/v3/factories/IQuoterV2__factory.js +220 -0
  217. package/build/main/types/v3/factories/IUniswapV3PoolState__factory.d.ts +22 -0
  218. package/build/main/types/v3/factories/IUniswapV3PoolState__factory.js +266 -0
  219. package/build/main/types/v3/factories/UniswapInterfaceMulticall__factory.d.ts +61 -0
  220. package/build/main/types/v3/factories/UniswapInterfaceMulticall__factory.js +132 -0
  221. package/build/main/util/addresses.d.ts +32 -0
  222. package/build/main/util/addresses.js +113 -0
  223. package/build/main/util/amounts.d.ts +10 -0
  224. package/build/main/util/amounts.js +94 -0
  225. package/build/main/util/callData.d.ts +1 -0
  226. package/build/main/util/callData.js +6 -0
  227. package/build/main/util/chains.d.ts +69 -0
  228. package/build/main/util/chains.js +740 -0
  229. package/build/main/util/defaultBlocksToLive.d.ts +4 -0
  230. package/build/main/util/defaultBlocksToLive.js +58 -0
  231. package/build/main/util/gas-factory-helpers.d.ts +34 -0
  232. package/build/main/util/gas-factory-helpers.js +439 -0
  233. package/build/main/util/hooksOptions.d.ts +5 -0
  234. package/build/main/util/hooksOptions.js +10 -0
  235. package/build/main/util/index.d.ts +10 -0
  236. package/build/main/util/index.js +27 -0
  237. package/build/main/util/intent.d.ts +6 -0
  238. package/build/main/util/intent.js +13 -0
  239. package/build/main/util/l2FeeChains.d.ts +2 -0
  240. package/build/main/util/l2FeeChains.js +18 -0
  241. package/build/main/util/log.d.ts +3 -0
  242. package/build/main/util/log.js +97 -0
  243. package/build/main/util/methodParameters.d.ts +5 -0
  244. package/build/main/util/methodParameters.js +147 -0
  245. package/build/main/util/metric.d.ts +48 -0
  246. package/build/main/util/metric.js +59 -0
  247. package/build/main/util/mixedRouteFilterOutV4Pools.d.ts +3 -0
  248. package/build/main/util/mixedRouteFilterOutV4Pools.js +17 -0
  249. package/build/main/util/onchainQuoteProviderConfigs.d.ts +42 -0
  250. package/build/main/util/onchainQuoteProviderConfigs.js +72 -0
  251. package/build/main/util/pool.d.ts +5 -0
  252. package/build/main/util/pool.js +44 -0
  253. package/build/main/util/protocols.d.ts +2 -0
  254. package/build/main/util/protocols.js +20 -0
  255. package/build/main/util/routes.d.ts +11 -0
  256. package/build/main/util/routes.js +148 -0
  257. package/build/main/util/serializeRouteIds.d.ts +2 -0
  258. package/build/main/util/serializeRouteIds.js +12 -0
  259. package/build/main/util/tenderlySimulationErrorBreakDown.d.ts +3 -0
  260. package/build/main/util/tenderlySimulationErrorBreakDown.js +33 -0
  261. package/build/main/util/unsupported-tokens.d.ts +37 -0
  262. package/build/main/util/unsupported-tokens.js +1119 -0
  263. package/build/module/index.d.ts +3 -0
  264. package/build/module/index.js +4 -0
  265. package/build/module/providers/cache-node.d.ts +10 -0
  266. package/build/module/providers/cache-node.js +29 -0
  267. package/build/module/providers/cache.d.ts +14 -0
  268. package/build/module/providers/cache.js +2 -0
  269. package/build/module/providers/caching/route/index.d.ts +2 -0
  270. package/build/module/providers/caching/route/index.js +3 -0
  271. package/build/module/providers/caching/route/model/cache-mode.d.ts +16 -0
  272. package/build/module/providers/caching/route/model/cache-mode.js +18 -0
  273. package/build/module/providers/caching/route/model/cached-route.d.ts +29 -0
  274. package/build/module/providers/caching/route/model/cached-route.js +73 -0
  275. package/build/module/providers/caching/route/model/cached-routes.d.ts +67 -0
  276. package/build/module/providers/caching/route/model/cached-routes.js +74 -0
  277. package/build/module/providers/caching/route/model/index.d.ts +3 -0
  278. package/build/module/providers/caching/route/model/index.js +4 -0
  279. package/build/module/providers/caching/route/route-caching-provider.d.ts +111 -0
  280. package/build/module/providers/caching/route/route-caching-provider.js +82 -0
  281. package/build/module/providers/caching-gas-provider.d.ts +23 -0
  282. package/build/module/providers/caching-gas-provider.js +37 -0
  283. package/build/module/providers/caching-subgraph-provider.d.ts +33 -0
  284. package/build/module/providers/caching-subgraph-provider.js +166 -0
  285. package/build/module/providers/caching-token-list-provider.d.ts +52 -0
  286. package/build/module/providers/caching-token-list-provider.js +140 -0
  287. package/build/module/providers/caching-token-provider.d.ts +24 -0
  288. package/build/module/providers/caching-token-provider.js +235 -0
  289. package/build/module/providers/eip-1559-gas-price-provider.d.ts +31 -0
  290. package/build/module/providers/eip-1559-gas-price-provider.js +64 -0
  291. package/build/module/providers/eth-estimate-gas-provider.d.ts +21 -0
  292. package/build/module/providers/eth-estimate-gas-provider.js +99 -0
  293. package/build/module/providers/eth-gas-station-info-gas-price-provider.d.ts +19 -0
  294. package/build/module/providers/eth-gas-station-info-gas-price-provider.js +29 -0
  295. package/build/module/providers/gas-price-provider.d.ts +10 -0
  296. package/build/module/providers/gas-price-provider.js +6 -0
  297. package/build/module/providers/index.d.ts +47 -0
  298. package/build/module/providers/index.js +48 -0
  299. package/build/module/providers/legacy-gas-price-provider.d.ts +7 -0
  300. package/build/module/providers/legacy-gas-price-provider.js +14 -0
  301. package/build/module/providers/multicall-provider.d.ts +83 -0
  302. package/build/module/providers/multicall-provider.js +11 -0
  303. package/build/module/providers/multicall-uniswap-provider.d.ts +37 -0
  304. package/build/module/providers/multicall-uniswap-provider.js +157 -0
  305. package/build/module/providers/on-chain-gas-price-provider.d.ts +19 -0
  306. package/build/module/providers/on-chain-gas-price-provider.js +33 -0
  307. package/build/module/providers/on-chain-quote-provider.d.ts +258 -0
  308. package/build/module/providers/on-chain-quote-provider.js +707 -0
  309. package/build/module/providers/pool-provider.d.ts +45 -0
  310. package/build/module/providers/pool-provider.js +66 -0
  311. package/build/module/providers/portion-provider.d.ts +86 -0
  312. package/build/module/providers/portion-provider.js +114 -0
  313. package/build/module/providers/provider.d.ts +38 -0
  314. package/build/module/providers/provider.js +2 -0
  315. package/build/module/providers/simulation-provider.d.ts +46 -0
  316. package/build/module/providers/simulation-provider.js +140 -0
  317. package/build/module/providers/static-gas-price-provider.d.ts +7 -0
  318. package/build/module/providers/static-gas-price-provider.js +9 -0
  319. package/build/module/providers/subgraph-provider-with-fallback.d.ts +11 -0
  320. package/build/module/providers/subgraph-provider-with-fallback.js +21 -0
  321. package/build/module/providers/subgraph-provider.d.ts +56 -0
  322. package/build/module/providers/subgraph-provider.js +284 -0
  323. package/build/module/providers/swap-router-provider.d.ts +30 -0
  324. package/build/module/providers/swap-router-provider.js +38 -0
  325. package/build/module/providers/tenderly-simulation-provider.d.ts +69 -0
  326. package/build/module/providers/tenderly-simulation-provider.js +456 -0
  327. package/build/module/providers/token-fee-fetcher.d.ts +31 -0
  328. package/build/module/providers/token-fee-fetcher.js +161 -0
  329. package/build/module/providers/token-properties-provider.d.ts +31 -0
  330. package/build/module/providers/token-properties-provider.js +114 -0
  331. package/build/module/providers/token-provider.d.ts +141 -0
  332. package/build/module/providers/token-provider.js +381 -0
  333. package/build/module/providers/token-validator-provider.d.ts +42 -0
  334. package/build/module/providers/token-validator-provider.js +92 -0
  335. package/build/module/providers/uri-subgraph-provider.d.ts +20 -0
  336. package/build/module/providers/uri-subgraph-provider.js +58 -0
  337. package/build/module/providers/v2/caching-pool-provider.d.ts +33 -0
  338. package/build/module/providers/v2/caching-pool-provider.js +85 -0
  339. package/build/module/providers/v2/caching-subgraph-provider.d.ts +19 -0
  340. package/build/module/providers/v2/caching-subgraph-provider.js +20 -0
  341. package/build/module/providers/v2/pool-provider.d.ts +63 -0
  342. package/build/module/providers/v2/pool-provider.js +141 -0
  343. package/build/module/providers/v2/quote-provider.d.ts +34 -0
  344. package/build/module/providers/v2/quote-provider.js +86 -0
  345. package/build/module/providers/v2/static-subgraph-provider.d.ts +19 -0
  346. package/build/module/providers/v2/static-subgraph-provider.js +164 -0
  347. package/build/module/providers/v2/subgraph-provider-with-fallback.d.ts +16 -0
  348. package/build/module/providers/v2/subgraph-provider-with-fallback.js +19 -0
  349. package/build/module/providers/v2/subgraph-provider.d.ts +53 -0
  350. package/build/module/providers/v2/subgraph-provider.js +341 -0
  351. package/build/module/providers/v2/uri-subgraph-provider.d.ts +4 -0
  352. package/build/module/providers/v2/uri-subgraph-provider.js +4 -0
  353. package/build/module/providers/v3/caching-pool-provider.d.ts +32 -0
  354. package/build/module/providers/v3/caching-pool-provider.js +77 -0
  355. package/build/module/providers/v3/caching-subgraph-provider.d.ts +19 -0
  356. package/build/module/providers/v3/caching-subgraph-provider.js +20 -0
  357. package/build/module/providers/v3/gas-data-provider.d.ts +39 -0
  358. package/build/module/providers/v3/gas-data-provider.js +22 -0
  359. package/build/module/providers/v3/pool-provider.d.ts +77 -0
  360. package/build/module/providers/v3/pool-provider.js +101 -0
  361. package/build/module/providers/v3/static-subgraph-provider.d.ts +21 -0
  362. package/build/module/providers/v3/static-subgraph-provider.js +210 -0
  363. package/build/module/providers/v3/subgraph-provider-with-fallback.d.ts +12 -0
  364. package/build/module/providers/v3/subgraph-provider-with-fallback.js +15 -0
  365. package/build/module/providers/v3/subgraph-provider.d.ts +45 -0
  366. package/build/module/providers/v3/subgraph-provider.js +42 -0
  367. package/build/module/providers/v3/uri-subgraph-provider.d.ts +4 -0
  368. package/build/module/providers/v3/uri-subgraph-provider.js +4 -0
  369. package/build/module/providers/v4/caching-pool-provider.d.ts +24 -0
  370. package/build/module/providers/v4/caching-pool-provider.js +74 -0
  371. package/build/module/providers/v4/caching-subgraph-provider.d.ts +19 -0
  372. package/build/module/providers/v4/caching-subgraph-provider.js +20 -0
  373. package/build/module/providers/v4/euler-swap-hooks-subgraph-provider.d.ts +25 -0
  374. package/build/module/providers/v4/euler-swap-hooks-subgraph-provider.js +153 -0
  375. package/build/module/providers/v4/pool-provider.d.ts +58 -0
  376. package/build/module/providers/v4/pool-provider.js +106 -0
  377. package/build/module/providers/v4/static-subgraph-provider.d.ts +15 -0
  378. package/build/module/providers/v4/static-subgraph-provider.js +71 -0
  379. package/build/module/providers/v4/subgraph-provider-with-fallback.d.ts +5 -0
  380. package/build/module/providers/v4/subgraph-provider-with-fallback.js +8 -0
  381. package/build/module/providers/v4/subgraph-provider.d.ts +63 -0
  382. package/build/module/providers/v4/subgraph-provider.js +59 -0
  383. package/build/module/providers/v4/uri-subgraph-provider.d.ts +4 -0
  384. package/build/module/providers/v4/uri-subgraph-provider.js +4 -0
  385. package/build/module/routers/alpha-router/alpha-router.d.ts +483 -0
  386. package/build/module/routers/alpha-router/alpha-router.js +1680 -0
  387. package/build/module/routers/alpha-router/config.d.ts +4 -0
  388. package/build/module/routers/alpha-router/config.js +127 -0
  389. package/build/module/routers/alpha-router/entities/index.d.ts +1 -0
  390. package/build/module/routers/alpha-router/entities/index.js +2 -0
  391. package/build/module/routers/alpha-router/entities/route-with-valid-quote.d.ts +208 -0
  392. package/build/module/routers/alpha-router/entities/route-with-valid-quote.js +184 -0
  393. package/build/module/routers/alpha-router/functions/best-swap-route.d.ts +24 -0
  394. package/build/module/routers/alpha-router/functions/best-swap-route.js +528 -0
  395. package/build/module/routers/alpha-router/functions/calculate-ratio-amount-in.d.ts +3 -0
  396. package/build/module/routers/alpha-router/functions/calculate-ratio-amount-in.js +14 -0
  397. package/build/module/routers/alpha-router/functions/compute-all-routes.d.ts +12 -0
  398. package/build/module/routers/alpha-router/functions/compute-all-routes.js +125 -0
  399. package/build/module/routers/alpha-router/functions/get-candidate-pools.d.ts +126 -0
  400. package/build/module/routers/alpha-router/functions/get-candidate-pools.js +1516 -0
  401. package/build/module/routers/alpha-router/gas-models/gas-costs.d.ts +12 -0
  402. package/build/module/routers/alpha-router/gas-models/gas-costs.js +189 -0
  403. package/build/module/routers/alpha-router/gas-models/gas-model.d.ts +107 -0
  404. package/build/module/routers/alpha-router/gas-models/gas-model.js +111 -0
  405. package/build/module/routers/alpha-router/gas-models/index.d.ts +2 -0
  406. package/build/module/routers/alpha-router/gas-models/index.js +3 -0
  407. package/build/module/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.d.ts +24 -0
  408. package/build/module/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.js +154 -0
  409. package/build/module/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.d.ts +15 -0
  410. package/build/module/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.js +187 -0
  411. package/build/module/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.d.ts +31 -0
  412. package/build/module/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.js +162 -0
  413. package/build/module/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.d.ts +26 -0
  414. package/build/module/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.js +37 -0
  415. package/build/module/routers/alpha-router/gas-models/v4/v4-heuristic-gas-model.d.ts +15 -0
  416. package/build/module/routers/alpha-router/gas-models/v4/v4-heuristic-gas-model.js +36 -0
  417. package/build/module/routers/alpha-router/index.d.ts +4 -0
  418. package/build/module/routers/alpha-router/index.js +5 -0
  419. package/build/module/routers/alpha-router/quoters/base-quoter.d.ts +77 -0
  420. package/build/module/routers/alpha-router/quoters/base-quoter.js +69 -0
  421. package/build/module/routers/alpha-router/quoters/index.d.ts +5 -0
  422. package/build/module/routers/alpha-router/quoters/index.js +6 -0
  423. package/build/module/routers/alpha-router/quoters/mixed-quoter.d.ts +32 -0
  424. package/build/module/routers/alpha-router/quoters/mixed-quoter.js +147 -0
  425. package/build/module/routers/alpha-router/quoters/model/index.d.ts +1 -0
  426. package/build/module/routers/alpha-router/quoters/model/index.js +2 -0
  427. package/build/module/routers/alpha-router/quoters/model/results/get-quotes-result.d.ts +6 -0
  428. package/build/module/routers/alpha-router/quoters/model/results/get-quotes-result.js +2 -0
  429. package/build/module/routers/alpha-router/quoters/model/results/get-routes-result.d.ts +6 -0
  430. package/build/module/routers/alpha-router/quoters/model/results/get-routes-result.js +2 -0
  431. package/build/module/routers/alpha-router/quoters/model/results/index.d.ts +2 -0
  432. package/build/module/routers/alpha-router/quoters/model/results/index.js +3 -0
  433. package/build/module/routers/alpha-router/quoters/v2-quoter.d.ts +24 -0
  434. package/build/module/routers/alpha-router/quoters/v2-quoter.js +138 -0
  435. package/build/module/routers/alpha-router/quoters/v3-quoter.d.ts +19 -0
  436. package/build/module/routers/alpha-router/quoters/v3-quoter.js +118 -0
  437. package/build/module/routers/alpha-router/quoters/v4-quoter.d.ts +18 -0
  438. package/build/module/routers/alpha-router/quoters/v4-quoter.js +115 -0
  439. package/build/module/routers/index.d.ts +4 -0
  440. package/build/module/routers/index.js +5 -0
  441. package/build/module/routers/legacy-router/bases.d.ts +213 -0
  442. package/build/module/routers/legacy-router/bases.js +130 -0
  443. package/build/module/routers/legacy-router/index.d.ts +1 -0
  444. package/build/module/routers/legacy-router/index.js +2 -0
  445. package/build/module/routers/legacy-router/legacy-router.d.ts +41 -0
  446. package/build/module/routers/legacy-router/legacy-router.js +292 -0
  447. package/build/module/routers/router.d.ts +195 -0
  448. package/build/module/routers/router.js +79 -0
  449. package/build/module/tsconfig.module.tsbuildinfo +1 -0
  450. package/build/module/types/other/factories/Erc20__factory.d.ts +45 -0
  451. package/build/module/types/other/factories/Erc20__factory.js +236 -0
  452. package/build/module/types/other/factories/GasDataArbitrum__factory.d.ts +18 -0
  453. package/build/module/types/other/factories/GasDataArbitrum__factory.js +54 -0
  454. package/build/module/types/other/factories/IMixedRouteQuoterV1__factory.d.ts +41 -0
  455. package/build/module/types/other/factories/IMixedRouteQuoterV1__factory.js +152 -0
  456. package/build/module/types/other/factories/ITokenValidator__factory.d.ts +22 -0
  457. package/build/module/types/other/factories/ITokenValidator__factory.js +74 -0
  458. package/build/module/types/other/factories/MixedRouteQuoterV2__factory.d.ts +86 -0
  459. package/build/module/types/other/factories/MixedRouteQuoterV2__factory.js +473 -0
  460. package/build/module/types/other/factories/Permit2__factory.d.ts +87 -0
  461. package/build/module/types/other/factories/Permit2__factory.js +937 -0
  462. package/build/module/types/other/factories/StateView__factory.d.ts +32 -0
  463. package/build/module/types/other/factories/StateView__factory.js +379 -0
  464. package/build/module/types/other/factories/SwapRouter02__factory.d.ts +67 -0
  465. package/build/module/types/other/factories/SwapRouter02__factory.js +1099 -0
  466. package/build/module/types/other/factories/TokenFeeDetector__factory.d.ts +47 -0
  467. package/build/module/types/other/factories/TokenFeeDetector__factory.js +239 -0
  468. package/build/module/types/other/factories/V4Quoter__factory.d.ts +37 -0
  469. package/build/module/types/other/factories/V4Quoter__factory.js +308 -0
  470. package/build/module/types/v2/factories/IUniswapV2Pair__factory.d.ts +35 -0
  471. package/build/module/types/v2/factories/IUniswapV2Pair__factory.js +667 -0
  472. package/build/module/types/v3/factories/IERC20Metadata__factory.d.ts +35 -0
  473. package/build/module/types/v3/factories/IERC20Metadata__factory.js +238 -0
  474. package/build/module/types/v3/factories/IQuoterV2__factory.d.ts +41 -0
  475. package/build/module/types/v3/factories/IQuoterV2__factory.js +216 -0
  476. package/build/module/types/v3/factories/IUniswapV3PoolState__factory.d.ts +22 -0
  477. package/build/module/types/v3/factories/IUniswapV3PoolState__factory.js +262 -0
  478. package/build/module/types/v3/factories/UniswapInterfaceMulticall__factory.d.ts +61 -0
  479. package/build/module/types/v3/factories/UniswapInterfaceMulticall__factory.js +128 -0
  480. package/build/module/util/addresses.d.ts +32 -0
  481. package/build/module/util/addresses.js +233 -0
  482. package/build/module/util/amounts.d.ts +10 -0
  483. package/build/module/util/amounts.js +82 -0
  484. package/build/module/util/callData.d.ts +1 -0
  485. package/build/module/util/callData.js +3 -0
  486. package/build/module/util/chains.d.ts +69 -0
  487. package/build/module/util/chains.js +732 -0
  488. package/build/module/util/defaultBlocksToLive.d.ts +4 -0
  489. package/build/module/util/defaultBlocksToLive.js +55 -0
  490. package/build/module/util/gas-factory-helpers.d.ts +34 -0
  491. package/build/module/util/gas-factory-helpers.js +421 -0
  492. package/build/module/util/hooksOptions.d.ts +5 -0
  493. package/build/module/util/hooksOptions.js +7 -0
  494. package/build/module/util/index.d.ts +10 -0
  495. package/build/module/util/index.js +11 -0
  496. package/build/module/util/intent.d.ts +6 -0
  497. package/build/module/util/intent.js +10 -0
  498. package/build/module/util/l2FeeChains.d.ts +2 -0
  499. package/build/module/util/l2FeeChains.js +15 -0
  500. package/build/module/util/log.d.ts +3 -0
  501. package/build/module/util/log.js +93 -0
  502. package/build/module/util/methodParameters.d.ts +5 -0
  503. package/build/module/util/methodParameters.js +145 -0
  504. package/build/module/util/metric.d.ts +48 -0
  505. package/build/module/util/metric.js +53 -0
  506. package/build/module/util/mixedRouteFilterOutV4Pools.d.ts +3 -0
  507. package/build/module/util/mixedRouteFilterOutV4Pools.js +12 -0
  508. package/build/module/util/onchainQuoteProviderConfigs.d.ts +42 -0
  509. package/build/module/util/onchainQuoteProviderConfigs.js +74 -0
  510. package/build/module/util/pool.d.ts +5 -0
  511. package/build/module/util/pool.js +41 -0
  512. package/build/module/util/protocols.d.ts +2 -0
  513. package/build/module/util/protocols.js +16 -0
  514. package/build/module/util/routes.d.ts +11 -0
  515. package/build/module/util/routes.js +136 -0
  516. package/build/module/util/serializeRouteIds.d.ts +2 -0
  517. package/build/module/util/serializeRouteIds.js +7 -0
  518. package/build/module/util/tenderlySimulationErrorBreakDown.d.ts +3 -0
  519. package/build/module/util/tenderlySimulationErrorBreakDown.js +29 -0
  520. package/build/module/util/unsupported-tokens.d.ts +37 -0
  521. package/build/module/util/unsupported-tokens.js +1116 -0
  522. package/package.json +129 -0
@@ -0,0 +1,1119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UNSUPPORTED_TOKENS = void 0;
4
+ exports.UNSUPPORTED_TOKENS = {
5
+ name: 'Unsupported Token List',
6
+ timestamp: '2021-01-05T20:47:02.923Z',
7
+ version: {
8
+ major: 1,
9
+ minor: 0,
10
+ patch: 0,
11
+ },
12
+ tags: {},
13
+ logoURI: 'ipfs://QmNa8mQkrNKp1WEEeGjFezDmDeodkWRevGFN8JCV7b4Xir',
14
+ keywords: ['uniswap', 'unsupported', 'broken'],
15
+ tokens: [
16
+ {
17
+ name: 'USD Token',
18
+ address: '0xd233d1f6fd11640081abb8db125f722b5dc729dc',
19
+ symbol: 'USD',
20
+ decimals: 9,
21
+ chainId: 1,
22
+ logoURI: '',
23
+ },
24
+ {
25
+ name: 'UNI HODL',
26
+ address: '0x4bf5dc91E2555449293D7824028Eb8Fe5879B689',
27
+ symbol: 'UniH',
28
+ decimals: 18,
29
+ chainId: 1,
30
+ logoURI: '',
31
+ },
32
+ {
33
+ name: 'Gold Tether',
34
+ address: '0x4922a015c4407F87432B179bb209e125432E4a2A',
35
+ symbol: 'XAUt',
36
+ decimals: 6,
37
+ chainId: 1,
38
+ logoURI: 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x4922a015c4407F87432B179bb209e125432E4a2A/logo.png',
39
+ },
40
+ {
41
+ name: 'Grump Cat',
42
+ address: '0x93B2FfF814FCaEFFB01406e80B4Ecd89Ca6A021b',
43
+ symbol: 'GRUMPY',
44
+ decimals: 9,
45
+ chainId: 1,
46
+ logoURI: 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x4922a015c4407F87432B179bb209e125432E4a2A/logo.png',
47
+ },
48
+ {
49
+ name: 'apeUSD-UMA Synthetic USD (Dec 2021)',
50
+ address: '0xfA5e27893aee4805283D86e4283Da64F8c72dd56',
51
+ symbol: 'apeUSD-UMA-DEC21',
52
+ decimals: 18,
53
+ chainId: 1,
54
+ logoURI: '',
55
+ },
56
+ {
57
+ chainId: 1,
58
+ address: '0xc6b11850241c5127eab73af4b6c68bc267cbbff4',
59
+ name: 'oWETHp Put 360 DEC2520',
60
+ symbol: 'oWETH-360P-12/25/20',
61
+ decimals: 7,
62
+ },
63
+ {
64
+ chainId: 1,
65
+ name: 'oYFIp Put 25000 OCT0220',
66
+ address: '0x452b421be5b30f0c6ad8c3f03c06bdaab4f5c56c',
67
+ symbol: 'oYFI-25000P-10/02/20',
68
+ decimals: 7,
69
+ },
70
+ {
71
+ chainId: 1,
72
+ name: 'oWETHp Put 360 OCT3020',
73
+ address: '0x0578779e746d7186253a36cf651ea786acfcf087',
74
+ symbol: 'oWETH-360P-10/30/20',
75
+ decimals: 7,
76
+ },
77
+ {
78
+ chainId: 1,
79
+ name: 'ETHc Call 500 OCT3020',
80
+ address: '0xf9aba2e43fb19184408ea3b572a0fd672946f87b',
81
+ symbol: 'oETH-500C-10/30/20',
82
+ decimals: 6,
83
+ },
84
+ {
85
+ chainId: 1,
86
+ name: 'oBALp Put 22 OCT0220',
87
+ address: '0xdb0991dfc7e828b5a2837dc82d68e16490562c8d',
88
+ symbol: 'oBAL-22P-10/02/20',
89
+ decimals: 7,
90
+ },
91
+ {
92
+ chainId: 1,
93
+ name: 'oCOMPp Put 150 SEP2520',
94
+ address: '0xe951ebe6b4420ab3f4844cf36dedd263d095b416',
95
+ symbol: 'oCOMP-150P-09/25/20',
96
+ decimals: 7,
97
+ },
98
+ {
99
+ chainId: 1,
100
+ name: 'oCRVp Put 3 SEP252020',
101
+ address: '0x9215bd49b59748419eac6bad9dbe247df06ebdb9',
102
+ symbol: 'oCRV-3P-09/25/20',
103
+ decimals: 7,
104
+ },
105
+ {
106
+ chainId: 1,
107
+ name: 'oETHp Put 180 SEP2520',
108
+ address: '0xE3A2c34Fa2F59ffa95C4ACd1E5663633d45Bc3AD',
109
+ symbol: 'oETH-180P-09/25/20',
110
+ decimals: 7,
111
+ },
112
+ {
113
+ chainId: 1,
114
+ name: 'oETHc Call 400 SEP2520',
115
+ address: '0x05977EBC26825C0CD6097E0Ad7204721516711Eb',
116
+ symbol: 'oETH-400C-09/25/20',
117
+ decimals: 7,
118
+ },
119
+ {
120
+ chainId: 1,
121
+ name: 'oWETHp Put 380 SEP1820',
122
+ address: '0x31f88266301b08631f9f0e33fd5c43c2a5d1e5b2',
123
+ symbol: 'oWETH-380P-09/18/20',
124
+ decimals: 7,
125
+ },
126
+ {
127
+ chainId: 1,
128
+ name: 'oYFIp Put 8500 SEP1820',
129
+ address: '0xd1cec2f67fdc4c60e0963515dfc3343f31e32e47',
130
+ symbol: 'oYFI-8500P-09/18/20',
131
+ decimals: 7,
132
+ },
133
+ {
134
+ chainId: 1,
135
+ name: 'oWETHp Put 370 SEP1120',
136
+ address: '0x15844029b2c2bf24506e9937739a9a912f1e4354',
137
+ symbol: 'oWETH-370P-09/11/20',
138
+ decimals: 7,
139
+ },
140
+ {
141
+ chainId: 1,
142
+ name: 'oWETHp Put 400 SEP0420',
143
+ address: '0x5562c33c383f6386be4f6dcdbd35a3a99bbcfde6',
144
+ symbol: 'oWETH-400P-09/04/20',
145
+ decimals: 7,
146
+ },
147
+ {
148
+ chainId: 1,
149
+ name: 'oETHp Put 200 AUG2820',
150
+ address: '0x3CBFC1397deF0602c2d211c70A1c0c38CEDB5448',
151
+ symbol: 'oWETH-400P-09/04/20',
152
+ decimals: 7,
153
+ },
154
+ {
155
+ chainId: 1,
156
+ name: 'Opyn cDai Insurance',
157
+ symbol: 'ocDai',
158
+ address: '0x98cc3bd6af1880fcfda17ac477b2f612980e5e33',
159
+ decimals: 8,
160
+ },
161
+ {
162
+ chainId: 1,
163
+ name: 'Opyn cUSDC Insurance',
164
+ symbol: 'ocUSDC',
165
+ address: '0x8ED9f862363fFdFD3a07546e618214b6D59F03d4',
166
+ decimals: 8,
167
+ },
168
+ {
169
+ chainId: 1,
170
+ address: '0x176C674Ee533C6139B0dc8b458D72A93dCB3e705',
171
+ symbol: 'iAAVE',
172
+ name: 'Synth Inverse Aave',
173
+ decimals: 18,
174
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iAAVE.svg',
175
+ tags: ['inverse', 'synth'],
176
+ },
177
+ {
178
+ chainId: 1,
179
+ address: '0x8A8079c7149B8A1611e5C5d978DCA3bE16545F83',
180
+ symbol: 'iADA',
181
+ name: 'Synth Inverse Cardano',
182
+ decimals: 18,
183
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iADA.svg',
184
+ tags: ['inverse', 'synth'],
185
+ },
186
+ {
187
+ chainId: 1,
188
+ address: '0xAFD870F32CE54EfdBF677466B612bf8ad164454B',
189
+ symbol: 'iBNB',
190
+ name: 'Synth Inverse Binance Coin',
191
+ decimals: 18,
192
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iBNB.svg',
193
+ tags: ['inverse', 'synth'],
194
+ },
195
+ {
196
+ chainId: 1,
197
+ address: '0xD6014EA05BDe904448B743833dDF07c3C7837481',
198
+ symbol: 'iBTC',
199
+ name: 'Synth Inverse Bitcoin',
200
+ decimals: 18,
201
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iBTC.svg',
202
+ tags: ['inverse', 'synth'],
203
+ },
204
+ {
205
+ chainId: 1,
206
+ address: '0x336213e1DDFC69f4701Fc3F86F4ef4A160c1159d',
207
+ symbol: 'iCEX',
208
+ name: 'Synth Inverse Centralised Exchange Index',
209
+ decimals: 18,
210
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iCEX.svg',
211
+ tags: ['index', 'inverse', 'synth'],
212
+ },
213
+ {
214
+ chainId: 1,
215
+ address: '0x6345728B1ccE16E6f8C509950b5c84FFF88530d9',
216
+ symbol: 'iCOMP',
217
+ name: 'Synth Inverse Compound',
218
+ decimals: 18,
219
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iCOMP.svg',
220
+ tags: ['inverse', 'synth'],
221
+ },
222
+ {
223
+ chainId: 1,
224
+ address: '0xCB98f42221b2C251A4E74A1609722eE09f0cc08E',
225
+ symbol: 'iDASH',
226
+ name: 'Synth Inverse Dash',
227
+ decimals: 18,
228
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iDASH.svg',
229
+ tags: ['inverse', 'synth'],
230
+ },
231
+ {
232
+ chainId: 1,
233
+ address: '0x14d10003807AC60d07BB0ba82cAeaC8d2087c157',
234
+ symbol: 'iDEFI',
235
+ name: 'Synth Inverse DeFi Index',
236
+ decimals: 18,
237
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iDEFI.svg',
238
+ tags: ['index', 'inverse', 'synth'],
239
+ },
240
+ {
241
+ chainId: 1,
242
+ address: '0x46a97629C9C1F58De6EC18C7F536e7E6d6A6ecDe',
243
+ symbol: 'iDOT',
244
+ name: 'Synth Inverse Polkadot',
245
+ decimals: 18,
246
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iDOT.svg',
247
+ tags: ['inverse', 'synth'],
248
+ },
249
+ {
250
+ chainId: 1,
251
+ address: '0xF4EebDD0704021eF2a6Bbe993fdf93030Cd784b4',
252
+ symbol: 'iEOS',
253
+ name: 'Synth Inverse EOS',
254
+ decimals: 18,
255
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iEOS.svg',
256
+ tags: ['inverse', 'synth'],
257
+ },
258
+ {
259
+ chainId: 1,
260
+ address: '0xd50c1746D835d2770dDA3703B69187bFfeB14126',
261
+ symbol: 'iETC',
262
+ name: 'Synth Inverse Ethereum Classic',
263
+ decimals: 18,
264
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iETC.svg',
265
+ tags: ['inverse', 'synth'],
266
+ },
267
+ {
268
+ chainId: 1,
269
+ address: '0xA9859874e1743A32409f75bB11549892138BBA1E',
270
+ symbol: 'iETH',
271
+ name: 'Synth Inverse Ether',
272
+ decimals: 18,
273
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iETH.svg',
274
+ tags: ['inverse', 'synth'],
275
+ },
276
+ {
277
+ chainId: 1,
278
+ address: '0x2d7aC061fc3db53c39fe1607fB8cec1B2C162B01',
279
+ symbol: 'iLINK',
280
+ name: 'Synth Inverse Chainlink',
281
+ decimals: 18,
282
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iLINK.svg',
283
+ tags: ['inverse', 'synth'],
284
+ },
285
+ {
286
+ chainId: 1,
287
+ address: '0x79da1431150C9b82D2E5dfc1C68B33216846851e',
288
+ symbol: 'iLTC',
289
+ name: 'Synth Inverse Litecoin',
290
+ decimals: 18,
291
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iLTC.svg',
292
+ tags: ['inverse', 'synth'],
293
+ },
294
+ {
295
+ chainId: 1,
296
+ address: '0xA5a5DF41883Cdc00c4cCC6E8097130535399d9a3',
297
+ symbol: 'iOIL',
298
+ name: 'Synth Inverse Perpetual Oil Futures',
299
+ decimals: 18,
300
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iOIL.svg',
301
+ tags: ['inverse', 'synth'],
302
+ },
303
+ {
304
+ chainId: 1,
305
+ address: '0x0fEd38108bdb8e62ef7b5680E8E0726E2F29e0De',
306
+ symbol: 'iREN',
307
+ name: 'Synth Inverse Ren',
308
+ decimals: 18,
309
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iREN.svg',
310
+ tags: ['inverse', 'synth'],
311
+ },
312
+ {
313
+ chainId: 1,
314
+ address: '0xC5807183a9661A533CB08CbC297594a0B864dc12',
315
+ symbol: 'iTRX',
316
+ name: 'Synth Inverse TRON',
317
+ decimals: 18,
318
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iTRX.svg',
319
+ tags: ['inverse', 'synth'],
320
+ },
321
+ {
322
+ chainId: 1,
323
+ address: '0x36A00FF9072570eF4B9292117850B8FE08d96cce',
324
+ symbol: 'iUNI',
325
+ name: 'Synth Inverse Uniswap',
326
+ decimals: 18,
327
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iUNI.svg',
328
+ tags: ['inverse', 'synth'],
329
+ },
330
+ {
331
+ chainId: 1,
332
+ address: '0x4AdF728E2Df4945082cDD6053869f51278fae196',
333
+ symbol: 'iXMR',
334
+ name: 'Synth Inverse Monero',
335
+ decimals: 18,
336
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iXMR.svg',
337
+ tags: ['inverse', 'synth'],
338
+ },
339
+ {
340
+ chainId: 1,
341
+ address: '0x27269b3e45A4D3E79A3D6BFeE0C8fB13d0D711A6',
342
+ symbol: 'iXRP',
343
+ name: 'Synth Inverse Ripple',
344
+ decimals: 18,
345
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iXRP.svg',
346
+ tags: ['inverse', 'synth'],
347
+ },
348
+ {
349
+ chainId: 1,
350
+ address: '0x8deef89058090ac5655A99EEB451a4f9183D1678',
351
+ symbol: 'iXTZ',
352
+ name: 'Synth Inverse Tezos',
353
+ decimals: 18,
354
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iXTZ.svg',
355
+ tags: ['inverse', 'synth'],
356
+ },
357
+ {
358
+ chainId: 1,
359
+ address: '0x592244301CeA952d6daB2fdC1fE6bd9E53917306',
360
+ symbol: 'iYFI',
361
+ name: 'Synth Inverse yearn.finance',
362
+ decimals: 18,
363
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/iYFI.svg',
364
+ tags: ['inverse', 'synth'],
365
+ },
366
+ {
367
+ chainId: 1,
368
+ address: '0xcD39b5434a0A92cf47D1F567a7dF84bE356814F0',
369
+ symbol: 's1INCH',
370
+ name: 'Synth 1inch',
371
+ decimals: 18,
372
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/s1INCH.svg',
373
+ tags: ['synth'],
374
+ },
375
+ {
376
+ chainId: 1,
377
+ address: '0x7537AAe01f3B218DAE75e10d952473823F961B87',
378
+ symbol: 'sAAPL',
379
+ name: 'Synth Apple',
380
+ decimals: 18,
381
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sAAPL.svg',
382
+ tags: ['synth'],
383
+ },
384
+ {
385
+ chainId: 1,
386
+ address: '0xd2dF355C19471c8bd7D8A3aa27Ff4e26A21b4076',
387
+ symbol: 'sAAVE',
388
+ name: 'Synth Aave',
389
+ decimals: 18,
390
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sAAVE.svg',
391
+ tags: ['synth'],
392
+ },
393
+ {
394
+ chainId: 1,
395
+ address: '0xe36E2D3c7c34281FA3bC737950a68571736880A1',
396
+ symbol: 'sADA',
397
+ name: 'Synth Cardano',
398
+ decimals: 18,
399
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sADA.svg',
400
+ tags: ['synth'],
401
+ },
402
+ {
403
+ chainId: 1,
404
+ address: '0x9CF7E61853ea30A41b02169391b393B901eac457',
405
+ symbol: 'sAMZN',
406
+ name: 'Synth Amazon',
407
+ decimals: 18,
408
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sAMZN.svg',
409
+ tags: ['synth'],
410
+ },
411
+ {
412
+ chainId: 1,
413
+ address: '0xF48e200EAF9906362BB1442fca31e0835773b8B4',
414
+ symbol: 'sAUD',
415
+ name: 'Synth Australian Dollars',
416
+ decimals: 18,
417
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sAUD.svg',
418
+ tags: ['synth'],
419
+ },
420
+ {
421
+ chainId: 1,
422
+ address: '0x617aeCB6137B5108D1E7D4918e3725C8cEbdB848',
423
+ symbol: 'sBNB',
424
+ name: 'Synth Binance Coin',
425
+ decimals: 18,
426
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sBNB.svg',
427
+ tags: ['synth'],
428
+ },
429
+ {
430
+ chainId: 1,
431
+ address: '0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6',
432
+ symbol: 'sBTC',
433
+ name: 'Synth Bitcoin',
434
+ decimals: 18,
435
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sBTC.svg',
436
+ tags: ['synth'],
437
+ },
438
+ {
439
+ chainId: 1,
440
+ address: '0xeABACD844A196D7Faf3CE596edeBF9900341B420',
441
+ symbol: 'sCEX',
442
+ name: 'Synth Centralised Exchange Index',
443
+ decimals: 18,
444
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sCEX.svg',
445
+ tags: ['index', 'synth'],
446
+ },
447
+ {
448
+ chainId: 1,
449
+ address: '0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d',
450
+ symbol: 'sCHF',
451
+ name: 'Synth Swiss Franc',
452
+ decimals: 18,
453
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sCHF.svg',
454
+ tags: ['synth'],
455
+ },
456
+ {
457
+ chainId: 1,
458
+ address: '0x9EeF4CA7aB9fa8bc0650127341C2d3F707a40f8A',
459
+ symbol: 'sCOIN',
460
+ name: 'Synth Coinbase',
461
+ decimals: 18,
462
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sCOIN.svg',
463
+ tags: ['synth'],
464
+ },
465
+ {
466
+ chainId: 1,
467
+ address: '0xEb029507d3e043DD6C87F2917C4E82B902c35618',
468
+ symbol: 'sCOMP',
469
+ name: 'Synth Compound',
470
+ decimals: 18,
471
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sCOMP.svg',
472
+ tags: ['synth'],
473
+ },
474
+ {
475
+ chainId: 1,
476
+ address: '0xD38aEb759891882e78E957c80656572503D8c1B1',
477
+ symbol: 'sCRV',
478
+ name: 'Synth Curve DAO Token',
479
+ decimals: 18,
480
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sCRV.svg',
481
+ tags: ['synth'],
482
+ },
483
+ {
484
+ chainId: 1,
485
+ address: '0xfE33ae95A9f0DA8A845aF33516EDc240DCD711d6',
486
+ symbol: 'sDASH',
487
+ name: 'Synth Dash',
488
+ decimals: 18,
489
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sDASH.svg',
490
+ tags: ['synth'],
491
+ },
492
+ {
493
+ chainId: 1,
494
+ address: '0xe1aFe1Fd76Fd88f78cBf599ea1846231B8bA3B6B',
495
+ symbol: 'sDEFI',
496
+ name: 'Synth DeFi Index',
497
+ decimals: 18,
498
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sDEFI.svg',
499
+ tags: ['index', 'synth'],
500
+ },
501
+ {
502
+ chainId: 1,
503
+ address: '0x1715AC0743102BF5Cd58EfBB6Cf2dC2685d967b6',
504
+ symbol: 'sDOT',
505
+ name: 'Synth Polkadot',
506
+ decimals: 18,
507
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sDOT.svg',
508
+ tags: ['synth'],
509
+ },
510
+ {
511
+ chainId: 1,
512
+ address: '0x88C8Cf3A212c0369698D13FE98Fcb76620389841',
513
+ symbol: 'sEOS',
514
+ name: 'Synth EOS',
515
+ decimals: 18,
516
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sEOS.svg',
517
+ tags: ['synth'],
518
+ },
519
+ {
520
+ chainId: 1,
521
+ address: '0x22602469d704BfFb0936c7A7cfcD18f7aA269375',
522
+ symbol: 'sETC',
523
+ name: 'Synth Ethereum Classic',
524
+ decimals: 18,
525
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sETC.svg',
526
+ tags: ['synth'],
527
+ },
528
+ {
529
+ chainId: 1,
530
+ address: '0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb',
531
+ symbol: 'sETH',
532
+ name: 'Synth Ether',
533
+ decimals: 18,
534
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sETH.svg',
535
+ tags: ['synth'],
536
+ },
537
+ {
538
+ chainId: 1,
539
+ address: '0xD71eCFF9342A5Ced620049e616c5035F1dB98620',
540
+ symbol: 'sEUR',
541
+ name: 'Synth Euros',
542
+ decimals: 18,
543
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sEUR.svg',
544
+ tags: ['synth'],
545
+ },
546
+ {
547
+ chainId: 1,
548
+ address: '0xf50B5e535F62a56A9BD2d8e2434204E726c027Fa',
549
+ symbol: 'sFB',
550
+ name: 'Synth Facebook',
551
+ decimals: 18,
552
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sFB.svg',
553
+ tags: ['synth'],
554
+ },
555
+ {
556
+ chainId: 1,
557
+ address: '0x23348160D7f5aca21195dF2b70f28Fce2B0be9fC',
558
+ symbol: 'sFTSE',
559
+ name: 'Synth FTSE 100 Index',
560
+ decimals: 18,
561
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sFTSE.svg',
562
+ tags: ['synth'],
563
+ },
564
+ {
565
+ chainId: 1,
566
+ address: '0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F',
567
+ symbol: 'sGBP',
568
+ name: 'Synth Pound Sterling',
569
+ decimals: 18,
570
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sGBP.svg',
571
+ tags: ['synth'],
572
+ },
573
+ {
574
+ chainId: 1,
575
+ address: '0xC63B8ECCE56aB9C46184eC6aB85e4771fEa4c8AD',
576
+ symbol: 'sGOOG',
577
+ name: 'Synth Alphabet',
578
+ decimals: 18,
579
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sGOOG.svg',
580
+ tags: ['synth'],
581
+ },
582
+ {
583
+ chainId: 1,
584
+ address: '0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d',
585
+ symbol: 'sJPY',
586
+ name: 'Synth Japanese Yen',
587
+ decimals: 18,
588
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sJPY.svg',
589
+ tags: ['synth'],
590
+ },
591
+ {
592
+ chainId: 1,
593
+ address: '0x269895a3dF4D73b077Fc823dD6dA1B95f72Aaf9B',
594
+ symbol: 'sKRW',
595
+ name: 'Synth South Korean Won',
596
+ decimals: 18,
597
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sKRW.svg',
598
+ tags: ['synth'],
599
+ },
600
+ {
601
+ chainId: 1,
602
+ address: '0xbBC455cb4F1B9e4bFC4B73970d360c8f032EfEE6',
603
+ symbol: 'sLINK',
604
+ name: 'Synth Chainlink',
605
+ decimals: 18,
606
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sLINK.svg',
607
+ tags: ['synth'],
608
+ },
609
+ {
610
+ chainId: 1,
611
+ address: '0xC14103C2141E842e228FBaC594579e798616ce7A',
612
+ symbol: 'sLTC',
613
+ name: 'Synth Litecoin',
614
+ decimals: 18,
615
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sLTC.svg',
616
+ tags: ['synth'],
617
+ },
618
+ {
619
+ chainId: 1,
620
+ address: '0x745a824D6aBBD236AA794b5530062778A6Ad7523',
621
+ symbol: 'sMSFT',
622
+ name: 'Synth Microsoft',
623
+ decimals: 18,
624
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sMSFT.svg',
625
+ tags: ['synth'],
626
+ },
627
+ {
628
+ chainId: 1,
629
+ address: '0x5A7E3c07604EB515C16b36cd51906a65f021F609',
630
+ symbol: 'sNFLX',
631
+ name: 'Synth Netflix',
632
+ decimals: 18,
633
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sNFLX.svg',
634
+ tags: ['synth'],
635
+ },
636
+ {
637
+ chainId: 1,
638
+ address: '0x757de3ac6B830a931eF178C6634c5C551773155c',
639
+ symbol: 'sNIKKEI',
640
+ name: 'Synth Nikkei 225 Index',
641
+ decimals: 18,
642
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sNIKKEI.svg',
643
+ tags: ['synth'],
644
+ },
645
+ {
646
+ chainId: 1,
647
+ address: '0x6d16cF3EC5F763d4d99cB0B0b110eefD93B11B56',
648
+ symbol: 'sOIL',
649
+ name: 'Synth Perpetual Oil Futures',
650
+ decimals: 18,
651
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sOIL.svg',
652
+ tags: ['synth'],
653
+ },
654
+ {
655
+ chainId: 1,
656
+ address: '0xD31533E8d0f3DF62060e94B3F1318137bB6E3525',
657
+ symbol: 'sREN',
658
+ name: 'Synth Ren',
659
+ decimals: 18,
660
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sREN.svg',
661
+ tags: ['synth'],
662
+ },
663
+ {
664
+ chainId: 1,
665
+ address: '0x0352557B007A4Aae1511C114409b932F06F9E2f4',
666
+ symbol: 'sRUNE',
667
+ name: 'Synth THORChain',
668
+ decimals: 18,
669
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sRUNE.svg',
670
+ tags: ['synth'],
671
+ },
672
+ {
673
+ chainId: 1,
674
+ address: '0xf2E08356588EC5cd9E437552Da87C0076b4970B0',
675
+ symbol: 'sTRX',
676
+ name: 'Synth TRON',
677
+ decimals: 18,
678
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sTRX.svg',
679
+ tags: ['synth'],
680
+ },
681
+ {
682
+ chainId: 1,
683
+ address: '0x918dA91Ccbc32B7a6A0cc4eCd5987bbab6E31e6D',
684
+ symbol: 'sTSLA',
685
+ name: 'Synth Tesla',
686
+ decimals: 18,
687
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sTSLA.svg',
688
+ tags: ['synth'],
689
+ },
690
+ {
691
+ chainId: 1,
692
+ address: '0x30635297E450b930f8693297eBa160D9e6c8eBcf',
693
+ symbol: 'sUNI',
694
+ name: 'Synth Uniswap',
695
+ decimals: 18,
696
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sUNI.svg',
697
+ tags: ['synth'],
698
+ },
699
+ {
700
+ chainId: 1,
701
+ address: '0x6A22e5e94388464181578Aa7A6B869e00fE27846',
702
+ symbol: 'sXAG',
703
+ name: 'Synth Silver Ounce',
704
+ decimals: 18,
705
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sXAG.svg',
706
+ tags: ['synth'],
707
+ },
708
+ {
709
+ chainId: 1,
710
+ address: '0x261EfCdD24CeA98652B9700800a13DfBca4103fF',
711
+ symbol: 'sXAU',
712
+ name: 'Synth Gold Ounce',
713
+ decimals: 18,
714
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sXAU.svg',
715
+ tags: ['synth'],
716
+ },
717
+ {
718
+ chainId: 1,
719
+ address: '0x5299d6F7472DCc137D7f3C4BcfBBB514BaBF341A',
720
+ symbol: 'sXMR',
721
+ name: 'Synth Monero',
722
+ decimals: 18,
723
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sXMR.svg',
724
+ tags: ['synth'],
725
+ },
726
+ {
727
+ chainId: 1,
728
+ address: '0xa2B0fDe6D710e201d0d608e924A484d1A5fEd57c',
729
+ symbol: 'sXRP',
730
+ name: 'Synth Ripple',
731
+ decimals: 18,
732
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sXRP.svg',
733
+ tags: ['synth'],
734
+ },
735
+ {
736
+ chainId: 1,
737
+ address: '0x2e59005c5c0f0a4D77CcA82653d48b46322EE5Cd',
738
+ symbol: 'sXTZ',
739
+ name: 'Synth Tezos',
740
+ decimals: 18,
741
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sXTZ.svg',
742
+ tags: ['synth'],
743
+ },
744
+ {
745
+ chainId: 1,
746
+ address: '0x992058B7DB08F9734d84485bfbC243C4ee6954A7',
747
+ symbol: 'sYFI',
748
+ name: 'Synth yearn.finance',
749
+ decimals: 18,
750
+ logoURI: 'https://raw.githubusercontent.com/Synthetixio/synthetix-assets/v2.0.10/synths/sYFI.svg',
751
+ tags: ['synth'],
752
+ },
753
+ {
754
+ chainId: 1,
755
+ address: '0x81ab848898b5ffD3354dbbEfb333D5D183eEDcB5',
756
+ name: 'yUSD Synthetic Expiring 1 September 2020',
757
+ symbol: 'yUSDSEP20',
758
+ decimals: 18,
759
+ },
760
+ {
761
+ chainId: 1,
762
+ address: '0xB2FdD60AD80ca7bA89B9BAb3b5336c2601C020b4',
763
+ name: 'yUSD Synthetic Expiring 1 October 2020',
764
+ symbol: 'yUSDOCT20',
765
+ decimals: 18,
766
+ },
767
+ {
768
+ chainId: 1,
769
+ address: '0x208d174775dc39fe18b1b374972f77ddec6c0f73',
770
+ name: 'uUSDrBTC Synthetic Expiring 1 Oct 2020',
771
+ symbol: 'uUSDrBTC-OCT',
772
+ decimals: 18,
773
+ },
774
+ {
775
+ chainId: 1,
776
+ address: '0xf06ddacf71e2992e2122a1a0168c6967afdf63ce',
777
+ name: 'uUSDrBTC Synthetic Expiring 31 Dec 2020',
778
+ symbol: 'uUSDrBTC-DEC',
779
+ decimals: 18,
780
+ },
781
+ {
782
+ chainId: 1,
783
+ address: '0xd16c79c8a39d44b2f3eb45d2019cd6a42b03e2a9',
784
+ name: 'uUSDwETH Synthetic Expiring 31 Dec 2020',
785
+ symbol: 'uUSDwETH-DEC',
786
+ decimals: 18,
787
+ },
788
+ {
789
+ chainId: 1,
790
+ address: '0x3d995510f8d82c2ea341845932b5ddde0bead9a3',
791
+ name: 'uGAS-JAN21 Token Expiring 31 Jan 2021',
792
+ symbol: 'uGAS-JAN21',
793
+ decimals: 18,
794
+ },
795
+ {
796
+ chainId: 1,
797
+ address: '0x90f802c7e8fb5d40b0de583e34c065a3bd2020d8',
798
+ name: 'YD-ETH-MAR21 Token Expiring 31 Mar 2021',
799
+ symbol: 'YD-ETH-MAR21',
800
+ decimals: 18,
801
+ },
802
+ {
803
+ chainId: 1,
804
+ address: '0x002f0b1a71c5730cf2f4da1970a889207bdb6d0d',
805
+ name: 'YD-BTC-MAR21 Token Expiring 31 Mar 2021',
806
+ symbol: 'YD-BTC-MAR21',
807
+ decimals: 18,
808
+ },
809
+ {
810
+ chainId: 1,
811
+ address: '0x1062ad0e59fa67fa0b27369113098cc941dd0d5f',
812
+ name: 'UMA 35 Call Expirying 30 Apr 2021',
813
+ symbol: 'UMAc35-0421',
814
+ decimals: 18,
815
+ },
816
+ {
817
+ chainId: 1,
818
+ address: '0xf93340b1a3adf7eedcaec25fae8171d4b736e89f',
819
+ name: 'pxUSD Synthetic USD Expiring 1 April 2021',
820
+ symbol: 'pxUSD_MAR2021',
821
+ decimals: 18,
822
+ },
823
+ {
824
+ chainId: 1,
825
+ address: '0x84bd083b1c8bf929f39c98bc17cf518f40154f58',
826
+ name: 'Mario Cash Synthetic Token Expiring 15 January 2021',
827
+ symbol: 'Mario Cash-JAN-2021',
828
+ decimals: 18,
829
+ },
830
+ {
831
+ chainId: 1,
832
+ address: '0x81fab276aec924fbde190cf379783526d413cf70',
833
+ name: 'uGAS-FEB21 Token Expiring 28 Feb 2021',
834
+ symbol: 'uGAS-FEB21',
835
+ decimals: 18,
836
+ },
837
+ {
838
+ chainId: 1,
839
+ address: '0x4e110603e70b0b5f1c403ee543b37e1f1244cf28',
840
+ name: 'uGAS-MAR21 Token Expiring 31 Mar 2021',
841
+ symbol: 'uGAS-MAR21',
842
+ decimals: 18,
843
+ },
844
+ {
845
+ chainId: 1,
846
+ address: '0xcf55a7f92d5e0c6683debbc1fc20c0a6e056df13',
847
+ name: 'Zelda Elastic Cash',
848
+ symbol: 'Zelda Elastic Cash',
849
+ decimals: 18,
850
+ },
851
+ {
852
+ chainId: 1,
853
+ address: '0x654eebac62240e6c56bab5f6adf7cfa74a894510',
854
+ name: 'Zelda Spring Nuts Cash',
855
+ symbol: 'Zelda Spring Nuts Cash',
856
+ decimals: 18,
857
+ },
858
+ {
859
+ chainId: 1,
860
+ address: '0xa48920cc1ad85d8ea13af5d7be180c0338c306dd',
861
+ name: 'Zelda Summer Nuts Cash',
862
+ symbol: 'Zelda Summer Nuts Cash',
863
+ decimals: 18,
864
+ },
865
+ {
866
+ chainId: 1,
867
+ address: '0x249a198d59b57fda5dda90630febc86fd8c7594c',
868
+ name: 'Zelda Whirlwind Cash',
869
+ symbol: 'Zelda Whirlwind Cash',
870
+ decimals: 18,
871
+ },
872
+ {
873
+ chainId: 1,
874
+ address: '0x5ed1406873c9eb91f6f9a67ac4e152387c1132e7',
875
+ name: 'Zelda Reinforced Cash',
876
+ symbol: 'Zelda Reinforced Cash',
877
+ decimals: 18,
878
+ },
879
+ {
880
+ chainId: 1,
881
+ address: '0x8104c9f13118320eefe5fbea8a44d600b85981ef',
882
+ name: 'Mini Mario Summer Cash',
883
+ symbol: 'Mini Mario Summer Cash',
884
+ decimals: 18,
885
+ },
886
+ {
887
+ chainId: 1,
888
+ address: '0x69746c719e59674b147df25f50e7cfa0673cb625',
889
+ name: 'Mini Mario Spring Cash',
890
+ symbol: 'Mini Mario Spring Cash',
891
+ decimals: 18,
892
+ },
893
+ {
894
+ chainId: 1,
895
+ address: '0x6b1257641d18791141f025eab36fb567c4b564ff',
896
+ name: 'Bitcoin Dominance Token 31 March 2021',
897
+ symbol: 'BTCDOM-MAR2021',
898
+ decimals: 18,
899
+ },
900
+ {
901
+ chainId: 1,
902
+ address: '0x4e83b6287588a96321b2661c5e041845ff7814af',
903
+ name: 'Altcoin Dominance Token 31 March 2021',
904
+ symbol: 'ALTDOM-MAR2021',
905
+ decimals: 18,
906
+ },
907
+ {
908
+ chainId: 1,
909
+ address: '0x59fec83ec709c893aedd1a144cf1828eb04127cd',
910
+ name: 'pxGOLD Synthetic GOLD Expiring 31 May 2021',
911
+ symbol: 'pxGOLD_MAY2021',
912
+ decimals: 18,
913
+ },
914
+ {
915
+ chainId: 1,
916
+ address: '0x89337BFb7938804c3776C9FB921EccAf5ab76758',
917
+ name: 'Compound Annualized Rate Future Expiring 28 March 2021',
918
+ symbol: 'CAR-USDC-MAR21',
919
+ decimals: 18,
920
+ },
921
+ {
922
+ chainId: 1,
923
+ address: '0xec58d3aefc9aaa2e0036fa65f70d569f49d9d1ed',
924
+ name: 'uSTONKS Index Token April 2021',
925
+ symbol: 'uSTONKS_APR21',
926
+ decimals: 6,
927
+ },
928
+ {
929
+ chainId: 1,
930
+ address: '0xa6B9d7E3d76cF23549293Fb22c488E0Ea591A44e',
931
+ name: 'uGAS-JUN21 Token Expiring 30 Jun 2021',
932
+ symbol: 'uGAS-JUN21',
933
+ decimals: 18,
934
+ },
935
+ {
936
+ chainId: 1,
937
+ address: '0xe813b65da6c38a04591aed3f082d32db7d53c382',
938
+ name: 'Yield Dollar [WETH Dec 2021]',
939
+ symbol: 'YD-ETH-DEC21',
940
+ decimals: 18,
941
+ },
942
+ {
943
+ chainId: 1,
944
+ address: '0x4b606e9eb2228c70f44453afe5a73e1fea258ce1',
945
+ name: 'pxUSD Synthetic USD Expiring 31 Mar 2022',
946
+ symbol: 'pxUSD_MAR2022',
947
+ decimals: 18,
948
+ },
949
+ {
950
+ chainId: 1,
951
+ address: '0x5247c0db4044fb6f97f32c7e1b48758019a5a912',
952
+ name: 'pxGOLD Synthetic Gold Expiring 31 Mar 2022',
953
+ symbol: 'pxGOLD_MAR2022',
954
+ decimals: 18,
955
+ },
956
+ {
957
+ chainId: 1,
958
+ address: '0x56fb1acaff95c0b6ebcd17c8361a63d98b1a5a11',
959
+ name: 'uForex CNYUSD Synthetic Token April 2021',
960
+ symbol: 'uCNYUSD-APR',
961
+ decimals: 6,
962
+ },
963
+ {
964
+ chainId: 1,
965
+ address: '0xd49fa405dce086c65d66ca1ca41f8e98583812b4',
966
+ name: 'uForex EURUSD Synthetic Token April 2021',
967
+ symbol: 'uEURUSD-APR',
968
+ decimals: 6,
969
+ },
970
+ {
971
+ chainId: 1,
972
+ address: '0x29dddacba3b231ee8d673dd0f0fa759ea145561b',
973
+ name: 'DEFI_PULSE_TOTAL_TVL Synthetic Token Expiring 15 April 2021',
974
+ symbol: 'TVL_ALL_APRIL15',
975
+ decimals: 6,
976
+ },
977
+ {
978
+ chainId: 1,
979
+ address: '0xcbe430927370e95b4b10cfc702c6017ec7abefc3',
980
+ name: 'Yield Dollar [WETH Jun 2021]',
981
+ symbol: 'YD-ETH-JUN21',
982
+ decimals: 18,
983
+ },
984
+ {
985
+ chainId: 1,
986
+ address: '0x4b7fb448df91c8ed973494f8c8c4f12daf3a8521',
987
+ name: 'Yield Dollar [renBTC Jun 2021]',
988
+ symbol: 'YD-BTC-JUN21',
989
+ decimals: 8,
990
+ },
991
+ {
992
+ chainId: 1,
993
+ address: '0x3108c33b6fb38efedaefd8b5f7ca01d5f5c7372d',
994
+ name: 'Yield Dollar UMA 21',
995
+ symbol: 'yUMA21',
996
+ decimals: 18,
997
+ },
998
+ {
999
+ chainId: 1,
1000
+ address: '0x0cae9e4d663793c2a2A0b211c1Cf4bBca2B9cAa7',
1001
+ name: 'Mirrored Amazon',
1002
+ symbol: 'MAMZN',
1003
+ decimals: 18,
1004
+ },
1005
+ {
1006
+ chainId: 1,
1007
+ address: '0x31c63146a635EB7465e5853020b39713AC356991',
1008
+ name: 'M US Oil',
1009
+ symbol: 'MUSO',
1010
+ decimals: 18,
1011
+ },
1012
+ {
1013
+ chainId: 1,
1014
+ address: '0x59A921Db27Dd6d4d974745B7FfC5c33932653442',
1015
+ name: 'M Google',
1016
+ symbol: 'MGOOGL',
1017
+ decimals: 18,
1018
+ },
1019
+ {
1020
+ chainId: 1,
1021
+ address: '0xf72FCd9DCF0190923Fadd44811E240Ef4533fc86',
1022
+ name: 'Mirrored ProShares',
1023
+ symbol: 'MVIXY',
1024
+ decimals: 18,
1025
+ },
1026
+ {
1027
+ chainId: 1,
1028
+ address: '0x56aA298a19C93c6801FDde870fA63EF75Cc0aF72',
1029
+ name: 'Mirrored Alibaba',
1030
+ symbol: 'MBABA',
1031
+ decimals: 18,
1032
+ },
1033
+ {
1034
+ chainId: 1,
1035
+ address: '0x0e99cC0535BB6251F6679Fa6E65d6d3b430e840B',
1036
+ name: 'Mirrored Facebook',
1037
+ symbol: 'MFB',
1038
+ decimals: 18,
1039
+ },
1040
+ {
1041
+ chainId: 1,
1042
+ address: '0x13B02c8dE71680e71F0820c996E4bE43c2F57d15',
1043
+ name: 'Mirrored Invesco QQ',
1044
+ symbol: 'MQQQ',
1045
+ decimals: 18,
1046
+ },
1047
+ {
1048
+ chainId: 1,
1049
+ address: '0x41BbEDd7286dAab5910a1f15d12CBda839852BD7',
1050
+ name: 'Mirrored Microsoft',
1051
+ symbol: 'MMSFT',
1052
+ decimals: 18,
1053
+ },
1054
+ {
1055
+ chainId: 1,
1056
+ address: '0x9d1555d8cB3C846Bb4f7D5B1B1080872c3166676',
1057
+ name: 'Mirrored iShares Si',
1058
+ symbol: 'MSLV',
1059
+ decimals: 18,
1060
+ },
1061
+ {
1062
+ chainId: 1,
1063
+ address: '0x21cA39943E91d704678F5D00b6616650F066fD63',
1064
+ name: 'Mirrored Tesla',
1065
+ symbol: 'MTSLA',
1066
+ decimals: 18,
1067
+ },
1068
+ {
1069
+ chainId: 1,
1070
+ address: '0xe82bbB62fA81d0701643d1675FB50ec52fD3Df92',
1071
+ name: 'DYDX Token',
1072
+ symbol: 'DYDX',
1073
+ decimals: 18,
1074
+ },
1075
+ {
1076
+ chainId: 10,
1077
+ address: '0xE405de8F52ba7559f9df3C368500B6E6ae6Cee49',
1078
+ name: 'sETH',
1079
+ symbol: 'Synth Ether',
1080
+ decimals: 18,
1081
+ },
1082
+ {
1083
+ chainId: 10,
1084
+ address: '0x298B9B95708152ff6968aafd889c6586e9169f1D',
1085
+ name: 'sBTC',
1086
+ symbol: 'Synth Bitcoin',
1087
+ decimals: 18,
1088
+ },
1089
+ {
1090
+ chainId: 10,
1091
+ address: '0xc5Db22719A06418028A40A9B5E9A7c02959D0d08',
1092
+ name: 'sLINK',
1093
+ symbol: 'Synth Link',
1094
+ decimals: 18,
1095
+ },
1096
+ {
1097
+ chainId: 1,
1098
+ address: '0x6B60eE11b73230045cF9095E6e43AE9Ea638e172',
1099
+ name: 'Shatner',
1100
+ symbol: 'SHAT',
1101
+ decimals: 18,
1102
+ },
1103
+ {
1104
+ chainId: 1,
1105
+ address: '0x7277a44D1325D81Ac58893002a1B40a41bea43fe',
1106
+ name: 'FAANG Index',
1107
+ symbol: 'FAANG',
1108
+ decimals: 18,
1109
+ },
1110
+ {
1111
+ chainId: 1,
1112
+ address: '0x76175599887730786bdA1545D0D7AcE8737fEBB1',
1113
+ name: 'ENS DAO',
1114
+ symbol: 'ENS',
1115
+ decimals: 18,
1116
+ },
1117
+ ],
1118
+ };
1119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zdXBwb3J0ZWQtdG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvdW5zdXBwb3J0ZWQtdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsa0JBQWtCLEdBQUc7SUFDaEMsSUFBSSxFQUFFLHdCQUF3QjtJQUM5QixTQUFTLEVBQUUsMEJBQTBCO0lBQ3JDLE9BQU8sRUFBRTtRQUNQLEtBQUssRUFBRSxDQUFDO1FBQ1IsS0FBSyxFQUFFLENBQUM7UUFDUixLQUFLLEVBQUUsQ0FBQztLQUNUO0lBQ0QsSUFBSSxFQUFFLEVBQUU7SUFDUixPQUFPLEVBQUUsdURBQXVEO0lBQ2hFLFFBQVEsRUFBRSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDO0lBQzlDLE1BQU0sRUFBRTtRQUNOO1lBQ0UsSUFBSSxFQUFFLFdBQVc7WUFDakIsT0FBTyxFQUFFLDRDQUE0QztZQUNyRCxNQUFNLEVBQUUsS0FBSztZQUNiLFFBQVEsRUFBRSxDQUFDO1lBQ1gsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsRUFBRTtTQUNaO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsVUFBVTtZQUNoQixPQUFPLEVBQUUsNENBQTRDO1lBQ3JELE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUSxFQUFFLEVBQUU7WUFDWixPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sRUFBRSxFQUFFO1NBQ1o7UUFDRDtZQUNFLElBQUksRUFBRSxhQUFhO1lBQ25CLE9BQU8sRUFBRSw0Q0FBNEM7WUFDckQsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsQ0FBQztZQUNYLE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTyxFQUNMLDZJQUE2STtTQUNoSjtRQUNEO1lBQ0UsSUFBSSxFQUFFLFdBQVc7WUFDakIsT0FBTyxFQUFFLDRDQUE0QztZQUNyRCxNQUFNLEVBQUUsUUFBUTtZQUNoQixRQUFRLEVBQUUsQ0FBQztZQUNYLE9B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VixPQUFPLEVBQUUsNENBQTRDO1lBQ3JELElBQUksRUFBRSx3Q0FBd0M7WUFDOUMsTUFBTSxFQUFFLFdBQVc7WUFDbkIsUUFBUSxFQUFFLEVBQUU7U0FDYjtRQUNEO1lBQ0UsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsNENBQTRDO1lBQ3JELElBQUksRUFBRSx3Q0FBd0M7WUFDOUMsTUFBTSxFQUFFLGNBQWM7WUFDdEIsUUFBUSxFQUFFLEVBQUU7U0FDYjtRQUNEO1lBQ0UsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsNENBQTRDO1lBQ3JELElBQUksRUFBRSx5Q0FBeUM7WUFDL0MsTUFBTSxFQUFFLGNBQWM7WUFDdEIsUUFBUSxFQUFFLEVBQUU7U0FDYjtRQUNEO1lBQ0UsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsNENBQTRDO1lBQ3JELElBQUksRUFBRSx5Q0FBeUM7WUFDL0MsTUFBTSxFQUFFLGNBQWM7WUFDdEIsUUFBUSxFQUFFLEVBQUU7U0FDYjtRQUNEO1lBQ0UsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsNENBQTRDO1lBQ3JELElBQUksRUFBRSx1Q0FBdUM7WUFDN0MsTUFBTSxFQUFFLFlBQVk7WUFDcEIsUUFBUSxFQUFFLEVBQUU7U0FDYjtRQUNEO1lBQ0UsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsNENBQTRDO1lBQ3JELElBQUksRUFBRSx5Q0FBeUM7WUFDL0MsTUFBTSxFQUFFLGNBQWM7WUFDdEIsUUFBUSxFQUFFLEVBQUU7U0FDYjtRQUNEO1lBQ0UsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsNENBQTRDO1lBQ3JELElBQUksRUFBRSx5Q0FBeUM7WUFDL0MsTUFBTSxFQUFFLGNBQWM7WUFDdEIsUUFBUSxFQUFFLEVBQUU7U0FDYjtRQUNEO1lBQ0UsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsNENBQTRDO1lBQ3JELElBQUksRUFBRSxtQ0FBbUM7WUFDekMsTUFBTSxFQUFFLGFBQWE7WUFDckIsUUFBUSxFQUFFLEVB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