* BEEFY: generate historical proofs
Signed-off-by: Serban Iorga <serban@parity.io>
* cargo update -p sp-io
* Properly set max proof size for runtimes
* Properly set max proof size for mocks
* cargo fmt
* Set appropriate UMP service total proof size weight
* Disable zombienet-tests-parachains-disputes CI
* Add comment explaining weight math
* Use MAX_POV_SIZE for max proof size
* Cast to u64
* Remove comment
Signed-off-by: Serban Iorga <serban@parity.io>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
This can happen under heavy load - no value in warning here.
Scenario this happens:
- New slot
- We get asked about what fork to build on
- We start building (create inherent gets called)
- We learn about a better fork (but Babe does not care as it already has a fork)
- 6 seconds passed - New slot
- Babe asks about what for to build on - we answer with the best block we learned about 6 seconds ago (slightly after we got asked the last time)
- We start building (on that old block)
- Milliseconds later we learn about a new block (the one from the slot we are actually in now)
- We kick the old leaf -> create inherent fails
Full discussion: https://github.com/paritytech/substrate/issues/12375
* add regression test for missing Send requirement
* fix: require the initialization with `F: FnOnce` to be `Send` as well
If creating intermediate variables of the builder type within
a future, rustc will complain about the future not being send,
while the thing itself isn't even using the closure based field
initialization. Adding an additional bound, resolves this and
pushes the error message "closer" to the user, and out of the
generated code.
* import fixins
* 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>
* 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>
* Bump crate versions
* Bump spec_version to 9280 for kusama
* Bump spec_version to 9280 for polkadot
* Bump spec_version to 9280 for rococo
* Bump spec_version to 9280 for westend
* update Cargo.lock
Co-authored-by: parity-processbot <>