• Tsvetomir Dimitrov's avatar
    Improved dispute votes import in provisioner (#5567) · 6ae9720c
    Tsvetomir Dimitrov authored
    * Add `DisputeState` to `DisputeCoordinatorMessage::RecentDisputes`
    
    The new signature of the message is:
    ```
    RecentDisputes(oneshot::Sender<Vec<(SessionIndex, CandidateHash, DisputeStatus)>>),
    ```
    
    As part of the change also add `DispiteStatus` to
    `polkadot_node_primitives`.
    
    * Move dummy_signature() in primitives/test-helpers
    
    * Enable staging runtime api on Rococo
    
    * Implementation
    
    * Move disputes to separate module
    * Vote prioritisation
    * Duplicates handling
    * Double vote handling
    * Unit tests
    * Logs and metrics
    * Code review feedback
    * Fix ACTIVE/INACTIVE separation and update partition names
    * Add `fn dispute_is_inactive` to node primitives and refactor `fn get_active_with_status()` logic
    * Keep the 'old' logic if the staging api is not enabled
    * Fix some comments in tests
    * Add warning message if there are any inactive_unknown_onchain disputes
    * Add file headers and remove `use super::*;` usage outside tests
    * Adding doc comments
    * Fix test methods names
    
    * Fix staging api usage
    
    * Fix `get_disputes` runtime function implementation
    
    * Fix compilation error
    
    * Fix arithmetic operations in tests
    
    * Use smaller test data
    
    * Rename `RuntimeApiRequest::StagingDisputes` to `RuntimeApiRequest::Disputes`
    
    * Remove `staging-client` feature flag
    
    * fmt
    
    * Remove `vstaging` feature flag
    
    * Some comments regarding the staging api
    
    * Rename dispute selection modules in provisioner
    with_staging_api -> prioritized_selection
    without_staging_api -> random_selection
    
    * Comments for staging api
    
    * Comments
    
    * Additional logging
    
    * Code review feedback
    
    process_selected_disputes -> into_multi_dispute_statement_set
    typo
    In trait VoteType: vote_value -> is_valid
    
    * Code review feedback
    
    * Fix metrics
    
    * get_disputes -> disputes
    
    * Get time only once during partitioning
    
    * Fix partitioning
    
    * Comments
    
    * Reduce the number of hardcoded api versions
    
    * Code review feedback
    
    * Unused import
    
    * Comments
    
    * More precise log messages
    
    * Code review feedback
    
    * Code review feedback
    
    * Code review feedback - remove `trait VoteType`
    
    * Code review feedback
    
    * Trace log for DisputeCoordinatorMessage::QueryCandidateVotes counter in vote_selection
    6ae9720c