@ember-finance/sdk 1.0.29 → 1.1.1

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 +17 -11
  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
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Ember Protocol SDK
2
2
 
3
- A comprehensive TypeScript SDK for interacting with the Ember Protocol on the Sui
4
- blockchain. This SDK provides a complete set of tools for managing vaults, handling user
5
- operations, and administering the protocol.
3
+ A comprehensive TypeScript SDK for interacting with the Ember Protocol on both SUI and
4
+ EVM-compatible blockchains. This SDK provides a complete set of tools for managing vaults,
5
+ handling user operations, and administering the protocol.
6
6
 
7
7
  [![npm version](https://badge.fury.io/js/@ember-finance%2Fsdk.svg)](https://www.npmjs.com/package/@ember-finance/sdk)
8
8
  [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
@@ -10,15 +10,22 @@ operations, and administering the protocol.
10
10
  ## Overview
11
11
 
12
12
  The Ember Protocol SDK is a TypeScript library that enables developers to interact with
13
- the Ember Protocol's vault system on the Sui blockchain. The protocol allows users to
14
- deposit assets into vaults, receive receipt tokens, and participate in yield-generating
15
- strategies.
13
+ the Ember Protocol's vault system on both SUI and EVM-compatible blockchains. The protocol
14
+ allows users to deposit assets into vaults, receive shares, and participate in
15
+ yield-generating strategies.
16
+
17
+ ### Supported Chains
18
+
19
+ - **SUI** - Full support for SUI blockchain
20
+ - **EVM** - Support for Ethereum and EVM-compatible chains (using ethers.js v6)
21
+ - EVM vaults implement the **ERC-4626** tokenized vault standard
22
+ - The vault contract itself is the share token (ERC20)
16
23
 
17
24
  ### Architecture
18
25
 
19
26
  The SDK is built around several key classes:
20
27
 
21
- - **EmberVaults**: Main entry point for vault interactions
28
+ - **EmberVaults**: Main entry point for vault interactions (supports both SUI and EVM)
22
29
  - **AdminCalls**: Administrative functions for protocol management
23
30
  - **UserCalls**: User-facing operations for deposits and withdrawals
24
31
  - **OperatorCalls**: Operator functions for vault management
@@ -37,6 +44,172 @@ or
37
44
  yarn add @ember-finance/sdk
38
45
  ```
39
46
 
47
+ ## Usage
48
+
49
+ ### SUI Chain - User Deposit Example
50
+
51
+ ```typescript
52
+ import { EmberVaults } from "@ember-finance/sdk";
53
+ import { SuiClient, Ed25519Keypair } from "@mysten/sui.js";
54
+
55
+ // Setup SUI client and signer
56
+ const suiClient = new SuiClient({ url: "https://fullnode.mainnet.sui.io" });
57
+ const keypair = Ed25519Keypair.fromSecretKey(privateKeyBytes);
58
+
59
+ // Initialize EmberVaults for SUI
60
+ const ember = new EmberVaults({
61
+ chainType: "sui",
62
+ network: "mainnet",
63
+ suiClient,
64
+ signer: keypair,
65
+ environment: "prod" // "prod" | "staging" | "dev"
66
+ });
67
+
68
+ // Fetch deployment configuration from API
69
+ await ember.init();
70
+
71
+ // Get vault information
72
+ const vaultId = ember.parser.getVaultIdFromName("USDC Vault");
73
+
74
+ // Deposit assets into the vault
75
+ const depositAmount = "1000000"; // 1 USDC (6 decimals)
76
+ const result = await ember.user.depositAsset(vaultId, depositAmount);
77
+
78
+ console.log("Deposit successful:", result);
79
+ ```
80
+
81
+ ### EVM Chain - User Deposit Example (ERC-4626)
82
+
83
+ The EVM vaults implement the ERC-4626 tokenized vault standard. The vault contract itself
84
+ is the share token, so there's no separate receipt token.
85
+
86
+ ```typescript
87
+ import { EmberVaults } from "@ember-finance/sdk";
88
+ import { ethers } from "ethers";
89
+
90
+ // Setup ethers provider and signer
91
+ const provider = new ethers.JsonRpcProvider("https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY");
92
+ const signer = new ethers.Wallet(privateKey, provider);
93
+
94
+ // EVM deployment configuration (can be fetched from API or provided directly)
95
+ const deployment = {
96
+ network: "ethereum",
97
+ chainId: "1",
98
+ contracts: {
99
+ protocolConfig: {
100
+ proxyAddress: "0x...",
101
+ // ... other config
102
+ },
103
+ vaults: {
104
+ "USDC Vault": {
105
+ proxyAddress: "0x...",
106
+ baseToken: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
107
+ // ... other config
108
+ }
109
+ },
110
+ receiptTokens: {
111
+ // Note: For ERC-4626, the vault is the share token
112
+ }
113
+ }
114
+ };
115
+
116
+ // Initialize EmberVaults for EVM
117
+ const ember = new EmberVaults({
118
+ chainType: "evm",
119
+ signer,
120
+ provider,
121
+ deployment,
122
+ environment: "prod"
123
+ });
124
+
125
+ // Or fetch deployment from API
126
+ // await ember.init();
127
+
128
+ const vaultAddress = deployment.contracts.vaults["USDC Vault"].proxyAddress;
129
+ const underlyingAsset = deployment.contracts.vaults["USDC Vault"].baseToken;
130
+ const depositAmount = "1000000"; // 1 USDC (6 decimals)
131
+
132
+ // Step 1: Approve token spending (required for EVM)
133
+ await ember.user.approveTokenMax(underlyingAsset, vaultAddress);
134
+
135
+ // Step 2: Deposit assets (ERC-4626 standard: deposit(assets, receiver))
136
+ // Receiver defaults to caller
137
+ const result = await ember.user.deposit(vaultAddress, depositAmount);
138
+
139
+ console.log("Deposit successful:", result);
140
+
141
+ // Optional: Wait for receipt and get events
142
+ const resultWithEvents = await ember.user.deposit(
143
+ vaultAddress,
144
+ depositAmount,
145
+ { waitForReceipt: true }
146
+ );
147
+
148
+ console.log("Events:", resultWithEvents.events);
149
+ ```
150
+
151
+ ### EVM - Deposit to a Different Receiver
152
+
153
+ ```typescript
154
+ // Deposit, with shares going to a different address
155
+ const result = await ember.user.deposit(
156
+ vaultAddress,
157
+ depositAmount,
158
+ { receiver: "0xRecipientAddress..." }
159
+ );
160
+ ```
161
+
162
+ ### EVM - Mint Specific Shares (ERC-4626)
163
+
164
+ ```typescript
165
+ // Mint a specific number of shares (vault will pull required assets)
166
+ const sharesToMint = "1000000000000000000"; // 1e18 shares
167
+
168
+ await ember.user.mint(vaultAddress, sharesToMint);
169
+
170
+ // Mint to a different receiver
171
+ await ember.user.mint(vaultAddress, sharesToMint, {
172
+ receiver: "0xRecipientAddress..."
173
+ });
174
+ ```
175
+
176
+ ### EVM - Redeem Shares (Initiate Withdrawal)
177
+
178
+ ```typescript
179
+ // Redeem shares to initiate a withdrawal request
180
+ // Note: Withdrawal requests are processed by operators, not immediate
181
+ const shares = "500000000000000000000"; // shares to redeem
182
+
183
+ // Redeem to self (default)
184
+ await ember.user.redeemShares(vaultAddress, shares);
185
+
186
+ // Redeem to a different receiver
187
+ await ember.user.redeemShares(vaultAddress, shares, {
188
+ receiver: "0xRecipientAddress..."
189
+ });
190
+ ```
191
+
192
+ ### Type-Safe Chain Access
193
+
194
+ ```typescript
195
+ // Check chain type at runtime
196
+ if (ember.isSui()) {
197
+ // TypeScript knows this is SUI
198
+ const suiClient = ember.suiClient;
199
+ // ... SUI-specific operations
200
+ }
201
+
202
+ if (ember.isEvm()) {
203
+ // TypeScript knows this is EVM
204
+ const provider = ember.provider;
205
+ // ... EVM-specific operations
206
+ }
207
+
208
+ // Get strongly-typed chain-specific instance
209
+ const suiEmber = ember.asSui(); // throws if not SUI
210
+ const evmEmber = ember.asEvm(); // throws if not EVM
211
+ ```
212
+
40
213
  ## Core Components
41
214
 
42
215
  ### EmberVaults
@@ -44,55 +217,92 @@ yarn add @ember-finance/sdk
44
217
  The main entry point for interacting with the Ember Protocol:
45
218
 
46
219
  ```typescript
47
- class EmberVaults {
48
- suiClient: SuiClient;
49
- signer: Signer;
50
- parser: DeploymentParser;
51
- walletAddress: string;
52
- txBuilder: TxBuilder;
53
- network: string;
54
- admin: AdminCalls;
55
- }
220
+ // Common properties available for both chains
221
+ ember.chainType // "sui" | "evm"
222
+ ember.vaultsApi // VaultsApi - same for both chains
223
+ ember.api // AccountsApi - same for both chains
224
+ ember.parser // Deployment parser (chain-specific)
225
+ ember.txBuilder // Transaction builder (chain-specific)
226
+ ember.admin // Admin calls (chain-specific)
227
+ ember.operator // Operator calls (chain-specific)
228
+ ember.vaultAdmin // Vault admin calls (chain-specific)
229
+ ember.user // User calls (chain-specific)
230
+ ember.deployment // Deployment config (chain-specific)
56
231
  ```
57
232
 
58
233
  ### User Operations (UserCalls)
59
234
 
60
235
  Handle user-facing vault operations:
61
236
 
237
+ **EVM (ERC-4626):**
238
+
239
+ - **deposit**: Deposit assets and receive shares (ERC-4626 standard)
240
+ - **mint**: Mint specific shares by depositing required assets (ERC-4626 standard)
241
+ - **redeemShares**: Redeem shares to initiate withdrawal request
242
+ - **cancelPendingWithdrawalRequest**: Cancel pending withdrawal requests
243
+ - **approveToken**: Approve token spending
244
+ - **approveTokenMax**: Approve maximum token spending
245
+
246
+ **SUI:**
247
+
62
248
  - **depositAsset**: Deposit assets into a vault
63
249
  - **mintShares**: Mint vault shares with specific amount
64
250
  - **redeemShares**: Redeem shares for underlying assets
65
- - **requestWithdrawal**: Request withdrawal with time delay
66
- - **cancelWithdrawalRequest**: Cancel pending withdrawal requests
251
+ - **cancelPendingWithdrawalRequest**: Cancel pending withdrawal requests
67
252
 
68
253
  ### Admin Functions (AdminCalls)
69
254
 
70
255
  Protocol-level administrative functions:
71
256
 
72
- - **createVault**: Create new vaults
73
- - **updateAdmin**: Update vault admin addresses
74
257
  - **updateMaxFeePercentage**: Update protocol fee limits
75
- - **pauseProtocol**: Emergency protocol controls
258
+ - **pauseNonAdminOperations**: Emergency protocol controls
259
+ - **updatePlatformFeeRecipient**: Update fee recipient
260
+ - **setBlacklistedAccount**: Manage blacklisted accounts
261
+ - **updateVaultAdmin**: Update vault admin address
76
262
 
77
263
  ### Operator Functions (OperatorCalls)
78
264
 
79
265
  Vault operator management functions:
80
266
 
81
267
  - **collectPlatformFee**: Collect accumulated fees
82
- - **chargePlatformFee**: Charge fees from vault
83
268
  - **processWithdrawalRequests**: Process pending withdrawals
84
- - **updateVaultRate**: Update vault exchange rates
85
- - **withdrawFromVault**: Direct vault withdrawals
86
- - **depositToVault**: Direct vault deposits
269
+ - **updateVaultRate**: Update vault exchange rates (rate manager role)
270
+ - **withdrawFromVaultWithoutRedeemingShares**: Withdraw for strategy execution
87
271
 
88
272
  ### Vault Admin Functions (VaultAdminCalls)
89
273
 
90
- Vault-specific administrative controls:
274
+ Vault-specific administrative controls (called via ProtocolConfig on EVM):
91
275
 
92
- - **setMinWithdrawalShares**: Configure minimum withdrawal amounts
93
- - **setSubAccount**: Manage vault sub-accounts
276
+ - **updateVaultMinWithdrawableShares**: Configure minimum withdrawal amounts
277
+ - **setVaultSubAccount**: Manage vault sub-accounts
94
278
  - **updateVaultOperator**: Change vault operators
95
- - **updateVaultPausedStatus**: Pause/unpause individual vaults
279
+ - **updateVaultRateManager**: Change rate manager
280
+ - **setVaultPausedStatus**: Pause/unpause vault operations
281
+ - **updateVaultFeePercentage**: Update vault fee percentage
282
+ - **updateVaultMaxTVL**: Update maximum TVL
283
+ - **updateVaultRateUpdateInterval**: Update rate update interval
284
+ - **updateVaultName**: Update vault name
285
+
286
+ ## ERC-4626 Compatibility (EVM)
287
+
288
+ The EVM vaults are fully ERC-4626 compliant:
289
+
290
+ | ERC-4626 Method | SDK Method | Notes |
291
+ | ----------------------------------- | ------------------------------------------ | --------------------------------- |
292
+ | `asset()` | - | Returns underlying asset address |
293
+ | `deposit(assets, receiver)` | `user.deposit(vault, assets, {receiver?})` | Deposit assets, get shares |
294
+ | `mint(shares, receiver)` | `user.mint(vault, shares, {receiver?})` | Mint shares by depositing assets |
295
+ | `withdraw(assets, receiver, owner)` | N/A | Not supported, use `redeemShares` |
296
+ | `redeem(shares, receiver, owner)` | N/A | Not supported, use `redeemShares` |
297
+ | `totalAssets()` | - | Read via contract |
298
+ | `convertToShares(assets)` | - | Read via contract |
299
+ | `convertToAssets(shares)` | - | Read via contract |
300
+ | `previewDeposit(assets)` | - | Read via contract |
301
+ | `previewMint(shares)` | - | Read via contract |
302
+
303
+ Note: Standard ERC-4626 `withdraw` and `redeem` are not supported due to the vault's async
304
+ withdrawal mechanism. Use `redeemShares` to initiate a withdrawal request, which will be
305
+ processed by vault operators.
96
306
 
97
307
  ## License
98
308