@eulerxyz/euler-v2-sdk 0.1.1-beta → 0.1.3-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 (333) hide show
  1. package/README.md +11 -9
  2. package/dist/src/entities/Account.d.ts +26 -9
  3. package/dist/src/entities/Account.d.ts.map +1 -0
  4. package/dist/src/entities/Account.js +61 -44
  5. package/dist/src/entities/Account.js.map +1 -1
  6. package/dist/src/entities/ERC4626Vault.d.ts +1 -0
  7. package/dist/src/entities/ERC4626Vault.d.ts.map +1 -0
  8. package/dist/src/entities/EVault.d.ts +1 -0
  9. package/dist/src/entities/EVault.d.ts.map +1 -0
  10. package/dist/src/entities/EulerEarn.d.ts +1 -0
  11. package/dist/src/entities/EulerEarn.d.ts.map +1 -0
  12. package/dist/src/entities/EulerLabels.d.ts +6 -11
  13. package/dist/src/entities/EulerLabels.d.ts.map +1 -0
  14. package/dist/src/entities/Portfolio.d.ts +133 -0
  15. package/dist/src/entities/Portfolio.d.ts.map +1 -0
  16. package/dist/src/entities/Portfolio.js +304 -0
  17. package/dist/src/entities/Portfolio.js.map +1 -0
  18. package/dist/src/entities/SecuritizeCollateralVault.d.ts +1 -0
  19. package/dist/src/entities/SecuritizeCollateralVault.d.ts.map +1 -0
  20. package/dist/src/entities/Wallet.d.ts +1 -0
  21. package/dist/src/entities/Wallet.d.ts.map +1 -0
  22. package/dist/src/index.d.ts +5 -1
  23. package/dist/src/index.d.ts.map +1 -0
  24. package/dist/src/index.js +4 -1
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/plugins/batchSimulation.d.ts +1 -0
  27. package/dist/src/plugins/batchSimulation.d.ts.map +1 -0
  28. package/dist/src/plugins/index.d.ts +1 -0
  29. package/dist/src/plugins/index.d.ts.map +1 -0
  30. package/dist/src/plugins/keyring/index.d.ts +1 -0
  31. package/dist/src/plugins/keyring/index.d.ts.map +1 -0
  32. package/dist/src/plugins/keyring/keyringPlugin.d.ts +2 -1
  33. package/dist/src/plugins/keyring/keyringPlugin.d.ts.map +1 -0
  34. package/dist/src/plugins/keyring/keyringPlugin.js +12 -3
  35. package/dist/src/plugins/keyring/keyringPlugin.js.map +1 -1
  36. package/dist/src/plugins/pyth/index.d.ts +1 -0
  37. package/dist/src/plugins/pyth/index.d.ts.map +1 -0
  38. package/dist/src/plugins/pyth/pythPlugin.d.ts +1 -0
  39. package/dist/src/plugins/pyth/pythPlugin.d.ts.map +1 -0
  40. package/dist/src/plugins/types.d.ts +1 -0
  41. package/dist/src/plugins/types.d.ts.map +1 -0
  42. package/dist/src/sdk/buildSDK.d.ts +4 -3
  43. package/dist/src/sdk/buildSDK.d.ts.map +1 -0
  44. package/dist/src/sdk/buildSDK.js +15 -7
  45. package/dist/src/sdk/buildSDK.js.map +1 -1
  46. package/dist/src/sdk/defaultConfig.d.ts +1 -0
  47. package/dist/src/sdk/defaultConfig.d.ts.map +1 -0
  48. package/dist/src/sdk/defaultConfig.js +27 -28
  49. package/dist/src/sdk/defaultConfig.js.map +1 -1
  50. package/dist/src/sdk/sdk.d.ts +6 -5
  51. package/dist/src/sdk/sdk.d.ts.map +1 -0
  52. package/dist/src/sdk/sdk.js +2 -2
  53. package/dist/src/sdk/sdk.js.map +1 -1
  54. package/dist/src/services/abiService/abiService.d.ts +1 -0
  55. package/dist/src/services/abiService/abiService.d.ts.map +1 -0
  56. package/dist/src/services/abiService/index.d.ts +1 -0
  57. package/dist/src/services/abiService/index.d.ts.map +1 -0
  58. package/dist/src/services/accountService/accountService.d.ts +1 -0
  59. package/dist/src/services/accountService/accountService.d.ts.map +1 -0
  60. package/dist/src/services/accountService/accountService.js.map +1 -1
  61. package/dist/src/services/accountService/accountServiceConfig.d.ts +1 -0
  62. package/dist/src/services/accountService/accountServiceConfig.d.ts.map +1 -0
  63. package/dist/src/services/accountService/adapters/accountOnchainAdapter/abis/accountLensAbi.d.ts +1 -0
  64. package/dist/src/services/accountService/adapters/accountOnchainAdapter/abis/accountLensAbi.d.ts.map +1 -0
  65. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts +1 -0
  66. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts.map +1 -0
  67. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js +23 -8
  68. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js.map +1 -1
  69. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountLensTypes.d.ts +1 -0
  70. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountLensTypes.d.ts.map +1 -0
  71. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts +1 -0
  72. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts.map +1 -0
  73. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountVaultsSubgraphAdapter.d.ts +1 -0
  74. package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountVaultsSubgraphAdapter.d.ts.map +1 -0
  75. package/dist/src/services/accountService/adapters/accountOutputNormalization.d.ts +1 -0
  76. package/dist/src/services/accountService/adapters/accountOutputNormalization.d.ts.map +1 -0
  77. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts +8 -1
  78. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts.map +1 -0
  79. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js +109 -19
  80. package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js.map +1 -1
  81. package/dist/src/services/accountService/adapters/accountVaultsSubgraphAdapter/accountVaultsSubgraphAdapter.d.ts +1 -0
  82. package/dist/src/services/accountService/adapters/accountVaultsSubgraphAdapter/accountVaultsSubgraphAdapter.d.ts.map +1 -0
  83. package/dist/src/services/accountService/index.d.ts +1 -0
  84. package/dist/src/services/accountService/index.d.ts.map +1 -0
  85. package/dist/src/services/deploymentService/deploymentService.d.ts +1 -0
  86. package/dist/src/services/deploymentService/deploymentService.d.ts.map +1 -0
  87. package/dist/src/services/deploymentService/index.d.ts +1 -0
  88. package/dist/src/services/deploymentService/index.d.ts.map +1 -0
  89. package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts +2 -10
  90. package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts.map +1 -0
  91. package/dist/src/services/eulerLabelsService/eulerLabelsService.js +43 -53
  92. package/dist/src/services/eulerLabelsService/eulerLabelsService.js.map +1 -1
  93. package/dist/src/services/eulerLabelsService/index.d.ts +1 -0
  94. package/dist/src/services/eulerLabelsService/index.d.ts.map +1 -0
  95. package/dist/src/services/executionService/abis/eVaultAbi.d.ts +1 -0
  96. package/dist/src/services/executionService/abis/eVaultAbi.d.ts.map +1 -0
  97. package/dist/src/services/executionService/abis/ethereumVaultConnectorAbi.d.ts +1 -0
  98. package/dist/src/services/executionService/abis/ethereumVaultConnectorAbi.d.ts.map +1 -0
  99. package/dist/src/services/executionService/abis/permit2PermitAbi.d.ts +1 -0
  100. package/dist/src/services/executionService/abis/permit2PermitAbi.d.ts.map +1 -0
  101. package/dist/src/services/executionService/abis/swapVerifierAbi.d.ts +1 -0
  102. package/dist/src/services/executionService/abis/swapVerifierAbi.d.ts.map +1 -0
  103. package/dist/src/services/executionService/abis/swapperAbi.d.ts +1 -0
  104. package/dist/src/services/executionService/abis/swapperAbi.d.ts.map +1 -0
  105. package/dist/src/services/executionService/encode.d.ts +30 -0
  106. package/dist/src/services/executionService/encode.d.ts.map +1 -0
  107. package/dist/src/services/executionService/encode.js +841 -0
  108. package/dist/src/services/executionService/encode.js.map +1 -0
  109. package/dist/src/services/executionService/execute.d.ts +64 -0
  110. package/dist/src/services/executionService/execute.d.ts.map +1 -0
  111. package/dist/src/services/executionService/execute.js +181 -0
  112. package/dist/src/services/executionService/execute.js.map +1 -0
  113. package/dist/src/services/executionService/executionService.d.ts +192 -38
  114. package/dist/src/services/executionService/executionService.d.ts.map +1 -0
  115. package/dist/src/services/executionService/executionService.js +557 -864
  116. package/dist/src/services/executionService/executionService.js.map +1 -1
  117. package/dist/src/services/executionService/executionServiceTypes.d.ts +106 -9
  118. package/dist/src/services/executionService/executionServiceTypes.d.ts.map +1 -0
  119. package/dist/src/services/executionService/executionServiceTypes.js +6 -0
  120. package/dist/src/services/executionService/executionServiceTypes.js.map +1 -1
  121. package/dist/src/services/executionService/index.d.ts +6 -2
  122. package/dist/src/services/executionService/index.d.ts.map +1 -0
  123. package/dist/src/services/executionService/index.js +3 -1
  124. package/dist/src/services/executionService/index.js.map +1 -1
  125. package/dist/src/services/{simulationService/simulationService.d.ts → executionService/simulate.d.ts} +31 -37
  126. package/dist/src/services/executionService/simulate.d.ts.map +1 -0
  127. package/dist/src/services/executionService/simulate.js +531 -0
  128. package/dist/src/services/executionService/simulate.js.map +1 -0
  129. package/dist/src/services/feeFlowService/feeFlowService.d.ts +1 -0
  130. package/dist/src/services/feeFlowService/feeFlowService.d.ts.map +1 -0
  131. package/dist/src/services/feeFlowService/feeFlowServiceTypes.d.ts +1 -0
  132. package/dist/src/services/feeFlowService/feeFlowServiceTypes.d.ts.map +1 -0
  133. package/dist/src/services/feeFlowService/index.d.ts +1 -0
  134. package/dist/src/services/feeFlowService/index.d.ts.map +1 -0
  135. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/index.d.ts +1 -0
  136. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/index.d.ts.map +1 -0
  137. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3Adapter.d.ts +1 -0
  138. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3Adapter.d.ts.map +1 -0
  139. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts +2 -1
  140. package/dist/src/services/intrinsicApyService/adapters/intrinsicApyV3Adapter/intrinsicApyV3AdapterTypes.d.ts.map +1 -0
  141. package/dist/src/services/intrinsicApyService/index.d.ts +1 -0
  142. package/dist/src/services/intrinsicApyService/index.d.ts.map +1 -0
  143. package/dist/src/services/intrinsicApyService/intrinsicApyService.d.ts +1 -0
  144. package/dist/src/services/intrinsicApyService/intrinsicApyService.d.ts.map +1 -0
  145. package/dist/src/services/oracleAdapterService/index.d.ts +1 -0
  146. package/dist/src/services/oracleAdapterService/index.d.ts.map +1 -0
  147. package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts +1 -0
  148. package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts.map +1 -0
  149. package/dist/src/services/portfolioService/index.d.ts +3 -0
  150. package/dist/src/services/portfolioService/index.d.ts.map +1 -0
  151. package/dist/src/services/portfolioService/index.js +2 -0
  152. package/dist/src/services/portfolioService/index.js.map +1 -0
  153. package/dist/src/services/portfolioService/portfolioService.d.ts +18 -0
  154. package/dist/src/services/portfolioService/portfolioService.d.ts.map +1 -0
  155. package/dist/src/services/portfolioService/portfolioService.js +21 -0
  156. package/dist/src/services/portfolioService/portfolioService.js.map +1 -0
  157. package/dist/src/services/priceService/backendClient.d.ts +1 -2
  158. package/dist/src/services/priceService/backendClient.d.ts.map +1 -0
  159. package/dist/src/services/priceService/backendClient.js.map +1 -1
  160. package/dist/src/services/priceService/index.d.ts +1 -0
  161. package/dist/src/services/priceService/index.d.ts.map +1 -0
  162. package/dist/src/services/priceService/priceService.d.ts +1 -0
  163. package/dist/src/services/priceService/priceService.d.ts.map +1 -0
  164. package/dist/src/services/priceService/utilsLensPriceAbi.d.ts +1 -0
  165. package/dist/src/services/priceService/utilsLensPriceAbi.d.ts.map +1 -0
  166. package/dist/src/services/providerService/index.d.ts +1 -0
  167. package/dist/src/services/providerService/index.d.ts.map +1 -0
  168. package/dist/src/services/providerService/providerService.d.ts +1 -0
  169. package/dist/src/services/providerService/providerService.d.ts.map +1 -0
  170. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/index.d.ts +1 -0
  171. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/index.d.ts.map +1 -0
  172. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts +1 -0
  173. package/dist/src/services/rewardsService/adapters/rewardsDirectAdapter/rewardsDirectAdapter.d.ts.map +1 -0
  174. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/index.d.ts +1 -0
  175. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/index.d.ts.map +1 -0
  176. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts +1 -0
  177. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.d.ts.map +1 -0
  178. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js +26 -13
  179. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3Adapter.js.map +1 -1
  180. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts +11 -10
  181. package/dist/src/services/rewardsService/adapters/rewardsV3Adapter/rewardsV3AdapterTypes.d.ts.map +1 -0
  182. package/dist/src/services/rewardsService/index.d.ts +1 -0
  183. package/dist/src/services/rewardsService/index.d.ts.map +1 -0
  184. package/dist/src/services/rewardsService/rewardsService.d.ts +1 -0
  185. package/dist/src/services/rewardsService/rewardsService.d.ts.map +1 -0
  186. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts +6 -5
  187. package/dist/src/services/rewardsService/rewardsServiceTypes.d.ts.map +1 -0
  188. package/dist/src/services/swapService/index.d.ts +2 -1
  189. package/dist/src/services/swapService/index.d.ts.map +1 -0
  190. package/dist/src/services/swapService/swapService.d.ts +34 -2
  191. package/dist/src/services/swapService/swapService.d.ts.map +1 -0
  192. package/dist/src/services/swapService/swapService.js +123 -4
  193. package/dist/src/services/swapService/swapService.js.map +1 -1
  194. package/dist/src/services/swapService/swapServiceTypes.d.ts +12 -0
  195. package/dist/src/services/swapService/swapServiceTypes.d.ts.map +1 -0
  196. package/dist/src/services/swapService/swapVerifierAbi.d.ts +1 -0
  197. package/dist/src/services/swapService/swapVerifierAbi.d.ts.map +1 -0
  198. package/dist/src/services/tokenlistService/index.d.ts +1 -0
  199. package/dist/src/services/tokenlistService/index.d.ts.map +1 -0
  200. package/dist/src/services/tokenlistService/tokenlistService.d.ts +1 -0
  201. package/dist/src/services/tokenlistService/tokenlistService.d.ts.map +1 -0
  202. package/dist/src/services/tokenlistService/tokenlistServiceTypes.d.ts +1 -0
  203. package/dist/src/services/tokenlistService/tokenlistServiceTypes.d.ts.map +1 -0
  204. package/dist/src/services/vaults/IVaultService.d.ts +1 -0
  205. package/dist/src/services/vaults/IVaultService.d.ts.map +1 -0
  206. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/abis/vaultLensAbi.d.ts +1 -0
  207. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/abis/vaultLensAbi.d.ts.map +1 -0
  208. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.d.ts +1 -0
  209. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultLensTypes.d.ts.map +1 -0
  210. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts +1 -0
  211. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts.map +1 -0
  212. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts +1 -0
  213. package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts.map +1 -0
  214. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts +2 -0
  215. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts.map +1 -0
  216. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js +20 -3
  217. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js.map +1 -1
  218. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts +1 -0
  219. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts.map +1 -0
  220. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +30 -58
  221. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -1
  222. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.d.ts +8 -0
  223. package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterTypes.d.ts.map +1 -0
  224. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts +1 -0
  225. package/dist/src/services/vaults/eVaultService/eVaultService.d.ts.map +1 -0
  226. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts +2 -1
  227. package/dist/src/services/vaults/eVaultService/eVaultServiceConfig.d.ts.map +1 -0
  228. package/dist/src/services/vaults/eVaultService/index.d.ts +1 -0
  229. package/dist/src/services/vaults/eVaultService/index.d.ts.map +1 -0
  230. package/dist/src/services/vaults/eulerEarnService/adapters/abis/eulerEarnVaultLensAbi.d.ts +1 -0
  231. package/dist/src/services/vaults/eulerEarnService/adapters/abis/eulerEarnVaultLensAbi.d.ts.map +1 -0
  232. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts +1 -0
  233. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts.map +1 -0
  234. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnLensTypes.d.ts +1 -0
  235. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnLensTypes.d.ts.map +1 -0
  236. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts +1 -0
  237. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts.map +1 -0
  238. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts +1 -0
  239. package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts.map +1 -0
  240. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts +1 -0
  241. package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts.map +1 -0
  242. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts +2 -1
  243. package/dist/src/services/vaults/eulerEarnService/eulerEarnServiceConfig.d.ts.map +1 -0
  244. package/dist/src/services/vaults/eulerEarnService/index.d.ts +1 -0
  245. package/dist/src/services/vaults/eulerEarnService/index.d.ts.map +1 -0
  246. package/dist/src/services/vaults/index.d.ts +1 -0
  247. package/dist/src/services/vaults/index.d.ts.map +1 -0
  248. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/erc4626EvcCollateralSecuritizeAbi.d.ts +1 -0
  249. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/erc4626EvcCollateralSecuritizeAbi.d.ts.map +1 -0
  250. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/utilsLensAbi.d.ts +1 -0
  251. package/dist/src/services/vaults/securitizeVaultService/adapters/abis/utilsLensAbi.d.ts.map +1 -0
  252. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts +1 -0
  253. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts.map +1 -0
  254. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultLensTypes.d.ts +1 -0
  255. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultLensTypes.d.ts.map +1 -0
  256. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts +1 -0
  257. package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts.map +1 -0
  258. package/dist/src/services/vaults/securitizeVaultService/index.d.ts +1 -0
  259. package/dist/src/services/vaults/securitizeVaultService/index.d.ts.map +1 -0
  260. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts +1 -0
  261. package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts.map +1 -0
  262. package/dist/src/services/vaults/vaultMetaService/adapters/IVaultTypeAdapter.d.ts +1 -0
  263. package/dist/src/services/vaults/vaultMetaService/adapters/IVaultTypeAdapter.d.ts.map +1 -0
  264. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeSubgraphAdapter.d.ts +1 -0
  265. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeSubgraphAdapter.d.ts.map +1 -0
  266. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts +2 -1
  267. package/dist/src/services/vaults/vaultMetaService/adapters/VaultTypeV3Adapter.d.ts.map +1 -0
  268. package/dist/src/services/vaults/vaultMetaService/index.d.ts +1 -0
  269. package/dist/src/services/vaults/vaultMetaService/index.d.ts.map +1 -0
  270. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts +1 -0
  271. package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts.map +1 -0
  272. package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts +1 -0
  273. package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts.map +1 -0
  274. package/dist/src/services/walletService/index.d.ts +1 -0
  275. package/dist/src/services/walletService/index.d.ts.map +1 -0
  276. package/dist/src/services/walletService/walletService.d.ts +1 -0
  277. package/dist/src/services/walletService/walletService.d.ts.map +1 -0
  278. package/dist/src/utils/accountComputations.d.ts +59 -1
  279. package/dist/src/utils/accountComputations.d.ts.map +1 -0
  280. package/dist/src/utils/accountComputations.js +184 -3
  281. package/dist/src/utils/accountComputations.js.map +1 -1
  282. package/dist/src/utils/accountPositionClassification.d.ts +15 -0
  283. package/dist/src/utils/accountPositionClassification.d.ts.map +1 -0
  284. package/dist/src/utils/accountPositionClassification.js +27 -0
  285. package/dist/src/utils/accountPositionClassification.js.map +1 -0
  286. package/dist/src/utils/batch.d.ts +1 -0
  287. package/dist/src/utils/batch.d.ts.map +1 -0
  288. package/dist/src/utils/buildQuery.d.ts +1 -0
  289. package/dist/src/utils/buildQuery.d.ts.map +1 -0
  290. package/dist/src/utils/callBundler.d.ts +1 -0
  291. package/dist/src/utils/callBundler.d.ts.map +1 -0
  292. package/dist/src/utils/decodeSmartContractErrors.d.ts +1 -0
  293. package/dist/src/utils/decodeSmartContractErrors.d.ts.map +1 -0
  294. package/dist/src/utils/entityDiagnostics.d.ts +1 -0
  295. package/dist/src/utils/entityDiagnostics.d.ts.map +1 -0
  296. package/dist/src/utils/eulerErrorSelectors.d.ts +1 -0
  297. package/dist/src/utils/eulerErrorSelectors.d.ts.map +1 -0
  298. package/dist/src/utils/irm.d.ts +1 -0
  299. package/dist/src/utils/irm.d.ts.map +1 -0
  300. package/dist/src/utils/normalization.d.ts +1 -0
  301. package/dist/src/utils/normalization.d.ts.map +1 -0
  302. package/dist/src/utils/oracle.d.ts +1 -0
  303. package/dist/src/utils/oracle.d.ts.map +1 -0
  304. package/dist/src/utils/parsing.d.ts +1 -0
  305. package/dist/src/utils/parsing.d.ts.map +1 -0
  306. package/dist/src/utils/queryNames.d.ts +1 -0
  307. package/dist/src/utils/queryNames.d.ts.map +1 -0
  308. package/dist/src/utils/stateOverrides/accessList.d.ts +1 -0
  309. package/dist/src/utils/stateOverrides/accessList.d.ts.map +1 -0
  310. package/dist/src/utils/stateOverrides/approvalOverrides.d.ts +1 -0
  311. package/dist/src/utils/stateOverrides/approvalOverrides.d.ts.map +1 -0
  312. package/dist/src/utils/stateOverrides/balanceOverrides.d.ts +1 -0
  313. package/dist/src/utils/stateOverrides/balanceOverrides.d.ts.map +1 -0
  314. package/dist/src/utils/stateOverrides/getStateOverrides.d.ts +1 -0
  315. package/dist/src/utils/stateOverrides/getStateOverrides.d.ts.map +1 -0
  316. package/dist/src/utils/stateOverrides/index.d.ts +1 -0
  317. package/dist/src/utils/stateOverrides/index.d.ts.map +1 -0
  318. package/dist/src/utils/stateOverrides/mergeStateOverrides.d.ts +1 -0
  319. package/dist/src/utils/stateOverrides/mergeStateOverrides.d.ts.map +1 -0
  320. package/dist/src/utils/stateOverrides/types.d.ts +1 -0
  321. package/dist/src/utils/stateOverrides/types.d.ts.map +1 -0
  322. package/dist/src/utils/subAccounts.d.ts +14 -0
  323. package/dist/src/utils/subAccounts.d.ts.map +1 -0
  324. package/dist/src/utils/subAccounts.js +39 -3
  325. package/dist/src/utils/subAccounts.js.map +1 -1
  326. package/dist/src/utils/types.d.ts +1 -0
  327. package/dist/src/utils/types.d.ts.map +1 -0
  328. package/package.json +9 -4
  329. package/dist/src/services/simulationService/index.d.ts +0 -2
  330. package/dist/src/services/simulationService/index.js +0 -2
  331. package/dist/src/services/simulationService/index.js.map +0 -1
  332. package/dist/src/services/simulationService/simulationService.js +0 -497
  333. package/dist/src/services/simulationService/simulationService.js.map +0 -1
@@ -0,0 +1,841 @@
1
+ import { encodeFunctionData, getAddress, maxUint48, maxUint160, maxUint256, zeroAddress, } from "viem";
2
+ import { ethereumVaultConnectorAbi } from "./abis/ethereumVaultConnectorAbi.js";
3
+ import { eVaultAbi } from "./abis/eVaultAbi.js";
4
+ import { permit2PermitAbi } from "./abis/permit2PermitAbi.js";
5
+ import { swapVerifierAbi } from "./abis/swapVerifierAbi.js";
6
+ import { PERMIT2_TYPES, } from "./executionServiceTypes.js";
7
+ const PERMIT2_SIG_WINDOW = 60n * 60n;
8
+ const INTEREST_CUSHION_NUMERATOR = 10001n;
9
+ const INTEREST_CUSHION_DENOMINATOR = 10000n;
10
+ export function encodeBatch(items) {
11
+ return encodeFunctionData({
12
+ abi: ethereumVaultConnectorAbi,
13
+ functionName: "batch",
14
+ args: [items],
15
+ });
16
+ }
17
+ export function encodePermit2Call(permit2, { owner, message, signature }) {
18
+ return {
19
+ targetContract: permit2,
20
+ onBehalfOfAccount: owner,
21
+ value: 0n,
22
+ data: encodeFunctionData({
23
+ abi: permit2PermitAbi,
24
+ functionName: "permit",
25
+ args: [owner, message, signature],
26
+ }),
27
+ };
28
+ }
29
+ export function encodeEnableCollateral(evc, account, vault) {
30
+ return {
31
+ targetContract: evc,
32
+ onBehalfOfAccount: zeroAddress,
33
+ value: 0n,
34
+ data: encodeFunctionData({
35
+ abi: ethereumVaultConnectorAbi,
36
+ functionName: "enableCollateral",
37
+ args: [account, vault],
38
+ }),
39
+ };
40
+ }
41
+ export function encodeDisableCollateral(evc, account, vault) {
42
+ return {
43
+ targetContract: evc,
44
+ onBehalfOfAccount: zeroAddress,
45
+ value: 0n,
46
+ data: encodeFunctionData({
47
+ abi: ethereumVaultConnectorAbi,
48
+ functionName: "disableCollateral",
49
+ args: [account, vault],
50
+ }),
51
+ };
52
+ }
53
+ export function encodeEnableController(evc, account, vault) {
54
+ return {
55
+ targetContract: evc,
56
+ onBehalfOfAccount: zeroAddress,
57
+ value: 0n,
58
+ data: encodeFunctionData({
59
+ abi: ethereumVaultConnectorAbi,
60
+ functionName: "enableController",
61
+ args: [account, vault],
62
+ }),
63
+ };
64
+ }
65
+ export function encodeDisableController(vault, account) {
66
+ return {
67
+ targetContract: vault,
68
+ onBehalfOfAccount: account,
69
+ value: 0n,
70
+ data: encodeFunctionData({
71
+ abi: eVaultAbi,
72
+ functionName: "disableController",
73
+ args: [],
74
+ }),
75
+ };
76
+ }
77
+ export function encodeTransferFromMax(vault, from, to) {
78
+ return {
79
+ targetContract: vault,
80
+ onBehalfOfAccount: from,
81
+ value: 0n,
82
+ data: encodeFunctionData({
83
+ abi: eVaultAbi,
84
+ functionName: "transferFromMax",
85
+ args: [from, to],
86
+ }),
87
+ };
88
+ }
89
+ function encodeCollateralShareTransfer(evc, vault, receiver, source) {
90
+ if (source.shares <= 0n || getAddress(source.from) === getAddress(receiver)) {
91
+ return [];
92
+ }
93
+ const items = [];
94
+ if (source.disableCollateralFrom) {
95
+ items.push(encodeDisableCollateral(evc, source.from, vault));
96
+ }
97
+ items.push({
98
+ targetContract: vault,
99
+ onBehalfOfAccount: source.from,
100
+ value: 0n,
101
+ data: encodeFunctionData({
102
+ abi: eVaultAbi,
103
+ functionName: "transfer",
104
+ args: [receiver, source.shares],
105
+ }),
106
+ });
107
+ return items;
108
+ }
109
+ export function getPermit2TypedData(permit2, args) {
110
+ const nowInSeconds = () => BigInt(Math.floor(Date.now() / 1000));
111
+ const { chainId, token, amount, spender, nonce, sigDeadline, expiration } = args;
112
+ const permitSingle = {
113
+ details: {
114
+ token,
115
+ amount: amount > maxUint160 ? maxUint160 : amount,
116
+ expiration: expiration ?? Number(maxUint48),
117
+ nonce,
118
+ },
119
+ spender,
120
+ sigDeadline: sigDeadline ?? nowInSeconds() + PERMIT2_SIG_WINDOW,
121
+ };
122
+ return {
123
+ domain: {
124
+ name: "Permit2",
125
+ chainId,
126
+ verifyingContract: permit2,
127
+ },
128
+ types: PERMIT2_TYPES,
129
+ primaryType: "PermitSingle",
130
+ message: permitSingle,
131
+ };
132
+ }
133
+ export function encodeDeposit(evc, permit2, { chainId, vault, amount, receiver, owner, enableCollateral, permit2: permit2Data, }) {
134
+ const items = [];
135
+ if (permit2Data) {
136
+ items.push(encodePermit2Call(permit2, {
137
+ chainId,
138
+ owner,
139
+ message: permit2Data.message,
140
+ signature: permit2Data.signature,
141
+ }));
142
+ }
143
+ if (enableCollateral) {
144
+ items.push(encodeEnableCollateral(evc, receiver, vault));
145
+ }
146
+ items.push({
147
+ targetContract: vault,
148
+ onBehalfOfAccount: owner,
149
+ value: 0n,
150
+ data: encodeFunctionData({
151
+ abi: eVaultAbi,
152
+ functionName: "deposit",
153
+ args: [amount, receiver],
154
+ }),
155
+ });
156
+ return items;
157
+ }
158
+ export function encodeMint(evc, permit2, { chainId, vault, shares, receiver, owner, enableCollateral, permit2: permit2Data, }) {
159
+ const items = [];
160
+ if (permit2Data) {
161
+ items.push(encodePermit2Call(permit2, {
162
+ chainId,
163
+ owner,
164
+ message: permit2Data.message,
165
+ signature: permit2Data.signature,
166
+ }));
167
+ }
168
+ if (enableCollateral) {
169
+ items.push(encodeEnableCollateral(evc, receiver, vault));
170
+ }
171
+ items.push({
172
+ targetContract: vault,
173
+ onBehalfOfAccount: owner,
174
+ value: 0n,
175
+ data: encodeFunctionData({
176
+ abi: eVaultAbi,
177
+ functionName: "mint",
178
+ args: [shares, receiver],
179
+ }),
180
+ });
181
+ return items;
182
+ }
183
+ export function encodeWithdraw(evc, { vault, assets, receiver, owner, disableCollateral }) {
184
+ const items = [];
185
+ if (disableCollateral) {
186
+ items.push(encodeDisableCollateral(evc, owner, vault));
187
+ }
188
+ items.push({
189
+ targetContract: vault,
190
+ onBehalfOfAccount: owner,
191
+ value: 0n,
192
+ data: encodeFunctionData({
193
+ abi: eVaultAbi,
194
+ functionName: "withdraw",
195
+ args: [assets, receiver, owner],
196
+ }),
197
+ });
198
+ return items;
199
+ }
200
+ export function encodeRedeem(evc, { vault, shares, receiver, owner, disableCollateral }) {
201
+ const items = [];
202
+ if (disableCollateral) {
203
+ items.push(encodeDisableCollateral(evc, owner, vault));
204
+ }
205
+ items.push({
206
+ targetContract: vault,
207
+ onBehalfOfAccount: owner,
208
+ value: 0n,
209
+ data: encodeFunctionData({
210
+ abi: eVaultAbi,
211
+ functionName: "redeem",
212
+ args: [shares, receiver, owner],
213
+ }),
214
+ });
215
+ return items;
216
+ }
217
+ export function encodeBorrow(evc, permit2, args) {
218
+ const { vault, amount, owner, borrowAccount, receiver, enableController = true, currentController, collateralVault, collateralAmount, enableCollateral = true, collateralPermit2, collateralShareSource, } = args;
219
+ const items = [];
220
+ if (collateralVault && collateralShareSource) {
221
+ items.push(...encodeCollateralShareTransfer(evc, collateralVault, borrowAccount, collateralShareSource));
222
+ if (enableCollateral) {
223
+ items.push(encodeEnableCollateral(evc, borrowAccount, collateralVault));
224
+ }
225
+ }
226
+ else if (collateralVault &&
227
+ collateralAmount !== undefined &&
228
+ collateralAmount > 0n) {
229
+ items.push(...encodeDeposit(evc, permit2, {
230
+ ...args,
231
+ vault: collateralVault,
232
+ amount: collateralAmount,
233
+ receiver: borrowAccount,
234
+ owner,
235
+ enableCollateral,
236
+ permit2: collateralPermit2,
237
+ }));
238
+ }
239
+ if (currentController && currentController !== vault) {
240
+ items.push(encodeDisableController(currentController, borrowAccount));
241
+ }
242
+ if (enableController) {
243
+ items.push(encodeEnableController(evc, borrowAccount, vault));
244
+ }
245
+ items.push({
246
+ targetContract: vault,
247
+ onBehalfOfAccount: borrowAccount,
248
+ value: 0n,
249
+ data: encodeFunctionData({
250
+ abi: eVaultAbi,
251
+ functionName: "borrow",
252
+ args: [amount, receiver],
253
+ }),
254
+ });
255
+ return items;
256
+ }
257
+ export function encodeLiquidation(evc, { vault, violator, collateral, repayAssets, minYieldBalance, liquidatorSubAccountAddress, enableCollateral = true, enableController = true, }) {
258
+ const items = [];
259
+ if (enableController) {
260
+ items.push(encodeEnableController(evc, liquidatorSubAccountAddress, vault));
261
+ }
262
+ items.push({
263
+ targetContract: vault,
264
+ onBehalfOfAccount: liquidatorSubAccountAddress,
265
+ value: 0n,
266
+ data: encodeFunctionData({
267
+ abi: eVaultAbi,
268
+ functionName: "liquidate",
269
+ args: [violator, collateral, repayAssets, minYieldBalance],
270
+ }),
271
+ });
272
+ if (enableCollateral) {
273
+ items.push(encodeEnableCollateral(evc, liquidatorSubAccountAddress, collateral));
274
+ }
275
+ return items;
276
+ }
277
+ export function encodePullDebt(evc, { vault, amount, from, to, enableController = true }) {
278
+ const items = [];
279
+ if (enableController) {
280
+ items.push(encodeEnableController(evc, to, vault));
281
+ }
282
+ items.push({
283
+ targetContract: vault,
284
+ onBehalfOfAccount: to,
285
+ value: 0n,
286
+ data: encodeFunctionData({
287
+ abi: eVaultAbi,
288
+ functionName: "pullDebt",
289
+ args: [amount, from],
290
+ }),
291
+ });
292
+ return items;
293
+ }
294
+ export function encodeMultiplyWithSwap(evc, permit2, { chainId, collateralVault, collateralAmount, liabilityVault, liabilityAmount, longVault, owner, receiver, enableCollateral = true, enableCollateralLong = true, currentController, enableController = true, collateralPermit2, collateralShareSource, swapQuote, }) {
295
+ const items = [];
296
+ if (collateralPermit2) {
297
+ items.push(encodePermit2Call(permit2, {
298
+ chainId,
299
+ owner,
300
+ message: collateralPermit2.message,
301
+ signature: collateralPermit2.signature,
302
+ }));
303
+ }
304
+ if (collateralShareSource) {
305
+ items.push(...encodeCollateralShareTransfer(evc, collateralVault, receiver, collateralShareSource));
306
+ if (enableCollateral) {
307
+ items.push(encodeEnableCollateral(evc, receiver, collateralVault));
308
+ }
309
+ }
310
+ else if (collateralAmount > 0n) {
311
+ if (enableCollateral) {
312
+ items.push(encodeEnableCollateral(evc, receiver, collateralVault));
313
+ }
314
+ items.push({
315
+ targetContract: collateralVault,
316
+ onBehalfOfAccount: owner,
317
+ value: 0n,
318
+ data: encodeFunctionData({
319
+ abi: eVaultAbi,
320
+ functionName: "deposit",
321
+ args: [collateralAmount, receiver],
322
+ }),
323
+ });
324
+ }
325
+ if (currentController && currentController !== liabilityVault) {
326
+ items.push(encodeDisableController(currentController, receiver));
327
+ }
328
+ if (enableController) {
329
+ items.push(encodeEnableController(evc, receiver, liabilityVault));
330
+ }
331
+ items.push({
332
+ targetContract: liabilityVault,
333
+ onBehalfOfAccount: receiver,
334
+ value: 0n,
335
+ data: encodeFunctionData({
336
+ abi: eVaultAbi,
337
+ functionName: "borrow",
338
+ args: [liabilityAmount, swapQuote.swap.swapperAddress],
339
+ }),
340
+ });
341
+ items.push({
342
+ targetContract: swapQuote.swap.swapperAddress,
343
+ onBehalfOfAccount: receiver,
344
+ value: 0n,
345
+ data: swapQuote.swap.swapperData,
346
+ });
347
+ if (swapQuote.verify.type !== "skimMin") {
348
+ throw new Error("Invalid swap quote type for multiply - must be skimMin");
349
+ }
350
+ items.push({
351
+ targetContract: swapQuote.verify.verifierAddress,
352
+ onBehalfOfAccount: receiver,
353
+ value: 0n,
354
+ data: swapQuote.verify.verifierData,
355
+ });
356
+ if (enableCollateralLong && collateralVault !== longVault) {
357
+ items.push(encodeEnableCollateral(evc, receiver, longVault));
358
+ }
359
+ return items;
360
+ }
361
+ export function encodeMultiplySameAsset(evc, permit2, { chainId, collateralVault, collateralAmount, liabilityVault, liabilityAmount, longVault, owner, receiver, enableCollateral = true, enableCollateralLong = true, enableController = true, currentController, collateralPermit2, collateralShareSource, }) {
362
+ const items = [];
363
+ if (collateralPermit2) {
364
+ items.push(encodePermit2Call(permit2, {
365
+ chainId,
366
+ owner,
367
+ message: collateralPermit2.message,
368
+ signature: collateralPermit2.signature,
369
+ }));
370
+ }
371
+ if (collateralShareSource) {
372
+ items.push(...encodeCollateralShareTransfer(evc, collateralVault, receiver, collateralShareSource));
373
+ if (enableCollateral) {
374
+ items.push(encodeEnableCollateral(evc, receiver, collateralVault));
375
+ }
376
+ }
377
+ else if (collateralAmount > 0n) {
378
+ if (enableCollateral) {
379
+ items.push(encodeEnableCollateral(evc, receiver, collateralVault));
380
+ }
381
+ items.push({
382
+ targetContract: collateralVault,
383
+ onBehalfOfAccount: owner,
384
+ value: 0n,
385
+ data: encodeFunctionData({
386
+ abi: eVaultAbi,
387
+ functionName: "deposit",
388
+ args: [collateralAmount, receiver],
389
+ }),
390
+ });
391
+ }
392
+ if (currentController && currentController !== liabilityVault) {
393
+ items.push(encodeDisableController(currentController, receiver));
394
+ }
395
+ if (enableController) {
396
+ items.push(encodeEnableController(evc, receiver, liabilityVault));
397
+ }
398
+ items.push({
399
+ targetContract: liabilityVault,
400
+ onBehalfOfAccount: receiver,
401
+ value: 0n,
402
+ data: encodeFunctionData({
403
+ abi: eVaultAbi,
404
+ functionName: "borrow",
405
+ args: [liabilityAmount, longVault],
406
+ }),
407
+ });
408
+ items.push({
409
+ targetContract: longVault,
410
+ onBehalfOfAccount: receiver,
411
+ value: 0n,
412
+ data: encodeFunctionData({
413
+ abi: eVaultAbi,
414
+ functionName: "skim",
415
+ args: [liabilityAmount, receiver],
416
+ }),
417
+ });
418
+ if (enableCollateralLong) {
419
+ items.push(encodeEnableCollateral(evc, receiver, longVault));
420
+ }
421
+ return items;
422
+ }
423
+ export function encodeRepayFromWallet(permit2, { chainId, sender, liabilityVault, liabilityAmount, receiver, disableControllerOnMax = true, isMax = false, permit2: permit2Data, }) {
424
+ const items = [];
425
+ if (permit2Data) {
426
+ items.push(encodePermit2Call(permit2, {
427
+ chainId,
428
+ owner: sender,
429
+ message: permit2Data.message,
430
+ signature: permit2Data.signature,
431
+ }));
432
+ }
433
+ items.push({
434
+ targetContract: liabilityVault,
435
+ onBehalfOfAccount: sender,
436
+ value: 0n,
437
+ data: encodeFunctionData({
438
+ abi: eVaultAbi,
439
+ functionName: "repay",
440
+ args: [isMax ? maxUint256 : liabilityAmount, receiver],
441
+ }),
442
+ });
443
+ if (disableControllerOnMax && isMax) {
444
+ items.push(encodeDisableController(liabilityVault, receiver));
445
+ }
446
+ return items;
447
+ }
448
+ function encodeRepayWithSharesSameAssetAndVault(vault, amount, from, receiver, disableController) {
449
+ const items = [
450
+ {
451
+ targetContract: vault,
452
+ onBehalfOfAccount: from,
453
+ value: 0n,
454
+ data: encodeFunctionData({
455
+ abi: eVaultAbi,
456
+ functionName: "repayWithShares",
457
+ args: [amount, receiver],
458
+ }),
459
+ },
460
+ ];
461
+ if (disableController) {
462
+ items.push(encodeDisableController(vault, receiver));
463
+ }
464
+ return items;
465
+ }
466
+ function encodeRepayWithSharesSameAssetDifferentVault(fromVault, toVault, amount, receiver, from, isMax, disableControllerOnMax) {
467
+ const items = [];
468
+ if (isMax) {
469
+ if (amount === maxUint256) {
470
+ throw new Error("Amount is maxUint256, cannot be used for max repay");
471
+ }
472
+ const amountWithExtra = (amount * INTEREST_CUSHION_NUMERATOR) / INTEREST_CUSHION_DENOMINATOR;
473
+ if (amountWithExtra >= maxUint256) {
474
+ throw new Error("Amount with extra exceeds maxUint256");
475
+ }
476
+ items.push({
477
+ targetContract: fromVault,
478
+ onBehalfOfAccount: from,
479
+ value: 0n,
480
+ data: encodeFunctionData({
481
+ abi: eVaultAbi,
482
+ functionName: "withdraw",
483
+ args: [amountWithExtra, toVault, from],
484
+ }),
485
+ });
486
+ items.push({
487
+ targetContract: toVault,
488
+ onBehalfOfAccount: receiver,
489
+ value: 0n,
490
+ data: encodeFunctionData({
491
+ abi: eVaultAbi,
492
+ functionName: "skim",
493
+ args: [amountWithExtra, receiver],
494
+ }),
495
+ });
496
+ items.push({
497
+ targetContract: toVault,
498
+ onBehalfOfAccount: receiver,
499
+ value: 0n,
500
+ data: encodeFunctionData({
501
+ abi: eVaultAbi,
502
+ functionName: "repayWithShares",
503
+ args: [maxUint256, receiver],
504
+ }),
505
+ });
506
+ if (disableControllerOnMax) {
507
+ items.push(encodeDisableController(toVault, receiver));
508
+ }
509
+ return items;
510
+ }
511
+ items.push({
512
+ targetContract: fromVault,
513
+ onBehalfOfAccount: from,
514
+ value: 0n,
515
+ data: encodeFunctionData({
516
+ abi: eVaultAbi,
517
+ functionName: "withdraw",
518
+ args: [amount, toVault, from],
519
+ }),
520
+ });
521
+ items.push({
522
+ targetContract: toVault,
523
+ onBehalfOfAccount: receiver,
524
+ value: 0n,
525
+ data: encodeFunctionData({
526
+ abi: eVaultAbi,
527
+ functionName: "skim",
528
+ args: [amount, receiver],
529
+ }),
530
+ });
531
+ items.push({
532
+ targetContract: toVault,
533
+ onBehalfOfAccount: receiver,
534
+ value: 0n,
535
+ data: encodeFunctionData({
536
+ abi: eVaultAbi,
537
+ functionName: "repayWithShares",
538
+ args: [amount > 0n ? amount - 1n : 0n, receiver],
539
+ }),
540
+ });
541
+ return items;
542
+ }
543
+ export function encodeRepayFromDeposit({ liabilityVault, liabilityAsset, liabilityAmount, from, receiver, fromVault, fromAsset, disableControllerOnMax = true, isMax = false, }) {
544
+ if (fromAsset === liabilityAsset && fromVault === liabilityVault) {
545
+ return encodeRepayWithSharesSameAssetAndVault(liabilityVault, liabilityAmount, from, receiver, isMax && disableControllerOnMax);
546
+ }
547
+ if (fromAsset === liabilityAsset) {
548
+ return encodeRepayWithSharesSameAssetDifferentVault(fromVault, liabilityVault, liabilityAmount, receiver, from, isMax, disableControllerOnMax);
549
+ }
550
+ throw new Error("encodeRepayFromDeposit only supports same-asset paths");
551
+ }
552
+ export function encodeRepayWithSwap({ swapQuote, maxWithdraw, isMax = false, disableControllerOnMax = true, }) {
553
+ const items = [];
554
+ const withdrawAmount = maxWithdraw && maxWithdraw < BigInt(swapQuote.amountInMax || swapQuote.amountIn)
555
+ ? maxWithdraw
556
+ : BigInt(swapQuote.amountInMax || swapQuote.amountIn);
557
+ items.push({
558
+ targetContract: swapQuote.vaultIn,
559
+ onBehalfOfAccount: swapQuote.accountIn,
560
+ value: 0n,
561
+ data: encodeFunctionData({
562
+ abi: eVaultAbi,
563
+ functionName: "withdraw",
564
+ args: [withdrawAmount, swapQuote.swap.swapperAddress, swapQuote.accountIn],
565
+ }),
566
+ });
567
+ items.push({
568
+ targetContract: swapQuote.swap.swapperAddress,
569
+ onBehalfOfAccount: swapQuote.accountIn,
570
+ value: 0n,
571
+ data: swapQuote.swap.swapperData,
572
+ });
573
+ if (swapQuote.verify.type !== "debtMax") {
574
+ throw new Error("Invalid swap quote type for repay - must be debtMax");
575
+ }
576
+ items.push({
577
+ targetContract: swapQuote.verify.verifierAddress,
578
+ onBehalfOfAccount: swapQuote.verify.account,
579
+ value: 0n,
580
+ data: swapQuote.verify.verifierData,
581
+ });
582
+ if (isMax && disableControllerOnMax) {
583
+ items.push(encodeDisableController(swapQuote.receiver, swapQuote.accountOut));
584
+ }
585
+ return items;
586
+ }
587
+ export function encodeDepositWithSwapFromWallet(evc, { swapQuote, amount, sender, enableCollateral = true }) {
588
+ const items = [
589
+ {
590
+ targetContract: swapQuote.verify.verifierAddress,
591
+ onBehalfOfAccount: sender,
592
+ value: 0n,
593
+ data: encodeFunctionData({
594
+ abi: swapVerifierAbi,
595
+ functionName: "transferFromSender",
596
+ args: [swapQuote.tokenIn.address, amount, swapQuote.swap.swapperAddress],
597
+ }),
598
+ },
599
+ {
600
+ targetContract: swapQuote.swap.swapperAddress,
601
+ onBehalfOfAccount: sender,
602
+ value: 0n,
603
+ data: swapQuote.swap.swapperData,
604
+ },
605
+ {
606
+ targetContract: swapQuote.verify.verifierAddress,
607
+ onBehalfOfAccount: swapQuote.accountOut || sender,
608
+ value: 0n,
609
+ data: swapQuote.verify.verifierData,
610
+ },
611
+ ];
612
+ if (enableCollateral && swapQuote.receiver) {
613
+ items.push(encodeEnableCollateral(evc, swapQuote.accountOut || sender, swapQuote.receiver));
614
+ }
615
+ return items;
616
+ }
617
+ export function encodeSwapFromWallet({ swapQuote, amount, sender, }) {
618
+ if (swapQuote.verify.type !== "transferMin") {
619
+ throw new Error("Invalid swap quote type for wallet swap - must be transferMin");
620
+ }
621
+ return [
622
+ {
623
+ targetContract: swapQuote.verify.verifierAddress,
624
+ onBehalfOfAccount: sender,
625
+ value: 0n,
626
+ data: encodeFunctionData({
627
+ abi: swapVerifierAbi,
628
+ functionName: "transferFromSender",
629
+ args: [swapQuote.tokenIn.address, amount, swapQuote.swap.swapperAddress],
630
+ }),
631
+ },
632
+ {
633
+ targetContract: swapQuote.swap.swapperAddress,
634
+ onBehalfOfAccount: sender,
635
+ value: 0n,
636
+ data: swapQuote.swap.swapperData,
637
+ },
638
+ {
639
+ targetContract: swapQuote.verify.verifierAddress,
640
+ onBehalfOfAccount: sender,
641
+ value: 0n,
642
+ data: swapQuote.verify.verifierData,
643
+ },
644
+ ];
645
+ }
646
+ export function encodeSwapCollateral(evc, { swapQuote, enableCollateral = true, disableCollateralOnMax = true, isMax = false, }) {
647
+ const items = [];
648
+ const withdrawAmount = BigInt(swapQuote.amountInMax || swapQuote.amountIn);
649
+ items.push({
650
+ targetContract: swapQuote.vaultIn,
651
+ onBehalfOfAccount: swapQuote.accountIn,
652
+ value: 0n,
653
+ data: encodeFunctionData({
654
+ abi: eVaultAbi,
655
+ functionName: "withdraw",
656
+ args: [withdrawAmount, swapQuote.swap.swapperAddress, swapQuote.accountIn],
657
+ }),
658
+ });
659
+ items.push({
660
+ targetContract: swapQuote.swap.swapperAddress,
661
+ onBehalfOfAccount: swapQuote.accountIn,
662
+ value: 0n,
663
+ data: swapQuote.swap.swapperData,
664
+ });
665
+ if (swapQuote.verify.type !== "skimMin") {
666
+ throw new Error("Invalid swap quote type for swap collateral - must be skimMin");
667
+ }
668
+ items.push({
669
+ targetContract: swapQuote.verify.verifierAddress,
670
+ onBehalfOfAccount: swapQuote.accountOut,
671
+ value: 0n,
672
+ data: swapQuote.verify.verifierData,
673
+ });
674
+ if (isMax && disableCollateralOnMax) {
675
+ items.push(encodeDisableCollateral(evc, swapQuote.accountIn, swapQuote.vaultIn));
676
+ }
677
+ if (enableCollateral) {
678
+ items.push(encodeEnableCollateral(evc, swapQuote.accountOut, swapQuote.receiver));
679
+ }
680
+ return items;
681
+ }
682
+ export function encodeSwapDebt(evc, { swapQuote, enableController = true, disableControllerOnMax = true, isMax = false, }) {
683
+ const items = [];
684
+ if (enableController) {
685
+ items.push(encodeEnableController(evc, swapQuote.accountOut, swapQuote.vaultIn));
686
+ }
687
+ items.push({
688
+ targetContract: swapQuote.vaultIn,
689
+ onBehalfOfAccount: swapQuote.accountIn,
690
+ value: 0n,
691
+ data: encodeFunctionData({
692
+ abi: eVaultAbi,
693
+ functionName: "borrow",
694
+ args: [BigInt(swapQuote.amountInMax), swapQuote.swap.swapperAddress],
695
+ }),
696
+ });
697
+ items.push({
698
+ targetContract: swapQuote.swap.swapperAddress,
699
+ onBehalfOfAccount: swapQuote.accountIn,
700
+ value: 0n,
701
+ data: swapQuote.swap.swapperData,
702
+ });
703
+ if (swapQuote.verify.type !== "debtMax") {
704
+ throw new Error("Invalid swap quote type for repay - must be debtMax");
705
+ }
706
+ items.push({
707
+ targetContract: swapQuote.verify.verifierAddress,
708
+ onBehalfOfAccount: swapQuote.accountOut,
709
+ value: 0n,
710
+ data: swapQuote.verify.verifierData,
711
+ });
712
+ if (isMax && disableControllerOnMax) {
713
+ items.push(encodeDisableController(swapQuote.receiver, swapQuote.accountIn));
714
+ }
715
+ return items;
716
+ }
717
+ export function encodeMigrateSameAssetCollateral(evc, { fromVault, toVault, amount, account, isMax = false, maxShares, enableCollateralTo = false, disableCollateralFrom = false, }) {
718
+ const items = [
719
+ {
720
+ targetContract: fromVault,
721
+ onBehalfOfAccount: account,
722
+ value: 0n,
723
+ data: encodeFunctionData({
724
+ abi: eVaultAbi,
725
+ functionName: isMax ? "redeem" : "withdraw",
726
+ args: isMax ? [maxShares ?? maxUint256, toVault, account] : [amount, toVault, account],
727
+ }),
728
+ },
729
+ {
730
+ targetContract: toVault,
731
+ onBehalfOfAccount: account,
732
+ value: 0n,
733
+ data: encodeFunctionData({
734
+ abi: eVaultAbi,
735
+ functionName: "skim",
736
+ args: [amount, account],
737
+ }),
738
+ },
739
+ ];
740
+ if (enableCollateralTo) {
741
+ items.push(encodeEnableCollateral(evc, account, toVault));
742
+ }
743
+ if (disableCollateralFrom) {
744
+ items.push(encodeDisableCollateral(evc, account, fromVault));
745
+ }
746
+ return items;
747
+ }
748
+ export function encodeMigrateSameAssetDebt(evc, { oldLiabilityVault, newLiabilityVault, amount, account, enableController = true, disableController = true, sweepExcess = true, transferRemainingSharesTo, }) {
749
+ if (amount === maxUint256) {
750
+ throw new Error("Amount is maxUint256, cannot size debt migration");
751
+ }
752
+ const amountWithExtra = (amount * INTEREST_CUSHION_NUMERATOR) / INTEREST_CUSHION_DENOMINATOR;
753
+ if (amountWithExtra >= maxUint256) {
754
+ throw new Error("Amount with extra exceeds maxUint256");
755
+ }
756
+ const items = [];
757
+ if (enableController) {
758
+ items.push(encodeEnableController(evc, account, newLiabilityVault));
759
+ }
760
+ items.push({
761
+ targetContract: newLiabilityVault,
762
+ onBehalfOfAccount: account,
763
+ value: 0n,
764
+ data: encodeFunctionData({
765
+ abi: eVaultAbi,
766
+ functionName: "borrow",
767
+ args: [amountWithExtra, oldLiabilityVault],
768
+ }),
769
+ });
770
+ items.push({
771
+ targetContract: oldLiabilityVault,
772
+ onBehalfOfAccount: account,
773
+ value: 0n,
774
+ data: encodeFunctionData({
775
+ abi: eVaultAbi,
776
+ functionName: "skim",
777
+ args: [amountWithExtra, account],
778
+ }),
779
+ });
780
+ items.push({
781
+ targetContract: oldLiabilityVault,
782
+ onBehalfOfAccount: account,
783
+ value: 0n,
784
+ data: encodeFunctionData({
785
+ abi: eVaultAbi,
786
+ functionName: "repayWithShares",
787
+ args: [maxUint256, account],
788
+ }),
789
+ });
790
+ if (disableController) {
791
+ items.push(encodeDisableController(oldLiabilityVault, account));
792
+ }
793
+ if (sweepExcess) {
794
+ items.push({
795
+ targetContract: oldLiabilityVault,
796
+ onBehalfOfAccount: account,
797
+ value: 0n,
798
+ data: encodeFunctionData({
799
+ abi: eVaultAbi,
800
+ functionName: "redeem",
801
+ args: [maxUint256, newLiabilityVault, account],
802
+ }),
803
+ });
804
+ items.push({
805
+ targetContract: newLiabilityVault,
806
+ onBehalfOfAccount: account,
807
+ value: 0n,
808
+ data: encodeFunctionData({
809
+ abi: eVaultAbi,
810
+ functionName: "skim",
811
+ args: [maxUint256, account],
812
+ }),
813
+ });
814
+ }
815
+ if (transferRemainingSharesTo &&
816
+ getAddress(transferRemainingSharesTo) !== getAddress(account)) {
817
+ items.push(encodeTransferFromMax(newLiabilityVault, account, transferRemainingSharesTo));
818
+ }
819
+ return items;
820
+ }
821
+ export function encodeTransfer(evc, { vault, to, amount, from, enableCollateralTo, disableCollateralFrom }) {
822
+ const items = [];
823
+ if (disableCollateralFrom) {
824
+ items.push(encodeDisableCollateral(evc, from, vault));
825
+ }
826
+ items.push({
827
+ targetContract: vault,
828
+ onBehalfOfAccount: from,
829
+ value: 0n,
830
+ data: encodeFunctionData({
831
+ abi: eVaultAbi,
832
+ functionName: "transfer",
833
+ args: [to, amount],
834
+ }),
835
+ });
836
+ if (enableCollateralTo) {
837
+ items.push(encodeEnableCollateral(evc, to, vault));
838
+ }
839
+ return items;
840
+ }
841
+ //# sourceMappingURL=encode.js.map