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

Cooldown changes #1175

Merged
merged 101 commits into from
Sep 17, 2024
Merged

Cooldown changes #1175

merged 101 commits into from
Sep 17, 2024

Conversation

td202
Copy link
Contributor

@td202 td202 commented May 23, 2024

Purpose

Closes #1142 #1145

Implement cooldown changes in the node.

Changes

  • Split bsoConfigureBaker into bsoAddValidator and bsoUpdateValidator. Rewrite to factor out the checks and to make the flow of account updates more apparent.
    • The behaviour of bsoUpdateValidator is changed in the following case: when the validator's keys are changed, and the new aggregation key duplicates the aggregation key of some other validator, the key that is actually duplicated is now returned (whereas previously the old key on the account was returned) in the error. This causes a difference in the RejectReason which is reported for such a transaction, and could cause incompatibility if such a difference was observed in P1-P4 (since P5, reject reasons are not included in the block hashing scheme). (This does not seem to have occurred at least on mainnet.)
  • Split bsoConfigureDelegation into bsoAddDelegator and bsoUpdateDelegator. Rewrite to factor out the checks and to make the flow of account updates more apparent.
  • Extensive tests. To assure backwards compatibility (except in the above noted difference), the tests were also run against the old bsoConfigureBaker and bsoConfigureDelegation (see the branch: https://github.com/Concordium/concordium-node/tree/backport-tests).

Checklist

  • My code follows the style of this project.
  • The code compiles without warnings.
  • I have performed a self-review of the changes.
  • I have documented my code, in particular the intent of the
    hard-to-understand areas.
  • (If necessary) I have updated the CHANGELOG.

eb-concordium and others added 30 commits April 2, 2024 15:14
@Victor-N-Suadicani
Copy link

Victor-N-Suadicani commented Sep 5, 2024

I pushed a fix to the consensus, because it didn't actually recognize the P7 protocol update. I'm not really sure why I didn't see this when I was testing the P6 to P7 update, where it seemed to work fine, but for P7 to P7 it did not work. In any case, it should be fixed now. I also changed it from using a wildcard pattern match to avoid future problems like this.

I tested the update with this fix and tried the (newly updated) state compare tool as well on the protocol update and it seemed to work perfectly fine.

Base automatically changed from cooldown-processing to main September 10, 2024 07:59
@td202 td202 merged commit eade962 into main Sep 17, 2024
0 of 2 checks passed
@td202 td202 deleted the cooldown-changes branch September 17, 2024 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Protocol Update 7 Test Plan
5 participants