-
Notifications
You must be signed in to change notification settings - Fork 14
Description
Description
Enable ERC-4626/7540-compatible synchronous deposits that mint shares at the current manager-set share price.
Scope
- allow the vault manager (strategist) to post rate updates
- support user deposits via ERC-4626
deposit()and ERC-7540requestDeposit()calls - integrate Valence Base account to escrow user deposits
- support deposit pausing
Rate updates
Authorized strategist address should be able to call setSharePrice() at any time to update the rate of share issuance.
User deposits
Users should be able to perform deposits via ERC-4626 deposit() and ERC-7540 requestDeposit() calls. Because this vault is synchronous-on-deposit, requestDeposit() should simply call into the deposit() and immediately issue the user shares at the current share price.
Assets deposited by the users should be routed into the Valence Base (deposit) account associated with the vault.
Deposit pausing
Vault should support pausing the deposit flow manually and automatically.
Manual pausing can be performed by the vault owner. After that, the owner needs to resume the deposits to get back to the usual flow.
Automatic pausing should kick in after the currently set share price is considered stale. Staleness should be identified by a configurable parameter on the vault (blocks/time). On each deposit, share price freshness should be checked for. In case of automatic pausing, deposits can be resumed by:
- the strategist, by posting a new share price
- the vault owner, by resuming the deposits
In case of automatic pausing due to stale rates, the vault deposit operations can be resumed by posting a new share price update. This can be done by either the strategist or the vault owner.