@ember-finance/sdk 1.0.28 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. package/README.md +239 -29
  2. package/dist/src/abis/ERC20Token.json +659 -0
  3. package/dist/src/abis/EmberProtocolConfig.json +1078 -0
  4. package/dist/src/abis/EmberVault.json +2807 -0
  5. package/dist/src/{vaults/api → api}/v2/apis/vaults-api.d.ts +4 -8
  6. package/dist/src/{vaults/api → api}/v2/apis/vaults-api.js +7 -14
  7. package/dist/src/{vaults/api → api}/v2/models/apy-history.d.ts +6 -0
  8. package/dist/src/{vaults/api → api}/v2/models/chain-vault-details.d.ts +12 -0
  9. package/dist/src/{vaults/api → api}/v2/models/reported-apy.d.ts +6 -0
  10. package/dist/src/common/types.d.ts +4 -0
  11. package/dist/src/common/types.js +1 -0
  12. package/dist/src/ember-vaults.d.ts +169 -0
  13. package/dist/src/ember-vaults.js +239 -0
  14. package/dist/src/{vaults → evm-vaults}/index.d.ts +0 -2
  15. package/dist/src/{vaults → evm-vaults}/index.js +0 -2
  16. package/dist/src/evm-vaults/interfaces/index.d.ts +168 -0
  17. package/dist/src/evm-vaults/on-chain-calls/admin.d.ts +108 -0
  18. package/dist/src/evm-vaults/on-chain-calls/admin.js +147 -0
  19. package/dist/src/evm-vaults/on-chain-calls/index.d.ts +7 -0
  20. package/dist/src/evm-vaults/on-chain-calls/index.js +23 -0
  21. package/dist/src/evm-vaults/on-chain-calls/onchain-calls.d.ts +79 -0
  22. package/dist/src/evm-vaults/on-chain-calls/onchain-calls.js +190 -0
  23. package/dist/src/evm-vaults/on-chain-calls/operator.d.ts +72 -0
  24. package/dist/src/evm-vaults/on-chain-calls/operator.js +99 -0
  25. package/dist/src/evm-vaults/on-chain-calls/tx-builder.d.ts +250 -0
  26. package/dist/src/evm-vaults/on-chain-calls/tx-builder.js +542 -0
  27. package/dist/src/evm-vaults/on-chain-calls/user.d.ts +122 -0
  28. package/dist/src/evm-vaults/on-chain-calls/user.js +179 -0
  29. package/dist/src/evm-vaults/on-chain-calls/vault-admin.d.ts +137 -0
  30. package/dist/src/evm-vaults/on-chain-calls/vault-admin.js +185 -0
  31. package/dist/src/evm-vaults/on-chain-calls/vault-reader.d.ts +431 -0
  32. package/dist/src/evm-vaults/on-chain-calls/vault-reader.js +542 -0
  33. package/dist/src/evm-vaults/utils/deployment-parser.d.ts +97 -0
  34. package/dist/src/evm-vaults/utils/deployment-parser.js +164 -0
  35. package/dist/src/evm-vaults/utils/index.d.ts +1 -0
  36. package/dist/src/evm-vaults/utils/index.js +17 -0
  37. package/dist/src/index.d.ts +3 -0
  38. package/dist/src/index.js +19 -0
  39. package/dist/src/sui-vaults/index.d.ts +4 -0
  40. package/dist/src/sui-vaults/index.js +20 -0
  41. package/dist/src/{vaults → sui-vaults}/interfaces/index.d.ts +1 -1
  42. package/dist/src/sui-vaults/interfaces/index.js +2 -0
  43. package/dist/src/{vaults → sui-vaults}/on-chain-calls/admin.d.ts +2 -2
  44. package/dist/src/{vaults → sui-vaults}/on-chain-calls/onchain-calls.d.ts +5 -5
  45. package/dist/src/{vaults → sui-vaults}/on-chain-calls/onchain-calls.js +1 -1
  46. package/dist/src/{vaults → sui-vaults}/on-chain-calls/operator.d.ts +2 -2
  47. package/dist/src/{vaults → sui-vaults}/on-chain-calls/tx-builder.d.ts +5 -5
  48. package/dist/src/{vaults → sui-vaults}/on-chain-calls/tx-builder.js +1 -1
  49. package/dist/src/{vaults → sui-vaults}/on-chain-calls/user.d.ts +2 -2
  50. package/dist/src/{vaults → sui-vaults}/on-chain-calls/vault-admin.d.ts +2 -2
  51. package/dist/src/{vaults → sui-vaults}/utils/deployment-parser.d.ts +5 -5
  52. package/dist/src/{vaults → sui-vaults}/utils/deployment-parser.js +3 -3
  53. package/package.json +5 -4
  54. package/dist/src/vaults/ember-vaults.d.ts +0 -39
  55. package/dist/src/vaults/ember-vaults.js +0 -73
  56. /package/dist/src/{vaults/api → api}/api.d.ts +0 -0
  57. /package/dist/src/{vaults/api → api}/api.js +0 -0
  58. /package/dist/src/{vaults/api → api}/apis/accounts-api.d.ts +0 -0
  59. /package/dist/src/{vaults/api → api}/apis/accounts-api.js +0 -0
  60. /package/dist/src/{vaults/api → api}/apis/vaults-api.d.ts +0 -0
  61. /package/dist/src/{vaults/api → api}/apis/vaults-api.js +0 -0
  62. /package/dist/src/{vaults/api → api}/base.d.ts +0 -0
  63. /package/dist/src/{vaults/api → api}/base.js +0 -0
  64. /package/dist/src/{vaults/api → api}/common.d.ts +0 -0
  65. /package/dist/src/{vaults/api → api}/common.js +0 -0
  66. /package/dist/src/{vaults/api → api}/configuration.d.ts +0 -0
  67. /package/dist/src/{vaults/api → api}/configuration.js +0 -0
  68. /package/dist/src/{vaults/api → api}/index.d.ts +0 -0
  69. /package/dist/src/{vaults/api → api}/index.js +0 -0
  70. /package/dist/src/{vaults/api → api}/models/account-transaction-transaction-data.d.ts +0 -0
  71. /package/dist/src/{vaults/api → api}/models/account-transaction-transaction-data.js +0 -0
  72. /package/dist/src/{vaults/api → api}/models/account-transaction.d.ts +0 -0
  73. /package/dist/src/{vaults/api → api}/models/account-transaction.js +0 -0
  74. /package/dist/src/{vaults/api → api}/models/account-withdrawal-request.d.ts +0 -0
  75. /package/dist/src/{vaults/api → api}/models/account-withdrawal-request.js +0 -0
  76. /package/dist/src/{vaults/api → api}/models/apy-history-v2.d.ts +0 -0
  77. /package/dist/src/{vaults/api → api}/models/apy-history-v2.js +0 -0
  78. /package/dist/src/{vaults/api → api}/models/apy-history.d.ts +0 -0
  79. /package/dist/src/{vaults/api → api}/models/apy-history.js +0 -0
  80. /package/dist/src/{vaults/api → api}/models/asset.d.ts +0 -0
  81. /package/dist/src/{vaults/api → api}/models/asset.js +0 -0
  82. /package/dist/src/{vaults/api → api}/models/borrowed.d.ts +0 -0
  83. /package/dist/src/{vaults/api → api}/models/borrowed.js +0 -0
  84. /package/dist/src/{vaults/api → api}/models/chain.d.ts +0 -0
  85. /package/dist/src/{vaults/api → api}/models/chain.js +0 -0
  86. /package/dist/src/{vaults/api → api}/models/coin-price.d.ts +0 -0
  87. /package/dist/src/{vaults/api → api}/models/coin-price.js +0 -0
  88. /package/dist/src/{vaults/api → api}/models/deposit-transaction.d.ts +0 -0
  89. /package/dist/src/{vaults/api → api}/models/deposit-transaction.js +0 -0
  90. /package/dist/src/{vaults/api → api}/models/ember-position.d.ts +0 -0
  91. /package/dist/src/{vaults/api → api}/models/ember-position.js +0 -0
  92. /package/dist/src/{vaults/api → api}/models/exposure-coin.d.ts +0 -0
  93. /package/dist/src/{vaults/api → api}/models/exposure-coin.js +0 -0
  94. /package/dist/src/{vaults/api → api}/models/exposure-protocol.d.ts +0 -0
  95. /package/dist/src/{vaults/api → api}/models/exposure-protocol.js +0 -0
  96. /package/dist/src/{vaults/api → api}/models/exposure.d.ts +0 -0
  97. /package/dist/src/{vaults/api → api}/models/exposure.js +0 -0
  98. /package/dist/src/{vaults/api → api}/models/fee.d.ts +0 -0
  99. /package/dist/src/{vaults/api → api}/models/fee.js +0 -0
  100. /package/dist/src/{vaults/api → api}/models/fees.d.ts +0 -0
  101. /package/dist/src/{vaults/api → api}/models/fees.js +0 -0
  102. /package/dist/src/{vaults/api → api}/models/history-interval.d.ts +0 -0
  103. /package/dist/src/{vaults/api → api}/models/history-interval.js +0 -0
  104. /package/dist/src/{vaults/api → api}/models/index.d.ts +0 -0
  105. /package/dist/src/{vaults/api → api}/models/index.js +0 -0
  106. /package/dist/src/{vaults/api → api}/models/lp.d.ts +0 -0
  107. /package/dist/src/{vaults/api → api}/models/lp.js +0 -0
  108. /package/dist/src/{vaults/api → api}/models/manager.d.ts +0 -0
  109. /package/dist/src/{vaults/api → api}/models/manager.js +0 -0
  110. /package/dist/src/{vaults/api → api}/models/min-withdrawal-shares-updated-event.d.ts +0 -0
  111. /package/dist/src/{vaults/api → api}/models/min-withdrawal-shares-updated-event.js +0 -0
  112. /package/dist/src/{vaults/api → api}/models/perps.d.ts +0 -0
  113. /package/dist/src/{vaults/api → api}/models/perps.js +0 -0
  114. /package/dist/src/{vaults/api → api}/models/pnl-history-interval.d.ts +0 -0
  115. /package/dist/src/{vaults/api → api}/models/pnl-history-interval.js +0 -0
  116. /package/dist/src/{vaults/api → api}/models/pnl-history.d.ts +0 -0
  117. /package/dist/src/{vaults/api → api}/models/pnl-history.js +0 -0
  118. /package/dist/src/{vaults/api → api}/models/poc-report-asset.d.ts +0 -0
  119. /package/dist/src/{vaults/api → api}/models/poc-report-asset.js +0 -0
  120. /package/dist/src/{vaults/api → api}/models/poc-report-assets.d.ts +0 -0
  121. /package/dist/src/{vaults/api → api}/models/poc-report-assets.js +0 -0
  122. /package/dist/src/{vaults/api → api}/models/poc-report-exchange.d.ts +0 -0
  123. /package/dist/src/{vaults/api → api}/models/poc-report-exchange.js +0 -0
  124. /package/dist/src/{vaults/api → api}/models/poc-report-exchanges.d.ts +0 -0
  125. /package/dist/src/{vaults/api → api}/models/poc-report-exchanges.js +0 -0
  126. /package/dist/src/{vaults/api → api}/models/poc-report-protocol.d.ts +0 -0
  127. /package/dist/src/{vaults/api → api}/models/poc-report-protocol.js +0 -0
  128. /package/dist/src/{vaults/api → api}/models/poc-report-token.d.ts +0 -0
  129. /package/dist/src/{vaults/api → api}/models/poc-report-token.js +0 -0
  130. /package/dist/src/{vaults/api → api}/models/poc-report-wallet.d.ts +0 -0
  131. /package/dist/src/{vaults/api → api}/models/poc-report-wallet.js +0 -0
  132. /package/dist/src/{vaults/api → api}/models/poc-report-wallets.d.ts +0 -0
  133. /package/dist/src/{vaults/api → api}/models/poc-report-wallets.js +0 -0
  134. /package/dist/src/{vaults/api → api}/models/position-history-interval.d.ts +0 -0
  135. /package/dist/src/{vaults/api → api}/models/position-history-interval.js +0 -0
  136. /package/dist/src/{vaults/api → api}/models/position-history.d.ts +0 -0
  137. /package/dist/src/{vaults/api → api}/models/position-history.js +0 -0
  138. /package/dist/src/{vaults/api → api}/models/position-value.d.ts +0 -0
  139. /package/dist/src/{vaults/api → api}/models/position-value.js +0 -0
  140. /package/dist/src/{vaults/api → api}/models/position.d.ts +0 -0
  141. /package/dist/src/{vaults/api → api}/models/position.js +0 -0
  142. /package/dist/src/{vaults/api → api}/models/process-requests-summary-event.d.ts +0 -0
  143. /package/dist/src/{vaults/api → api}/models/process-requests-summary-event.js +0 -0
  144. /package/dist/src/{vaults/api → api}/models/proof-of-capital-report.d.ts +0 -0
  145. /package/dist/src/{vaults/api → api}/models/proof-of-capital-report.js +0 -0
  146. /package/dist/src/{vaults/api → api}/models/protocol-fee-collected-event.d.ts +0 -0
  147. /package/dist/src/{vaults/api → api}/models/protocol-fee-collected-event.js +0 -0
  148. /package/dist/src/{vaults/api → api}/models/protocol-info.d.ts +0 -0
  149. /package/dist/src/{vaults/api → api}/models/protocol-info.js +0 -0
  150. /package/dist/src/{vaults/api → api}/models/protocol.d.ts +0 -0
  151. /package/dist/src/{vaults/api → api}/models/protocol.js +0 -0
  152. /package/dist/src/{vaults/api → api}/models/raw-event-event-data.d.ts +0 -0
  153. /package/dist/src/{vaults/api → api}/models/raw-event-event-data.js +0 -0
  154. /package/dist/src/{vaults/api → api}/models/raw-event.d.ts +0 -0
  155. /package/dist/src/{vaults/api → api}/models/raw-event.js +0 -0
  156. /package/dist/src/{vaults/api → api}/models/redeem-request-cancelled-transaction.d.ts +0 -0
  157. /package/dist/src/{vaults/api → api}/models/redeem-request-cancelled-transaction.js +0 -0
  158. /package/dist/src/{vaults/api → api}/models/redeem-request-processed-transaction.d.ts +0 -0
  159. /package/dist/src/{vaults/api → api}/models/redeem-request-processed-transaction.js +0 -0
  160. /package/dist/src/{vaults/api → api}/models/redeem-request-skipped-transaction.d.ts +0 -0
  161. /package/dist/src/{vaults/api → api}/models/redeem-request-skipped-transaction.js +0 -0
  162. /package/dist/src/{vaults/api → api}/models/redeem-request-transaction.d.ts +0 -0
  163. /package/dist/src/{vaults/api → api}/models/redeem-request-transaction.js +0 -0
  164. /package/dist/src/{vaults/api → api}/models/reported-apy.d.ts +0 -0
  165. /package/dist/src/{vaults/api → api}/models/reported-apy.js +0 -0
  166. /package/dist/src/{vaults/api → api}/models/request-processed-event.d.ts +0 -0
  167. /package/dist/src/{vaults/api → api}/models/request-processed-event.js +0 -0
  168. /package/dist/src/{vaults/api → api}/models/request-redeemed-event.d.ts +0 -0
  169. /package/dist/src/{vaults/api → api}/models/request-redeemed-event.js +0 -0
  170. /package/dist/src/{vaults/api → api}/models/reward-token.d.ts +0 -0
  171. /package/dist/src/{vaults/api → api}/models/reward-token.js +0 -0
  172. /package/dist/src/{vaults/api → api}/models/reward.d.ts +0 -0
  173. /package/dist/src/{vaults/api → api}/models/reward.js +0 -0
  174. /package/dist/src/{vaults/api → api}/models/share-price-history.d.ts +0 -0
  175. /package/dist/src/{vaults/api → api}/models/share-price-history.js +0 -0
  176. /package/dist/src/{vaults/api → api}/models/strategy-account.d.ts +0 -0
  177. /package/dist/src/{vaults/api → api}/models/strategy-account.js +0 -0
  178. /package/dist/src/{vaults/api → api}/models/strategy.d.ts +0 -0
  179. /package/dist/src/{vaults/api → api}/models/strategy.js +0 -0
  180. /package/dist/src/{vaults/api → api}/models/sub-account.d.ts +0 -0
  181. /package/dist/src/{vaults/api → api}/models/sub-account.js +0 -0
  182. /package/dist/src/{vaults/api → api}/models/supplied.d.ts +0 -0
  183. /package/dist/src/{vaults/api → api}/models/supplied.js +0 -0
  184. /package/dist/src/{vaults/api → api}/models/tag.d.ts +0 -0
  185. /package/dist/src/{vaults/api → api}/models/tag.js +0 -0
  186. /package/dist/src/{vaults/api → api}/models/tvl-history.d.ts +0 -0
  187. /package/dist/src/{vaults/api → api}/models/tvl-history.js +0 -0
  188. /package/dist/src/{vaults/api → api}/models/ultra-coin-info.d.ts +0 -0
  189. /package/dist/src/{vaults/api → api}/models/ultra-coin-info.js +0 -0
  190. /package/dist/src/{vaults/api → api}/models/update-vault-strategies.d.ts +0 -0
  191. /package/dist/src/{vaults/api → api}/models/update-vault-strategies.js +0 -0
  192. /package/dist/src/{vaults/api → api}/models/vault-admin-changed-event.d.ts +0 -0
  193. /package/dist/src/{vaults/api → api}/models/vault-admin-changed-event.js +0 -0
  194. /package/dist/src/{vaults/api → api}/models/vault-created-event.d.ts +0 -0
  195. /package/dist/src/{vaults/api → api}/models/vault-created-event.js +0 -0
  196. /package/dist/src/{vaults/api → api}/models/vault-deposit-event.d.ts +0 -0
  197. /package/dist/src/{vaults/api → api}/models/vault-deposit-event.js +0 -0
  198. /package/dist/src/{vaults/api → api}/models/vault-deposit-without-minting-shares-event.d.ts +0 -0
  199. /package/dist/src/{vaults/api → api}/models/vault-deposit-without-minting-shares-event.js +0 -0
  200. /package/dist/src/{vaults/api → api}/models/vault-detail.d.ts +0 -0
  201. /package/dist/src/{vaults/api → api}/models/vault-detail.js +0 -0
  202. /package/dist/src/{vaults/api → api}/models/vault-fee-percentage-updated-event.d.ts +0 -0
  203. /package/dist/src/{vaults/api → api}/models/vault-fee-percentage-updated-event.js +0 -0
  204. /package/dist/src/{vaults/api → api}/models/vault-info.d.ts +0 -0
  205. /package/dist/src/{vaults/api → api}/models/vault-info.js +0 -0
  206. /package/dist/src/{vaults/api → api}/models/vault-max-tvl-updated-event.d.ts +0 -0
  207. /package/dist/src/{vaults/api → api}/models/vault-max-tvl-updated-event.js +0 -0
  208. /package/dist/src/{vaults/api → api}/models/vault-operator-changed-event.d.ts +0 -0
  209. /package/dist/src/{vaults/api → api}/models/vault-operator-changed-event.js +0 -0
  210. /package/dist/src/{vaults/api → api}/models/vault-paused-status-updated-event.d.ts +0 -0
  211. /package/dist/src/{vaults/api → api}/models/vault-paused-status-updated-event.js +0 -0
  212. /package/dist/src/{vaults/api → api}/models/vault-platform-fee-charged-event.d.ts +0 -0
  213. /package/dist/src/{vaults/api → api}/models/vault-platform-fee-charged-event.js +0 -0
  214. /package/dist/src/{vaults/api → api}/models/vault-protocol.d.ts +0 -0
  215. /package/dist/src/{vaults/api → api}/models/vault-protocol.js +0 -0
  216. /package/dist/src/{vaults/api → api}/models/vault-rate-updated-event.d.ts +0 -0
  217. /package/dist/src/{vaults/api → api}/models/vault-rate-updated-event.js +0 -0
  218. /package/dist/src/{vaults/api → api}/models/vault-slice.d.ts +0 -0
  219. /package/dist/src/{vaults/api → api}/models/vault-slice.js +0 -0
  220. /package/dist/src/{vaults/api → api}/models/vault-sub-account-updated-event.d.ts +0 -0
  221. /package/dist/src/{vaults/api → api}/models/vault-sub-account-updated-event.js +0 -0
  222. /package/dist/src/{vaults/api → api}/models/vault-withdrawal-without-redeeming-shares-event.d.ts +0 -0
  223. /package/dist/src/{vaults/api → api}/models/vault-withdrawal-without-redeeming-shares-event.js +0 -0
  224. /package/dist/src/{vaults/api → api}/models/vaults-stats.d.ts +0 -0
  225. /package/dist/src/{vaults/api → api}/models/vaults-stats.js +0 -0
  226. /package/dist/src/{vaults/api → api}/models/yield-aggregate-value.d.ts +0 -0
  227. /package/dist/src/{vaults/api → api}/models/yield-aggregate-value.js +0 -0
  228. /package/dist/src/{vaults/api → api}/v2/api.d.ts +0 -0
  229. /package/dist/src/{vaults/api → api}/v2/api.js +0 -0
  230. /package/dist/src/{vaults/api → api}/v2/apis/accounts-api.d.ts +0 -0
  231. /package/dist/src/{vaults/api → api}/v2/apis/accounts-api.js +0 -0
  232. /package/dist/src/{vaults/api → api}/v2/base.d.ts +0 -0
  233. /package/dist/src/{vaults/api → api}/v2/base.js +0 -0
  234. /package/dist/src/{vaults/api → api}/v2/common.d.ts +0 -0
  235. /package/dist/src/{vaults/api → api}/v2/common.js +0 -0
  236. /package/dist/src/{vaults/api → api}/v2/configuration.d.ts +0 -0
  237. /package/dist/src/{vaults/api → api}/v2/configuration.js +0 -0
  238. /package/dist/src/{vaults/api → api}/v2/index.d.ts +0 -0
  239. /package/dist/src/{vaults/api → api}/v2/index.js +0 -0
  240. /package/dist/src/{vaults/api → api}/v2/models/account-transaction-transaction-data.d.ts +0 -0
  241. /package/dist/src/{vaults/api → api}/v2/models/account-transaction-transaction-data.js +0 -0
  242. /package/dist/src/{vaults/api → api}/v2/models/account-transaction.d.ts +0 -0
  243. /package/dist/src/{vaults/api → api}/v2/models/account-transaction.js +0 -0
  244. /package/dist/src/{vaults/api → api}/v2/models/account-vault-position-history.d.ts +0 -0
  245. /package/dist/src/{vaults/api → api}/v2/models/account-vault-position-history.js +0 -0
  246. /package/dist/src/{vaults/api → api}/v2/models/account-withdrawal-request.d.ts +0 -0
  247. /package/dist/src/{vaults/api → api}/v2/models/account-withdrawal-request.js +0 -0
  248. /package/dist/src/{vaults/api → api}/v2/models/aggregated-account-position-history.d.ts +0 -0
  249. /package/dist/src/{vaults/api → api}/v2/models/aggregated-account-position-history.js +0 -0
  250. /package/dist/src/{vaults/api → api}/v2/models/apy-history-response.d.ts +0 -0
  251. /package/dist/src/{vaults/api → api}/v2/models/apy-history-response.js +0 -0
  252. /package/dist/src/{vaults/api → api}/v2/models/apy-history.js +0 -0
  253. /package/dist/src/{vaults/api → api}/v2/models/asset.d.ts +0 -0
  254. /package/dist/src/{vaults/api → api}/v2/models/asset.js +0 -0
  255. /package/dist/src/{vaults/api → api}/v2/models/borrowed.d.ts +0 -0
  256. /package/dist/src/{vaults/api → api}/v2/models/borrowed.js +0 -0
  257. /package/dist/src/{vaults/api → api}/v2/models/chain-vault-details.js +0 -0
  258. /package/dist/src/{vaults/api → api}/v2/models/chain.d.ts +0 -0
  259. /package/dist/src/{vaults/api → api}/v2/models/chain.js +0 -0
  260. /package/dist/src/{vaults/api → api}/v2/models/coin-price.d.ts +0 -0
  261. /package/dist/src/{vaults/api → api}/v2/models/coin-price.js +0 -0
  262. /package/dist/src/{vaults/api → api}/v2/models/deposit-transaction.d.ts +0 -0
  263. /package/dist/src/{vaults/api → api}/v2/models/deposit-transaction.js +0 -0
  264. /package/dist/src/{vaults/api → api}/v2/models/ember-position.d.ts +0 -0
  265. /package/dist/src/{vaults/api → api}/v2/models/ember-position.js +0 -0
  266. /package/dist/src/{vaults/api → api}/v2/models/evm-contracts.d.ts +0 -0
  267. /package/dist/src/{vaults/api → api}/v2/models/evm-contracts.js +0 -0
  268. /package/dist/src/{vaults/api → api}/v2/models/evm-deposit-token.d.ts +0 -0
  269. /package/dist/src/{vaults/api → api}/v2/models/evm-deposit-token.js +0 -0
  270. /package/dist/src/{vaults/api → api}/v2/models/evm-price-feed.d.ts +0 -0
  271. /package/dist/src/{vaults/api → api}/v2/models/evm-price-feed.js +0 -0
  272. /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-config.d.ts +0 -0
  273. /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-config.js +0 -0
  274. /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-info.d.ts +0 -0
  275. /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-info.js +0 -0
  276. /package/dist/src/{vaults/api → api}/v2/models/evm-receipt-token.d.ts +0 -0
  277. /package/dist/src/{vaults/api → api}/v2/models/evm-receipt-token.js +0 -0
  278. /package/dist/src/{vaults/api → api}/v2/models/evm-vault.d.ts +0 -0
  279. /package/dist/src/{vaults/api → api}/v2/models/evm-vault.js +0 -0
  280. /package/dist/src/{vaults/api → api}/v2/models/exposure-coin.d.ts +0 -0
  281. /package/dist/src/{vaults/api → api}/v2/models/exposure-coin.js +0 -0
  282. /package/dist/src/{vaults/api → api}/v2/models/exposure-protocol.d.ts +0 -0
  283. /package/dist/src/{vaults/api → api}/v2/models/exposure-protocol.js +0 -0
  284. /package/dist/src/{vaults/api → api}/v2/models/exposure.d.ts +0 -0
  285. /package/dist/src/{vaults/api → api}/v2/models/exposure.js +0 -0
  286. /package/dist/src/{vaults/api → api}/v2/models/fee.d.ts +0 -0
  287. /package/dist/src/{vaults/api → api}/v2/models/fee.js +0 -0
  288. /package/dist/src/{vaults/api → api}/v2/models/fees.d.ts +0 -0
  289. /package/dist/src/{vaults/api → api}/v2/models/fees.js +0 -0
  290. /package/dist/src/{vaults/api → api}/v2/models/history-interval.d.ts +0 -0
  291. /package/dist/src/{vaults/api → api}/v2/models/history-interval.js +0 -0
  292. /package/dist/src/{vaults/api → api}/v2/models/index.d.ts +0 -0
  293. /package/dist/src/{vaults/api → api}/v2/models/index.js +0 -0
  294. /package/dist/src/{vaults/api → api}/v2/models/lp.d.ts +0 -0
  295. /package/dist/src/{vaults/api → api}/v2/models/lp.js +0 -0
  296. /package/dist/src/{vaults/api → api}/v2/models/manager.d.ts +0 -0
  297. /package/dist/src/{vaults/api → api}/v2/models/manager.js +0 -0
  298. /package/dist/src/{vaults/api → api}/v2/models/min-withdrawal-shares-updated-event.d.ts +0 -0
  299. /package/dist/src/{vaults/api → api}/v2/models/min-withdrawal-shares-updated-event.js +0 -0
  300. /package/dist/src/{vaults/api → api}/v2/models/perps.d.ts +0 -0
  301. /package/dist/src/{vaults/api → api}/v2/models/perps.js +0 -0
  302. /package/dist/src/{vaults/api → api}/v2/models/pnl-by-chain.d.ts +0 -0
  303. /package/dist/src/{vaults/api → api}/v2/models/pnl-by-chain.js +0 -0
  304. /package/dist/src/{vaults/api → api}/v2/models/pnl-history-interval.d.ts +0 -0
  305. /package/dist/src/{vaults/api → api}/v2/models/pnl-history-interval.js +0 -0
  306. /package/dist/src/{vaults/api → api}/v2/models/pnl-history.d.ts +0 -0
  307. /package/dist/src/{vaults/api → api}/v2/models/pnl-history.js +0 -0
  308. /package/dist/src/{vaults/api → api}/v2/models/poc-report-asset.d.ts +0 -0
  309. /package/dist/src/{vaults/api → api}/v2/models/poc-report-asset.js +0 -0
  310. /package/dist/src/{vaults/api → api}/v2/models/poc-report-assets.d.ts +0 -0
  311. /package/dist/src/{vaults/api → api}/v2/models/poc-report-assets.js +0 -0
  312. /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchange.d.ts +0 -0
  313. /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchange.js +0 -0
  314. /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchanges.d.ts +0 -0
  315. /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchanges.js +0 -0
  316. /package/dist/src/{vaults/api → api}/v2/models/poc-report-protocol.d.ts +0 -0
  317. /package/dist/src/{vaults/api → api}/v2/models/poc-report-protocol.js +0 -0
  318. /package/dist/src/{vaults/api → api}/v2/models/poc-report-token.d.ts +0 -0
  319. /package/dist/src/{vaults/api → api}/v2/models/poc-report-token.js +0 -0
  320. /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallet.d.ts +0 -0
  321. /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallet.js +0 -0
  322. /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallets.d.ts +0 -0
  323. /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallets.js +0 -0
  324. /package/dist/src/{vaults/api → api}/v2/models/position-history-interval.d.ts +0 -0
  325. /package/dist/src/{vaults/api → api}/v2/models/position-history-interval.js +0 -0
  326. /package/dist/src/{vaults/api → api}/v2/models/position-value.d.ts +0 -0
  327. /package/dist/src/{vaults/api → api}/v2/models/position-value.js +0 -0
  328. /package/dist/src/{vaults/api → api}/v2/models/position.d.ts +0 -0
  329. /package/dist/src/{vaults/api → api}/v2/models/position.js +0 -0
  330. /package/dist/src/{vaults/api → api}/v2/models/process-requests-summary-event.d.ts +0 -0
  331. /package/dist/src/{vaults/api → api}/v2/models/process-requests-summary-event.js +0 -0
  332. /package/dist/src/{vaults/api → api}/v2/models/proof-of-capital-report.d.ts +0 -0
  333. /package/dist/src/{vaults/api → api}/v2/models/proof-of-capital-report.js +0 -0
  334. /package/dist/src/{vaults/api → api}/v2/models/protocol-fee-collected-event.d.ts +0 -0
  335. /package/dist/src/{vaults/api → api}/v2/models/protocol-fee-collected-event.js +0 -0
  336. /package/dist/src/{vaults/api → api}/v2/models/protocol-pnl-history.d.ts +0 -0
  337. /package/dist/src/{vaults/api → api}/v2/models/protocol-pnl-history.js +0 -0
  338. /package/dist/src/{vaults/api → api}/v2/models/protocol-tvl-history.d.ts +0 -0
  339. /package/dist/src/{vaults/api → api}/v2/models/protocol-tvl-history.js +0 -0
  340. /package/dist/src/{vaults/api → api}/v2/models/protocol.d.ts +0 -0
  341. /package/dist/src/{vaults/api → api}/v2/models/protocol.js +0 -0
  342. /package/dist/src/{vaults/api → api}/v2/models/raw-event-event-data.d.ts +0 -0
  343. /package/dist/src/{vaults/api → api}/v2/models/raw-event-event-data.js +0 -0
  344. /package/dist/src/{vaults/api → api}/v2/models/raw-event.d.ts +0 -0
  345. /package/dist/src/{vaults/api → api}/v2/models/raw-event.js +0 -0
  346. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-cancelled-transaction.d.ts +0 -0
  347. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-cancelled-transaction.js +0 -0
  348. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-processed-transaction.d.ts +0 -0
  349. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-processed-transaction.js +0 -0
  350. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-skipped-transaction.d.ts +0 -0
  351. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-skipped-transaction.js +0 -0
  352. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-transaction.d.ts +0 -0
  353. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-transaction.js +0 -0
  354. /package/dist/src/{vaults/api → api}/v2/models/reported-apy.js +0 -0
  355. /package/dist/src/{vaults/api → api}/v2/models/request-processed-event.d.ts +0 -0
  356. /package/dist/src/{vaults/api → api}/v2/models/request-processed-event.js +0 -0
  357. /package/dist/src/{vaults/api → api}/v2/models/request-redeemed-event.d.ts +0 -0
  358. /package/dist/src/{vaults/api → api}/v2/models/request-redeemed-event.js +0 -0
  359. /package/dist/src/{vaults/api → api}/v2/models/reward-token.d.ts +0 -0
  360. /package/dist/src/{vaults/api → api}/v2/models/reward-token.js +0 -0
  361. /package/dist/src/{vaults/api → api}/v2/models/reward.d.ts +0 -0
  362. /package/dist/src/{vaults/api → api}/v2/models/reward.js +0 -0
  363. /package/dist/src/{vaults/api → api}/v2/models/share-price-history.d.ts +0 -0
  364. /package/dist/src/{vaults/api → api}/v2/models/share-price-history.js +0 -0
  365. /package/dist/src/{vaults/api → api}/v2/models/strategy-account.d.ts +0 -0
  366. /package/dist/src/{vaults/api → api}/v2/models/strategy-account.js +0 -0
  367. /package/dist/src/{vaults/api → api}/v2/models/strategy.d.ts +0 -0
  368. /package/dist/src/{vaults/api → api}/v2/models/strategy.js +0 -0
  369. /package/dist/src/{vaults/api → api}/v2/models/sub-account.d.ts +0 -0
  370. /package/dist/src/{vaults/api → api}/v2/models/sub-account.js +0 -0
  371. /package/dist/src/{vaults/api → api}/v2/models/sui-protocol-info.d.ts +0 -0
  372. /package/dist/src/{vaults/api → api}/v2/models/sui-protocol-info.js +0 -0
  373. /package/dist/src/{vaults/api → api}/v2/models/supplied.d.ts +0 -0
  374. /package/dist/src/{vaults/api → api}/v2/models/supplied.js +0 -0
  375. /package/dist/src/{vaults/api → api}/v2/models/tag.d.ts +0 -0
  376. /package/dist/src/{vaults/api → api}/v2/models/tag.js +0 -0
  377. /package/dist/src/{vaults/api → api}/v2/models/tvl-by-chain.d.ts +0 -0
  378. /package/dist/src/{vaults/api → api}/v2/models/tvl-by-chain.js +0 -0
  379. /package/dist/src/{vaults/api → api}/v2/models/tvl-history.d.ts +0 -0
  380. /package/dist/src/{vaults/api → api}/v2/models/tvl-history.js +0 -0
  381. /package/dist/src/{vaults/api → api}/v2/models/ultra-coin-info.d.ts +0 -0
  382. /package/dist/src/{vaults/api → api}/v2/models/ultra-coin-info.js +0 -0
  383. /package/dist/src/{vaults/api → api}/v2/models/update-vault-strategies.d.ts +0 -0
  384. /package/dist/src/{vaults/api → api}/v2/models/update-vault-strategies.js +0 -0
  385. /package/dist/src/{vaults/api → api}/v2/models/vault-admin-changed-event.d.ts +0 -0
  386. /package/dist/src/{vaults/api → api}/v2/models/vault-admin-changed-event.js +0 -0
  387. /package/dist/src/{vaults/api → api}/v2/models/vault-created-event.d.ts +0 -0
  388. /package/dist/src/{vaults/api → api}/v2/models/vault-created-event.js +0 -0
  389. /package/dist/src/{vaults/api → api}/v2/models/vault-deposit-event.d.ts +0 -0
  390. /package/dist/src/{vaults/api → api}/v2/models/vault-deposit-event.js +0 -0
  391. /package/dist/src/{vaults/api → api}/v2/models/vault-deposit-without-minting-shares-event.d.ts +0 -0
  392. /package/dist/src/{vaults/api → api}/v2/models/vault-deposit-without-minting-shares-event.js +0 -0
  393. /package/dist/src/{vaults/api → api}/v2/models/vault-detail.d.ts +0 -0
  394. /package/dist/src/{vaults/api → api}/v2/models/vault-detail.js +0 -0
  395. /package/dist/src/{vaults/api → api}/v2/models/vault-fee-percentage-updated-event.d.ts +0 -0
  396. /package/dist/src/{vaults/api → api}/v2/models/vault-fee-percentage-updated-event.js +0 -0
  397. /package/dist/src/{vaults/api → api}/v2/models/vault-info.d.ts +0 -0
  398. /package/dist/src/{vaults/api → api}/v2/models/vault-info.js +0 -0
  399. /package/dist/src/{vaults/api → api}/v2/models/vault-max-tvl-updated-event.d.ts +0 -0
  400. /package/dist/src/{vaults/api → api}/v2/models/vault-max-tvl-updated-event.js +0 -0
  401. /package/dist/src/{vaults/api → api}/v2/models/vault-operator-changed-event.d.ts +0 -0
  402. /package/dist/src/{vaults/api → api}/v2/models/vault-operator-changed-event.js +0 -0
  403. /package/dist/src/{vaults/api → api}/v2/models/vault-paused-status-updated-event.d.ts +0 -0
  404. /package/dist/src/{vaults/api → api}/v2/models/vault-paused-status-updated-event.js +0 -0
  405. /package/dist/src/{vaults/api → api}/v2/models/vault-platform-fee-charged-event.d.ts +0 -0
  406. /package/dist/src/{vaults/api → api}/v2/models/vault-platform-fee-charged-event.js +0 -0
  407. /package/dist/src/{vaults/api → api}/v2/models/vault-protocol.d.ts +0 -0
  408. /package/dist/src/{vaults/api → api}/v2/models/vault-protocol.js +0 -0
  409. /package/dist/src/{vaults/api → api}/v2/models/vault-rate-updated-event.d.ts +0 -0
  410. /package/dist/src/{vaults/api → api}/v2/models/vault-rate-updated-event.js +0 -0
  411. /package/dist/src/{vaults/api → api}/v2/models/vault-slice.d.ts +0 -0
  412. /package/dist/src/{vaults/api → api}/v2/models/vault-slice.js +0 -0
  413. /package/dist/src/{vaults/api → api}/v2/models/vault-sub-account-updated-event.d.ts +0 -0
  414. /package/dist/src/{vaults/api → api}/v2/models/vault-sub-account-updated-event.js +0 -0
  415. /package/dist/src/{vaults/api → api}/v2/models/vault-tag.d.ts +0 -0
  416. /package/dist/src/{vaults/api → api}/v2/models/vault-tag.js +0 -0
  417. /package/dist/src/{vaults/api → api}/v2/models/vault-withdrawal-without-redeeming-shares-event.d.ts +0 -0
  418. /package/dist/src/{vaults/api → api}/v2/models/vault-withdrawal-without-redeeming-shares-event.js +0 -0
  419. /package/dist/src/{vaults/api → api}/v2/models/vaults-deployment-config-config.d.ts +0 -0
  420. /package/dist/src/{vaults/api → api}/v2/models/vaults-deployment-config-config.js +0 -0
  421. /package/dist/src/{vaults/api → api}/v2/models/vaults-deployment-config.d.ts +0 -0
  422. /package/dist/src/{vaults/api → api}/v2/models/vaults-deployment-config.js +0 -0
  423. /package/dist/src/{vaults/api → api}/v2/models/vaults-stats.d.ts +0 -0
  424. /package/dist/src/{vaults/api → api}/v2/models/vaults-stats.js +0 -0
  425. /package/dist/src/{vaults/api → api}/v2/models/yield-aggregate-value.d.ts +0 -0
  426. /package/dist/src/{vaults/api → api}/v2/models/yield-aggregate-value.js +0 -0
  427. /package/dist/src/{vaults → evm-vaults}/interfaces/index.js +0 -0
  428. /package/dist/src/{vaults → sui-vaults}/interfaces/bcs.d.ts +0 -0
  429. /package/dist/src/{vaults → sui-vaults}/interfaces/bcs.js +0 -0
  430. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/admin.js +0 -0
  431. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/index.d.ts +0 -0
  432. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/index.js +0 -0
  433. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/operator.js +0 -0
  434. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/user.js +0 -0
  435. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/vault-admin.js +0 -0
  436. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/vault.d.ts +0 -0
  437. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/vault.js +0 -0
  438. /package/dist/src/{vaults → sui-vaults}/utils/common.d.ts +0 -0
  439. /package/dist/src/{vaults → sui-vaults}/utils/common.js +0 -0
  440. /package/dist/src/{vaults → sui-vaults}/utils/index.d.ts +0 -0
  441. /package/dist/src/{vaults → sui-vaults}/utils/index.js +0 -0
@@ -0,0 +1,542 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EVMVaultReader = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const deployment_parser_1 = require("../utils/deployment-parser");
9
+ const EmberVault_json_1 = __importDefault(require("../../abis/EmberVault.json"));
10
+ const EmberProtocolConfig_json_1 = __importDefault(require("../../abis/EmberProtocolConfig.json"));
11
+ const ERC20Token_json_1 = __importDefault(require("../../abis/ERC20Token.json"));
12
+ /**
13
+ * EVM Vault Reader - Read-only operations for Ember Vaults
14
+ *
15
+ * This class provides methods to query vault state, user positions,
16
+ * and other read-only data from Ember vaults on EVM chains.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * import { EVMVaultReader } from "@ember-finance/sdk";
21
+ * import { ethers } from "ethers";
22
+ *
23
+ * const provider = new ethers.JsonRpcProvider("https://...");
24
+ * const reader = new EVMVaultReader(deployment, provider);
25
+ *
26
+ * // Get complete vault information
27
+ * const vaultInfo = await reader.getCompleteVaultInfo(vaultAddress);
28
+ * console.log("Total Assets:", vaultInfo.state.totalAssets);
29
+ *
30
+ * // Get user's position
31
+ * const position = await reader.getUserPosition(vaultAddress, userAddress);
32
+ * console.log("Share Balance:", position.shareBalance);
33
+ * ```
34
+ */
35
+ class EVMVaultReader {
36
+ constructor(_deployment, _provider) {
37
+ this.parser = new deployment_parser_1.EVMDeploymentParser(_deployment);
38
+ this.provider = _provider;
39
+ }
40
+ /**
41
+ * Updates the deployment configuration
42
+ * @param newDeployment The new deployment configuration
43
+ */
44
+ updateDeployment(newDeployment) {
45
+ this.parser.updateDeployment(newDeployment);
46
+ }
47
+ /**
48
+ * Creates an ethers Contract instance for a vault
49
+ */
50
+ getVaultContract(vaultAddress) {
51
+ return new ethers_1.Contract(vaultAddress, EmberVault_json_1.default.abi, this.provider);
52
+ }
53
+ /**
54
+ * Creates an ethers Contract instance for protocol config
55
+ */
56
+ getProtocolConfigContract() {
57
+ const configAddress = this.parser.getProtocolConfigAddress();
58
+ return new ethers_1.Contract(configAddress, EmberProtocolConfig_json_1.default.abi, this.provider);
59
+ }
60
+ /**
61
+ * Creates an ethers Contract instance for an ERC20 token
62
+ */
63
+ getERC20Contract(tokenAddress) {
64
+ return new ethers_1.Contract(tokenAddress, ERC20Token_json_1.default.abi, this.provider);
65
+ }
66
+ // ========== Vault State Methods ==========
67
+ /**
68
+ * Gets the basic vault state
69
+ * @param vaultAddress The vault address
70
+ * @returns Vault state information
71
+ */
72
+ async getVaultState(vaultAddress) {
73
+ const vault = this.getVaultContract(vaultAddress);
74
+ const [vaultName, tokenName, tokenSymbol, decimals, asset, totalAssets, totalSupply, maxTVL, minWithdrawableShares, protocolConfig, owner, sequenceNumber] = await Promise.all([
75
+ vault.vaultName(),
76
+ vault.name(),
77
+ vault.symbol(),
78
+ vault.decimals(),
79
+ vault.asset(),
80
+ vault.totalAssets(),
81
+ vault.totalSupply(),
82
+ vault.maxTVL(),
83
+ vault.minWithdrawableShares(),
84
+ vault.protocolConfig(),
85
+ vault.owner(),
86
+ vault.sequenceNumber()
87
+ ]);
88
+ return {
89
+ vaultName,
90
+ tokenName,
91
+ tokenSymbol,
92
+ decimals: Number(decimals),
93
+ asset,
94
+ totalAssets,
95
+ totalSupply,
96
+ maxTVL,
97
+ minWithdrawableShares,
98
+ protocolConfig,
99
+ owner,
100
+ sequenceNumber
101
+ };
102
+ }
103
+ /**
104
+ * Gets the vault rate information
105
+ * @param vaultAddress The vault address
106
+ * @returns Rate information
107
+ */
108
+ async getVaultRate(vaultAddress) {
109
+ const vault = this.getVaultContract(vaultAddress);
110
+ const rate = await vault.rate();
111
+ return {
112
+ value: rate.value,
113
+ maxRateChangePerUpdate: rate.maxRateChangePerUpdate,
114
+ rateUpdateInterval: rate.rateUpdateInterval,
115
+ lastUpdatedAt: rate.lastUpdatedAt
116
+ };
117
+ }
118
+ /**
119
+ * Gets the vault roles (admin, operator, rate manager)
120
+ * @param vaultAddress The vault address
121
+ * @returns Vault roles
122
+ */
123
+ async getVaultRoles(vaultAddress) {
124
+ const vault = this.getVaultContract(vaultAddress);
125
+ const roles = await vault.roles();
126
+ return {
127
+ admin: roles.admin,
128
+ operator: roles.operator,
129
+ rateManager: roles.rateManager
130
+ };
131
+ }
132
+ /**
133
+ * Gets the vault pause status
134
+ * @param vaultAddress The vault address
135
+ * @returns Pause status for different operations
136
+ */
137
+ async getVaultPauseStatus(vaultAddress) {
138
+ const vault = this.getVaultContract(vaultAddress);
139
+ const status = await vault.pauseStatus();
140
+ return {
141
+ deposits: status.deposits,
142
+ withdrawals: status.withdrawals,
143
+ privilegedOperations: status.privilegedOperations
144
+ };
145
+ }
146
+ /**
147
+ * Gets the platform fee information
148
+ * @param vaultAddress The vault address
149
+ * @returns Platform fee information
150
+ */
151
+ async getVaultPlatformFee(vaultAddress) {
152
+ const vault = this.getVaultContract(vaultAddress);
153
+ const fee = await vault.platformFee();
154
+ return {
155
+ accrued: fee.accrued,
156
+ lastChargedAt: fee.lastChargedAt,
157
+ platformFeePercentage: fee.platformFeePercentage,
158
+ platformFeeRecipient: fee.platformFeeRecipient
159
+ };
160
+ }
161
+ /**
162
+ * Gets complete vault information in a single call
163
+ * @param vaultAddress The vault address
164
+ * @returns Complete vault information
165
+ */
166
+ async getCompleteVaultInfo(vaultAddress) {
167
+ const [state, rate, roles, pauseStatus, platformFee, pendingWithdrawalsCount] = await Promise.all([
168
+ this.getVaultState(vaultAddress),
169
+ this.getVaultRate(vaultAddress),
170
+ this.getVaultRoles(vaultAddress),
171
+ this.getVaultPauseStatus(vaultAddress),
172
+ this.getVaultPlatformFee(vaultAddress),
173
+ this.getPendingWithdrawalsCount(vaultAddress)
174
+ ]);
175
+ return {
176
+ address: vaultAddress,
177
+ state,
178
+ rate,
179
+ roles,
180
+ pauseStatus,
181
+ platformFee,
182
+ pendingWithdrawalsCount
183
+ };
184
+ }
185
+ // ========== ERC-4626 Methods ==========
186
+ /**
187
+ * Gets the underlying asset address
188
+ * @param vaultAddress The vault address
189
+ * @returns Asset address
190
+ */
191
+ async getAsset(vaultAddress) {
192
+ const vault = this.getVaultContract(vaultAddress);
193
+ return vault.asset();
194
+ }
195
+ /**
196
+ * Gets total assets under management
197
+ * @param vaultAddress The vault address
198
+ * @returns Total assets
199
+ */
200
+ async getTotalAssets(vaultAddress) {
201
+ const vault = this.getVaultContract(vaultAddress);
202
+ return vault.totalAssets();
203
+ }
204
+ /**
205
+ * Gets total shares supply
206
+ * @param vaultAddress The vault address
207
+ * @returns Total supply
208
+ */
209
+ async getTotalSupply(vaultAddress) {
210
+ const vault = this.getVaultContract(vaultAddress);
211
+ return vault.totalSupply();
212
+ }
213
+ /**
214
+ * Converts assets to shares
215
+ * @param vaultAddress The vault address
216
+ * @param assets Amount of assets
217
+ * @returns Equivalent shares
218
+ */
219
+ async convertToShares(vaultAddress, assets) {
220
+ const vault = this.getVaultContract(vaultAddress);
221
+ return vault.convertToShares(assets);
222
+ }
223
+ /**
224
+ * Converts shares to assets
225
+ * @param vaultAddress The vault address
226
+ * @param shares Amount of shares
227
+ * @returns Equivalent assets
228
+ */
229
+ async convertToAssets(vaultAddress, shares) {
230
+ const vault = this.getVaultContract(vaultAddress);
231
+ return vault.convertToAssets(shares);
232
+ }
233
+ /**
234
+ * Preview deposit - returns shares that would be minted
235
+ * @param vaultAddress The vault address
236
+ * @param assets Amount of assets to deposit
237
+ * @returns Shares that would be minted
238
+ */
239
+ async previewDeposit(vaultAddress, assets) {
240
+ const vault = this.getVaultContract(vaultAddress);
241
+ return vault.previewDeposit(assets);
242
+ }
243
+ /**
244
+ * Preview mint - returns assets required for shares
245
+ * @param vaultAddress The vault address
246
+ * @param shares Amount of shares to mint
247
+ * @returns Assets required
248
+ */
249
+ async previewMint(vaultAddress, shares) {
250
+ const vault = this.getVaultContract(vaultAddress);
251
+ return vault.previewMint(shares);
252
+ }
253
+ /**
254
+ * Preview redeem - returns assets that would be received
255
+ * @param vaultAddress The vault address
256
+ * @param shares Amount of shares to redeem
257
+ * @returns Assets that would be received
258
+ */
259
+ async previewRedeem(vaultAddress, shares) {
260
+ const vault = this.getVaultContract(vaultAddress);
261
+ return vault.previewRedeem(shares);
262
+ }
263
+ /**
264
+ * Preview withdraw - returns shares that would be burned
265
+ * @param vaultAddress The vault address
266
+ * @param assets Amount of assets to withdraw
267
+ * @returns Shares that would be burned
268
+ */
269
+ async previewWithdraw(vaultAddress, assets) {
270
+ const vault = this.getVaultContract(vaultAddress);
271
+ return vault.previewWithdraw(assets);
272
+ }
273
+ /**
274
+ * Gets max deposit for an account
275
+ * @param vaultAddress The vault address
276
+ * @param account The account address
277
+ * @returns Maximum deposit amount
278
+ */
279
+ async maxDeposit(vaultAddress, account) {
280
+ const vault = this.getVaultContract(vaultAddress);
281
+ return vault.maxDeposit(account);
282
+ }
283
+ /**
284
+ * Gets max mint for an account
285
+ * @param vaultAddress The vault address
286
+ * @param account The account address
287
+ * @returns Maximum mint amount
288
+ */
289
+ async maxMint(vaultAddress, account) {
290
+ const vault = this.getVaultContract(vaultAddress);
291
+ return vault.maxMint(account);
292
+ }
293
+ /**
294
+ * Gets max redeem for an account
295
+ * @param vaultAddress The vault address
296
+ * @param account The account address
297
+ * @returns Maximum redeem amount
298
+ */
299
+ async maxRedeem(vaultAddress, account) {
300
+ const vault = this.getVaultContract(vaultAddress);
301
+ return vault.maxRedeem(account);
302
+ }
303
+ /**
304
+ * Gets max withdraw for an account
305
+ * @param vaultAddress The vault address
306
+ * @param account The account address
307
+ * @returns Maximum withdraw amount
308
+ */
309
+ async maxWithdraw(vaultAddress, account) {
310
+ const vault = this.getVaultContract(vaultAddress);
311
+ return vault.maxWithdraw(account);
312
+ }
313
+ // ========== User Position Methods ==========
314
+ /**
315
+ * Gets the share balance for an account
316
+ * @param vaultAddress The vault address
317
+ * @param account The account address
318
+ * @returns Share balance
319
+ */
320
+ async balanceOf(vaultAddress, account) {
321
+ const vault = this.getVaultContract(vaultAddress);
322
+ return vault.balanceOf(account);
323
+ }
324
+ /**
325
+ * Gets the allowance for a spender
326
+ * @param vaultAddress The vault address
327
+ * @param owner The owner address
328
+ * @param spender The spender address
329
+ * @returns Allowance amount
330
+ */
331
+ async allowance(vaultAddress, owner, spender) {
332
+ const vault = this.getVaultContract(vaultAddress);
333
+ return vault.allowance(owner, spender);
334
+ }
335
+ /**
336
+ * Gets the account state including pending withdrawals
337
+ * @param vaultAddress The vault address
338
+ * @param account The account address
339
+ * @returns Account state
340
+ */
341
+ async getAccountState(vaultAddress, account) {
342
+ const vault = this.getVaultContract(vaultAddress);
343
+ const state = await vault.getAccountState(account);
344
+ return {
345
+ totalPendingWithdrawalShares: state.totalPendingWithdrawalShares,
346
+ pendingWithdrawalRequestSequenceNumbers: [
347
+ ...state.pendingWithdrawalRequestSequenceNumbers
348
+ ],
349
+ cancelWithdrawRequestSequenceNumbers: [
350
+ ...state.cancelWithdrawRequestSequenceNumbers
351
+ ]
352
+ };
353
+ }
354
+ /**
355
+ * Gets complete user position in a vault
356
+ * @param vaultAddress The vault address
357
+ * @param account The account address
358
+ * @returns Complete user position
359
+ */
360
+ async getUserPosition(vaultAddress, account) {
361
+ const vault = this.getVaultContract(vaultAddress);
362
+ const [shareBalance, accountState, maxDepositVal, maxMintVal, maxRedeemVal, maxWithdrawVal] = await Promise.all([
363
+ vault.balanceOf(account),
364
+ this.getAccountState(vaultAddress, account),
365
+ vault.maxDeposit(account),
366
+ vault.maxMint(account),
367
+ vault.maxRedeem(account),
368
+ vault.maxWithdraw(account)
369
+ ]);
370
+ // Convert shares to assets
371
+ const assetValue = shareBalance > 0n ? await vault.convertToAssets(shareBalance) : 0n;
372
+ return {
373
+ shareBalance,
374
+ assetValue,
375
+ accountState,
376
+ maxDeposit: maxDepositVal,
377
+ maxMint: maxMintVal,
378
+ maxRedeem: maxRedeemVal,
379
+ maxWithdraw: maxWithdrawVal
380
+ };
381
+ }
382
+ // ========== Withdrawal Request Methods ==========
383
+ /**
384
+ * Gets the number of pending withdrawal requests
385
+ * @param vaultAddress The vault address
386
+ * @returns Count of pending withdrawals
387
+ */
388
+ async getPendingWithdrawalsCount(vaultAddress) {
389
+ const vault = this.getVaultContract(vaultAddress);
390
+ return vault.getPendingWithdrawalsLength();
391
+ }
392
+ /**
393
+ * Gets a pending withdrawal request by index
394
+ * @param vaultAddress The vault address
395
+ * @param index The index in the pending withdrawals queue
396
+ * @returns Withdrawal request details
397
+ */
398
+ async getPendingWithdrawal(vaultAddress, index) {
399
+ const vault = this.getVaultContract(vaultAddress);
400
+ const request = await vault.getPendingWithdrawal(index);
401
+ return {
402
+ owner: request.owner,
403
+ receiver: request.receiver,
404
+ shares: request.shares,
405
+ estimatedWithdrawAmount: request.estimatedWithdrawAmount,
406
+ timestamp: request.timestamp,
407
+ sequenceNumber: request.sequenceNumber
408
+ };
409
+ }
410
+ /**
411
+ * Gets all pending withdrawal requests for a vault
412
+ * @param vaultAddress The vault address
413
+ * @returns Array of withdrawal requests
414
+ */
415
+ async getAllPendingWithdrawals(vaultAddress) {
416
+ const count = await this.getPendingWithdrawalsCount(vaultAddress);
417
+ const requests = [];
418
+ const promises = [];
419
+ for (let i = 0n; i < count; i++) {
420
+ promises.push(this.getPendingWithdrawal(vaultAddress, i));
421
+ }
422
+ const results = await Promise.all(promises);
423
+ requests.push(...results);
424
+ return requests;
425
+ }
426
+ // ========== Sub-Account Methods ==========
427
+ /**
428
+ * Checks if an address is a sub-account
429
+ * @param vaultAddress The vault address
430
+ * @param account The account to check
431
+ * @returns True if the account is a sub-account
432
+ */
433
+ async isSubAccount(vaultAddress, account) {
434
+ const vault = this.getVaultContract(vaultAddress);
435
+ return vault.subAccounts(account);
436
+ }
437
+ // ========== Token Balance Methods ==========
438
+ /**
439
+ * Gets the underlying token balance for an account
440
+ * @param vaultAddress The vault address
441
+ * @param account The account address
442
+ * @returns Token balance
443
+ */
444
+ async getUnderlyingTokenBalance(vaultAddress, account) {
445
+ const assetAddress = await this.getAsset(vaultAddress);
446
+ const token = this.getERC20Contract(assetAddress);
447
+ return token.balanceOf(account);
448
+ }
449
+ /**
450
+ * Gets the underlying token allowance for the vault
451
+ * @param vaultAddress The vault address
452
+ * @param owner The token owner
453
+ * @returns Allowance for the vault
454
+ */
455
+ async getUnderlyingTokenAllowance(vaultAddress, owner) {
456
+ const assetAddress = await this.getAsset(vaultAddress);
457
+ const token = this.getERC20Contract(assetAddress);
458
+ return token.allowance(owner, vaultAddress);
459
+ }
460
+ // ========== Protocol Config Methods ==========
461
+ /**
462
+ * Gets the protocol pause status
463
+ * @returns True if protocol is paused
464
+ */
465
+ async isProtocolPaused() {
466
+ const config = this.getProtocolConfigContract();
467
+ return config.isPaused();
468
+ }
469
+ /**
470
+ * Gets the platform fee recipient
471
+ * @returns Fee recipient address
472
+ */
473
+ async getPlatformFeeRecipient() {
474
+ const config = this.getProtocolConfigContract();
475
+ return config.platformFeeRecipient();
476
+ }
477
+ /**
478
+ * Gets the max fee percentage
479
+ * @returns Max fee percentage
480
+ */
481
+ async getMaxFeePercentage() {
482
+ const config = this.getProtocolConfigContract();
483
+ return config.maxFeePercentage();
484
+ }
485
+ /**
486
+ * Checks if an account is blacklisted
487
+ * @param account The account to check
488
+ * @returns True if blacklisted
489
+ */
490
+ async isBlacklisted(account) {
491
+ const config = this.getProtocolConfigContract();
492
+ return config.blacklistedAccounts(account);
493
+ }
494
+ /**
495
+ * Gets the chain timestamp in milliseconds
496
+ * @param vaultAddress The vault address
497
+ * @returns Chain timestamp in ms
498
+ */
499
+ async getChainTimestampMs(vaultAddress) {
500
+ const vault = this.getVaultContract(vaultAddress);
501
+ return vault.getChainTimestampMs();
502
+ }
503
+ // ========== Batch Query Methods ==========
504
+ /**
505
+ * Gets information for multiple vaults
506
+ * @param vaultAddresses Array of vault addresses
507
+ * @returns Array of complete vault info
508
+ */
509
+ async getMultipleVaultsInfo(vaultAddresses) {
510
+ const promises = vaultAddresses.map(addr => this.getCompleteVaultInfo(addr));
511
+ return Promise.all(promises);
512
+ }
513
+ /**
514
+ * Gets user positions across multiple vaults
515
+ * @param vaultAddresses Array of vault addresses
516
+ * @param account The account address
517
+ * @returns Array of user positions
518
+ */
519
+ async getUserPositionsMultipleVaults(vaultAddresses, account) {
520
+ const promises = vaultAddresses.map(async (addr) => ({
521
+ vault: addr,
522
+ position: await this.getUserPosition(addr, account)
523
+ }));
524
+ return Promise.all(promises);
525
+ }
526
+ /**
527
+ * Gets all vault addresses from deployment
528
+ * @returns Array of vault addresses
529
+ */
530
+ getAllVaultAddresses() {
531
+ return this.parser.getVaultAddresses();
532
+ }
533
+ /**
534
+ * Gets complete info for all vaults in deployment
535
+ * @returns Array of complete vault info for all vaults
536
+ */
537
+ async getAllVaultsInfo() {
538
+ const addresses = this.getAllVaultAddresses();
539
+ return this.getMultipleVaultsInfo(addresses);
540
+ }
541
+ }
542
+ exports.EVMVaultReader = EVMVaultReader;
@@ -0,0 +1,97 @@
1
+ import { IEvmDeployment } from "../interfaces";
2
+ export declare class EVMDeploymentParser {
3
+ deployment: IEvmDeployment;
4
+ constructor(_deployment: IEvmDeployment);
5
+ /**
6
+ * Updates the deployment configuration
7
+ * @param newDeployment The new deployment configuration
8
+ */
9
+ updateDeployment(newDeployment: IEvmDeployment): void;
10
+ /**
11
+ * Gets the network name (e.g., "sepolia", "mainnet")
12
+ */
13
+ getNetwork(): string;
14
+ /**
15
+ * Gets the chain ID
16
+ */
17
+ getChainId(): string;
18
+ /**
19
+ * Gets the protocol config proxy address
20
+ */
21
+ getProtocolConfigAddress(): string;
22
+ /**
23
+ * Gets the protocol config implementation address
24
+ */
25
+ getProtocolConfigImplementationAddress(): string;
26
+ /**
27
+ * Gets the protocol config owner address
28
+ */
29
+ getProtocolConfigOwner(): string;
30
+ /**
31
+ * Gets a receipt token address by its symbol
32
+ * @param symbol The receipt token symbol (e.g., "eUSDC")
33
+ */
34
+ getReceiptTokenAddress(symbol: string): string;
35
+ /**
36
+ * Gets receipt token decimals by its symbol
37
+ * @param symbol The receipt token symbol (e.g., "eUSDC")
38
+ */
39
+ getReceiptTokenDecimals(symbol: string): number;
40
+ /**
41
+ * Gets a vault's proxy address by its key
42
+ * @param vaultKey The vault key (e.g., "emberUsdcVault")
43
+ */
44
+ getVaultAddress(vaultKey: string): string;
45
+ /**
46
+ * Gets vault info by its proxy address
47
+ * @param vaultAddress The vault's proxy address
48
+ */
49
+ getVaultByAddress(vaultAddress: string): IEvmDeployment["contracts"]["vaults"][string];
50
+ /**
51
+ * Gets the base token address for a vault
52
+ * @param vaultAddress The vault's proxy address
53
+ */
54
+ getBaseTokenAddress(vaultAddress: string): string;
55
+ /**
56
+ * Gets the receipt token address for a vault
57
+ * @param vaultAddress The vault's proxy address
58
+ */
59
+ getReceiptTokenAddressForVault(vaultAddress: string): string;
60
+ /**
61
+ * Gets the base token name for a vault
62
+ * @param vaultAddress The vault's proxy address
63
+ */
64
+ getBaseTokenName(vaultAddress: string): string;
65
+ /**
66
+ * Gets the vault admin address
67
+ * @param vaultAddress The vault's proxy address
68
+ */
69
+ getVaultAdmin(vaultAddress: string): string;
70
+ /**
71
+ * Gets the vault operator address
72
+ * @param vaultAddress The vault's proxy address
73
+ */
74
+ getVaultOperator(vaultAddress: string): string;
75
+ /**
76
+ * Gets the vault rate manager address
77
+ * @param vaultAddress The vault's proxy address
78
+ */
79
+ getVaultRateManager(vaultAddress: string): string;
80
+ /**
81
+ * Gets the vault's max TVL
82
+ * @param vaultAddress The vault's proxy address
83
+ */
84
+ getVaultMaxTVL(vaultAddress: string): string;
85
+ /**
86
+ * Gets all vault keys
87
+ */
88
+ getVaultKeys(): string[];
89
+ /**
90
+ * Gets all vault addresses
91
+ */
92
+ getVaultAddresses(): string[];
93
+ /**
94
+ * Gets all receipt token symbols
95
+ */
96
+ getReceiptTokenSymbols(): string[];
97
+ }