This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
SelectChain implementation for relay chains #3341
Merged
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.
Based on the new
ChainSelectionSubsystem
introduced in #3277, this implements aSelectChain
implementation known asRelaySelectChain
.RelaySelectChain
is intended to replace theApprovalCheckingVotingRule
by its implementation offn finality_target
, which will draw from the dispute coordinator in the future. I've also introduced a notion ofOverseerHandler
s being disconnected, which means that they are connected to no underlying overseer. This is necessary for when we actually integrate theRelaySelectChain
in the service because it serves 2 purposes:SelectChain
to be instantiated before the creation of the overseer. This lets us create theSelectChain
instance and activate it later.RelaySelectChain
which is disconnected from the overseer will always fall back to aLongestChain
fork-choice rule. This will be useful for Polkadot until parachains are launched, in the same vein as disable approval-checking voting rule on polkadot #3321 .