implement prioritized disputes selection #4533
Labels
A-tooBig
issue or PR needs to be broken down to smaller parts.
C-complex
Complex changes across multiple modules. Possibly will require additional research.
S-subsystems-common
Description
Disputes are an important inherent data component, so we should implement the algorithm that selects relevant disputes and new votes, so we can provide to the runtime relevant information.
How the prioritization works?
Generally speaking disputes can be described as:
Provisioner fetches all disputes from
dispute-coordinator
and separates them in multiple partitions, see struct PartitionedDisputes. Each partition has got a priority implicitly assigned to it and the disputes are selected based on this priority (e.g. disputes in partition 1, then if there is space - disputes from partition 2 and so on)Flow
Disputes
method then return emptydisputes-coordinator
subsytems (filter confimed, concluded and disputes that already exists on chain)PartitionedDisputes
which should be sent to the runtime, votes which are already known on chain are filtered out, the result should be sorted by(Session Index, Candidate Hash)
(runtime requirement).Links
The text was updated successfully, but these errors were encountered: