* sc-client-db: Fix `PruningMode::ArchiveCanonical`
When running a node with `--state-pruning archive-canonical` it was directly failing on genesis.
There was an issue in the state-db `pin` implementation. It was not checking the state of a block
correctly when running with archive canonical (and also not for every other block after they are canonicalized).
* FMT
For on-demand justifications, peer selection is based on witnessed
gossip votes. This commit changes the condition for selecting a peer
to request justification for `block` from
"last voted on >= `block`" to "peer last voted on strict > `block`".
When allowing `>=` we see nodes continuously spamming unsuccessful
on-demand requests to nodes which are still voting on a block without
having a justification available.
One way to fix the spam would be to add some rate-limiting or backoff
period when requesting justifications.
The other solution (present in this commit) is to simply request
justifications from peers that are voting on future blocks so we know
they're _guaranteed_ to have the wanted mandatory justification
available to send back.
Signed-off-by: acatangiu <adrian@parity.io>
* grandpa: don't error if best block and finality target are inconsistent
* grandpa: add test for best block override
* grandpa: make clippy happy
* grandpa: log selectchain override as debug instead of warn
* Finalization target should be chosed as some ancestor of SelectChain::best_chain
* More test assertions
* Improve docs
* Removed stale docs
* Rename 'target' to 'base' in lookup method
* Fix typo
* Apply suggestions from code review
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
* Rename 'target_hash' to 'base_hash' in 'SelectChain::finality_target()'
* Apply suggestions from code review
Co-authored-by: Anton <anton.kalyaev@gmail.com>
* Docs improvement
* Doc fix
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <git@kchr.de>
* Apply more code suggestions
---------
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
Co-authored-by: Anton <anton.kalyaev@gmail.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
* WIP
* Fix templates
- fix conditions to fetch misc PRs
- render the misc section only if required
- add html comment to help debugging
- add a new API section to T2 labels
* [Enhancement] Use XCM V3 for initiate_teleport weight calc
* deref
* replicate in all the runtimes
* fmt
* better handling for AllOf
* fmt
* small type fix
* replicate the fix for all runtimes
---------
Co-authored-by: parity-processbot <>
* [Fix] Try-state feature-gated for BagsList
* fix comment
* fix try_state remote-tests
* feature-gate try-state remote test for bags-list
* remove try-state from a migration
* more SortedListProvider fixes
* more fixes
* more fixes to allow do_try_state usage in other crates
* do-try-state for fuzz
* more fixes
* more fixes
* remove feature-flag
* do-try-state
* fix review comments
* Update frame/bags-list/src/mock.rs
Co-authored-by: Anton <anton.kalyaev@gmail.com>
---------
Co-authored-by: parity-processbot <>
Co-authored-by: Anton <anton.kalyaev@gmail.com>
* pallet-scheduler: Ensure we request a preimage
The scheduler was not requesting a preimage. When a preimage is requested, a user can deposit it
without paying any fees.
* Review changes
* Introduce jemalloc-stats feature flag
* remove unneeded space
* Update node/overseer/src/lib.rs
Co-authored-by: Marcin S. <marcin@bytedude.com>
* Update Cargo.toml
Co-authored-by: Marcin S. <marcin@bytedude.com>
* revert making tikv-jemallocator depend on jemalloc-stats
* conditionally import memory_stats instead of using dead_code
* fix test via expllicit import
* Add jemalloc-stats feature to crates, propagate it from root
* Apply `jemalloc-stats` feature to prepare mem stats; small refactor
* effect changes recommended on PR
* Update node/overseer/src/metrics.rs
Co-authored-by: Marcin S. <marcin@bytedude.com>
* fix compile error on in pipeline for linux. missing import
* Update node/overseer/src/lib.rs
Co-authored-by: Bastian Köcher <git@kchr.de>
* revert to defining collect_memory_stats inline
---------
Co-authored-by: Marcin S. <marcin@bytedude.com>
Co-authored-by: Marcin S <marcin@realemail.net>
Co-authored-by: Bastian Köcher <git@kchr.de>
* referenda metadata
* todo comment
* remove TODO, update rustdocs
* referenda clear_metadata origin signed or root
* referenda metadata unit tests
* drop schema type for referenda metadata
* remove metadata type
* referenda metadata benches
* note different preimages
* metadata for democracy pallet
* metadata democracy pallet tests and benches
* fix cargo clippy
* update docs
* ".git/.scripts/bench-bot.sh" pallet dev pallet_democracy
* ".git/.scripts/bench-bot.sh" pallet dev pallet_referenda
* Update the doc frame/democracy/src/lib.rs
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
* Update the doc frame/democracy/src/lib.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com>
* reference instead clone for take
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com>
* error rename BadMetadata to PreimageNotExist
* clear metadata within internal_cancel_referendum fn
* remove redundant clone
* collapse metadata api into one set_metadata method
* fmt
* review fixes
* not request preimage on set_metadata
* rename events and update docs
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_democracy
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_referenda
* rename reset_metadata to transfer_metadata
---------
Co-authored-by: command-bot <>
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com>
* zombienet validators warp sync draft
Sketch of warp-sync test for validators.
Not tested.
Follow-up of: #12769
* yet another warp-sync scenario added
- all validators are synced from DB,
- some full nodes are synced from DB,
- full-node is warp-synced
* fixes
* fixes
* missing files
* path fixed
---------
Co-authored-by: parity-processbot <>
* Bump `wasmtime` to 4.0.0 (and a few other deps)
* Use `Error::msg` instead of `anyhow!`
* Bump `wasmtime` to 5.0.0
* Update `Cargo.lock`
* Add `wasmtime` feature to `sp-wasm-interface` dependency
* client/beefy: detect equivocated votes
* client/beefy: make sure to persist state after voting
* client/beefy: drop never-used aux-schema v2 migration
* impl review suggestion
---------
Signed-off-by: Adrian Catangiu <adrian@parity.io>