@ember-finance/sdk 1.0.28 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. package/README.md +239 -29
  2. package/dist/src/abis/ERC20Token.json +659 -0
  3. package/dist/src/abis/EmberProtocolConfig.json +1078 -0
  4. package/dist/src/abis/EmberVault.json +2807 -0
  5. package/dist/src/{vaults/api → api}/v2/apis/vaults-api.d.ts +4 -8
  6. package/dist/src/{vaults/api → api}/v2/apis/vaults-api.js +7 -14
  7. package/dist/src/{vaults/api → api}/v2/models/apy-history.d.ts +6 -0
  8. package/dist/src/{vaults/api → api}/v2/models/chain-vault-details.d.ts +12 -0
  9. package/dist/src/{vaults/api → api}/v2/models/reported-apy.d.ts +6 -0
  10. package/dist/src/common/types.d.ts +4 -0
  11. package/dist/src/common/types.js +1 -0
  12. package/dist/src/ember-vaults.d.ts +169 -0
  13. package/dist/src/ember-vaults.js +239 -0
  14. package/dist/src/{vaults → evm-vaults}/index.d.ts +0 -2
  15. package/dist/src/{vaults → evm-vaults}/index.js +0 -2
  16. package/dist/src/evm-vaults/interfaces/index.d.ts +168 -0
  17. package/dist/src/evm-vaults/on-chain-calls/admin.d.ts +108 -0
  18. package/dist/src/evm-vaults/on-chain-calls/admin.js +147 -0
  19. package/dist/src/evm-vaults/on-chain-calls/index.d.ts +7 -0
  20. package/dist/src/evm-vaults/on-chain-calls/index.js +23 -0
  21. package/dist/src/evm-vaults/on-chain-calls/onchain-calls.d.ts +79 -0
  22. package/dist/src/evm-vaults/on-chain-calls/onchain-calls.js +190 -0
  23. package/dist/src/evm-vaults/on-chain-calls/operator.d.ts +72 -0
  24. package/dist/src/evm-vaults/on-chain-calls/operator.js +99 -0
  25. package/dist/src/evm-vaults/on-chain-calls/tx-builder.d.ts +250 -0
  26. package/dist/src/evm-vaults/on-chain-calls/tx-builder.js +542 -0
  27. package/dist/src/evm-vaults/on-chain-calls/user.d.ts +122 -0
  28. package/dist/src/evm-vaults/on-chain-calls/user.js +179 -0
  29. package/dist/src/evm-vaults/on-chain-calls/vault-admin.d.ts +137 -0
  30. package/dist/src/evm-vaults/on-chain-calls/vault-admin.js +185 -0
  31. package/dist/src/evm-vaults/on-chain-calls/vault-reader.d.ts +431 -0
  32. package/dist/src/evm-vaults/on-chain-calls/vault-reader.js +542 -0
  33. package/dist/src/evm-vaults/utils/deployment-parser.d.ts +97 -0
  34. package/dist/src/evm-vaults/utils/deployment-parser.js +164 -0
  35. package/dist/src/evm-vaults/utils/index.d.ts +1 -0
  36. package/dist/src/evm-vaults/utils/index.js +17 -0
  37. package/dist/src/index.d.ts +3 -0
  38. package/dist/src/index.js +19 -0
  39. package/dist/src/sui-vaults/index.d.ts +4 -0
  40. package/dist/src/sui-vaults/index.js +20 -0
  41. package/dist/src/{vaults → sui-vaults}/interfaces/index.d.ts +1 -1
  42. package/dist/src/sui-vaults/interfaces/index.js +2 -0
  43. package/dist/src/{vaults → sui-vaults}/on-chain-calls/admin.d.ts +2 -2
  44. package/dist/src/{vaults → sui-vaults}/on-chain-calls/onchain-calls.d.ts +5 -5
  45. package/dist/src/{vaults → sui-vaults}/on-chain-calls/onchain-calls.js +1 -1
  46. package/dist/src/{vaults → sui-vaults}/on-chain-calls/operator.d.ts +2 -2
  47. package/dist/src/{vaults → sui-vaults}/on-chain-calls/tx-builder.d.ts +5 -5
  48. package/dist/src/{vaults → sui-vaults}/on-chain-calls/tx-builder.js +1 -1
  49. package/dist/src/{vaults → sui-vaults}/on-chain-calls/user.d.ts +2 -2
  50. package/dist/src/{vaults → sui-vaults}/on-chain-calls/vault-admin.d.ts +2 -2
  51. package/dist/src/{vaults → sui-vaults}/utils/deployment-parser.d.ts +5 -5
  52. package/dist/src/{vaults → sui-vaults}/utils/deployment-parser.js +3 -3
  53. package/package.json +5 -4
  54. package/dist/src/vaults/ember-vaults.d.ts +0 -39
  55. package/dist/src/vaults/ember-vaults.js +0 -73
  56. /package/dist/src/{vaults/api → api}/api.d.ts +0 -0
  57. /package/dist/src/{vaults/api → api}/api.js +0 -0
  58. /package/dist/src/{vaults/api → api}/apis/accounts-api.d.ts +0 -0
  59. /package/dist/src/{vaults/api → api}/apis/accounts-api.js +0 -0
  60. /package/dist/src/{vaults/api → api}/apis/vaults-api.d.ts +0 -0
  61. /package/dist/src/{vaults/api → api}/apis/vaults-api.js +0 -0
  62. /package/dist/src/{vaults/api → api}/base.d.ts +0 -0
  63. /package/dist/src/{vaults/api → api}/base.js +0 -0
  64. /package/dist/src/{vaults/api → api}/common.d.ts +0 -0
  65. /package/dist/src/{vaults/api → api}/common.js +0 -0
  66. /package/dist/src/{vaults/api → api}/configuration.d.ts +0 -0
  67. /package/dist/src/{vaults/api → api}/configuration.js +0 -0
  68. /package/dist/src/{vaults/api → api}/index.d.ts +0 -0
  69. /package/dist/src/{vaults/api → api}/index.js +0 -0
  70. /package/dist/src/{vaults/api → api}/models/account-transaction-transaction-data.d.ts +0 -0
  71. /package/dist/src/{vaults/api → api}/models/account-transaction-transaction-data.js +0 -0
  72. /package/dist/src/{vaults/api → api}/models/account-transaction.d.ts +0 -0
  73. /package/dist/src/{vaults/api → api}/models/account-transaction.js +0 -0
  74. /package/dist/src/{vaults/api → api}/models/account-withdrawal-request.d.ts +0 -0
  75. /package/dist/src/{vaults/api → api}/models/account-withdrawal-request.js +0 -0
  76. /package/dist/src/{vaults/api → api}/models/apy-history-v2.d.ts +0 -0
  77. /package/dist/src/{vaults/api → api}/models/apy-history-v2.js +0 -0
  78. /package/dist/src/{vaults/api → api}/models/apy-history.d.ts +0 -0
  79. /package/dist/src/{vaults/api → api}/models/apy-history.js +0 -0
  80. /package/dist/src/{vaults/api → api}/models/asset.d.ts +0 -0
  81. /package/dist/src/{vaults/api → api}/models/asset.js +0 -0
  82. /package/dist/src/{vaults/api → api}/models/borrowed.d.ts +0 -0
  83. /package/dist/src/{vaults/api → api}/models/borrowed.js +0 -0
  84. /package/dist/src/{vaults/api → api}/models/chain.d.ts +0 -0
  85. /package/dist/src/{vaults/api → api}/models/chain.js +0 -0
  86. /package/dist/src/{vaults/api → api}/models/coin-price.d.ts +0 -0
  87. /package/dist/src/{vaults/api → api}/models/coin-price.js +0 -0
  88. /package/dist/src/{vaults/api → api}/models/deposit-transaction.d.ts +0 -0
  89. /package/dist/src/{vaults/api → api}/models/deposit-transaction.js +0 -0
  90. /package/dist/src/{vaults/api → api}/models/ember-position.d.ts +0 -0
  91. /package/dist/src/{vaults/api → api}/models/ember-position.js +0 -0
  92. /package/dist/src/{vaults/api → api}/models/exposure-coin.d.ts +0 -0
  93. /package/dist/src/{vaults/api → api}/models/exposure-coin.js +0 -0
  94. /package/dist/src/{vaults/api → api}/models/exposure-protocol.d.ts +0 -0
  95. /package/dist/src/{vaults/api → api}/models/exposure-protocol.js +0 -0
  96. /package/dist/src/{vaults/api → api}/models/exposure.d.ts +0 -0
  97. /package/dist/src/{vaults/api → api}/models/exposure.js +0 -0
  98. /package/dist/src/{vaults/api → api}/models/fee.d.ts +0 -0
  99. /package/dist/src/{vaults/api → api}/models/fee.js +0 -0
  100. /package/dist/src/{vaults/api → api}/models/fees.d.ts +0 -0
  101. /package/dist/src/{vaults/api → api}/models/fees.js +0 -0
  102. /package/dist/src/{vaults/api → api}/models/history-interval.d.ts +0 -0
  103. /package/dist/src/{vaults/api → api}/models/history-interval.js +0 -0
  104. /package/dist/src/{vaults/api → api}/models/index.d.ts +0 -0
  105. /package/dist/src/{vaults/api → api}/models/index.js +0 -0
  106. /package/dist/src/{vaults/api → api}/models/lp.d.ts +0 -0
  107. /package/dist/src/{vaults/api → api}/models/lp.js +0 -0
  108. /package/dist/src/{vaults/api → api}/models/manager.d.ts +0 -0
  109. /package/dist/src/{vaults/api → api}/models/manager.js +0 -0
  110. /package/dist/src/{vaults/api → api}/models/min-withdrawal-shares-updated-event.d.ts +0 -0
  111. /package/dist/src/{vaults/api → api}/models/min-withdrawal-shares-updated-event.js +0 -0
  112. /package/dist/src/{vaults/api → api}/models/perps.d.ts +0 -0
  113. /package/dist/src/{vaults/api → api}/models/perps.js +0 -0
  114. /package/dist/src/{vaults/api → api}/models/pnl-history-interval.d.ts +0 -0
  115. /package/dist/src/{vaults/api → api}/models/pnl-history-interval.js +0 -0
  116. /package/dist/src/{vaults/api → api}/models/pnl-history.d.ts +0 -0
  117. /package/dist/src/{vaults/api → api}/models/pnl-history.js +0 -0
  118. /package/dist/src/{vaults/api → api}/models/poc-report-asset.d.ts +0 -0
  119. /package/dist/src/{vaults/api → api}/models/poc-report-asset.js +0 -0
  120. /package/dist/src/{vaults/api → api}/models/poc-report-assets.d.ts +0 -0
  121. /package/dist/src/{vaults/api → api}/models/poc-report-assets.js +0 -0
  122. /package/dist/src/{vaults/api → api}/models/poc-report-exchange.d.ts +0 -0
  123. /package/dist/src/{vaults/api → api}/models/poc-report-exchange.js +0 -0
  124. /package/dist/src/{vaults/api → api}/models/poc-report-exchanges.d.ts +0 -0
  125. /package/dist/src/{vaults/api → api}/models/poc-report-exchanges.js +0 -0
  126. /package/dist/src/{vaults/api → api}/models/poc-report-protocol.d.ts +0 -0
  127. /package/dist/src/{vaults/api → api}/models/poc-report-protocol.js +0 -0
  128. /package/dist/src/{vaults/api → api}/models/poc-report-token.d.ts +0 -0
  129. /package/dist/src/{vaults/api → api}/models/poc-report-token.js +0 -0
  130. /package/dist/src/{vaults/api → api}/models/poc-report-wallet.d.ts +0 -0
  131. /package/dist/src/{vaults/api → api}/models/poc-report-wallet.js +0 -0
  132. /package/dist/src/{vaults/api → api}/models/poc-report-wallets.d.ts +0 -0
  133. /package/dist/src/{vaults/api → api}/models/poc-report-wallets.js +0 -0
  134. /package/dist/src/{vaults/api → api}/models/position-history-interval.d.ts +0 -0
  135. /package/dist/src/{vaults/api → api}/models/position-history-interval.js +0 -0
  136. /package/dist/src/{vaults/api → api}/models/position-history.d.ts +0 -0
  137. /package/dist/src/{vaults/api → api}/models/position-history.js +0 -0
  138. /package/dist/src/{vaults/api → api}/models/position-value.d.ts +0 -0
  139. /package/dist/src/{vaults/api → api}/models/position-value.js +0 -0
  140. /package/dist/src/{vaults/api → api}/models/position.d.ts +0 -0
  141. /package/dist/src/{vaults/api → api}/models/position.js +0 -0
  142. /package/dist/src/{vaults/api → api}/models/process-requests-summary-event.d.ts +0 -0
  143. /package/dist/src/{vaults/api → api}/models/process-requests-summary-event.js +0 -0
  144. /package/dist/src/{vaults/api → api}/models/proof-of-capital-report.d.ts +0 -0
  145. /package/dist/src/{vaults/api → api}/models/proof-of-capital-report.js +0 -0
  146. /package/dist/src/{vaults/api → api}/models/protocol-fee-collected-event.d.ts +0 -0
  147. /package/dist/src/{vaults/api → api}/models/protocol-fee-collected-event.js +0 -0
  148. /package/dist/src/{vaults/api → api}/models/protocol-info.d.ts +0 -0
  149. /package/dist/src/{vaults/api → api}/models/protocol-info.js +0 -0
  150. /package/dist/src/{vaults/api → api}/models/protocol.d.ts +0 -0
  151. /package/dist/src/{vaults/api → api}/models/protocol.js +0 -0
  152. /package/dist/src/{vaults/api → api}/models/raw-event-event-data.d.ts +0 -0
  153. /package/dist/src/{vaults/api → api}/models/raw-event-event-data.js +0 -0
  154. /package/dist/src/{vaults/api → api}/models/raw-event.d.ts +0 -0
  155. /package/dist/src/{vaults/api → api}/models/raw-event.js +0 -0
  156. /package/dist/src/{vaults/api → api}/models/redeem-request-cancelled-transaction.d.ts +0 -0
  157. /package/dist/src/{vaults/api → api}/models/redeem-request-cancelled-transaction.js +0 -0
  158. /package/dist/src/{vaults/api → api}/models/redeem-request-processed-transaction.d.ts +0 -0
  159. /package/dist/src/{vaults/api → api}/models/redeem-request-processed-transaction.js +0 -0
  160. /package/dist/src/{vaults/api → api}/models/redeem-request-skipped-transaction.d.ts +0 -0
  161. /package/dist/src/{vaults/api → api}/models/redeem-request-skipped-transaction.js +0 -0
  162. /package/dist/src/{vaults/api → api}/models/redeem-request-transaction.d.ts +0 -0
  163. /package/dist/src/{vaults/api → api}/models/redeem-request-transaction.js +0 -0
  164. /package/dist/src/{vaults/api → api}/models/reported-apy.d.ts +0 -0
  165. /package/dist/src/{vaults/api → api}/models/reported-apy.js +0 -0
  166. /package/dist/src/{vaults/api → api}/models/request-processed-event.d.ts +0 -0
  167. /package/dist/src/{vaults/api → api}/models/request-processed-event.js +0 -0
  168. /package/dist/src/{vaults/api → api}/models/request-redeemed-event.d.ts +0 -0
  169. /package/dist/src/{vaults/api → api}/models/request-redeemed-event.js +0 -0
  170. /package/dist/src/{vaults/api → api}/models/reward-token.d.ts +0 -0
  171. /package/dist/src/{vaults/api → api}/models/reward-token.js +0 -0
  172. /package/dist/src/{vaults/api → api}/models/reward.d.ts +0 -0
  173. /package/dist/src/{vaults/api → api}/models/reward.js +0 -0
  174. /package/dist/src/{vaults/api → api}/models/share-price-history.d.ts +0 -0
  175. /package/dist/src/{vaults/api → api}/models/share-price-history.js +0 -0
  176. /package/dist/src/{vaults/api → api}/models/strategy-account.d.ts +0 -0
  177. /package/dist/src/{vaults/api → api}/models/strategy-account.js +0 -0
  178. /package/dist/src/{vaults/api → api}/models/strategy.d.ts +0 -0
  179. /package/dist/src/{vaults/api → api}/models/strategy.js +0 -0
  180. /package/dist/src/{vaults/api → api}/models/sub-account.d.ts +0 -0
  181. /package/dist/src/{vaults/api → api}/models/sub-account.js +0 -0
  182. /package/dist/src/{vaults/api → api}/models/supplied.d.ts +0 -0
  183. /package/dist/src/{vaults/api → api}/models/supplied.js +0 -0
  184. /package/dist/src/{vaults/api → api}/models/tag.d.ts +0 -0
  185. /package/dist/src/{vaults/api → api}/models/tag.js +0 -0
  186. /package/dist/src/{vaults/api → api}/models/tvl-history.d.ts +0 -0
  187. /package/dist/src/{vaults/api → api}/models/tvl-history.js +0 -0
  188. /package/dist/src/{vaults/api → api}/models/ultra-coin-info.d.ts +0 -0
  189. /package/dist/src/{vaults/api → api}/models/ultra-coin-info.js +0 -0
  190. /package/dist/src/{vaults/api → api}/models/update-vault-strategies.d.ts +0 -0
  191. /package/dist/src/{vaults/api → api}/models/update-vault-strategies.js +0 -0
  192. /package/dist/src/{vaults/api → api}/models/vault-admin-changed-event.d.ts +0 -0
  193. /package/dist/src/{vaults/api → api}/models/vault-admin-changed-event.js +0 -0
  194. /package/dist/src/{vaults/api → api}/models/vault-created-event.d.ts +0 -0
  195. /package/dist/src/{vaults/api → api}/models/vault-created-event.js +0 -0
  196. /package/dist/src/{vaults/api → api}/models/vault-deposit-event.d.ts +0 -0
  197. /package/dist/src/{vaults/api → api}/models/vault-deposit-event.js +0 -0
  198. /package/dist/src/{vaults/api → api}/models/vault-deposit-without-minting-shares-event.d.ts +0 -0
  199. /package/dist/src/{vaults/api → api}/models/vault-deposit-without-minting-shares-event.js +0 -0
  200. /package/dist/src/{vaults/api → api}/models/vault-detail.d.ts +0 -0
  201. /package/dist/src/{vaults/api → api}/models/vault-detail.js +0 -0
  202. /package/dist/src/{vaults/api → api}/models/vault-fee-percentage-updated-event.d.ts +0 -0
  203. /package/dist/src/{vaults/api → api}/models/vault-fee-percentage-updated-event.js +0 -0
  204. /package/dist/src/{vaults/api → api}/models/vault-info.d.ts +0 -0
  205. /package/dist/src/{vaults/api → api}/models/vault-info.js +0 -0
  206. /package/dist/src/{vaults/api → api}/models/vault-max-tvl-updated-event.d.ts +0 -0
  207. /package/dist/src/{vaults/api → api}/models/vault-max-tvl-updated-event.js +0 -0
  208. /package/dist/src/{vaults/api → api}/models/vault-operator-changed-event.d.ts +0 -0
  209. /package/dist/src/{vaults/api → api}/models/vault-operator-changed-event.js +0 -0
  210. /package/dist/src/{vaults/api → api}/models/vault-paused-status-updated-event.d.ts +0 -0
  211. /package/dist/src/{vaults/api → api}/models/vault-paused-status-updated-event.js +0 -0
  212. /package/dist/src/{vaults/api → api}/models/vault-platform-fee-charged-event.d.ts +0 -0
  213. /package/dist/src/{vaults/api → api}/models/vault-platform-fee-charged-event.js +0 -0
  214. /package/dist/src/{vaults/api → api}/models/vault-protocol.d.ts +0 -0
  215. /package/dist/src/{vaults/api → api}/models/vault-protocol.js +0 -0
  216. /package/dist/src/{vaults/api → api}/models/vault-rate-updated-event.d.ts +0 -0
  217. /package/dist/src/{vaults/api → api}/models/vault-rate-updated-event.js +0 -0
  218. /package/dist/src/{vaults/api → api}/models/vault-slice.d.ts +0 -0
  219. /package/dist/src/{vaults/api → api}/models/vault-slice.js +0 -0
  220. /package/dist/src/{vaults/api → api}/models/vault-sub-account-updated-event.d.ts +0 -0
  221. /package/dist/src/{vaults/api → api}/models/vault-sub-account-updated-event.js +0 -0
  222. /package/dist/src/{vaults/api → api}/models/vault-withdrawal-without-redeeming-shares-event.d.ts +0 -0
  223. /package/dist/src/{vaults/api → api}/models/vault-withdrawal-without-redeeming-shares-event.js +0 -0
  224. /package/dist/src/{vaults/api → api}/models/vaults-stats.d.ts +0 -0
  225. /package/dist/src/{vaults/api → api}/models/vaults-stats.js +0 -0
  226. /package/dist/src/{vaults/api → api}/models/yield-aggregate-value.d.ts +0 -0
  227. /package/dist/src/{vaults/api → api}/models/yield-aggregate-value.js +0 -0
  228. /package/dist/src/{vaults/api → api}/v2/api.d.ts +0 -0
  229. /package/dist/src/{vaults/api → api}/v2/api.js +0 -0
  230. /package/dist/src/{vaults/api → api}/v2/apis/accounts-api.d.ts +0 -0
  231. /package/dist/src/{vaults/api → api}/v2/apis/accounts-api.js +0 -0
  232. /package/dist/src/{vaults/api → api}/v2/base.d.ts +0 -0
  233. /package/dist/src/{vaults/api → api}/v2/base.js +0 -0
  234. /package/dist/src/{vaults/api → api}/v2/common.d.ts +0 -0
  235. /package/dist/src/{vaults/api → api}/v2/common.js +0 -0
  236. /package/dist/src/{vaults/api → api}/v2/configuration.d.ts +0 -0
  237. /package/dist/src/{vaults/api → api}/v2/configuration.js +0 -0
  238. /package/dist/src/{vaults/api → api}/v2/index.d.ts +0 -0
  239. /package/dist/src/{vaults/api → api}/v2/index.js +0 -0
  240. /package/dist/src/{vaults/api → api}/v2/models/account-transaction-transaction-data.d.ts +0 -0
  241. /package/dist/src/{vaults/api → api}/v2/models/account-transaction-transaction-data.js +0 -0
  242. /package/dist/src/{vaults/api → api}/v2/models/account-transaction.d.ts +0 -0
  243. /package/dist/src/{vaults/api → api}/v2/models/account-transaction.js +0 -0
  244. /package/dist/src/{vaults/api → api}/v2/models/account-vault-position-history.d.ts +0 -0
  245. /package/dist/src/{vaults/api → api}/v2/models/account-vault-position-history.js +0 -0
  246. /package/dist/src/{vaults/api → api}/v2/models/account-withdrawal-request.d.ts +0 -0
  247. /package/dist/src/{vaults/api → api}/v2/models/account-withdrawal-request.js +0 -0
  248. /package/dist/src/{vaults/api → api}/v2/models/aggregated-account-position-history.d.ts +0 -0
  249. /package/dist/src/{vaults/api → api}/v2/models/aggregated-account-position-history.js +0 -0
  250. /package/dist/src/{vaults/api → api}/v2/models/apy-history-response.d.ts +0 -0
  251. /package/dist/src/{vaults/api → api}/v2/models/apy-history-response.js +0 -0
  252. /package/dist/src/{vaults/api → api}/v2/models/apy-history.js +0 -0
  253. /package/dist/src/{vaults/api → api}/v2/models/asset.d.ts +0 -0
  254. /package/dist/src/{vaults/api → api}/v2/models/asset.js +0 -0
  255. /package/dist/src/{vaults/api → api}/v2/models/borrowed.d.ts +0 -0
  256. /package/dist/src/{vaults/api → api}/v2/models/borrowed.js +0 -0
  257. /package/dist/src/{vaults/api → api}/v2/models/chain-vault-details.js +0 -0
  258. /package/dist/src/{vaults/api → api}/v2/models/chain.d.ts +0 -0
  259. /package/dist/src/{vaults/api → api}/v2/models/chain.js +0 -0
  260. /package/dist/src/{vaults/api → api}/v2/models/coin-price.d.ts +0 -0
  261. /package/dist/src/{vaults/api → api}/v2/models/coin-price.js +0 -0
  262. /package/dist/src/{vaults/api → api}/v2/models/deposit-transaction.d.ts +0 -0
  263. /package/dist/src/{vaults/api → api}/v2/models/deposit-transaction.js +0 -0
  264. /package/dist/src/{vaults/api → api}/v2/models/ember-position.d.ts +0 -0
  265. /package/dist/src/{vaults/api → api}/v2/models/ember-position.js +0 -0
  266. /package/dist/src/{vaults/api → api}/v2/models/evm-contracts.d.ts +0 -0
  267. /package/dist/src/{vaults/api → api}/v2/models/evm-contracts.js +0 -0
  268. /package/dist/src/{vaults/api → api}/v2/models/evm-deposit-token.d.ts +0 -0
  269. /package/dist/src/{vaults/api → api}/v2/models/evm-deposit-token.js +0 -0
  270. /package/dist/src/{vaults/api → api}/v2/models/evm-price-feed.d.ts +0 -0
  271. /package/dist/src/{vaults/api → api}/v2/models/evm-price-feed.js +0 -0
  272. /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-config.d.ts +0 -0
  273. /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-config.js +0 -0
  274. /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-info.d.ts +0 -0
  275. /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-info.js +0 -0
  276. /package/dist/src/{vaults/api → api}/v2/models/evm-receipt-token.d.ts +0 -0
  277. /package/dist/src/{vaults/api → api}/v2/models/evm-receipt-token.js +0 -0
  278. /package/dist/src/{vaults/api → api}/v2/models/evm-vault.d.ts +0 -0
  279. /package/dist/src/{vaults/api → api}/v2/models/evm-vault.js +0 -0
  280. /package/dist/src/{vaults/api → api}/v2/models/exposure-coin.d.ts +0 -0
  281. /package/dist/src/{vaults/api → api}/v2/models/exposure-coin.js +0 -0
  282. /package/dist/src/{vaults/api → api}/v2/models/exposure-protocol.d.ts +0 -0
  283. /package/dist/src/{vaults/api → api}/v2/models/exposure-protocol.js +0 -0
  284. /package/dist/src/{vaults/api → api}/v2/models/exposure.d.ts +0 -0
  285. /package/dist/src/{vaults/api → api}/v2/models/exposure.js +0 -0
  286. /package/dist/src/{vaults/api → api}/v2/models/fee.d.ts +0 -0
  287. /package/dist/src/{vaults/api → api}/v2/models/fee.js +0 -0
  288. /package/dist/src/{vaults/api → api}/v2/models/fees.d.ts +0 -0
  289. /package/dist/src/{vaults/api → api}/v2/models/fees.js +0 -0
  290. /package/dist/src/{vaults/api → api}/v2/models/history-interval.d.ts +0 -0
  291. /package/dist/src/{vaults/api → api}/v2/models/history-interval.js +0 -0
  292. /package/dist/src/{vaults/api → api}/v2/models/index.d.ts +0 -0
  293. /package/dist/src/{vaults/api → api}/v2/models/index.js +0 -0
  294. /package/dist/src/{vaults/api → api}/v2/models/lp.d.ts +0 -0
  295. /package/dist/src/{vaults/api → api}/v2/models/lp.js +0 -0
  296. /package/dist/src/{vaults/api → api}/v2/models/manager.d.ts +0 -0
  297. /package/dist/src/{vaults/api → api}/v2/models/manager.js +0 -0
  298. /package/dist/src/{vaults/api → api}/v2/models/min-withdrawal-shares-updated-event.d.ts +0 -0
  299. /package/dist/src/{vaults/api → api}/v2/models/min-withdrawal-shares-updated-event.js +0 -0
  300. /package/dist/src/{vaults/api → api}/v2/models/perps.d.ts +0 -0
  301. /package/dist/src/{vaults/api → api}/v2/models/perps.js +0 -0
  302. /package/dist/src/{vaults/api → api}/v2/models/pnl-by-chain.d.ts +0 -0
  303. /package/dist/src/{vaults/api → api}/v2/models/pnl-by-chain.js +0 -0
  304. /package/dist/src/{vaults/api → api}/v2/models/pnl-history-interval.d.ts +0 -0
  305. /package/dist/src/{vaults/api → api}/v2/models/pnl-history-interval.js +0 -0
  306. /package/dist/src/{vaults/api → api}/v2/models/pnl-history.d.ts +0 -0
  307. /package/dist/src/{vaults/api → api}/v2/models/pnl-history.js +0 -0
  308. /package/dist/src/{vaults/api → api}/v2/models/poc-report-asset.d.ts +0 -0
  309. /package/dist/src/{vaults/api → api}/v2/models/poc-report-asset.js +0 -0
  310. /package/dist/src/{vaults/api → api}/v2/models/poc-report-assets.d.ts +0 -0
  311. /package/dist/src/{vaults/api → api}/v2/models/poc-report-assets.js +0 -0
  312. /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchange.d.ts +0 -0
  313. /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchange.js +0 -0
  314. /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchanges.d.ts +0 -0
  315. /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchanges.js +0 -0
  316. /package/dist/src/{vaults/api → api}/v2/models/poc-report-protocol.d.ts +0 -0
  317. /package/dist/src/{vaults/api → api}/v2/models/poc-report-protocol.js +0 -0
  318. /package/dist/src/{vaults/api → api}/v2/models/poc-report-token.d.ts +0 -0
  319. /package/dist/src/{vaults/api → api}/v2/models/poc-report-token.js +0 -0
  320. /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallet.d.ts +0 -0
  321. /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallet.js +0 -0
  322. /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallets.d.ts +0 -0
  323. /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallets.js +0 -0
  324. /package/dist/src/{vaults/api → api}/v2/models/position-history-interval.d.ts +0 -0
  325. /package/dist/src/{vaults/api → api}/v2/models/position-history-interval.js +0 -0
  326. /package/dist/src/{vaults/api → api}/v2/models/position-value.d.ts +0 -0
  327. /package/dist/src/{vaults/api → api}/v2/models/position-value.js +0 -0
  328. /package/dist/src/{vaults/api → api}/v2/models/position.d.ts +0 -0
  329. /package/dist/src/{vaults/api → api}/v2/models/position.js +0 -0
  330. /package/dist/src/{vaults/api → api}/v2/models/process-requests-summary-event.d.ts +0 -0
  331. /package/dist/src/{vaults/api → api}/v2/models/process-requests-summary-event.js +0 -0
  332. /package/dist/src/{vaults/api → api}/v2/models/proof-of-capital-report.d.ts +0 -0
  333. /package/dist/src/{vaults/api → api}/v2/models/proof-of-capital-report.js +0 -0
  334. /package/dist/src/{vaults/api → api}/v2/models/protocol-fee-collected-event.d.ts +0 -0
  335. /package/dist/src/{vaults/api → api}/v2/models/protocol-fee-collected-event.js +0 -0
  336. /package/dist/src/{vaults/api → api}/v2/models/protocol-pnl-history.d.ts +0 -0
  337. /package/dist/src/{vaults/api → api}/v2/models/protocol-pnl-history.js +0 -0
  338. /package/dist/src/{vaults/api → api}/v2/models/protocol-tvl-history.d.ts +0 -0
  339. /package/dist/src/{vaults/api → api}/v2/models/protocol-tvl-history.js +0 -0
  340. /package/dist/src/{vaults/api → api}/v2/models/protocol.d.ts +0 -0
  341. /package/dist/src/{vaults/api → api}/v2/models/protocol.js +0 -0
  342. /package/dist/src/{vaults/api → api}/v2/models/raw-event-event-data.d.ts +0 -0
  343. /package/dist/src/{vaults/api → api}/v2/models/raw-event-event-data.js +0 -0
  344. /package/dist/src/{vaults/api → api}/v2/models/raw-event.d.ts +0 -0
  345. /package/dist/src/{vaults/api → api}/v2/models/raw-event.js +0 -0
  346. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-cancelled-transaction.d.ts +0 -0
  347. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-cancelled-transaction.js +0 -0
  348. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-processed-transaction.d.ts +0 -0
  349. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-processed-transaction.js +0 -0
  350. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-skipped-transaction.d.ts +0 -0
  351. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-skipped-transaction.js +0 -0
  352. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-transaction.d.ts +0 -0
  353. /package/dist/src/{vaults/api → api}/v2/models/redeem-request-transaction.js +0 -0
  354. /package/dist/src/{vaults/api → api}/v2/models/reported-apy.js +0 -0
  355. /package/dist/src/{vaults/api → api}/v2/models/request-processed-event.d.ts +0 -0
  356. /package/dist/src/{vaults/api → api}/v2/models/request-processed-event.js +0 -0
  357. /package/dist/src/{vaults/api → api}/v2/models/request-redeemed-event.d.ts +0 -0
  358. /package/dist/src/{vaults/api → api}/v2/models/request-redeemed-event.js +0 -0
  359. /package/dist/src/{vaults/api → api}/v2/models/reward-token.d.ts +0 -0
  360. /package/dist/src/{vaults/api → api}/v2/models/reward-token.js +0 -0
  361. /package/dist/src/{vaults/api → api}/v2/models/reward.d.ts +0 -0
  362. /package/dist/src/{vaults/api → api}/v2/models/reward.js +0 -0
  363. /package/dist/src/{vaults/api → api}/v2/models/share-price-history.d.ts +0 -0
  364. /package/dist/src/{vaults/api → api}/v2/models/share-price-history.js +0 -0
  365. /package/dist/src/{vaults/api → api}/v2/models/strategy-account.d.ts +0 -0
  366. /package/dist/src/{vaults/api → api}/v2/models/strategy-account.js +0 -0
  367. /package/dist/src/{vaults/api → api}/v2/models/strategy.d.ts +0 -0
  368. /package/dist/src/{vaults/api → api}/v2/models/strategy.js +0 -0
  369. /package/dist/src/{vaults/api → api}/v2/models/sub-account.d.ts +0 -0
  370. /package/dist/src/{vaults/api → api}/v2/models/sub-account.js +0 -0
  371. /package/dist/src/{vaults/api → api}/v2/models/sui-protocol-info.d.ts +0 -0
  372. /package/dist/src/{vaults/api → api}/v2/models/sui-protocol-info.js +0 -0
  373. /package/dist/src/{vaults/api → api}/v2/models/supplied.d.ts +0 -0
  374. /package/dist/src/{vaults/api → api}/v2/models/supplied.js +0 -0
  375. /package/dist/src/{vaults/api → api}/v2/models/tag.d.ts +0 -0
  376. /package/dist/src/{vaults/api → api}/v2/models/tag.js +0 -0
  377. /package/dist/src/{vaults/api → api}/v2/models/tvl-by-chain.d.ts +0 -0
  378. /package/dist/src/{vaults/api → api}/v2/models/tvl-by-chain.js +0 -0
  379. /package/dist/src/{vaults/api → api}/v2/models/tvl-history.d.ts +0 -0
  380. /package/dist/src/{vaults/api → api}/v2/models/tvl-history.js +0 -0
  381. /package/dist/src/{vaults/api → api}/v2/models/ultra-coin-info.d.ts +0 -0
  382. /package/dist/src/{vaults/api → api}/v2/models/ultra-coin-info.js +0 -0
  383. /package/dist/src/{vaults/api → api}/v2/models/update-vault-strategies.d.ts +0 -0
  384. /package/dist/src/{vaults/api → api}/v2/models/update-vault-strategies.js +0 -0
  385. /package/dist/src/{vaults/api → api}/v2/models/vault-admin-changed-event.d.ts +0 -0
  386. /package/dist/src/{vaults/api → api}/v2/models/vault-admin-changed-event.js +0 -0
  387. /package/dist/src/{vaults/api → api}/v2/models/vault-created-event.d.ts +0 -0
  388. /package/dist/src/{vaults/api → api}/v2/models/vault-created-event.js +0 -0
  389. /package/dist/src/{vaults/api → api}/v2/models/vault-deposit-event.d.ts +0 -0
  390. /package/dist/src/{vaults/api → api}/v2/models/vault-deposit-event.js +0 -0
  391. /package/dist/src/{vaults/api → api}/v2/models/vault-deposit-without-minting-shares-event.d.ts +0 -0
  392. /package/dist/src/{vaults/api → api}/v2/models/vault-deposit-without-minting-shares-event.js +0 -0
  393. /package/dist/src/{vaults/api → api}/v2/models/vault-detail.d.ts +0 -0
  394. /package/dist/src/{vaults/api → api}/v2/models/vault-detail.js +0 -0
  395. /package/dist/src/{vaults/api → api}/v2/models/vault-fee-percentage-updated-event.d.ts +0 -0
  396. /package/dist/src/{vaults/api → api}/v2/models/vault-fee-percentage-updated-event.js +0 -0
  397. /package/dist/src/{vaults/api → api}/v2/models/vault-info.d.ts +0 -0
  398. /package/dist/src/{vaults/api → api}/v2/models/vault-info.js +0 -0
  399. /package/dist/src/{vaults/api → api}/v2/models/vault-max-tvl-updated-event.d.ts +0 -0
  400. /package/dist/src/{vaults/api → api}/v2/models/vault-max-tvl-updated-event.js +0 -0
  401. /package/dist/src/{vaults/api → api}/v2/models/vault-operator-changed-event.d.ts +0 -0
  402. /package/dist/src/{vaults/api → api}/v2/models/vault-operator-changed-event.js +0 -0
  403. /package/dist/src/{vaults/api → api}/v2/models/vault-paused-status-updated-event.d.ts +0 -0
  404. /package/dist/src/{vaults/api → api}/v2/models/vault-paused-status-updated-event.js +0 -0
  405. /package/dist/src/{vaults/api → api}/v2/models/vault-platform-fee-charged-event.d.ts +0 -0
  406. /package/dist/src/{vaults/api → api}/v2/models/vault-platform-fee-charged-event.js +0 -0
  407. /package/dist/src/{vaults/api → api}/v2/models/vault-protocol.d.ts +0 -0
  408. /package/dist/src/{vaults/api → api}/v2/models/vault-protocol.js +0 -0
  409. /package/dist/src/{vaults/api → api}/v2/models/vault-rate-updated-event.d.ts +0 -0
  410. /package/dist/src/{vaults/api → api}/v2/models/vault-rate-updated-event.js +0 -0
  411. /package/dist/src/{vaults/api → api}/v2/models/vault-slice.d.ts +0 -0
  412. /package/dist/src/{vaults/api → api}/v2/models/vault-slice.js +0 -0
  413. /package/dist/src/{vaults/api → api}/v2/models/vault-sub-account-updated-event.d.ts +0 -0
  414. /package/dist/src/{vaults/api → api}/v2/models/vault-sub-account-updated-event.js +0 -0
  415. /package/dist/src/{vaults/api → api}/v2/models/vault-tag.d.ts +0 -0
  416. /package/dist/src/{vaults/api → api}/v2/models/vault-tag.js +0 -0
  417. /package/dist/src/{vaults/api → api}/v2/models/vault-withdrawal-without-redeeming-shares-event.d.ts +0 -0
  418. /package/dist/src/{vaults/api → api}/v2/models/vault-withdrawal-without-redeeming-shares-event.js +0 -0
  419. /package/dist/src/{vaults/api → api}/v2/models/vaults-deployment-config-config.d.ts +0 -0
  420. /package/dist/src/{vaults/api → api}/v2/models/vaults-deployment-config-config.js +0 -0
  421. /package/dist/src/{vaults/api → api}/v2/models/vaults-deployment-config.d.ts +0 -0
  422. /package/dist/src/{vaults/api → api}/v2/models/vaults-deployment-config.js +0 -0
  423. /package/dist/src/{vaults/api → api}/v2/models/vaults-stats.d.ts +0 -0
  424. /package/dist/src/{vaults/api → api}/v2/models/vaults-stats.js +0 -0
  425. /package/dist/src/{vaults/api → api}/v2/models/yield-aggregate-value.d.ts +0 -0
  426. /package/dist/src/{vaults/api → api}/v2/models/yield-aggregate-value.js +0 -0
  427. /package/dist/src/{vaults → evm-vaults}/interfaces/index.js +0 -0
  428. /package/dist/src/{vaults → sui-vaults}/interfaces/bcs.d.ts +0 -0
  429. /package/dist/src/{vaults → sui-vaults}/interfaces/bcs.js +0 -0
  430. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/admin.js +0 -0
  431. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/index.d.ts +0 -0
  432. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/index.js +0 -0
  433. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/operator.js +0 -0
  434. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/user.js +0 -0
  435. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/vault-admin.js +0 -0
  436. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/vault.d.ts +0 -0
  437. /package/dist/src/{vaults → sui-vaults}/on-chain-calls/vault.js +0 -0
  438. /package/dist/src/{vaults → sui-vaults}/utils/common.d.ts +0 -0
  439. /package/dist/src/{vaults → sui-vaults}/utils/common.js +0 -0
  440. /package/dist/src/{vaults → sui-vaults}/utils/index.d.ts +0 -0
  441. /package/dist/src/{vaults → sui-vaults}/utils/index.js +0 -0
@@ -0,0 +1,542 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EVMTxBuilder = void 0;
7
+ const utils_1 = require("../utils");
8
+ const EmberVault_json_1 = __importDefault(require("../../abis/EmberVault.json"));
9
+ const EmberProtocolConfig_json_1 = __importDefault(require("../../abis/EmberProtocolConfig.json"));
10
+ const ERC20Token_json_1 = __importDefault(require("../../abis/ERC20Token.json"));
11
+ /**
12
+ * EVM Transaction Builder for Ember Protocol (ERC-4626 Compatible)
13
+ *
14
+ * This class provides methods to build transaction calls for the Ember Protocol
15
+ * on EVM-compatible chains. The vault contracts now implement ERC-4626 standard
16
+ * and are themselves ERC20 tokens representing shares.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * import { EVMTxBuilder } from "@ember-finance/sdk";
21
+ * import { encodeFunctionData } from "viem";
22
+ *
23
+ * const txBuilder = new EVMTxBuilder(deployment);
24
+ * const txCall = txBuilder.deposit(vaultAddress, amount, receiver);
25
+ *
26
+ * // Encode with viem
27
+ * const data = encodeFunctionData({
28
+ * abi: txCall.abi,
29
+ * functionName: txCall.functionName,
30
+ * args: txCall.args
31
+ * });
32
+ *
33
+ * // Or with ethers.js
34
+ * const contract = new ethers.Contract(txCall.to, txCall.abi, signer);
35
+ * await contract[txCall.functionName](...txCall.args);
36
+ * ```
37
+ */
38
+ class EVMTxBuilder {
39
+ constructor(_deployment) {
40
+ this.parser = new utils_1.EVMDeploymentParser(_deployment);
41
+ }
42
+ /**
43
+ * Updates the deployment configuration
44
+ * @param newDeployment The new deployment configuration
45
+ */
46
+ updateDeployment(newDeployment) {
47
+ this.parser.updateDeployment(newDeployment);
48
+ }
49
+ /**
50
+ * Gets the chain ID from the deployment
51
+ */
52
+ getChainId() {
53
+ return this.parser.getChainId();
54
+ }
55
+ // ============================================
56
+ // Protocol Config Admin Methods
57
+ // ============================================
58
+ /**
59
+ * Pauses or unpauses non-admin operations at the protocol level
60
+ * @param pause True to pause, false to unpause
61
+ * @returns Transaction call object
62
+ */
63
+ pauseNonAdminOperations(pause) {
64
+ return {
65
+ to: this.parser.getProtocolConfigAddress(),
66
+ functionName: "pauseNonAdminOperations",
67
+ args: [pause],
68
+ abi: EmberProtocolConfig_json_1.default.abi,
69
+ value: 0n,
70
+ chainId: this.getChainId()
71
+ };
72
+ }
73
+ /**
74
+ * Updates the platform fee recipient address
75
+ * @param recipient New recipient address
76
+ * @returns Transaction call object
77
+ */
78
+ updatePlatformFeeRecipient(recipient) {
79
+ return {
80
+ to: this.parser.getProtocolConfigAddress(),
81
+ functionName: "updatePlatformFeeRecipient",
82
+ args: [recipient],
83
+ abi: EmberProtocolConfig_json_1.default.abi,
84
+ value: 0n,
85
+ chainId: this.getChainId()
86
+ };
87
+ }
88
+ /**
89
+ * Updates the minimum rate for the protocol
90
+ * @param minRate New minimum rate
91
+ * @returns Transaction call object
92
+ */
93
+ updateMinRate(minRate) {
94
+ return {
95
+ to: this.parser.getProtocolConfigAddress(),
96
+ functionName: "updateMinRate",
97
+ args: [BigInt(minRate)],
98
+ abi: EmberProtocolConfig_json_1.default.abi,
99
+ value: 0n,
100
+ chainId: this.getChainId()
101
+ };
102
+ }
103
+ /**
104
+ * Updates the maximum rate for the protocol
105
+ * @param maxRate New maximum rate
106
+ * @returns Transaction call object
107
+ */
108
+ updateMaxRate(maxRate) {
109
+ return {
110
+ to: this.parser.getProtocolConfigAddress(),
111
+ functionName: "updateMaxRate",
112
+ args: [BigInt(maxRate)],
113
+ abi: EmberProtocolConfig_json_1.default.abi,
114
+ value: 0n,
115
+ chainId: this.getChainId()
116
+ };
117
+ }
118
+ /**
119
+ * Updates the maximum rate interval for the protocol
120
+ * @param maxRateInterval New maximum rate interval
121
+ * @returns Transaction call object
122
+ */
123
+ updateMaxRateInterval(maxRateInterval) {
124
+ return {
125
+ to: this.parser.getProtocolConfigAddress(),
126
+ functionName: "updateMaxRateInterval",
127
+ args: [BigInt(maxRateInterval)],
128
+ abi: EmberProtocolConfig_json_1.default.abi,
129
+ value: 0n,
130
+ chainId: this.getChainId()
131
+ };
132
+ }
133
+ /**
134
+ * Updates the minimum rate interval for the protocol
135
+ * @param minRateInterval New minimum rate interval
136
+ * @returns Transaction call object
137
+ */
138
+ updateMinRateInterval(minRateInterval) {
139
+ return {
140
+ to: this.parser.getProtocolConfigAddress(),
141
+ functionName: "updateMinRateInterval",
142
+ args: [BigInt(minRateInterval)],
143
+ abi: EmberProtocolConfig_json_1.default.abi,
144
+ value: 0n,
145
+ chainId: this.getChainId()
146
+ };
147
+ }
148
+ /**
149
+ * Updates the default rate for the protocol
150
+ * @param defaultRate New default rate
151
+ * @returns Transaction call object
152
+ */
153
+ updateDefaultRate(defaultRate) {
154
+ return {
155
+ to: this.parser.getProtocolConfigAddress(),
156
+ functionName: "updateDefaultRate",
157
+ args: [BigInt(defaultRate)],
158
+ abi: EmberProtocolConfig_json_1.default.abi,
159
+ value: 0n,
160
+ chainId: this.getChainId()
161
+ };
162
+ }
163
+ /**
164
+ * Updates the maximum fee percentage for the protocol
165
+ * @param maxFeePercentage New maximum fee percentage
166
+ * @returns Transaction call object
167
+ */
168
+ updateMaxFeePercentage(maxFeePercentage) {
169
+ return {
170
+ to: this.parser.getProtocolConfigAddress(),
171
+ functionName: "updateMaxFeePercentage",
172
+ args: [BigInt(maxFeePercentage)],
173
+ abi: EmberProtocolConfig_json_1.default.abi,
174
+ value: 0n,
175
+ chainId: this.getChainId()
176
+ };
177
+ }
178
+ /**
179
+ * Sets whether an account is blacklisted at the protocol level
180
+ * @param account Address of the account
181
+ * @param isBlacklisted Whether the account should be blacklisted
182
+ * @returns Transaction call object
183
+ */
184
+ setBlacklistedAccount(account, isBlacklisted) {
185
+ return {
186
+ to: this.parser.getProtocolConfigAddress(),
187
+ functionName: "setBlacklistedAccount",
188
+ args: [account, isBlacklisted],
189
+ abi: EmberProtocolConfig_json_1.default.abi,
190
+ value: 0n,
191
+ chainId: this.getChainId()
192
+ };
193
+ }
194
+ // ============================================
195
+ // Vault Admin Methods (via ProtocolConfig)
196
+ // These methods are called on the ProtocolConfig contract
197
+ // and require the vault address as the first parameter
198
+ // ============================================
199
+ /**
200
+ * Updates the admin of a vault (called via ProtocolConfig)
201
+ * @param vaultAddress Address of the vault
202
+ * @param newAdmin New admin address
203
+ * @returns Transaction call object
204
+ */
205
+ updateVaultAdmin(vaultAddress, newAdmin) {
206
+ return {
207
+ to: this.parser.getProtocolConfigAddress(),
208
+ functionName: "updateVaultAdmin",
209
+ args: [vaultAddress, newAdmin],
210
+ abi: EmberProtocolConfig_json_1.default.abi,
211
+ value: 0n,
212
+ chainId: this.getChainId()
213
+ };
214
+ }
215
+ /**
216
+ * Updates the paused status of a vault operation (called via ProtocolConfig)
217
+ * @param vaultAddress Address of the vault
218
+ * @param operation The operation to pause/unpause ("deposits", "withdrawals", or "privilegedOperations")
219
+ * @param paused Whether to pause or unpause
220
+ * @returns Transaction call object
221
+ */
222
+ setVaultPausedStatus(vaultAddress, operation, paused) {
223
+ return {
224
+ to: this.parser.getProtocolConfigAddress(),
225
+ functionName: "setVaultPausedStatus",
226
+ args: [vaultAddress, operation, paused],
227
+ abi: EmberProtocolConfig_json_1.default.abi,
228
+ value: 0n,
229
+ chainId: this.getChainId()
230
+ };
231
+ }
232
+ /**
233
+ * Updates the operator of a vault (called via ProtocolConfig)
234
+ * @param vaultAddress Address of the vault
235
+ * @param newOperator New operator address
236
+ * @returns Transaction call object
237
+ */
238
+ updateVaultOperator(vaultAddress, newOperator) {
239
+ return {
240
+ to: this.parser.getProtocolConfigAddress(),
241
+ functionName: "updateVaultOperator",
242
+ args: [vaultAddress, newOperator],
243
+ abi: EmberProtocolConfig_json_1.default.abi,
244
+ value: 0n,
245
+ chainId: this.getChainId()
246
+ };
247
+ }
248
+ /**
249
+ * Updates the rate manager of a vault (called via ProtocolConfig)
250
+ * @param vaultAddress Address of the vault
251
+ * @param newRateManager New rate manager address
252
+ * @returns Transaction call object
253
+ */
254
+ updateVaultRateManager(vaultAddress, newRateManager) {
255
+ return {
256
+ to: this.parser.getProtocolConfigAddress(),
257
+ functionName: "updateVaultRateManager",
258
+ args: [vaultAddress, newRateManager],
259
+ abi: EmberProtocolConfig_json_1.default.abi,
260
+ value: 0n,
261
+ chainId: this.getChainId()
262
+ };
263
+ }
264
+ /**
265
+ * Updates the minimum withdrawable shares of a vault (called via ProtocolConfig)
266
+ * @param vaultAddress Address of the vault
267
+ * @param minWithdrawableShares New minimum withdrawable shares
268
+ * @returns Transaction call object
269
+ */
270
+ updateVaultMinWithdrawableShares(vaultAddress, minWithdrawableShares) {
271
+ return {
272
+ to: this.parser.getProtocolConfigAddress(),
273
+ functionName: "updateVaultMinWithdrawableShares",
274
+ args: [vaultAddress, BigInt(minWithdrawableShares)],
275
+ abi: EmberProtocolConfig_json_1.default.abi,
276
+ value: 0n,
277
+ chainId: this.getChainId()
278
+ };
279
+ }
280
+ /**
281
+ * Sets a sub-account for the vault (called via ProtocolConfig)
282
+ * @param vaultAddress Address of the vault
283
+ * @param account Address of the account
284
+ * @param isSubAccount Whether the account should be a sub-account
285
+ * @returns Transaction call object
286
+ */
287
+ setVaultSubAccount(vaultAddress, account, isSubAccount) {
288
+ return {
289
+ to: this.parser.getProtocolConfigAddress(),
290
+ functionName: "setVaultSubAccount",
291
+ args: [vaultAddress, account, isSubAccount],
292
+ abi: EmberProtocolConfig_json_1.default.abi,
293
+ value: 0n,
294
+ chainId: this.getChainId()
295
+ };
296
+ }
297
+ /**
298
+ * Updates the maximum TVL of a vault (called via ProtocolConfig)
299
+ * @param vaultAddress Address of the vault
300
+ * @param maxTVL New maximum TVL
301
+ * @returns Transaction call object
302
+ */
303
+ updateVaultMaxTVL(vaultAddress, maxTVL) {
304
+ return {
305
+ to: this.parser.getProtocolConfigAddress(),
306
+ functionName: "updateVaultMaxTVL",
307
+ args: [vaultAddress, BigInt(maxTVL)],
308
+ abi: EmberProtocolConfig_json_1.default.abi,
309
+ value: 0n,
310
+ chainId: this.getChainId()
311
+ };
312
+ }
313
+ /**
314
+ * Updates the rate update interval of a vault (called via ProtocolConfig)
315
+ * @param vaultAddress Address of the vault
316
+ * @param newInterval New rate update interval
317
+ * @returns Transaction call object
318
+ */
319
+ updateVaultRateUpdateInterval(vaultAddress, newInterval) {
320
+ return {
321
+ to: this.parser.getProtocolConfigAddress(),
322
+ functionName: "updateVaultRateUpdateInterval",
323
+ args: [vaultAddress, BigInt(newInterval)],
324
+ abi: EmberProtocolConfig_json_1.default.abi,
325
+ value: 0n,
326
+ chainId: this.getChainId()
327
+ };
328
+ }
329
+ /**
330
+ * Updates the fee percentage of a vault (called via ProtocolConfig)
331
+ * @param vaultAddress Address of the vault
332
+ * @param newFeePercentage New fee percentage
333
+ * @returns Transaction call object
334
+ */
335
+ updateVaultFeePercentage(vaultAddress, newFeePercentage) {
336
+ return {
337
+ to: this.parser.getProtocolConfigAddress(),
338
+ functionName: "updateVaultFeePercentage",
339
+ args: [vaultAddress, BigInt(newFeePercentage)],
340
+ abi: EmberProtocolConfig_json_1.default.abi,
341
+ value: 0n,
342
+ chainId: this.getChainId()
343
+ };
344
+ }
345
+ /**
346
+ * Updates the name of a vault (called via ProtocolConfig)
347
+ * @param vaultAddress Address of the vault
348
+ * @param newName New vault name
349
+ * @returns Transaction call object
350
+ */
351
+ updateVaultName(vaultAddress, newName) {
352
+ return {
353
+ to: this.parser.getProtocolConfigAddress(),
354
+ functionName: "updateVaultName",
355
+ args: [vaultAddress, newName],
356
+ abi: EmberProtocolConfig_json_1.default.abi,
357
+ value: 0n,
358
+ chainId: this.getChainId()
359
+ };
360
+ }
361
+ // ============================================
362
+ // Vault Operator/Rate Manager Methods
363
+ // These are called directly on the vault contract
364
+ // ============================================
365
+ /**
366
+ * Updates the rate of a vault (rate manager only)
367
+ * @param vaultAddress Address of the vault
368
+ * @param newRate New rate value
369
+ * @returns Transaction call object
370
+ */
371
+ updateVaultRate(vaultAddress, newRate) {
372
+ return {
373
+ to: vaultAddress,
374
+ functionName: "updateVaultRate",
375
+ args: [BigInt(newRate)],
376
+ abi: EmberVault_json_1.default.abi,
377
+ value: 0n,
378
+ chainId: this.getChainId()
379
+ };
380
+ }
381
+ /**
382
+ * Processes a specified number of withdrawal requests (operator only)
383
+ * @param vaultAddress Address of the vault
384
+ * @param numRequests Maximum number of requests to process
385
+ * @returns Transaction call object
386
+ */
387
+ processWithdrawalRequests(vaultAddress, numRequests) {
388
+ return {
389
+ to: vaultAddress,
390
+ functionName: "processWithdrawalRequests",
391
+ args: [BigInt(numRequests)],
392
+ abi: EmberVault_json_1.default.abi,
393
+ value: 0n,
394
+ chainId: this.getChainId()
395
+ };
396
+ }
397
+ /**
398
+ * Collects accrued platform fees (operator only)
399
+ * @param vaultAddress Address of the vault
400
+ * @returns Transaction call object
401
+ */
402
+ collectPlatformFee(vaultAddress) {
403
+ return {
404
+ to: vaultAddress,
405
+ functionName: "collectPlatformFee",
406
+ args: [],
407
+ abi: EmberVault_json_1.default.abi,
408
+ value: 0n,
409
+ chainId: this.getChainId()
410
+ };
411
+ }
412
+ /**
413
+ * Withdraws assets from the vault without redeeming shares (operator only)
414
+ * Used by operators to move funds to sub-accounts for strategy execution
415
+ * @param vaultAddress Address of the vault
416
+ * @param subAccount The sub-account address to withdraw to
417
+ * @param amount Amount to withdraw
418
+ * @returns Transaction call object
419
+ */
420
+ withdrawFromVaultWithoutRedeemingShares(vaultAddress, subAccount, amount) {
421
+ return {
422
+ to: vaultAddress,
423
+ functionName: "withdrawFromVaultWithoutRedeemingShares",
424
+ args: [subAccount, BigInt(amount)],
425
+ abi: EmberVault_json_1.default.abi,
426
+ value: 0n,
427
+ chainId: this.getChainId()
428
+ };
429
+ }
430
+ // ============================================
431
+ // User Methods (ERC-4626)
432
+ // ============================================
433
+ /**
434
+ * Deposits assets to a vault and mints shares (ERC-4626 standard)
435
+ * @param vaultAddress Address of the vault
436
+ * @param assets Amount of assets to deposit
437
+ * @param receiver Address to receive the shares
438
+ * @returns Transaction call object
439
+ */
440
+ deposit(vaultAddress, assets, receiver) {
441
+ return {
442
+ to: vaultAddress,
443
+ functionName: "deposit",
444
+ args: [BigInt(assets), receiver],
445
+ abi: EmberVault_json_1.default.abi,
446
+ value: 0n,
447
+ chainId: this.getChainId()
448
+ };
449
+ }
450
+ /**
451
+ * Mints a specific number of shares by depositing assets (ERC-4626 standard)
452
+ * @param vaultAddress Address of the vault
453
+ * @param shares Amount of shares to mint
454
+ * @param receiver Address to receive the shares
455
+ * @returns Transaction call object
456
+ */
457
+ mint(vaultAddress, shares, receiver) {
458
+ return {
459
+ to: vaultAddress,
460
+ functionName: "mint",
461
+ args: [BigInt(shares), receiver],
462
+ abi: EmberVault_json_1.default.abi,
463
+ value: 0n,
464
+ chainId: this.getChainId()
465
+ };
466
+ }
467
+ /**
468
+ * Redeems shares to initiate a withdrawal request
469
+ * @param vaultAddress Address of the vault
470
+ * @param shares Amount of shares to redeem
471
+ * @param receiver Address to receive the withdrawn funds
472
+ * @returns Transaction call object
473
+ */
474
+ redeemShares(vaultAddress, shares, receiver) {
475
+ return {
476
+ to: vaultAddress,
477
+ functionName: "redeemShares",
478
+ args: [BigInt(shares), receiver],
479
+ abi: EmberVault_json_1.default.abi,
480
+ value: 0n,
481
+ chainId: this.getChainId()
482
+ };
483
+ }
484
+ /**
485
+ * Cancels a pending withdrawal request
486
+ * @param vaultAddress Address of the vault
487
+ * @param requestSequenceNumber Sequence number of the withdrawal request to cancel
488
+ * @returns Transaction call object
489
+ */
490
+ cancelPendingWithdrawalRequest(vaultAddress, requestSequenceNumber) {
491
+ return {
492
+ to: vaultAddress,
493
+ functionName: "cancelPendingWithdrawalRequest",
494
+ args: [BigInt(requestSequenceNumber)],
495
+ abi: EmberVault_json_1.default.abi,
496
+ value: 0n,
497
+ chainId: this.getChainId()
498
+ };
499
+ }
500
+ // ============================================
501
+ // ERC20 Helper Methods
502
+ // ============================================
503
+ /**
504
+ * Approves a token for spending by the vault
505
+ * @param tokenAddress Address of the token
506
+ * @param spender Address of the spender (usually the vault)
507
+ * @param amount Amount to approve
508
+ * @returns Transaction call object
509
+ */
510
+ approveToken(tokenAddress, spender, amount) {
511
+ return {
512
+ to: tokenAddress,
513
+ functionName: "approve",
514
+ args: [spender, BigInt(amount)],
515
+ abi: ERC20Token_json_1.default.abi,
516
+ value: 0n,
517
+ chainId: this.getChainId()
518
+ };
519
+ }
520
+ // ============================================
521
+ // ABI Getters
522
+ // ============================================
523
+ /**
524
+ * Gets the EmberVault ABI
525
+ */
526
+ static getVaultABI() {
527
+ return EmberVault_json_1.default.abi;
528
+ }
529
+ /**
530
+ * Gets the EmberProtocolConfig ABI
531
+ */
532
+ static getProtocolConfigABI() {
533
+ return EmberProtocolConfig_json_1.default.abi;
534
+ }
535
+ /**
536
+ * Gets the ERC20Token ABI
537
+ */
538
+ static getERC20ABI() {
539
+ return ERC20Token_json_1.default.abi;
540
+ }
541
+ }
542
+ exports.EVMTxBuilder = EVMTxBuilder;
@@ -0,0 +1,122 @@
1
+ import { Signer, Provider } from "ethers";
2
+ import { EVMOnChainCalls } from "./onchain-calls";
3
+ import { IEvmDeployment, IUserCallOptions, IEvmCallOptions, EvmOnChainCallResponse } from "../interfaces";
4
+ import { NumStr } from "../../common/types";
5
+ /**
6
+ * User Calls for Ember Protocol on EVM (ERC-4626 Compatible)
7
+ *
8
+ * This class extends EVMOnChainCalls and provides user-specific methods
9
+ * for interacting with Ember vaults.
10
+ *
11
+ * Users can:
12
+ * - deposit: Deposit assets and receive shares (ERC-4626)
13
+ * - mint: Mint a specific number of shares by depositing assets (ERC-4626)
14
+ * - redeemShares: Initiate a withdrawal request by redeeming shares
15
+ * - cancelPendingWithdrawalRequest: Cancel a pending withdrawal
16
+ *
17
+ * Note: The vault is now itself an ERC20 token (the share token), so there's
18
+ * no separate receipt token. The token address passed to deposit/mint should
19
+ * be the vault's underlying asset (accessible via vault.asset()).
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * import { EVMUserCalls } from "@ember-finance/sdk";
24
+ * import { ethers } from "ethers";
25
+ *
26
+ * const provider = new ethers.JsonRpcProvider("https://...");
27
+ * const signer = new ethers.Wallet(privateKey, provider);
28
+ *
29
+ * const userCalls = new EVMUserCalls(deployment, signer, provider);
30
+ *
31
+ * // Approve token spending first
32
+ * await userCalls.approveToken(underlyingAsset, vaultAddress, amount);
33
+ *
34
+ * // Deposit assets (receiver defaults to caller)
35
+ * await userCalls.deposit(vaultAddress, amount);
36
+ *
37
+ * // Deposit assets to a different receiver
38
+ * await userCalls.deposit(vaultAddress, amount, { receiver: otherAddress });
39
+ *
40
+ * // Mint specific shares (receiver defaults to caller)
41
+ * await userCalls.mint(vaultAddress, shares);
42
+ *
43
+ * // Redeem shares (receiver defaults to caller)
44
+ * await userCalls.redeemShares(vaultAddress, shares);
45
+ * ```
46
+ */
47
+ export declare class EVMUserCalls extends EVMOnChainCalls {
48
+ constructor(_deployment: IEvmDeployment, _signer?: Signer, _provider?: Provider, _walletAddress?: string);
49
+ /**
50
+ * Deposit assets into a vault (ERC-4626 standard)
51
+ *
52
+ * The vault uses its configured underlying asset (accessible via vault.asset()).
53
+ * Make sure to approve the vault to spend the underlying asset before depositing.
54
+ *
55
+ * @param vaultAddress The address of the vault
56
+ * @param assets The amount of assets to deposit
57
+ * @param options Optional tx execution params (includes optional receiver, defaults to caller)
58
+ * @returns EvmOnChainCallResponse
59
+ */
60
+ deposit(vaultAddress: string, assets: NumStr, options?: IUserCallOptions): Promise<EvmOnChainCallResponse>;
61
+ /**
62
+ * Mint a specific number of shares by depositing assets (ERC-4626 standard)
63
+ *
64
+ * The vault will pull the required amount of underlying assets from the caller.
65
+ * Make sure to approve the vault to spend the underlying asset before minting.
66
+ *
67
+ * @param vaultAddress The address of the vault
68
+ * @param shares The number of shares to mint
69
+ * @param options Optional tx execution params (includes optional receiver, defaults to caller)
70
+ * @returns EvmOnChainCallResponse
71
+ */
72
+ mint(vaultAddress: string, shares: NumStr, options?: IUserCallOptions): Promise<EvmOnChainCallResponse>;
73
+ /**
74
+ * Redeem shares to initiate a withdrawal request
75
+ *
76
+ * Note: This doesn't immediately return assets. It creates a withdrawal request
77
+ * that will be processed by the vault operator. The shares are locked until
78
+ * the request is processed.
79
+ *
80
+ * @param vaultAddress The address of the vault
81
+ * @param shares The number of shares to redeem
82
+ * @param options Optional tx execution params (includes optional receiver, defaults to caller)
83
+ * @returns EvmOnChainCallResponse
84
+ */
85
+ redeemShares(vaultAddress: string, shares: NumStr, options?: IUserCallOptions): Promise<EvmOnChainCallResponse>;
86
+ /**
87
+ * Cancel a pending withdrawal request
88
+ * @param vaultAddress The address of the vault
89
+ * @param requestSequenceNumber The sequence number of the withdrawal request to cancel
90
+ * @param options Optional tx execution params
91
+ * @returns EvmOnChainCallResponse
92
+ */
93
+ cancelPendingWithdrawalRequest(vaultAddress: string, requestSequenceNumber: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
94
+ /**
95
+ * Approve a token for spending by a spender (typically the vault)
96
+ * @param tokenAddress The address of the token
97
+ * @param spender The address of the spender (usually the vault)
98
+ * @param amount The amount to approve
99
+ * @param options Optional tx execution params
100
+ * @returns EvmOnChainCallResponse
101
+ */
102
+ approveToken(tokenAddress: string, spender: string, amount: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
103
+ /**
104
+ * Approve maximum token spending (type(uint256).max)
105
+ * @param tokenAddress The address of the token
106
+ * @param spender The address of the spender (usually the vault)
107
+ * @param options Optional tx execution params
108
+ * @returns EvmOnChainCallResponse
109
+ */
110
+ approveTokenMax(tokenAddress: string, spender: string, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
111
+ /**
112
+ * Gets the vault contract instance for read operations
113
+ */
114
+ private getVaultContract;
115
+ /**
116
+ * Get the user's total vault shares (share token balance)
117
+ * @param vaultAddress The address of the vault
118
+ * @param account Optional account address (defaults to caller's wallet)
119
+ * @returns The user's share balance as bigint
120
+ */
121
+ getVaultShares(vaultAddress: string, account?: string): Promise<bigint>;
122
+ }