Skip to content
  1. Mar 21, 2023
  2. Mar 17, 2023
    • Davide Galassi's avatar
      [Companion #13615] Keystore overhaul (#6892) · 46c36e5a
      Davide Galassi authored
      * Remove not required async calls
      
      * Fixed missing renaming
      
      * make_keystore can be sync
      
      * More fixes
      
      * Trivial nitpicks
      
      * Cherry pick test fix from master
      
      * Fixes after master merge
      
      * update lockfile for {"substrate"}
      
      ---------
      
      Co-authored-by: parity-processbot <>
      46c36e5a
  3. Mar 15, 2023
  4. Mar 13, 2023
    • Vivek Pandya's avatar
      Remove use of Store trait (#6835) · 87db25ce
      Vivek Pandya authored
      * Remove use of Store trait from runtime directory
      
      * Remove Store trait usage from xcm directory
      
      * Run cargo fmt
      
      * update lockfile for {"substrate"}
      
      ---------
      
      Co-authored-by: parity-processbot <>
      87db25ce
  5. Mar 08, 2023
  6. Mar 03, 2023
  7. Feb 20, 2023
  8. Feb 16, 2023
    • Bastian Köcher's avatar
      Change `MaxMemorySize` to `MaxMemoryPages` (#6728) · 83eb8453
      Bastian Köcher authored
      * Change `MaxMemorySize` to `MaxMemoryPages`
      
      We should set the max memory for the executor in pages (64KiB) and not in bytes.
      The wasm memory is always a multiple of a page and we should use the
      same terminology.
      
      * FMT
      
      * Fix warning
      83eb8453
    • Marcin S.'s avatar
      Use a `BoundedVec` in `ValidationResult` (#6603) · d5a79914
      Marcin S. authored
      * Use a `BoundedVec` in `ValidationResult`
      
      > Use a `BoundedVec` for `upward_messages` and `horizontal_messages` in order to
      > limit the number of individual messages/memory allocations right at decoding
      > time. The reason for this is that the `ValidationResult` may contain a code
      > upgrade (including a full PVF binary), so the total size limit can't be set
      > too low and this limit will still allow several millions of upward messages,
      > which will (due to the memory allocator overhead) already have a
      > non-negligible memory footprint in decoded form.
      
      * List all fields when hashing so we don't miss one
      
      * Define types for  `BoundedVec`s of messages
      
      * Fix test compile errors
      
      * Depend on `bounded-collections` 0.1.4 (fixes allocation issue)
      
      * Fix compilation issue
      
      * Derive `Hash` instead of manual `impl`
      
      * Avoid use of unwrap
      d5a79914
  9. Feb 15, 2023
    • s0me0ne-unkn0wn's avatar
      Executor Environment parameterization (#6161) · dd0a5566
      s0me0ne-unkn0wn authored
      
      
      * Re-apply changes without Diener, rebase to the lastest master
      
      * Cache pruning
      
      * Bit-pack InstantiationStrategy
      
      * Move ExecutorParams version inside the structure itself
      
      * Rework runtime API and executor parameters storage
      
      * Pass executor parameters through backing subsystem
      
      * Update Cargo.lock
      
      * Introduce `ExecutorParams` to approval voting subsys
      
      * Introduce `ExecutorParams` to dispute coordinator
      
      * `cargo fmt`
      
      * Simplify requests from backing subsys
      
      * Fix tests
      
      * Replace manual config cloning with `.clone()`
      
      * Move constants to module
      
      * Parametrize executor performing PVF pre-check
      
      * Fix Malus
      
      * Fix test runtime
      
      * Introduce session executor params as a constant defined by session info
      pallet
      
      * Use Parity SCALE codec instead of hand-crafted binary encoding
      
      * Get rid of constants; Add docs
      
      * Get rid of constants
      
      * Minor typo
      
      * Fix Malus after rebase
      
      * `cargo fmt`
      
      * Use transparent SCALE encoding instead of explicit
      
      * Clean up
      
      * Get rid of relay parent to session index mapping
      
      * Join environment type and version in a single enum element
      
      * Use default execution parameters if running an old runtime
      
      * `unwrap()` -> `expect()`
      
      * Correct API version
      
      * Constants are back in town
      
      * Use constants for execution environment types
      
      * Artifact separation, first try
      
      * Get rid of explicit version
      
      * PVF execution queue worker separation
      
      * Worker handshake
      
      * Global renaming
      
      * Minor fixes resolving discussions
      
      * Two-stage requesting of executor params to make use of runtime API cache
      
      * Proper error handling in pvf-checker
      
      * Executor params storage bootstrapping
      
      * Propagate migration to v3 network runtimes
      
      * Fix storage versioning
      
      * Ensure `ExecutorParams` serialization determinism; Add comments
      
      * Rename constants to make things a bit more deterministic
      Get rid of stale code
      
      * Tidy up a structure of active PVFs
      
      * Minor formatting
      
      * Fix comment
      
      * Add try-runtime hooks
      
      * Add storage version write on upgrade
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Add pre- and post-upgrade assertions
      
      * Require to specify environment type; Remove redundant `impl`s
      
      * Add `ExecutorParamHash` creation from `H256`
      
      * Fix candidate validation subsys tests
      
      * Return splittable error from executor params request fn
      
      * Revert "Return splittable error from executor params request fn"
      
      This reverts commit a0b274177d8bb2f6e13c066741892ecd2e72a456.
      
      * Decompose approval voting metrics
      
      * Use more relevant errors
      
      * Minor formatting fix
      
      * Assert a valid environment type instead of checking
      
      * Fix `try-runtime` hooks
      
      * After-merge fixes
      
      * Add migration logs
      
      * Remove dead code
      
      * Fix tests
      
      * Fix tests
      
      * Back to the strongly typed implementation
      
      * Promote strong types to executor interface
      
      * Remove stale comment
      
      * Move executor params to `SessionInfo`: primitives and runtime
      
      * Move executor params to `SessionInfo`: node
      
      * Try to bump primitives and API version
      
      * Get rid of `MallocSizeOf`
      
      * Bump target API version to v4
      
      * Make use of session index already in place
      
      * Back to v3
      
      * Fix all the tests
      
      * Add migrations to all the runtimes
      
      * Make use of existing `SessionInfo` in approval voting subsys
      
      * Rename `TARGET` -> `LOG_TARGET`
      
      * Bump all the primitives to v3
      
      * Fix Rococo ParachainHost API version
      
      * Use `RollingSessionWindow` to acquire `ExecutorParams` in disputes
      
      * Fix nits from discussions; add comments
      
      * Re-evaluate queue logic
      
      * Rework job assignment in execution queue
      
      * Add documentation
      
      * Use `RuntimeInfo` to obtain `SessionInfo` (with blackjack and caching)
      
      * Couple `Pvf` with `ExecutorParams` wherever possible
      
      * Put members of `PvfWithExecutorParams` under `Arc` for cheap cloning
      
      * Fix comment
      
      * Fix CI tests
      
      * Fix clippy warnings
      
      * Address nits from discussions
      
      * Add a placeholder for raw data
      
      * Fix non exhaustive match
      
      * Remove redundant reexports and fix imports
      
      * Keep only necessary semantic features, as discussed
      
      * Rework `RuntimeInfo` to support mock implementation for tests
      
      * Remove unneeded bound
      
      * `cargo fmt`
      
      * Revert "Remove unneeded bound"
      
      This reverts commit 932463f26b00ce290e1e61848eb9328632ef8a61.
      
      * Fix PVF host tests
      
      * Fix PVF checker tests
      
      * Fix overseer declarations
      
      * Simplify tests
      
      * `MAX_KEEP_WAITING` timeout based on `BACKGING_EXECUTION_TIMEOUT`
      
      * Add a unit test for varying executor parameters
      
      * Minor fixes from discussions
      
      * Add prechecking max. memory parameter (see paritytech/srlabs_findings#110)
      
      * Fix and improve a test
      
      * Remove `ExecutionEnvironment` and `RawData`
      
      * New primitives versioning in parachain host API
      
      * `disputes()` implementation for Kusama and Polkadot
      
      * Move `ExecutorParams` from `vstaging` to stable primitives
      
      * Move disputes from `vstaging` to stable implementation
      
      * Fix `try-runtime`
      
      * Fixes after merge
      
      * Move `ExecutorParams` to the bottom of `SessionInfo`
      
      * Revert "Move executor params to `SessionInfo`: primitives and runtime"
      
      This reverts commit dfcfb85fefd1c5be6c8a8f72dc09fd1809cfa9ce.
      
      * Always use fresh activated live hash in pvf precheck
      (re-apply 34b09a4c20de17e7926ed942cd0d657d18f743fa)
      
      * Fixing tests (broken commit)
      
      * Fix candidate validation tests
      
      * Fix PVF host test
      
      * Minor fixes
      
      * Address discussions
      
      * Restore migration
      
      * Fix `use` to only include what is needed instead of `*`
      
      * Add comment to never touch `DEFAULT_CONFIG`
      
      * Update migration to set default `ExecutorParams` for `dispute_period`
      sessions back
      
      * Use `earliest_stored_session` instead of calculations
      
      * Nit
      
      * Add logs
      
      * Treat any runtime error as `NotSupported` again
      
      * Always return default executor params if not available
      
      * Revert "Always return default executor params if not available"
      
      This reverts commit b58ac4482ef444c67a9852d5776550d08e312f30.
      
      * Add paritytech/substrate#9997 workaround
      
      * `cargo fmt`
      
      * Remove migration (again!)
      
      * Bump executor params to API v4 (backport from #6698)
      
      ---------
      
      Co-authored-by: default avatarAndronik <[email protected]>
      dd0a5566
  10. Jan 11, 2023
  11. Dec 06, 2022
    • Marcin S.'s avatar
      Companion for paritytech/substrate#12795 (#6374) · 3f951cce
      Marcin S. authored
      
      
      * Begin removing `parity-util-mem`; remove `collect_memory_stats`
      
      * Update some dependencies that were using `parity-util-mem`
      
      * Remove `trie-memory-tracker` feature
      
      * Update Cargo.lock
      
      * Update `kvdb-shared-tests`
      
      * Add back jemalloc
      
      * Add missing license header
      
      * update lockfile for {"substrate"}
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarAndronik <[email protected]>
      3f951cce
  12. Nov 30, 2022
    • alexgparity's avatar
      Clippyfy (#6341) · 9ea14e66
      alexgparity authored
      
      
      * Add clippy config and remove .cargo from gitignore
      
      * first fixes
      
      * Clippyfied
      
      * Add clippy CI job
      
      * comment out rusty-cachier
      
      * minor
      
      * fix ci
      
      * remove DAG from check-dependent-project
      
      * add DAG to clippy
      
      Co-authored-by: default avataralvicsam <[email protected]>
      9ea14e66
  13. Oct 22, 2022
  14. Sep 27, 2022
  15. Sep 19, 2022
    • 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
  16. Jun 16, 2022
  17. May 06, 2022
    • Tsvetomir Dimitrov's avatar
      Disputes which are unknown for the Runtime are sent with priority by the... · 20e56a45
      Tsvetomir Dimitrov authored
      
      Disputes which are unknown for the Runtime are sent with priority by the Provisioner when preparing inherent data (#5336)
      
      * Implement MallocSizeOf for DisputeState
      
      * Implementation of `Disputes` Runtime API message
      
      * Modify on-chain dispute import
      
      * Add feature flag for the new functionality
      
      * Update node/core/provisioner/src/onchain_disputes.rs
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      
      * Add target to log messages
      
      * Update node/core/provisioner/src/lib.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Use `staging-client` feature to enable the client code using the staging runtime api
      
      * Remove TODO comment
      
      * Don't filter out DisputeState
      
      * Fix disputes selection logic
      
      * spelling
      
      * Tests
      
      * Rename `Disputes` message to `StagingDisputes`
      
      * Update node/core/provisioner/src/lib.rs
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      
      * Code review feedback
      
      - Logging
      - Separate error module
      - Add additional fields for GetOnchainDisputesErr
      - logging and impl MallocSizeOf
      - fix impl MallocSizeOf for DisputeState
      - fix tests
      
      * Update node/core/provisioner/src/error.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Update node/core/provisioner/src/lib.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Update node/core/provisioner/src/lib.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Apply suggestions from code review
      
      dummy metrics instance
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      
      * Revert "Apply suggestions from code review"
      
      This reverts commit 6dc518cbf77e037ff4760d315938a68c806e662e.
      
      * Code review feedback: #[cfg(test)] for new_dummy() in metrics
      
      * Code review feedback: break the disputes generation logic in separate functions
      
      * Code review feedback - align_eight
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      Co-authored-by: default avatarAndronik <[email protected]>
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      20e56a45
  18. Apr 12, 2022
    • Tsvetomir Dimitrov's avatar
      Add staging runtime api (#5048) · fd020c07
      Tsvetomir Dimitrov authored
      * Move `trait ParachainHost` to a separate version independent module
      
      `trait ParachainHost` is no longer part of a specific primitives
      version. Instead there is a single trait for stable and staging api
      versions. The trait contains stable AND staging methods. The latter are
      explicitly marked as unstable.
      
      * Fix `use` primitives
      
      `polkadot_primitives::v2` becomes `polkadot_primitives::runtime_api`
      
      * Staging API declaration and stubs
      
      Introduces the concept for 'staging functions' in runtime API. These
      functions are still in testing and they are meant to be used only
      within test networks (Westend).
      They coexist with the stable calls for technical reasons - maintaining
      different runtime APIs for different networks is hard to implement.
      
      Check the doc comments in source files for more details how the staging
      API should be used.
      
      * Add new staging method - get_session_disputes()
      
      Add `staging_get_session_disputes` to `ParachainHost` as the first
      method of the staging API.
      
      * Hide vstaging runtime api implementations  behind feature flag
      
      * Fix test runtime
      
      * fn staging_get_session_disputes() is renamed to fn staging_get_disputes()
      fd020c07
  19. Apr 06, 2022
  20. Apr 04, 2022
  21. Mar 10, 2022
  22. Mar 09, 2022
    • asynchronous rob's avatar
      Finish migration to v2 primitives (#5037) · 49f7e5cc
      asynchronous rob authored
      * remove v0 primitives from polkadot-primitives
      
      * first pass: remove v0
      
      * fix fallout in erasure-coding
      
      * remove v1 primitives, consolidate to v2
      
      * the great import update
      
      * update runtime_api_impl_v1 to v2 as well
      
      * guide: add `Version` request for runtime API
      
      * add version query to runtime API
      
      * reintroduce OldV1SessionInfo in a limited way
      49f7e5cc
  23. Feb 25, 2022
  24. Jan 20, 2022
    • Bernhard Schuster's avatar
      [runtime] follow up relay chain cleanups (#4657) · b7a05fd4
      Bernhard Schuster authored
      
      
      * fix miscalculation of remaining weight
      
      * rename a var
      
      * move out enforcing filtering by dropping inherents
      
      * prepare for dispute statement validity check being split off
      
      * refactor
      
      * refactor, only check disputes we actually want to include
      
      * more refactor and documentation
      
      * refactor and minimize inherent checks
      
      * chore: warnings
      
      * fix a few tests
      
      * fix dedup regression
      
      * fix
      
      * more asserts in tests
      
      * remove some asserts
      
      * chore: fmt
      
      * skip signatures checks, some more
      
      * undo unwatend changes
      
      * Update runtime/parachains/src/paras_inherent/mod.rs
      
      Co-authored-by: default avatarsandreim <[email protected]>
      
      * cleanups, checking CheckedDisputeStatments makes no sense
      
      * integrity, if called create_inherent_inner, it shall do the checks, and not rely on enter_inner
      
      * review comments
      
      * use from impl rather than into
      
      * remove outdated comment
      
      * adjust tests accordingly
      
      * assure no weight is lost
      
      * address review comments
      
      * remove unused import
      
      * split error into two and document
      
      * use assurance, O(n)
      
      * Revert "adjust tests accordingly"
      
      This reverts commit 3cc9a3c449f82db38cea22c48f4a21876603374b.
      
      * fix comment
      
      * fix sorting
      
      * comment
      
      Co-authored-by: default avatarsandreim <[email protected]>
      b7a05fd4
  25. Jan 11, 2022
  26. Jan 05, 2022
  27. Jan 01, 2022
  28. Dec 30, 2021
  29. Dec 28, 2021
  30. Dec 27, 2021
  31. Dec 21, 2021
  32. Dec 16, 2021
  33. Dec 14, 2021
  34. Dec 10, 2021
    • Bernhard Schuster's avatar
      remove Default from CandidateDescriptor (#4484) · 0f1a9fb1
      Bernhard Schuster authored
      
      
      * remove Default from CandidateHash
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * chore: fmt
      
      * remove backed candidate default
      
      * Partial migration away from CandidateReceipt::default
      
      * Remove more CandidateReceipt defaults
      
      * fmt
      
      * Mostly remove CommittedCandidateReceipt default usage
      
      * Remove CommittedCandidateReceipt
      
      * Remove more Defaults from polakdot primitives v1 + fmt
      
      * Remove more Default from polkadot primites v1
      
      * WIP trying to get overseer example + tests to compile
      
      * feat: add primitives test helpers
      
      * reduce deps of helper
      
      * update primitive helpers
      
      * make candidate validation compile
      
      * fixup cargo lock
      
      * make av-store compile
      
      * fixup disputes coordinator tests
      
      * test: fixup backing
      
      * test: fixup approval voting
      
      * fixup bitfield signing
      
      * test: fixup runtime-api
      
      * test: fixup availability dist
      
      * foxi[ pverseer test]
      
      * remove some Defaults, remove bounds from `dummy`
      
      All `fn dummy` in primitives need to be removed anyways.
      This aids in the transition.
      
      * it's a test helper, so always use std
      
      * test: fixup parachains runtime tests
      
      Excluding benches.
      
      * fix keyring
      
      * fix paras runtime properly, no more default
      
      * Remove fn dummy() usage from approval voting
      
      * Move TestCandidateBuilder out of av store to test helpers
      
      * Make candidate validation tests pass
      
      * Make most dispute coirdinator tests pass
      
      * Make provisioner tests work
      
      * Make availability recovery tests work with test helpers
      
      * Update polkadot-collator-protocol tests
      
      * Update statement distribution tests
      
      * Update polkadot overseer examples and tests
      
      * Derive default for validation code so we don't break unrelated things
      
      * Make para runtime test pass (no bench)
      
      * Some more work
      
      * chore: cargo fmt
      
      * cargo fix
      
      * avoid some Default::default
      
      * fixup dispute coordinator test
      
      * remove unused crate deps
      
      * remove Default::default wherever possible, replace by dummy_* for the most part
      
      * chore: cargo fmt
      
      * Remove some warnings
      
      * Remove CommittedCandidateReceipt dummy
      
      * Remove CandidateReceipt dummy
      
      * Remove CandidateDescriptor dummy
      
      * Remove commented out code
      
      * Fix para runtime tests
      
      * chore: nightly
      
      * Some updates to the builder
      
      * Dynamically adjust mock head data size
      
      * Make dispute cooridinator tests work
      
      * Fix test candidate_backing_reorders_votes work
      
      * +nightly-2021-10-29 fmt
      
      * Spelling and remove a default use in builder
      
      * Various clean up
      
      * More small updates
      
      * fmt
      
      * More small updates
      
      * Doc comments for test helpers
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras_inherent --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras_inherent.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras_inherent --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/runtime_parachains_paras_inherent.rs
      
      * Update lib.rs
      
      * review comments
      
      * fix warnings
      
      * fix test by using correct candidate receipt relay parent
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: default avataremostov <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      0f1a9fb1
  35. Dec 06, 2021
  36. Dec 03, 2021