DepositReceiptfrom the past
round. Using the
amount, we update the
unredeemedSharesfield. This essentially tracks how many shares the user owns, but has not yet redeemed.
rollToNextOption, the vault will mint all the shares that are owed to users to
address(this). This increments the
DepositReceipts are used to track all the user's unredeemed shares. This is used for withdrawals and redemptions in the future.
initiateWithdrawfunction, which queues the shares to be burned.
completeWithdrawfunction, which burns the shares, and returns the assets.
completeWithdrawonly AFTER the week's Friday 10am UTC. For example, the user calls
initiateWithdrawon Wednesday. They can only complete the withdrawal after the same week's Friday 10am UTC.
initiateWithdraw(10), and I do
initiateWithdraw(20)again, I will have a total withdrawal of 30 shares by Friday.
withdrawInstantlyto return up to 10 ETH, from Wednesday till Friday.
address(this). This is not ideal for protocols or Meta-Vaults that want to hold custody of their shares. By calling the
maxRedeemfunction, contracts are able to take custody of their vault shares.