This repository was archived by the owner on Nov 15, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Offline fallback for GRANDPA #1619
Merged
Merged
Changes from 1 commit
Commits
Show all changes
65 commits
Select commit
Hold shift + click to select a range
8f9808a
skeleton for finality tracker
rphmeier 4e28e99
dispatch events when nothing finalized for a long time
rphmeier 37af080
begin integrating finality tracker into grandpa
rphmeier 1185041
add delay field to pending change
rphmeier 1a48669
add has_api_with function to sr_version for querying APIs
rphmeier f84de0e
partially integrate new force changes into grandpa
rphmeier 5b53bea
implement forced changes
rphmeier db20c36
get srml-grandpa compiling
rphmeier 9df9464
Update core/finality-grandpa/src/authorities.rs
bkchr cc5d70b
Update core/finality-grandpa/src/authorities.rs
bkchr 3e78042
Update core/finality-grandpa/src/authorities.rs
bkchr 68c94bf
remove explicit dependence on CoreApi
rphmeier 1fbb26c
increase node runtime version
rphmeier ecc489b
integrate grandpa forced changes into node runtime
rphmeier a75d5fd
add some tests to finality-tracker
rphmeier b9246b0
integrate finality tracking into node-runtime
rphmeier 36dfdf7
Merge branch 'master' into rh-grandpa-offline-fallback
rphmeier 619c7d4
test forced-change logic
rphmeier 5e0a57a
test forced changes in the authority-set handler
rphmeier 81ad7d7
kill some unneeded bounds in client
rphmeier a631a8d
test forced-changes in finality-grandpa and fix logic
rphmeier 1ce7d40
Merge branch 'master' into rh-grandpa-offline-fallback: bump node ver…
rphmeier 5ccd254
build wasm and finality-tracker is no-std
rphmeier b3291d4
Merge branch 'master' into rh-grandpa-offline-fallback
rphmeier 386a5f9
restart voter on forced change
rphmeier 7d1981c
Merge branch 'master' into rh-grandpa-offline-fallback
rphmeier a2add58
allow returning custom error type from lock_import_and_run
rphmeier 35f444a
extract out most DB logic to aux_schema and use atomic client ops
rphmeier 464f616
unify authority set writing
rphmeier bc2761f
implement set pausing
rphmeier 08d5275
Merge branch 'master' into rh-grandpa-offline-fallback
rphmeier 9518455
bump runtime version
rphmeier e7d24df
note on DB when we pause.
rphmeier 8b018f1
Merge branch 'master' into rh-grandpa-offline-fallback
rphmeier 4290f7d
Merge branch 'master' into rh-grandpa-offline-fallback
andresilva 1a47254
core: grandpa: integrate forced changes with multiple pending standar…
andresilva e5b1c56
core: grandpa: fix AuthoritySet tests
andresilva f7420b7
Merge branch 'master' into rh-grandpa-offline-fallback
andresilva ad7a092
Merge branch 'master' into rh-grandpa-offline-fallback
andresilva 0f21b3f
runtime: bump impl_version
andresilva 2bcf2c7
core: clear pending justification requests after forced change import
andresilva 33fe51f
srml: finality-tracker: use FinalizedInherentData
andresilva eb98d97
core: log requests for clearing justification requests
andresilva ed6b67e
core, node: update runtimes
andresilva ff1a8a5
core: grandpa: fix tests
andresilva 30890ec
core: grandpa: remove todos and add comments
andresilva 5bff073
core: grandpa: use has_api_with from ApiExt
andresilva f20746c
core: fix tests
andresilva c3d05fc
core: grandpa: remove unnecessary mut modifier
andresilva e537dd5
core: replace PostImportActions bitflags with struct
andresilva 5d80af7
core: grandpa: restrict genesis on forced authority set change
andresilva abaccb3
core: grandpa: add more docs
andresilva 94729c8
core: grandpa: prevent safety violations in Environment::finalize_block
andresilva 9c43a28
core: grandpa: register finality tracker inherent data provider
andresilva 3c37916
core: grandpa: fix tests
andresilva 0976224
Merge branch 'master' into rh-grandpa-offline-fallback
andresilva de63d65
node: update runtime blobs
andresilva b5df296
core: grandpa: remove outdated todo
andresilva 9799356
core: aura: fix typo in log message
andresilva fbd995b
core: grandpa: check re-finalization is on canonical chain
andresilva 815410d
Merge branch 'master' into rh-grandpa-offline-fallback
andresilva d034c36
srml: finality-tracker: fix initialization
andresilva a391918
Merge branch 'master' into rh-grandpa-offline-fallback
andresilva 93b98f7
node: update runtime wasm
andresilva cbb959f
srml: finality-tracker: don't re-initialize config keys
andresilva File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
core: grandpa: restrict genesis on forced authority set change
- Loading branch information
commit 5d80af776e02b0987c6e17f392fc87ca0244f136
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
I'm yet in-progress of trying to understand this PR in details - so probably I'll discover the answer for my question later. But here is the question: is this possible that there will be two adjacent forced-change periods where
set_idhas increased by 2 without any justification (i.e. setA#1has changed to setB#2AND setB#2was also unable to finalize something AND it has been changed to setC#3AND onlyC#3has generated new justification withset_id=3).I'm currently relying on the fact that
set_idis always accompanied by justification in the #1669 (in this check to be specific). It isn't critical for that code - just wanted to clarify if this is still a rule.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.
Yes, I believe the situation you described can happen.
Uh oh!
There was an error while loading. Please reload this page.
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.
@svyatonik worth noting that the offline change boots out light clients, so you can still rely on that assumption as long as you handle offline changes by shutting down the light client.
A checkpointing system is the only way to get light clients back onto the network.