@eulerxyz/euler-v2-sdk 0.1.0-beta

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 (399) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +115 -0
  3. package/dist/src/entities/Account.d.ts +242 -0
  4. package/dist/src/entities/Account.js +509 -0
  5. package/dist/src/entities/Account.js.map +1 -0
  6. package/dist/src/entities/ERC4626Vault.d.ts +56 -0
  7. package/dist/src/entities/ERC4626Vault.js +94 -0
  8. package/dist/src/entities/ERC4626Vault.js.map +1 -0
  9. package/dist/src/entities/EVault.d.ts +159 -0
  10. package/dist/src/entities/EVault.js +224 -0
  11. package/dist/src/entities/EVault.js.map +1 -0
  12. package/dist/src/entities/EulerEarn.d.ts +69 -0
  13. package/dist/src/entities/EulerEarn.js +89 -0
  14. package/dist/src/entities/EulerEarn.js.map +1 -0
  15. package/dist/src/entities/EulerLabels.d.ts +53 -0
  16. package/dist/src/entities/EulerLabels.js +2 -0
  17. package/dist/src/entities/EulerLabels.js.map +1 -0
  18. package/dist/src/entities/SecuritizeCollateralVault.d.ts +16 -0
  19. package/dist/src/entities/SecuritizeCollateralVault.js +22 -0
  20. package/dist/src/entities/SecuritizeCollateralVault.js.map +1 -0
  21. package/dist/src/entities/Wallet.d.ts +27 -0
  22. package/dist/src/entities/Wallet.js +21 -0
  23. package/dist/src/entities/Wallet.js.map +1 -0
  24. package/dist/src/index.d.ts +43 -0
  25. package/dist/src/index.js +46 -0
  26. package/dist/src/index.js.map +1 -0
  27. package/dist/src/plugins/batchSimulation.d.ts +34 -0
  28. package/dist/src/plugins/batchSimulation.js +83 -0
  29. package/dist/src/plugins/batchSimulation.js.map +1 -0
  30. package/dist/src/plugins/index.d.ts +4 -0
  31. package/dist/src/plugins/index.js +5 -0
  32. package/dist/src/plugins/index.js.map +1 -0
  33. package/dist/src/plugins/keyring/index.d.ts +1 -0
  34. package/dist/src/plugins/keyring/index.js +2 -0
  35. package/dist/src/plugins/keyring/index.js.map +1 -0
  36. package/dist/src/plugins/keyring/keyringPlugin.d.ts +41 -0
  37. package/dist/src/plugins/keyring/keyringPlugin.js +182 -0
  38. package/dist/src/plugins/keyring/keyringPlugin.js.map +1 -0
  39. package/dist/src/plugins/pyth/index.d.ts +1 -0
  40. package/dist/src/plugins/pyth/index.js +2 -0
  41. package/dist/src/plugins/pyth/index.js.map +1 -0
  42. package/dist/src/plugins/pyth/pythPlugin.d.ts +29 -0
  43. package/dist/src/plugins/pyth/pythPlugin.js +190 -0
  44. package/dist/src/plugins/pyth/pythPlugin.js.map +1 -0
  45. package/dist/src/plugins/types.d.ts +39 -0
  46. package/dist/src/plugins/types.js +16 -0
  47. package/dist/src/plugins/types.js.map +1 -0
  48. package/dist/src/sdk/buildSDK.d.ts +77 -0
  49. package/dist/src/sdk/buildSDK.js +366 -0
  50. package/dist/src/sdk/buildSDK.js.map +1 -0
  51. package/dist/src/sdk/defaultConfig.d.ts +26 -0
  52. package/dist/src/sdk/defaultConfig.js +68 -0
  53. package/dist/src/sdk/defaultConfig.js.map +1 -0
  54. package/dist/src/sdk/sdk.d.ts +73 -0
  55. package/dist/src/sdk/sdk.js +67 -0
  56. package/dist/src/sdk/sdk.js.map +1 -0
  57. package/dist/src/services/abiService/abiService.d.ts +13 -0
  58. package/dist/src/services/abiService/abiService.js +25 -0
  59. package/dist/src/services/abiService/abiService.js.map +1 -0
  60. package/dist/src/services/abiService/index.d.ts +2 -0
  61. package/dist/src/services/abiService/index.js +2 -0
  62. package/dist/src/services/abiService/index.js.map +1 -0
  63. package/dist/src/services/accountService/accountService.d.ts +44 -0
  64. package/dist/src/services/accountService/accountService.js +193 -0
  65. package/dist/src/services/accountService/accountService.js.map +1 -0
  66. package/dist/src/services/accountService/accountServiceConfig.d.ts +15 -0
  67. package/dist/src/services/accountService/accountServiceConfig.js +2 -0
  68. package/dist/src/services/accountService/accountServiceConfig.js.map +1 -0
  69. package/dist/src/services/accountService/adapters/accountOnchainAdapter/abis/accountLensAbi.d.ts +960 -0
  70. package/dist/src/services/accountService/adapters/accountOnchainAdapter/abis/accountLensAbi.js +1230 -0
  71. package/dist/src/services/accountService/adapters/accountOnchainAdapter/abis/accountLensAbi.js.map +1 -0
  72. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts +17 -0
  73. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js +158 -0
  74. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js.map +1 -0
  75. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountLensTypes.d.ts +48 -0
  76. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountLensTypes.js +2 -0
  77. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountLensTypes.js.map +1 -0
  78. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts +210 -0
  79. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js +287 -0
  80. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js.map +1 -0
  81. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountVaultsSubgraphAdapter.d.ts +22 -0
  82. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountVaultsSubgraphAdapter.js +80 -0
  83. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountVaultsSubgraphAdapter.js.map +1 -0
  84. package/dist/src/services/accountService/adapters/accountOutputNormalization.d.ts +8 -0
  85. package/dist/src/services/accountService/adapters/accountOutputNormalization.js +50 -0
  86. package/dist/src/services/accountService/adapters/accountOutputNormalization.js.map +1 -0
  87. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts +62 -0
  88. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js +287 -0
  89. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js.map +1 -0
  90. package/dist/src/services/accountService/adapters/accountVaultsSubgraphAdapter/accountVaultsSubgraphAdapter.d.ts +1 -0
  91. package/dist/src/services/accountService/adapters/accountVaultsSubgraphAdapter/accountVaultsSubgraphAdapter.js +2 -0
  92. package/dist/src/services/accountService/adapters/accountVaultsSubgraphAdapter/accountVaultsSubgraphAdapter.js.map +1 -0
  93. package/dist/src/services/accountService/index.d.ts +5 -0
  94. package/dist/src/services/accountService/index.js +4 -0
  95. package/dist/src/services/accountService/index.js.map +1 -0
  96. package/dist/src/services/deploymentService/deploymentService.d.ts +116 -0
  97. package/dist/src/services/deploymentService/deploymentService.js +44 -0
  98. package/dist/src/services/deploymentService/deploymentService.js.map +1 -0
  99. package/dist/src/services/deploymentService/index.d.ts +2 -0
  100. package/dist/src/services/deploymentService/index.js +2 -0
  101. package/dist/src/services/deploymentService/index.js.map +1 -0
  102. package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts +54 -0
  103. package/dist/src/services/eulerLabelsService/eulerLabelsService.js +178 -0
  104. package/dist/src/services/eulerLabelsService/eulerLabelsService.js.map +1 -0
  105. package/dist/src/services/eulerLabelsService/index.d.ts +2 -0
  106. package/dist/src/services/eulerLabelsService/index.js +2 -0
  107. package/dist/src/services/eulerLabelsService/index.js.map +1 -0
  108. package/dist/src/services/executionService/abis/eVaultAbi.d.ts +1948 -0
  109. package/dist/src/services/executionService/abis/eVaultAbi.js +2517 -0
  110. package/dist/src/services/executionService/abis/eVaultAbi.js.map +1 -0
  111. package/dist/src/services/executionService/abis/ethereumVaultConnectorAbi.d.ts +1070 -0
  112. package/dist/src/services/executionService/abis/ethereumVaultConnectorAbi.js +1387 -0
  113. package/dist/src/services/executionService/abis/ethereumVaultConnectorAbi.js.map +1 -0
  114. package/dist/src/services/executionService/abis/permit2PermitAbi.d.ts +52 -0
  115. package/dist/src/services/executionService/abis/permit2PermitAbi.js +36 -0
  116. package/dist/src/services/executionService/abis/permit2PermitAbi.js.map +1 -0
  117. package/dist/src/services/executionService/abis/swapVerifierAbi.d.ts +139 -0
  118. package/dist/src/services/executionService/abis/swapVerifierAbi.js +70 -0
  119. package/dist/src/services/executionService/abis/swapVerifierAbi.js.map +1 -0
  120. package/dist/src/services/executionService/abis/swapperAbi.d.ts +270 -0
  121. package/dist/src/services/executionService/abis/swapperAbi.js +152 -0
  122. package/dist/src/services/executionService/abis/swapperAbi.js.map +1 -0
  123. package/dist/src/services/executionService/executionService.d.ts +619 -0
  124. package/dist/src/services/executionService/executionService.js +2037 -0
  125. package/dist/src/services/executionService/executionService.js.map +1 -0
  126. package/dist/src/services/executionService/executionServiceTypes.d.ts +423 -0
  127. package/dist/src/services/executionService/executionServiceTypes.js +14 -0
  128. package/dist/src/services/executionService/executionServiceTypes.js.map +1 -0
  129. package/dist/src/services/executionService/index.d.ts +7 -0
  130. package/dist/src/services/executionService/index.js +7 -0
  131. package/dist/src/services/executionService/index.js.map +1 -0
  132. package/dist/src/services/feeFlowService/feeFlowService.d.ts +22 -0
  133. package/dist/src/services/feeFlowService/feeFlowService.js +239 -0
  134. package/dist/src/services/feeFlowService/feeFlowService.js.map +1 -0
  135. package/dist/src/services/feeFlowService/feeFlowServiceTypes.d.ts +42 -0
  136. package/dist/src/services/feeFlowService/feeFlowServiceTypes.js +2 -0
  137. package/dist/src/services/feeFlowService/feeFlowServiceTypes.js.map +1 -0
  138. package/dist/src/services/feeFlowService/index.d.ts +2 -0
  139. package/dist/src/services/feeFlowService/index.js +2 -0
  140. package/dist/src/services/feeFlowService/index.js.map +1 -0
  141. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/index.d.ts +2 -0
  142. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/index.js +2 -0
  143. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/index.js.map +1 -0
  144. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3Adapter.d.ts +21 -0
  145. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3Adapter.js +125 -0
  146. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3Adapter.js.map +1 -0
  147. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts +30 -0
  148. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.js +2 -0
  149. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.js.map +1 -0
  150. package/dist/src/services/intrinsicApyService/index.d.ts +4 -0
  151. package/dist/src/services/intrinsicApyService/index.js +3 -0
  152. package/dist/src/services/intrinsicApyService/index.js.map +1 -0
  153. package/dist/src/services/intrinsicApyService/intrinsicApyService.d.ts +28 -0
  154. package/dist/src/services/intrinsicApyService/intrinsicApyService.js +42 -0
  155. package/dist/src/services/intrinsicApyService/intrinsicApyService.js.map +1 -0
  156. package/dist/src/services/oracleAdapterService/index.d.ts +1 -0
  157. package/dist/src/services/oracleAdapterService/index.js +2 -0
  158. package/dist/src/services/oracleAdapterService/index.js.map +1 -0
  159. package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts +40 -0
  160. package/dist/src/services/oracleAdapterService/oracleAdapterService.js +65 -0
  161. package/dist/src/services/oracleAdapterService/oracleAdapterService.js.map +1 -0
  162. package/dist/src/services/priceService/backendClient.d.ts +70 -0
  163. package/dist/src/services/priceService/backendClient.js +108 -0
  164. package/dist/src/services/priceService/backendClient.js.map +1 -0
  165. package/dist/src/services/priceService/index.d.ts +2 -0
  166. package/dist/src/services/priceService/index.js +3 -0
  167. package/dist/src/services/priceService/index.js.map +1 -0
  168. package/dist/src/services/priceService/priceService.d.ts +133 -0
  169. package/dist/src/services/priceService/priceService.js +499 -0
  170. package/dist/src/services/priceService/priceService.js.map +1 -0
  171. package/dist/src/services/priceService/utilsLensPriceAbi.d.ts +60 -0
  172. package/dist/src/services/priceService/utilsLensPriceAbi.js +31 -0
  173. package/dist/src/services/priceService/utilsLensPriceAbi.js.map +1 -0
  174. package/dist/src/services/providerService/index.d.ts +2 -0
  175. package/dist/src/services/providerService/index.js +2 -0
  176. package/dist/src/services/providerService/index.js.map +1 -0
  177. package/dist/src/services/providerService/providerService.d.ts +11 -0
  178. package/dist/src/services/providerService/providerService.js +61 -0
  179. package/dist/src/services/providerService/providerService.js.map +1 -0
  180. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/index.d.ts +2 -0
  181. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/index.js +2 -0
  182. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/index.js.map +1 -0
  183. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts +48 -0
  184. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js +391 -0
  185. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.js.map +1 -0
  186. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/index.d.ts +2 -0
  187. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/index.js +2 -0
  188. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/index.js.map +1 -0
  189. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts +23 -0
  190. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js +296 -0
  191. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js.map +1 -0
  192. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +110 -0
  193. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.js +2 -0
  194. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.js.map +1 -0
  195. package/dist/src/services/rewardsService/index.d.ts +5 -0
  196. package/dist/src/services/rewardsService/index.js +4 -0
  197. package/dist/src/services/rewardsService/index.js.map +1 -0
  198. package/dist/src/services/rewardsService/rewardsService.d.ts +34 -0
  199. package/dist/src/services/rewardsService/rewardsService.js +298 -0
  200. package/dist/src/services/rewardsService/rewardsService.js.map +1 -0
  201. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +270 -0
  202. package/dist/src/services/rewardsService/rewardsServiceTypes.js +2 -0
  203. package/dist/src/services/rewardsService/rewardsServiceTypes.js.map +1 -0
  204. package/dist/src/services/simulationService/index.d.ts +2 -0
  205. package/dist/src/services/simulationService/index.js +2 -0
  206. package/dist/src/services/simulationService/index.js.map +1 -0
  207. package/dist/src/services/simulationService/simulationService.d.ts +88 -0
  208. package/dist/src/services/simulationService/simulationService.js +497 -0
  209. package/dist/src/services/simulationService/simulationService.js.map +1 -0
  210. package/dist/src/services/swapService/index.d.ts +3 -0
  211. package/dist/src/services/swapService/index.js +3 -0
  212. package/dist/src/services/swapService/index.js.map +1 -0
  213. package/dist/src/services/swapService/swapService.d.ts +121 -0
  214. package/dist/src/services/swapService/swapService.js +329 -0
  215. package/dist/src/services/swapService/swapService.js.map +1 -0
  216. package/dist/src/services/swapService/swapServiceTypes.d.ts +130 -0
  217. package/dist/src/services/swapService/swapServiceTypes.js +16 -0
  218. package/dist/src/services/swapService/swapServiceTypes.js.map +1 -0
  219. package/dist/src/services/swapService/swapVerifierAbi.d.ts +139 -0
  220. package/dist/src/services/swapService/swapVerifierAbi.js +178 -0
  221. package/dist/src/services/swapService/swapVerifierAbi.js.map +1 -0
  222. package/dist/src/services/tokenlistService/index.d.ts +3 -0
  223. package/dist/src/services/tokenlistService/index.js +2 -0
  224. package/dist/src/services/tokenlistService/index.js.map +1 -0
  225. package/dist/src/services/tokenlistService/tokenlistService.d.ts +31 -0
  226. package/dist/src/services/tokenlistService/tokenlistService.js +56 -0
  227. package/dist/src/services/tokenlistService/tokenlistService.js.map +1 -0
  228. package/dist/src/services/tokenlistService/tokenlistServiceTypes.d.ts +33 -0
  229. package/dist/src/services/tokenlistService/tokenlistServiceTypes.js +2 -0
  230. package/dist/src/services/tokenlistService/tokenlistServiceTypes.js.map +1 -0
  231. package/dist/src/services/vaults/IVaultService.d.ts +47 -0
  232. package/dist/src/services/vaults/IVaultService.js +2 -0
  233. package/dist/src/services/vaults/IVaultService.js.map +1 -0
  234. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/abis/vaultLensAbi.d.ts +1280 -0
  235. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/abis/vaultLensAbi.js +1640 -0
  236. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/abis/vaultLensAbi.js.map +1 -0
  237. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.d.ts +97 -0
  238. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.js +9 -0
  239. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.js.map +1 -0
  240. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts +141 -0
  241. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js +189 -0
  242. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js.map +1 -0
  243. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts +10 -0
  244. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js +454 -0
  245. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js.map +1 -0
  246. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts +25 -0
  247. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js +214 -0
  248. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js.map +1 -0
  249. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts +5 -0
  250. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +795 -0
  251. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -0
  252. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.d.ts +146 -0
  253. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.js +2 -0
  254. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.js.map +1 -0
  255. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts +74 -0
  256. package/dist/src/services/vaults/eVaultService/eVaultService.js +362 -0
  257. package/dist/src/services/vaults/eVaultService/eVaultService.js.map +1 -0
  258. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts +15 -0
  259. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.js +2 -0
  260. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.js.map +1 -0
  261. package/dist/src/services/vaults/eVaultService/index.d.ts +5 -0
  262. package/dist/src/services/vaults/eVaultService/index.js +4 -0
  263. package/dist/src/services/vaults/eVaultService/index.js.map +1 -0
  264. package/dist/src/services/vaults/eulerEarnService/adapters/abis/eulerEarnVaultLensAbi.d.ts +468 -0
  265. package/dist/src/services/vaults/eulerEarnService/adapters/abis/eulerEarnVaultLensAbi.js +600 -0
  266. package/dist/src/services/vaults/eulerEarnService/adapters/abis/eulerEarnVaultLensAbi.js.map +1 -0
  267. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts +10 -0
  268. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js +151 -0
  269. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js.map +1 -0
  270. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnLensTypes.d.ts +55 -0
  271. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnLensTypes.js +2 -0
  272. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnLensTypes.js.map +1 -0
  273. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts +109 -0
  274. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +238 -0
  275. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -0
  276. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts +100 -0
  277. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +373 -0
  278. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -0
  279. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts +77 -0
  280. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js +298 -0
  281. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js.map +1 -0
  282. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts +13 -0
  283. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.js +2 -0
  284. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.js.map +1 -0
  285. package/dist/src/services/vaults/eulerEarnService/index.d.ts +5 -0
  286. package/dist/src/services/vaults/eulerEarnService/index.js +4 -0
  287. package/dist/src/services/vaults/eulerEarnService/index.js.map +1 -0
  288. package/dist/src/services/vaults/index.d.ts +1 -0
  289. package/dist/src/services/vaults/index.js +2 -0
  290. package/dist/src/services/vaults/index.js.map +1 -0
  291. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/erc4626EvcCollateralSecuritizeAbi.d.ts +22 -0
  292. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/erc4626EvcCollateralSecuritizeAbi.js +18 -0
  293. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/erc4626EvcCollateralSecuritizeAbi.js.map +1 -0
  294. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/utilsLensAbi.d.ts +64 -0
  295. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/utilsLensAbi.js +30 -0
  296. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/utilsLensAbi.js.map +1 -0
  297. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts +4 -0
  298. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js +53 -0
  299. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js.map +1 -0
  300. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultLensTypes.d.ts +16 -0
  301. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultLensTypes.js +2 -0
  302. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultLensTypes.js.map +1 -0
  303. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts +37 -0
  304. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js +113 -0
  305. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js.map +1 -0
  306. package/dist/src/services/vaults/securitizeVaultService/index.d.ts +2 -0
  307. package/dist/src/services/vaults/securitizeVaultService/index.js +3 -0
  308. package/dist/src/services/vaults/securitizeVaultService/index.js.map +1 -0
  309. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts +52 -0
  310. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js +190 -0
  311. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js.map +1 -0
  312. package/dist/src/services/vaults/vaultMetaService/adapters/IVaultTypeAdapter.d.ts +29 -0
  313. package/dist/src/services/vaults/vaultMetaService/adapters/IVaultTypeAdapter.js +2 -0
  314. package/dist/src/services/vaults/vaultMetaService/adapters/IVaultTypeAdapter.js.map +1 -0
  315. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeSubgraphAdapter.d.ts +18 -0
  316. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeSubgraphAdapter.js +82 -0
  317. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeSubgraphAdapter.js.map +1 -0
  318. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts +35 -0
  319. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.js +154 -0
  320. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.js.map +1 -0
  321. package/dist/src/services/vaults/vaultMetaService/index.d.ts +4 -0
  322. package/dist/src/services/vaults/vaultMetaService/index.js +4 -0
  323. package/dist/src/services/vaults/vaultMetaService/index.js.map +1 -0
  324. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts +71 -0
  325. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js +283 -0
  326. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js.map +1 -0
  327. package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts +20 -0
  328. package/dist/src/services/walletService/adapters/walletOnchainAdapter.js +222 -0
  329. package/dist/src/services/walletService/adapters/walletOnchainAdapter.js.map +1 -0
  330. package/dist/src/services/walletService/index.d.ts +3 -0
  331. package/dist/src/services/walletService/index.js +2 -0
  332. package/dist/src/services/walletService/index.js.map +1 -0
  333. package/dist/src/services/walletService/walletService.d.ts +19 -0
  334. package/dist/src/services/walletService/walletService.js +37 -0
  335. package/dist/src/services/walletService/walletService.js.map +1 -0
  336. package/dist/src/utils/accountComputations.d.ts +96 -0
  337. package/dist/src/utils/accountComputations.js +297 -0
  338. package/dist/src/utils/accountComputations.js.map +1 -0
  339. package/dist/src/utils/batch.d.ts +2 -0
  340. package/dist/src/utils/batch.js +51 -0
  341. package/dist/src/utils/batch.js.map +1 -0
  342. package/dist/src/utils/buildQuery.d.ts +19 -0
  343. package/dist/src/utils/buildQuery.js +72 -0
  344. package/dist/src/utils/buildQuery.js.map +1 -0
  345. package/dist/src/utils/callBundler.d.ts +32 -0
  346. package/dist/src/utils/callBundler.js +93 -0
  347. package/dist/src/utils/callBundler.js.map +1 -0
  348. package/dist/src/utils/decodeSmartContractErrors.d.ts +13 -0
  349. package/dist/src/utils/decodeSmartContractErrors.js +311 -0
  350. package/dist/src/utils/decodeSmartContractErrors.js.map +1 -0
  351. package/dist/src/utils/entityDiagnostics.d.ts +28 -0
  352. package/dist/src/utils/entityDiagnostics.js +72 -0
  353. package/dist/src/utils/entityDiagnostics.js.map +1 -0
  354. package/dist/src/utils/eulerErrorSelectors.d.ts +226 -0
  355. package/dist/src/utils/eulerErrorSelectors.js +227 -0
  356. package/dist/src/utils/eulerErrorSelectors.js.map +1 -0
  357. package/dist/src/utils/irm.d.ts +60 -0
  358. package/dist/src/utils/irm.js +213 -0
  359. package/dist/src/utils/irm.js.map +1 -0
  360. package/dist/src/utils/normalization.d.ts +30 -0
  361. package/dist/src/utils/normalization.js +79 -0
  362. package/dist/src/utils/normalization.js.map +1 -0
  363. package/dist/src/utils/oracle.d.ts +107 -0
  364. package/dist/src/utils/oracle.js +437 -0
  365. package/dist/src/utils/oracle.js.map +1 -0
  366. package/dist/src/utils/parsing.d.ts +29 -0
  367. package/dist/src/utils/parsing.js +199 -0
  368. package/dist/src/utils/parsing.js.map +1 -0
  369. package/dist/src/utils/queryNames.d.ts +28 -0
  370. package/dist/src/utils/queryNames.js +2 -0
  371. package/dist/src/utils/queryNames.js.map +1 -0
  372. package/dist/src/utils/stateOverrides/accessList.d.ts +14 -0
  373. package/dist/src/utils/stateOverrides/accessList.js +24 -0
  374. package/dist/src/utils/stateOverrides/accessList.js.map +1 -0
  375. package/dist/src/utils/stateOverrides/approvalOverrides.d.ts +20 -0
  376. package/dist/src/utils/stateOverrides/approvalOverrides.js +111 -0
  377. package/dist/src/utils/stateOverrides/approvalOverrides.js.map +1 -0
  378. package/dist/src/utils/stateOverrides/balanceOverrides.d.ts +13 -0
  379. package/dist/src/utils/stateOverrides/balanceOverrides.js +145 -0
  380. package/dist/src/utils/stateOverrides/balanceOverrides.js.map +1 -0
  381. package/dist/src/utils/stateOverrides/getStateOverrides.d.ts +31 -0
  382. package/dist/src/utils/stateOverrides/getStateOverrides.js +86 -0
  383. package/dist/src/utils/stateOverrides/getStateOverrides.js.map +1 -0
  384. package/dist/src/utils/stateOverrides/index.d.ts +4 -0
  385. package/dist/src/utils/stateOverrides/index.js +5 -0
  386. package/dist/src/utils/stateOverrides/index.js.map +1 -0
  387. package/dist/src/utils/stateOverrides/mergeStateOverrides.d.ts +6 -0
  388. package/dist/src/utils/stateOverrides/mergeStateOverrides.js +40 -0
  389. package/dist/src/utils/stateOverrides/mergeStateOverrides.js.map +1 -0
  390. package/dist/src/utils/stateOverrides/types.d.ts +5 -0
  391. package/dist/src/utils/stateOverrides/types.js +2 -0
  392. package/dist/src/utils/stateOverrides/types.js.map +1 -0
  393. package/dist/src/utils/subAccounts.d.ts +6 -0
  394. package/dist/src/utils/subAccounts.js +24 -0
  395. package/dist/src/utils/subAccounts.js.map +1 -0
  396. package/dist/src/utils/types.d.ts +20 -0
  397. package/dist/src/utils/types.js +8 -0
  398. package/dist/src/utils/types.js.map +1 -0
  399. package/package.json +67 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Euler
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,115 @@
1
+ # Euler V2 SDK
2
+
3
+ # NOTE this is a beta version, proceed with caution.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install euler-v2-sdk
9
+ ```
10
+
11
+ ## Example Usage (Multiply + Simulation)
12
+
13
+ ```typescript
14
+ import { buildEulerSDK, getSubAccountAddress } from "euler-v2-sdk";
15
+ import { mainnet } from "viem/chains";
16
+ import { parseUnits } from "viem";
17
+
18
+ const sdk = await buildEulerSDK({
19
+ rpcUrls: {
20
+ [mainnet.id]: "https://your-rpc-url",
21
+ },
22
+ });
23
+
24
+ const owner = "0xYourEOA";
25
+ const subAccount = getSubAccountAddress(owner, 1);
26
+
27
+ const account = await sdk.accountService.fetchAccount(mainnet.id, owner, {
28
+ populateVaults: false,
29
+ });
30
+
31
+ const quotes = await sdk.swapService.getDepositQuote({
32
+ chainId: mainnet.id,
33
+ fromVault: "0xLiabilityVault",
34
+ toVault: "0xLongVault",
35
+ fromAccount: subAccount,
36
+ toAccount: subAccount,
37
+ fromAsset: "0xLiabilityAsset",
38
+ toAsset: "0xLongAsset",
39
+ amount: parseUnits("50", 6),
40
+ origin: owner,
41
+ slippage: 0.5,
42
+ deadline: Math.floor(Date.now() / 1000) + 1800,
43
+ });
44
+
45
+ const plan = sdk.executionService.planMultiplyWithSwap({
46
+ account,
47
+ collateralVault: "0xCollateralVault",
48
+ collateralAmount: parseUnits("100", 6),
49
+ collateralAsset: "0xCollateralAsset",
50
+ swapQuote: quotes[0]!,
51
+ });
52
+
53
+ const simulation = await sdk.simulationService.simulateTransactionPlan(
54
+ mainnet.id,
55
+ owner,
56
+ plan,
57
+ { stateOverrides: true }
58
+ );
59
+
60
+ // Use simulated account and vaults state in the UI.
61
+ // Use simulation.canExecute or errors to decide whether and how to execute this plan in your app.
62
+ ```
63
+
64
+ ## What This SDK Is For
65
+
66
+ `euler-v2-sdk` provides everything needed to interact with Euler V2 lending contracts:
67
+
68
+ - fetching account, vault, wallet, and market data
69
+ - planning and composing EVC transaction batches
70
+ - resolving approvals (approve/Permit2 paths)
71
+ - simulating transactions before execution
72
+ - handling swaps, pricing, rewards, labels, and deployed addresses
73
+ - fetching oracle adapter metadata/checks (provider, methodology, checks)
74
+
75
+ The SDK is built with dependency injection, so you can use `buildEulerSDK()` for a default setup, run individual services in isolation, or modify the behavior with your custom implementations.
76
+
77
+ ## Configuration
78
+
79
+ Only `rpcUrls` is required. All other options (pricing backend, swap API, rewards, subgraphs, plugins, etc.) have sensible defaults or are optional. See the full [Configuration Reference](./docs/configuration.md) for all options and defaults.
80
+
81
+ ## Docs Table of Contents
82
+
83
+ All docs are in [`./docs`](./docs).
84
+
85
+ 1. [Configuration](./docs/configuration.md) - All `buildEulerSDK()` options, defaults, and service overrides.
86
+ 2. [Basic Usage](./docs/basic-usage.md) - Fast setup and common account/vault usage patterns.
87
+ 3. [SDK Architecture Overview](./docs/sdk-architecture-overview.md) - High-level architecture, dependency injection model, and composition options.
88
+ 4. [Services](./docs/services.md) - Service map, top-level entry points, and lower-level support services.
89
+ 5. [Execution Service](./docs/execution-service.md) - `encodeX` vs `planX`, approvals flow, `mergePlans`, and `describeBatch`.
90
+ 6. [Simulations and State Overrides](./docs/simulations-and-state-overrides.md) - Plan simulation flow, validation output, and state override utilities.
91
+ 7. [Swaps](./docs/swaps.md) - Swap quote APIs and how swap payloads fit into plans.
92
+ 8. [Pricing System](./docs/pricing-system.md) - Price data pipeline, fallback behavior, and pricing integration points.
93
+ 9. [Data Architecture](./docs/data-architecture.md) - Entities/adapters/services layering, population model, and data flow.
94
+ 10. [Cross-Service Data Population](./docs/cross-service-data-population.md) - How services enrich entities with prices, rewards, labels, and nested vaults.
95
+ 11. [Account Computed Properties](./docs/account-computed-properties.md) - Health factor/LTV/net-value computed fields and data prerequisites.
96
+ 12. [Caching External Data Queries](./docs/caching-external-data-queries.md) - `query*` decoration pattern for caching/logging/profiling.
97
+ 13. [Plugins](./docs/plugins.md) - Plugin system for read-path and plan-path extensions.
98
+ 14. [Labels](./docs/labels.md) - Label metadata model and usage.
99
+ 15. [Decoding Smart Contract Errors](./docs/decode-smart-contract-errors.md) - Revert decoding utilities for better error handling.
100
+ 16. [Entity Diagnostics](./docs/entity-diagnostics.md) - Sidecar metadata for data normalization, fallbacks, and per-field warnings.
101
+
102
+ ## Examples
103
+
104
+ Runnable examples are in [`./examples`](./examples), including end-to-end execution flows and simulations against a fork.
105
+
106
+ Comparison, parity-check, and other test-oriented scripts and reports live under [`./test/parity`](./test/parity).
107
+
108
+ ## Release Process
109
+
110
+ This package is published via GitHub Actions, not by running `npm publish` locally.
111
+
112
+ 1. Open a PR targeting `main` that bumps the version in [`package.json`](./package.json).
113
+ 2. Update [`CHANGELOG.md`](./CHANGELOG.md) and refresh [`RELEASE_NOTES.md`](./RELEASE_NOTES.md) in the same PR.
114
+ 3. Let the `Validate euler-v2-sdk PR` workflow pass. It enforces that the package version changed and runs `release:check`.
115
+ 4. Merge the PR. The `Release euler-v2-sdk` workflow runs automatically on the merge commit, publishes the package to npm, creates the `euler-v2-sdk-v<version>` tag, and creates a GitHub release.
@@ -0,0 +1,242 @@
1
+ import { type Address } from "viem";
2
+ import type { VaultEntity } from "../services/vaults/vaultMetaService/index.js";
3
+ import type { IVaultMetaService } from "../services/vaults/vaultMetaService/index.js";
4
+ import type { VaultFetchOptions } from "../services/vaults/index.js";
5
+ import type { PriceWad } from "./ERC4626Vault.js";
6
+ import type { IPriceService } from "../services/priceService/index.js";
7
+ import type { IRewardsService, UserReward } from "../services/rewardsService/index.js";
8
+ import type { DataIssue } from "../utils/entityDiagnostics.js";
9
+ import type { SubAccountRoe } from "../utils/accountComputations.js";
10
+ export type AddressPrefix = `0x${string}`;
11
+ /** Base interface for vault-like values (has `address`). Used as generic constraint so custom vault entity types work. */
12
+ export interface IHasVaultAddress {
13
+ address: Address;
14
+ }
15
+ /** Default vault entity type (EVault | EulerEarn | SecuritizeCollateralVault). Use as IVaultEntity in the SDK. */
16
+ export type IVaultEntity = VaultEntity;
17
+ export interface AccountPopulated {
18
+ vaults: boolean;
19
+ marketPrices: boolean;
20
+ userRewards: boolean;
21
+ }
22
+ export interface AssetValue {
23
+ liquidation: bigint;
24
+ borrowing: bigint;
25
+ oracleMid: bigint;
26
+ }
27
+ export type DaysToLiquidation = "Infinity" | "MoreThanAYear" | number;
28
+ /** Vault is only ever a vault entity type (EVault, EulerEarn, SecuritizeCollateralVault, or custom). Use generic = never for unresolved (vault omitted). */
29
+ export interface AccountLiquidityCollateral<TVaultEntity extends IHasVaultAddress = never> {
30
+ address: Address;
31
+ vault?: TVaultEntity;
32
+ value: AssetValue;
33
+ /** USD price per underlying asset (18 dec WAD). Populated by `populateMarketPrices`. */
34
+ marketPriceUsd?: PriceWad;
35
+ /** Collateral value in USD (18 dec). Computed from `value.oracleMid * uoaUsdRate / 1e18`. */
36
+ valueUsd?: bigint;
37
+ }
38
+ /** Raw liquidity data shape (returned by data sources). */
39
+ export interface IAccountLiquidity<TVaultEntity extends IHasVaultAddress = never> {
40
+ vaultAddress: Address;
41
+ vault?: TVaultEntity;
42
+ unitOfAccount: Address;
43
+ daysToLiquidation: DaysToLiquidation;
44
+ liabilityValue: AssetValue;
45
+ totalCollateralValue: AssetValue;
46
+ collaterals: AccountLiquidityCollateral<TVaultEntity>[];
47
+ /** Liability value in USD (18 dec). Populated by `populateMarketPrices`. */
48
+ liabilityValueUsd?: bigint;
49
+ /** Total collateral value in USD (18 dec). Populated by `populateMarketPrices`. */
50
+ totalCollateralValueUsd?: bigint;
51
+ /** Per-collateral liquidation price multipliers (WAD). Computed getter on AccountLiquidity class. */
52
+ readonly collateralLiquidationPrices?: Record<Address, bigint>;
53
+ /** Borrow liquidation price multiplier (WAD). `> 1` = safe margin. Computed getter on AccountLiquidity class. */
54
+ readonly borrowLiquidationPrice?: bigint;
55
+ }
56
+ /** AccountLiquidity with computed getters for liquidation prices. */
57
+ export declare class AccountLiquidity<TVaultEntity extends IHasVaultAddress = never> implements IAccountLiquidity<TVaultEntity> {
58
+ vaultAddress: Address;
59
+ vault?: TVaultEntity;
60
+ unitOfAccount: Address;
61
+ daysToLiquidation: DaysToLiquidation;
62
+ liabilityValue: AssetValue;
63
+ totalCollateralValue: AssetValue;
64
+ collaterals: AccountLiquidityCollateral<TVaultEntity>[];
65
+ liabilityValueUsd?: bigint;
66
+ totalCollateralValueUsd?: bigint;
67
+ constructor(data: IAccountLiquidity<TVaultEntity>);
68
+ /** Per-collateral liquidation price multipliers (WAD). */
69
+ get collateralLiquidationPrices(): Record<Address, bigint>;
70
+ /** Borrow liquidation price multiplier (WAD). `> 1` = safe margin. */
71
+ get borrowLiquidationPrice(): bigint | undefined;
72
+ }
73
+ export interface IAccountPosition<TVaultEntity extends IHasVaultAddress = never> {
74
+ account: Address;
75
+ vaultAddress: Address;
76
+ /** Resolved vault entity only (never Address). Omitted when unresolved. */
77
+ vault?: TVaultEntity;
78
+ asset: Address;
79
+ shares: bigint;
80
+ assets: bigint;
81
+ borrowed: bigint;
82
+ isController: boolean;
83
+ isCollateral: boolean;
84
+ balanceForwarderEnabled: boolean;
85
+ liquidity?: IAccountLiquidity<TVaultEntity>;
86
+ /** USD price per underlying asset (18 dec WAD). Populated by `populateMarketPrices`. */
87
+ marketPriceUsd?: PriceWad;
88
+ /** Supplied value in USD (18 dec). `assets * marketPriceUsd / 10^decimals`. */
89
+ suppliedValueUsd?: bigint;
90
+ /** Borrowed value in USD (18 dec). `borrowed * marketPriceUsd / 10^decimals`. */
91
+ borrowedValueUsd?: bigint;
92
+ /** Borrow liquidation price in USD (18 dec WAD). Computed getter on positions. */
93
+ readonly borrowLiquidationPriceUsd?: bigint;
94
+ /** Per-collateral liquidation price in USD (18 dec WAD). Computed getter on positions. */
95
+ readonly collateralLiquidationPricesUsd?: Record<Address, bigint>;
96
+ /** Per-collateral liquidation price in USD (18 dec WAD). Computed getter on positions. (Legacy typo alias) */
97
+ readonly collateralLiqiidationPricesUsd?: Record<Address, bigint>;
98
+ }
99
+ export declare class AccountPosition<TVaultEntity extends IHasVaultAddress = never> implements IAccountPosition<TVaultEntity> {
100
+ account: Address;
101
+ vaultAddress: Address;
102
+ vault?: TVaultEntity;
103
+ asset: Address;
104
+ shares: bigint;
105
+ assets: bigint;
106
+ borrowed: bigint;
107
+ isController: boolean;
108
+ isCollateral: boolean;
109
+ balanceForwarderEnabled: boolean;
110
+ liquidity?: IAccountLiquidity<TVaultEntity>;
111
+ marketPriceUsd?: PriceWad;
112
+ suppliedValueUsd?: bigint;
113
+ borrowedValueUsd?: bigint;
114
+ constructor(data: IAccountPosition<TVaultEntity>);
115
+ get borrowLiquidationPriceUsd(): bigint | undefined;
116
+ get collateralLiquidationPricesUsd(): Record<Address, bigint> | undefined;
117
+ get collateralLiqiidationPricesUsd(): Record<Address, bigint> | undefined;
118
+ }
119
+ /** Raw sub-account data shape (returned by data sources). */
120
+ export interface ISubAccount<TVaultEntity extends IHasVaultAddress = never> {
121
+ timestamp: number;
122
+ account: Address;
123
+ owner: Address;
124
+ lastAccountStatusCheckTimestamp: number;
125
+ /** Always addresses; only positions and liquidity collaterals get resolved vault entities. */
126
+ enabledControllers: Address[];
127
+ /** Always addresses; only positions and liquidity collaterals get resolved vault entities. */
128
+ enabledCollaterals: Address[];
129
+ positions: IAccountPosition<TVaultEntity>[];
130
+ /** Health factor (WAD). `> 1e18` = healthy. Computed getter on SubAccount class. */
131
+ readonly healthFactor?: bigint;
132
+ /** Current LTV (WAD). `liabilityValue / totalCollateralValue`. Computed getter on SubAccount class. */
133
+ readonly currentLTV?: bigint;
134
+ /** Weighted-average liquidation LTV threshold (WAD). Computed getter on SubAccount class. */
135
+ readonly liquidationLTV?: bigint;
136
+ /** Leverage multiplier (WAD, 1e18 = 1x). Requires USD data. Computed getter on SubAccount class. */
137
+ readonly multiplier?: bigint;
138
+ /** Total collateral value in USD (18 dec). Requires USD data. Computed getter on SubAccount class. */
139
+ readonly totalCollateralValueUsd?: bigint;
140
+ /** Liability value in USD (18 dec). Requires USD data. Computed getter on SubAccount class. */
141
+ readonly liabilityValueUsd?: bigint;
142
+ /** Net value in USD (18 dec): sum(supplied) - sum(borrowed). Computed getter on SubAccount class. */
143
+ readonly netValueUsd?: bigint;
144
+ /** ROE breakdown (decimal fractions). Requires populated vaults + market prices. Computed getter on SubAccount class. */
145
+ readonly roe?: SubAccountRoe;
146
+ }
147
+ /** SubAccount with computed getters for risk metrics. */
148
+ export declare class SubAccount<TVaultEntity extends IHasVaultAddress = never> implements ISubAccount<TVaultEntity> {
149
+ timestamp: number;
150
+ account: Address;
151
+ owner: Address;
152
+ lastAccountStatusCheckTimestamp: number;
153
+ enabledControllers: Address[];
154
+ enabledCollaterals: Address[];
155
+ positions: AccountPosition<TVaultEntity>[];
156
+ constructor(data: ISubAccount<TVaultEntity>);
157
+ /** Health factor (WAD). `> 1e18` = healthy. */
158
+ get healthFactor(): bigint | undefined;
159
+ /** Current LTV (WAD). `liabilityValue / totalCollateralValue`. */
160
+ get currentLTV(): bigint | undefined;
161
+ /** Weighted-average liquidation LTV threshold (WAD). */
162
+ get liquidationLTV(): bigint | undefined;
163
+ /** Leverage multiplier (WAD, 1e18 = 1x). Requires USD data. */
164
+ get multiplier(): bigint | undefined;
165
+ /** Total collateral value in USD (18 dec). Requires USD data. */
166
+ get totalCollateralValueUsd(): bigint | undefined;
167
+ /** Liability value in USD (18 dec). Requires USD data. */
168
+ get liabilityValueUsd(): bigint | undefined;
169
+ /** Net value in USD (18 dec): sum(supplied) - sum(borrowed). */
170
+ get netValueUsd(): bigint | undefined;
171
+ /** ROE breakdown (decimal fractions, 0.05 = 5%). Requires populated vaults + market prices. */
172
+ get roe(): SubAccountRoe | undefined;
173
+ }
174
+ export type SubAccountsMap<TVaultEntity extends IHasVaultAddress = never> = Partial<Record<Address, SubAccount<TVaultEntity>>>;
175
+ export interface IAccount<TVaultEntity extends IHasVaultAddress = never> {
176
+ chainId: number;
177
+ owner: Address;
178
+ subAccounts: Partial<Record<Address, ISubAccount<TVaultEntity>>>;
179
+ isLockdownMode?: boolean;
180
+ isPermitDisabledMode?: boolean;
181
+ populated?: Partial<AccountPopulated>;
182
+ }
183
+ export declare class Account<TVaultEntity extends IHasVaultAddress = never> implements IAccount<TVaultEntity> {
184
+ chainId: number;
185
+ owner: Address;
186
+ isLockdownMode: boolean;
187
+ isPermitDisabledMode: boolean;
188
+ subAccounts: SubAccountsMap<TVaultEntity>;
189
+ /** Per-user unclaimed rewards from Merkl/Brevis. Populated by `populateUserRewards`. */
190
+ userRewards?: UserReward[];
191
+ populated: AccountPopulated;
192
+ constructor(account: IAccount<TVaultEntity>);
193
+ getSubAccount(account: Address): SubAccount<TVaultEntity> | undefined;
194
+ getSubAccountById(id: number): SubAccount<TVaultEntity> | undefined;
195
+ getPosition(account: Address, vault: Address): AccountPosition<TVaultEntity> | undefined;
196
+ /**
197
+ * Returns true if the given vault is enabled as collateral for the sub-account.
198
+ * Returns false when sub-account is not available.
199
+ */
200
+ isCollateralEnabled(subAccountAddress: Address, vault: Address): boolean;
201
+ /**
202
+ * Returns true if the given vault is enabled as controller for the sub-account.
203
+ * Returns false when sub-account is not available.
204
+ */
205
+ isControllerEnabled(subAccountAddress: Address, vault: Address): boolean;
206
+ /**
207
+ * Returns the current controller vault address for the sub-account (there can only be one).
208
+ * Returns undefined when sub-account is not available or has no controller enabled.
209
+ */
210
+ getCurrentController(subAccountAddress: Address): Address | undefined;
211
+ /**
212
+ * Fetches vault entities from the service and maps them onto positions and liquidity collaterals.
213
+ * Mutates in place and returns diagnostics from vault fetching/enrichment.
214
+ */
215
+ populateVaults<TResolved extends IHasVaultAddress>(vaultMetaService: IVaultMetaService<TResolved>, options?: VaultFetchOptions): Promise<DataIssue[]>;
216
+ /** Maps fetched vault entities onto positions and liquidity collaterals. Mutates in place. */
217
+ mapVaultsToPositions<TResolved extends IHasVaultAddress>(vaults: Array<TResolved | undefined>): Account<TResolved>;
218
+ /**
219
+ * Populates USD market prices on positions and liquidity data.
220
+ * Requires `populateVaults` to have been called first (vault entities must be resolved).
221
+ * Mutates in place and returns diagnostics.
222
+ */
223
+ populateMarketPrices(priceService: IPriceService): Promise<DataIssue[]>;
224
+ /** Sum of `suppliedValueUsd` across all positions. `undefined` if no USD data populated. */
225
+ get totalSuppliedValueUsd(): bigint | undefined;
226
+ /** Sum of `borrowedValueUsd` across all positions. `undefined` if no USD data populated. */
227
+ get totalBorrowedValueUsd(): bigint | undefined;
228
+ /** Net asset value in USD: totalSupplied - totalBorrowed. `undefined` if no USD data populated. */
229
+ get netAssetValueUsd(): bigint | undefined;
230
+ /** Total unclaimed rewards value in USD (18 dec). `undefined` if no user rewards populated. */
231
+ get totalRewardsValueUsd(): bigint | undefined;
232
+ /**
233
+ * Fetches per-user unclaimed rewards from Merkl and Brevis providers.
234
+ * Populates `this.userRewards`.
235
+ */
236
+ populateUserRewards(rewardsService: IRewardsService): Promise<DataIssue[]>;
237
+ /**
238
+ * Replaces subAccounts with a map built from the given sub-accounts (keyed by account address).
239
+ * Use in examples or when building account state from fetched sub-accounts.
240
+ */
241
+ updateSubAccounts(...subAccounts: SubAccount<TVaultEntity>[]): void;
242
+ }