* remove history depth from storage and add it as config for pallet staking
* add migration to v11 for staking pallet
* revert local substrate dependency patch
* remove history depth from storage and add it as config for pallet staking
* add migration to v11 for staking pallet
* revert local substrate dependency patch
* update substrate dependencies
* update cargo lock
* update to latest substrate
* revert all changes to Cargo.lock
* cargo update -p sp-io
* mark migration job as failable
Co-authored-by: kianenigma <kian@parity.io>
* add upgrade test
* fix node names
* changes from feedback
* rename bash script
* fix upgrade node test
* upgrade node test, use env
* bump zombienet version and fix upgrade test
* bump zombienet version
* bump zombienet
* fix raw link for binary
* adjust within time
* disputes: runtime part of slashing
* disputes: reward winners
* disputes/slashing: validate_unsigned impl
* fmt
* disputes/slashing: report_dispute_lost_unsigned
* disputes/slashing: separate winners from losers and report winners
* disputes/slashing: refactoring
* impl HandleReports
* enable on Wenstend
* fmt
* add slashing pallet to the mock and test runtimes
* fix a bug in report_dispute_lost_unsigned
* fmt
* disputes: remove new_participants from summary
* disputes: remove punish_inconclusive
* impl SlashingHandler for Pallet for type-safety
* do not impl slashing::Config on mainnets yet
* teach spellcheck deduplication
* simplify interfaces and resolve some TODOs
* resolve some more TODOs
* minor typos
* move slashing into a folder
* remove unnecessary clone
* fix validator_set_count calculation
* introduce ValidatorSetCount
* store ValidatorSetCount
* fmt
* add the benchmark
* fmt
* unflatten slashing
* post-rebase fixes
* remove winners eagerly
* use real slashing weights for westend
* remove bench test suite
* zombinet: modify disputes test to check for an offence report
* zombinet: add a timeout
* add slashing pallet to Rococo
* zombienet: revert back to rococo-local
* fmt
* remove TODOs
* revert some accidental changes
* slashing is submodule of disputes
* Change the log target
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* wrap comments with rustfmt, more docs, constants
* use Defensive trait
* cargo update -p sp-io
* merge offence types, remove rewards for now
* cargo update -p sp-io
* benchmark fixes
* fmt
* unused var
* fix block_author impl
* ressurect RewardValidators trait
* remove outdated comment
* more module docs
* introduce BenchmarkingConfig
* typo fix
* teach spellcheck unapplied
* use Weight::new()
* fix mocking rewards
* use RefTimeWeight
* ".git/.scripts/bench-bot.sh" runtime westend-dev runtime_parachains::disputes::slashing
* refactor maybe_identify_validators
* no more ticket in disguise
* remove outdated comments
* lower against valid to 0.1%
* bump zombienet version for debug
* use from_perthousand
* post-merge fixes
* another day, another Weight changes
* Revert "bump zombienet version for debug"
This reverts commit 0d9978711f8ec9a746a5e1c45e8ffbe7c75e7b5c.
* do not reward block authors
* fix outdated comment
* use Pays from frame_support::dispatch::Pays
* add timeout to is up
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: command-bot <>
Co-authored-by: Javier Viola <javier@parity.io>
Co-authored-by: Javier Viola <pepoviola@gmail.com>
* 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
* Enable correct features
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Feature gate function
The expose_db function is currently feature gated with runtime-benchmarks.
After the related Substrate MR, this feature gate will actually *work*
as intended instead of doing nothing.
BUT then we also have to pass through the correct feature, hence this MR.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* update lockfile for {"substrate"}
* Fix bench features
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* fix more features
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: parity-processbot <>
* Remove CanAuthorWith trait
CanAuthotWith trait removed. Also all dependencies, parameters, type
paramers were removed. This is related to removal of native runtime.
* update lockfile for {"substrate"}
* Ensure we use unique directories after the recent change to `new_temp_dir`
Co-authored-by: parity-processbot <>
Co-authored-by: Bastian Köcher <info@kchr.de>
* refactor backing points to only reward active set
* impl disputes::RewardValidators
* enable rewards on westend, kusama, polkadot
* fmt
* make dispute points same as backing
* disable on polkadot for now
* Adjust to the new API
* Remove mutability
* Async constructor
* unwrap result
* do not panic
* suggestion
* leftover
* update lockfile for {"substrate"}
Co-authored-by: parity-processbot <>
* Use new ProtocolName in peer_set.rs
* Use new ProtocolName for request-response protocols
* Use new ProtocolName in polkadot-network-bridge
* Import and conversion fixes
* Use ProtocolName re-exported in sc_network
* update lockfile for {"substrate"}
Co-authored-by: parity-processbot <>
* Don't store available data on disputes
If there are lots of disputes, this leads to blowing up disk space on
validators. Rob luckily remembered that we do store the full
availability in participation.
The argument in the code does not make too much sense with the current
implementation, as no validator will ever request anything else from us,
than the one piece we are meant to posess.
* Fix warnings.
* Fix compile warnings
* Remove redundant field.
Co-authored-by: Vsevolod Stakhov <vsevolod.stakhov@parity.io>