Staker Deposits¶
| Test | Expected | Done |
|---|---|---|
| Swap ETH for rETH when deposits are disabled | Deposit fails with helpful message | |
| Swap ETH for rETH | ETH is deposited and user now owns rETH | :ballot_box_with_check: |
| Swap ETH bigger than deposit pool limit | Deposit fails with helpful message | :ballot_box_with_check: |
| Swap rETH for ETH (with liquidity) | rETH is burned and user has ETH | :ballot_box_with_check: |
| Transfer rETH from one address to another | rETH changes address | :ballot_box_with_check: |
Node Management¶
| Test | Expected | Done |
|---|---|---|
| Register node when node registrations are disabled | Registration should fail | :ballot_box_with_check: |
| Registered nodes from different timezones | Registered nodes exist, timezone set, and withdrawal address is node address | :ballot_box_with_check: |
| Set timezone on registered nodes | Timezone has been updated | :ballot_box_with_check: |
| Change withdrawal address of node (with confirm) | Withdrawal address changed | :ballot_box_with_check: |
| Change withdrawal address of node (without confirm) | Withdrawal address changed | :ballot_box_with_check: |
| Change withdrawal address from CLI (without confirm) | Withdrawal address changed | :ballot_box_with_check: |
| Change withdrawal address back to node using website | Withdrawal address changed back to node | :ballot_box_with_check: |
Node RPL Staking¶
| Test | Expected | Done |
|---|---|---|
| Swap RPLv1 for RPLv2 | RPLv1 burnt, RPLv2 minted | :ballot_box_with_check: |
| Check RPL price | RPL price is up-to-date | :ballot_box_with_check: |
| Stake RPL (varying amounts) | RPL amount should be staked | :ballot_box_with_check: |
| Increase staked RPL for node | RPL increased amount should be staked | :ballot_box_with_check: |
| Withdraw staked RPL for node with > 150% | RPL should withdraw | :ballot_box_with_check: |
| Withdraw staked RPL after minipool withdrawal | RPL should withdraw |
Node Deposits¶
| Test | Expected | Done |
|---|---|---|
| Deposit when node deposits are disabled | Deposit should fail | :ballot_box_with_check: |
| Perform empty deposit for an unbonded node (commission rate has to be high) | Minipool should be created & funded, user deposits assigned | :ballot_box_with_check: |
| Perform 16 ETH deposits | Minipool should be created & funded, user deposits assigned | :ballot_box_with_check: |
| Perform 32 ETH deposits (full) | Minipool should be created & funded, user deposits should buy out node deposit | :ballot_box_with_check: |
| Refund full deposit node operators | Full deposit node operators can refund excess ETH | :ballot_box_with_check: |
Minipool Management/Withdrawal¶
| Test | Expected | Done |
|---|---|---|
| Dissolve prelaunch minipool | Minipool dissolved and funds returned to node operator | :ballot_box_with_check: |
| Close dissolved minipool | ?? | :ballot_box_with_check: |
| Exit minipool | Beacon chain validator exited, ODAO marked as withdrawable | Decided to remove for now. |
| Withdraw minipool (standard) | Funds distributed | :ballot_box_with_check: |
| Withdraw minipool (safety) when marked withdrawable & refund | Funds distributed | :ballot_box_with_check: |
| Withdraw minipool (safety) when staking & refund | Funds distributed | :ballot_box_with_check: |
| Withdraw minipool (safety) finalise minipool | Minipool finalised and RPL is withdrawable | :ballot_box_with_check: |
| Withdraw minipool (safety) slash RPL | RPL slashed | :ballot_box_with_check: |
RPL Auction¶
| Test | Expected | Done |
|---|---|---|
| Create RPL auction lot | Lot created | :ballot_box_with_check: |
| Place bids on RPL lot | Bids raised | :ballot_box_with_check: |
| Claim RPL auction | RPL claimed by appropriate winner | :ballot_box_with_check: |
| Recover RPL | Recover unclaimed RPL | - |
Minipool Upgrade¶
| Test | Expected | Done |
|---|---|---|
| Upgrade minipools to a new delegate | Minipools have been successfully upgraded | :ballot_box_with_check: |
| Rollback minipool upgrade to previous delegate | Minipools have been successfully rolled back | :ballot_box_with_check: |
| Upgrade new delegate, when minipool uses latest | Minipools have been successfully upgraded | :ballot_box_with_check: |
ODAO Management¶
| Test | Expected | Done |
|---|---|---|
| Register ODAO nodes | ODAO nodes are registered | :ballot_box_with_check: |
| Propose invite member | Member joined ODAO | :ballot_box_with_check: |
| Propose/vote upgrade delegate contract | Upgrade successful | :ballot_box_with_check: |
| Propose/vote change setting | Setting change applied | :ballot_box_with_check: |
| Propose kick member | Member kicked from ODAO | :ballot_box_with_check: |
| Propose leave | Member left and retrieved bond | :ballot_box_with_check: |
| Challenge another member (as an oDAO member) | Challenge addressed | :ballot_box_with_check: |
| Challenge another member (as a regular NO) | Challenge addressed | :ballot_box_with_check: |
| Challenge another member (non-response) | Challenge not responded, kick member | :ballot_box_with_check: |
| Emergency: Your mum's house | Member elected ODAO member when ODAO low population |
Guardian / Bootstrap¶
| Test | Expected | Done |
|---|---|---|
| Set & confirm guardian address | guardian address changed | |
| Bootstrap ODAO members | Nodes should now be part of ODAO | :ballot_box_with_check: |
| Disable bootstrap mode | Cannot execute bootstrap functions anymore |
Phased rollout¶
| Test | Expected | Done |
|---|---|---|
| Initial parameters | Settings should match initial | :ballot_box_with_check: |
| Phase 1 apply | Settings should match phase 1 | :ballot_box_with_check: |
| Phase 2 apply | Settings should match phase 2 | - |
| Phase 3 apply | Settings should match phase 3 | - |
| Phase 4 apply | Settings should match phase 4 | :ballot_box_with_check: |
Contract Upgrade¶
| Test | Expected | Done |
|---|---|---|
| Propose/vote a network upgrade | Proposal executed and network contract upgraded | :ballot_box_with_check: |
ETH Penalty¶
| Test | Expected | Done |
|---|---|---|
| Deploy a penalty contract | Contract deployed | :ballot_box_with_check: |
| Apply penalty to staking minipool | Penalty applied | :ballot_box_with_check: |
| Withdraw minipool | Penalty applied to ETH rewards | :ballot_box_with_check: |