-
Notifications
You must be signed in to change notification settings - Fork 180
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
Feature: Dynamic Protocol State #5336
Conversation
…part-1_-_suggestions1
…hub.com/onflow/flow-go into yurii/4649-prev-epoch-refactoring-attempt
• revised goDoc of protocol state implementation • changed `ProtocolStateEntry.PreviousEpoch` to pointer (consistent with `ProtocolStateEntry.NextEpoch`) • There should be no significant algorithmic changes. Though, I have switched the order of the if and else branches when processing an Epoch Setup event. For me, this is much more in line with the intuitive order of documentation. state/protocol/protocol_state/updater.go: • notable updates and revisions of goDoc • tried to address concerns around inconsistent handling of invariances • updated code to work with `ProtocolStateEntry.PreviousEpoch` being potentially a nil pointer storage/badger/protocol_state_test.go: • detailed goDoc revisions for test `assertRichProtocolStateValidity`
…-attempt_-_suggestions
…och-refactoring-attempt
Co-authored-by: Jordan Schalm <jordan@dapperlabs.com>
…mit. Updated tests, error handling, docs
…ithub.com/onflow/flow-go into yurii/4649-prev-epoch-refactoring-attempt
…nflow/flow-go into yurii/5517-extend-payload
… ordering assumptions in the system smart contracts vs the core protocol layer.
…`Updater.ProcessEpochSetup()` such that the documentation and implementation are in the same order
…nflow/flow-go into yurii/5517-extend-payload
…nd, moved it to rootblock cmd
…. Updated finalize command to correctly read prepared data.
It is commented out on HEAD, uncommented on master. Causes following error when uncommented here: ``` CGO_CFLAGS="" mockgen -destination=storage/mocks/storage.go -package=mocks github.com/onflow/flow-go/storage Blocks,Headers,Payloads,Collections,Commits,Events,ServiceEvents,TransactionResults # MERGE: Line below commented out on HEAD CGO_CFLAGS="" mockgen -destination=module/mocks/network.go -package=mocks github.com/onflow/flow-go/module Local,Requester 2024/01/30 10:30:40 Failed to format generated source code: module/mocks/network.go:67:65: missing ',' in type argument list (and 3 more errors) ```
This version includes ProtocolStateID and all changes to date on master
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #5336 +/- ##
==========================================
- Coverage 56.79% 55.93% -0.87%
==========================================
Files 757 1017 +260
Lines 75303 97998 +22695
==========================================
+ Hits 42767 54812 +12045
- Misses 29196 39082 +9886
- Partials 3340 4104 +764
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚢
This PR includes all changes from the Dynamic Protocol State feature branch and conflict resolution from #5325.
Rather than merging
jordan/sync-dyn-proto-state--master->feature/dynamic-protocol-state
, thenfeature/dynamic-protocol-state->master
, this PR mergesjordan/sync-dyn-proto-state--master->master
directly. This is because conflicts resolved in the sync PR re-appeared in the feature branch PR; but since the feature branch is protected we can't resolve conflicts there directly (same problem as #5071).It replaces #5158.