You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue enumerates test cases to manually test using a Benchnet instance, once the round-trip functionality of EFM Recovery is completed.
Test Cases
Send recoverEpoch transaction twice
It is possible that, due to a race condition and human error, a recoveryEpoch transaction is submitted which is accepted by the smart contract but rejected by the Protocol State. Specifically this can happen when the transaction is submitted near the boundary where a new EpochExtension is added, making the provided firstView invalid.
We should be able to re-submit a new epochRecover transaction and enter the recovery epoch, while only paying rewards once.
Test a recoverEpoch where, from the protocol state perspective, the RecoverEpoch counter is more than one greater than the epoch before EFM was triggered.
This can be accomplished by performing several rounds of reward payouts prior to the recoverEpoch.
Test a recoverEpoch where new nodes have staked over the course of the epoch where EFM is triggered.
We should be resilient to this case. In particular, newly staked nodes should not be included in the identity table of the RecoveryEpoch.
Test a recoveryEpoch where existing nodes have unstaked over the course of the epoch where EFM is triggered.
We should be resilient to this case. In particular, unstaked CONSENSUS nodes must STILL BE included in the identity table of the RecoveryEpoch. All other unstaked nodes should not be included in the identity table of the RecoveryEpoch
The text was updated successfully, but these errors were encountered:
Problem Definition
This issue enumerates test cases to manually test using a Benchnet instance, once the round-trip functionality of EFM Recovery is completed.
Test Cases
Send
recoverEpoch
transaction twiceIt is possible that, due to a race condition and human error, a
recoveryEpoch
transaction is submitted which is accepted by the smart contract but rejected by the Protocol State. Specifically this can happen when the transaction is submitted near the boundary where a new EpochExtension is added, making the providedfirstView
invalid.We should be able to re-submit a new
epochRecover
transaction and enter the recovery epoch, while only paying rewards once.Test a
recoverEpoch
where, from the protocol state perspective, theRecoverEpoch
counter is more than one greater than the epoch before EFM was triggered.This can be accomplished by performing several rounds of reward payouts prior to the
recoverEpoch
.Test a
recoverEpoch
where new nodes have staked over the course of the epoch where EFM is triggered.We should be resilient to this case. In particular, newly staked nodes should not be included in the identity table of the
RecoveryEpoch
.Test a
recoveryEpoch
where existing nodes have unstaked over the course of the epoch where EFM is triggered.We should be resilient to this case. In particular, unstaked CONSENSUS nodes must STILL BE included in the identity table of the
RecoveryEpoch
. All other unstaked nodes should not be included in the identity table of theRecoveryEpoch
The text was updated successfully, but these errors were encountered: