@ember-finance/sdk 1.0.28 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/{vaults/api → api}/v2/apis/vaults-api.d.ts +4 -8
- package/dist/src/{vaults/api → api}/v2/apis/vaults-api.js +7 -14
- package/dist/src/{vaults/api → api}/v2/models/apy-history.d.ts +6 -0
- package/dist/src/{vaults/api → api}/v2/models/chain-vault-details.d.ts +12 -0
- package/dist/src/{vaults/api → api}/v2/models/reported-apy.d.ts +6 -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 +5 -4
- 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/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.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.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.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,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EVMOnChainCalls = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
5
|
+
const deployment_parser_1 = require("../utils/deployment-parser");
|
|
6
|
+
const tx_builder_1 = require("./tx-builder");
|
|
7
|
+
/**
|
|
8
|
+
* EVM On-Chain Calls for Ember Protocol
|
|
9
|
+
*
|
|
10
|
+
* This class provides a higher-level interface for executing Ember Protocol
|
|
11
|
+
* transactions on EVM-compatible chains. It wraps the EVMTxBuilder and handles
|
|
12
|
+
* transaction encoding, signing, and execution using ethers.js.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import { EVMOnChainCalls } from "@ember-finance/sdk";
|
|
17
|
+
* import { ethers } from "ethers";
|
|
18
|
+
*
|
|
19
|
+
* const provider = new ethers.JsonRpcProvider("https://...");
|
|
20
|
+
* const signer = new ethers.Wallet(privateKey, provider);
|
|
21
|
+
*
|
|
22
|
+
* const onChainCalls = new EVMOnChainCalls(deployment, signer, provider);
|
|
23
|
+
*
|
|
24
|
+
* // Execute a transaction and wait for receipt with events
|
|
25
|
+
* const result = await onChainCalls.execCall(
|
|
26
|
+
* onChainCalls.txBuilder.pauseDeposits(vaultAddress, true),
|
|
27
|
+
* { waitForReceipt: true }
|
|
28
|
+
* );
|
|
29
|
+
* console.log("Events:", result.events);
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
class EVMOnChainCalls {
|
|
33
|
+
constructor(_deployment, _signer, _provider, _walletAddress) {
|
|
34
|
+
this.parser = new deployment_parser_1.EVMDeploymentParser(_deployment);
|
|
35
|
+
this.txBuilder = new tx_builder_1.EVMTxBuilder(_deployment);
|
|
36
|
+
this.signer = _signer;
|
|
37
|
+
this.provider = _provider;
|
|
38
|
+
this.walletAddress = _walletAddress;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Updates the deployment configuration
|
|
42
|
+
* @param newDeployment The new deployment configuration
|
|
43
|
+
*/
|
|
44
|
+
updateDeployment(newDeployment) {
|
|
45
|
+
this.parser.updateDeployment(newDeployment);
|
|
46
|
+
this.txBuilder.updateDeployment(newDeployment);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Gets the wallet address
|
|
50
|
+
* @returns The wallet address
|
|
51
|
+
*/
|
|
52
|
+
async getWalletAddress() {
|
|
53
|
+
if (this.walletAddress) {
|
|
54
|
+
return this.walletAddress;
|
|
55
|
+
}
|
|
56
|
+
if (this.signer) {
|
|
57
|
+
return this.signer.getAddress();
|
|
58
|
+
}
|
|
59
|
+
throw new Error("No wallet address or signer available");
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Encodes a transaction call into sendable transaction data using ethers.js
|
|
63
|
+
* @param txCall The transaction call object from TxBuilder
|
|
64
|
+
* @returns Encoded transaction ready to send
|
|
65
|
+
*/
|
|
66
|
+
encodeTransaction(txCall) {
|
|
67
|
+
const iface = new ethers_1.Interface(txCall.abi);
|
|
68
|
+
const data = iface.encodeFunctionData(txCall.functionName, txCall.args);
|
|
69
|
+
return {
|
|
70
|
+
to: txCall.to,
|
|
71
|
+
data,
|
|
72
|
+
value: txCall.value
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Decodes function result data using ethers.js
|
|
77
|
+
* @param abi The contract ABI
|
|
78
|
+
* @param functionName The function name
|
|
79
|
+
* @param data The encoded result data
|
|
80
|
+
* @returns Decoded result
|
|
81
|
+
*/
|
|
82
|
+
decodeResult(abi, functionName, data) {
|
|
83
|
+
const iface = new ethers_1.Interface(abi);
|
|
84
|
+
return iface.decodeFunctionResult(functionName, data);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Parses logs from a transaction receipt into structured events
|
|
88
|
+
* @param logs The logs from the transaction receipt
|
|
89
|
+
* @param abi The ABI to use for parsing
|
|
90
|
+
* @returns Array of parsed events
|
|
91
|
+
*/
|
|
92
|
+
parseEvents(logs, abi) {
|
|
93
|
+
const iface = new ethers_1.Interface(abi);
|
|
94
|
+
const events = [];
|
|
95
|
+
for (const log of logs) {
|
|
96
|
+
try {
|
|
97
|
+
const parsed = iface.parseLog({
|
|
98
|
+
topics: log.topics,
|
|
99
|
+
data: log.data
|
|
100
|
+
});
|
|
101
|
+
if (parsed) {
|
|
102
|
+
// Convert Result to plain object
|
|
103
|
+
const args = {};
|
|
104
|
+
for (const key of Object.keys(parsed.args)) {
|
|
105
|
+
// Skip numeric indices, keep named args
|
|
106
|
+
if (isNaN(Number(key))) {
|
|
107
|
+
args[key] = parsed.args[key];
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
events.push({
|
|
111
|
+
name: parsed.name,
|
|
112
|
+
signature: parsed.signature,
|
|
113
|
+
args,
|
|
114
|
+
log
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
// Log doesn't match this ABI, skip it
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return events;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Executes a transaction call
|
|
126
|
+
* @param txCall The transaction call object
|
|
127
|
+
* @param options Optional execution parameters
|
|
128
|
+
* @returns Transaction response based on options
|
|
129
|
+
*/
|
|
130
|
+
async execCall(txCall, options) {
|
|
131
|
+
if (options?.returnTxCall) {
|
|
132
|
+
return txCall;
|
|
133
|
+
}
|
|
134
|
+
const encodedTx = this.encodeTransaction(txCall);
|
|
135
|
+
if (options?.dryRun) {
|
|
136
|
+
if (!this.provider) {
|
|
137
|
+
throw new Error("Provider required for dry run");
|
|
138
|
+
}
|
|
139
|
+
try {
|
|
140
|
+
const resultData = await this.provider.call({
|
|
141
|
+
to: encodedTx.to,
|
|
142
|
+
data: encodedTx.data
|
|
143
|
+
});
|
|
144
|
+
// Decode the result if possible
|
|
145
|
+
let result;
|
|
146
|
+
try {
|
|
147
|
+
result = this.decodeResult(txCall.abi, txCall.functionName, resultData);
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
// Function might return void or decoding failed
|
|
151
|
+
result = resultData;
|
|
152
|
+
}
|
|
153
|
+
return { success: true, result };
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
157
|
+
return { success: false, error: errorMessage };
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (!this.signer) {
|
|
161
|
+
throw new Error("Signer required to send transactions");
|
|
162
|
+
}
|
|
163
|
+
const txRequest = {
|
|
164
|
+
to: encodedTx.to,
|
|
165
|
+
data: encodedTx.data,
|
|
166
|
+
value: encodedTx.value
|
|
167
|
+
};
|
|
168
|
+
if (options?.gasLimit) {
|
|
169
|
+
txRequest.gasLimit = options.gasLimit;
|
|
170
|
+
}
|
|
171
|
+
const response = await this.signer.sendTransaction(txRequest);
|
|
172
|
+
// If waitForReceipt is true, wait for the transaction to be mined and parse events
|
|
173
|
+
if (options?.waitForReceipt) {
|
|
174
|
+
const confirmations = options.confirmations ?? 1;
|
|
175
|
+
const receipt = await response.wait(confirmations);
|
|
176
|
+
if (!receipt) {
|
|
177
|
+
throw new Error("Transaction receipt not available");
|
|
178
|
+
}
|
|
179
|
+
// Parse events from the receipt using the transaction's ABI
|
|
180
|
+
const events = this.parseEvents(receipt.logs, txCall.abi);
|
|
181
|
+
return {
|
|
182
|
+
response,
|
|
183
|
+
receipt,
|
|
184
|
+
events
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
return response;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
exports.EVMOnChainCalls = EVMOnChainCalls;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Signer, Provider } from "ethers";
|
|
2
|
+
import { EVMOnChainCalls } from "./onchain-calls";
|
|
3
|
+
import { IEvmDeployment, IEvmCallOptions, EvmOnChainCallResponse } from "../interfaces";
|
|
4
|
+
import { NumStr } from "../../common/types";
|
|
5
|
+
/**
|
|
6
|
+
* Operator Calls for Ember Protocol on EVM
|
|
7
|
+
*
|
|
8
|
+
* This class extends EVMOnChainCalls and provides operator-specific methods
|
|
9
|
+
* for managing vaults. Operators can process withdrawals, collect fees,
|
|
10
|
+
* and manage vault funds.
|
|
11
|
+
*
|
|
12
|
+
* Note: Rate updates are performed by the rate manager role, which may be
|
|
13
|
+
* the same as or different from the operator.
|
|
14
|
+
*
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { EVMOperatorCalls } from "@ember-finance/sdk";
|
|
19
|
+
* import { ethers } from "ethers";
|
|
20
|
+
*
|
|
21
|
+
* const provider = new ethers.JsonRpcProvider("https://...");
|
|
22
|
+
* const signer = new ethers.Wallet(privateKey, provider);
|
|
23
|
+
*
|
|
24
|
+
* const operatorCalls = new EVMOperatorCalls(deployment, signer, provider);
|
|
25
|
+
*
|
|
26
|
+
* // Process withdrawal requests
|
|
27
|
+
* await operatorCalls.processWithdrawalRequests(vaultAddress, 10);
|
|
28
|
+
*
|
|
29
|
+
* // Collect platform fees
|
|
30
|
+
* await operatorCalls.collectPlatformFee(vaultAddress);
|
|
31
|
+
*
|
|
32
|
+
* // Withdraw funds to sub-account for strategy
|
|
33
|
+
* await operatorCalls.withdrawFromVaultWithoutRedeemingShares(vaultAddress, subAccount, amount);
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare class EVMOperatorCalls extends EVMOnChainCalls {
|
|
37
|
+
constructor(_deployment: IEvmDeployment, _signer?: Signer, _provider?: Provider, _walletAddress?: string);
|
|
38
|
+
/**
|
|
39
|
+
* Update the rate of a vault
|
|
40
|
+
* Note: This requires the rate manager role, which may or may not be the operator
|
|
41
|
+
* @param vaultAddress The address of the vault
|
|
42
|
+
* @param rate The new rate to set for the vault
|
|
43
|
+
* @param options Optional tx execution params
|
|
44
|
+
* @returns EvmOnChainCallResponse
|
|
45
|
+
*/
|
|
46
|
+
updateVaultRate(vaultAddress: string, rate: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
47
|
+
/**
|
|
48
|
+
* Process withdrawal requests up to a maximum count
|
|
49
|
+
* @param vaultAddress The address of the vault
|
|
50
|
+
* @param maxRequestCount The maximum number of withdrawal requests to process
|
|
51
|
+
* @param options Optional tx execution params
|
|
52
|
+
* @returns EvmOnChainCallResponse
|
|
53
|
+
*/
|
|
54
|
+
processWithdrawalRequests(vaultAddress: string, maxRequestCount: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
55
|
+
/**
|
|
56
|
+
* Collect accrued platform fees from a vault
|
|
57
|
+
* @param vaultAddress The address of the vault
|
|
58
|
+
* @param options Optional tx execution params
|
|
59
|
+
* @returns EvmOnChainCallResponse
|
|
60
|
+
*/
|
|
61
|
+
collectPlatformFee(vaultAddress: string, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
62
|
+
/**
|
|
63
|
+
* Withdraw assets from the vault without redeeming shares
|
|
64
|
+
* Used by operators to move funds to sub-accounts for strategy execution
|
|
65
|
+
* @param vaultAddress The address of the vault
|
|
66
|
+
* @param subAccount The sub-account address to withdraw to
|
|
67
|
+
* @param amount The amount to withdraw
|
|
68
|
+
* @param options Optional tx execution params
|
|
69
|
+
* @returns EvmOnChainCallResponse
|
|
70
|
+
*/
|
|
71
|
+
withdrawFromVaultWithoutRedeemingShares(vaultAddress: string, subAccount: string, amount: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
|
|
72
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EVMOperatorCalls = void 0;
|
|
4
|
+
const onchain_calls_1 = require("./onchain-calls");
|
|
5
|
+
/**
|
|
6
|
+
* Operator Calls for Ember Protocol on EVM
|
|
7
|
+
*
|
|
8
|
+
* This class extends EVMOnChainCalls and provides operator-specific methods
|
|
9
|
+
* for managing vaults. Operators can process withdrawals, collect fees,
|
|
10
|
+
* and manage vault funds.
|
|
11
|
+
*
|
|
12
|
+
* Note: Rate updates are performed by the rate manager role, which may be
|
|
13
|
+
* the same as or different from the operator.
|
|
14
|
+
*
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { EVMOperatorCalls } from "@ember-finance/sdk";
|
|
19
|
+
* import { ethers } from "ethers";
|
|
20
|
+
*
|
|
21
|
+
* const provider = new ethers.JsonRpcProvider("https://...");
|
|
22
|
+
* const signer = new ethers.Wallet(privateKey, provider);
|
|
23
|
+
*
|
|
24
|
+
* const operatorCalls = new EVMOperatorCalls(deployment, signer, provider);
|
|
25
|
+
*
|
|
26
|
+
* // Process withdrawal requests
|
|
27
|
+
* await operatorCalls.processWithdrawalRequests(vaultAddress, 10);
|
|
28
|
+
*
|
|
29
|
+
* // Collect platform fees
|
|
30
|
+
* await operatorCalls.collectPlatformFee(vaultAddress);
|
|
31
|
+
*
|
|
32
|
+
* // Withdraw funds to sub-account for strategy
|
|
33
|
+
* await operatorCalls.withdrawFromVaultWithoutRedeemingShares(vaultAddress, subAccount, amount);
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
class EVMOperatorCalls extends onchain_calls_1.EVMOnChainCalls {
|
|
37
|
+
constructor(_deployment, _signer, _provider, _walletAddress) {
|
|
38
|
+
super(_deployment, _signer, _provider, _walletAddress);
|
|
39
|
+
}
|
|
40
|
+
// ============================================
|
|
41
|
+
// Rate Management (Rate Manager Role)
|
|
42
|
+
// ============================================
|
|
43
|
+
/**
|
|
44
|
+
* Update the rate of a vault
|
|
45
|
+
* Note: This requires the rate manager role, which may or may not be the operator
|
|
46
|
+
* @param vaultAddress The address of the vault
|
|
47
|
+
* @param rate The new rate to set for the vault
|
|
48
|
+
* @param options Optional tx execution params
|
|
49
|
+
* @returns EvmOnChainCallResponse
|
|
50
|
+
*/
|
|
51
|
+
async updateVaultRate(vaultAddress, rate, options) {
|
|
52
|
+
const txCall = this.txBuilder.updateVaultRate(vaultAddress, rate);
|
|
53
|
+
return this.execCall(txCall, options);
|
|
54
|
+
}
|
|
55
|
+
// ============================================
|
|
56
|
+
// Withdrawal Request Processing
|
|
57
|
+
// ============================================
|
|
58
|
+
/**
|
|
59
|
+
* Process withdrawal requests up to a maximum count
|
|
60
|
+
* @param vaultAddress The address of the vault
|
|
61
|
+
* @param maxRequestCount The maximum number of withdrawal requests to process
|
|
62
|
+
* @param options Optional tx execution params
|
|
63
|
+
* @returns EvmOnChainCallResponse
|
|
64
|
+
*/
|
|
65
|
+
async processWithdrawalRequests(vaultAddress, maxRequestCount, options) {
|
|
66
|
+
const txCall = this.txBuilder.processWithdrawalRequests(vaultAddress, maxRequestCount);
|
|
67
|
+
return this.execCall(txCall, options);
|
|
68
|
+
}
|
|
69
|
+
// ============================================
|
|
70
|
+
// Fee Collection
|
|
71
|
+
// ============================================
|
|
72
|
+
/**
|
|
73
|
+
* Collect accrued platform fees from a vault
|
|
74
|
+
* @param vaultAddress The address of the vault
|
|
75
|
+
* @param options Optional tx execution params
|
|
76
|
+
* @returns EvmOnChainCallResponse
|
|
77
|
+
*/
|
|
78
|
+
async collectPlatformFee(vaultAddress, options) {
|
|
79
|
+
const txCall = this.txBuilder.collectPlatformFee(vaultAddress);
|
|
80
|
+
return this.execCall(txCall, options);
|
|
81
|
+
}
|
|
82
|
+
// ============================================
|
|
83
|
+
// Fund Management
|
|
84
|
+
// ============================================
|
|
85
|
+
/**
|
|
86
|
+
* Withdraw assets from the vault without redeeming shares
|
|
87
|
+
* Used by operators to move funds to sub-accounts for strategy execution
|
|
88
|
+
* @param vaultAddress The address of the vault
|
|
89
|
+
* @param subAccount The sub-account address to withdraw to
|
|
90
|
+
* @param amount The amount to withdraw
|
|
91
|
+
* @param options Optional tx execution params
|
|
92
|
+
* @returns EvmOnChainCallResponse
|
|
93
|
+
*/
|
|
94
|
+
async withdrawFromVaultWithoutRedeemingShares(vaultAddress, subAccount, amount, options) {
|
|
95
|
+
const txCall = this.txBuilder.withdrawFromVaultWithoutRedeemingShares(vaultAddress, subAccount, amount);
|
|
96
|
+
return this.execCall(txCall, options);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.EVMOperatorCalls = EVMOperatorCalls;
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { EVMDeploymentParser } from "../utils";
|
|
2
|
+
import { IEvmDeployment, VaultPauseOperation, ITransactionCall } from "../interfaces";
|
|
3
|
+
import { NumStr } from "../../common/types";
|
|
4
|
+
/**
|
|
5
|
+
* EVM Transaction Builder for Ember Protocol (ERC-4626 Compatible)
|
|
6
|
+
*
|
|
7
|
+
* This class provides methods to build transaction calls for the Ember Protocol
|
|
8
|
+
* on EVM-compatible chains. The vault contracts now implement ERC-4626 standard
|
|
9
|
+
* and are themselves ERC20 tokens representing shares.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { EVMTxBuilder } from "@ember-finance/sdk";
|
|
14
|
+
* import { encodeFunctionData } from "viem";
|
|
15
|
+
*
|
|
16
|
+
* const txBuilder = new EVMTxBuilder(deployment);
|
|
17
|
+
* const txCall = txBuilder.deposit(vaultAddress, amount, receiver);
|
|
18
|
+
*
|
|
19
|
+
* // Encode with viem
|
|
20
|
+
* const data = encodeFunctionData({
|
|
21
|
+
* abi: txCall.abi,
|
|
22
|
+
* functionName: txCall.functionName,
|
|
23
|
+
* args: txCall.args
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* // Or with ethers.js
|
|
27
|
+
* const contract = new ethers.Contract(txCall.to, txCall.abi, signer);
|
|
28
|
+
* await contract[txCall.functionName](...txCall.args);
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare class EVMTxBuilder {
|
|
32
|
+
parser: EVMDeploymentParser;
|
|
33
|
+
constructor(_deployment: IEvmDeployment);
|
|
34
|
+
/**
|
|
35
|
+
* Updates the deployment configuration
|
|
36
|
+
* @param newDeployment The new deployment configuration
|
|
37
|
+
*/
|
|
38
|
+
updateDeployment(newDeployment: IEvmDeployment): void;
|
|
39
|
+
/**
|
|
40
|
+
* Gets the chain ID from the deployment
|
|
41
|
+
*/
|
|
42
|
+
getChainId(): string;
|
|
43
|
+
/**
|
|
44
|
+
* Pauses or unpauses non-admin operations at the protocol level
|
|
45
|
+
* @param pause True to pause, false to unpause
|
|
46
|
+
* @returns Transaction call object
|
|
47
|
+
*/
|
|
48
|
+
pauseNonAdminOperations(pause: boolean): ITransactionCall;
|
|
49
|
+
/**
|
|
50
|
+
* Updates the platform fee recipient address
|
|
51
|
+
* @param recipient New recipient address
|
|
52
|
+
* @returns Transaction call object
|
|
53
|
+
*/
|
|
54
|
+
updatePlatformFeeRecipient(recipient: string): ITransactionCall;
|
|
55
|
+
/**
|
|
56
|
+
* Updates the minimum rate for the protocol
|
|
57
|
+
* @param minRate New minimum rate
|
|
58
|
+
* @returns Transaction call object
|
|
59
|
+
*/
|
|
60
|
+
updateMinRate(minRate: NumStr): ITransactionCall;
|
|
61
|
+
/**
|
|
62
|
+
* Updates the maximum rate for the protocol
|
|
63
|
+
* @param maxRate New maximum rate
|
|
64
|
+
* @returns Transaction call object
|
|
65
|
+
*/
|
|
66
|
+
updateMaxRate(maxRate: NumStr): ITransactionCall;
|
|
67
|
+
/**
|
|
68
|
+
* Updates the maximum rate interval for the protocol
|
|
69
|
+
* @param maxRateInterval New maximum rate interval
|
|
70
|
+
* @returns Transaction call object
|
|
71
|
+
*/
|
|
72
|
+
updateMaxRateInterval(maxRateInterval: NumStr): ITransactionCall;
|
|
73
|
+
/**
|
|
74
|
+
* Updates the minimum rate interval for the protocol
|
|
75
|
+
* @param minRateInterval New minimum rate interval
|
|
76
|
+
* @returns Transaction call object
|
|
77
|
+
*/
|
|
78
|
+
updateMinRateInterval(minRateInterval: NumStr): ITransactionCall;
|
|
79
|
+
/**
|
|
80
|
+
* Updates the default rate for the protocol
|
|
81
|
+
* @param defaultRate New default rate
|
|
82
|
+
* @returns Transaction call object
|
|
83
|
+
*/
|
|
84
|
+
updateDefaultRate(defaultRate: NumStr): ITransactionCall;
|
|
85
|
+
/**
|
|
86
|
+
* Updates the maximum fee percentage for the protocol
|
|
87
|
+
* @param maxFeePercentage New maximum fee percentage
|
|
88
|
+
* @returns Transaction call object
|
|
89
|
+
*/
|
|
90
|
+
updateMaxFeePercentage(maxFeePercentage: NumStr): ITransactionCall;
|
|
91
|
+
/**
|
|
92
|
+
* Sets whether an account is blacklisted at the protocol level
|
|
93
|
+
* @param account Address of the account
|
|
94
|
+
* @param isBlacklisted Whether the account should be blacklisted
|
|
95
|
+
* @returns Transaction call object
|
|
96
|
+
*/
|
|
97
|
+
setBlacklistedAccount(account: string, isBlacklisted: boolean): ITransactionCall;
|
|
98
|
+
/**
|
|
99
|
+
* Updates the admin of a vault (called via ProtocolConfig)
|
|
100
|
+
* @param vaultAddress Address of the vault
|
|
101
|
+
* @param newAdmin New admin address
|
|
102
|
+
* @returns Transaction call object
|
|
103
|
+
*/
|
|
104
|
+
updateVaultAdmin(vaultAddress: string, newAdmin: string): ITransactionCall;
|
|
105
|
+
/**
|
|
106
|
+
* Updates the paused status of a vault operation (called via ProtocolConfig)
|
|
107
|
+
* @param vaultAddress Address of the vault
|
|
108
|
+
* @param operation The operation to pause/unpause ("deposits", "withdrawals", or "privilegedOperations")
|
|
109
|
+
* @param paused Whether to pause or unpause
|
|
110
|
+
* @returns Transaction call object
|
|
111
|
+
*/
|
|
112
|
+
setVaultPausedStatus(vaultAddress: string, operation: VaultPauseOperation, paused: boolean): ITransactionCall;
|
|
113
|
+
/**
|
|
114
|
+
* Updates the operator of a vault (called via ProtocolConfig)
|
|
115
|
+
* @param vaultAddress Address of the vault
|
|
116
|
+
* @param newOperator New operator address
|
|
117
|
+
* @returns Transaction call object
|
|
118
|
+
*/
|
|
119
|
+
updateVaultOperator(vaultAddress: string, newOperator: string): ITransactionCall;
|
|
120
|
+
/**
|
|
121
|
+
* Updates the rate manager of a vault (called via ProtocolConfig)
|
|
122
|
+
* @param vaultAddress Address of the vault
|
|
123
|
+
* @param newRateManager New rate manager address
|
|
124
|
+
* @returns Transaction call object
|
|
125
|
+
*/
|
|
126
|
+
updateVaultRateManager(vaultAddress: string, newRateManager: string): ITransactionCall;
|
|
127
|
+
/**
|
|
128
|
+
* Updates the minimum withdrawable shares of a vault (called via ProtocolConfig)
|
|
129
|
+
* @param vaultAddress Address of the vault
|
|
130
|
+
* @param minWithdrawableShares New minimum withdrawable shares
|
|
131
|
+
* @returns Transaction call object
|
|
132
|
+
*/
|
|
133
|
+
updateVaultMinWithdrawableShares(vaultAddress: string, minWithdrawableShares: NumStr): ITransactionCall;
|
|
134
|
+
/**
|
|
135
|
+
* Sets a sub-account for the vault (called via ProtocolConfig)
|
|
136
|
+
* @param vaultAddress Address of the vault
|
|
137
|
+
* @param account Address of the account
|
|
138
|
+
* @param isSubAccount Whether the account should be a sub-account
|
|
139
|
+
* @returns Transaction call object
|
|
140
|
+
*/
|
|
141
|
+
setVaultSubAccount(vaultAddress: string, account: string, isSubAccount: boolean): ITransactionCall;
|
|
142
|
+
/**
|
|
143
|
+
* Updates the maximum TVL of a vault (called via ProtocolConfig)
|
|
144
|
+
* @param vaultAddress Address of the vault
|
|
145
|
+
* @param maxTVL New maximum TVL
|
|
146
|
+
* @returns Transaction call object
|
|
147
|
+
*/
|
|
148
|
+
updateVaultMaxTVL(vaultAddress: string, maxTVL: NumStr): ITransactionCall;
|
|
149
|
+
/**
|
|
150
|
+
* Updates the rate update interval of a vault (called via ProtocolConfig)
|
|
151
|
+
* @param vaultAddress Address of the vault
|
|
152
|
+
* @param newInterval New rate update interval
|
|
153
|
+
* @returns Transaction call object
|
|
154
|
+
*/
|
|
155
|
+
updateVaultRateUpdateInterval(vaultAddress: string, newInterval: NumStr): ITransactionCall;
|
|
156
|
+
/**
|
|
157
|
+
* Updates the fee percentage of a vault (called via ProtocolConfig)
|
|
158
|
+
* @param vaultAddress Address of the vault
|
|
159
|
+
* @param newFeePercentage New fee percentage
|
|
160
|
+
* @returns Transaction call object
|
|
161
|
+
*/
|
|
162
|
+
updateVaultFeePercentage(vaultAddress: string, newFeePercentage: NumStr): ITransactionCall;
|
|
163
|
+
/**
|
|
164
|
+
* Updates the name of a vault (called via ProtocolConfig)
|
|
165
|
+
* @param vaultAddress Address of the vault
|
|
166
|
+
* @param newName New vault name
|
|
167
|
+
* @returns Transaction call object
|
|
168
|
+
*/
|
|
169
|
+
updateVaultName(vaultAddress: string, newName: string): ITransactionCall;
|
|
170
|
+
/**
|
|
171
|
+
* Updates the rate of a vault (rate manager only)
|
|
172
|
+
* @param vaultAddress Address of the vault
|
|
173
|
+
* @param newRate New rate value
|
|
174
|
+
* @returns Transaction call object
|
|
175
|
+
*/
|
|
176
|
+
updateVaultRate(vaultAddress: string, newRate: NumStr): ITransactionCall;
|
|
177
|
+
/**
|
|
178
|
+
* Processes a specified number of withdrawal requests (operator only)
|
|
179
|
+
* @param vaultAddress Address of the vault
|
|
180
|
+
* @param numRequests Maximum number of requests to process
|
|
181
|
+
* @returns Transaction call object
|
|
182
|
+
*/
|
|
183
|
+
processWithdrawalRequests(vaultAddress: string, numRequests: NumStr): ITransactionCall;
|
|
184
|
+
/**
|
|
185
|
+
* Collects accrued platform fees (operator only)
|
|
186
|
+
* @param vaultAddress Address of the vault
|
|
187
|
+
* @returns Transaction call object
|
|
188
|
+
*/
|
|
189
|
+
collectPlatformFee(vaultAddress: string): ITransactionCall;
|
|
190
|
+
/**
|
|
191
|
+
* Withdraws assets from the vault without redeeming shares (operator only)
|
|
192
|
+
* Used by operators to move funds to sub-accounts for strategy execution
|
|
193
|
+
* @param vaultAddress Address of the vault
|
|
194
|
+
* @param subAccount The sub-account address to withdraw to
|
|
195
|
+
* @param amount Amount to withdraw
|
|
196
|
+
* @returns Transaction call object
|
|
197
|
+
*/
|
|
198
|
+
withdrawFromVaultWithoutRedeemingShares(vaultAddress: string, subAccount: string, amount: NumStr): ITransactionCall;
|
|
199
|
+
/**
|
|
200
|
+
* Deposits assets to a vault and mints shares (ERC-4626 standard)
|
|
201
|
+
* @param vaultAddress Address of the vault
|
|
202
|
+
* @param assets Amount of assets to deposit
|
|
203
|
+
* @param receiver Address to receive the shares
|
|
204
|
+
* @returns Transaction call object
|
|
205
|
+
*/
|
|
206
|
+
deposit(vaultAddress: string, assets: NumStr, receiver: string): ITransactionCall;
|
|
207
|
+
/**
|
|
208
|
+
* Mints a specific number of shares by depositing assets (ERC-4626 standard)
|
|
209
|
+
* @param vaultAddress Address of the vault
|
|
210
|
+
* @param shares Amount of shares to mint
|
|
211
|
+
* @param receiver Address to receive the shares
|
|
212
|
+
* @returns Transaction call object
|
|
213
|
+
*/
|
|
214
|
+
mint(vaultAddress: string, shares: NumStr, receiver: string): ITransactionCall;
|
|
215
|
+
/**
|
|
216
|
+
* Redeems shares to initiate a withdrawal request
|
|
217
|
+
* @param vaultAddress Address of the vault
|
|
218
|
+
* @param shares Amount of shares to redeem
|
|
219
|
+
* @param receiver Address to receive the withdrawn funds
|
|
220
|
+
* @returns Transaction call object
|
|
221
|
+
*/
|
|
222
|
+
redeemShares(vaultAddress: string, shares: NumStr, receiver: string): ITransactionCall;
|
|
223
|
+
/**
|
|
224
|
+
* Cancels a pending withdrawal request
|
|
225
|
+
* @param vaultAddress Address of the vault
|
|
226
|
+
* @param requestSequenceNumber Sequence number of the withdrawal request to cancel
|
|
227
|
+
* @returns Transaction call object
|
|
228
|
+
*/
|
|
229
|
+
cancelPendingWithdrawalRequest(vaultAddress: string, requestSequenceNumber: NumStr): ITransactionCall;
|
|
230
|
+
/**
|
|
231
|
+
* Approves a token for spending by the vault
|
|
232
|
+
* @param tokenAddress Address of the token
|
|
233
|
+
* @param spender Address of the spender (usually the vault)
|
|
234
|
+
* @param amount Amount to approve
|
|
235
|
+
* @returns Transaction call object
|
|
236
|
+
*/
|
|
237
|
+
approveToken(tokenAddress: string, spender: string, amount: NumStr): ITransactionCall;
|
|
238
|
+
/**
|
|
239
|
+
* Gets the EmberVault ABI
|
|
240
|
+
*/
|
|
241
|
+
static getVaultABI(): unknown[];
|
|
242
|
+
/**
|
|
243
|
+
* Gets the EmberProtocolConfig ABI
|
|
244
|
+
*/
|
|
245
|
+
static getProtocolConfigABI(): unknown[];
|
|
246
|
+
/**
|
|
247
|
+
* Gets the ERC20Token ABI
|
|
248
|
+
*/
|
|
249
|
+
static getERC20ABI(): unknown[];
|
|
250
|
+
}
|