Withdrawal
Stefaan currently own 10 apETH - the ratio apETH/ETH is at 1.1. Stefaan wants to use the apETH contract to exchange his 10 apETH to 11 ETH.
Scenario 1 : apETH has >= than 11 ETH & there is nobody in the queue
Exchange is done immediately. apETH is burnt - ETH is sent back to the sender.
Scenario 2 : apETH has < 11 ETH.
the user needs to call a queueWithdrawal() function which needs
Then the withdrawal is placed in an ordered list in the contract.
Considerations
- By using a push model, no user can keep the queue blocked
- As long as the queue contains entries, ETH deposits for new validators should be disabled.
What if
- what if the ETH returned triggers a contract function on the msg.sender address ?
Withdrawal
Stefaan currently own 10 apETH - the ratio apETH/ETH is at 1.1. Stefaan wants to use the apETH contract to exchange his 10 apETH to 11 ETH.
Scenario 1 : apETH has >= than 11 ETH & there is nobody in the queue
Exchange is done immediately. apETH is burnt - ETH is sent back to the sender.
Scenario 2 : apETH has < 11 ETH.
the user needs to call a queueWithdrawal() function which needs
Then the withdrawal is placed in an ordered list in the contract.
Considerations
What if