@eth-optimism/actions-sdk 0.3.0 → 0.5.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 (479) 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 +17 -13
  8. package/dist/actions.d.ts.map +1 -1
  9. package/dist/actions.js +46 -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/ens/EnsNamespace.d.ts +57 -0
  24. package/dist/ens/EnsNamespace.d.ts.map +1 -0
  25. package/dist/ens/EnsNamespace.js +158 -0
  26. package/dist/ens/EnsNamespace.js.map +1 -0
  27. package/dist/ens/EnsNamespace.spec.d.ts +2 -0
  28. package/dist/ens/EnsNamespace.spec.d.ts.map +1 -0
  29. package/dist/ens/EnsNamespace.spec.js +144 -0
  30. package/dist/ens/EnsNamespace.spec.js.map +1 -0
  31. package/dist/ens/errors.d.ts +24 -0
  32. package/dist/ens/errors.d.ts.map +1 -0
  33. package/dist/ens/errors.js +35 -0
  34. package/dist/ens/errors.js.map +1 -0
  35. package/dist/ens/index.d.ts +4 -0
  36. package/dist/ens/index.d.ts.map +1 -0
  37. package/dist/ens/index.js +4 -0
  38. package/dist/ens/index.js.map +1 -0
  39. package/dist/ens/types.d.ts +63 -0
  40. package/dist/ens/types.d.ts.map +1 -0
  41. package/dist/ens/types.js +14 -0
  42. package/dist/ens/types.js.map +1 -0
  43. package/dist/index.d.ts +6 -5
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +5 -4
  46. package/dist/index.js.map +1 -1
  47. package/dist/lend/__mocks__/MockLendProvider.d.ts +1 -1
  48. package/dist/lend/__mocks__/MockLendProvider.d.ts.map +1 -1
  49. package/dist/lend/__mocks__/MockLendProvider.js +7 -2
  50. package/dist/lend/__mocks__/MockLendProvider.js.map +1 -1
  51. package/dist/lend/core/LendProvider.d.ts +12 -8
  52. package/dist/lend/core/LendProvider.d.ts.map +1 -1
  53. package/dist/lend/core/LendProvider.js +15 -21
  54. package/dist/lend/core/LendProvider.js.map +1 -1
  55. package/dist/lend/namespaces/BaseLendNamespace.d.ts +2 -6
  56. package/dist/lend/namespaces/BaseLendNamespace.d.ts.map +1 -1
  57. package/dist/lend/namespaces/BaseLendNamespace.js.map +1 -1
  58. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js +7 -4
  59. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +1 -1
  60. package/dist/lend/providers/aave/AaveLendProvider.d.ts +1 -6
  61. package/dist/lend/providers/aave/AaveLendProvider.d.ts.map +1 -1
  62. package/dist/lend/providers/aave/AaveLendProvider.js +3 -6
  63. package/dist/lend/providers/aave/AaveLendProvider.js.map +1 -1
  64. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js +14 -6
  65. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +1 -1
  66. package/dist/lend/providers/aave/addresses.d.ts +13 -39
  67. package/dist/lend/providers/aave/addresses.d.ts.map +1 -1
  68. package/dist/lend/providers/aave/addresses.js +65 -60
  69. package/dist/lend/providers/aave/addresses.js.map +1 -1
  70. package/dist/lend/providers/aave/sdk.d.ts +2 -2
  71. package/dist/lend/providers/aave/sdk.d.ts.map +1 -1
  72. package/dist/lend/providers/aave/sdk.js +6 -28
  73. package/dist/lend/providers/aave/sdk.js.map +1 -1
  74. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts +1 -6
  75. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -1
  76. package/dist/lend/providers/morpho/MorphoLendProvider.js +4 -13
  77. package/dist/lend/providers/morpho/MorphoLendProvider.js.map +1 -1
  78. package/dist/lend/providers/morpho/__tests__/api.test.js +52 -43
  79. package/dist/lend/providers/morpho/__tests__/api.test.js.map +1 -1
  80. package/dist/lend/providers/morpho/__tests__/sdk.test.js +41 -42
  81. package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +1 -1
  82. package/dist/lend/providers/morpho/api.d.ts +3 -7
  83. package/dist/lend/providers/morpho/api.d.ts.map +1 -1
  84. package/dist/lend/providers/morpho/api.js +2 -2
  85. package/dist/lend/providers/morpho/api.js.map +1 -1
  86. package/dist/lend/providers/morpho/contracts.d.ts +11 -10
  87. package/dist/lend/providers/morpho/contracts.d.ts.map +1 -1
  88. package/dist/lend/providers/morpho/contracts.js +43 -10
  89. package/dist/lend/providers/morpho/contracts.js.map +1 -1
  90. package/dist/lend/providers/morpho/sdk.d.ts +7 -2
  91. package/dist/lend/providers/morpho/sdk.d.ts.map +1 -1
  92. package/dist/lend/providers/morpho/sdk.js +67 -63
  93. package/dist/lend/providers/morpho/sdk.js.map +1 -1
  94. package/dist/nodeActionsFactory.d.ts +1 -1
  95. package/dist/reactActionsFactory.d.ts +1 -1
  96. package/dist/services/ChainManager.d.ts +15 -8
  97. package/dist/services/ChainManager.d.ts.map +1 -1
  98. package/dist/services/ChainManager.js +9 -0
  99. package/dist/services/ChainManager.js.map +1 -1
  100. package/dist/services/__mocks__/MockChainManager.d.ts +5 -4
  101. package/dist/services/__mocks__/MockChainManager.d.ts.map +1 -1
  102. package/dist/services/__mocks__/MockChainManager.js +5 -0
  103. package/dist/services/__mocks__/MockChainManager.js.map +1 -1
  104. package/dist/services/tokenBalance.d.ts +1 -1
  105. package/dist/services/tokenBalance.d.ts.map +1 -1
  106. package/dist/services/tokenBalance.js +31 -30
  107. package/dist/services/tokenBalance.js.map +1 -1
  108. package/dist/services/tokenBalance.spec.js +20 -24
  109. package/dist/services/tokenBalance.spec.js.map +1 -1
  110. package/dist/swap/__mocks__/MockSwapProvider.d.ts +20 -8
  111. package/dist/swap/__mocks__/MockSwapProvider.d.ts.map +1 -1
  112. package/dist/swap/__mocks__/MockSwapProvider.js +52 -29
  113. package/dist/swap/__mocks__/MockSwapProvider.js.map +1 -1
  114. package/dist/swap/core/SwapProvider.d.ts +105 -16
  115. package/dist/swap/core/SwapProvider.d.ts.map +1 -1
  116. package/dist/swap/core/SwapProvider.js +215 -37
  117. package/dist/swap/core/SwapProvider.js.map +1 -1
  118. package/dist/swap/core/__tests__/SwapProvider.test.js +115 -9
  119. package/dist/swap/core/__tests__/SwapProvider.test.js.map +1 -1
  120. package/dist/swap/core/markets.d.ts +47 -0
  121. package/dist/swap/core/markets.d.ts.map +1 -0
  122. package/dist/swap/core/markets.js +65 -0
  123. package/dist/swap/core/markets.js.map +1 -0
  124. package/dist/swap/index.d.ts +2 -0
  125. package/dist/swap/index.d.ts.map +1 -1
  126. package/dist/swap/index.js +1 -0
  127. package/dist/swap/index.js.map +1 -1
  128. package/dist/swap/namespaces/ActionsSwapNamespace.d.ts +2 -2
  129. package/dist/swap/namespaces/ActionsSwapNamespace.js +2 -2
  130. package/dist/swap/namespaces/BaseSwapNamespace.d.ts +50 -8
  131. package/dist/swap/namespaces/BaseSwapNamespace.d.ts.map +1 -1
  132. package/dist/swap/namespaces/BaseSwapNamespace.js +144 -16
  133. package/dist/swap/namespaces/BaseSwapNamespace.js.map +1 -1
  134. package/dist/swap/namespaces/WalletSwapNamespace.d.ts +20 -7
  135. package/dist/swap/namespaces/WalletSwapNamespace.d.ts.map +1 -1
  136. package/dist/swap/namespaces/WalletSwapNamespace.js +44 -15
  137. package/dist/swap/namespaces/WalletSwapNamespace.js.map +1 -1
  138. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js +150 -11
  139. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +1 -1
  140. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js +85 -8
  141. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +1 -1
  142. package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts +10 -42
  143. package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +1 -1
  144. package/dist/swap/providers/uniswap/UniswapSwapProvider.js +81 -139
  145. package/dist/swap/providers/uniswap/UniswapSwapProvider.js.map +1 -1
  146. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js +10 -9
  147. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +1 -1
  148. package/dist/swap/providers/uniswap/__tests__/sdk.test.js +17 -17
  149. package/dist/swap/providers/uniswap/__tests__/sdk.test.js.map +1 -1
  150. package/dist/swap/providers/uniswap/addresses.d.ts +5 -0
  151. package/dist/swap/providers/uniswap/addresses.d.ts.map +1 -1
  152. package/dist/swap/providers/uniswap/addresses.js +1 -1
  153. package/dist/swap/providers/uniswap/addresses.js.map +1 -1
  154. package/dist/swap/providers/uniswap/encoding.d.ts +4 -4
  155. package/dist/swap/providers/uniswap/encoding.js +17 -17
  156. package/dist/swap/providers/uniswap/markets.d.ts +19 -0
  157. package/dist/swap/providers/uniswap/markets.d.ts.map +1 -0
  158. package/dist/swap/providers/uniswap/markets.js +48 -0
  159. package/dist/swap/providers/uniswap/markets.js.map +1 -0
  160. package/dist/swap/providers/uniswap/types.d.ts +4 -3
  161. package/dist/swap/providers/uniswap/types.d.ts.map +1 -1
  162. package/dist/swap/providers/velodrome/VelodromeSwapProvider.d.ts +50 -0
  163. package/dist/swap/providers/velodrome/VelodromeSwapProvider.d.ts.map +1 -0
  164. package/dist/swap/providers/velodrome/VelodromeSwapProvider.js +140 -0
  165. package/dist/swap/providers/velodrome/VelodromeSwapProvider.js.map +1 -0
  166. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts +2 -0
  167. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.d.ts.map +1 -0
  168. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js +255 -0
  169. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.js.map +1 -0
  170. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts +2 -0
  171. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.d.ts.map +1 -0
  172. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js +166 -0
  173. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.js.map +1 -0
  174. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts +2 -0
  175. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.d.ts.map +1 -0
  176. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js +420 -0
  177. package/dist/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.js.map +1 -0
  178. package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts +2 -0
  179. package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.d.ts.map +1 -0
  180. package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.js +51 -0
  181. package/dist/swap/providers/velodrome/__tests__/encoding.cl.test.js.map +1 -0
  182. package/dist/swap/providers/velodrome/__tests__/encoding.helpers.d.ts +14 -0
  183. package/dist/swap/providers/velodrome/__tests__/encoding.helpers.d.ts.map +1 -0
  184. package/dist/swap/providers/velodrome/__tests__/encoding.helpers.js +13 -0
  185. package/dist/swap/providers/velodrome/__tests__/encoding.helpers.js.map +1 -0
  186. package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts +2 -0
  187. package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.d.ts.map +1 -0
  188. package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.js +173 -0
  189. package/dist/swap/providers/velodrome/__tests__/encoding.v2.test.js.map +1 -0
  190. package/dist/swap/providers/velodrome/abis.d.ts +396 -0
  191. package/dist/swap/providers/velodrome/abis.d.ts.map +1 -0
  192. package/dist/swap/providers/velodrome/abis.js +257 -0
  193. package/dist/swap/providers/velodrome/abis.js.map +1 -0
  194. package/dist/swap/providers/velodrome/addresses.d.ts +39 -0
  195. package/dist/swap/providers/velodrome/addresses.d.ts.map +1 -0
  196. package/dist/swap/providers/velodrome/addresses.js +57 -0
  197. package/dist/swap/providers/velodrome/addresses.js.map +1 -0
  198. package/dist/swap/providers/velodrome/config.d.ts +22 -0
  199. package/dist/swap/providers/velodrome/config.d.ts.map +1 -0
  200. package/dist/swap/providers/velodrome/config.js +29 -0
  201. package/dist/swap/providers/velodrome/config.js.map +1 -0
  202. package/dist/swap/providers/velodrome/encoding/helpers.d.ts +37 -0
  203. package/dist/swap/providers/velodrome/encoding/helpers.d.ts.map +1 -0
  204. package/dist/swap/providers/velodrome/encoding/helpers.js +60 -0
  205. package/dist/swap/providers/velodrome/encoding/helpers.js.map +1 -0
  206. package/dist/swap/providers/velodrome/encoding/index.d.ts +8 -0
  207. package/dist/swap/providers/velodrome/encoding/index.d.ts.map +1 -0
  208. package/dist/swap/providers/velodrome/encoding/index.js +5 -0
  209. package/dist/swap/providers/velodrome/encoding/index.js.map +1 -0
  210. package/dist/swap/providers/velodrome/encoding/poolRouter.d.ts +39 -0
  211. package/dist/swap/providers/velodrome/encoding/poolRouter.d.ts.map +1 -0
  212. package/dist/swap/providers/velodrome/encoding/poolRouter.js +83 -0
  213. package/dist/swap/providers/velodrome/encoding/poolRouter.js.map +1 -0
  214. package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts +15 -0
  215. package/dist/swap/providers/velodrome/encoding/routers/approval.d.ts.map +1 -0
  216. package/dist/swap/providers/velodrome/encoding/routers/approval.js +33 -0
  217. package/dist/swap/providers/velodrome/encoding/routers/approval.js.map +1 -0
  218. package/dist/swap/providers/velodrome/encoding/routers/cl.d.ts +40 -0
  219. package/dist/swap/providers/velodrome/encoding/routers/cl.d.ts.map +1 -0
  220. package/dist/swap/providers/velodrome/encoding/routers/cl.js +80 -0
  221. package/dist/swap/providers/velodrome/encoding/routers/cl.js.map +1 -0
  222. package/dist/swap/providers/velodrome/encoding/routers/v2.d.ts +42 -0
  223. package/dist/swap/providers/velodrome/encoding/routers/v2.d.ts.map +1 -0
  224. package/dist/swap/providers/velodrome/encoding/routers/v2.js +166 -0
  225. package/dist/swap/providers/velodrome/encoding/routers/v2.js.map +1 -0
  226. package/dist/swap/providers/velodrome/markets.d.ts +21 -0
  227. package/dist/swap/providers/velodrome/markets.d.ts.map +1 -0
  228. package/dist/swap/providers/velodrome/markets.js +69 -0
  229. package/dist/swap/providers/velodrome/markets.js.map +1 -0
  230. package/dist/swap/providers/velodrome/types.d.ts +31 -0
  231. package/dist/swap/providers/velodrome/types.d.ts.map +1 -0
  232. package/dist/swap/providers/velodrome/types.js +2 -0
  233. package/dist/swap/providers/velodrome/types.js.map +1 -0
  234. package/dist/types/actions.d.ts +44 -9
  235. package/dist/types/actions.d.ts.map +1 -1
  236. package/dist/types/asset.d.ts +7 -9
  237. package/dist/types/asset.d.ts.map +1 -1
  238. package/dist/types/chain.d.ts +2 -2
  239. package/dist/types/chain.d.ts.map +1 -1
  240. package/dist/types/lend/base.d.ts +6 -6
  241. package/dist/types/lend/base.d.ts.map +1 -1
  242. package/dist/types/lend/base.js.map +1 -1
  243. package/dist/types/lend/contracts.d.ts +2 -1
  244. package/dist/types/lend/contracts.d.ts.map +1 -1
  245. package/dist/types/providers.d.ts +21 -0
  246. package/dist/types/providers.d.ts.map +1 -0
  247. package/dist/types/providers.js +2 -0
  248. package/dist/types/providers.js.map +1 -0
  249. package/dist/types/swap/base.d.ts +136 -35
  250. package/dist/types/swap/base.d.ts.map +1 -1
  251. package/dist/types/swap/base.js.map +1 -1
  252. package/dist/utils/approve.d.ts +82 -0
  253. package/dist/utils/approve.d.ts.map +1 -0
  254. package/dist/utils/{permit2.js → approve.js} +48 -14
  255. package/dist/utils/approve.js.map +1 -0
  256. package/dist/utils/approve.test.d.ts +2 -0
  257. package/dist/utils/approve.test.d.ts.map +1 -0
  258. package/dist/utils/{permit2.test.js → approve.test.js} +95 -2
  259. package/dist/utils/approve.test.js.map +1 -0
  260. package/dist/utils/assets.d.ts +6 -0
  261. package/dist/utils/assets.d.ts.map +1 -1
  262. package/dist/utils/assets.js +10 -0
  263. package/dist/utils/assets.js.map +1 -1
  264. package/dist/utils/ens.d.ts +25 -0
  265. package/dist/utils/ens.d.ts.map +1 -0
  266. package/dist/utils/ens.js +53 -0
  267. package/dist/utils/ens.js.map +1 -0
  268. package/dist/utils/ens.test.d.ts +2 -0
  269. package/dist/utils/ens.test.d.ts.map +1 -0
  270. package/dist/utils/ens.test.js +75 -0
  271. package/dist/utils/ens.test.js.map +1 -0
  272. package/dist/utils/validateAddresses.d.ts +32 -0
  273. package/dist/utils/validateAddresses.d.ts.map +1 -0
  274. package/dist/utils/validateAddresses.js +103 -0
  275. package/dist/utils/validateAddresses.js.map +1 -0
  276. package/dist/utils/validateAddresses.test.d.ts +2 -0
  277. package/dist/utils/validateAddresses.test.d.ts.map +1 -0
  278. package/dist/utils/validateAddresses.test.js +314 -0
  279. package/dist/utils/validateAddresses.test.js.map +1 -0
  280. package/dist/utils/validation.d.ts +5 -0
  281. package/dist/utils/validation.d.ts.map +1 -1
  282. package/dist/utils/validation.js +10 -0
  283. package/dist/utils/validation.js.map +1 -1
  284. package/dist/wallet/core/namespace/WalletNamespace.d.ts +21 -9
  285. package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -1
  286. package/dist/wallet/core/namespace/WalletNamespace.js +44 -15
  287. package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -1
  288. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +4 -4
  289. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -1
  290. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts +4 -16
  291. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts.map +1 -1
  292. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js.map +1 -1
  293. package/dist/wallet/core/providers/hosted/types/index.d.ts +6 -11
  294. package/dist/wallet/core/providers/hosted/types/index.d.ts.map +1 -1
  295. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts +2 -9
  296. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts.map +1 -1
  297. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js.map +1 -1
  298. package/dist/wallet/core/wallets/abstract/Wallet.d.ts +6 -17
  299. package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
  300. package/dist/wallet/core/wallets/abstract/Wallet.js +7 -6
  301. package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
  302. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts +10 -1
  303. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.d.ts.map +1 -1
  304. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js +2 -2
  305. package/dist/wallet/core/wallets/abstract/__mocks__/TestWallet.js.map +1 -1
  306. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js +12 -4
  307. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js.map +1 -1
  308. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +3 -10
  309. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
  310. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
  311. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -1
  312. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +3 -10
  313. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  314. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  315. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts +2 -4
  316. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts.map +1 -1
  317. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js +6 -8
  318. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js.map +1 -1
  319. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +4 -4
  320. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -1
  321. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +2 -9
  322. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
  323. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
  324. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts +3 -10
  325. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  326. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  327. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts +3 -10
  328. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
  329. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
  330. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts +3 -9
  331. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts.map +1 -1
  332. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js +3 -2
  333. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js.map +1 -1
  334. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +3 -9
  335. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  336. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js +3 -2
  337. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  338. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +3 -9
  339. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
  340. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +3 -2
  341. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
  342. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts +2 -4
  343. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts.map +1 -1
  344. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js +11 -13
  345. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js.map +1 -1
  346. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js +6 -6
  347. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map +1 -1
  348. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts +5 -10
  349. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts.map +1 -1
  350. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js +3 -3
  351. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js.map +1 -1
  352. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts +2 -6
  353. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.d.ts.map +1 -1
  354. package/dist/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.js.map +1 -1
  355. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts +5 -10
  356. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  357. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js +3 -3
  358. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  359. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts +5 -10
  360. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
  361. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
  362. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
  363. package/package.json +3 -2
  364. package/src/__mocks__/MockAssets.ts +54 -6
  365. package/src/__tests__/actions.test.ts +1 -1
  366. package/src/actions.ts +73 -61
  367. package/src/constants/assets.ts +781 -10
  368. package/src/constants/providers.ts +5 -0
  369. package/src/constants/supportedChains.ts +22 -2
  370. package/src/ens/EnsNamespace.spec.ts +171 -0
  371. package/src/ens/EnsNamespace.ts +210 -0
  372. package/src/ens/errors.ts +45 -0
  373. package/src/ens/index.ts +12 -0
  374. package/src/ens/types.ts +76 -0
  375. package/src/index.ts +59 -8
  376. package/src/lend/__mocks__/MockLendProvider.ts +8 -3
  377. package/src/lend/core/LendProvider.ts +27 -28
  378. package/src/lend/namespaces/BaseLendNamespace.ts +2 -6
  379. package/src/lend/namespaces/__tests__/BaseLendNamespace.spec.ts +12 -5
  380. package/src/lend/providers/aave/AaveLendProvider.ts +3 -7
  381. package/src/lend/providers/aave/__tests__/AaveLendProvider.test.ts +16 -7
  382. package/src/lend/providers/aave/addresses.ts +82 -64
  383. package/src/lend/providers/aave/sdk.ts +11 -36
  384. package/src/lend/providers/morpho/MorphoLendProvider.ts +4 -16
  385. package/src/lend/providers/morpho/__tests__/api.test.ts +65 -44
  386. package/src/lend/providers/morpho/__tests__/sdk.test.ts +43 -43
  387. package/src/lend/providers/morpho/api.ts +7 -8
  388. package/src/lend/providers/morpho/contracts.ts +62 -13
  389. package/src/lend/providers/morpho/sdk.ts +85 -63
  390. package/src/services/ChainManager.ts +22 -21
  391. package/src/services/__mocks__/MockChainManager.ts +12 -7
  392. package/src/services/tokenBalance.spec.ts +20 -24
  393. package/src/services/tokenBalance.ts +39 -33
  394. package/src/swap/__mocks__/MockSwapProvider.ts +77 -42
  395. package/src/swap/core/SwapProvider.ts +309 -50
  396. package/src/swap/core/__tests__/SwapProvider.test.ts +151 -9
  397. package/src/swap/core/markets.ts +104 -0
  398. package/src/swap/index.ts +5 -0
  399. package/src/swap/namespaces/ActionsSwapNamespace.ts +2 -2
  400. package/src/swap/namespaces/BaseSwapNamespace.ts +215 -18
  401. package/src/swap/namespaces/WalletSwapNamespace.ts +61 -14
  402. package/src/swap/namespaces/__tests__/BaseSwapNamespace.spec.ts +245 -14
  403. package/src/swap/namespaces/__tests__/WalletSwapNamespace.spec.ts +103 -8
  404. package/src/swap/providers/uniswap/UniswapSwapProvider.ts +110 -195
  405. package/src/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.ts +12 -12
  406. package/src/swap/providers/uniswap/__tests__/sdk.test.ts +19 -20
  407. package/src/swap/providers/uniswap/addresses.ts +3 -1
  408. package/src/swap/providers/uniswap/encoding.ts +22 -22
  409. package/src/swap/providers/uniswap/markets.ts +84 -0
  410. package/src/swap/providers/uniswap/types.ts +4 -3
  411. package/src/swap/providers/velodrome/VelodromeSwapProvider.ts +226 -0
  412. package/src/swap/providers/velodrome/__tests__/VelodromeSwapProvider.network.test.ts +341 -0
  413. package/src/swap/providers/velodrome/__tests__/VelodromeSwapProvider.routing.test.ts +202 -0
  414. package/src/swap/providers/velodrome/__tests__/VelodromeSwapProvider.test.ts +507 -0
  415. package/src/swap/providers/velodrome/__tests__/encoding.cl.test.ts +69 -0
  416. package/src/swap/providers/velodrome/__tests__/encoding.helpers.ts +20 -0
  417. package/src/swap/providers/velodrome/__tests__/encoding.v2.test.ts +235 -0
  418. package/src/swap/providers/velodrome/abis.ts +264 -0
  419. package/src/swap/providers/velodrome/addresses.ts +107 -0
  420. package/src/swap/providers/velodrome/config.ts +46 -0
  421. package/src/swap/providers/velodrome/encoding/helpers.ts +82 -0
  422. package/src/swap/providers/velodrome/encoding/index.ts +7 -0
  423. package/src/swap/providers/velodrome/encoding/poolRouter.ts +124 -0
  424. package/src/swap/providers/velodrome/encoding/routers/approval.ts +45 -0
  425. package/src/swap/providers/velodrome/encoding/routers/cl.ts +156 -0
  426. package/src/swap/providers/velodrome/encoding/routers/v2.ts +267 -0
  427. package/src/swap/providers/velodrome/markets.ts +100 -0
  428. package/src/swap/providers/velodrome/types.ts +30 -0
  429. package/src/types/actions.ts +49 -9
  430. package/src/types/asset.ts +12 -9
  431. package/src/types/chain.ts +2 -2
  432. package/src/types/lend/base.ts +6 -6
  433. package/src/types/lend/contracts.ts +5 -1
  434. package/src/types/providers.ts +22 -0
  435. package/src/types/swap/base.ts +150 -36
  436. package/src/utils/{permit2.test.ts → approve.test.ts} +117 -1
  437. package/src/utils/{permit2.ts → approve.ts} +67 -14
  438. package/src/utils/assets.ts +14 -0
  439. package/src/utils/ens.test.ts +104 -0
  440. package/src/utils/ens.ts +85 -0
  441. package/src/utils/validateAddresses.test.ts +439 -0
  442. package/src/utils/validateAddresses.ts +153 -0
  443. package/src/utils/validation.ts +11 -0
  444. package/src/wallet/core/namespace/WalletNamespace.ts +70 -16
  445. package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +8 -4
  446. package/src/wallet/core/providers/hosted/abstract/HostedWalletProvider.ts +5 -17
  447. package/src/wallet/core/providers/hosted/types/index.ts +9 -11
  448. package/src/wallet/core/providers/smart/default/DefaultSmartWalletProvider.ts +5 -17
  449. package/src/wallet/core/wallets/abstract/Wallet.ts +18 -22
  450. package/src/wallet/core/wallets/abstract/__mocks__/TestWallet.ts +13 -1
  451. package/src/wallet/core/wallets/abstract/__tests__/Wallet.spec.ts +21 -5
  452. package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +5 -17
  453. package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +0 -1
  454. package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +3 -10
  455. package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +8 -8
  456. package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +4 -4
  457. package/src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +3 -10
  458. package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +5 -17
  459. package/src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts +5 -17
  460. package/src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts +7 -11
  461. package/src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts +7 -11
  462. package/src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +7 -11
  463. package/src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts +23 -10
  464. package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +6 -6
  465. package/src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts +10 -18
  466. package/src/wallet/react/wallets/hosted/dynamic/__mocks__/DynamicWalletMock.ts +2 -6
  467. package/src/wallet/react/wallets/hosted/privy/PrivyWallet.ts +10 -18
  468. package/src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts +10 -18
  469. package/dist/supported/tokens.d.ts +0 -25
  470. package/dist/supported/tokens.d.ts.map +0 -1
  471. package/dist/supported/tokens.js +0 -44
  472. package/dist/supported/tokens.js.map +0 -1
  473. package/dist/utils/permit2.d.ts +0 -46
  474. package/dist/utils/permit2.d.ts.map +0 -1
  475. package/dist/utils/permit2.js.map +0 -1
  476. package/dist/utils/permit2.test.d.ts +0 -2
  477. package/dist/utils/permit2.test.d.ts.map +0 -1
  478. package/dist/utils/permit2.test.js.map +0 -1
  479. package/src/supported/tokens.ts +0 -66
@@ -1,11 +1,9 @@
1
1
  import type { AuthorizationContext, PrivyClient } from '@privy-io/node'
2
2
  import { type Address, type LocalAccount } from 'viem'
3
3
 
4
- import type { LendProvider } from '@/lend/core/LendProvider.js'
5
4
  import type { ChainManager } from '@/services/ChainManager.js'
6
- import type { SwapProvider } from '@/swap/core/SwapProvider.js'
7
- import type { LendProviderConfig, SwapProviderConfig } from '@/types/actions.js'
8
5
  import type { Asset } from '@/types/asset.js'
6
+ import type { LendProviders, SwapProviders } from '@/types/providers.js'
9
7
  import { EOAWallet } from '@/wallet/core/wallets/eoa/EOAWallet.js'
10
8
  import { createSigner } from '@/wallet/node/wallets/hosted/privy/utils/createSigner.js'
11
9
 
@@ -35,13 +33,8 @@ export class PrivyWallet extends EOAWallet {
35
33
  walletId: string,
36
34
  address: Address,
37
35
  chainManager: ChainManager,
38
- lendProviders?: {
39
- morpho?: LendProvider<LendProviderConfig>
40
- aave?: LendProvider<LendProviderConfig>
41
- },
42
- swapProviders?: {
43
- uniswap?: SwapProvider<SwapProviderConfig>
44
- },
36
+ lendProviders?: LendProviders,
37
+ swapProviders?: SwapProviders,
45
38
  supportedAssets?: Asset[],
46
39
  authorizationContext?: AuthorizationContext,
47
40
  ) {
@@ -58,13 +51,8 @@ export class PrivyWallet extends EOAWallet {
58
51
  walletId: string
59
52
  address: Address
60
53
  chainManager: ChainManager
61
- lendProviders?: {
62
- morpho?: LendProvider<LendProviderConfig>
63
- aave?: LendProvider<LendProviderConfig>
64
- }
65
- swapProviders?: {
66
- uniswap?: SwapProvider<SwapProviderConfig>
67
- }
54
+ lendProviders?: LendProviders
55
+ swapProviders?: SwapProviders
68
56
  supportedAssets?: Asset[]
69
57
  }): Promise<PrivyWallet> {
70
58
  const wallet = new PrivyWallet(
@@ -3,11 +3,9 @@ import type { TurnkeyClient } from '@turnkey/http'
3
3
  import type { TurnkeyServerClient } from '@turnkey/sdk-server'
4
4
  import type { Address, LocalAccount } from 'viem'
5
5
 
6
- import type { LendProvider } from '@/lend/core/LendProvider.js'
7
6
  import type { ChainManager } from '@/services/ChainManager.js'
8
- import type { SwapProvider } from '@/swap/core/SwapProvider.js'
9
- import type { LendProviderConfig, SwapProviderConfig } from '@/types/actions.js'
10
7
  import type { Asset } from '@/types/asset.js'
8
+ import type { LendProviders, SwapProviders } from '@/types/providers.js'
11
9
  import { EOAWallet } from '@/wallet/core/wallets/eoa/EOAWallet.js'
12
10
  import { createSigner } from '@/wallet/node/wallets/hosted/turnkey/utils/createSigner.js'
13
11
 
@@ -47,13 +45,8 @@ export class TurnkeyWallet extends EOAWallet {
47
45
  organizationId: string
48
46
  signWith: string
49
47
  ethereumAddress?: string
50
- lendProviders?: {
51
- morpho?: LendProvider<LendProviderConfig>
52
- aave?: LendProvider<LendProviderConfig>
53
- }
54
- swapProviders?: {
55
- uniswap?: SwapProvider<SwapProviderConfig>
56
- }
48
+ lendProviders?: LendProviders
49
+ swapProviders?: SwapProviders
57
50
  supportedAssets?: Asset[]
58
51
  }) {
59
52
  const {
@@ -79,13 +72,8 @@ export class TurnkeyWallet extends EOAWallet {
79
72
  organizationId: string
80
73
  signWith: string
81
74
  ethereumAddress?: string
82
- lendProviders?: {
83
- morpho?: LendProvider<LendProviderConfig>
84
- aave?: LendProvider<LendProviderConfig>
85
- }
86
- swapProviders?: {
87
- uniswap?: SwapProvider<SwapProviderConfig>
88
- }
75
+ lendProviders?: LendProviders
76
+ swapProviders?: SwapProviders
89
77
  supportedAssets?: Asset[]
90
78
  }): Promise<TurnkeyWallet> {
91
79
  const wallet = new TurnkeyWallet(params)
@@ -1,9 +1,8 @@
1
1
  import type { LocalAccount } from 'viem'
2
2
 
3
- import type { LendProvider } from '@/lend/core/LendProvider.js'
4
3
  import type { ChainManager } from '@/services/ChainManager.js'
5
- import type { SwapProvider } from '@/swap/core/SwapProvider.js'
6
- import type { LendProviderConfig, SwapProviderConfig } from '@/types/actions.js'
4
+ import type { Asset } from '@/types/asset.js'
5
+ import type { LendProviders, SwapProviders } from '@/types/providers.js'
7
6
  import { HostedWalletProvider } from '@/wallet/core/providers/hosted/abstract/HostedWalletProvider.js'
8
7
  import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
9
8
  import type { ReactToActionsOptionsMap } from '@/wallet/react/providers/hosted/types/index.js'
@@ -26,15 +25,11 @@ export class DynamicHostedWalletProvider extends HostedWalletProvider<
26
25
  */
27
26
  constructor(
28
27
  chainManager: ChainManager,
29
- lendProviders?: {
30
- morpho?: LendProvider<LendProviderConfig>
31
- aave?: LendProvider<LendProviderConfig>
32
- },
33
- swapProviders?: {
34
- uniswap?: SwapProvider<SwapProviderConfig>
35
- },
28
+ lendProviders?: LendProviders,
29
+ swapProviders?: SwapProviders,
30
+ supportedAssets?: Asset[],
36
31
  ) {
37
- super(chainManager, lendProviders, swapProviders)
32
+ super(chainManager, lendProviders, swapProviders, supportedAssets)
38
33
  }
39
34
 
40
35
  async toActionsWallet(
@@ -45,6 +40,7 @@ export class DynamicHostedWalletProvider extends HostedWalletProvider<
45
40
  chainManager: this.chainManager,
46
41
  lendProviders: this.lendProviders,
47
42
  swapProviders: this.swapProviders,
43
+ supportedAssets: this.supportedAssets,
48
44
  })
49
45
  }
50
46
 
@@ -1,9 +1,8 @@
1
1
  import type { LocalAccount } from 'viem'
2
2
 
3
- import type { LendProvider } from '@/lend/core/LendProvider.js'
4
3
  import type { ChainManager } from '@/services/ChainManager.js'
5
- import type { SwapProvider } from '@/swap/core/SwapProvider.js'
6
- import type { LendProviderConfig, SwapProviderConfig } from '@/types/actions.js'
4
+ import type { Asset } from '@/types/asset.js'
5
+ import type { LendProviders, SwapProviders } from '@/types/providers.js'
7
6
  import { HostedWalletProvider } from '@/wallet/core/providers/hosted/abstract/HostedWalletProvider.js'
8
7
  import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
9
8
  import type { ReactToActionsOptionsMap } from '@/wallet/react/providers/hosted/types/index.js'
@@ -25,15 +24,11 @@ export class PrivyHostedWalletProvider extends HostedWalletProvider<
25
24
  */
26
25
  constructor(
27
26
  chainManager: ChainManager,
28
- lendProviders?: {
29
- morpho?: LendProvider<LendProviderConfig>
30
- aave?: LendProvider<LendProviderConfig>
31
- },
32
- swapProviders?: {
33
- uniswap?: SwapProvider<SwapProviderConfig>
34
- },
27
+ lendProviders?: LendProviders,
28
+ swapProviders?: SwapProviders,
29
+ supportedAssets?: Asset[],
35
30
  ) {
36
- super(chainManager, lendProviders, swapProviders)
31
+ super(chainManager, lendProviders, swapProviders, supportedAssets)
37
32
  }
38
33
 
39
34
  async toActionsWallet(
@@ -45,6 +40,7 @@ export class PrivyHostedWalletProvider extends HostedWalletProvider<
45
40
  connectedWallet,
46
41
  lendProviders: this.lendProviders,
47
42
  swapProviders: this.swapProviders,
43
+ supportedAssets: this.supportedAssets,
48
44
  })
49
45
  return wallet
50
46
  }
@@ -1,9 +1,8 @@
1
1
  import type { LocalAccount } from 'viem'
2
2
 
3
- import type { LendProvider } from '@/lend/core/LendProvider.js'
4
3
  import type { ChainManager } from '@/services/ChainManager.js'
5
- import type { SwapProvider } from '@/swap/core/SwapProvider.js'
6
- import type { LendProviderConfig, SwapProviderConfig } from '@/types/actions.js'
4
+ import type { Asset } from '@/types/asset.js'
5
+ import type { LendProviders, SwapProviders } from '@/types/providers.js'
7
6
  import { HostedWalletProvider } from '@/wallet/core/providers/hosted/abstract/HostedWalletProvider.js'
8
7
  import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
9
8
  import type { ReactToActionsOptionsMap } from '@/wallet/react/providers/hosted/types/index.js'
@@ -29,15 +28,11 @@ export class TurnkeyHostedWalletProvider extends HostedWalletProvider<
29
28
  */
30
29
  constructor(
31
30
  chainManager: ChainManager,
32
- lendProviders?: {
33
- morpho?: LendProvider<LendProviderConfig>
34
- aave?: LendProvider<LendProviderConfig>
35
- },
36
- swapProviders?: {
37
- uniswap?: SwapProvider<SwapProviderConfig>
38
- },
31
+ lendProviders?: LendProviders,
32
+ swapProviders?: SwapProviders,
33
+ supportedAssets?: Asset[],
39
34
  ) {
40
- super(chainManager, lendProviders, swapProviders)
35
+ super(chainManager, lendProviders, swapProviders, supportedAssets)
41
36
  }
42
37
 
43
38
  /**
@@ -63,6 +58,7 @@ export class TurnkeyHostedWalletProvider extends HostedWalletProvider<
63
58
  chainManager: this.chainManager,
64
59
  lendProviders: this.lendProviders,
65
60
  swapProviders: this.swapProviders,
61
+ supportedAssets: this.supportedAssets,
66
62
  })
67
63
  }
68
64
 
@@ -1,7 +1,4 @@
1
1
  import { HostedWalletProviderRegistry } from '@/wallet/core/providers/hosted/registry/HostedWalletProviderRegistry.js'
2
- import { DynamicHostedWalletProvider } from '@/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js'
3
- import { PrivyHostedWalletProvider } from '@/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js'
4
- import { TurnkeyHostedWalletProvider } from '@/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js'
5
2
  import type {
6
3
  ReactHostedProviderInstanceMap,
7
4
  ReactOptionsMap,
@@ -12,10 +9,8 @@ import type {
12
9
  * React hosted wallet provider registry
13
10
  * @description
14
11
  * Environment-scoped registry that binds React/browser provider keys to their
15
- * factory implementations. This ensures browser-only hosted providers are
16
- * discoverable at runtime without importing Node-only code. The registry
17
- * pre-registers 'dynamic' and 'privy' providers and can be extended with
18
- * additional providers via `register`.
12
+ * factory implementations. Provider code is loaded lazily via dynamic import()
13
+ * so that unused wallet SDKs are not included in the bundle.
19
14
  */
20
15
  export class ReactHostedWalletProviderRegistry extends HostedWalletProviderRegistry<
21
16
  ReactHostedProviderInstanceMap,
@@ -29,11 +24,17 @@ export class ReactHostedWalletProviderRegistry extends HostedWalletProviderRegis
29
24
  validateOptions(_options): _options is ReactOptionsMap['dynamic'] {
30
25
  return true
31
26
  },
32
- create({ chainManager, lendProviders, swapProviders }, _options) {
27
+ async create(
28
+ { chainManager, lendProviders, swapProviders, supportedAssets },
29
+ _options,
30
+ ) {
31
+ const { DynamicHostedWalletProvider } =
32
+ await import('@/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js')
33
33
  return new DynamicHostedWalletProvider(
34
34
  chainManager,
35
35
  lendProviders,
36
36
  swapProviders,
37
+ supportedAssets,
37
38
  )
38
39
  },
39
40
  })
@@ -43,11 +44,17 @@ export class ReactHostedWalletProviderRegistry extends HostedWalletProviderRegis
43
44
  validateOptions(_options): _options is ReactOptionsMap['privy'] {
44
45
  return true
45
46
  },
46
- create({ chainManager, lendProviders, swapProviders }, _options) {
47
+ async create(
48
+ { chainManager, lendProviders, swapProviders, supportedAssets },
49
+ _options,
50
+ ) {
51
+ const { PrivyHostedWalletProvider } =
52
+ await import('@/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js')
47
53
  return new PrivyHostedWalletProvider(
48
54
  chainManager,
49
55
  lendProviders,
50
56
  swapProviders,
57
+ supportedAssets,
51
58
  )
52
59
  },
53
60
  })
@@ -57,11 +64,17 @@ export class ReactHostedWalletProviderRegistry extends HostedWalletProviderRegis
57
64
  validateOptions(_options): _options is ReactOptionsMap['turnkey'] {
58
65
  return true
59
66
  },
60
- create({ chainManager, lendProviders, swapProviders }, _options) {
67
+ async create(
68
+ { chainManager, lendProviders, swapProviders, supportedAssets },
69
+ _options,
70
+ ) {
71
+ const { TurnkeyHostedWalletProvider } =
72
+ await import('@/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js')
61
73
  return new TurnkeyHostedWalletProvider(
62
74
  chainManager,
63
75
  lendProviders,
64
76
  swapProviders,
77
+ supportedAssets,
65
78
  )
66
79
  },
67
80
  })
@@ -49,11 +49,11 @@ describe('ReactHostedWalletProviderRegistry', () => {
49
49
  ).toBe(true)
50
50
  })
51
51
 
52
- it('creates a DynamicHostedWalletProvider instance', () => {
52
+ it('creates a DynamicHostedWalletProvider instance', async () => {
53
53
  const registry = new ReactHostedWalletProviderRegistry()
54
54
  const factory = registry.getFactory('dynamic')
55
55
 
56
- const provider = factory.create(
56
+ const provider = await factory.create(
57
57
  { chainManager: mockChainManager },
58
58
  undefined as ReactOptionsMap['dynamic'],
59
59
  )
@@ -71,11 +71,11 @@ describe('ReactHostedWalletProviderRegistry', () => {
71
71
  ).toBe(true)
72
72
  })
73
73
 
74
- it('creates a PrivyHostedWalletProvider instance', () => {
74
+ it('creates a PrivyHostedWalletProvider instance', async () => {
75
75
  const registry = new ReactHostedWalletProviderRegistry()
76
76
  const factory = registry.getFactory('privy')
77
77
 
78
- const provider = factory.create(
78
+ const provider = await factory.create(
79
79
  { chainManager: mockChainManager },
80
80
  undefined as ReactOptionsMap['privy'],
81
81
  )
@@ -93,11 +93,11 @@ describe('ReactHostedWalletProviderRegistry', () => {
93
93
  ).toBe(true)
94
94
  })
95
95
 
96
- it('creates a TurnkeyHostedWalletProvider instance', () => {
96
+ it('creates a TurnkeyHostedWalletProvider instance', async () => {
97
97
  const registry = new ReactHostedWalletProviderRegistry()
98
98
  const factory = registry.getFactory('turnkey')
99
99
 
100
- const provider = factory.create(
100
+ const provider = await factory.create(
101
101
  { chainManager: mockChainManager },
102
102
  undefined as ReactOptionsMap['turnkey'],
103
103
  )
@@ -1,9 +1,8 @@
1
1
  import { type Address, type LocalAccount } from 'viem'
2
2
 
3
- import type { LendProvider } from '@/lend/core/LendProvider.js'
4
3
  import type { ChainManager } from '@/services/ChainManager.js'
5
- import type { SwapProvider } from '@/swap/core/SwapProvider.js'
6
- import type { LendProviderConfig, SwapProviderConfig } from '@/types/actions.js'
4
+ import type { Asset } from '@/types/asset.js'
5
+ import type { LendProviders, SwapProviders } from '@/types/providers.js'
7
6
  import { EOAWallet } from '@/wallet/core/wallets/eoa/EOAWallet.js'
8
7
  import type { DynamicHostedWalletToActionsWalletOptions } from '@/wallet/react/providers/hosted/types/index.js'
9
8
  import { createSigner } from '@/wallet/react/wallets/hosted/dynamic/utils/createSigner.js'
@@ -27,34 +26,27 @@ export class DynamicWallet extends EOAWallet {
27
26
  private constructor(
28
27
  chainManager: ChainManager,
29
28
  dynamicWallet: DynamicHostedWalletToActionsWalletOptions['wallet'],
30
- lendProviders?: {
31
- morpho?: LendProvider<LendProviderConfig>
32
- aave?: LendProvider<LendProviderConfig>
33
- },
34
- swapProviders?: {
35
- uniswap?: SwapProvider<SwapProviderConfig>
36
- },
29
+ lendProviders?: LendProviders,
30
+ swapProviders?: SwapProviders,
31
+ supportedAssets?: Asset[],
37
32
  ) {
38
- super(chainManager, lendProviders, swapProviders)
33
+ super(chainManager, lendProviders, swapProviders, supportedAssets)
39
34
  this.dynamicWallet = dynamicWallet
40
35
  }
41
36
 
42
37
  static async create(params: {
43
38
  dynamicWallet: DynamicHostedWalletToActionsWalletOptions['wallet']
44
39
  chainManager: ChainManager
45
- lendProviders?: {
46
- morpho?: LendProvider<LendProviderConfig>
47
- aave?: LendProvider<LendProviderConfig>
48
- }
49
- swapProviders?: {
50
- uniswap?: SwapProvider<SwapProviderConfig>
51
- }
40
+ lendProviders?: LendProviders
41
+ swapProviders?: SwapProviders
42
+ supportedAssets?: Asset[]
52
43
  }): Promise<DynamicWallet> {
53
44
  const wallet = new DynamicWallet(
54
45
  params.chainManager,
55
46
  params.dynamicWallet,
56
47
  params.lendProviders,
57
48
  params.swapProviders,
49
+ params.supportedAssets,
58
50
  )
59
51
  await wallet.initialize()
60
52
  return wallet
@@ -1,8 +1,7 @@
1
1
  import { vi } from 'vitest'
2
2
 
3
- import type { LendProvider } from '@/lend/core/LendProvider.js'
4
3
  import type { ChainManager } from '@/services/ChainManager.js'
5
- import type { LendProviderConfig } from '@/types/actions.js'
4
+ import type { LendProviders } from '@/types/providers.js'
6
5
  import type { Wallet } from '@/wallet/core/wallets/abstract/Wallet.js'
7
6
  import type { DynamicHostedWalletToActionsWalletOptions } from '@/wallet/react/providers/hosted/types/index.js'
8
7
 
@@ -17,10 +16,7 @@ export class DynamicWalletMock {
17
16
  async (_params: {
18
17
  chainManager: ChainManager
19
18
  dynamicWallet: DynamicHostedWalletToActionsWalletOptions['wallet']
20
- lendProviders?: {
21
- morpho?: LendProvider<LendProviderConfig>
22
- aave?: LendProvider<LendProviderConfig>
23
- }
19
+ lendProviders?: LendProviders
24
20
  }): Promise<Wallet> => {
25
21
  return {} as unknown as Wallet
26
22
  },
@@ -1,10 +1,9 @@
1
1
  import type { ConnectedWallet } from '@privy-io/react-auth'
2
2
  import type { Address, LocalAccount } from 'viem'
3
3
 
4
- import type { LendProvider } from '@/lend/core/LendProvider.js'
5
4
  import type { ChainManager } from '@/services/ChainManager.js'
6
- import type { SwapProvider } from '@/swap/core/SwapProvider.js'
7
- import type { LendProviderConfig, SwapProviderConfig } from '@/types/actions.js'
5
+ import type { Asset } from '@/types/asset.js'
6
+ import type { LendProviders, SwapProviders } from '@/types/providers.js'
8
7
  import { EOAWallet } from '@/wallet/core/wallets/eoa/EOAWallet.js'
9
8
  import { createSigner } from '@/wallet/react/wallets/hosted/privy/utils/createSigner.js'
10
9
 
@@ -21,34 +20,27 @@ export class PrivyWallet extends EOAWallet {
21
20
  private constructor(
22
21
  chainManager: ChainManager,
23
22
  connectedWallet: ConnectedWallet,
24
- lendProviders?: {
25
- morpho?: LendProvider<LendProviderConfig>
26
- aave?: LendProvider<LendProviderConfig>
27
- },
28
- swapProviders?: {
29
- uniswap?: SwapProvider<SwapProviderConfig>
30
- },
23
+ lendProviders?: LendProviders,
24
+ swapProviders?: SwapProviders,
25
+ supportedAssets?: Asset[],
31
26
  ) {
32
- super(chainManager, lendProviders, swapProviders)
27
+ super(chainManager, lendProviders, swapProviders, supportedAssets)
33
28
  this.connectedWallet = connectedWallet
34
29
  }
35
30
 
36
31
  static async create(params: {
37
32
  chainManager: ChainManager
38
33
  connectedWallet: ConnectedWallet
39
- lendProviders?: {
40
- morpho?: LendProvider<LendProviderConfig>
41
- aave?: LendProvider<LendProviderConfig>
42
- }
43
- swapProviders?: {
44
- uniswap?: SwapProvider<SwapProviderConfig>
45
- }
34
+ lendProviders?: LendProviders
35
+ swapProviders?: SwapProviders
36
+ supportedAssets?: Asset[]
46
37
  }): Promise<PrivyWallet> {
47
38
  const wallet = new PrivyWallet(
48
39
  params.chainManager,
49
40
  params.connectedWallet,
50
41
  params.lendProviders,
51
42
  params.swapProviders,
43
+ params.supportedAssets,
52
44
  )
53
45
  await wallet.initialize()
54
46
  return wallet
@@ -1,10 +1,9 @@
1
1
  import type { TurnkeySDKClientBase } from '@turnkey/react-wallet-kit'
2
2
  import type { Address, LocalAccount } from 'viem'
3
3
 
4
- import type { LendProvider } from '@/lend/core/LendProvider.js'
5
4
  import type { ChainManager } from '@/services/ChainManager.js'
6
- import type { SwapProvider } from '@/swap/core/SwapProvider.js'
7
- import type { LendProviderConfig, SwapProviderConfig } from '@/types/actions.js'
5
+ import type { Asset } from '@/types/asset.js'
6
+ import type { LendProviders, SwapProviders } from '@/types/providers.js'
8
7
  import { EOAWallet } from '@/wallet/core/wallets/eoa/EOAWallet.js'
9
8
  import { createSigner } from '@/wallet/react/wallets/hosted/turnkey/utils/createSigner.js'
10
9
 
@@ -41,13 +40,9 @@ export class TurnkeyWallet extends EOAWallet {
41
40
  organizationId: string
42
41
  signWith: string
43
42
  ethereumAddress?: string
44
- lendProviders?: {
45
- morpho?: LendProvider<LendProviderConfig>
46
- aave?: LendProvider<LendProviderConfig>
47
- }
48
- swapProviders?: {
49
- uniswap?: SwapProvider<SwapProviderConfig>
50
- }
43
+ lendProviders?: LendProviders
44
+ swapProviders?: SwapProviders
45
+ supportedAssets?: Asset[]
51
46
  }) {
52
47
  const {
53
48
  chainManager,
@@ -57,8 +52,9 @@ export class TurnkeyWallet extends EOAWallet {
57
52
  ethereumAddress,
58
53
  lendProviders,
59
54
  swapProviders,
55
+ supportedAssets,
60
56
  } = params
61
- super(chainManager, lendProviders, swapProviders)
57
+ super(chainManager, lendProviders, swapProviders, supportedAssets)
62
58
  this.client = client
63
59
  this.organizationId = organizationId
64
60
  this.signWith = signWith
@@ -71,13 +67,9 @@ export class TurnkeyWallet extends EOAWallet {
71
67
  organizationId: string
72
68
  signWith: string
73
69
  ethereumAddress?: string
74
- lendProviders?: {
75
- morpho?: LendProvider<LendProviderConfig>
76
- aave?: LendProvider<LendProviderConfig>
77
- }
78
- swapProviders?: {
79
- uniswap?: SwapProvider<SwapProviderConfig>
80
- }
70
+ lendProviders?: LendProviders
71
+ swapProviders?: SwapProviders
72
+ supportedAssets?: Asset[]
81
73
  }): Promise<TurnkeyWallet> {
82
74
  const wallet = new TurnkeyWallet(params)
83
75
  await wallet.initialize()
@@ -1,25 +0,0 @@
1
- import type { Address } from 'viem';
2
- import type { SupportedChainId } from '../constants/supportedChains.js';
3
- import type { Asset } from '../types/asset.js';
4
- export declare const SUPPORTED_TOKENS: Asset[];
5
- /**
6
- * Get token by address and chain ID
7
- * @param address Token address
8
- * @param chainId Chain ID
9
- * @returns Token symbol or null if not found
10
- */
11
- export declare function getTokenByAddress(address: Address, chainId: SupportedChainId): string | null;
12
- /**
13
- * Get token address for a specific chain
14
- * @param symbol Token symbol
15
- * @param chainId Chain ID
16
- * @returns Token address, 'native' for native assets, or null if not supported
17
- */
18
- export declare function getTokenAddress(symbol: string, chainId: SupportedChainId): Address | 'native' | null;
19
- /**
20
- * Get token by symbol
21
- * @param symbol Token symbol
22
- * @returns Asset or null if not found
23
- */
24
- export declare function getTokenBySymbol(symbol: string): Asset | null;
25
- //# sourceMappingURL=tokens.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/supported/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAUnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,eAAO,MAAM,gBAAgB,EAAE,KAAK,EAOnC,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,gBAAgB,GACxB,MAAM,GAAG,IAAI,CAWf;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,GACxB,OAAO,GAAG,QAAQ,GAAG,IAAI,CAG3B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAE7D"}
@@ -1,44 +0,0 @@
1
- import { ETH, MORPHO, OP_DEMO, USDC, USDC_DEMO, WETH, } from '../constants/assets.js';
2
- export const SUPPORTED_TOKENS = [
3
- ETH,
4
- WETH,
5
- USDC,
6
- USDC_DEMO,
7
- OP_DEMO,
8
- MORPHO,
9
- ];
10
- /**
11
- * Get token by address and chain ID
12
- * @param address Token address
13
- * @param chainId Chain ID
14
- * @returns Token symbol or null if not found
15
- */
16
- export function getTokenByAddress(address, chainId) {
17
- const normalizedAddress = address.toLowerCase();
18
- for (const token of SUPPORTED_TOKENS) {
19
- const tokenAddress = token.address[chainId];
20
- if (tokenAddress && tokenAddress.toLowerCase() === normalizedAddress) {
21
- return token.metadata.symbol;
22
- }
23
- }
24
- return null;
25
- }
26
- /**
27
- * Get token address for a specific chain
28
- * @param symbol Token symbol
29
- * @param chainId Chain ID
30
- * @returns Token address, 'native' for native assets, or null if not supported
31
- */
32
- export function getTokenAddress(symbol, chainId) {
33
- const token = SUPPORTED_TOKENS.find((t) => t.metadata.symbol === symbol);
34
- return token?.address[chainId] || null;
35
- }
36
- /**
37
- * Get token by symbol
38
- * @param symbol Token symbol
39
- * @returns Asset or null if not found
40
- */
41
- export function getTokenBySymbol(symbol) {
42
- return SUPPORTED_TOKENS.find((t) => t.metadata.symbol === symbol) || null;
43
- }
44
- //# sourceMappingURL=tokens.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/supported/tokens.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,GAAG,EACH,MAAM,EACN,OAAO,EACP,IAAI,EACJ,SAAS,EACT,IAAI,GACL,MAAM,uBAAuB,CAAA;AAI9B,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,SAAS;IACT,OAAO;IACP,MAAM;CACP,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAgB,EAChB,OAAyB;IAEzB,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;IAE/C,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC3C,IAAI,YAAY,IAAI,YAAY,CAAC,WAAW,EAAE,KAAK,iBAAiB,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,OAAyB;IAEzB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IACxE,OAAO,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAA;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,IAAI,CAAA;AAC3E,CAAC"}
@@ -1,46 +0,0 @@
1
- import type { Address, PublicClient } from 'viem';
2
- import type { TransactionData } from '../types/transaction.js';
3
- /** Default Permit2 approval expiry: 30 days in seconds */
4
- export declare const DEFAULT_PERMIT2_EXPIRY_SECONDS: number;
5
- /**
6
- * Permit2 allowance info
7
- */
8
- export interface Permit2Allowance {
9
- amount: bigint;
10
- expiration: number;
11
- nonce: number;
12
- }
13
- /**
14
- * Check Permit2 allowance for a token/spender pair
15
- */
16
- export declare function checkPermit2Allowance(params: {
17
- publicClient: PublicClient;
18
- permit2Address: Address;
19
- owner: Address;
20
- token: Address;
21
- spender: Address;
22
- }): Promise<Permit2Allowance>;
23
- /**
24
- * Build ERC20 token approval transaction to Permit2
25
- */
26
- export declare function buildTokenApprovalTx(token: Address, permit2Address: Address): TransactionData;
27
- /**
28
- * Build Permit2 approval transaction for a spender
29
- */
30
- export declare function buildPermit2ApprovalTx(params: {
31
- permit2Address: Address;
32
- token: Address;
33
- spender: Address;
34
- amount: bigint;
35
- expirySeconds?: number;
36
- }): TransactionData;
37
- /**
38
- * Check ERC20 token allowance
39
- */
40
- export declare function checkTokenAllowance(params: {
41
- publicClient: PublicClient;
42
- token: Address;
43
- owner: Address;
44
- spender: Address;
45
- }): Promise<bigint>;
46
- //# sourceMappingURL=permit2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permit2.d.ts","sourceRoot":"","sources":["../../src/utils/permit2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAGjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7D,0DAA0D;AAC1D,eAAO,MAAM,8BAA8B,QAAoB,CAAA;AAmC/D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAClD,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;CACjB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAe5B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,OAAO,GACtB,eAAe,CAcjB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,cAAc,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,eAAe,CAiBlB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,YAAY,EAAE,YAAY,CAAA;IAC1B,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,CASlB"}