Skip to content

Latest commit

 

History

History
20 lines (19 loc) · 9.78 KB

rollapp_hardfork.md

File metadata and controls

20 lines (19 loc) · 9.78 KB

Tests handle

No Scenario Pre-condition Pre-condition check Expected result Expected result check Covered By
1 "Rollapp freeze - ability to freeze rollapp by submitting fraud proposal"
  • Rollapp registered with a sequencer
  • rollapp has IBC connection to hub
  • previous ibc transfers were successful
  • some eIBC packets are in the pending queue
  • Rollapp have max sequencers = 1
  • Fraud proposal submitted for a specific height
  • proposal voted and passed
TestRollAppFreeze_EVM TestRollAppFreeze_Wasm
2 "Rollapp freeze - can’t send IBC transfers"
  • Rollapp registered with a sequencer
  • rollapp has IBC connection to hub
  • previous ibc transfers were successful
  • some eIBC packets are in the pending queue
  • Rollapp have max sequencers = 1
  • Send freeze gov proposal to rollapp.
  • Send ibc-transfer from rollapp to hub and vice versa
  • No ability to send ibc transfers from rollapp ↔ hub and vice versa
TestRollAppFreeze_EVM TestRollAppFreeze_Wasm
3 "Rollapp freeze - can't fulfill pending eIBC packets"
  • Rollapp registered with a sequencer
  • rollapp has IBC connection to hub
  • previous ibc transfers were successful
  • some eIBC packets are in the pending queue
  • Rollapp have max sequencers = 1
🛑
(missing)
  • Send freeze gov proposal to rollapp
  • Send ibc-transfer from rollapp to hub including memo
  • eIBC transfers are discarded and failed
  • ibc demand order reverted
  • inability to fulfill eIBC transfer
🛑
(missing)
4 "Rollapp freeze - state is not progressing"
  • Rollapp registered with a sequencer
  • rollapp has IBC connection to hub
  • previous ibc transfers were successful
  • some eIBC packets are in the pending queue
  • Rollapp have max sequencers = 1
🛑
(missing)
  • Send freeze gov proposal to rollapp
  • Rollapp state is not progressing
🛑
(missing)
TODO
5 "Rollapp freeze - Sequencer slashed and jailed"
  • Rollapp registered with a sequencer
  • rollapp has IBC connection to hub
  • previous ibc transfers were successful
  • some eIBC packets are in the pending queue
  • Rollapp have max sequencers = 1
🛑
(missing)
  • Send freeze gov proposal to rollapp
  • Sequencer should be slashed with all the bond and jailed
  • Inability to register a new sequencer
🛑
(missing)
TODO
6 "Rollapp freeze - other rollapps are functioning as usual"
  • Rollapp registered with a sequencer
  • rollapp has IBC connection to hub
  • previous ibc transfers were successful
  • some eIBC packets are in the pending queue
  • Rollapp have max sequencers = 1
  • rollapp2 has eIBC pending packets
  • Send freeze gov proposal to rollapp
  • rollapp2 eibc packets are finalized as expected
  • rollapp2 eibc packets can be fulfilled
  • rollapp2 ibc transfers are being transferred as expected
  • rollapp2 state is progressing as expected
TestOtherRollappNotAffected_EVM TestOtherRollappNotAffected_Wasm
7 "Rollapp freeze - invariants are not broken"
  • Rollapp registered with a sequencer
  • rollapp has IBC connection to hub
  • previous ibc transfers were successful
  • some eIBC packets are in the pending queue
  • Rollapp have max sequencers = 1
  • rollapp2 has eIBC pending packets
🛑
(missing)
  • Send freeze gov proposal to rollapp
  • invariant broken for block-height-to-finalization-queue since it is unable to find finalization queues for reverted state infos
  • it should skip checking frozen rollapps (PR submitted)
🛑
(missing)
TODO
8 "Rollapp freeze - pending acked ibc packet are rollbacked"
  • Rollapp registered with a sequencer
  • rollapp has IBC connection to hub
  • previous ibc transfers were successful
  • some eIBC packets are in the pending queue
  • Rollapp have max sequencers = 1
  • Rollapp has eIBC pending packets
🛑
(missing)
  • IBC transfer sent from hub to rollapp
  • Send freeze gov proposal to rollapp
  • Rollapp is frozen before ibc-transfer finalization
  • timeout is triggered in delayedack once the rollapp is frozen and funds are sent back to sender
🛑
(missing)
TODO
9 "Rollapp freeze - pending on recv ibc packet are rollbacked"
  • Rollapp registered with a sequencer
  • rollapp has IBC connection to hub
  • previous ibc transfers were successful
  • some eIBC packets are in the pending queue
  • Rollapp have max sequencers = 1
  • Rollapp has eIBC pending packets
🛑
(missing)
  • IBC transfer sent from rollapp to hub
  • Send freeze gov proposal to rollapp
  • Rollapp is frozen before ibc-transfer finalization
  • timeout is triggered in delayedack once the rollapp is frozen and no transfer is made after finalization
🛑
(missing)
TODO
10 "Rollapp freeze - pending timeout ibc packet are rollbacked"
  • Rollapp registered with a sequencer
  • rollapp has IBC connection to hub
  • previous ibc transfers were successful
  • some eIBC packets are in the pending queue
  • Rollapp have max sequencers = 1
  • Rollapp has eIBC pending packets
🛑
(missing)
  • IBC transfer sent from hub to rollapp with timeout set previous to freezing and finalization
  • Send freeze gov proposal to rollapp
  • Rollapp is frozen before ibc-transfer finalization
  • timeout is triggered in delayedack once the rollapp is frozen and funds are sent back to sender
🛑
(missing)
TODO
11 "Rollapp fork - Ability to create new rollapp with fork id using same rollappid increasing revision number"
  • Rollapp registered with a sequencer
  • rollapp has IBC connection to hub
  • previous ibc transfers were successful
  • some eIBC packets are in the pending queue
  • Rollapp have max sequencers = 1
  • account with IBC balance on the hub
🛑
(missing)
  • Send freeze gov proposal to rollapp
  • Register new rollapp with the same rollapp id but increasing revision number
  • validate the genesis account fields are empty
  • new rollapp created on the hub using the fork rollapp id and with a new sequencer registered and bonded
🛑
(missing)
12 "Rollapp fork - Ability to start new rollapp from previous height"
  • Rollapp registered with a sequencer
  • rollapp has IBC connection to hub
  • previous ibc transfers were successful
  • some eIBC packets are in the pending queue
  • Rollapp have max sequencers = 1
  • account with IBC balance on the hub
🛑
(missing)
  • Send freeze gov proposal to rollapp
  • Register new rollapp with the same rollapp id but increasing revision number
  • export genesis with last finalized height
  • start rollapp with exported genesis with rollappid updated
  • new state infos are submitted to the new rollapp and are getting finalized
🛑
(missing)
13 "Rollapp fork - Ability to recover frozen ibc client on Hub"
  • Rollapp registered with a sequencer
  • Fraud proposal submitted and passed for specific height
🛑
(missing)
  • create new ibc client for the new rollapp
  • substitute frozen ibc client for the new one using gov proposal
  • update relayer with fork rollapp info
  • rollapp ibc client on the hub should be in Active status
  • relayer should be able to sync with ibc clients
🛑
(missing)
14 "Rollapp fork - Ability to ibc-transfer after fork"
  • Rollapp registered with a sequencer
  • Fraud proposal submitted and passed for specific height
🛑
(missing)
  • send ibc transfer from rollapp to hub and hub to rollapp, with and without eibc
  • ibc transfers with same channel should work as expected between hub ↔ rollapp on the same channel as before
  • balances on the rollapp should be as expected before hard fork
🛑
(missing)
15 "Rollapp fork - Ability to recreate genesis event for the new rollapp"
  • Rollapp registered with a sequencer
  • Fraud proposal submitted and passed for specific height
🛑
(missing)
  • send genesis-event to hub with the new rollapp id
  • genesis event should be accepted
  • it should be possible to transfer genesis tokens from the hub
🛑
(missing)
16 "Rollapp fork - Ability to ibc-transfer init-genesis tokens after fork back to rollapp"
  • Rollapp registered with a sequencer
  • Fraud proposal submitted and passed for specific height
🛑
(missing)
  • send rollapp tokens in ibc transfer from hub to rollapp from genesis account
  • rollapp tokens should be sent from hub to rollapp
🛑
(missing)