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