@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.
- package/README.md +239 -29
- package/dist/src/abis/ERC20Token.json +659 -0
- package/dist/src/abis/EmberProtocolConfig.json +1078 -0
- package/dist/src/abis/EmberVault.json +2807 -0
- package/dist/src/common/types.d.ts +4 -0
- package/dist/src/common/types.js +1 -0
- package/dist/src/ember-vaults.d.ts +169 -0
- package/dist/src/ember-vaults.js +239 -0
- package/dist/src/{vaults → evm-vaults}/index.d.ts +0 -2
- package/dist/src/{vaults → evm-vaults}/index.js +0 -2
- package/dist/src/evm-vaults/interfaces/index.d.ts +168 -0
- package/dist/src/evm-vaults/on-chain-calls/admin.d.ts +108 -0
- package/dist/src/evm-vaults/on-chain-calls/admin.js +147 -0
- package/dist/src/evm-vaults/on-chain-calls/index.d.ts +7 -0
- package/dist/src/evm-vaults/on-chain-calls/index.js +23 -0
- package/dist/src/evm-vaults/on-chain-calls/onchain-calls.d.ts +79 -0
- package/dist/src/evm-vaults/on-chain-calls/onchain-calls.js +190 -0
- package/dist/src/evm-vaults/on-chain-calls/operator.d.ts +72 -0
- package/dist/src/evm-vaults/on-chain-calls/operator.js +99 -0
- package/dist/src/evm-vaults/on-chain-calls/tx-builder.d.ts +250 -0
- package/dist/src/evm-vaults/on-chain-calls/tx-builder.js +542 -0
- package/dist/src/evm-vaults/on-chain-calls/user.d.ts +122 -0
- package/dist/src/evm-vaults/on-chain-calls/user.js +179 -0
- package/dist/src/evm-vaults/on-chain-calls/vault-admin.d.ts +137 -0
- package/dist/src/evm-vaults/on-chain-calls/vault-admin.js +185 -0
- package/dist/src/evm-vaults/on-chain-calls/vault-reader.d.ts +431 -0
- package/dist/src/evm-vaults/on-chain-calls/vault-reader.js +542 -0
- package/dist/src/evm-vaults/utils/deployment-parser.d.ts +97 -0
- package/dist/src/evm-vaults/utils/deployment-parser.js +164 -0
- package/dist/src/evm-vaults/utils/index.d.ts +1 -0
- package/dist/src/evm-vaults/utils/index.js +17 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +19 -0
- package/dist/src/sui-vaults/index.d.ts +4 -0
- package/dist/src/sui-vaults/index.js +20 -0
- package/dist/src/{vaults → sui-vaults}/interfaces/index.d.ts +1 -1
- package/dist/src/sui-vaults/interfaces/index.js +2 -0
- package/dist/src/{vaults → sui-vaults}/on-chain-calls/admin.d.ts +2 -2
- package/dist/src/{vaults → sui-vaults}/on-chain-calls/onchain-calls.d.ts +5 -5
- package/dist/src/{vaults → sui-vaults}/on-chain-calls/onchain-calls.js +1 -1
- package/dist/src/{vaults → sui-vaults}/on-chain-calls/operator.d.ts +2 -2
- package/dist/src/{vaults → sui-vaults}/on-chain-calls/tx-builder.d.ts +5 -5
- package/dist/src/{vaults → sui-vaults}/on-chain-calls/tx-builder.js +1 -1
- package/dist/src/{vaults → sui-vaults}/on-chain-calls/user.d.ts +2 -2
- package/dist/src/{vaults → sui-vaults}/on-chain-calls/vault-admin.d.ts +2 -2
- package/dist/src/{vaults → sui-vaults}/utils/deployment-parser.d.ts +5 -5
- package/dist/src/{vaults → sui-vaults}/utils/deployment-parser.js +3 -3
- package/package.json +17 -11
- package/dist/src/vaults/ember-vaults.d.ts +0 -39
- package/dist/src/vaults/ember-vaults.js +0 -73
- /package/dist/src/{vaults/api → api}/api.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/api.js +0 -0
- /package/dist/src/{vaults/api → api}/apis/accounts-api.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/apis/accounts-api.js +0 -0
- /package/dist/src/{vaults/api → api}/apis/vaults-api.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/apis/vaults-api.js +0 -0
- /package/dist/src/{vaults/api → api}/base.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/base.js +0 -0
- /package/dist/src/{vaults/api → api}/common.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/common.js +0 -0
- /package/dist/src/{vaults/api → api}/configuration.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/configuration.js +0 -0
- /package/dist/src/{vaults/api → api}/index.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/index.js +0 -0
- /package/dist/src/{vaults/api → api}/models/account-transaction-transaction-data.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/account-transaction-transaction-data.js +0 -0
- /package/dist/src/{vaults/api → api}/models/account-transaction.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/account-transaction.js +0 -0
- /package/dist/src/{vaults/api → api}/models/account-withdrawal-request.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/account-withdrawal-request.js +0 -0
- /package/dist/src/{vaults/api → api}/models/apy-history-v2.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/apy-history-v2.js +0 -0
- /package/dist/src/{vaults/api → api}/models/apy-history.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/apy-history.js +0 -0
- /package/dist/src/{vaults/api → api}/models/asset.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/asset.js +0 -0
- /package/dist/src/{vaults/api → api}/models/borrowed.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/borrowed.js +0 -0
- /package/dist/src/{vaults/api → api}/models/chain.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/chain.js +0 -0
- /package/dist/src/{vaults/api → api}/models/coin-price.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/coin-price.js +0 -0
- /package/dist/src/{vaults/api → api}/models/deposit-transaction.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/deposit-transaction.js +0 -0
- /package/dist/src/{vaults/api → api}/models/ember-position.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/ember-position.js +0 -0
- /package/dist/src/{vaults/api → api}/models/exposure-coin.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/exposure-coin.js +0 -0
- /package/dist/src/{vaults/api → api}/models/exposure-protocol.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/exposure-protocol.js +0 -0
- /package/dist/src/{vaults/api → api}/models/exposure.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/exposure.js +0 -0
- /package/dist/src/{vaults/api → api}/models/fee.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/fee.js +0 -0
- /package/dist/src/{vaults/api → api}/models/fees.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/fees.js +0 -0
- /package/dist/src/{vaults/api → api}/models/history-interval.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/history-interval.js +0 -0
- /package/dist/src/{vaults/api → api}/models/index.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/index.js +0 -0
- /package/dist/src/{vaults/api → api}/models/lp.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/lp.js +0 -0
- /package/dist/src/{vaults/api → api}/models/manager.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/manager.js +0 -0
- /package/dist/src/{vaults/api → api}/models/min-withdrawal-shares-updated-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/min-withdrawal-shares-updated-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/perps.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/perps.js +0 -0
- /package/dist/src/{vaults/api → api}/models/pnl-history-interval.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/pnl-history-interval.js +0 -0
- /package/dist/src/{vaults/api → api}/models/pnl-history.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/pnl-history.js +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-asset.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-asset.js +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-assets.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-assets.js +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-exchange.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-exchange.js +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-exchanges.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-exchanges.js +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-protocol.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-protocol.js +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-token.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-token.js +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-wallet.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-wallet.js +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-wallets.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/poc-report-wallets.js +0 -0
- /package/dist/src/{vaults/api → api}/models/position-history-interval.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/position-history-interval.js +0 -0
- /package/dist/src/{vaults/api → api}/models/position-history.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/position-history.js +0 -0
- /package/dist/src/{vaults/api → api}/models/position-value.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/position-value.js +0 -0
- /package/dist/src/{vaults/api → api}/models/position.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/position.js +0 -0
- /package/dist/src/{vaults/api → api}/models/process-requests-summary-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/process-requests-summary-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/proof-of-capital-report.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/proof-of-capital-report.js +0 -0
- /package/dist/src/{vaults/api → api}/models/protocol-fee-collected-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/protocol-fee-collected-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/protocol-info.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/protocol-info.js +0 -0
- /package/dist/src/{vaults/api → api}/models/protocol.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/protocol.js +0 -0
- /package/dist/src/{vaults/api → api}/models/raw-event-event-data.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/raw-event-event-data.js +0 -0
- /package/dist/src/{vaults/api → api}/models/raw-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/raw-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/redeem-request-cancelled-transaction.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/redeem-request-cancelled-transaction.js +0 -0
- /package/dist/src/{vaults/api → api}/models/redeem-request-processed-transaction.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/redeem-request-processed-transaction.js +0 -0
- /package/dist/src/{vaults/api → api}/models/redeem-request-skipped-transaction.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/redeem-request-skipped-transaction.js +0 -0
- /package/dist/src/{vaults/api → api}/models/redeem-request-transaction.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/redeem-request-transaction.js +0 -0
- /package/dist/src/{vaults/api → api}/models/reported-apy.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/reported-apy.js +0 -0
- /package/dist/src/{vaults/api → api}/models/request-processed-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/request-processed-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/request-redeemed-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/request-redeemed-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/reward-token.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/reward-token.js +0 -0
- /package/dist/src/{vaults/api → api}/models/reward.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/reward.js +0 -0
- /package/dist/src/{vaults/api → api}/models/share-price-history.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/share-price-history.js +0 -0
- /package/dist/src/{vaults/api → api}/models/strategy-account.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/strategy-account.js +0 -0
- /package/dist/src/{vaults/api → api}/models/strategy.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/strategy.js +0 -0
- /package/dist/src/{vaults/api → api}/models/sub-account.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/sub-account.js +0 -0
- /package/dist/src/{vaults/api → api}/models/supplied.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/supplied.js +0 -0
- /package/dist/src/{vaults/api → api}/models/tag.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/tag.js +0 -0
- /package/dist/src/{vaults/api → api}/models/tvl-history.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/tvl-history.js +0 -0
- /package/dist/src/{vaults/api → api}/models/ultra-coin-info.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/ultra-coin-info.js +0 -0
- /package/dist/src/{vaults/api → api}/models/update-vault-strategies.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/update-vault-strategies.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-admin-changed-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-admin-changed-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-created-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-created-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-deposit-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-deposit-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-deposit-without-minting-shares-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-deposit-without-minting-shares-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-detail.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-detail.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-fee-percentage-updated-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-fee-percentage-updated-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-info.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-info.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-max-tvl-updated-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-max-tvl-updated-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-operator-changed-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-operator-changed-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-paused-status-updated-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-paused-status-updated-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-platform-fee-charged-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-platform-fee-charged-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-protocol.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-protocol.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-rate-updated-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-rate-updated-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-slice.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-slice.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-sub-account-updated-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-sub-account-updated-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-withdrawal-without-redeeming-shares-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vault-withdrawal-without-redeeming-shares-event.js +0 -0
- /package/dist/src/{vaults/api → api}/models/vaults-stats.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/vaults-stats.js +0 -0
- /package/dist/src/{vaults/api → api}/models/yield-aggregate-value.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/models/yield-aggregate-value.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/api.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/api.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/apis/accounts-api.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/apis/accounts-api.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/apis/vaults-api.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/apis/vaults-api.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/base.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/base.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/common.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/common.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/configuration.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/configuration.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/index.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/index.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/account-transaction-transaction-data.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/account-transaction-transaction-data.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/account-transaction.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/account-transaction.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/account-vault-position-history.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/account-vault-position-history.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/account-withdrawal-request.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/account-withdrawal-request.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/aggregated-account-position-history.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/aggregated-account-position-history.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/apy-history-response.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/apy-history-response.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/apy-history.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/apy-history.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/asset.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/asset.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/borrowed.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/borrowed.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/chain-vault-details.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/chain-vault-details.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/chain.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/chain.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/coin-price.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/coin-price.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/deposit-transaction.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/deposit-transaction.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/ember-position.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/ember-position.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/evm-contracts.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/evm-contracts.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/evm-deposit-token.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/evm-deposit-token.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/evm-price-feed.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/evm-price-feed.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-config.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-config.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-info.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/evm-protocol-info.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/evm-receipt-token.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/evm-receipt-token.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/evm-vault.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/evm-vault.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/exposure-coin.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/exposure-coin.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/exposure-protocol.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/exposure-protocol.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/exposure.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/exposure.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/fee.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/fee.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/fees.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/fees.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/history-interval.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/history-interval.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/index.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/index.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/lp.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/lp.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/manager.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/manager.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/min-withdrawal-shares-updated-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/min-withdrawal-shares-updated-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/perps.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/perps.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/pnl-by-chain.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/pnl-by-chain.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/pnl-history-interval.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/pnl-history-interval.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/pnl-history.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/pnl-history.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-asset.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-asset.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-assets.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-assets.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchange.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchange.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchanges.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-exchanges.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-protocol.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-protocol.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-token.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-token.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallet.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallet.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallets.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/poc-report-wallets.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/position-history-interval.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/position-history-interval.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/position-value.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/position-value.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/position.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/position.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/process-requests-summary-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/process-requests-summary-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/proof-of-capital-report.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/proof-of-capital-report.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/protocol-fee-collected-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/protocol-fee-collected-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/protocol-pnl-history.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/protocol-pnl-history.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/protocol-tvl-history.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/protocol-tvl-history.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/protocol.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/protocol.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/raw-event-event-data.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/raw-event-event-data.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/raw-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/raw-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/redeem-request-cancelled-transaction.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/redeem-request-cancelled-transaction.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/redeem-request-processed-transaction.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/redeem-request-processed-transaction.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/redeem-request-skipped-transaction.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/redeem-request-skipped-transaction.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/redeem-request-transaction.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/redeem-request-transaction.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/reported-apy.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/reported-apy.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/request-processed-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/request-processed-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/request-redeemed-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/request-redeemed-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/reward-token.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/reward-token.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/reward.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/reward.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/share-price-history.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/share-price-history.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/strategy-account.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/strategy-account.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/strategy.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/strategy.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/sub-account.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/sub-account.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/sui-protocol-info.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/sui-protocol-info.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/supplied.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/supplied.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/tag.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/tag.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/tvl-by-chain.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/tvl-by-chain.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/tvl-history.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/tvl-history.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/ultra-coin-info.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/ultra-coin-info.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/update-vault-strategies.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/update-vault-strategies.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-admin-changed-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-admin-changed-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-created-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-created-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-deposit-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-deposit-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-deposit-without-minting-shares-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-deposit-without-minting-shares-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-detail.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-detail.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-fee-percentage-updated-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-fee-percentage-updated-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-info.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-info.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-max-tvl-updated-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-max-tvl-updated-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-operator-changed-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-operator-changed-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-paused-status-updated-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-paused-status-updated-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-platform-fee-charged-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-platform-fee-charged-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-protocol.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-protocol.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-rate-updated-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-rate-updated-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-slice.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-slice.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-sub-account-updated-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-sub-account-updated-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-tag.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-tag.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-withdrawal-without-redeeming-shares-event.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vault-withdrawal-without-redeeming-shares-event.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vaults-deployment-config-config.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vaults-deployment-config-config.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vaults-deployment-config.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vaults-deployment-config.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vaults-stats.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/vaults-stats.js +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/yield-aggregate-value.d.ts +0 -0
- /package/dist/src/{vaults/api → api}/v2/models/yield-aggregate-value.js +0 -0
- /package/dist/src/{vaults → evm-vaults}/interfaces/index.js +0 -0
- /package/dist/src/{vaults → sui-vaults}/interfaces/bcs.d.ts +0 -0
- /package/dist/src/{vaults → sui-vaults}/interfaces/bcs.js +0 -0
- /package/dist/src/{vaults → sui-vaults}/on-chain-calls/admin.js +0 -0
- /package/dist/src/{vaults → sui-vaults}/on-chain-calls/index.d.ts +0 -0
- /package/dist/src/{vaults → sui-vaults}/on-chain-calls/index.js +0 -0
- /package/dist/src/{vaults → sui-vaults}/on-chain-calls/operator.js +0 -0
- /package/dist/src/{vaults → sui-vaults}/on-chain-calls/user.js +0 -0
- /package/dist/src/{vaults → sui-vaults}/on-chain-calls/vault-admin.js +0 -0
- /package/dist/src/{vaults → sui-vaults}/on-chain-calls/vault.d.ts +0 -0
- /package/dist/src/{vaults → sui-vaults}/on-chain-calls/vault.js +0 -0
- /package/dist/src/{vaults → sui-vaults}/utils/common.d.ts +0 -0
- /package/dist/src/{vaults → sui-vaults}/utils/common.js +0 -0
- /package/dist/src/{vaults → sui-vaults}/utils/index.d.ts +0 -0
- /package/dist/src/{vaults → sui-vaults}/utils/index.js +0 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EVMUserCalls = void 0;
|
|
7
|
+
const ethers_1 = require("ethers");
|
|
8
|
+
const onchain_calls_1 = require("./onchain-calls");
|
|
9
|
+
const EmberVault_json_1 = __importDefault(require("../../abis/EmberVault.json"));
|
|
10
|
+
/**
|
|
11
|
+
* User Calls for Ember Protocol on EVM (ERC-4626 Compatible)
|
|
12
|
+
*
|
|
13
|
+
* This class extends EVMOnChainCalls and provides user-specific methods
|
|
14
|
+
* for interacting with Ember vaults.
|
|
15
|
+
*
|
|
16
|
+
* Users can:
|
|
17
|
+
* - deposit: Deposit assets and receive shares (ERC-4626)
|
|
18
|
+
* - mint: Mint a specific number of shares by depositing assets (ERC-4626)
|
|
19
|
+
* - redeemShares: Initiate a withdrawal request by redeeming shares
|
|
20
|
+
* - cancelPendingWithdrawalRequest: Cancel a pending withdrawal
|
|
21
|
+
*
|
|
22
|
+
* Note: The vault is now itself an ERC20 token (the share token), so there's
|
|
23
|
+
* no separate receipt token. The token address passed to deposit/mint should
|
|
24
|
+
* be the vault's underlying asset (accessible via vault.asset()).
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* import { EVMUserCalls } from "@ember-finance/sdk";
|
|
29
|
+
* import { ethers } from "ethers";
|
|
30
|
+
*
|
|
31
|
+
* const provider = new ethers.JsonRpcProvider("https://...");
|
|
32
|
+
* const signer = new ethers.Wallet(privateKey, provider);
|
|
33
|
+
*
|
|
34
|
+
* const userCalls = new EVMUserCalls(deployment, signer, provider);
|
|
35
|
+
*
|
|
36
|
+
* // Approve token spending first
|
|
37
|
+
* await userCalls.approveToken(underlyingAsset, vaultAddress, amount);
|
|
38
|
+
*
|
|
39
|
+
* // Deposit assets (receiver defaults to caller)
|
|
40
|
+
* await userCalls.deposit(vaultAddress, amount);
|
|
41
|
+
*
|
|
42
|
+
* // Deposit assets to a different receiver
|
|
43
|
+
* await userCalls.deposit(vaultAddress, amount, { receiver: otherAddress });
|
|
44
|
+
*
|
|
45
|
+
* // Mint specific shares (receiver defaults to caller)
|
|
46
|
+
* await userCalls.mint(vaultAddress, shares);
|
|
47
|
+
*
|
|
48
|
+
* // Redeem shares (receiver defaults to caller)
|
|
49
|
+
* await userCalls.redeemShares(vaultAddress, shares);
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
class EVMUserCalls extends onchain_calls_1.EVMOnChainCalls {
|
|
53
|
+
constructor(_deployment, _signer, _provider, _walletAddress) {
|
|
54
|
+
super(_deployment, _signer, _provider, _walletAddress);
|
|
55
|
+
}
|
|
56
|
+
// ============================================
|
|
57
|
+
// Deposit Methods (ERC-4626)
|
|
58
|
+
// ============================================
|
|
59
|
+
/**
|
|
60
|
+
* Deposit assets into a vault (ERC-4626 standard)
|
|
61
|
+
*
|
|
62
|
+
* The vault uses its configured underlying asset (accessible via vault.asset()).
|
|
63
|
+
* Make sure to approve the vault to spend the underlying asset before depositing.
|
|
64
|
+
*
|
|
65
|
+
* @param vaultAddress The address of the vault
|
|
66
|
+
* @param assets The amount of assets to deposit
|
|
67
|
+
* @param options Optional tx execution params (includes optional receiver, defaults to caller)
|
|
68
|
+
* @returns EvmOnChainCallResponse
|
|
69
|
+
*/
|
|
70
|
+
async deposit(vaultAddress, assets, options) {
|
|
71
|
+
const receiver = options?.receiver ?? (await this.getWalletAddress());
|
|
72
|
+
const txCall = this.txBuilder.deposit(vaultAddress, assets, receiver);
|
|
73
|
+
return this.execCall(txCall, options);
|
|
74
|
+
}
|
|
75
|
+
// ============================================
|
|
76
|
+
// Mint Methods (ERC-4626)
|
|
77
|
+
// ============================================
|
|
78
|
+
/**
|
|
79
|
+
* Mint a specific number of shares by depositing assets (ERC-4626 standard)
|
|
80
|
+
*
|
|
81
|
+
* The vault will pull the required amount of underlying assets from the caller.
|
|
82
|
+
* Make sure to approve the vault to spend the underlying asset before minting.
|
|
83
|
+
*
|
|
84
|
+
* @param vaultAddress The address of the vault
|
|
85
|
+
* @param shares The number of shares to mint
|
|
86
|
+
* @param options Optional tx execution params (includes optional receiver, defaults to caller)
|
|
87
|
+
* @returns EvmOnChainCallResponse
|
|
88
|
+
*/
|
|
89
|
+
async mint(vaultAddress, shares, options) {
|
|
90
|
+
const receiver = options?.receiver ?? (await this.getWalletAddress());
|
|
91
|
+
const txCall = this.txBuilder.mint(vaultAddress, shares, receiver);
|
|
92
|
+
return this.execCall(txCall, options);
|
|
93
|
+
}
|
|
94
|
+
// ============================================
|
|
95
|
+
// Redemption Methods
|
|
96
|
+
// ============================================
|
|
97
|
+
/**
|
|
98
|
+
* Redeem shares to initiate a withdrawal request
|
|
99
|
+
*
|
|
100
|
+
* Note: This doesn't immediately return assets. It creates a withdrawal request
|
|
101
|
+
* that will be processed by the vault operator. The shares are locked until
|
|
102
|
+
* the request is processed.
|
|
103
|
+
*
|
|
104
|
+
* @param vaultAddress The address of the vault
|
|
105
|
+
* @param shares The number of shares to redeem
|
|
106
|
+
* @param options Optional tx execution params (includes optional receiver, defaults to caller)
|
|
107
|
+
* @returns EvmOnChainCallResponse
|
|
108
|
+
*/
|
|
109
|
+
async redeemShares(vaultAddress, shares, options) {
|
|
110
|
+
const receiver = options?.receiver ?? (await this.getWalletAddress());
|
|
111
|
+
const txCall = this.txBuilder.redeemShares(vaultAddress, shares, receiver);
|
|
112
|
+
return this.execCall(txCall, options);
|
|
113
|
+
}
|
|
114
|
+
// ============================================
|
|
115
|
+
// Withdrawal Request Management
|
|
116
|
+
// ============================================
|
|
117
|
+
/**
|
|
118
|
+
* Cancel a pending withdrawal request
|
|
119
|
+
* @param vaultAddress The address of the vault
|
|
120
|
+
* @param requestSequenceNumber The sequence number of the withdrawal request to cancel
|
|
121
|
+
* @param options Optional tx execution params
|
|
122
|
+
* @returns EvmOnChainCallResponse
|
|
123
|
+
*/
|
|
124
|
+
async cancelPendingWithdrawalRequest(vaultAddress, requestSequenceNumber, options) {
|
|
125
|
+
const txCall = this.txBuilder.cancelPendingWithdrawalRequest(vaultAddress, requestSequenceNumber);
|
|
126
|
+
return this.execCall(txCall, options);
|
|
127
|
+
}
|
|
128
|
+
// ============================================
|
|
129
|
+
// ERC20 Token Helpers
|
|
130
|
+
// ============================================
|
|
131
|
+
/**
|
|
132
|
+
* Approve a token for spending by a spender (typically the vault)
|
|
133
|
+
* @param tokenAddress The address of the token
|
|
134
|
+
* @param spender The address of the spender (usually the vault)
|
|
135
|
+
* @param amount The amount to approve
|
|
136
|
+
* @param options Optional tx execution params
|
|
137
|
+
* @returns EvmOnChainCallResponse
|
|
138
|
+
*/
|
|
139
|
+
async approveToken(tokenAddress, spender, amount, options) {
|
|
140
|
+
const txCall = this.txBuilder.approveToken(tokenAddress, spender, amount);
|
|
141
|
+
return this.execCall(txCall, options);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Approve maximum token spending (type(uint256).max)
|
|
145
|
+
* @param tokenAddress The address of the token
|
|
146
|
+
* @param spender The address of the spender (usually the vault)
|
|
147
|
+
* @param options Optional tx execution params
|
|
148
|
+
* @returns EvmOnChainCallResponse
|
|
149
|
+
*/
|
|
150
|
+
async approveTokenMax(tokenAddress, spender, options) {
|
|
151
|
+
// Max uint256 value
|
|
152
|
+
const maxUint256 = "115792089237316195423570985008687907853269984665640564039457584007913129639935";
|
|
153
|
+
return this.approveToken(tokenAddress, spender, maxUint256, options);
|
|
154
|
+
}
|
|
155
|
+
// ============================================
|
|
156
|
+
// Read-Only Methods
|
|
157
|
+
// ============================================
|
|
158
|
+
/**
|
|
159
|
+
* Gets the vault contract instance for read operations
|
|
160
|
+
*/
|
|
161
|
+
getVaultContract(vaultAddress) {
|
|
162
|
+
if (!this.provider) {
|
|
163
|
+
throw new Error("Provider required for read operations");
|
|
164
|
+
}
|
|
165
|
+
return new ethers_1.Contract(vaultAddress, EmberVault_json_1.default.abi, this.provider);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Get the user's total vault shares (share token balance)
|
|
169
|
+
* @param vaultAddress The address of the vault
|
|
170
|
+
* @param account Optional account address (defaults to caller's wallet)
|
|
171
|
+
* @returns The user's share balance as bigint
|
|
172
|
+
*/
|
|
173
|
+
async getVaultShares(vaultAddress, account) {
|
|
174
|
+
const userAddress = account ?? (await this.getWalletAddress());
|
|
175
|
+
const vault = this.getVaultContract(vaultAddress);
|
|
176
|
+
return vault.balanceOf(userAddress);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
exports.EVMUserCalls = EVMUserCalls;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { Signer, Provider } from "ethers";
|
|
2
|
+
import { EVMOnChainCalls } from "./onchain-calls";
|
|
3
|
+
import { IEvmDeployment, IEvmCallOptions, EvmOnChainCallResponse, VaultPauseOperation } from "../interfaces";
|
|
4
|
+
import { NumStr } from "../../common/types";
|
|
5
|
+
/**
|
|
6
|
+
* Vault Admin Calls for Ember Protocol on EVM
|
|
7
|
+
*
|
|
8
|
+
* This class extends EVMOnChainCalls and provides vault admin-specific methods.
|
|
9
|
+
* These methods are called via the ProtocolConfig contract (not directly on the vault).
|
|
10
|
+
*
|
|
11
|
+
* The vault admin can:
|
|
12
|
+
* - Manage vault operator and rate manager
|
|
13
|
+
* - Update pause status for different operations
|
|
14
|
+
* - Manage sub-accounts
|
|
15
|
+
* - Configure vault parameters (min withdrawable shares, max TVL, fees, etc.)
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import { EVMVaultAdminCalls } from "@ember-finance/sdk";
|
|
20
|
+
* import { ethers } from "ethers";
|
|
21
|
+
*
|
|
22
|
+
* const provider = new ethers.JsonRpcProvider("https://...");
|
|
23
|
+
* const signer = new ethers.Wallet(privateKey, provider);
|
|
24
|
+
*
|
|
25
|
+
* const vaultAdminCalls = new EVMVaultAdminCalls(deployment, signer, provider);
|
|
26
|
+
*
|
|
27
|
+
* // Update vault operator
|
|
28
|
+
* await vaultAdminCalls.updateVaultOperator(vaultAddress, newOperatorAddress);
|
|
29
|
+
*
|
|
30
|
+
* // Update vault fee percentage
|
|
31
|
+
* await vaultAdminCalls.updateVaultFeePercentage(vaultAddress, "50000"); // 5%
|
|
32
|
+
*
|
|
33
|
+
* // Pause deposits
|
|
34
|
+
* await vaultAdminCalls.setVaultPausedStatus(vaultAddress, "deposits", true);
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare class EVMVaultAdminCalls extends EVMOnChainCalls {
|
|
38
|
+
constructor(_deployment: IEvmDeployment, _signer?: Signer, _provider?: Provider, _walletAddress?: string);
|
|
39
|
+
/**
|
|
40
|
+
* Update the operator of a vault
|
|
41
|
+
* @param vaultAddress The address of the vault
|
|
42
|
+
* @param newOperator The new operator address
|
|
43
|
+
* @param options Optional tx execution params
|
|
44
|
+
* @returns EvmOnChainCallResponse
|
|
45
|
+
*/
|
|
46
|
+
updateVaultOperator(vaultAddress: string, newOperator: string, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
47
|
+
/**
|
|
48
|
+
* Update the rate manager of a vault
|
|
49
|
+
* @param vaultAddress The address of the vault
|
|
50
|
+
* @param newRateManager The new rate manager address
|
|
51
|
+
* @param options Optional tx execution params
|
|
52
|
+
* @returns EvmOnChainCallResponse
|
|
53
|
+
*/
|
|
54
|
+
updateVaultRateManager(vaultAddress: string, newRateManager: string, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
55
|
+
/**
|
|
56
|
+
* Set the paused status of a vault operation
|
|
57
|
+
* @param vaultAddress The address of the vault
|
|
58
|
+
* @param operation The operation to pause/unpause ("deposits", "withdrawals", or "privilegedOperations")
|
|
59
|
+
* @param paused Whether to pause or unpause
|
|
60
|
+
* @param options Optional tx execution params
|
|
61
|
+
* @returns EvmOnChainCallResponse
|
|
62
|
+
*/
|
|
63
|
+
setVaultPausedStatus(vaultAddress: string, operation: VaultPauseOperation, paused: boolean, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
64
|
+
/**
|
|
65
|
+
* Pause deposits for a vault
|
|
66
|
+
* @param vaultAddress The address of the vault
|
|
67
|
+
* @param paused Whether to pause or unpause
|
|
68
|
+
* @param options Optional tx execution params
|
|
69
|
+
* @returns EvmOnChainCallResponse
|
|
70
|
+
*/
|
|
71
|
+
pauseDeposits(vaultAddress: string, paused: boolean, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
72
|
+
/**
|
|
73
|
+
* Pause withdrawals for a vault
|
|
74
|
+
* @param vaultAddress The address of the vault
|
|
75
|
+
* @param paused Whether to pause or unpause
|
|
76
|
+
* @param options Optional tx execution params
|
|
77
|
+
* @returns EvmOnChainCallResponse
|
|
78
|
+
*/
|
|
79
|
+
pauseWithdrawals(vaultAddress: string, paused: boolean, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
80
|
+
/**
|
|
81
|
+
* Pause privileged operations for a vault
|
|
82
|
+
* @param vaultAddress The address of the vault
|
|
83
|
+
* @param paused Whether to pause or unpause
|
|
84
|
+
* @param options Optional tx execution params
|
|
85
|
+
* @returns EvmOnChainCallResponse
|
|
86
|
+
*/
|
|
87
|
+
pausePrivilegedOperations(vaultAddress: string, paused: boolean, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
88
|
+
/**
|
|
89
|
+
* Set/unset a sub-account for the vault
|
|
90
|
+
* @param vaultAddress The address of the vault
|
|
91
|
+
* @param account The account address
|
|
92
|
+
* @param isSubAccount Whether the account should be a sub-account
|
|
93
|
+
* @param options Optional tx execution params
|
|
94
|
+
* @returns EvmOnChainCallResponse
|
|
95
|
+
*/
|
|
96
|
+
setVaultSubAccount(vaultAddress: string, account: string, isSubAccount: boolean, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
97
|
+
/**
|
|
98
|
+
* Update the minimum withdrawable shares of a vault
|
|
99
|
+
* @param vaultAddress The address of the vault
|
|
100
|
+
* @param minWithdrawableShares The new minimum withdrawable shares
|
|
101
|
+
* @param options Optional tx execution params
|
|
102
|
+
* @returns EvmOnChainCallResponse
|
|
103
|
+
*/
|
|
104
|
+
updateVaultMinWithdrawableShares(vaultAddress: string, minWithdrawableShares: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
105
|
+
/**
|
|
106
|
+
* Update the maximum TVL of a vault
|
|
107
|
+
* @param vaultAddress The address of the vault
|
|
108
|
+
* @param maxTVL The new maximum TVL
|
|
109
|
+
* @param options Optional tx execution params
|
|
110
|
+
* @returns EvmOnChainCallResponse
|
|
111
|
+
*/
|
|
112
|
+
updateVaultMaxTVL(vaultAddress: string, maxTVL: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
113
|
+
/**
|
|
114
|
+
* Update the rate update interval of a vault
|
|
115
|
+
* @param vaultAddress The address of the vault
|
|
116
|
+
* @param newInterval The new rate update interval
|
|
117
|
+
* @param options Optional tx execution params
|
|
118
|
+
* @returns EvmOnChainCallResponse
|
|
119
|
+
*/
|
|
120
|
+
updateVaultRateUpdateInterval(vaultAddress: string, newInterval: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
121
|
+
/**
|
|
122
|
+
* Update the fee percentage of a vault
|
|
123
|
+
* @param vaultAddress The address of the vault
|
|
124
|
+
* @param newFeePercentage The new fee percentage
|
|
125
|
+
* @param options Optional tx execution params
|
|
126
|
+
* @returns EvmOnChainCallResponse
|
|
127
|
+
*/
|
|
128
|
+
updateVaultFeePercentage(vaultAddress: string, newFeePercentage: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
129
|
+
/**
|
|
130
|
+
* Update the name of a vault
|
|
131
|
+
* @param vaultAddress The address of the vault
|
|
132
|
+
* @param newName The new vault name
|
|
133
|
+
* @param options Optional tx execution params
|
|
134
|
+
* @returns EvmOnChainCallResponse
|
|
135
|
+
*/
|
|
136
|
+
updateVaultName(vaultAddress: string, newName: string, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
137
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EVMVaultAdminCalls = void 0;
|
|
4
|
+
const onchain_calls_1 = require("./onchain-calls");
|
|
5
|
+
/**
|
|
6
|
+
* Vault Admin Calls for Ember Protocol on EVM
|
|
7
|
+
*
|
|
8
|
+
* This class extends EVMOnChainCalls and provides vault admin-specific methods.
|
|
9
|
+
* These methods are called via the ProtocolConfig contract (not directly on the vault).
|
|
10
|
+
*
|
|
11
|
+
* The vault admin can:
|
|
12
|
+
* - Manage vault operator and rate manager
|
|
13
|
+
* - Update pause status for different operations
|
|
14
|
+
* - Manage sub-accounts
|
|
15
|
+
* - Configure vault parameters (min withdrawable shares, max TVL, fees, etc.)
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import { EVMVaultAdminCalls } from "@ember-finance/sdk";
|
|
20
|
+
* import { ethers } from "ethers";
|
|
21
|
+
*
|
|
22
|
+
* const provider = new ethers.JsonRpcProvider("https://...");
|
|
23
|
+
* const signer = new ethers.Wallet(privateKey, provider);
|
|
24
|
+
*
|
|
25
|
+
* const vaultAdminCalls = new EVMVaultAdminCalls(deployment, signer, provider);
|
|
26
|
+
*
|
|
27
|
+
* // Update vault operator
|
|
28
|
+
* await vaultAdminCalls.updateVaultOperator(vaultAddress, newOperatorAddress);
|
|
29
|
+
*
|
|
30
|
+
* // Update vault fee percentage
|
|
31
|
+
* await vaultAdminCalls.updateVaultFeePercentage(vaultAddress, "50000"); // 5%
|
|
32
|
+
*
|
|
33
|
+
* // Pause deposits
|
|
34
|
+
* await vaultAdminCalls.setVaultPausedStatus(vaultAddress, "deposits", true);
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
class EVMVaultAdminCalls extends onchain_calls_1.EVMOnChainCalls {
|
|
38
|
+
constructor(_deployment, _signer, _provider, _walletAddress) {
|
|
39
|
+
super(_deployment, _signer, _provider, _walletAddress);
|
|
40
|
+
}
|
|
41
|
+
// ============================================
|
|
42
|
+
// Operator & Rate Manager Management
|
|
43
|
+
// ============================================
|
|
44
|
+
/**
|
|
45
|
+
* Update the operator of a vault
|
|
46
|
+
* @param vaultAddress The address of the vault
|
|
47
|
+
* @param newOperator The new operator address
|
|
48
|
+
* @param options Optional tx execution params
|
|
49
|
+
* @returns EvmOnChainCallResponse
|
|
50
|
+
*/
|
|
51
|
+
async updateVaultOperator(vaultAddress, newOperator, options) {
|
|
52
|
+
const txCall = this.txBuilder.updateVaultOperator(vaultAddress, newOperator);
|
|
53
|
+
return this.execCall(txCall, options);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Update the rate manager of a vault
|
|
57
|
+
* @param vaultAddress The address of the vault
|
|
58
|
+
* @param newRateManager The new rate manager address
|
|
59
|
+
* @param options Optional tx execution params
|
|
60
|
+
* @returns EvmOnChainCallResponse
|
|
61
|
+
*/
|
|
62
|
+
async updateVaultRateManager(vaultAddress, newRateManager, options) {
|
|
63
|
+
const txCall = this.txBuilder.updateVaultRateManager(vaultAddress, newRateManager);
|
|
64
|
+
return this.execCall(txCall, options);
|
|
65
|
+
}
|
|
66
|
+
// ============================================
|
|
67
|
+
// Pause Status Management
|
|
68
|
+
// ============================================
|
|
69
|
+
/**
|
|
70
|
+
* Set the paused status of a vault operation
|
|
71
|
+
* @param vaultAddress The address of the vault
|
|
72
|
+
* @param operation The operation to pause/unpause ("deposits", "withdrawals", or "privilegedOperations")
|
|
73
|
+
* @param paused Whether to pause or unpause
|
|
74
|
+
* @param options Optional tx execution params
|
|
75
|
+
* @returns EvmOnChainCallResponse
|
|
76
|
+
*/
|
|
77
|
+
async setVaultPausedStatus(vaultAddress, operation, paused, options) {
|
|
78
|
+
const txCall = this.txBuilder.setVaultPausedStatus(vaultAddress, operation, paused);
|
|
79
|
+
return this.execCall(txCall, options);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Pause deposits for a vault
|
|
83
|
+
* @param vaultAddress The address of the vault
|
|
84
|
+
* @param paused Whether to pause or unpause
|
|
85
|
+
* @param options Optional tx execution params
|
|
86
|
+
* @returns EvmOnChainCallResponse
|
|
87
|
+
*/
|
|
88
|
+
async pauseDeposits(vaultAddress, paused, options) {
|
|
89
|
+
return this.setVaultPausedStatus(vaultAddress, "deposits", paused, options);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Pause withdrawals for a vault
|
|
93
|
+
* @param vaultAddress The address of the vault
|
|
94
|
+
* @param paused Whether to pause or unpause
|
|
95
|
+
* @param options Optional tx execution params
|
|
96
|
+
* @returns EvmOnChainCallResponse
|
|
97
|
+
*/
|
|
98
|
+
async pauseWithdrawals(vaultAddress, paused, options) {
|
|
99
|
+
return this.setVaultPausedStatus(vaultAddress, "withdrawals", paused, options);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Pause privileged operations for a vault
|
|
103
|
+
* @param vaultAddress The address of the vault
|
|
104
|
+
* @param paused Whether to pause or unpause
|
|
105
|
+
* @param options Optional tx execution params
|
|
106
|
+
* @returns EvmOnChainCallResponse
|
|
107
|
+
*/
|
|
108
|
+
async pausePrivilegedOperations(vaultAddress, paused, options) {
|
|
109
|
+
return this.setVaultPausedStatus(vaultAddress, "privilegedOperations", paused, options);
|
|
110
|
+
}
|
|
111
|
+
// ============================================
|
|
112
|
+
// Sub-Account Management
|
|
113
|
+
// ============================================
|
|
114
|
+
/**
|
|
115
|
+
* Set/unset a sub-account for the vault
|
|
116
|
+
* @param vaultAddress The address of the vault
|
|
117
|
+
* @param account The account address
|
|
118
|
+
* @param isSubAccount Whether the account should be a sub-account
|
|
119
|
+
* @param options Optional tx execution params
|
|
120
|
+
* @returns EvmOnChainCallResponse
|
|
121
|
+
*/
|
|
122
|
+
async setVaultSubAccount(vaultAddress, account, isSubAccount, options) {
|
|
123
|
+
const txCall = this.txBuilder.setVaultSubAccount(vaultAddress, account, isSubAccount);
|
|
124
|
+
return this.execCall(txCall, options);
|
|
125
|
+
}
|
|
126
|
+
// ============================================
|
|
127
|
+
// Vault Configuration
|
|
128
|
+
// ============================================
|
|
129
|
+
/**
|
|
130
|
+
* Update the minimum withdrawable shares of a vault
|
|
131
|
+
* @param vaultAddress The address of the vault
|
|
132
|
+
* @param minWithdrawableShares The new minimum withdrawable shares
|
|
133
|
+
* @param options Optional tx execution params
|
|
134
|
+
* @returns EvmOnChainCallResponse
|
|
135
|
+
*/
|
|
136
|
+
async updateVaultMinWithdrawableShares(vaultAddress, minWithdrawableShares, options) {
|
|
137
|
+
const txCall = this.txBuilder.updateVaultMinWithdrawableShares(vaultAddress, minWithdrawableShares);
|
|
138
|
+
return this.execCall(txCall, options);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Update the maximum TVL of a vault
|
|
142
|
+
* @param vaultAddress The address of the vault
|
|
143
|
+
* @param maxTVL The new maximum TVL
|
|
144
|
+
* @param options Optional tx execution params
|
|
145
|
+
* @returns EvmOnChainCallResponse
|
|
146
|
+
*/
|
|
147
|
+
async updateVaultMaxTVL(vaultAddress, maxTVL, options) {
|
|
148
|
+
const txCall = this.txBuilder.updateVaultMaxTVL(vaultAddress, maxTVL);
|
|
149
|
+
return this.execCall(txCall, options);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Update the rate update interval of a vault
|
|
153
|
+
* @param vaultAddress The address of the vault
|
|
154
|
+
* @param newInterval The new rate update interval
|
|
155
|
+
* @param options Optional tx execution params
|
|
156
|
+
* @returns EvmOnChainCallResponse
|
|
157
|
+
*/
|
|
158
|
+
async updateVaultRateUpdateInterval(vaultAddress, newInterval, options) {
|
|
159
|
+
const txCall = this.txBuilder.updateVaultRateUpdateInterval(vaultAddress, newInterval);
|
|
160
|
+
return this.execCall(txCall, options);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Update the fee percentage of a vault
|
|
164
|
+
* @param vaultAddress The address of the vault
|
|
165
|
+
* @param newFeePercentage The new fee percentage
|
|
166
|
+
* @param options Optional tx execution params
|
|
167
|
+
* @returns EvmOnChainCallResponse
|
|
168
|
+
*/
|
|
169
|
+
async updateVaultFeePercentage(vaultAddress, newFeePercentage, options) {
|
|
170
|
+
const txCall = this.txBuilder.updateVaultFeePercentage(vaultAddress, newFeePercentage);
|
|
171
|
+
return this.execCall(txCall, options);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Update the name of a vault
|
|
175
|
+
* @param vaultAddress The address of the vault
|
|
176
|
+
* @param newName The new vault name
|
|
177
|
+
* @param options Optional tx execution params
|
|
178
|
+
* @returns EvmOnChainCallResponse
|
|
179
|
+
*/
|
|
180
|
+
async updateVaultName(vaultAddress, newName, options) {
|
|
181
|
+
const txCall = this.txBuilder.updateVaultName(vaultAddress, newName);
|
|
182
|
+
return this.execCall(txCall, options);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
exports.EVMVaultAdminCalls = EVMVaultAdminCalls;
|