Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[EFM Recovery] Benchnet Testing #5945

Open
4 tasks
jordanschalm opened this issue May 17, 2024 · 0 comments
Open
4 tasks

[EFM Recovery] Benchnet Testing #5945

jordanschalm opened this issue May 17, 2024 · 0 comments
Assignees
Labels
Integration testing Protocol Team: Issues assigned to the Protocol Pillar.

Comments

@jordanschalm
Copy link
Member

jordanschalm commented May 17, 2024

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 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

@jordanschalm jordanschalm added Protocol Team: Issues assigned to the Protocol Pillar. Integration testing labels May 17, 2024
@jordanschalm jordanschalm added this to the EFM-Q2 Follow-on updates milestone May 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Integration testing Protocol Team: Issues assigned to the Protocol Pillar.
Projects
None yet
Development

No branches or pull requests

2 participants