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