@ember-finance/sdk 1.0.29 → 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/common/types.d.ts +4 -0
  6. package/dist/src/common/types.js +1 -0
  7. package/dist/src/ember-vaults.d.ts +169 -0
  8. package/dist/src/ember-vaults.js +239 -0
  9. package/dist/src/{vaults → evm-vaults}/index.d.ts +0 -2
  10. package/dist/src/{vaults → evm-vaults}/index.js +0 -2
  11. package/dist/src/evm-vaults/interfaces/index.d.ts +168 -0
  12. package/dist/src/evm-vaults/on-chain-calls/admin.d.ts +108 -0
  13. package/dist/src/evm-vaults/on-chain-calls/admin.js +147 -0
  14. package/dist/src/evm-vaults/on-chain-calls/index.d.ts +7 -0
  15. package/dist/src/evm-vaults/on-chain-calls/index.js +23 -0
  16. package/dist/src/evm-vaults/on-chain-calls/onchain-calls.d.ts +79 -0
  17. package/dist/src/evm-vaults/on-chain-calls/onchain-calls.js +190 -0
  18. package/dist/src/evm-vaults/on-chain-calls/operator.d.ts +72 -0
  19. package/dist/src/evm-vaults/on-chain-calls/operator.js +99 -0
  20. package/dist/src/evm-vaults/on-chain-calls/tx-builder.d.ts +250 -0
  21. package/dist/src/evm-vaults/on-chain-calls/tx-builder.js +542 -0
  22. package/dist/src/evm-vaults/on-chain-calls/user.d.ts +122 -0
  23. package/dist/src/evm-vaults/on-chain-calls/user.js +179 -0
  24. package/dist/src/evm-vaults/on-chain-calls/vault-admin.d.ts +137 -0
  25. package/dist/src/evm-vaults/on-chain-calls/vault-admin.js +185 -0
  26. package/dist/src/evm-vaults/on-chain-calls/vault-reader.d.ts +431 -0
  27. package/dist/src/evm-vaults/on-chain-calls/vault-reader.js +542 -0
  28. package/dist/src/evm-vaults/utils/deployment-parser.d.ts +97 -0
  29. package/dist/src/evm-vaults/utils/deployment-parser.js +164 -0
  30. package/dist/src/evm-vaults/utils/index.d.ts +1 -0
  31. package/dist/src/evm-vaults/utils/index.js +17 -0
  32. package/dist/src/index.d.ts +3 -0
  33. package/dist/src/index.js +19 -0
  34. package/dist/src/sui-vaults/index.d.ts +4 -0
  35. package/dist/src/sui-vaults/index.js +20 -0
  36. package/dist/src/{vaults → sui-vaults}/interfaces/index.d.ts +1 -1
  37. package/dist/src/sui-vaults/interfaces/index.js +2 -0
  38. package/dist/src/{vaults → sui-vaults}/on-chain-calls/admin.d.ts +2 -2
  39. package/dist/src/{vaults → sui-vaults}/on-chain-calls/onchain-calls.d.ts +5 -5
  40. package/dist/src/{vaults → sui-vaults}/on-chain-calls/onchain-calls.js +1 -1
  41. package/dist/src/{vaults → sui-vaults}/on-chain-calls/operator.d.ts +2 -2
  42. package/dist/src/{vaults → sui-vaults}/on-chain-calls/tx-builder.d.ts +5 -5
  43. package/dist/src/{vaults → sui-vaults}/on-chain-calls/tx-builder.js +1 -1
  44. package/dist/src/{vaults → sui-vaults}/on-chain-calls/user.d.ts +2 -2
  45. package/dist/src/{vaults → sui-vaults}/on-chain-calls/vault-admin.d.ts +2 -2
  46. package/dist/src/{vaults → sui-vaults}/utils/deployment-parser.d.ts +5 -5
  47. package/dist/src/{vaults → sui-vaults}/utils/deployment-parser.js +3 -3
  48. package/package.json +5 -4
  49. package/dist/src/vaults/ember-vaults.d.ts +0 -39
  50. package/dist/src/vaults/ember-vaults.js +0 -73
  51. /package/dist/src/{vaults/api → api}/api.d.ts +0 -0
  52. /package/dist/src/{vaults/api → api}/api.js +0 -0
  53. /package/dist/src/{vaults/api → api}/apis/accounts-api.d.ts +0 -0
  54. /package/dist/src/{vaults/api → api}/apis/accounts-api.js +0 -0
  55. /package/dist/src/{vaults/api → api}/apis/vaults-api.d.ts +0 -0
  56. /package/dist/src/{vaults/api → api}/apis/vaults-api.js +0 -0
  57. /package/dist/src/{vaults/api → api}/base.d.ts +0 -0
  58. /package/dist/src/{vaults/api → api}/base.js +0 -0
  59. /package/dist/src/{vaults/api → api}/common.d.ts +0 -0
  60. /package/dist/src/{vaults/api → api}/common.js +0 -0
  61. /package/dist/src/{vaults/api → api}/configuration.d.ts +0 -0
  62. /package/dist/src/{vaults/api → api}/configuration.js +0 -0
  63. /package/dist/src/{vaults/api → api}/index.d.ts +0 -0
  64. /package/dist/src/{vaults/api → api}/index.js +0 -0
  65. /package/dist/src/{vaults/api → api}/models/account-transaction-transaction-data.d.ts +0 -0
  66. /package/dist/src/{vaults/api → api}/models/account-transaction-transaction-data.js +0 -0
  67. /package/dist/src/{vaults/api → api}/models/account-transaction.d.ts +0 -0
  68. /package/dist/src/{vaults/api → api}/models/account-transaction.js +0 -0
  69. /package/dist/src/{vaults/api → api}/models/account-withdrawal-request.d.ts +0 -0
  70. /package/dist/src/{vaults/api → api}/models/account-withdrawal-request.js +0 -0
  71. /package/dist/src/{vaults/api → api}/models/apy-history-v2.d.ts +0 -0
  72. /package/dist/src/{vaults/api → api}/models/apy-history-v2.js +0 -0
  73. /package/dist/src/{vaults/api → api}/models/apy-history.d.ts +0 -0
  74. /package/dist/src/{vaults/api → api}/models/apy-history.js +0 -0
  75. /package/dist/src/{vaults/api → api}/models/asset.d.ts +0 -0
  76. /package/dist/src/{vaults/api → api}/models/asset.js +0 -0
  77. /package/dist/src/{vaults/api → api}/models/borrowed.d.ts +0 -0
  78. /package/dist/src/{vaults/api → api}/models/borrowed.js +0 -0
  79. /package/dist/src/{vaults/api → api}/models/chain.d.ts +0 -0
  80. /package/dist/src/{vaults/api → api}/models/chain.js +0 -0
  81. /package/dist/src/{vaults/api → api}/models/coin-price.d.ts +0 -0
  82. /package/dist/src/{vaults/api → api}/models/coin-price.js +0 -0
  83. /package/dist/src/{vaults/api → api}/models/deposit-transaction.d.ts +0 -0
  84. /package/dist/src/{vaults/api → api}/models/deposit-transaction.js +0 -0
  85. /package/dist/src/{vaults/api → api}/models/ember-position.d.ts +0 -0
  86. /package/dist/src/{vaults/api → api}/models/ember-position.js +0 -0
  87. /package/dist/src/{vaults/api → api}/models/exposure-coin.d.ts +0 -0
  88. /package/dist/src/{vaults/api → api}/models/exposure-coin.js +0 -0
  89. /package/dist/src/{vaults/api → api}/models/exposure-protocol.d.ts +0 -0
  90. /package/dist/src/{vaults/api → api}/models/exposure-protocol.js +0 -0
  91. /package/dist/src/{vaults/api → api}/models/exposure.d.ts +0 -0
  92. /package/dist/src/{vaults/api → api}/models/exposure.js +0 -0
  93. /package/dist/src/{vaults/api → api}/models/fee.d.ts +0 -0
  94. /package/dist/src/{vaults/api → api}/models/fee.js +0 -0
  95. /package/dist/src/{vaults/api → api}/models/fees.d.ts +0 -0
  96. /package/dist/src/{vaults/api → api}/models/fees.js +0 -0
  97. /package/dist/src/{vaults/api → api}/models/history-interval.d.ts +0 -0
  98. /package/dist/src/{vaults/api → api}/models/history-interval.js +0 -0
  99. /package/dist/src/{vaults/api → api}/models/index.d.ts +0 -0
  100. /package/dist/src/{vaults/api → api}/models/index.js +0 -0
  101. /package/dist/src/{vaults/api → api}/models/lp.d.ts +0 -0
  102. /package/dist/src/{vaults/api → api}/models/lp.js +0 -0
  103. /package/dist/src/{vaults/api → api}/models/manager.d.ts +0 -0
  104. /package/dist/src/{vaults/api → api}/models/manager.js +0 -0
  105. /package/dist/src/{vaults/api → api}/models/min-withdrawal-shares-updated-event.d.ts +0 -0
  106. /package/dist/src/{vaults/api → api}/models/min-withdrawal-shares-updated-event.js +0 -0
  107. /package/dist/src/{vaults/api → api}/models/perps.d.ts +0 -0
  108. /package/dist/src/{vaults/api → api}/models/perps.js +0 -0
  109. /package/dist/src/{vaults/api → api}/models/pnl-history-interval.d.ts +0 -0
  110. /package/dist/src/{vaults/api → api}/models/pnl-history-interval.js +0 -0
  111. /package/dist/src/{vaults/api → api}/models/pnl-history.d.ts +0 -0
  112. /package/dist/src/{vaults/api → api}/models/pnl-history.js +0 -0
  113. /package/dist/src/{vaults/api → api}/models/poc-report-asset.d.ts +0 -0
  114. /package/dist/src/{vaults/api → api}/models/poc-report-asset.js +0 -0
  115. /package/dist/src/{vaults/api → api}/models/poc-report-assets.d.ts +0 -0
  116. /package/dist/src/{vaults/api → api}/models/poc-report-assets.js +0 -0
  117. /package/dist/src/{vaults/api → api}/models/poc-report-exchange.d.ts +0 -0
  118. /package/dist/src/{vaults/api → api}/models/poc-report-exchange.js +0 -0
  119. /package/dist/src/{vaults/api → api}/models/poc-report-exchanges.d.ts +0 -0
  120. /package/dist/src/{vaults/api → api}/models/poc-report-exchanges.js +0 -0
  121. /package/dist/src/{vaults/api → api}/models/poc-report-protocol.d.ts +0 -0
  122. /package/dist/src/{vaults/api → api}/models/poc-report-protocol.js +0 -0
  123. /package/dist/src/{vaults/api → api}/models/poc-report-token.d.ts +0 -0
  124. /package/dist/src/{vaults/api → api}/models/poc-report-token.js +0 -0
  125. /package/dist/src/{vaults/api → api}/models/poc-report-wallet.d.ts +0 -0
  126. /package/dist/src/{vaults/api → api}/models/poc-report-wallet.js +0 -0
  127. /package/dist/src/{vaults/api → api}/models/poc-report-wallets.d.ts +0 -0
  128. /package/dist/src/{vaults/api → api}/models/poc-report-wallets.js +0 -0
  129. /package/dist/src/{vaults/api → api}/models/position-history-interval.d.ts +0 -0
  130. /package/dist/src/{vaults/api → api}/models/position-history-interval.js +0 -0
  131. /package/dist/src/{vaults/api → api}/models/position-history.d.ts +0 -0
  132. /package/dist/src/{vaults/api → api}/models/position-history.js +0 -0
  133. /package/dist/src/{vaults/api → api}/models/position-value.d.ts +0 -0
  134. /package/dist/src/{vaults/api → api}/models/position-value.js +0 -0
  135. /package/dist/src/{vaults/api → api}/models/position.d.ts +0 -0
  136. /package/dist/src/{vaults/api → api}/models/position.js +0 -0
  137. /package/dist/src/{vaults/api → api}/models/process-requests-summary-event.d.ts +0 -0
  138. /package/dist/src/{vaults/api → api}/models/process-requests-summary-event.js +0 -0
  139. /package/dist/src/{vaults/api → api}/models/proof-of-capital-report.d.ts +0 -0
  140. /package/dist/src/{vaults/api → api}/models/proof-of-capital-report.js +0 -0
  141. /package/dist/src/{vaults/api → api}/models/protocol-fee-collected-event.d.ts +0 -0
  142. /package/dist/src/{vaults/api → api}/models/protocol-fee-collected-event.js +0 -0
  143. /package/dist/src/{vaults/api → api}/models/protocol-info.d.ts +0 -0
  144. /package/dist/src/{vaults/api → api}/models/protocol-info.js +0 -0
  145. /package/dist/src/{vaults/api → api}/models/protocol.d.ts +0 -0
  146. /package/dist/src/{vaults/api → api}/models/protocol.js +0 -0
  147. /package/dist/src/{vaults/api → api}/models/raw-event-event-data.d.ts +0 -0
  148. /package/dist/src/{vaults/api → api}/models/raw-event-event-data.js +0 -0
  149. /package/dist/src/{vaults/api → api}/models/raw-event.d.ts +0 -0
  150. /package/dist/src/{vaults/api → api}/models/raw-event.js +0 -0
  151. /package/dist/src/{vaults/api → api}/models/redeem-request-cancelled-transaction.d.ts +0 -0
  152. /package/dist/src/{vaults/api → api}/models/redeem-request-cancelled-transaction.js +0 -0
  153. /package/dist/src/{vaults/api → api}/models/redeem-request-processed-transaction.d.ts +0 -0
  154. /package/dist/src/{vaults/api → api}/models/redeem-request-processed-transaction.js +0 -0
  155. /package/dist/src/{vaults/api → api}/models/redeem-request-skipped-transaction.d.ts +0 -0
  156. /package/dist/src/{vaults/api → api}/models/redeem-request-skipped-transaction.js +0 -0
  157. /package/dist/src/{vaults/api → api}/models/redeem-request-transaction.d.ts +0 -0
  158. /package/dist/src/{vaults/api → api}/models/redeem-request-transaction.js +0 -0
  159. /package/dist/src/{vaults/api → api}/models/reported-apy.d.ts +0 -0
  160. /package/dist/src/{vaults/api → api}/models/reported-apy.js +0 -0
  161. /package/dist/src/{vaults/api → api}/models/request-processed-event.d.ts +0 -0
  162. /package/dist/src/{vaults/api → api}/models/request-processed-event.js +0 -0
  163. /package/dist/src/{vaults/api → api}/models/request-redeemed-event.d.ts +0 -0
  164. /package/dist/src/{vaults/api → api}/models/request-redeemed-event.js +0 -0
  165. /package/dist/src/{vaults/api → api}/models/reward-token.d.ts +0 -0
  166. /package/dist/src/{vaults/api → api}/models/reward-token.js +0 -0
  167. /package/dist/src/{vaults/api → api}/models/reward.d.ts +0 -0
  168. /package/dist/src/{vaults/api → api}/models/reward.js +0 -0
  169. /package/dist/src/{vaults/api → api}/models/share-price-history.d.ts +0 -0
  170. /package/dist/src/{vaults/api → api}/models/share-price-history.js +0 -0
  171. /package/dist/src/{vaults/api → api}/models/strategy-account.d.ts +0 -0
  172. /package/dist/src/{vaults/api → api}/models/strategy-account.js +0 -0
  173. /package/dist/src/{vaults/api → api}/models/strategy.d.ts +0 -0
  174. /package/dist/src/{vaults/api → api}/models/strategy.js +0 -0
  175. /package/dist/src/{vaults/api → api}/models/sub-account.d.ts +0 -0
  176. /package/dist/src/{vaults/api → api}/models/sub-account.js +0 -0
  177. /package/dist/src/{vaults/api → api}/models/supplied.d.ts +0 -0
  178. /package/dist/src/{vaults/api → api}/models/supplied.js +0 -0
  179. /package/dist/src/{vaults/api → api}/models/tag.d.ts +0 -0
  180. /package/dist/src/{vaults/api → api}/models/tag.js +0 -0
  181. /package/dist/src/{vaults/api → api}/models/tvl-history.d.ts +0 -0
  182. /package/dist/src/{vaults/api → api}/models/tvl-history.js +0 -0
  183. /package/dist/src/{vaults/api → api}/models/ultra-coin-info.d.ts +0 -0
  184. /package/dist/src/{vaults/api → api}/models/ultra-coin-info.js +0 -0
  185. /package/dist/src/{vaults/api → api}/models/update-vault-strategies.d.ts +0 -0
  186. /package/dist/src/{vaults/api → api}/models/update-vault-strategies.js +0 -0
  187. /package/dist/src/{vaults/api → api}/models/vault-admin-changed-event.d.ts +0 -0
  188. /package/dist/src/{vaults/api → api}/models/vault-admin-changed-event.js +0 -0
  189. /package/dist/src/{vaults/api → api}/models/vault-created-event.d.ts +0 -0
  190. /package/dist/src/{vaults/api → api}/models/vault-created-event.js +0 -0
  191. /package/dist/src/{vaults/api → api}/models/vault-deposit-event.d.ts +0 -0
  192. /package/dist/src/{vaults/api → api}/models/vault-deposit-event.js +0 -0
  193. /package/dist/src/{vaults/api → api}/models/vault-deposit-without-minting-shares-event.d.ts +0 -0
  194. /package/dist/src/{vaults/api → api}/models/vault-deposit-without-minting-shares-event.js +0 -0
  195. /package/dist/src/{vaults/api → api}/models/vault-detail.d.ts +0 -0
  196. /package/dist/src/{vaults/api → api}/models/vault-detail.js +0 -0
  197. /package/dist/src/{vaults/api → api}/models/vault-fee-percentage-updated-event.d.ts +0 -0
  198. /package/dist/src/{vaults/api → api}/models/vault-fee-percentage-updated-event.js +0 -0
  199. /package/dist/src/{vaults/api → api}/models/vault-info.d.ts +0 -0
  200. /package/dist/src/{vaults/api → api}/models/vault-info.js +0 -0
  201. /package/dist/src/{vaults/api → api}/models/vault-max-tvl-updated-event.d.ts +0 -0
  202. /package/dist/src/{vaults/api → api}/models/vault-max-tvl-updated-event.js +0 -0
  203. /package/dist/src/{vaults/api → api}/models/vault-operator-changed-event.d.ts +0 -0
  204. /package/dist/src/{vaults/api → api}/models/vault-operator-changed-event.js +0 -0
  205. /package/dist/src/{vaults/api → api}/models/vault-paused-status-updated-event.d.ts +0 -0
  206. /package/dist/src/{vaults/api → api}/models/vault-paused-status-updated-event.js +0 -0
  207. /package/dist/src/{vaults/api → api}/models/vault-platform-fee-charged-event.d.ts +0 -0
  208. /package/dist/src/{vaults/api → api}/models/vault-platform-fee-charged-event.js +0 -0
  209. /package/dist/src/{vaults/api → api}/models/vault-protocol.d.ts +0 -0
  210. /package/dist/src/{vaults/api → api}/models/vault-protocol.js +0 -0
  211. /package/dist/src/{vaults/api → api}/models/vault-rate-updated-event.d.ts +0 -0
  212. /package/dist/src/{vaults/api → api}/models/vault-rate-updated-event.js +0 -0
  213. /package/dist/src/{vaults/api → api}/models/vault-slice.d.ts +0 -0
  214. /package/dist/src/{vaults/api → api}/models/vault-slice.js +0 -0
  215. /package/dist/src/{vaults/api → api}/models/vault-sub-account-updated-event.d.ts +0 -0
  216. /package/dist/src/{vaults/api → api}/models/vault-sub-account-updated-event.js +0 -0
  217. /package/dist/src/{vaults/api → api}/models/vault-withdrawal-without-redeeming-shares-event.d.ts +0 -0
  218. /package/dist/src/{vaults/api → api}/models/vault-withdrawal-without-redeeming-shares-event.js +0 -0
  219. /package/dist/src/{vaults/api → api}/models/vaults-stats.d.ts +0 -0
  220. /package/dist/src/{vaults/api → api}/models/vaults-stats.js +0 -0
  221. /package/dist/src/{vaults/api → api}/models/yield-aggregate-value.d.ts +0 -0
  222. /package/dist/src/{vaults/api → api}/models/yield-aggregate-value.js +0 -0
  223. /package/dist/src/{vaults/api → api}/v2/api.d.ts +0 -0
  224. /package/dist/src/{vaults/api → api}/v2/api.js +0 -0
  225. /package/dist/src/{vaults/api → api}/v2/apis/accounts-api.d.ts +0 -0
  226. /package/dist/src/{vaults/api → api}/v2/apis/accounts-api.js +0 -0
  227. /package/dist/src/{vaults/api → api}/v2/apis/vaults-api.d.ts +0 -0
  228. /package/dist/src/{vaults/api → api}/v2/apis/vaults-api.js +0 -0
  229. /package/dist/src/{vaults/api → api}/v2/base.d.ts +0 -0
  230. /package/dist/src/{vaults/api → api}/v2/base.js +0 -0
  231. /package/dist/src/{vaults/api → api}/v2/common.d.ts +0 -0
  232. /package/dist/src/{vaults/api → api}/v2/common.js +0 -0
  233. /package/dist/src/{vaults/api → api}/v2/configuration.d.ts +0 -0
  234. /package/dist/src/{vaults/api → api}/v2/configuration.js +0 -0
  235. /package/dist/src/{vaults/api → api}/v2/index.d.ts +0 -0
  236. /package/dist/src/{vaults/api → api}/v2/index.js +0 -0
  237. /package/dist/src/{vaults/api → api}/v2/models/account-transaction-transaction-data.d.ts +0 -0
  238. /package/dist/src/{vaults/api → api}/v2/models/account-transaction-transaction-data.js +0 -0
  239. /package/dist/src/{vaults/api → api}/v2/models/account-transaction.d.ts +0 -0
  240. /package/dist/src/{vaults/api → api}/v2/models/account-transaction.js +0 -0
  241. /package/dist/src/{vaults/api → api}/v2/models/account-vault-position-history.d.ts +0 -0
  242. /package/dist/src/{vaults/api → api}/v2/models/account-vault-position-history.js +0 -0
  243. /package/dist/src/{vaults/api → api}/v2/models/account-withdrawal-request.d.ts +0 -0
  244. /package/dist/src/{vaults/api → api}/v2/models/account-withdrawal-request.js +0 -0
  245. /package/dist/src/{vaults/api → api}/v2/models/aggregated-account-position-history.d.ts +0 -0
  246. /package/dist/src/{vaults/api → api}/v2/models/aggregated-account-position-history.js +0 -0
  247. /package/dist/src/{vaults/api → api}/v2/models/apy-history-response.d.ts +0 -0
  248. /package/dist/src/{vaults/api → api}/v2/models/apy-history-response.js +0 -0
  249. /package/dist/src/{vaults/api → api}/v2/models/apy-history.d.ts +0 -0
  250. /package/dist/src/{vaults/api → api}/v2/models/apy-history.js +0 -0
  251. /package/dist/src/{vaults/api → api}/v2/models/asset.d.ts +0 -0
  252. /package/dist/src/{vaults/api → api}/v2/models/asset.js +0 -0
  253. /package/dist/src/{vaults/api → api}/v2/models/borrowed.d.ts +0 -0
  254. /package/dist/src/{vaults/api → api}/v2/models/borrowed.js +0 -0
  255. /package/dist/src/{vaults/api → api}/v2/models/chain-vault-details.d.ts +0 -0
  256. /package/dist/src/{vaults/api → api}/v2/models/chain-vault-details.js +0 -0
  257. /package/dist/src/{vaults/api → api}/v2/models/chain.d.ts +0 -0
  258. /package/dist/src/{vaults/api → api}/v2/models/chain.js +0 -0
  259. /package/dist/src/{vaults/api → api}/v2/models/coin-price.d.ts +0 -0
  260. /package/dist/src/{vaults/api → api}/v2/models/coin-price.js +0 -0
  261. /package/dist/src/{vaults/api → api}/v2/models/deposit-transaction.d.ts +0 -0
  262. /package/dist/src/{vaults/api → api}/v2/models/deposit-transaction.js +0 -0
  263. /package/dist/src/{vaults/api → api}/v2/models/ember-position.d.ts +0 -0
  264. /package/dist/src/{vaults/api → api}/v2/models/ember-position.js +0 -0
  265. /package/dist/src/{vaults/api → api}/v2/models/evm-contracts.d.ts +0 -0
  266. /package/dist/src/{vaults/api → api}/v2/models/evm-contracts.js +0 -0
  267. /package/dist/src/{vaults/api → api}/v2/models/evm-deposit-token.d.ts +0 -0
  268. /package/dist/src/{vaults/api → api}/v2/models/evm-deposit-token.js +0 -0
  269. /package/dist/src/{vaults/api → api}/v2/models/evm-price-feed.d.ts +0 -0
  270. /package/dist/src/{vaults/api → api}/v2/models/evm-price-feed.js +0 -0
  271. /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-config.d.ts +0 -0
  272. /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-config.js +0 -0
  273. /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-info.d.ts +0 -0
  274. /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-info.js +0 -0
  275. /package/dist/src/{vaults/api → api}/v2/models/evm-receipt-token.d.ts +0 -0
  276. /package/dist/src/{vaults/api → api}/v2/models/evm-receipt-token.js +0 -0
  277. /package/dist/src/{vaults/api → api}/v2/models/evm-vault.d.ts +0 -0
  278. /package/dist/src/{vaults/api → api}/v2/models/evm-vault.js +0 -0
  279. /package/dist/src/{vaults/api → api}/v2/models/exposure-coin.d.ts +0 -0
  280. /package/dist/src/{vaults/api → api}/v2/models/exposure-coin.js +0 -0
  281. /package/dist/src/{vaults/api → api}/v2/models/exposure-protocol.d.ts +0 -0
  282. /package/dist/src/{vaults/api → api}/v2/models/exposure-protocol.js +0 -0
  283. /package/dist/src/{vaults/api → api}/v2/models/exposure.d.ts +0 -0
  284. /package/dist/src/{vaults/api → api}/v2/models/exposure.js +0 -0
  285. /package/dist/src/{vaults/api → api}/v2/models/fee.d.ts +0 -0
  286. /package/dist/src/{vaults/api → api}/v2/models/fee.js +0 -0
  287. /package/dist/src/{vaults/api → api}/v2/models/fees.d.ts +0 -0
  288. /package/dist/src/{vaults/api → api}/v2/models/fees.js +0 -0
  289. /package/dist/src/{vaults/api → api}/v2/models/history-interval.d.ts +0 -0
  290. /package/dist/src/{vaults/api → api}/v2/models/history-interval.js +0 -0
  291. /package/dist/src/{vaults/api → api}/v2/models/index.d.ts +0 -0
  292. /package/dist/src/{vaults/api → api}/v2/models/index.js +0 -0
  293. /package/dist/src/{vaults/api → api}/v2/models/lp.d.ts +0 -0
  294. /package/dist/src/{vaults/api → api}/v2/models/lp.js +0 -0
  295. /package/dist/src/{vaults/api → api}/v2/models/manager.d.ts +0 -0
  296. /package/dist/src/{vaults/api → api}/v2/models/manager.js +0 -0
  297. /package/dist/src/{vaults/api → api}/v2/models/min-withdrawal-shares-updated-event.d.ts +0 -0
  298. /package/dist/src/{vaults/api → api}/v2/models/min-withdrawal-shares-updated-event.js +0 -0
  299. /package/dist/src/{vaults/api → api}/v2/models/perps.d.ts +0 -0
  300. /package/dist/src/{vaults/api → api}/v2/models/perps.js +0 -0
  301. /package/dist/src/{vaults/api → api}/v2/models/pnl-by-chain.d.ts +0 -0
  302. /package/dist/src/{vaults/api → api}/v2/models/pnl-by-chain.js +0 -0
  303. /package/dist/src/{vaults/api → api}/v2/models/pnl-history-interval.d.ts +0 -0
  304. /package/dist/src/{vaults/api → api}/v2/models/pnl-history-interval.js +0 -0
  305. /package/dist/src/{vaults/api → api}/v2/models/pnl-history.d.ts +0 -0
  306. /package/dist/src/{vaults/api → api}/v2/models/pnl-history.js +0 -0
  307. /package/dist/src/{vaults/api → api}/v2/models/poc-report-asset.d.ts +0 -0
  308. /package/dist/src/{vaults/api → api}/v2/models/poc-report-asset.js +0 -0
  309. /package/dist/src/{vaults/api → api}/v2/models/poc-report-assets.d.ts +0 -0
  310. /package/dist/src/{vaults/api → api}/v2/models/poc-report-assets.js +0 -0
  311. /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchange.d.ts +0 -0
  312. /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchange.js +0 -0
  313. /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchanges.d.ts +0 -0
  314. /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchanges.js +0 -0
  315. /package/dist/src/{vaults/api → api}/v2/models/poc-report-protocol.d.ts +0 -0
  316. /package/dist/src/{vaults/api → api}/v2/models/poc-report-protocol.js +0 -0
  317. /package/dist/src/{vaults/api → api}/v2/models/poc-report-token.d.ts +0 -0
  318. /package/dist/src/{vaults/api → api}/v2/models/poc-report-token.js +0 -0
  319. /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallet.d.ts +0 -0
  320. /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallet.js +0 -0
  321. /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallets.d.ts +0 -0
  322. /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallets.js +0 -0
  323. /package/dist/src/{vaults/api → api}/v2/models/position-history-interval.d.ts +0 -0
  324. /package/dist/src/{vaults/api → api}/v2/models/position-history-interval.js +0 -0
  325. /package/dist/src/{vaults/api → api}/v2/models/position-value.d.ts +0 -0
  326. /package/dist/src/{vaults/api → api}/v2/models/position-value.js +0 -0
  327. /package/dist/src/{vaults/api → api}/v2/models/position.d.ts +0 -0
  328. /package/dist/src/{vaults/api → api}/v2/models/position.js +0 -0
  329. /package/dist/src/{vaults/api → api}/v2/models/process-requests-summary-event.d.ts +0 -0
  330. /package/dist/src/{vaults/api → api}/v2/models/process-requests-summary-event.js +0 -0
  331. /package/dist/src/{vaults/api → api}/v2/models/proof-of-capital-report.d.ts +0 -0
  332. /package/dist/src/{vaults/api → api}/v2/models/proof-of-capital-report.js +0 -0
  333. /package/dist/src/{vaults/api → api}/v2/models/protocol-fee-collected-event.d.ts +0 -0
  334. /package/dist/src/{vaults/api → api}/v2/models/protocol-fee-collected-event.js +0 -0
  335. /package/dist/src/{vaults/api → api}/v2/models/protocol-pnl-history.d.ts +0 -0
  336. /package/dist/src/{vaults/api → api}/v2/models/protocol-pnl-history.js +0 -0
  337. /package/dist/src/{vaults/api → api}/v2/models/protocol-tvl-history.d.ts +0 -0
  338. /package/dist/src/{vaults/api → api}/v2/models/protocol-tvl-history.js +0 -0
  339. /package/dist/src/{vaults/api → api}/v2/models/protocol.d.ts +0 -0
  340. /package/dist/src/{vaults/api → api}/v2/models/protocol.js +0 -0
  341. /package/dist/src/{vaults/api → api}/v2/models/raw-event-event-data.d.ts +0 -0
  342. /package/dist/src/{vaults/api → api}/v2/models/raw-event-event-data.js +0 -0
  343. /package/dist/src/{vaults/api → api}/v2/models/raw-event.d.ts +0 -0
  344. /package/dist/src/{vaults/api → api}/v2/models/raw-event.js +0 -0
  345. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-cancelled-transaction.d.ts +0 -0
  346. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-cancelled-transaction.js +0 -0
  347. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-processed-transaction.d.ts +0 -0
  348. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-processed-transaction.js +0 -0
  349. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-skipped-transaction.d.ts +0 -0
  350. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-skipped-transaction.js +0 -0
  351. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-transaction.d.ts +0 -0
  352. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-transaction.js +0 -0
  353. /package/dist/src/{vaults/api → api}/v2/models/reported-apy.d.ts +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,179 @@
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.EVMUserCalls = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const onchain_calls_1 = require("./onchain-calls");
9
+ const EmberVault_json_1 = __importDefault(require("../../abis/EmberVault.json"));
10
+ /**
11
+ * User Calls for Ember Protocol on EVM (ERC-4626 Compatible)
12
+ *
13
+ * This class extends EVMOnChainCalls and provides user-specific methods
14
+ * for interacting with Ember vaults.
15
+ *
16
+ * Users can:
17
+ * - deposit: Deposit assets and receive shares (ERC-4626)
18
+ * - mint: Mint a specific number of shares by depositing assets (ERC-4626)
19
+ * - redeemShares: Initiate a withdrawal request by redeeming shares
20
+ * - cancelPendingWithdrawalRequest: Cancel a pending withdrawal
21
+ *
22
+ * Note: The vault is now itself an ERC20 token (the share token), so there's
23
+ * no separate receipt token. The token address passed to deposit/mint should
24
+ * be the vault's underlying asset (accessible via vault.asset()).
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * import { EVMUserCalls } from "@ember-finance/sdk";
29
+ * import { ethers } from "ethers";
30
+ *
31
+ * const provider = new ethers.JsonRpcProvider("https://...");
32
+ * const signer = new ethers.Wallet(privateKey, provider);
33
+ *
34
+ * const userCalls = new EVMUserCalls(deployment, signer, provider);
35
+ *
36
+ * // Approve token spending first
37
+ * await userCalls.approveToken(underlyingAsset, vaultAddress, amount);
38
+ *
39
+ * // Deposit assets (receiver defaults to caller)
40
+ * await userCalls.deposit(vaultAddress, amount);
41
+ *
42
+ * // Deposit assets to a different receiver
43
+ * await userCalls.deposit(vaultAddress, amount, { receiver: otherAddress });
44
+ *
45
+ * // Mint specific shares (receiver defaults to caller)
46
+ * await userCalls.mint(vaultAddress, shares);
47
+ *
48
+ * // Redeem shares (receiver defaults to caller)
49
+ * await userCalls.redeemShares(vaultAddress, shares);
50
+ * ```
51
+ */
52
+ class EVMUserCalls extends onchain_calls_1.EVMOnChainCalls {
53
+ constructor(_deployment, _signer, _provider, _walletAddress) {
54
+ super(_deployment, _signer, _provider, _walletAddress);
55
+ }
56
+ // ============================================
57
+ // Deposit Methods (ERC-4626)
58
+ // ============================================
59
+ /**
60
+ * Deposit assets into a vault (ERC-4626 standard)
61
+ *
62
+ * The vault uses its configured underlying asset (accessible via vault.asset()).
63
+ * Make sure to approve the vault to spend the underlying asset before depositing.
64
+ *
65
+ * @param vaultAddress The address of the vault
66
+ * @param assets The amount of assets to deposit
67
+ * @param options Optional tx execution params (includes optional receiver, defaults to caller)
68
+ * @returns EvmOnChainCallResponse
69
+ */
70
+ async deposit(vaultAddress, assets, options) {
71
+ const receiver = options?.receiver ?? (await this.getWalletAddress());
72
+ const txCall = this.txBuilder.deposit(vaultAddress, assets, receiver);
73
+ return this.execCall(txCall, options);
74
+ }
75
+ // ============================================
76
+ // Mint Methods (ERC-4626)
77
+ // ============================================
78
+ /**
79
+ * Mint a specific number of shares by depositing assets (ERC-4626 standard)
80
+ *
81
+ * The vault will pull the required amount of underlying assets from the caller.
82
+ * Make sure to approve the vault to spend the underlying asset before minting.
83
+ *
84
+ * @param vaultAddress The address of the vault
85
+ * @param shares The number of shares to mint
86
+ * @param options Optional tx execution params (includes optional receiver, defaults to caller)
87
+ * @returns EvmOnChainCallResponse
88
+ */
89
+ async mint(vaultAddress, shares, options) {
90
+ const receiver = options?.receiver ?? (await this.getWalletAddress());
91
+ const txCall = this.txBuilder.mint(vaultAddress, shares, receiver);
92
+ return this.execCall(txCall, options);
93
+ }
94
+ // ============================================
95
+ // Redemption Methods
96
+ // ============================================
97
+ /**
98
+ * Redeem shares to initiate a withdrawal request
99
+ *
100
+ * Note: This doesn't immediately return assets. It creates a withdrawal request
101
+ * that will be processed by the vault operator. The shares are locked until
102
+ * the request is processed.
103
+ *
104
+ * @param vaultAddress The address of the vault
105
+ * @param shares The number of shares to redeem
106
+ * @param options Optional tx execution params (includes optional receiver, defaults to caller)
107
+ * @returns EvmOnChainCallResponse
108
+ */
109
+ async redeemShares(vaultAddress, shares, options) {
110
+ const receiver = options?.receiver ?? (await this.getWalletAddress());
111
+ const txCall = this.txBuilder.redeemShares(vaultAddress, shares, receiver);
112
+ return this.execCall(txCall, options);
113
+ }
114
+ // ============================================
115
+ // Withdrawal Request Management
116
+ // ============================================
117
+ /**
118
+ * Cancel a pending withdrawal request
119
+ * @param vaultAddress The address of the vault
120
+ * @param requestSequenceNumber The sequence number of the withdrawal request to cancel
121
+ * @param options Optional tx execution params
122
+ * @returns EvmOnChainCallResponse
123
+ */
124
+ async cancelPendingWithdrawalRequest(vaultAddress, requestSequenceNumber, options) {
125
+ const txCall = this.txBuilder.cancelPendingWithdrawalRequest(vaultAddress, requestSequenceNumber);
126
+ return this.execCall(txCall, options);
127
+ }
128
+ // ============================================
129
+ // ERC20 Token Helpers
130
+ // ============================================
131
+ /**
132
+ * Approve a token for spending by a spender (typically the vault)
133
+ * @param tokenAddress The address of the token
134
+ * @param spender The address of the spender (usually the vault)
135
+ * @param amount The amount to approve
136
+ * @param options Optional tx execution params
137
+ * @returns EvmOnChainCallResponse
138
+ */
139
+ async approveToken(tokenAddress, spender, amount, options) {
140
+ const txCall = this.txBuilder.approveToken(tokenAddress, spender, amount);
141
+ return this.execCall(txCall, options);
142
+ }
143
+ /**
144
+ * Approve maximum token spending (type(uint256).max)
145
+ * @param tokenAddress The address of the token
146
+ * @param spender The address of the spender (usually the vault)
147
+ * @param options Optional tx execution params
148
+ * @returns EvmOnChainCallResponse
149
+ */
150
+ async approveTokenMax(tokenAddress, spender, options) {
151
+ // Max uint256 value
152
+ const maxUint256 = "115792089237316195423570985008687907853269984665640564039457584007913129639935";
153
+ return this.approveToken(tokenAddress, spender, maxUint256, options);
154
+ }
155
+ // ============================================
156
+ // Read-Only Methods
157
+ // ============================================
158
+ /**
159
+ * Gets the vault contract instance for read operations
160
+ */
161
+ getVaultContract(vaultAddress) {
162
+ if (!this.provider) {
163
+ throw new Error("Provider required for read operations");
164
+ }
165
+ return new ethers_1.Contract(vaultAddress, EmberVault_json_1.default.abi, this.provider);
166
+ }
167
+ /**
168
+ * Get the user's total vault shares (share token balance)
169
+ * @param vaultAddress The address of the vault
170
+ * @param account Optional account address (defaults to caller's wallet)
171
+ * @returns The user's share balance as bigint
172
+ */
173
+ async getVaultShares(vaultAddress, account) {
174
+ const userAddress = account ?? (await this.getWalletAddress());
175
+ const vault = this.getVaultContract(vaultAddress);
176
+ return vault.balanceOf(userAddress);
177
+ }
178
+ }
179
+ exports.EVMUserCalls = EVMUserCalls;
@@ -0,0 +1,137 @@
1
+ import { Signer, Provider } from "ethers";
2
+ import { EVMOnChainCalls } from "./onchain-calls";
3
+ import { IEvmDeployment, IEvmCallOptions, EvmOnChainCallResponse, VaultPauseOperation } from "../interfaces";
4
+ import { NumStr } from "../../common/types";
5
+ /**
6
+ * Vault Admin Calls for Ember Protocol on EVM
7
+ *
8
+ * This class extends EVMOnChainCalls and provides vault admin-specific methods.
9
+ * These methods are called via the ProtocolConfig contract (not directly on the vault).
10
+ *
11
+ * The vault admin can:
12
+ * - Manage vault operator and rate manager
13
+ * - Update pause status for different operations
14
+ * - Manage sub-accounts
15
+ * - Configure vault parameters (min withdrawable shares, max TVL, fees, etc.)
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * import { EVMVaultAdminCalls } from "@ember-finance/sdk";
20
+ * import { ethers } from "ethers";
21
+ *
22
+ * const provider = new ethers.JsonRpcProvider("https://...");
23
+ * const signer = new ethers.Wallet(privateKey, provider);
24
+ *
25
+ * const vaultAdminCalls = new EVMVaultAdminCalls(deployment, signer, provider);
26
+ *
27
+ * // Update vault operator
28
+ * await vaultAdminCalls.updateVaultOperator(vaultAddress, newOperatorAddress);
29
+ *
30
+ * // Update vault fee percentage
31
+ * await vaultAdminCalls.updateVaultFeePercentage(vaultAddress, "50000"); // 5%
32
+ *
33
+ * // Pause deposits
34
+ * await vaultAdminCalls.setVaultPausedStatus(vaultAddress, "deposits", true);
35
+ * ```
36
+ */
37
+ export declare class EVMVaultAdminCalls extends EVMOnChainCalls {
38
+ constructor(_deployment: IEvmDeployment, _signer?: Signer, _provider?: Provider, _walletAddress?: string);
39
+ /**
40
+ * Update the operator of a vault
41
+ * @param vaultAddress The address of the vault
42
+ * @param newOperator The new operator address
43
+ * @param options Optional tx execution params
44
+ * @returns EvmOnChainCallResponse
45
+ */
46
+ updateVaultOperator(vaultAddress: string, newOperator: string, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
47
+ /**
48
+ * Update the rate manager of a vault
49
+ * @param vaultAddress The address of the vault
50
+ * @param newRateManager The new rate manager address
51
+ * @param options Optional tx execution params
52
+ * @returns EvmOnChainCallResponse
53
+ */
54
+ updateVaultRateManager(vaultAddress: string, newRateManager: string, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
55
+ /**
56
+ * Set the paused status of a vault operation
57
+ * @param vaultAddress The address of the vault
58
+ * @param operation The operation to pause/unpause ("deposits", "withdrawals", or "privilegedOperations")
59
+ * @param paused Whether to pause or unpause
60
+ * @param options Optional tx execution params
61
+ * @returns EvmOnChainCallResponse
62
+ */
63
+ setVaultPausedStatus(vaultAddress: string, operation: VaultPauseOperation, paused: boolean, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
64
+ /**
65
+ * Pause deposits for a vault
66
+ * @param vaultAddress The address of the vault
67
+ * @param paused Whether to pause or unpause
68
+ * @param options Optional tx execution params
69
+ * @returns EvmOnChainCallResponse
70
+ */
71
+ pauseDeposits(vaultAddress: string, paused: boolean, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
72
+ /**
73
+ * Pause withdrawals for a vault
74
+ * @param vaultAddress The address of the vault
75
+ * @param paused Whether to pause or unpause
76
+ * @param options Optional tx execution params
77
+ * @returns EvmOnChainCallResponse
78
+ */
79
+ pauseWithdrawals(vaultAddress: string, paused: boolean, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
80
+ /**
81
+ * Pause privileged operations for a vault
82
+ * @param vaultAddress The address of the vault
83
+ * @param paused Whether to pause or unpause
84
+ * @param options Optional tx execution params
85
+ * @returns EvmOnChainCallResponse
86
+ */
87
+ pausePrivilegedOperations(vaultAddress: string, paused: boolean, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
88
+ /**
89
+ * Set/unset a sub-account for the vault
90
+ * @param vaultAddress The address of the vault
91
+ * @param account The account address
92
+ * @param isSubAccount Whether the account should be a sub-account
93
+ * @param options Optional tx execution params
94
+ * @returns EvmOnChainCallResponse
95
+ */
96
+ setVaultSubAccount(vaultAddress: string, account: string, isSubAccount: boolean, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
97
+ /**
98
+ * Update the minimum withdrawable shares of a vault
99
+ * @param vaultAddress The address of the vault
100
+ * @param minWithdrawableShares The new minimum withdrawable shares
101
+ * @param options Optional tx execution params
102
+ * @returns EvmOnChainCallResponse
103
+ */
104
+ updateVaultMinWithdrawableShares(vaultAddress: string, minWithdrawableShares: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
105
+ /**
106
+ * Update the maximum TVL of a vault
107
+ * @param vaultAddress The address of the vault
108
+ * @param maxTVL The new maximum TVL
109
+ * @param options Optional tx execution params
110
+ * @returns EvmOnChainCallResponse
111
+ */
112
+ updateVaultMaxTVL(vaultAddress: string, maxTVL: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
113
+ /**
114
+ * Update the rate update interval of a vault
115
+ * @param vaultAddress The address of the vault
116
+ * @param newInterval The new rate update interval
117
+ * @param options Optional tx execution params
118
+ * @returns EvmOnChainCallResponse
119
+ */
120
+ updateVaultRateUpdateInterval(vaultAddress: string, newInterval: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
121
+ /**
122
+ * Update the fee percentage of a vault
123
+ * @param vaultAddress The address of the vault
124
+ * @param newFeePercentage The new fee percentage
125
+ * @param options Optional tx execution params
126
+ * @returns EvmOnChainCallResponse
127
+ */
128
+ updateVaultFeePercentage(vaultAddress: string, newFeePercentage: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
129
+ /**
130
+ * Update the name of a vault
131
+ * @param vaultAddress The address of the vault
132
+ * @param newName The new vault name
133
+ * @param options Optional tx execution params
134
+ * @returns EvmOnChainCallResponse
135
+ */
136
+ updateVaultName(vaultAddress: string, newName: string, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
137
+ }
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EVMVaultAdminCalls = void 0;
4
+ const onchain_calls_1 = require("./onchain-calls");
5
+ /**
6
+ * Vault Admin Calls for Ember Protocol on EVM
7
+ *
8
+ * This class extends EVMOnChainCalls and provides vault admin-specific methods.
9
+ * These methods are called via the ProtocolConfig contract (not directly on the vault).
10
+ *
11
+ * The vault admin can:
12
+ * - Manage vault operator and rate manager
13
+ * - Update pause status for different operations
14
+ * - Manage sub-accounts
15
+ * - Configure vault parameters (min withdrawable shares, max TVL, fees, etc.)
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * import { EVMVaultAdminCalls } from "@ember-finance/sdk";
20
+ * import { ethers } from "ethers";
21
+ *
22
+ * const provider = new ethers.JsonRpcProvider("https://...");
23
+ * const signer = new ethers.Wallet(privateKey, provider);
24
+ *
25
+ * const vaultAdminCalls = new EVMVaultAdminCalls(deployment, signer, provider);
26
+ *
27
+ * // Update vault operator
28
+ * await vaultAdminCalls.updateVaultOperator(vaultAddress, newOperatorAddress);
29
+ *
30
+ * // Update vault fee percentage
31
+ * await vaultAdminCalls.updateVaultFeePercentage(vaultAddress, "50000"); // 5%
32
+ *
33
+ * // Pause deposits
34
+ * await vaultAdminCalls.setVaultPausedStatus(vaultAddress, "deposits", true);
35
+ * ```
36
+ */
37
+ class EVMVaultAdminCalls extends onchain_calls_1.EVMOnChainCalls {
38
+ constructor(_deployment, _signer, _provider, _walletAddress) {
39
+ super(_deployment, _signer, _provider, _walletAddress);
40
+ }
41
+ // ============================================
42
+ // Operator & Rate Manager Management
43
+ // ============================================
44
+ /**
45
+ * Update the operator of a vault
46
+ * @param vaultAddress The address of the vault
47
+ * @param newOperator The new operator address
48
+ * @param options Optional tx execution params
49
+ * @returns EvmOnChainCallResponse
50
+ */
51
+ async updateVaultOperator(vaultAddress, newOperator, options) {
52
+ const txCall = this.txBuilder.updateVaultOperator(vaultAddress, newOperator);
53
+ return this.execCall(txCall, options);
54
+ }
55
+ /**
56
+ * Update the rate manager of a vault
57
+ * @param vaultAddress The address of the vault
58
+ * @param newRateManager The new rate manager address
59
+ * @param options Optional tx execution params
60
+ * @returns EvmOnChainCallResponse
61
+ */
62
+ async updateVaultRateManager(vaultAddress, newRateManager, options) {
63
+ const txCall = this.txBuilder.updateVaultRateManager(vaultAddress, newRateManager);
64
+ return this.execCall(txCall, options);
65
+ }
66
+ // ============================================
67
+ // Pause Status Management
68
+ // ============================================
69
+ /**
70
+ * Set the paused status of a vault operation
71
+ * @param vaultAddress The address of the vault
72
+ * @param operation The operation to pause/unpause ("deposits", "withdrawals", or "privilegedOperations")
73
+ * @param paused Whether to pause or unpause
74
+ * @param options Optional tx execution params
75
+ * @returns EvmOnChainCallResponse
76
+ */
77
+ async setVaultPausedStatus(vaultAddress, operation, paused, options) {
78
+ const txCall = this.txBuilder.setVaultPausedStatus(vaultAddress, operation, paused);
79
+ return this.execCall(txCall, options);
80
+ }
81
+ /**
82
+ * Pause deposits for a vault
83
+ * @param vaultAddress The address of the vault
84
+ * @param paused Whether to pause or unpause
85
+ * @param options Optional tx execution params
86
+ * @returns EvmOnChainCallResponse
87
+ */
88
+ async pauseDeposits(vaultAddress, paused, options) {
89
+ return this.setVaultPausedStatus(vaultAddress, "deposits", paused, options);
90
+ }
91
+ /**
92
+ * Pause withdrawals for a vault
93
+ * @param vaultAddress The address of the vault
94
+ * @param paused Whether to pause or unpause
95
+ * @param options Optional tx execution params
96
+ * @returns EvmOnChainCallResponse
97
+ */
98
+ async pauseWithdrawals(vaultAddress, paused, options) {
99
+ return this.setVaultPausedStatus(vaultAddress, "withdrawals", paused, options);
100
+ }
101
+ /**
102
+ * Pause privileged operations for a vault
103
+ * @param vaultAddress The address of the vault
104
+ * @param paused Whether to pause or unpause
105
+ * @param options Optional tx execution params
106
+ * @returns EvmOnChainCallResponse
107
+ */
108
+ async pausePrivilegedOperations(vaultAddress, paused, options) {
109
+ return this.setVaultPausedStatus(vaultAddress, "privilegedOperations", paused, options);
110
+ }
111
+ // ============================================
112
+ // Sub-Account Management
113
+ // ============================================
114
+ /**
115
+ * Set/unset a sub-account for the vault
116
+ * @param vaultAddress The address of the vault
117
+ * @param account The account address
118
+ * @param isSubAccount Whether the account should be a sub-account
119
+ * @param options Optional tx execution params
120
+ * @returns EvmOnChainCallResponse
121
+ */
122
+ async setVaultSubAccount(vaultAddress, account, isSubAccount, options) {
123
+ const txCall = this.txBuilder.setVaultSubAccount(vaultAddress, account, isSubAccount);
124
+ return this.execCall(txCall, options);
125
+ }
126
+ // ============================================
127
+ // Vault Configuration
128
+ // ============================================
129
+ /**
130
+ * Update the minimum withdrawable shares of a vault
131
+ * @param vaultAddress The address of the vault
132
+ * @param minWithdrawableShares The new minimum withdrawable shares
133
+ * @param options Optional tx execution params
134
+ * @returns EvmOnChainCallResponse
135
+ */
136
+ async updateVaultMinWithdrawableShares(vaultAddress, minWithdrawableShares, options) {
137
+ const txCall = this.txBuilder.updateVaultMinWithdrawableShares(vaultAddress, minWithdrawableShares);
138
+ return this.execCall(txCall, options);
139
+ }
140
+ /**
141
+ * Update the maximum TVL of a vault
142
+ * @param vaultAddress The address of the vault
143
+ * @param maxTVL The new maximum TVL
144
+ * @param options Optional tx execution params
145
+ * @returns EvmOnChainCallResponse
146
+ */
147
+ async updateVaultMaxTVL(vaultAddress, maxTVL, options) {
148
+ const txCall = this.txBuilder.updateVaultMaxTVL(vaultAddress, maxTVL);
149
+ return this.execCall(txCall, options);
150
+ }
151
+ /**
152
+ * Update the rate update interval of a vault
153
+ * @param vaultAddress The address of the vault
154
+ * @param newInterval The new rate update interval
155
+ * @param options Optional tx execution params
156
+ * @returns EvmOnChainCallResponse
157
+ */
158
+ async updateVaultRateUpdateInterval(vaultAddress, newInterval, options) {
159
+ const txCall = this.txBuilder.updateVaultRateUpdateInterval(vaultAddress, newInterval);
160
+ return this.execCall(txCall, options);
161
+ }
162
+ /**
163
+ * Update the fee percentage of a vault
164
+ * @param vaultAddress The address of the vault
165
+ * @param newFeePercentage The new fee percentage
166
+ * @param options Optional tx execution params
167
+ * @returns EvmOnChainCallResponse
168
+ */
169
+ async updateVaultFeePercentage(vaultAddress, newFeePercentage, options) {
170
+ const txCall = this.txBuilder.updateVaultFeePercentage(vaultAddress, newFeePercentage);
171
+ return this.execCall(txCall, options);
172
+ }
173
+ /**
174
+ * Update the name of a vault
175
+ * @param vaultAddress The address of the vault
176
+ * @param newName The new vault name
177
+ * @param options Optional tx execution params
178
+ * @returns EvmOnChainCallResponse
179
+ */
180
+ async updateVaultName(vaultAddress, newName, options) {
181
+ const txCall = this.txBuilder.updateVaultName(vaultAddress, newName);
182
+ return this.execCall(txCall, options);
183
+ }
184
+ }
185
+ exports.EVMVaultAdminCalls = EVMVaultAdminCalls;