@eth-optimism/actions-sdk 0.1.0 → 0.3.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 (500) hide show
  1. package/LICENSE +1 -1
  2. package/dist/__mocks__/MockAssets.d.ts.map +1 -0
  3. package/dist/{test → __mocks__}/MockAssets.js +2 -0
  4. package/dist/__mocks__/MockAssets.js.map +1 -0
  5. package/dist/__mocks__/MockPrivyClient.d.ts.map +1 -0
  6. package/dist/__mocks__/MockPrivyClient.js.map +1 -0
  7. package/dist/__mocks__/utils.d.ts.map +1 -0
  8. package/dist/__mocks__/utils.js.map +1 -0
  9. package/dist/__tests__/actions.test.d.ts.map +1 -0
  10. package/dist/{actions.test.js → __tests__/actions.test.js} +5 -9
  11. package/dist/__tests__/actions.test.js.map +1 -0
  12. package/dist/actions.d.ts +20 -1
  13. package/dist/actions.d.ts.map +1 -1
  14. package/dist/actions.js +37 -13
  15. package/dist/actions.js.map +1 -1
  16. package/dist/constants/assets.d.ts +23 -0
  17. package/dist/constants/assets.d.ts.map +1 -1
  18. package/dist/constants/assets.js +99 -6
  19. package/dist/constants/assets.js.map +1 -1
  20. package/dist/constants/contracts.d.ts +4 -0
  21. package/dist/constants/contracts.d.ts.map +1 -0
  22. package/dist/constants/contracts.js +3 -0
  23. package/dist/constants/contracts.js.map +1 -0
  24. package/dist/constants/supportedChains.d.ts +1 -1
  25. package/dist/constants/supportedChains.d.ts.map +1 -1
  26. package/dist/constants/supportedChains.js +7 -3
  27. package/dist/constants/supportedChains.js.map +1 -1
  28. package/dist/core/asset/__mocks__/mockAsset.js +1 -1
  29. package/dist/core/asset/__mocks__/mockAsset.js.map +1 -1
  30. package/dist/index.d.ts +4 -3
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +3 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/{test → lend/__mocks__}/MockLendProvider.d.ts +7 -6
  35. package/dist/lend/__mocks__/MockLendProvider.d.ts.map +1 -0
  36. package/dist/{test → lend/__mocks__}/MockLendProvider.js +20 -21
  37. package/dist/lend/__mocks__/MockLendProvider.js.map +1 -0
  38. package/dist/{test → lend/__mocks__}/MockMarkets.d.ts +1 -1
  39. package/dist/lend/__mocks__/MockMarkets.d.ts.map +1 -0
  40. package/dist/{test → lend/__mocks__}/MockMarkets.js +1 -1
  41. package/dist/lend/__mocks__/MockMarkets.js.map +1 -0
  42. package/dist/lend/__mocks__/mockLendTransaction.d.ts +3 -12
  43. package/dist/lend/__mocks__/mockLendTransaction.d.ts.map +1 -1
  44. package/dist/lend/__mocks__/mockLendTransaction.js +3 -19
  45. package/dist/lend/__mocks__/mockLendTransaction.js.map +1 -1
  46. package/dist/lend/core/LendProvider.d.ts +14 -8
  47. package/dist/lend/core/LendProvider.d.ts.map +1 -1
  48. package/dist/lend/core/LendProvider.js +29 -17
  49. package/dist/lend/core/LendProvider.js.map +1 -1
  50. package/dist/lend/core/__tests__/LendProvider.test.js +4 -6
  51. package/dist/lend/core/__tests__/LendProvider.test.js.map +1 -1
  52. package/dist/lend/namespaces/ActionsLendNamespace.d.ts +2 -36
  53. package/dist/lend/namespaces/ActionsLendNamespace.d.ts.map +1 -1
  54. package/dist/lend/namespaces/ActionsLendNamespace.js +2 -48
  55. package/dist/lend/namespaces/ActionsLendNamespace.js.map +1 -1
  56. package/dist/lend/namespaces/BaseLendNamespace.d.ts +47 -0
  57. package/dist/lend/namespaces/BaseLendNamespace.d.ts.map +1 -0
  58. package/dist/lend/namespaces/BaseLendNamespace.js +58 -0
  59. package/dist/lend/namespaces/BaseLendNamespace.js.map +1 -0
  60. package/dist/lend/namespaces/WalletLendNamespace.d.ts +8 -36
  61. package/dist/lend/namespaces/WalletLendNamespace.d.ts.map +1 -1
  62. package/dist/lend/namespaces/WalletLendNamespace.js +14 -69
  63. package/dist/lend/namespaces/WalletLendNamespace.js.map +1 -1
  64. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js +2 -2
  65. package/dist/lend/namespaces/__tests__/ActionsLendNamespace.spec.js.map +1 -1
  66. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts +2 -0
  67. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.d.ts.map +1 -0
  68. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js +110 -0
  69. package/dist/lend/namespaces/__tests__/BaseLendNamespace.spec.js.map +1 -0
  70. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js +8 -10
  71. package/dist/lend/namespaces/__tests__/WalletLendNamespace.spec.js.map +1 -1
  72. package/dist/lend/providers/aave/AaveLendProvider.d.ts +19 -27
  73. package/dist/lend/providers/aave/AaveLendProvider.d.ts.map +1 -1
  74. package/dist/lend/providers/aave/AaveLendProvider.js +124 -180
  75. package/dist/lend/providers/aave/AaveLendProvider.js.map +1 -1
  76. package/dist/lend/providers/aave/__mocks__/mockReserve.d.ts +11 -0
  77. package/dist/lend/providers/aave/__mocks__/mockReserve.d.ts.map +1 -0
  78. package/dist/lend/providers/aave/__mocks__/mockReserve.js +80 -0
  79. package/dist/lend/providers/aave/__mocks__/mockReserve.js.map +1 -0
  80. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts +2 -0
  81. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.d.ts.map +1 -0
  82. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js +315 -0
  83. package/dist/lend/providers/aave/__tests__/AaveLendProvider.test.js.map +1 -0
  84. package/dist/lend/providers/aave/abis/pool.d.ts +153 -0
  85. package/dist/lend/providers/aave/abis/pool.d.ts.map +1 -0
  86. package/dist/lend/providers/aave/abis/pool.js +79 -0
  87. package/dist/lend/providers/aave/abis/pool.js.map +1 -0
  88. package/dist/lend/providers/aave/sdk.d.ts.map +1 -1
  89. package/dist/lend/providers/aave/sdk.js +6 -65
  90. package/dist/lend/providers/aave/sdk.js.map +1 -1
  91. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts +0 -1
  92. package/dist/lend/providers/morpho/MorphoLendProvider.d.ts.map +1 -1
  93. package/dist/lend/providers/morpho/MorphoLendProvider.js +13 -28
  94. package/dist/lend/providers/morpho/MorphoLendProvider.js.map +1 -1
  95. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js +5 -24
  96. package/dist/lend/providers/morpho/__tests__/MorphoLendProvider.test.js.map +1 -1
  97. package/dist/lend/providers/morpho/__tests__/api.test.js +248 -54
  98. package/dist/lend/providers/morpho/__tests__/api.test.js.map +1 -1
  99. package/dist/lend/providers/morpho/__tests__/sdk.test.js +3 -2
  100. package/dist/lend/providers/morpho/__tests__/sdk.test.js.map +1 -1
  101. package/dist/lend/providers/morpho/api.d.ts +4 -0
  102. package/dist/lend/providers/morpho/api.d.ts.map +1 -1
  103. package/dist/lend/providers/morpho/api.js.map +1 -1
  104. package/dist/lend/providers/morpho/contracts.d.ts +19 -0
  105. package/dist/lend/providers/morpho/contracts.d.ts.map +1 -0
  106. package/dist/lend/providers/morpho/contracts.js +32 -0
  107. package/dist/lend/providers/morpho/contracts.js.map +1 -0
  108. package/dist/lend/providers/morpho/sdk.d.ts.map +1 -1
  109. package/dist/lend/providers/morpho/sdk.js +177 -71
  110. package/dist/lend/providers/morpho/sdk.js.map +1 -1
  111. package/dist/services/ChainManager.d.ts +1 -1
  112. package/dist/{test → services/__mocks__}/MockChainManager.d.ts +1 -1
  113. package/dist/services/__mocks__/MockChainManager.d.ts.map +1 -0
  114. package/dist/services/__mocks__/MockChainManager.js.map +1 -0
  115. package/dist/services/tokenBalance.d.ts.map +1 -1
  116. package/dist/services/tokenBalance.js +4 -5
  117. package/dist/services/tokenBalance.js.map +1 -1
  118. package/dist/services/tokenBalance.spec.js +2 -2
  119. package/dist/services/tokenBalance.spec.js.map +1 -1
  120. package/dist/supported/tokens.d.ts +4 -4
  121. package/dist/supported/tokens.d.ts.map +1 -1
  122. package/dist/supported/tokens.js +10 -70
  123. package/dist/supported/tokens.js.map +1 -1
  124. package/dist/swap/__mocks__/MockSwapProvider.d.ts +38 -0
  125. package/dist/swap/__mocks__/MockSwapProvider.d.ts.map +1 -0
  126. package/dist/swap/__mocks__/MockSwapProvider.js +138 -0
  127. package/dist/swap/__mocks__/MockSwapProvider.js.map +1 -0
  128. package/dist/swap/core/SwapProvider.d.ts +56 -0
  129. package/dist/swap/core/SwapProvider.d.ts.map +1 -0
  130. package/dist/swap/core/SwapProvider.js +177 -0
  131. package/dist/swap/core/SwapProvider.js.map +1 -0
  132. package/dist/swap/core/__tests__/SwapProvider.test.d.ts +2 -0
  133. package/dist/swap/core/__tests__/SwapProvider.test.d.ts.map +1 -0
  134. package/dist/swap/core/__tests__/SwapProvider.test.js +329 -0
  135. package/dist/swap/core/__tests__/SwapProvider.test.js.map +1 -0
  136. package/dist/swap/index.d.ts +7 -0
  137. package/dist/swap/index.d.ts.map +1 -0
  138. package/dist/swap/index.js +8 -0
  139. package/dist/swap/index.js.map +1 -0
  140. package/dist/swap/namespaces/ActionsSwapNamespace.d.ts +8 -0
  141. package/dist/swap/namespaces/ActionsSwapNamespace.d.ts.map +1 -0
  142. package/dist/swap/namespaces/ActionsSwapNamespace.js +8 -0
  143. package/dist/swap/namespaces/ActionsSwapNamespace.js.map +1 -0
  144. package/dist/swap/namespaces/BaseSwapNamespace.d.ts +33 -0
  145. package/dist/swap/namespaces/BaseSwapNamespace.d.ts.map +1 -0
  146. package/dist/swap/namespaces/BaseSwapNamespace.js +58 -0
  147. package/dist/swap/namespaces/BaseSwapNamespace.js.map +1 -0
  148. package/dist/swap/namespaces/WalletSwapNamespace.d.ts +22 -0
  149. package/dist/swap/namespaces/WalletSwapNamespace.d.ts.map +1 -0
  150. package/dist/swap/namespaces/WalletSwapNamespace.js +60 -0
  151. package/dist/swap/namespaces/WalletSwapNamespace.js.map +1 -0
  152. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts +2 -0
  153. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.d.ts.map +1 -0
  154. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js +106 -0
  155. package/dist/swap/namespaces/__tests__/BaseSwapNamespace.spec.js.map +1 -0
  156. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts +2 -0
  157. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.d.ts.map +1 -0
  158. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js +132 -0
  159. package/dist/swap/namespaces/__tests__/WalletSwapNamespace.spec.js.map +1 -0
  160. package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts +68 -0
  161. package/dist/swap/providers/uniswap/UniswapSwapProvider.d.ts.map +1 -0
  162. package/dist/swap/providers/uniswap/UniswapSwapProvider.js +206 -0
  163. package/dist/swap/providers/uniswap/UniswapSwapProvider.js.map +1 -0
  164. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts +2 -0
  165. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.d.ts.map +1 -0
  166. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js +257 -0
  167. package/dist/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.js.map +1 -0
  168. package/dist/swap/providers/uniswap/__tests__/sdk.test.d.ts +2 -0
  169. package/dist/swap/providers/uniswap/__tests__/sdk.test.d.ts.map +1 -0
  170. package/dist/swap/providers/uniswap/__tests__/sdk.test.js +312 -0
  171. package/dist/swap/providers/uniswap/__tests__/sdk.test.js.map +1 -0
  172. package/dist/swap/providers/uniswap/abis.d.ts +227 -0
  173. package/dist/swap/providers/uniswap/abis.d.ts.map +1 -0
  174. package/dist/swap/providers/uniswap/abis.js +138 -0
  175. package/dist/swap/providers/uniswap/abis.js.map +1 -0
  176. package/dist/swap/providers/uniswap/addresses.d.ts +21 -0
  177. package/dist/swap/providers/uniswap/addresses.d.ts.map +1 -0
  178. package/dist/swap/providers/uniswap/addresses.js +81 -0
  179. package/dist/swap/providers/uniswap/addresses.js.map +1 -0
  180. package/dist/swap/providers/uniswap/encoding.d.ts +77 -0
  181. package/dist/swap/providers/uniswap/encoding.d.ts.map +1 -0
  182. package/dist/swap/providers/uniswap/encoding.js +233 -0
  183. package/dist/swap/providers/uniswap/encoding.js.map +1 -0
  184. package/dist/swap/providers/uniswap/types.d.ts +20 -0
  185. package/dist/swap/providers/uniswap/types.d.ts.map +1 -0
  186. package/dist/swap/providers/uniswap/types.js +2 -0
  187. package/dist/swap/providers/uniswap/types.js.map +1 -0
  188. package/dist/types/actions.d.ts +19 -5
  189. package/dist/types/actions.d.ts.map +1 -1
  190. package/dist/types/asset.d.ts +3 -3
  191. package/dist/types/asset.d.ts.map +1 -1
  192. package/dist/types/index.d.ts +2 -0
  193. package/dist/types/index.d.ts.map +1 -1
  194. package/dist/types/index.js +2 -0
  195. package/dist/types/index.js.map +1 -1
  196. package/dist/types/lend/base.d.ts +7 -22
  197. package/dist/types/lend/base.d.ts.map +1 -1
  198. package/dist/types/lend/base.js.map +1 -1
  199. package/dist/types/lend/contracts.d.ts +17 -0
  200. package/dist/types/lend/contracts.d.ts.map +1 -0
  201. package/dist/types/lend/contracts.js +2 -0
  202. package/dist/types/lend/contracts.js.map +1 -0
  203. package/dist/types/lend/index.d.ts +1 -0
  204. package/dist/types/lend/index.d.ts.map +1 -1
  205. package/dist/types/lend/index.js +1 -0
  206. package/dist/types/lend/index.js.map +1 -1
  207. package/dist/types/swap/base.d.ts +238 -0
  208. package/dist/types/swap/base.d.ts.map +1 -0
  209. package/dist/types/swap/base.js +4 -0
  210. package/dist/types/swap/base.js.map +1 -0
  211. package/dist/types/swap/index.d.ts +2 -0
  212. package/dist/types/swap/index.d.ts.map +1 -0
  213. package/dist/types/swap/index.js +2 -0
  214. package/dist/types/swap/index.js.map +1 -0
  215. package/dist/types/transaction.d.ts +14 -0
  216. package/dist/types/transaction.d.ts.map +1 -0
  217. package/dist/types/transaction.js +2 -0
  218. package/dist/types/transaction.js.map +1 -0
  219. package/dist/utils/assets.d.ts +11 -6
  220. package/dist/utils/assets.d.ts.map +1 -1
  221. package/dist/utils/assets.js +16 -12
  222. package/dist/utils/assets.js.map +1 -1
  223. package/dist/utils/assets.test.js +14 -2
  224. package/dist/utils/assets.test.js.map +1 -1
  225. package/dist/utils/constants.d.ts +5 -0
  226. package/dist/utils/constants.d.ts.map +1 -0
  227. package/dist/utils/constants.js +5 -0
  228. package/dist/utils/constants.js.map +1 -0
  229. package/dist/utils/permit2.d.ts +46 -0
  230. package/dist/utils/permit2.d.ts.map +1 -0
  231. package/dist/utils/permit2.js +100 -0
  232. package/dist/utils/permit2.js.map +1 -0
  233. package/dist/utils/permit2.test.d.ts +2 -0
  234. package/dist/utils/permit2.test.d.ts.map +1 -0
  235. package/dist/utils/permit2.test.js +110 -0
  236. package/dist/utils/permit2.test.js.map +1 -0
  237. package/dist/utils/validation.d.ts +12 -0
  238. package/dist/utils/validation.d.ts.map +1 -0
  239. package/dist/utils/validation.js +44 -0
  240. package/dist/utils/validation.js.map +1 -0
  241. package/dist/wallet/core/namespace/WalletNamespace.d.ts.map +1 -1
  242. package/dist/wallet/core/namespace/WalletNamespace.js.map +1 -1
  243. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js +4 -4
  244. package/dist/wallet/core/namespace/__tests__/WalletNamespace.spec.js.map +1 -1
  245. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js +4 -4
  246. package/dist/wallet/core/providers/__tests__/WalletProvider.spec.js.map +1 -1
  247. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts +7 -1
  248. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.d.ts.map +1 -1
  249. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js +2 -1
  250. package/dist/wallet/core/providers/hosted/abstract/HostedWalletProvider.js.map +1 -1
  251. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js +2 -2
  252. package/dist/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.js.map +1 -1
  253. package/dist/wallet/core/providers/hosted/types/index.d.ts +5 -1
  254. package/dist/wallet/core/providers/hosted/types/index.d.ts.map +1 -1
  255. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts +7 -1
  256. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.d.ts.map +1 -1
  257. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js +5 -1
  258. package/dist/wallet/core/providers/smart/default/DefaultSmartWalletProvider.js.map +1 -1
  259. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js +5 -5
  260. package/dist/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.js.map +1 -1
  261. package/dist/wallet/core/wallets/abstract/Wallet.d.ts +13 -2
  262. package/dist/wallet/core/wallets/abstract/Wallet.d.ts.map +1 -1
  263. package/dist/wallet/core/wallets/abstract/Wallet.js +7 -1
  264. package/dist/wallet/core/wallets/abstract/Wallet.js.map +1 -1
  265. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js +2 -2
  266. package/dist/wallet/core/wallets/abstract/__tests__/Wallet.spec.js.map +1 -1
  267. package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.js +2 -2
  268. package/dist/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.js.map +1 -1
  269. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts +7 -2
  270. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.d.ts.map +1 -1
  271. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js +6 -5
  272. package/dist/wallet/core/wallets/smart/default/DefaultSmartWallet.js.map +1 -1
  273. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js +3 -3
  274. package/dist/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.js.map +1 -1
  275. package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.js +1 -1
  276. package/dist/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.js.map +1 -1
  277. package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.js +1 -1
  278. package/dist/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.js.map +1 -1
  279. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +6 -1
  280. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  281. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js +3 -1
  282. package/dist/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  283. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +4 -4
  284. package/dist/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  285. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.d.ts.map +1 -1
  286. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js +4 -3
  287. package/dist/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.js.map +1 -1
  288. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js +2 -2
  289. package/dist/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.js.map +1 -1
  290. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +5 -1
  291. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
  292. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +4 -2
  293. package/dist/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
  294. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +2 -2
  295. package/dist/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
  296. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts +6 -1
  297. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  298. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js +4 -3
  299. package/dist/wallet/node/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  300. package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +3 -3
  301. package/dist/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -1
  302. package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js +2 -2
  303. package/dist/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.js.map +1 -1
  304. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts +5 -1
  305. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
  306. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
  307. package/dist/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
  308. package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js +2 -2
  309. package/dist/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js.map +1 -1
  310. package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js +1 -1
  311. package/dist/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js.map +1 -1
  312. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts +7 -1
  313. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.d.ts.map +1 -1
  314. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js +6 -2
  315. package/dist/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.js.map +1 -1
  316. package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.d.ts.map +1 -1
  317. package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.js +1 -1
  318. package/dist/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.js.map +1 -1
  319. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js +6 -2
  320. package/dist/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.js.map +1 -1
  321. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts +6 -1
  322. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.d.ts.map +1 -1
  323. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js +5 -2
  324. package/dist/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.js.map +1 -1
  325. package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.d.ts.map +1 -1
  326. package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.js +1 -1
  327. package/dist/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.js.map +1 -1
  328. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js +3 -2
  329. package/dist/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.js.map +1 -1
  330. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts +6 -3
  331. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.d.ts.map +1 -1
  332. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js +5 -4
  333. package/dist/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.js.map +1 -1
  334. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js +2 -2
  335. package/dist/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.js.map +1 -1
  336. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.d.ts.map +1 -1
  337. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js +6 -6
  338. package/dist/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.js.map +1 -1
  339. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js +1 -1
  340. package/dist/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.js.map +1 -1
  341. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts +7 -1
  342. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.d.ts.map +1 -1
  343. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js +5 -3
  344. package/dist/wallet/react/wallets/hosted/dynamic/DynamicWallet.js.map +1 -1
  345. package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.js +2 -2
  346. package/dist/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.js.map +1 -1
  347. package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.js +1 -1
  348. package/dist/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.js.map +1 -1
  349. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts +5 -1
  350. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.d.ts.map +1 -1
  351. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js +3 -3
  352. package/dist/wallet/react/wallets/hosted/privy/PrivyWallet.js.map +1 -1
  353. package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.js +2 -2
  354. package/dist/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.js.map +1 -1
  355. package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.js +1 -1
  356. package/dist/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.js.map +1 -1
  357. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts +5 -1
  358. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.d.ts.map +1 -1
  359. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js +2 -2
  360. package/dist/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.js.map +1 -1
  361. package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js +2 -2
  362. package/dist/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.js.map +1 -1
  363. package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js +1 -1
  364. package/dist/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.js.map +1 -1
  365. package/package.json +2 -2
  366. package/src/{test → __mocks__}/MockAssets.ts +2 -0
  367. package/src/{test → __mocks__}/MockPrivyClient.ts +1 -1
  368. package/src/{actions.test.ts → __tests__/actions.test.ts} +2 -6
  369. package/src/actions.ts +57 -19
  370. package/src/constants/assets.ts +108 -8
  371. package/src/constants/contracts.ts +5 -0
  372. package/src/constants/supportedChains.ts +10 -2
  373. package/src/core/asset/__mocks__/mockAsset.ts +1 -1
  374. package/src/index.ts +30 -2
  375. package/src/{test → lend/__mocks__}/MockLendProvider.ts +20 -23
  376. package/src/{test → lend/__mocks__}/MockMarkets.ts +1 -1
  377. package/src/lend/__mocks__/mockLendTransaction.ts +4 -26
  378. package/src/lend/core/LendProvider.ts +40 -20
  379. package/src/lend/core/__tests__/LendProvider.test.ts +4 -7
  380. package/src/lend/namespaces/ActionsLendNamespace.ts +2 -85
  381. package/src/lend/namespaces/BaseLendNamespace.ts +89 -0
  382. package/src/lend/namespaces/WalletLendNamespace.ts +25 -121
  383. package/src/lend/namespaces/__tests__/ActionsLendNamespace.spec.ts +10 -9
  384. package/src/lend/namespaces/__tests__/BaseLendNamespace.spec.ts +137 -0
  385. package/src/lend/namespaces/__tests__/WalletLendNamespace.spec.ts +19 -22
  386. package/src/lend/providers/aave/AaveLendProvider.ts +163 -231
  387. package/src/lend/providers/aave/__mocks__/mockReserve.ts +84 -0
  388. package/src/lend/providers/aave/__tests__/AaveLendProvider.test.ts +419 -0
  389. package/src/lend/providers/aave/abis/pool.ts +81 -0
  390. package/src/lend/providers/aave/sdk.ts +7 -69
  391. package/src/lend/providers/morpho/MorphoLendProvider.ts +20 -41
  392. package/src/lend/providers/morpho/__tests__/MorphoLendProvider.test.ts +8 -32
  393. package/src/lend/providers/morpho/__tests__/api.test.ts +277 -51
  394. package/src/lend/providers/morpho/__tests__/sdk.test.ts +3 -2
  395. package/src/lend/providers/morpho/api.ts +4 -0
  396. package/src/lend/providers/morpho/contracts.ts +37 -0
  397. package/src/lend/providers/morpho/sdk.ts +241 -84
  398. package/src/services/tokenBalance.spec.ts +2 -2
  399. package/src/services/tokenBalance.ts +6 -7
  400. package/src/supported/tokens.ts +18 -77
  401. package/src/swap/__mocks__/MockSwapProvider.ts +216 -0
  402. package/src/swap/core/SwapProvider.ts +319 -0
  403. package/src/swap/core/__tests__/SwapProvider.test.ts +478 -0
  404. package/src/swap/index.ts +14 -0
  405. package/src/swap/namespaces/ActionsSwapNamespace.ts +7 -0
  406. package/src/swap/namespaces/BaseSwapNamespace.ts +77 -0
  407. package/src/swap/namespaces/WalletSwapNamespace.ts +82 -0
  408. package/src/swap/namespaces/__tests__/BaseSwapNamespace.spec.ts +138 -0
  409. package/src/swap/namespaces/__tests__/WalletSwapNamespace.spec.ts +162 -0
  410. package/src/swap/providers/uniswap/UniswapSwapProvider.ts +304 -0
  411. package/src/swap/providers/uniswap/__tests__/UniswapSwapProvider.test.ts +299 -0
  412. package/src/swap/providers/uniswap/__tests__/sdk.test.ts +370 -0
  413. package/src/swap/providers/uniswap/abis.ts +144 -0
  414. package/src/swap/providers/uniswap/addresses.ts +108 -0
  415. package/src/swap/providers/uniswap/encoding.ts +406 -0
  416. package/src/swap/providers/uniswap/types.ts +24 -0
  417. package/src/types/actions.ts +22 -6
  418. package/src/types/asset.ts +3 -3
  419. package/src/types/index.ts +2 -0
  420. package/src/types/lend/base.ts +12 -25
  421. package/src/types/lend/contracts.ts +18 -0
  422. package/src/types/lend/index.ts +1 -0
  423. package/src/types/swap/base.ts +259 -0
  424. package/src/types/swap/index.ts +1 -0
  425. package/src/types/transaction.ts +14 -0
  426. package/src/utils/assets.test.ts +17 -2
  427. package/src/utils/assets.ts +28 -11
  428. package/src/utils/constants.ts +4 -0
  429. package/src/utils/permit2.test.ts +142 -0
  430. package/src/utils/permit2.ts +144 -0
  431. package/src/utils/validation.ts +76 -0
  432. package/src/wallet/core/namespace/WalletNamespace.ts +2 -4
  433. package/src/wallet/core/namespace/__tests__/WalletNamespace.spec.ts +6 -6
  434. package/src/wallet/core/providers/__tests__/WalletProvider.spec.ts +6 -6
  435. package/src/wallet/core/providers/hosted/abstract/HostedWalletProvider.ts +9 -1
  436. package/src/wallet/core/providers/hosted/registry/__tests__/HostedWalletProviderRegistry.spec.ts +3 -3
  437. package/src/wallet/core/providers/hosted/types/index.ts +5 -1
  438. package/src/wallet/core/providers/smart/default/DefaultSmartWalletProvider.ts +13 -1
  439. package/src/wallet/core/providers/smart/default/__tests__/DefaultSmartWalletProvider.spec.ts +9 -9
  440. package/src/wallet/core/wallets/abstract/Wallet.ts +18 -2
  441. package/src/wallet/core/wallets/abstract/__tests__/Wallet.spec.ts +2 -2
  442. package/src/wallet/core/wallets/eoa/__tests__/EOAWallet.spec.ts +2 -2
  443. package/src/wallet/core/wallets/smart/default/DefaultSmartWallet.ts +14 -5
  444. package/src/wallet/core/wallets/smart/default/__tests__/DefaultSmartWallet.spec.ts +3 -3
  445. package/src/wallet/core/wallets/smart/default/utils/__tests__/findSignerInArray.spec.ts +1 -1
  446. package/src/wallet/core/wallets/smart/default/utils/__tests__/getSignerPublicKey.spec.ts +1 -1
  447. package/src/wallet/node/providers/hosted/privy/PrivyHostedWalletProvider.ts +13 -2
  448. package/src/wallet/node/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +5 -5
  449. package/src/wallet/node/providers/hosted/registry/NodeHostedWalletProviderRegistry.ts +10 -2
  450. package/src/wallet/node/providers/hosted/registry/__tests__/NodeHostedWalletProviderRegistry.spec.ts +3 -3
  451. package/src/wallet/node/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +8 -2
  452. package/src/wallet/node/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +2 -2
  453. package/src/wallet/node/wallets/hosted/privy/PrivyWallet.ts +11 -2
  454. package/src/wallet/node/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +4 -4
  455. package/src/wallet/node/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts +2 -2
  456. package/src/wallet/node/wallets/hosted/turnkey/TurnkeyWallet.ts +10 -2
  457. package/src/wallet/node/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts +2 -2
  458. package/src/wallet/node/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.ts +1 -1
  459. package/src/wallet/react/providers/hosted/dynamic/DynamicHostedWalletProvider.ts +10 -2
  460. package/src/wallet/react/providers/hosted/dynamic/__mocks__/DynamicHostedWalletProviderMock.ts +1 -1
  461. package/src/wallet/react/providers/hosted/dynamic/__tests__/DynamicHostedWalletProvider.spec.ts +9 -5
  462. package/src/wallet/react/providers/hosted/privy/PrivyHostedWalletProvider.ts +9 -2
  463. package/src/wallet/react/providers/hosted/privy/__mocks__/PrivyHostedWalletProviderMock.ts +1 -1
  464. package/src/wallet/react/providers/hosted/privy/__tests__/PrivyHostedWalletProvider.spec.ts +5 -5
  465. package/src/wallet/react/providers/hosted/turnkey/TurnkeyHostedWalletProvider.ts +9 -4
  466. package/src/wallet/react/providers/hosted/turnkey/__tests__/TurnkeyHostedWalletProvider.spec.ts +2 -2
  467. package/src/wallet/react/providers/registry/ReactHostedWalletProviderRegistry.ts +18 -6
  468. package/src/wallet/react/providers/registry/__tests__/ReactHostedWalletProviderRegistry.spec.ts +5 -7
  469. package/src/wallet/react/wallets/hosted/dynamic/DynamicWallet.ts +12 -2
  470. package/src/wallet/react/wallets/hosted/dynamic/__tests__/DynamicWallet.spec.ts +2 -2
  471. package/src/wallet/react/wallets/hosted/dynamic/utils/__tests__/createSigner.spec.ts +1 -1
  472. package/src/wallet/react/wallets/hosted/privy/PrivyWallet.ts +10 -2
  473. package/src/wallet/react/wallets/hosted/privy/__tests__/PrivyWallet.spec.ts +2 -2
  474. package/src/wallet/react/wallets/hosted/privy/utils/__tests__/createSigner.spec.ts +1 -1
  475. package/src/wallet/react/wallets/hosted/turnkey/TurnkeyWallet.ts +10 -2
  476. package/src/wallet/react/wallets/hosted/turnkey/__tests__/TurnkeyWallet.spec.ts +2 -2
  477. package/src/wallet/react/wallets/hosted/turnkey/utils/__tests__/createSigner.spec.ts +1 -1
  478. package/dist/actions.test.d.ts.map +0 -1
  479. package/dist/actions.test.js.map +0 -1
  480. package/dist/test/MockAssets.d.ts.map +0 -1
  481. package/dist/test/MockAssets.js.map +0 -1
  482. package/dist/test/MockChainManager.d.ts.map +0 -1
  483. package/dist/test/MockChainManager.js.map +0 -1
  484. package/dist/test/MockLendProvider.d.ts.map +0 -1
  485. package/dist/test/MockLendProvider.js.map +0 -1
  486. package/dist/test/MockMarkets.d.ts.map +0 -1
  487. package/dist/test/MockMarkets.js.map +0 -1
  488. package/dist/test/MockPrivyClient.d.ts.map +0 -1
  489. package/dist/test/MockPrivyClient.js.map +0 -1
  490. package/dist/test/utils.d.ts.map +0 -1
  491. package/dist/test/utils.js.map +0 -1
  492. /package/dist/{test → __mocks__}/MockAssets.d.ts +0 -0
  493. /package/dist/{test → __mocks__}/MockPrivyClient.d.ts +0 -0
  494. /package/dist/{test → __mocks__}/MockPrivyClient.js +0 -0
  495. /package/dist/{test → __mocks__}/utils.d.ts +0 -0
  496. /package/dist/{test → __mocks__}/utils.js +0 -0
  497. /package/dist/{actions.test.d.ts → __tests__/actions.test.d.ts} +0 -0
  498. /package/dist/{test → services/__mocks__}/MockChainManager.js +0 -0
  499. /package/src/{test → __mocks__}/utils.ts +0 -0
  500. /package/src/{test → services/__mocks__}/MockChainManager.ts +0 -0
@@ -1,66 +1,260 @@
1
- import { describe, expect, it, vi } from 'vitest';
1
+ import { afterEach, describe, expect, it, vi } from 'vitest';
2
2
  import { fetchRewards } from '../api.js';
3
- import { fetchAndCalculateRewards } from '../sdk.js';
3
+ import { calculateRewardsBreakdown, fetchAndCalculateRewards, } from '../sdk.js';
4
4
  import { externalTest } from '../../../../utils/test.js';
5
5
  /**
6
- * External tests for API functionality
7
- * These tests make actual network requests and require EXTERNAL_TEST=true
6
+ * Mock API response for a vault with rewards
8
7
  */
8
+ const mockVaultWithRewards = {
9
+ address: '0x38f4f3B6533de0023b9DCd04b02F93d36ad1F9f9',
10
+ id: 'test-vault-id',
11
+ state: {
12
+ rewards: [
13
+ {
14
+ asset: {
15
+ address: '0x078d782b760474a361dda0af3839290b0ef57ad6',
16
+ name: 'USD Coin',
17
+ symbol: 'USDC',
18
+ chain: { id: 130 },
19
+ },
20
+ amountPerSuppliedToken: '1000000',
21
+ supplyApr: 0.025, // 2.5% APR
22
+ },
23
+ {
24
+ asset: {
25
+ address: '0x9994e35db50125e0df82e4c2dde62496ce330999',
26
+ name: 'Morpho Token',
27
+ symbol: 'MORPHO',
28
+ chain: { id: 130 },
29
+ },
30
+ amountPerSuppliedToken: '500000',
31
+ supplyApr: 0.01, // 1% APR
32
+ },
33
+ ],
34
+ allocation: [
35
+ {
36
+ market: {
37
+ id: 'market-1',
38
+ uniqueKey: '0xmarket1',
39
+ state: {
40
+ rewards: [
41
+ {
42
+ supplyApr: 0.005, // 0.5% APR
43
+ amountPerSuppliedToken: '100000',
44
+ asset: {
45
+ address: '0xunknown',
46
+ symbol: 'UNKNOWN',
47
+ chain: { id: 130 },
48
+ },
49
+ },
50
+ ],
51
+ },
52
+ },
53
+ supplyAssetsUsd: 1000000,
54
+ },
55
+ {
56
+ market: {
57
+ id: 'market-2',
58
+ uniqueKey: '0xmarket2',
59
+ state: {
60
+ rewards: [],
61
+ },
62
+ },
63
+ supplyAssetsUsd: 500000,
64
+ },
65
+ ],
66
+ },
67
+ chain: { id: 130 },
68
+ };
69
+ /**
70
+ * Mock API response for a vault with no rewards
71
+ */
72
+ const mockVaultNoRewards = {
73
+ address: '0x1234567890123456789012345678901234567890',
74
+ id: 'empty-vault-id',
75
+ state: {
76
+ rewards: [],
77
+ allocation: [],
78
+ },
79
+ chain: { id: 130 },
80
+ };
9
81
  describe('Morpho API Integration', () => {
10
82
  const GAUNTLET_USDC_VAULT = '0x38f4f3B6533de0023b9DCd04b02F93d36ad1F9f9';
11
- it.runIf(externalTest())('should fetch raw vault data from Morpho GraphQL API', async () => {
12
- const vaultData = await fetchRewards(GAUNTLET_USDC_VAULT);
13
- expect(vaultData).toBeDefined();
14
- expect(vaultData).not.toBeNull();
15
- expect(vaultData.address.toLowerCase()).toBe(GAUNTLET_USDC_VAULT.toLowerCase());
16
- expect(vaultData.state).toBeDefined();
17
- }, 30000); // 30 second timeout for network request
18
- it.runIf(externalTest())('should fetch and calculate rewards breakdown', async () => {
19
- const rewards = await fetchAndCalculateRewards(GAUNTLET_USDC_VAULT);
20
- expect(rewards).toBeDefined();
21
- expect(typeof rewards.usdc).toBe('number');
22
- expect(typeof rewards.morpho).toBe('number');
23
- expect(typeof rewards.other).toBe('number');
24
- expect(typeof rewards.totalRewards).toBe('number');
25
- // All reward APRs should be non-negative
26
- expect(rewards.usdc).toBeGreaterThanOrEqual(0);
27
- expect(rewards.morpho).toBeGreaterThanOrEqual(0);
28
- expect(rewards.other).toBeGreaterThanOrEqual(0);
29
- expect(rewards.totalRewards).toBeGreaterThanOrEqual(0);
30
- // Total rewards should equal sum of individual rewards
31
- const expectedTotal = rewards.usdc + rewards.morpho + rewards.other;
32
- expect(rewards.totalRewards).toBeCloseTo(expectedTotal, 6);
33
- // For the Gauntlet USDC vault, we typically expect some rewards
34
- // This assertion may need adjustment based on actual market conditions
35
- expect(rewards.totalRewards).toBeGreaterThanOrEqual(0);
36
- }, 30000); // 30 second timeout for network request
37
- it.runIf(externalTest())('should handle non-existent vault gracefully', async () => {
38
- const nonExistentVault = '0x0000000000000000000000000000000000000000';
39
- const vaultData = await fetchRewards(nonExistentVault);
40
- expect(vaultData).toBeNull();
41
- }, 30000); // 30 second timeout for network request
42
- it('should handle API errors gracefully', async () => {
43
- // Mock fetch to simulate network error
44
- vi.stubGlobal('fetch', vi.fn().mockRejectedValue(new Error('Network error')));
45
- try {
83
+ afterEach(() => {
84
+ vi.unstubAllGlobals();
85
+ });
86
+ describe('fetchRewards', () => {
87
+ it('should return vault data on successful API response', async () => {
88
+ vi.stubGlobal('fetch', vi.fn().mockResolvedValue({
89
+ json: async () => ({
90
+ data: {
91
+ vaultByAddress: mockVaultWithRewards,
92
+ },
93
+ }),
94
+ }));
95
+ const vaultData = await fetchRewards(GAUNTLET_USDC_VAULT);
96
+ expect(vaultData).toBeDefined();
97
+ expect(vaultData).not.toBeNull();
98
+ expect(vaultData.address.toLowerCase()).toBe(GAUNTLET_USDC_VAULT.toLowerCase());
99
+ expect(vaultData.state.rewards).toHaveLength(2);
100
+ });
101
+ it('should return null when vault not found', async () => {
102
+ vi.stubGlobal('fetch', vi.fn().mockResolvedValue({
103
+ json: async () => ({
104
+ data: {
105
+ vaultByAddress: null,
106
+ },
107
+ }),
108
+ }));
109
+ const vaultData = await fetchRewards(GAUNTLET_USDC_VAULT);
110
+ expect(vaultData).toBeNull();
111
+ });
112
+ it('should handle API errors gracefully', async () => {
113
+ vi.stubGlobal('fetch', vi.fn().mockRejectedValue(new Error('Network error')));
114
+ const vaultData = await fetchRewards(GAUNTLET_USDC_VAULT);
115
+ expect(vaultData).toBeNull();
116
+ });
117
+ it('should handle malformed JSON response', async () => {
118
+ vi.stubGlobal('fetch', vi.fn().mockResolvedValue({
119
+ json: async () => {
120
+ throw new Error('Invalid JSON');
121
+ },
122
+ }));
46
123
  const vaultData = await fetchRewards(GAUNTLET_USDC_VAULT);
47
124
  expect(vaultData).toBeNull();
48
- }
49
- finally {
50
- // Restore original fetch
51
- vi.unstubAllGlobals();
52
- }
125
+ });
53
126
  });
54
- it.runIf(externalTest())('should validate GraphQL response structure', async () => {
55
- const vaultData = await fetchRewards(GAUNTLET_USDC_VAULT);
56
- // Verify that the response has the expected structure
57
- expect(vaultData).toMatchObject({
58
- address: expect.any(String),
59
- state: expect.objectContaining({
60
- rewards: expect.any(Array),
61
- allocation: expect.any(Array),
62
- }),
127
+ describe('calculateRewardsBreakdown', () => {
128
+ it('should calculate rewards from vault-level rewards', () => {
129
+ const rewards = calculateRewardsBreakdown(mockVaultWithRewards);
130
+ expect(rewards.usdc).toBe(0.025);
131
+ expect(rewards.morpho).toBe(0.01);
132
+ expect(rewards.totalRewards).toBeCloseTo(0.025 + 0.01 + 0.005 * (1000000 / 1500000), 6);
63
133
  });
64
- }, 30000); // 30 second timeout for network request
134
+ it('should return zeros for vault with no rewards', () => {
135
+ const rewards = calculateRewardsBreakdown(mockVaultNoRewards);
136
+ expect(rewards.usdc).toBe(0);
137
+ expect(rewards.morpho).toBe(0);
138
+ expect(rewards.other).toBe(0);
139
+ expect(rewards.totalRewards).toBe(0);
140
+ });
141
+ it('should categorize unknown tokens as other', () => {
142
+ const vaultWithUnknown = {
143
+ ...mockVaultNoRewards,
144
+ state: {
145
+ rewards: [
146
+ {
147
+ asset: { symbol: 'RARE_TOKEN' },
148
+ supplyApr: 0.05,
149
+ },
150
+ ],
151
+ allocation: [],
152
+ },
153
+ };
154
+ const rewards = calculateRewardsBreakdown(vaultWithUnknown);
155
+ expect(rewards.other).toBe(0.05);
156
+ });
157
+ it('should weight market rewards by allocation', () => {
158
+ const vaultWithMarketRewards = {
159
+ ...mockVaultNoRewards,
160
+ state: {
161
+ rewards: [],
162
+ allocation: [
163
+ {
164
+ market: {
165
+ state: {
166
+ rewards: [{ asset: { symbol: 'USDC' }, supplyApr: 0.1 }],
167
+ },
168
+ },
169
+ supplyAssetsUsd: 750000, // 75% of total
170
+ },
171
+ {
172
+ market: {
173
+ state: {
174
+ rewards: [{ asset: { symbol: 'USDC' }, supplyApr: 0.02 }],
175
+ },
176
+ },
177
+ supplyAssetsUsd: 250000, // 25% of total
178
+ },
179
+ ],
180
+ },
181
+ };
182
+ const rewards = calculateRewardsBreakdown(vaultWithMarketRewards);
183
+ // Expected: 0.1 * 0.75 + 0.02 * 0.25 = 0.075 + 0.005 = 0.08
184
+ expect(rewards.usdc).toBeCloseTo(0.08, 6);
185
+ });
186
+ });
187
+ describe('fetchAndCalculateRewards', () => {
188
+ it('should fetch and calculate rewards breakdown', async () => {
189
+ vi.stubGlobal('fetch', vi.fn().mockResolvedValue({
190
+ json: async () => ({
191
+ data: {
192
+ vaultByAddress: mockVaultWithRewards,
193
+ },
194
+ }),
195
+ }));
196
+ const rewards = await fetchAndCalculateRewards(GAUNTLET_USDC_VAULT);
197
+ expect(rewards).toBeDefined();
198
+ expect(typeof rewards.usdc).toBe('number');
199
+ expect(typeof rewards.morpho).toBe('number');
200
+ expect(typeof rewards.other).toBe('number');
201
+ expect(typeof rewards.totalRewards).toBe('number');
202
+ expect(rewards.usdc).toBeGreaterThan(0);
203
+ expect(rewards.morpho).toBeGreaterThan(0);
204
+ });
205
+ it('should return empty rewards when vault not found', async () => {
206
+ vi.stubGlobal('fetch', vi.fn().mockResolvedValue({
207
+ json: async () => ({
208
+ data: {
209
+ vaultByAddress: null,
210
+ },
211
+ }),
212
+ }));
213
+ const rewards = await fetchAndCalculateRewards(GAUNTLET_USDC_VAULT);
214
+ expect(rewards.usdc).toBe(0);
215
+ expect(rewards.morpho).toBe(0);
216
+ expect(rewards.other).toBe(0);
217
+ expect(rewards.totalRewards).toBe(0);
218
+ });
219
+ });
220
+ // External tests that make real network requests (only run with EXTERNAL_TEST=true)
221
+ describe.runIf(externalTest())('External API Tests', () => {
222
+ it('should fetch raw vault data from Morpho GraphQL API', async () => {
223
+ const vaultData = await fetchRewards(GAUNTLET_USDC_VAULT);
224
+ expect(vaultData).toBeDefined();
225
+ expect(vaultData).not.toBeNull();
226
+ expect(vaultData.address.toLowerCase()).toBe(GAUNTLET_USDC_VAULT.toLowerCase());
227
+ expect(vaultData.state).toBeDefined();
228
+ }, 30000);
229
+ it('should fetch and calculate rewards breakdown', async () => {
230
+ const rewards = await fetchAndCalculateRewards(GAUNTLET_USDC_VAULT);
231
+ expect(rewards).toBeDefined();
232
+ expect(typeof rewards.usdc).toBe('number');
233
+ expect(typeof rewards.morpho).toBe('number');
234
+ expect(typeof rewards.other).toBe('number');
235
+ expect(typeof rewards.totalRewards).toBe('number');
236
+ expect(rewards.usdc).toBeGreaterThanOrEqual(0);
237
+ expect(rewards.morpho).toBeGreaterThanOrEqual(0);
238
+ expect(rewards.other).toBeGreaterThanOrEqual(0);
239
+ expect(rewards.totalRewards).toBeGreaterThanOrEqual(0);
240
+ const expectedTotal = rewards.usdc + rewards.morpho + rewards.other;
241
+ expect(rewards.totalRewards).toBeCloseTo(expectedTotal, 6);
242
+ }, 30000);
243
+ it('should handle non-existent vault gracefully', async () => {
244
+ const nonExistentVault = '0x0000000000000000000000000000000000000000';
245
+ const vaultData = await fetchRewards(nonExistentVault);
246
+ expect(vaultData).toBeNull();
247
+ }, 30000);
248
+ it('should validate GraphQL response structure', async () => {
249
+ const vaultData = await fetchRewards(GAUNTLET_USDC_VAULT);
250
+ expect(vaultData).toMatchObject({
251
+ address: expect.any(String),
252
+ state: expect.objectContaining({
253
+ rewards: expect.any(Array),
254
+ allocation: expect.any(Array),
255
+ }),
256
+ });
257
+ }, 30000);
258
+ });
65
259
  });
66
260
  //# sourceMappingURL=api.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../../../../src/lend/providers/morpho/__tests__/api.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../../../../src/lend/providers/morpho/__tests__/api.test.ts"],"names":[],"mappings":"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"}
@@ -140,11 +140,12 @@ describe('Vault Utilities', () => {
140
140
  };
141
141
  const result = calculateRewardsBreakdown(apiVault);
142
142
  expect(result).toEqual({
143
+ eth: 0,
144
+ weth: 0,
143
145
  usdc: 0,
144
146
  usdc_demo: 0,
147
+ op_demo: 0,
145
148
  morpho: 0,
146
- eth: 0,
147
- weth: 0,
148
149
  other: 0,
149
150
  totalRewards: 0,
150
151
  });
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.test.js","sourceRoot":"","sources":["../../../../../src/lend/providers/morpho/__tests__/sdk.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.test.js","sourceRoot":"","sources":["../../../../../src/lend/providers/morpho/__tests__/sdk.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import type { Address } from 'viem';
2
2
  export interface RewardsBreakdown {
3
+ eth: number;
4
+ weth: number;
3
5
  usdc: number;
6
+ usdc_demo: number;
7
+ op_demo: number;
4
8
  morpho: number;
5
9
  other: number;
6
10
  totalRewards: number;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/lend/providers/morpho/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAInC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAqE7E"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/lend/providers/morpho/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAInC,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAqE7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/lend/providers/morpho/api.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG,gCAAgC,CAAA;AAS5D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,YAAqB;IACtD,MAAM,UAAU,GAAG;QACjB,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4CN;QACD,SAAS,EAAE;YACT,OAAO,EAAE,YAAY,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,GAAG;SACb;KACF,CAAA;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,mBAAmB,EAAE;YAChD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;SACjC,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAA;QAChD,OAAO,SAAS,CAAC,IAAI,EAAE,cAAc,IAAI,IAAI,CAAA;IAC/C,CAAC;IAAC,OAAO,QAAQ,EAAE,CAAC;QAClB,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,QAAQ,CAAC,CAAA;QACpE,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/lend/providers/morpho/api.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG,gCAAgC,CAAA;AAa5D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,YAAqB;IACtD,MAAM,UAAU,GAAG;QACjB,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4CN;QACD,SAAS,EAAE;YACT,OAAO,EAAE,YAAY,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,GAAG;SACb;KACF,CAAA;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,mBAAmB,EAAE;YAChD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;SACjC,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAA;QAChD,OAAO,SAAS,CAAC,IAAI,EAAE,cAAc,IAAI,IAAI,CAAA;IAC/C,CAAC;IAAC,OAAO,QAAQ,EAAE,CAAC;QAClB,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,QAAQ,CAAC,CAAA;QACpE,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { MorphoContractsRegistry } from '../../../types/lend/contracts.js';
2
+ /**
3
+ * Contract addresses for chains NOT supported by Morpho SDK (testnets).
4
+ * Mainnet/Base use the SDK which provides richer data including rewards.
5
+ */
6
+ export declare const MORPHO_CONTRACTS: MorphoContractsRegistry;
7
+ /**
8
+ * Get Morpho contracts for a chain
9
+ * @param chainId - Chain ID
10
+ * @returns Morpho contracts if supported, undefined otherwise
11
+ */
12
+ export declare function getMorphoContracts(chainId: number): import("../../../types/lend/contracts.js").MorphoContracts;
13
+ /**
14
+ * Check if Morpho is supported on a chain
15
+ * @param chainId - Chain ID
16
+ * @returns true if Morpho is deployed on this chain
17
+ */
18
+ export declare function isMorphoChainSupported(chainId: number): boolean;
19
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/lend/providers/morpho/contracts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAOxE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,uBAK9B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,uDAEjD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE/D"}
@@ -0,0 +1,32 @@
1
+ import { baseSepolia } from 'viem/chains';
2
+ /**
3
+ * Morpho Blue core contract - same address on all chains via CREATE2
4
+ */
5
+ const MORPHO_BLUE = '0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb';
6
+ /**
7
+ * Contract addresses for chains NOT supported by Morpho SDK (testnets).
8
+ * Mainnet/Base use the SDK which provides richer data including rewards.
9
+ */
10
+ export const MORPHO_CONTRACTS = {
11
+ [baseSepolia.id]: {
12
+ morphoBlue: MORPHO_BLUE,
13
+ irm: '0x46415998764C29aB2a25CbeA6254146D50D22687',
14
+ },
15
+ };
16
+ /**
17
+ * Get Morpho contracts for a chain
18
+ * @param chainId - Chain ID
19
+ * @returns Morpho contracts if supported, undefined otherwise
20
+ */
21
+ export function getMorphoContracts(chainId) {
22
+ return MORPHO_CONTRACTS[chainId];
23
+ }
24
+ /**
25
+ * Check if Morpho is supported on a chain
26
+ * @param chainId - Chain ID
27
+ * @returns true if Morpho is deployed on this chain
28
+ */
29
+ export function isMorphoChainSupported(chainId) {
30
+ return chainId in MORPHO_CONTRACTS;
31
+ }
32
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../../src/lend/providers/morpho/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAIzC;;GAEG;AACH,MAAM,WAAW,GAAG,4CAAqD,CAAA;AAEzE;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA4B;IACvD,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;QAChB,UAAU,EAAE,WAAW;QACvB,GAAG,EAAE,4CAA4C;KAClD;CACF,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAA;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,OAAO,IAAI,gBAAgB,CAAA;AACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../../src/lend/providers/morpho/sdk.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAGnC,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAmB3B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAuCnD;AAyCD;;GAEG;AACH,UAAU,cAAc;IACtB,8CAA8C;IAC9C,QAAQ,EAAE,YAAY,CAAA;IACtB,6BAA6B;IAC7B,YAAY,EAAE,YAAY,CAAA;IAC1B,qDAAqD;IACrD,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAChC;AAmBD;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CA2E1E;AAED,UAAU,eAAe;IACvB,YAAY,EAAE,YAAY,CAAA;IAC1B,UAAU,EAAE,kBAAkB,CAAA;IAC9B,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAC5B;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,UAAU,EAAE,CAAC,CAqBvB;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,gBAAgB,EAAE,GAClC,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,GAAG,EACV,gBAAgB,EAAE,gBAAgB,GACjC,YAAY,CAsBd;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,CA6EzE"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../../src/lend/providers/morpho/sdk.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,MAAM,CAAA;AAEjD,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,YAAY,EAEb,MAAM,uBAAuB,CAAA;AAG9B;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAmB3B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAuCnD;AAmLD;;GAEG;AACH,UAAU,cAAc;IACtB,8CAA8C;IAC9C,QAAQ,EAAE,YAAY,CAAA;IACtB,6BAA6B;IAC7B,YAAY,EAAE,YAAY,CAAA;IAC1B,qDAAqD;IACrD,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAChC;AA0BD;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAgF1E;AAED,UAAU,eAAe;IACvB,YAAY,EAAE,YAAY,CAAA;IAC1B,UAAU,EAAE,kBAAkB,CAAA;IAC9B,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAC5B;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,UAAU,EAAE,CAAC,CAqBvB;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,gBAAgB,EAAE,GAClC,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,GAAG,EACV,gBAAgB,EAAE,gBAAgB,GACjC,YAAY,CAsBd;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,CA6EzE"}