@eth-optimism/actions-sdk 0.3.0 → 0.4.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 (436) hide show
  1. package/dist/__mocks__/MockAssets.d.ts +17 -2
  2. package/dist/__mocks__/MockAssets.d.ts.map +1 -1
  3. package/dist/__mocks__/MockAssets.js +49 -6
  4. package/dist/__mocks__/MockAssets.js.map +1 -1
  5. package/dist/__tests__/actions.test.js +1 -1
  6. package/dist/__tests__/actions.test.js.map +1 -1
  7. package/dist/actions.d.ts +8 -13
  8. package/dist/actions.d.ts.map +1 -1
  9. package/dist/actions.js +35 -27
  10. package/dist/actions.js.map +1 -1
  11. package/dist/constants/assets.d.ts +215 -4
  12. package/dist/constants/assets.d.ts.map +1 -1
  13. package/dist/constants/assets.js +734 -11
  14. package/dist/constants/assets.js.map +1 -1
  15. package/dist/constants/providers.d.ts +6 -0
  16. package/dist/constants/providers.d.ts.map +1 -0
  17. package/dist/constants/providers.js +6 -0
  18. package/dist/constants/providers.js.map +1 -0
  19. package/dist/constants/supportedChains.d.ts +2 -2
  20. package/dist/constants/supportedChains.d.ts.map +1 -1
  21. package/dist/constants/supportedChains.js +12 -2
  22. package/dist/constants/supportedChains.js.map +1 -1
  23. package/dist/index.d.ts +4 -5
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +3 -4
  26. package/dist/index.js.map +1 -1
  27. package/dist/lend/__mocks__/MockLendProvider.d.ts +1 -1
  28. package/dist/lend/__mocks__/MockLendProvider.d.ts.map +1 -1
  29. package/dist/lend/__mocks__/MockLendProvider.js +7 -2
  30. package/dist/lend/__mocks__/MockLendProvider.js.map +1 -1
  31. package/dist/lend/core/LendProvider.d.ts +12 -8
  32. package/dist/lend/core/LendProvider.d.ts.map +1 -1
  33. package/dist/lend/core/LendProvider.js +15 -21
  34. package/dist/lend/core/LendProvider.js.map +1 -1
  35. package/dist/lend/namespaces/BaseLendNamespace.d.ts +2 -6
  36. package/dist/lend/namespaces/BaseLendNamespace.d.ts.map +1 -1
  37. package/dist/lend/namespaces/BaseLendNamespace.js.map +1 -1
  38. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js +7 -4
  39. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +1 -1
  40. package/dist/lend/providers/aave/AaveLendProvider.d.ts +1 -6
  41. package/dist/lend/providers/aave/AaveLendProvider.d.ts.map +1 -1
  42. package/dist/lend/providers/aave/AaveLendProvider.js +3 -6
  43. package/dist/lend/providers/aave/AaveLendProvider.js.map +1 -1
  44. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js +14 -6
  45. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +1 -1
  46. package/dist/lend/providers/aave/addresses.d.ts +13 -39
  47. package/dist/lend/providers/aave/addresses.d.ts.map +1 -1
  48. package/dist/lend/providers/aave/addresses.js +65 -60
  49. package/dist/lend/providers/aave/addresses.js.map +1 -1
  50. package/dist/lend/providers/aave/sdk.d.ts +2 -2
  51. package/dist/lend/providers/aave/sdk.d.ts.map +1 -1
  52. package/dist/lend/providers/aave/sdk.js +6 -28
  53. package/dist/lend/providers/aave/sdk.js.map +1 -1
  54. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts +1 -6
  55. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -1
  56. package/dist/lend/providers/morpho/MorphoLendProvider.js +4 -13
  57. package/dist/lend/providers/morpho/MorphoLendProvider.js.map +1 -1
  58. package/dist/lend/providers/morpho/__tests__/api.test.js +52 -43
  59. package/dist/lend/providers/morpho/__tests__/api.test.js.map +1 -1
  60. package/dist/lend/providers/morpho/__tests__/sdk.test.js +41 -42
  61. package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +1 -1
  62. package/dist/lend/providers/morpho/api.d.ts +3 -7
  63. package/dist/lend/providers/morpho/api.d.ts.map +1 -1
  64. package/dist/lend/providers/morpho/api.js +2 -2
  65. package/dist/lend/providers/morpho/api.js.map +1 -1
  66. package/dist/lend/providers/morpho/contracts.d.ts +11 -10
  67. package/dist/lend/providers/morpho/contracts.d.ts.map +1 -1
  68. package/dist/lend/providers/morpho/contracts.js +43 -10
  69. package/dist/lend/providers/morpho/contracts.js.map +1 -1
  70. package/dist/lend/providers/morpho/sdk.d.ts +7 -2
  71. package/dist/lend/providers/morpho/sdk.d.ts.map +1 -1
  72. package/dist/lend/providers/morpho/sdk.js +67 -63
  73. package/dist/lend/providers/morpho/sdk.js.map +1 -1
  74. package/dist/nodeActionsFactory.d.ts +1 -1
  75. package/dist/reactActionsFactory.d.ts +1 -1
  76. package/dist/services/ChainManager.d.ts +8 -8
  77. package/dist/services/ChainManager.d.ts.map +1 -1
  78. package/dist/services/ChainManager.js.map +1 -1
  79. package/dist/services/__mocks__/MockChainManager.d.ts +4 -4
  80. package/dist/services/__mocks__/MockChainManager.d.ts.map +1 -1
  81. package/dist/services/__mocks__/MockChainManager.js.map +1 -1
  82. package/dist/services/tokenBalance.d.ts +1 -1
  83. package/dist/services/tokenBalance.d.ts.map +1 -1
  84. package/dist/services/tokenBalance.js +31 -30
  85. package/dist/services/tokenBalance.js.map +1 -1
  86. package/dist/services/tokenBalance.spec.js +20 -24
  87. package/dist/services/tokenBalance.spec.js.map +1 -1
  88. package/dist/swap/__mocks__/MockSwapProvider.d.ts +20 -8
  89. package/dist/swap/__mocks__/MockSwapProvider.d.ts.map +1 -1
  90. package/dist/swap/__mocks__/MockSwapProvider.js +52 -29
  91. package/dist/swap/__mocks__/MockSwapProvider.js.map +1 -1
  92. package/dist/swap/core/SwapProvider.d.ts +105 -16
  93. package/dist/swap/core/SwapProvider.d.ts.map +1 -1
  94. package/dist/swap/core/SwapProvider.js +218 -36
  95. package/dist/swap/core/SwapProvider.js.map +1 -1
  96. package/dist/swap/core/__tests__/SwapProvider.test.js +115 -9
  97. package/dist/swap/core/__tests__/SwapProvider.test.js.map +1 -1
  98. package/dist/swap/core/markets.d.ts +47 -0
  99. package/dist/swap/core/markets.d.ts.map +1 -0
  100. package/dist/swap/core/markets.js +65 -0
  101. package/dist/swap/core/markets.js.map +1 -0
  102. package/dist/swap/index.d.ts +2 -0
  103. package/dist/swap/index.d.ts.map +1 -1
  104. package/dist/swap/index.js +1 -0
  105. package/dist/swap/index.js.map +1 -1
  106. package/dist/swap/namespaces/ActionsSwapNamespace.d.ts +2 -2
  107. package/dist/swap/namespaces/ActionsSwapNamespace.js +2 -2
  108. package/dist/swap/namespaces/BaseSwapNamespace.d.ts +48 -8
  109. package/dist/swap/namespaces/BaseSwapNamespace.d.ts.map +1 -1
  110. package/dist/swap/namespaces/BaseSwapNamespace.js +139 -16
  111. package/dist/swap/namespaces/BaseSwapNamespace.js.map +1 -1
  112. package/dist/swap/namespaces/WalletSwapNamespace.d.ts +19 -7
  113. package/dist/swap/namespaces/WalletSwapNamespace.d.ts.map +1 -1
  114. package/dist/swap/namespaces/WalletSwapNamespace.js +39 -15
  115. package/dist/swap/namespaces/WalletSwapNamespace.js.map +1 -1
  116. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js +150 -11
  117. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +1 -1
  118. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js +85 -8
  119. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +1 -1
  120. package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts +9 -42
  121. package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +1 -1
  122. package/dist/swap/providers/uniswap/UniswapSwapProvider.js +81 -139
  123. package/dist/swap/providers/uniswap/UniswapSwapProvider.js.map +1 -1
  124. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js +10 -9
  125. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +1 -1
  126. package/dist/swap/providers/uniswap/__tests__/sdk.test.js +17 -17
  127. package/dist/swap/providers/uniswap/__tests__/sdk.test.js.map +1 -1
  128. package/dist/swap/providers/uniswap/addresses.d.ts +5 -0
  129. package/dist/swap/providers/uniswap/addresses.d.ts.map +1 -1
  130. package/dist/swap/providers/uniswap/addresses.js +1 -1
  131. package/dist/swap/providers/uniswap/addresses.js.map +1 -1
  132. package/dist/swap/providers/uniswap/encoding.d.ts +4 -4
  133. package/dist/swap/providers/uniswap/encoding.js +17 -17
  134. package/dist/swap/providers/uniswap/markets.d.ts +19 -0
  135. package/dist/swap/providers/uniswap/markets.d.ts.map +1 -0
  136. package/dist/swap/providers/uniswap/markets.js +48 -0
  137. package/dist/swap/providers/uniswap/markets.js.map +1 -0
  138. package/dist/swap/providers/uniswap/types.d.ts +4 -3
  139. package/dist/swap/providers/uniswap/types.d.ts.map +1 -1
  140. package/dist/swap/providers/velodrome/VelodromeSwapProvider.d.ts +49 -0
  141. package/dist/swap/providers/velodrome/VelodromeSwapProvider.d.ts.map +1 -0
  142. package/dist/swap/providers/velodrome/VelodromeSwapProvider.js +140 -0
  143. package/dist/swap/providers/velodrome/VelodromeSwapProvider.js.map +1 -0
  144. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts +2 -0
  145. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts.map +1 -0
  146. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js +255 -0
  147. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js.map +1 -0
  148. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts +2 -0
  149. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts.map +1 -0
  150. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js +166 -0
  151. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js.map +1 -0
  152. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts +2 -0
  153. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts.map +1 -0
  154. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js +419 -0
  155. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js.map +1 -0
  156. package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts +2 -0
  157. package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts.map +1 -0
  158. package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.js +51 -0
  159. package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.js.map +1 -0
  160. package/dist/swap/providers/velodrome/__tests__/encoding.helpers.d.ts +14 -0
  161. package/dist/swap/providers/velodrome/__tests__/encoding.helpers.d.ts.map +1 -0
  162. package/dist/swap/providers/velodrome/__tests__/encoding.helpers.js +13 -0
  163. package/dist/swap/providers/velodrome/__tests__/encoding.helpers.js.map +1 -0
  164. package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts +2 -0
  165. package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts.map +1 -0
  166. package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.js +173 -0
  167. package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.js.map +1 -0
  168. package/dist/swap/providers/velodrome/abis.d.ts +396 -0
  169. package/dist/swap/providers/velodrome/abis.d.ts.map +1 -0
  170. package/dist/swap/providers/velodrome/abis.js +257 -0
  171. package/dist/swap/providers/velodrome/abis.js.map +1 -0
  172. package/dist/swap/providers/velodrome/addresses.d.ts +39 -0
  173. package/dist/swap/providers/velodrome/addresses.d.ts.map +1 -0
  174. package/dist/swap/providers/velodrome/addresses.js +57 -0
  175. package/dist/swap/providers/velodrome/addresses.js.map +1 -0
  176. package/dist/swap/providers/velodrome/config.d.ts +22 -0
  177. package/dist/swap/providers/velodrome/config.d.ts.map +1 -0
  178. package/dist/swap/providers/velodrome/config.js +29 -0
  179. package/dist/swap/providers/velodrome/config.js.map +1 -0
  180. package/dist/swap/providers/velodrome/encoding/helpers.d.ts +37 -0
  181. package/dist/swap/providers/velodrome/encoding/helpers.d.ts.map +1 -0
  182. package/dist/swap/providers/velodrome/encoding/helpers.js +60 -0
  183. package/dist/swap/providers/velodrome/encoding/helpers.js.map +1 -0
  184. package/dist/swap/providers/velodrome/encoding/index.d.ts +8 -0
  185. package/dist/swap/providers/velodrome/encoding/index.d.ts.map +1 -0
  186. package/dist/swap/providers/velodrome/encoding/index.js +5 -0
  187. package/dist/swap/providers/velodrome/encoding/index.js.map +1 -0
  188. package/dist/swap/providers/velodrome/encoding/poolRouter.d.ts +39 -0
  189. package/dist/swap/providers/velodrome/encoding/poolRouter.d.ts.map +1 -0
  190. package/dist/swap/providers/velodrome/encoding/poolRouter.js +83 -0
  191. package/dist/swap/providers/velodrome/encoding/poolRouter.js.map +1 -0
  192. package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts +15 -0
  193. package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts.map +1 -0
  194. package/dist/swap/providers/velodrome/encoding/routers/approval.js +33 -0
  195. package/dist/swap/providers/velodrome/encoding/routers/approval.js.map +1 -0
  196. package/dist/swap/providers/velodrome/encoding/routers/cl.d.ts +40 -0
  197. package/dist/swap/providers/velodrome/encoding/routers/cl.d.ts.map +1 -0
  198. package/dist/swap/providers/velodrome/encoding/routers/cl.js +80 -0
  199. package/dist/swap/providers/velodrome/encoding/routers/cl.js.map +1 -0
  200. package/dist/swap/providers/velodrome/encoding/routers/v2.d.ts +42 -0
  201. package/dist/swap/providers/velodrome/encoding/routers/v2.d.ts.map +1 -0
  202. package/dist/swap/providers/velodrome/encoding/routers/v2.js +166 -0
  203. package/dist/swap/providers/velodrome/encoding/routers/v2.js.map +1 -0
  204. package/dist/swap/providers/velodrome/markets.d.ts +21 -0
  205. package/dist/swap/providers/velodrome/markets.d.ts.map +1 -0
  206. package/dist/swap/providers/velodrome/markets.js +69 -0
  207. package/dist/swap/providers/velodrome/markets.js.map +1 -0
  208. package/dist/swap/providers/velodrome/types.d.ts +31 -0
  209. package/dist/swap/providers/velodrome/types.d.ts.map +1 -0
  210. package/dist/swap/providers/velodrome/types.js +2 -0
  211. package/dist/swap/providers/velodrome/types.js.map +1 -0
  212. package/dist/types/actions.d.ts +44 -9
  213. package/dist/types/actions.d.ts.map +1 -1
  214. package/dist/types/asset.d.ts +7 -9
  215. package/dist/types/asset.d.ts.map +1 -1
  216. package/dist/types/chain.d.ts +2 -2
  217. package/dist/types/chain.d.ts.map +1 -1
  218. package/dist/types/lend/base.d.ts +6 -6
  219. package/dist/types/lend/base.d.ts.map +1 -1
  220. package/dist/types/lend/base.js.map +1 -1
  221. package/dist/types/lend/contracts.d.ts +2 -1
  222. package/dist/types/lend/contracts.d.ts.map +1 -1
  223. package/dist/types/providers.d.ts +21 -0
  224. package/dist/types/providers.d.ts.map +1 -0
  225. package/dist/types/providers.js +2 -0
  226. package/dist/types/providers.js.map +1 -0
  227. package/dist/types/swap/base.d.ts +133 -33
  228. package/dist/types/swap/base.d.ts.map +1 -1
  229. package/dist/utils/approve.d.ts +82 -0
  230. package/dist/utils/approve.d.ts.map +1 -0
  231. package/dist/utils/{permit2.js → approve.js} +48 -14
  232. package/dist/utils/approve.js.map +1 -0
  233. package/dist/utils/approve.test.d.ts +2 -0
  234. package/dist/utils/approve.test.d.ts.map +1 -0
  235. package/dist/utils/{permit2.test.js → approve.test.js} +95 -2
  236. package/dist/utils/approve.test.js.map +1 -0
  237. package/dist/utils/assets.d.ts +6 -0
  238. package/dist/utils/assets.d.ts.map +1 -1
  239. package/dist/utils/assets.js +10 -0
  240. package/dist/utils/assets.js.map +1 -1
  241. package/dist/utils/validateAddresses.d.ts +32 -0
  242. package/dist/utils/validateAddresses.d.ts.map +1 -0
  243. package/dist/utils/validateAddresses.js +103 -0
  244. package/dist/utils/validateAddresses.js.map +1 -0
  245. package/dist/utils/validateAddresses.test.d.ts +2 -0
  246. package/dist/utils/validateAddresses.test.d.ts.map +1 -0
  247. package/dist/utils/validateAddresses.test.js +314 -0
  248. package/dist/utils/validateAddresses.test.js.map +1 -0
  249. package/dist/wallet/core/namespace/WalletNamespace.d.ts +21 -9
  250. package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -1
  251. package/dist/wallet/core/namespace/WalletNamespace.js +44 -15
  252. package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -1
  253. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +4 -4
  254. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -1
  255. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts +4 -16
  256. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts.map +1 -1
  257. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js.map +1 -1
  258. package/dist/wallet/core/providers/hosted/types/index.d.ts +6 -11
  259. package/dist/wallet/core/providers/hosted/types/index.d.ts.map +1 -1
  260. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts +2 -9
  261. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts.map +1 -1
  262. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js.map +1 -1
  263. package/dist/wallet/core/wallets/abstract/Wallet.d.ts +6 -17
  264. package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
  265. package/dist/wallet/core/wallets/abstract/Wallet.js +5 -6
  266. package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
  267. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts +10 -1
  268. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts.map +1 -1
  269. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js +2 -2
  270. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js.map +1 -1
  271. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js +12 -4
  272. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js.map +1 -1
  273. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +3 -10
  274. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
  275. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
  276. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -1
  277. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +3 -10
  278. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  279. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  280. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts +2 -4
  281. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts.map +1 -1
  282. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js +6 -8
  283. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js.map +1 -1
  284. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +4 -4
  285. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -1
  286. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +2 -9
  287. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
  288. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
  289. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts +3 -10
  290. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  291. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  292. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts +3 -10
  293. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
  294. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
  295. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts +3 -9
  296. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts.map +1 -1
  297. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js +3 -2
  298. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js.map +1 -1
  299. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +3 -9
  300. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  301. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js +3 -2
  302. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  303. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +3 -9
  304. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
  305. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +3 -2
  306. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
  307. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts +2 -4
  308. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts.map +1 -1
  309. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js +11 -13
  310. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js.map +1 -1
  311. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js +6 -6
  312. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map +1 -1
  313. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts +5 -10
  314. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts.map +1 -1
  315. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js +3 -3
  316. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js.map +1 -1
  317. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts +2 -6
  318. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts.map +1 -1
  319. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.js.map +1 -1
  320. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts +5 -10
  321. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  322. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js +3 -3
  323. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  324. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts +5 -10
  325. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
  326. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
  327. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
  328. package/package.json +3 -2
  329. package/src/__mocks__/MockAssets.ts +54 -6
  330. package/src/__tests__/actions.test.ts +1 -1
  331. package/src/actions.ts +58 -61
  332. package/src/constants/assets.ts +781 -10
  333. package/src/constants/providers.ts +5 -0
  334. package/src/constants/supportedChains.ts +22 -2
  335. package/src/index.ts +50 -8
  336. package/src/lend/__mocks__/MockLendProvider.ts +8 -3
  337. package/src/lend/core/LendProvider.ts +27 -28
  338. package/src/lend/namespaces/BaseLendNamespace.ts +2 -6
  339. package/src/lend/namespaces/__tests__/BaseLendNamespace.spec.ts +12 -5
  340. package/src/lend/providers/aave/AaveLendProvider.ts +3 -7
  341. package/src/lend/providers/aave/__tests__/AaveLendProvider.test.ts +16 -7
  342. package/src/lend/providers/aave/addresses.ts +82 -64
  343. package/src/lend/providers/aave/sdk.ts +11 -36
  344. package/src/lend/providers/morpho/MorphoLendProvider.ts +4 -16
  345. package/src/lend/providers/morpho/__tests__/api.test.ts +65 -44
  346. package/src/lend/providers/morpho/__tests__/sdk.test.ts +43 -43
  347. package/src/lend/providers/morpho/api.ts +7 -8
  348. package/src/lend/providers/morpho/contracts.ts +62 -13
  349. package/src/lend/providers/morpho/sdk.ts +85 -63
  350. package/src/services/ChainManager.ts +12 -21
  351. package/src/services/__mocks__/MockChainManager.ts +4 -7
  352. package/src/services/tokenBalance.spec.ts +20 -24
  353. package/src/services/tokenBalance.ts +39 -33
  354. package/src/swap/__mocks__/MockSwapProvider.ts +77 -42
  355. package/src/swap/core/SwapProvider.ts +307 -49
  356. package/src/swap/core/__tests__/SwapProvider.test.ts +151 -9
  357. package/src/swap/core/markets.ts +104 -0
  358. package/src/swap/index.ts +5 -0
  359. package/src/swap/namespaces/ActionsSwapNamespace.ts +2 -2
  360. package/src/swap/namespaces/BaseSwapNamespace.ts +199 -18
  361. package/src/swap/namespaces/WalletSwapNamespace.ts +53 -14
  362. package/src/swap/namespaces/__tests__/BaseSwapNamespace.spec.ts +241 -14
  363. package/src/swap/namespaces/__tests__/WalletSwapNamespace.spec.ts +103 -8
  364. package/src/swap/providers/uniswap/UniswapSwapProvider.ts +108 -195
  365. package/src/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.ts +12 -12
  366. package/src/swap/providers/uniswap/__tests__/sdk.test.ts +19 -20
  367. package/src/swap/providers/uniswap/addresses.ts +3 -1
  368. package/src/swap/providers/uniswap/encoding.ts +22 -22
  369. package/src/swap/providers/uniswap/markets.ts +84 -0
  370. package/src/swap/providers/uniswap/types.ts +4 -3
  371. package/src/swap/providers/velodrome/VelodromeSwapProvider.ts +224 -0
  372. package/src/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.ts +341 -0
  373. package/src/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.ts +202 -0
  374. package/src/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.ts +506 -0
  375. package/src/swap/providers/velodrome/__tests__/encoding.cl.test.ts +69 -0
  376. package/src/swap/providers/velodrome/__tests__/encoding.helpers.ts +20 -0
  377. package/src/swap/providers/velodrome/__tests__/encoding.v2.test.ts +235 -0
  378. package/src/swap/providers/velodrome/abis.ts +264 -0
  379. package/src/swap/providers/velodrome/addresses.ts +107 -0
  380. package/src/swap/providers/velodrome/config.ts +46 -0
  381. package/src/swap/providers/velodrome/encoding/helpers.ts +82 -0
  382. package/src/swap/providers/velodrome/encoding/index.ts +7 -0
  383. package/src/swap/providers/velodrome/encoding/poolRouter.ts +124 -0
  384. package/src/swap/providers/velodrome/encoding/routers/approval.ts +45 -0
  385. package/src/swap/providers/velodrome/encoding/routers/cl.ts +156 -0
  386. package/src/swap/providers/velodrome/encoding/routers/v2.ts +267 -0
  387. package/src/swap/providers/velodrome/markets.ts +100 -0
  388. package/src/swap/providers/velodrome/types.ts +30 -0
  389. package/src/types/actions.ts +49 -9
  390. package/src/types/asset.ts +12 -9
  391. package/src/types/chain.ts +2 -2
  392. package/src/types/lend/base.ts +6 -6
  393. package/src/types/lend/contracts.ts +5 -1
  394. package/src/types/providers.ts +22 -0
  395. package/src/types/swap/base.ts +147 -34
  396. package/src/utils/{permit2.test.ts → approve.test.ts} +117 -1
  397. package/src/utils/{permit2.ts → approve.ts} +67 -14
  398. package/src/utils/assets.ts +14 -0
  399. package/src/utils/validateAddresses.test.ts +439 -0
  400. package/src/utils/validateAddresses.ts +153 -0
  401. package/src/wallet/core/namespace/WalletNamespace.ts +70 -16
  402. package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +8 -4
  403. package/src/wallet/core/providers/hosted/abstract/HostedWalletProvider.ts +5 -17
  404. package/src/wallet/core/providers/hosted/types/index.ts +9 -11
  405. package/src/wallet/core/providers/smart/default/DefaultSmartWalletProvider.ts +5 -17
  406. package/src/wallet/core/wallets/abstract/Wallet.ts +15 -22
  407. package/src/wallet/core/wallets/abstract/__mocks__/TestWallet.ts +13 -1
  408. package/src/wallet/core/wallets/abstract/__tests__/Wallet.spec.ts +21 -5
  409. package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +5 -17
  410. package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +0 -1
  411. package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +3 -10
  412. package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +8 -8
  413. package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +4 -4
  414. package/src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +3 -10
  415. package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +5 -17
  416. package/src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts +5 -17
  417. package/src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts +7 -11
  418. package/src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts +7 -11
  419. package/src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +7 -11
  420. package/src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts +23 -10
  421. package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +6 -6
  422. package/src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts +10 -18
  423. package/src/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.ts +2 -6
  424. package/src/wallet/react/wallets/hosted/privy/PrivyWallet.ts +10 -18
  425. package/src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts +10 -18
  426. package/dist/supported/tokens.d.ts +0 -25
  427. package/dist/supported/tokens.d.ts.map +0 -1
  428. package/dist/supported/tokens.js +0 -44
  429. package/dist/supported/tokens.js.map +0 -1
  430. package/dist/utils/permit2.d.ts +0 -46
  431. package/dist/utils/permit2.d.ts.map +0 -1
  432. package/dist/utils/permit2.js.map +0 -1
  433. package/dist/utils/permit2.test.d.ts +0 -2
  434. package/dist/utils/permit2.test.d.ts.map +0 -1
  435. package/dist/utils/permit2.test.js.map +0 -1
  436. package/src/supported/tokens.ts +0 -66
@@ -1,10 +1,18 @@
1
1
  import {
2
2
  base,
3
3
  baseSepolia,
4
+ bob,
5
+ fraxtal,
6
+ ink,
7
+ lisk,
4
8
  mainnet,
9
+ metalL2,
10
+ mode,
5
11
  optimism,
6
12
  optimismSepolia,
7
13
  sepolia,
14
+ soneium,
15
+ swellchain,
8
16
  unichain,
9
17
  unichainSepolia,
10
18
  worldchain,
@@ -22,6 +30,15 @@ export const ETH: Asset = {
22
30
  [baseSepolia.id]: 'native',
23
31
  [unichain.id]: 'native',
24
32
  [unichainSepolia.id]: 'native',
33
+ [worldchain.id]: 'native',
34
+ [soneium.id]: 'native',
35
+ [ink.id]: 'native',
36
+ [mode.id]: 'native',
37
+ [fraxtal.id]: 'native',
38
+ [lisk.id]: 'native',
39
+ [bob.id]: 'native',
40
+ [swellchain.id]: 'native',
41
+ [metalL2.id]: 'native',
25
42
  },
26
43
  metadata: {
27
44
  decimals: 18,
@@ -34,6 +51,7 @@ export const ETH: Asset = {
34
51
  /**
35
52
  * Wrapped ETH token definition
36
53
  * @description WETH is the ERC-20 wrapped version of native ETH
54
+ * @see https://www.coingecko.com/en/coins/weth
37
55
  */
38
56
  export const WETH: Asset = {
39
57
  address: {
@@ -46,6 +64,14 @@ export const WETH: Asset = {
46
64
  [unichain.id]: '0x4200000000000000000000000000000000000006',
47
65
  [unichainSepolia.id]: '0x4200000000000000000000000000000000000006',
48
66
  [worldchain.id]: '0x4200000000000000000000000000000000000006',
67
+ [soneium.id]: '0x4200000000000000000000000000000000000006',
68
+ [ink.id]: '0x4200000000000000000000000000000000000006',
69
+ [mode.id]: '0x4200000000000000000000000000000000000006',
70
+ [fraxtal.id]: '0x4200000000000000000000000000000000000006',
71
+ [lisk.id]: '0x4200000000000000000000000000000000000006',
72
+ [bob.id]: '0x4200000000000000000000000000000000000006',
73
+ [swellchain.id]: '0x4200000000000000000000000000000000000006',
74
+ [metalL2.id]: '0x4200000000000000000000000000000000000006',
49
75
  },
50
76
  metadata: {
51
77
  symbol: 'WETH',
@@ -71,6 +97,7 @@ export const USDC: Asset = {
71
97
  [unichain.id]: '0x078D782b760474a361dDA0AF3839290b0EF57AD6',
72
98
  [unichainSepolia.id]: '0x31d0220469e10c4E71834a79b1f276d740d3768F',
73
99
  [worldchain.id]: '0x79A02482A880bCe3F13E09da970dC34dB4cD24D1',
100
+ [ink.id]: '0x2D270e6886d130D724215A266106e6832161EAEd',
74
101
  },
75
102
  metadata: {
76
103
  symbol: 'USDC',
@@ -81,30 +108,694 @@ export const USDC: Asset = {
81
108
  }
82
109
 
83
110
  /**
84
- * Demo USDC token for testing
111
+ * Tether USD stablecoin
112
+ * @description USDT is currently only deployed on Ethereum mainnet for supported chains
113
+ * @see https://www.coingecko.com/en/coins/tether
85
114
  */
86
- export const USDC_DEMO: Asset = {
115
+ export const USDT: Asset = {
87
116
  address: {
88
- [baseSepolia.id]: '0xb1b0FE886cE376F28987Ad24b1759a8f0A7dd839',
117
+ [mainnet.id]: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
89
118
  },
90
119
  metadata: {
91
- symbol: 'USDC_DEMO',
92
- name: 'USDC',
120
+ symbol: 'USDT',
121
+ name: 'Tether USD',
93
122
  decimals: 6,
94
123
  },
95
124
  type: 'erc20',
96
125
  }
97
126
 
98
127
  /**
99
- * Demo OP token for testing
128
+ * Dai stablecoin
129
+ * @description DAI is currently only deployed on Ethereum mainnet for supported chains
130
+ * @see https://www.coingecko.com/en/coins/dai
100
131
  */
101
- export const OP_DEMO: Asset = {
132
+ export const DAI: Asset = {
102
133
  address: {
103
- [baseSepolia.id]: '0xD6169405013E92387b78457Fa77d377cE8cD3EE8',
134
+ [mainnet.id]: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
104
135
  },
105
136
  metadata: {
106
- symbol: 'OP_DEMO',
107
- name: 'OP',
137
+ symbol: 'DAI',
138
+ name: 'Dai Stablecoin',
139
+ decimals: 18,
140
+ },
141
+ type: 'erc20',
142
+ }
143
+
144
+ /**
145
+ * Frax stablecoin
146
+ * @see https://www.coingecko.com/en/coins/frax
147
+ */
148
+ export const FRAX: Asset = {
149
+ address: {
150
+ [mainnet.id]: '0x853d955aCEf822Db058eb8505911ED77F175b99e',
151
+ [optimism.id]: '0x2E3D870790dC77A83DD1d18184Acc7439A53f475',
152
+ },
153
+ metadata: {
154
+ symbol: 'FRAX',
155
+ name: 'Frax',
156
+ decimals: 18,
157
+ },
158
+ type: 'erc20',
159
+ }
160
+
161
+ /**
162
+ * Ethena USDe stablecoin
163
+ * @see https://www.coingecko.com/en/coins/ethena-usde
164
+ */
165
+ export const USDE: Asset = {
166
+ address: {
167
+ [mainnet.id]: '0x4c9EDD5852cd905f086C759E8383e09bff1E68B3',
168
+ [optimism.id]: '0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34',
169
+ [base.id]: '0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34',
170
+ [mode.id]: '0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34',
171
+ [fraxtal.id]: '0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34',
172
+ [swellchain.id]: '0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34',
173
+ },
174
+ metadata: {
175
+ symbol: 'USDe',
176
+ name: 'Ethena USDe',
177
+ decimals: 18,
178
+ },
179
+ type: 'erc20',
180
+ }
181
+
182
+ /**
183
+ * PayPal USD stablecoin
184
+ * @see https://www.coingecko.com/en/coins/paypal-usd
185
+ */
186
+ export const PYUSD: Asset = {
187
+ address: {
188
+ [mainnet.id]: '0x6c3ea9036406852006290770BEdFcAbA0e23A0e8',
189
+ },
190
+ metadata: {
191
+ symbol: 'PYUSD',
192
+ name: 'PayPal USD',
193
+ decimals: 6,
194
+ },
195
+ type: 'erc20',
196
+ }
197
+
198
+ /**
199
+ * Sky (rebranded MakerDAO governance token)
200
+ * @see https://www.coingecko.com/en/coins/sky
201
+ */
202
+ export const SKY: Asset = {
203
+ address: {
204
+ [mainnet.id]: '0x56072C95FAA701256059aa122697B133aDEd9279',
205
+ },
206
+ metadata: {
207
+ symbol: 'SKY',
208
+ name: 'Sky',
209
+ decimals: 18,
210
+ },
211
+ type: 'erc20',
212
+ }
213
+
214
+ /**
215
+ * Wrapped Bitcoin
216
+ * @description Canonical bridge deployments; third-party bridged versions exist but are not listed here
217
+ * @see https://www.coingecko.com/en/coins/wrapped-bitcoin
218
+ */
219
+ export const WBTC: Asset = {
220
+ address: {
221
+ [mainnet.id]: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',
222
+ [optimism.id]: '0x68f180fcCe6836688e9084f035309E29Bf0A2095',
223
+ [base.id]: '0x1ceA84203673764244E05693e42E6Ace62bE9BA5',
224
+ [unichain.id]: '0x0555E30da8f98308EdB960aa94C0Db47230d2B9c',
225
+ [soneium.id]: '0x0555E30da8f98308EdB960aa94C0Db47230d2B9c',
226
+ [bob.id]: '0x0555E30da8f98308EdB960aa94C0Db47230d2B9c',
227
+ [swellchain.id]: '0x0555E30da8f98308EdB960aa94C0Db47230d2B9c',
228
+ },
229
+ metadata: {
230
+ symbol: 'WBTC',
231
+ name: 'Wrapped Bitcoin',
232
+ decimals: 8,
233
+ },
234
+ type: 'erc20',
235
+ }
236
+
237
+ /**
238
+ * Coinbase Wrapped Bitcoin
239
+ * @description cbBTC uses the same address on mainnet and Base
240
+ * @see https://www.coingecko.com/en/coins/coinbase-wrapped-btc
241
+ */
242
+ export const CBBTC: Asset = {
243
+ address: {
244
+ [mainnet.id]: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',
245
+ [base.id]: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',
246
+ },
247
+ metadata: {
248
+ symbol: 'cbBTC',
249
+ name: 'Coinbase Wrapped Bitcoin',
250
+ decimals: 8,
251
+ },
252
+ type: 'erc20',
253
+ }
254
+
255
+ /**
256
+ * Lido Staked Ether
257
+ * @description stETH is a rebasing token available only on Ethereum mainnet
258
+ * @see https://www.coingecko.com/en/coins/staked-ether
259
+ */
260
+ export const STETH: Asset = {
261
+ address: {
262
+ [mainnet.id]: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',
263
+ },
264
+ metadata: {
265
+ symbol: 'stETH',
266
+ name: 'Lido Staked Ether',
267
+ decimals: 18,
268
+ },
269
+ type: 'erc20',
270
+ }
271
+
272
+ /**
273
+ * Wrapped Lido Staked Ether
274
+ * @description Non-rebasing wrapper around stETH
275
+ * @see https://www.coingecko.com/en/coins/wrapped-steth
276
+ */
277
+ export const WSTETH: Asset = {
278
+ address: {
279
+ [mainnet.id]: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0',
280
+ [unichain.id]: '0xc02fE7317D4eb8753a02c35fe019786854A92001',
281
+ },
282
+ metadata: {
283
+ symbol: 'wstETH',
284
+ name: 'Wrapped liquid staked Ether 2.0',
285
+ decimals: 18,
286
+ },
287
+ type: 'erc20',
288
+ }
289
+
290
+ /**
291
+ * Rocket Pool ETH
292
+ * @see https://www.coingecko.com/en/coins/rocket-pool-eth
293
+ */
294
+ export const RETH: Asset = {
295
+ address: {
296
+ [mainnet.id]: '0xae78736Cd615f374D3085123A210448E74Fc6393',
297
+ [optimism.id]: '0x9Bcef72be871e61ED4fBbc7630889beE758eb81D',
298
+ [base.id]: '0xB6fe221Fe9EeF5aBa221c348bA20A1Bf5e73624c',
299
+ [unichain.id]: '0x94Cac393f3444cEf63a651FfC18497E7e8bd036a',
300
+ },
301
+ metadata: {
302
+ symbol: 'rETH',
303
+ name: 'Rocket Pool ETH',
304
+ decimals: 18,
305
+ },
306
+ type: 'erc20',
307
+ }
308
+
309
+ /**
310
+ * Coinbase Wrapped Staked ETH
311
+ * @see https://www.coingecko.com/en/coins/coinbase-wrapped-staked-eth
312
+ */
313
+ export const CBETH: Asset = {
314
+ address: {
315
+ [mainnet.id]: '0xBe9895146f7AF43049ca1c1AE358B0541Ea49704',
316
+ [optimism.id]: '0xadDb6A0412DE1BA0F936DCaeb8Aaa24578dcF3B2',
317
+ [base.id]: '0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22',
318
+ },
319
+ metadata: {
320
+ symbol: 'cbETH',
321
+ name: 'Coinbase Wrapped Staked ETH',
322
+ decimals: 18,
323
+ },
324
+ type: 'erc20',
325
+ }
326
+
327
+ /**
328
+ * ether.fi Staked ETH (eETH)
329
+ * @description Restaked ETH liquid staking token from ether.fi
330
+ * @see https://www.coingecko.com/en/coins/ether-fi-staked-eth
331
+ */
332
+ export const EETH: Asset = {
333
+ address: {
334
+ [mainnet.id]: '0x35fA164735182de50811E8e2E824cFb9B6118ac2',
335
+ },
336
+ metadata: {
337
+ symbol: 'eETH',
338
+ name: 'ether.fi Staked ETH',
339
+ decimals: 18,
340
+ },
341
+ type: 'erc20',
342
+ }
343
+
344
+ /**
345
+ * ether.fi Wrapped eETH
346
+ * @description Non-rebasing wrapper around eETH; canonical bridge deployments
347
+ * @see https://www.coingecko.com/en/coins/wrapped-eeth
348
+ */
349
+ export const WEETH: Asset = {
350
+ address: {
351
+ [mainnet.id]: '0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee',
352
+ [optimism.id]: '0x5A7fACB970D094B6C7FF1df0eA68D99E6e73CBFF',
353
+ [base.id]: '0x04C0599Ae5A44757c0af6F9eC3b93da8976c150A',
354
+ [unichain.id]: '0x7DCC39B4d1C53CB31e1aBc0e358b43987FEF80f7',
355
+ [ink.id]: '0xA3D68b74bF0528fdD07263c60d6488749044914b',
356
+ [mode.id]: '0x04C0599Ae5A44757c0af6F9eC3b93da8976c150A',
357
+ [swellchain.id]: '0xA6cB988942610f6731e664379D15fFcfBf282b44',
358
+ },
359
+ metadata: {
360
+ symbol: 'weETH',
361
+ name: 'Wrapped eETH',
362
+ decimals: 18,
363
+ },
364
+ type: 'erc20',
365
+ }
366
+
367
+ /**
368
+ * ether.fi Governance Token
369
+ * @see https://www.coingecko.com/en/coins/ether-fi
370
+ */
371
+ export const ETHFI: Asset = {
372
+ address: {
373
+ [mainnet.id]: '0xFe0c30065B384F05761f15d0CC899D4F9F9Cc0eB',
374
+ [base.id]: '0x6C240DDA6b5c336DF09A4D011139beAAa1eA2Aa2',
375
+ },
376
+ metadata: {
377
+ symbol: 'ETHFI',
378
+ name: 'ether.fi',
379
+ decimals: 18,
380
+ },
381
+ type: 'erc20',
382
+ }
383
+
384
+ /**
385
+ * Aave governance token
386
+ * @see https://www.coingecko.com/en/coins/aave
387
+ */
388
+ export const AAVE: Asset = {
389
+ address: {
390
+ [mainnet.id]: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9',
391
+ [optimism.id]: '0x76FB31fb4af56892A25e32cFC43De717950c9278',
392
+ [base.id]: '0x63706e401c06ac8513145b7687A14804d17f814b',
393
+ },
394
+ metadata: {
395
+ symbol: 'AAVE',
396
+ name: 'Aave',
397
+ decimals: 18,
398
+ },
399
+ type: 'erc20',
400
+ }
401
+
402
+ /**
403
+ * Uniswap governance token
404
+ * @see https://www.coingecko.com/en/coins/uniswap
405
+ */
406
+ export const UNI: Asset = {
407
+ address: {
408
+ [mainnet.id]: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984',
409
+ [optimism.id]: '0x6fd9d7AD17242c41f7131d257212c54A0e816691',
410
+ [unichain.id]: '0x8f187aA05619a017077f5308904739877ce9eA21',
411
+ },
412
+ metadata: {
413
+ symbol: 'UNI',
414
+ name: 'Uniswap',
415
+ decimals: 18,
416
+ },
417
+ type: 'erc20',
418
+ }
419
+
420
+ /**
421
+ * Chainlink token
422
+ * @see https://www.coingecko.com/en/coins/chainlink
423
+ */
424
+ export const LINK: Asset = {
425
+ address: {
426
+ [mainnet.id]: '0x514910771AF9Ca656af840dff83E8264EcF986CA',
427
+ [optimism.id]: '0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6',
428
+ [base.id]: '0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196',
429
+ [unichain.id]: '0xEF66491eab4bbB582c57b14778afd8dFb70D8A1A',
430
+ [worldchain.id]: '0x915b648e994d5f31059B38223b9fbe98ae185473',
431
+ [soneium.id]: '0x32D8F819C8080ae44375F8d383Ffd39FC642f3Ec',
432
+ [ink.id]: '0x71052BAe71C25C78E37fD12E5ff1101A71d9018F',
433
+ [mode.id]: '0x183E3691EfF3524B2315D3703D94F922CbE51F54',
434
+ [fraxtal.id]: '0xd6A6ba37fAaC229B9665E86739ca501401f5a940',
435
+ [lisk.id]: '0x71052BAe71C25C78E37fD12E5ff1101A71d9018F',
436
+ [bob.id]: '0x5aB885CDa7216b163fb6F813DEC1E1532516c833',
437
+ [metalL2.id]: '0x587d19DDF735D6B536aAdB1a2A92938eB23B8d5C',
438
+ },
439
+ metadata: {
440
+ symbol: 'LINK',
441
+ name: 'Chainlink',
442
+ decimals: 18,
443
+ },
444
+ type: 'erc20',
445
+ }
446
+
447
+ /**
448
+ * Curve DAO token
449
+ * @see https://www.coingecko.com/en/coins/curve-dao-token
450
+ */
451
+ export const CRV: Asset = {
452
+ address: {
453
+ [mainnet.id]: '0xD533a949740bb3306d119CC777fa900bA034cd52',
454
+ [optimism.id]: '0x0994206dfE8De6Ec6920FF4D779B0d950605Fb53',
455
+ [base.id]: '0x8Ee73c484A26e0A5df2Ee2a4960B789967dd0415',
456
+ },
457
+ metadata: {
458
+ symbol: 'CRV',
459
+ name: 'Curve DAO Token',
460
+ decimals: 18,
461
+ },
462
+ type: 'erc20',
463
+ }
464
+
465
+ /**
466
+ * Synthetix network token
467
+ * @see https://www.coingecko.com/en/coins/havven
468
+ */
469
+ export const SNX: Asset = {
470
+ address: {
471
+ [mainnet.id]: '0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F',
472
+ [optimism.id]: '0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4',
473
+ [base.id]: '0x22e6966B799c4D5B13BE962E1D117b56327FDa66',
474
+ },
475
+ metadata: {
476
+ symbol: 'SNX',
477
+ name: 'Synthetix Network Token',
478
+ decimals: 18,
479
+ },
480
+ type: 'erc20',
481
+ }
482
+
483
+ /**
484
+ * Compound governance token
485
+ * @see https://www.coingecko.com/en/coins/compound-governance-token
486
+ */
487
+ export const COMP: Asset = {
488
+ address: {
489
+ [mainnet.id]: '0xc00e94Cb662C3520282E6f5717214004A7f26888',
490
+ [base.id]: '0x9e1028F5F1D5eDE59748FFceE5532509976840E0',
491
+ },
492
+ metadata: {
493
+ symbol: 'COMP',
494
+ name: 'Compound',
495
+ decimals: 18,
496
+ },
497
+ type: 'erc20',
498
+ }
499
+
500
+ /**
501
+ * Balancer governance token
502
+ * @see https://www.coingecko.com/en/coins/balancer
503
+ */
504
+ export const BAL: Asset = {
505
+ address: {
506
+ [mainnet.id]: '0xba100000625a3754423978a60c9317c58a424e3D',
507
+ [optimism.id]: '0xFE8B128bA8C78aabC59d4c64cEE7fF28e9379921',
508
+ [base.id]: '0x4158734D47Fc9692176B5085E0F52ee0Da5d47F1',
509
+ },
510
+ metadata: {
511
+ symbol: 'BAL',
512
+ name: 'Balancer',
513
+ decimals: 18,
514
+ },
515
+ type: 'erc20',
516
+ }
517
+
518
+ /**
519
+ * SushiSwap token
520
+ * @see https://www.coingecko.com/en/coins/sushi
521
+ */
522
+ export const SUSHI: Asset = {
523
+ address: {
524
+ [mainnet.id]: '0x6B3595068778DD592e39A122f4f5a5cF09C90fE2',
525
+ [base.id]: '0x7D49a065D17d6d4a55dc13649901fdBB98B2AFBA',
526
+ },
527
+ metadata: {
528
+ symbol: 'SUSHI',
529
+ name: 'SushiSwap',
530
+ decimals: 18,
531
+ },
532
+ type: 'erc20',
533
+ }
534
+
535
+ /**
536
+ * 1inch network token
537
+ * @description Named ONEINCH because JavaScript identifiers cannot start with a digit
538
+ * @see https://www.coingecko.com/en/coins/1inch
539
+ */
540
+ export const ONEINCH: Asset = {
541
+ address: {
542
+ [mainnet.id]: '0x111111111117dC0aa78b770fA6A738034120C302',
543
+ [base.id]: '0xc5fecC3a29Fb57B5024eEc8a2239d4621e111CBE',
544
+ },
545
+ metadata: {
546
+ symbol: '1INCH',
547
+ name: '1inch',
548
+ decimals: 18,
549
+ },
550
+ type: 'erc20',
551
+ }
552
+
553
+ /**
554
+ * Pendle governance token
555
+ * @see https://www.coingecko.com/en/coins/pendle
556
+ */
557
+ export const PENDLE: Asset = {
558
+ address: {
559
+ [mainnet.id]: '0x808507121B80c02388fAd14726482e061B8da827',
560
+ [optimism.id]: '0xBC7B1Ff1c6989f006a1185318eD4E7b5796e66E1',
561
+ [base.id]: '0xA99F6e6785Da0F5d6fB42495Fe424BCE029Eeb3E',
562
+ },
563
+ metadata: {
564
+ symbol: 'PENDLE',
565
+ name: 'Pendle',
566
+ decimals: 18,
567
+ },
568
+ type: 'erc20',
569
+ }
570
+
571
+ /**
572
+ * Maker governance token
573
+ * @see https://www.coingecko.com/en/coins/maker
574
+ */
575
+ export const MKR: Asset = {
576
+ address: {
577
+ [mainnet.id]: '0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2',
578
+ },
579
+ metadata: {
580
+ symbol: 'MKR',
581
+ name: 'Maker',
582
+ decimals: 18,
583
+ },
584
+ type: 'erc20',
585
+ }
586
+
587
+ /**
588
+ * Lido DAO token
589
+ * @see https://www.coingecko.com/en/coins/lido-dao
590
+ */
591
+ export const LDO: Asset = {
592
+ address: {
593
+ [mainnet.id]: '0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32',
594
+ [optimism.id]: '0xFdb794692724153d1488CcdBE0C56c252596735F',
595
+ },
596
+ metadata: {
597
+ symbol: 'LDO',
598
+ name: 'Lido DAO',
599
+ decimals: 18,
600
+ },
601
+ type: 'erc20',
602
+ }
603
+
604
+ /**
605
+ * Rocket Pool governance token
606
+ * @see https://www.coingecko.com/en/coins/rocket-pool
607
+ */
608
+ export const RPL: Asset = {
609
+ address: {
610
+ [mainnet.id]: '0xD33526068D116cE69F19A9ee46F0bd304F21A51f',
611
+ },
612
+ metadata: {
613
+ symbol: 'RPL',
614
+ name: 'Rocket Pool',
615
+ decimals: 18,
616
+ },
617
+ type: 'erc20',
618
+ }
619
+
620
+ /**
621
+ * The Graph protocol token
622
+ * @see https://www.coingecko.com/en/coins/the-graph
623
+ */
624
+ export const GRT: Asset = {
625
+ address: {
626
+ [mainnet.id]: '0xc944E90C64B2c07662A292be6244BDf05Cda44a7',
627
+ },
628
+ metadata: {
629
+ symbol: 'GRT',
630
+ name: 'The Graph',
631
+ decimals: 18,
632
+ },
633
+ type: 'erc20',
634
+ }
635
+
636
+ /**
637
+ * Ethereum Name Service token
638
+ * @see https://www.coingecko.com/en/coins/ethereum-name-service
639
+ */
640
+ export const ENS: Asset = {
641
+ address: {
642
+ [mainnet.id]: '0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72',
643
+ },
644
+ metadata: {
645
+ symbol: 'ENS',
646
+ name: 'Ethereum Name Service',
647
+ decimals: 18,
648
+ },
649
+ type: 'erc20',
650
+ }
651
+
652
+ /**
653
+ * Optimism governance token
654
+ * @description OP is native to Optimism; not deployed on mainnet
655
+ * @see https://www.coingecko.com/en/coins/optimism
656
+ */
657
+ export const OP: Asset = {
658
+ address: {
659
+ [optimism.id]: '0x4200000000000000000000000000000000000042',
660
+ },
661
+ metadata: {
662
+ symbol: 'OP',
663
+ name: 'Optimism',
664
+ decimals: 18,
665
+ },
666
+ type: 'erc20',
667
+ }
668
+
669
+ /**
670
+ * Arbitrum governance token
671
+ * @see https://www.coingecko.com/en/coins/arbitrum
672
+ */
673
+ export const ARB: Asset = {
674
+ address: {
675
+ [mainnet.id]: '0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1',
676
+ },
677
+ metadata: {
678
+ symbol: 'ARB',
679
+ name: 'Arbitrum',
680
+ decimals: 18,
681
+ },
682
+ type: 'erc20',
683
+ }
684
+
685
+ /**
686
+ * Polygon (POL) token
687
+ * @see https://www.coingecko.com/en/coins/matic-network
688
+ */
689
+ export const POL: Asset = {
690
+ address: {
691
+ [mainnet.id]: '0x455e53CBB86018Ac2B8092FdCd39d8444aFFC3F6',
692
+ },
693
+ metadata: {
694
+ symbol: 'POL',
695
+ name: 'POL (ex-MATIC)',
696
+ decimals: 18,
697
+ },
698
+ type: 'erc20',
699
+ }
700
+
701
+ /**
702
+ * Render token
703
+ * @see https://www.coingecko.com/en/coins/render-token
704
+ */
705
+ export const RENDER: Asset = {
706
+ address: {
707
+ [mainnet.id]: '0x6De037ef9aD2725EB40118Bb1702EBb27e4Aeb24',
708
+ },
709
+ metadata: {
710
+ symbol: 'RENDER',
711
+ name: 'Render',
712
+ decimals: 18,
713
+ },
714
+ type: 'erc20',
715
+ }
716
+
717
+ /**
718
+ * Worldcoin token
719
+ * @see https://www.coingecko.com/en/coins/worldcoin-wld
720
+ */
721
+ export const WLD: Asset = {
722
+ address: {
723
+ [mainnet.id]: '0x163f8C2467924be0ae7B5347228CABF260318753',
724
+ [optimism.id]: '0xdC6fF44d5d932Cbd77B52E5612Ba0529DC6226F1',
725
+ [worldchain.id]: '0x2cFc85d8E48F8EAB294be644d9E25C3030863003',
726
+ },
727
+ metadata: {
728
+ symbol: 'WLD',
729
+ name: 'Worldcoin',
730
+ decimals: 18,
731
+ },
732
+ type: 'erc20',
733
+ }
734
+
735
+ /**
736
+ * Ondo Finance token
737
+ * @see https://www.coingecko.com/en/coins/ondo-finance
738
+ */
739
+ export const ONDO: Asset = {
740
+ address: {
741
+ [mainnet.id]: '0xfAbA6f8e4a5E8Ab82F62fe7C39859FA577269BE3',
742
+ },
743
+ metadata: {
744
+ symbol: 'ONDO',
745
+ name: 'Ondo',
746
+ decimals: 18,
747
+ },
748
+ type: 'erc20',
749
+ }
750
+
751
+ /**
752
+ * Ethena governance token
753
+ * @see https://www.coingecko.com/en/coins/ethena
754
+ */
755
+ export const ENA: Asset = {
756
+ address: {
757
+ [mainnet.id]: '0x57e114B691Db790C35207b2e685D4A43181e6061',
758
+ [optimism.id]: '0x58538e6A46E07434d7E7375Bc268D3cb839C0133',
759
+ [base.id]: '0x58538e6A46E07434d7E7375Bc268D3cb839C0133',
760
+ [mode.id]: '0x58538e6A46E07434d7E7375Bc268D3cb839C0133',
761
+ [fraxtal.id]: '0x58538e6A46E07434d7E7375Bc268D3cb839C0133',
762
+ [swellchain.id]: '0x58538e6A46E07434d7E7375Bc268D3cb839C0133',
763
+ },
764
+ metadata: {
765
+ symbol: 'ENA',
766
+ name: 'Ethena',
767
+ decimals: 18,
768
+ },
769
+ type: 'erc20',
770
+ }
771
+
772
+ /**
773
+ * Shiba Inu meme token
774
+ * @see https://www.coingecko.com/en/coins/shiba-inu
775
+ */
776
+ export const SHIB: Asset = {
777
+ address: {
778
+ [mainnet.id]: '0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE',
779
+ },
780
+ metadata: {
781
+ symbol: 'SHIB',
782
+ name: 'Shiba Inu',
783
+ decimals: 18,
784
+ },
785
+ type: 'erc20',
786
+ }
787
+
788
+ /**
789
+ * Pepe meme token
790
+ * @see https://www.coingecko.com/en/coins/pepe
791
+ */
792
+ export const PEPE: Asset = {
793
+ address: {
794
+ [mainnet.id]: '0x6982508145454Ce325dDbE47a25d4ec3d2311933',
795
+ },
796
+ metadata: {
797
+ symbol: 'PEPE',
798
+ name: 'Pepe',
108
799
  decimals: 18,
109
800
  },
110
801
  type: 'erc20',
@@ -112,6 +803,7 @@ export const OP_DEMO: Asset = {
112
803
 
113
804
  /**
114
805
  * Morpho Token
806
+ * @see https://www.coingecko.com/en/coins/morpho
115
807
  */
116
808
  export const MORPHO: Asset = {
117
809
  address: {
@@ -125,3 +817,82 @@ export const MORPHO: Asset = {
125
817
  },
126
818
  type: 'erc20',
127
819
  }
820
+
821
+ /**
822
+ * All natively supported assets
823
+ */
824
+ export const NATIVELY_SUPPORTED_ASSETS: Asset[] = [
825
+ ETH,
826
+ WETH,
827
+ USDC,
828
+ USDT,
829
+ DAI,
830
+ FRAX,
831
+ USDE,
832
+ PYUSD,
833
+ SKY,
834
+ WBTC,
835
+ CBBTC,
836
+ STETH,
837
+ WSTETH,
838
+ RETH,
839
+ CBETH,
840
+ EETH,
841
+ WEETH,
842
+ ETHFI,
843
+ AAVE,
844
+ UNI,
845
+ LINK,
846
+ CRV,
847
+ SNX,
848
+ COMP,
849
+ BAL,
850
+ SUSHI,
851
+ ONEINCH,
852
+ PENDLE,
853
+ MKR,
854
+ LDO,
855
+ RPL,
856
+ GRT,
857
+ ENS,
858
+ OP,
859
+ ARB,
860
+ POL,
861
+ RENDER,
862
+ WLD,
863
+ ONDO,
864
+ ENA,
865
+ SHIB,
866
+ PEPE,
867
+ MORPHO,
868
+ ]
869
+
870
+ /**
871
+ * Demo USDC token for testing
872
+ */
873
+ export const USDC_DEMO: Asset = {
874
+ address: {
875
+ [baseSepolia.id]: '0xb1b0FE886cE376F28987Ad24b1759a8f0A7dd839',
876
+ },
877
+ metadata: {
878
+ symbol: 'USDC_DEMO',
879
+ name: 'USDC',
880
+ decimals: 6,
881
+ },
882
+ type: 'erc20',
883
+ }
884
+
885
+ /**
886
+ * Demo OP token for testing
887
+ */
888
+ export const OP_DEMO: Asset = {
889
+ address: {
890
+ [baseSepolia.id]: '0xD6169405013E92387b78457Fa77d377cE8cD3EE8',
891
+ },
892
+ metadata: {
893
+ symbol: 'OP_DEMO',
894
+ name: 'OP',
895
+ decimals: 18,
896
+ },
897
+ type: 'erc20',
898
+ }