Skip to content
  1. Mar 21, 2024
    • Alin Dima's avatar
      Elastic scaling: runtime dependency tracking and enactment (#3479) · 4842faf6
      Alin Dima authored
      
      
      Changes needed to implement the runtime part of elastic scaling:
      https://github.com/paritytech/polkadot-sdk/issues/3131,
      https://github.com/paritytech/polkadot-sdk/issues/3132,
      https://github.com/paritytech/polkadot-sdk/issues/3202
      
      Also fixes https://github.com/paritytech/polkadot-sdk/issues/3675
      
      TODOs:
      
      - [x] storage migration
      - [x] optimise process_candidates from O(N^2)
      - [x] drop backable candidates which form cycles
      - [x] fix unit tests
      - [x] add more unit tests
      - [x] check the runtime APIs which use the pending availability storage.
      We need to expose all of them, see
      https://github.com/paritytech/polkadot-sdk/issues/3576
      - [x] optimise the candidate selection. we're currently picking randomly
      until we satisfy the weight limit. we need to be smart about not
      breaking candidate chains while being fair to all paras -
      https://github.com/paritytech/polkadot-sdk/pull/3573
      
      Relies on the changes made in
      https://github.com/paritytech/polkadot-sdk/pull/3233 in terms of the
      inclusion policy and the candidate ordering
      
      ---------
      
      Signed-off-by: default avataralindima <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatareskimor <[email protected]>
      4842faf6
  2. Feb 29, 2024
    • Tsvetomir Dimitrov's avatar
      Remove `AssignmentProviderConfig` and use parameters from `HostConfiguration` instead (#3181) · a035dc9b
      Tsvetomir Dimitrov authored
      This PR removes `AssignmentProviderConfig` and uses the corresponding
      ondemand parameters from `HostConfiguration` instead. Additionally
      `scheduling_lookahead` and all coretime/ondemand related parameters are
      extracted in a separate struct - `SchedulerParams`.
      
      The most relevant commit from the PR is [this
      one](https://github.com/paritytech/polkadot-sdk/pull/3181/commits/830bc0f5).
      
      Fixes https://github.com/paritytech/polkadot-sdk/issues/2268
      
      ---------
      
      Co-authored-by: command-bot <>
      a035dc9b
  3. Feb 23, 2024
    • Andrei Sandu's avatar
      Runtime: allow backing multiple candidates of same parachain on different cores (#3231) · 2431001e
      Andrei Sandu authored
      
      
      Fixes https://github.com/paritytech/polkadot-sdk/issues/3144
      
      Builds on top of https://github.com/paritytech/polkadot-sdk/pull/3229
      
      ### Summary
      Some preparations for Runtime to support elastic scaling, guarded by
      config node features bit `FeatureIndex::ElasticScalingMVP`. This PR
      introduces a per-candidate `CoreIndex` but does it in a hacky way to
      avoid changing `CandidateCommitments`, `CandidateReceipts` primitives
      and networking protocols.
      
      #### Including `CoreIndex` in `BackedCandidate`
      If the `ElasticScalingMVP` feature bit is enabled then
      `BackedCandidate::validator_indices` is extended by 8 bits.
      The value stored in these bits represents the assumed core index for the
      candidate.
      
      It is temporary solution which works by creating a mapping from
      `BackedCandidate` to `CoreIndex` by assuming the `CoreIndex` can be
      discovered by checking in which validator group the validator that
      signed the statement is.
      
      TODO:
      - [x] fix tests
      - [x] add new tests
      - [x] Bump runtime API for Kusama, so we have that node features thing!
      -> https://github.com/polkadot-fellows/runtimes/pull/194
      
      ---------
      
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      Signed-off-by: default avataralindima <[email protected]>
      Co-authored-by: default avataralindima <[email protected]>
      2431001e
  4. Feb 14, 2024
  5. Dec 21, 2023
  6. Nov 02, 2023
    • Oliver Tale-Yazdi's avatar
      Use `Message Queue` as DMP and XCMP dispatch queue (#1246) · e1c033eb
      Oliver Tale-Yazdi authored
      
      
      (imported from https://github.com/paritytech/cumulus/pull/2157)
      
      ## Changes
      
      This MR refactores the XCMP, Parachains System and DMP pallets to use
      the [MessageQueue](https://github.com/paritytech/substrate/pull/12485)
      for delayed execution of incoming messages. The DMP pallet is entirely
      replaced by the MQ and thereby removed. This allows for PoV-bounded
      execution and resolves a number of issues that stem from the current
      work-around.
      
      All System Parachains adopt this change.  
      The most important changes are in `primitives/core/src/lib.rs`,
      `parachains/common/src/process_xcm_message.rs`,
      `pallets/parachain-system/src/lib.rs`, `pallets/xcmp-queue/src/lib.rs`
      and the runtime configs.
      
      ### DMP Queue Pallet
      
      The pallet got removed and its logic refactored into parachain-system.
      Overweight message management can be done directly through the MQ
      pallet.
      
      Final undeployment migrations are provided by
      `cumulus_pallet_dmp_queue::UndeployDmpQueue` and `DeleteDmpQueue` that
      can be configured with an aux config trait like:
      
      ```rust
      parameter_types! {
      	pub const DmpQueuePalletName: &'static str = \"DmpQueue\" < CHANGE ME;
      	pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent;
      }
      
      impl cumulus_pallet_dmp_queue::MigrationConfig for Runtime {
      	type PalletName = DmpQueuePalletName;
      	type DmpHandler = frame_support::traits::EnqueueWithOrigin<MessageQueue, RelayOrigin>;
      	type DbWeight = <Runtime as frame_system::Config>::DbWeight;
      }
      
      // And adding them to your Migrations tuple:
      pub type Migrations = (
      	...
      	cumulus_pallet_dmp_queue::UndeployDmpQueue<Runtime>,
      	cumulus_pallet_dmp_queue::DeleteDmpQueue<Runtime>,
      );
      ```
      
      ### XCMP Queue pallet
      
      Removed all dispatch queue functionality. Incoming XCMP messages are now
      either: Immediately handled if they are Signals, enqueued into the MQ
      pallet otherwise.
      
      New config items for the XCMP queue pallet:
      ```rust
      /// The actual queue implementation that retains the messages for later processing.
      type XcmpQueue: EnqueueMessage<ParaId>;
      
      /// How a XCM over HRMP from a sibling parachain should be processed.
      type XcmpProcessor: ProcessMessage<Origin = ParaId>;
      
      /// The maximal number of suspended XCMP channels at the same time.
      #[pallet::constant]
      type MaxInboundSuspended: Get<u32>;
      ```
      
      How to configure those:
      
      ```rust
      // Use the MessageQueue pallet to store messages for later processing. The `TransformOrigin` is needed since
      // the MQ pallet itself operators on `AggregateMessageOrigin` but we want to enqueue `ParaId`s.
      type XcmpQueue = TransformOrigin<MessageQueue, AggregateMessageOrigin, ParaId, ParaIdToSibling>;
      
      // Process XCMP messages from siblings. This is type-safe to only accept `ParaId`s. They will be dispatched
      // with origin `Junction::Sibling(…)`.
      type XcmpProcessor = ProcessFromSibling<
      	ProcessXcmMessage<
      		AggregateMessageOrigin,
      		xcm_executor::XcmExecutor<xcm_config::XcmConfig>,
      		RuntimeCall,
      	>,
      >;
      
      // Not really important what to choose here. Just something larger than the maximal number of channels.
      type MaxInboundSuspended = sp_core::ConstU32<1_000>;
      ```
      
      The `InboundXcmpStatus` storage item was replaced by
      `InboundXcmpSuspended` since it now only tracks inbound queue suspension
      and no message indices anymore.
      
      Now only sends the most recent channel `Signals`, as all prio ones are
      out-dated anyway.
      
      ### Parachain System pallet
      
      For `DMP` messages instead of forwarding them to the `DMP` pallet, it
      now pushes them to the configured `DmpQueue`. The message processing
      which was triggered in `set_validation_data` is now being done by the MQ
      pallet `on_initialize`.
      
      XCMP messages are still handed off to the `XcmpMessageHandler`
      (XCMP-Queue pallet) - no change here.
      
      New config items for the parachain system pallet:
      ```rust
      /// Queues inbound downward messages for delayed processing. 
      ///
      /// Analogous to the `XcmpQueue` of the XCMP queue pallet.
      type DmpQueue: EnqueueMessage<AggregateMessageOrigin>;
      ``` 
      
      How to configure:
      ```rust
      /// Use the MQ pallet to store DMP messages for delayed processing.
      type DmpQueue = MessageQueue;
      ``` 
      
      ## Message Flow
      
      The flow of messages on the parachain side. Messages come in from the
      left via the `Validation Data` and finally end up at the `Xcm Executor`
      on the right.
      
      ![Untitled
      (1)](https://github.com/paritytech/cumulus/assets/10380170/6cf8b377-88c9-4aed-96df-baace266e04d)
      
      ## Further changes
      
      - Bumped the default suspension, drop and resume thresholds in
      `QueueConfigData::default()`.
      - `XcmpQueue::{suspend_xcm_execution, resume_xcm_execution}` errors when
      they would be a noop.
      - Properly validate the `QueueConfigData` before setting it.
      - Marked weight files as auto-generated so they wont auto-expand in the
      MR files view.
      - Move the `hypothetical` asserts to `frame_support` under the name
      `experimental_hypothetically`
      
      Questions:
      - [ ] What about the ugly `#[cfg(feature = \"runtime-benchmarks\")]` in
      the runtimes? Not sure how to best fix. Just having them like this makes
      tests fail that rely on the real message processor when the feature is
      enabled.
      - [ ] Need a good weight for `MessageQueueServiceWeight`. The scheduler
      already takes 80% so I put it to 10% but that is quite low.
      
      TODO:
      - [x] Remove c&p code after
      https://github.com/paritytech/polkadot/pull/6271
      - [x] Use `HandleMessage` once it is public in Substrate
      - [x] fix `runtime-benchmarks` feature
      https://github.com/paritytech/polkadot/pull/6966
      - [x] Benchmarks
      - [x] Tests
      - [ ] Migrate `InboundXcmpStatus` to `InboundXcmpSuspended`
      - [x] Possibly cleanup Migrations (DMP+XCMP)
      - [x] optional: create `TransformProcessMessageOrigin` in Substrate and
      replace `ProcessFromSibling`
      - [ ] Rerun weights on ref HW
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: command-bot <>
      e1c033eb
  7. Oct 15, 2023
    • Daan van der Plas's avatar
      fix: GoAhead signal only set when runtime upgrade is enacted from parachain side (#1176) · 91c4360c
      Daan van der Plas authored
      The runtime code of a parachain can be replaced on the relay-chain via:
      
      [cumulus]:
      [enact_authorized_upgrade](https://github.com/paritytech/polkadot-sdk/blob/1a38d6d6/cumulus/pallets/parachain-system/src/lib.rs#L661);
      this is used for a runtime upgrade when a parachain is not bricked.
      
      [polkadot] (these are used when a parachain is bricked):
      -
      [force_set_current_code](https://github.com/paritytech/polkadot-sdk/blob/1a38d6d6/polkadot/runtime/parachains/src/paras/mod.rs#L823):
      immediately changes the runtime code of a given para without a pvf check
      (root).
      -
      [force_schedule_code_upgrade](https://github.com/paritytech/polkadot-sdk/blob/1a38d6d6/polkadot/runtime/parachains/src/paras/mod.rs#L864):
      schedules a change to the runtime code of a given para including a pvf
      check of the new code (root).
      -
      [schedule_code_upgrade](https://github.com/paritytech/polkadot-sdk/blob/1a38d6d6/polkadot/runtime/common/src/paras_registrar.rs#L395):
      schedules a change to the runtime code of a given para including a pvf
      check of the new code. Besides root, the parachain or parachain manager
      can call this extrinsic given that the parachain is unlocked.
      
      Polkadot signals a parachain to be ready for a runtime upgrade through
      the
      [GoAhead](https://github.com/paritytech/polkadot-sdk/blob/e4949344
      
      /polkadot/primitives/src/v5/mod.rs#L1229)
      signal.
      
      When in cumulus `enact_authorized_upgrade` is executed, the same
      underlying helper function of `force_schedule_code_upgrade` &
      `schedule_code_upgrade`:
      [schedule_code_upgrade](https://github.com/paritytech/polkadot/blob/09b61286da11921a3dda0a8e4015ceb9ef9cffca/runtime/parachains/src/paras/mod.rs#L1778),
      is called on the relay-chain, which sets the `GoAhead` signal (if the
      pvf is accepted).
      
      If Cumulus receives the `GoAhead` signal from polkadot without having
      the `PendingValidationCode` ready, it will panic
      ([ref](https://github.com/paritytech/polkadot/pull/7412)). For
      `enact_authorized_upgrade` we know for sure the `PendingValidationCode`
      is set. On the contrary, for `force_schedule_code_upgrade` &
      `schedule_code_upgrade` this is not the case.
      
      This PR includes a flag such that the `GoAhead` signal will only be set
      when a runtime upgrade is enacted by the parachain
      (`enact_authorized_upgrade`).
      
      additional info: https://github.com/paritytech/polkadot/pull/7412
      
      Closes #641
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      91c4360c
  8. Sep 06, 2023
  9. Aug 31, 2023
    • Alin Dima's avatar
      backing: move the min votes threshold to the runtime (#1200) · d6af073a
      Alin Dima authored
      
      
      * move min backing votes const to runtime
      
      also cache it per-session in the backing subsystem
      
      Signed-off-by: default avataralindima <[email protected]>
      
      * add runtime migration
      
      * introduce api versioning for min_backing votes
      
      also enable it for rococo/versi for testing
      
      * also add min_backing_votes runtime calls to statement-distribution
      
      this dependency has been recently introduced by async backing
      
      * remove explicit version runtime API call
      
      this is not needed, as the RuntimeAPISubsystem already takes care
      of versioning and will return NotSupported if the version is not
      right.
      
      * address review comments
      
      - parametrise backing votes runtime API with session index
      - remove RuntimeInfo usage in backing subsystem, as runtime API
      caches the min backing votes by session index anyway.
      - move the logic for adjusting the configured needed backing votes with the size of the backing group
      to a primitives helper.
      - move the legacy min backing votes value to a primitives helper.
      - mark JoinMultiple error as fatal, since the Canceled (non-multiple) counterpart is also fatal.
      - make backing subsystem handle fatal errors for new leaves update.
      - add HostConfiguration consistency check for zeroed backing votes threshold
      - add cumulus accompanying change
      
      * fix cumulus test compilation
      
      * fix tests
      
      * more small fixes
      
      * fix merge
      
      * bump runtime api version for westend and rollback version for rococo
      
      ---------
      
      Signed-off-by: default avataralindima <[email protected]>
      Co-authored-by: default avatarJavier Viola <[email protected]>
      d6af073a
  10. Aug 30, 2023
  11. Aug 29, 2023
  12. Aug 18, 2023
    • asynchronous rob's avatar
      Asynchronous Backing MegaPR (#5022) · 5174b9d2
      asynchronous rob authored
      
      
      * inclusion emulator logic for asynchronous backing (#4790)
      
      * initial stab at candidate_context
      
      * fmt
      
      * docs & more TODOs
      
      * some cleanups
      
      * reframe as inclusion_emulator
      
      * documentations yes
      
      * update types
      
      * add constraint modifications
      
      * watermark
      
      * produce modifications
      
      * v2 primitives: re-export all v1 for consistency
      
      * vstaging primitives
      
      * emulator constraints: handle code upgrades
      
      * produce outbound HRMP modifications
      
      * stack.
      
      * method for applying modifications
      
      * method just for sanity-checking modifications
      
      * fragments produce modifications, not prospectives
      
      * make linear
      
      * add some TODOs
      
      * remove stacking; handle code upgrades
      
      * take `fragment` private
      
      * reintroduce stacking.
      
      * fragment constructor
      
      * add TODO
      
      * allow validating fragments against future constraints
      
      * docs
      
      * relay-parent number and min code size checks
      
      * check code upgrade restriction
      
      * check max hrmp per candidate
      
      * fmt
      
      * remove GoAhead logic because it wasn't helpful
      
      * docs on code upgrade failure
      
      * test stacking
      
      * test modifications against constraints
      
      * fmt
      
      * test fragments
      
      * descending or duplicate test
      
      * fmt
      
      * remove unused imports in vstaging
      
      * wrong primitives
      
      * spellcheck
      
      * Runtime changes for Asynchronous Backing (#4786)
      
      * inclusion: utility for allowed relay-parents
      
      * inclusion: use prev number instead of prev hash
      
      * track most recent context of paras
      
      * inclusion: accept previous relay-parents
      
      * update dmp  advancement rule for async backing
      
      * fmt
      
      * add a comment about validation outputs
      
      * clean up a couple of TODOs
      
      * weights
      
      * fix weights
      
      * fmt
      
      * Resolve dmp todo
      
      * Restore inclusion tests
      
      * Restore paras_inherent tests
      
      * MostRecentContext test
      
      * Benchmark for new paras dispatchable
      
      * Prepare check_validation_outputs for upgrade
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/rococo/src/weights/runtime_parachains_paras.rs
      
      * Implementers guide changes
      
      * More tests for allowed relay parents
      
      * Add a github issue link
      
      * Compute group index based on relay parent
      
      * Storage migration
      
      * Move allowed parents tracker to shared
      
      * Compile error
      
      * Get group assigned to core at the next block
      
      * Test group assignment
      
      * fmt
      
      * Error instead of panic
      
      * Update guide
      
      * Extend doc-comment
      
      * Update runtime/parachains/src/shared.rs
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * Prospective Parachains Subsystem (#4913)
      
      * docs and skeleton
      
      * subsystem skeleton
      
      * main loop
      
      * fragment tree basics & fmt
      
      * begin fragment trees & view
      
      * flesh out more of view update logic
      
      * further flesh out update logic
      
      * some refcount functions for fragment trees
      
      * add fatal/non-fatal errors
      
      * use non-fatal results
      
      * clear up some TODOs
      
      * ideal format for scheduling info
      
      * add a bunch of TODOs
      
      * some more fluff
      
      * extract fragment graph to submodule
      
      * begin fragment graph API
      
      * trees, not graphs
      
      * improve docs
      
      * scope and constructor for trees
      
      * add some test TODOs
      
      * limit max ancestors and store constraints
      
      * constructor
      
      * constraints: fix bug in HRMP watermarks
      
      * fragment tree population logic
      
      * set::retain
      
      * extract population logic
      
      * implement add_and_populate
      
      * fmt
      
      * add some TODOs in tests
      
      * implement child-selection
      
      * strip out old stuff based on wrong assumptions
      
      * use fatality
      
      * implement pruning
      
      * remove unused ancestor constraints
      
      * fragment tree instantiation
      
      * remove outdated comment
      
      * add message/request types and skeleton for handling
      
      * fmt
      
      * implement handle_candidate_seconded
      
      * candidate storage: handle backed
      
      * implement handle_candidate_backed
      
      * implement answer_get_backable_candidate
      
      * remove async where not needed
      
      * implement fetch_ancestry
      
      * add logic for run_iteration
      
      * add some docs
      
      * remove global allow(unused), fix warnings
      
      * make spellcheck happy (despite English)
      
      * fmt
      
      * bump Cargo.lock
      
      * replace tracing with gum
      
      * introduce PopulateFrom trait
      
      * implement GetHypotheticalDepths
      
      * revise docs slightly
      
      * first fragment tree scope test
      
      * more scope tests
      
      * test add_candidate
      
      * fmt
      
      * test retain
      
      * refactor test code
      
      * test populate is recursive
      
      * test contiguity of depth 0 is maintained
      
      * add_and_populate tests
      
      * cycle tests
      
      * remove PopulateFrom trait
      
      * fmt
      
      * test hypothetical depths (non-recursive)
      
      * have CandidateSeconded return membership
      
      * tree membership requests
      
      * Add a ProspectiveParachainsSubsystem struct
      
      * add a staging API for base constraints
      
      * add a `From` impl
      
      * add runtime API for staging_validity_constraints
      
      * implement fetch_base_constraints
      
      * implement `fetch_upcoming_paras`
      
      * remove reconstruction of candidate receipt; no obvious usecase
      
      * fmt
      
      * export message to broader module
      
      * remove last TODO
      
      * correctly export
      
      * fix compilation and add GetMinimumRelayParent request
      
      * make provisioner into a real subsystem with proper mesage bounds
      
      * fmt
      
      * fix ChannelsOut in overseer test
      
      * fix overseer tests
      
      * fix again
      
      * fmt
      
      * Integrate prospective parachains subsystem into backing: Part 1 (#5557)
      
      * BEGIN ASYNC candidate-backing CHANGES
      
      * rename & document modes
      
      * answer prospective validation data requests
      
      * GetMinimumRelayParents request is now plural
      
      * implement an implicit view utility for backing subsystems
      
      * implicit-view: get allowed relay parents
      
      * refactorings and improvements to implicit view
      
      * add some TODOs for tests
      
      * split implicit view updates into 2 functions
      
      * backing: define State to prepare for functional refactor
      
      * add some docs
      
      * backing: implement bones of new leaf activation logic
      
      * backing: create per-relay-parent-states
      
      * use new handle_active_leaves_update
      
      * begin extracting logic from CandidateBackingJob
      
      * mostly extract statement import from job logic
      
      * handle statement imports outside of job logic
      
      * do some TODO planning for prospective parachains integration
      
      * finish rewriting backing subsystem in functional style
      
      * add prospective parachains mode to relay parent entries
      
      * fmt
      
      * add a RejectedByProspectiveParachains error
      
      * notify prospective parachains of seconded and backed candidates
      
      * always validate candidates exhaustively in backing.
      
      * return persisted_validation_data from validation
      
      * handle rejections by prospective parachains
      
      * implement seconding sanity check
      
      * invoke validate_and_second
      
      * Alter statement table to allow multiple seconded messages per validator
      
      * refactor backing to have statements carry PVD
      
      * clean up all warnings
      
      * Add tests for implicit view
      
      * Improve doc comments
      
      * Prospective parachains mode based on Runtime API version
      
      * Add a TODO
      
      * Rework seconding_sanity_check
      
      * Iterate over responses
      
      * Update backing tests
      
      * collator-protocol: load PVD from runtime
      
      * Fix validator side tests
      
      * Update statement-distribution to fetch PVD
      
      * Fix statement-distribution tests
      
      * Backing tests with prospective paras #1
      
      * fix per_relay_parent pruning in backing
      
      * Test multiple leaves
      
      * Test seconding sanity check
      
      * Import statement order
      
      Before creating an entry in `PerCandidateState` map
      wait for the approval from the prospective parachains
      
      * Add a test for correct state updates
      
      * Second multiple candidates per relay parent test
      
      * Add backing tests with prospective paras
      
      * Second more than one test without prospective paras
      
      * Add a test for prospective para blocks
      
      * Update malus
      
      * typos
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * Track occupied depth in backing per parachain (#5778)
      
      * provisioner: async backing changes (#5711)
      
      * Provisioner changes for async backing
      
      * Select candidates based on prospective paras mode
      
      * Revert naming
      
      * Update tests
      
      * Update TODO comment
      
      * review
      
      * provisioner: async backing changes (#5711)
      
      * Provisioner changes for async backing
      
      * Select candidates based on prospective paras mode
      
      * Revert naming
      
      * Update tests
      
      * Update TODO comment
      
      * review
      
      * fmt
      
      * Network bridge changes for asynchronous backing + update subsystems to handle versioned packets (#5991)
      
      * BEGIN STATEMENT DISTRIBUTION WORK
      
      create a vstaging network protocol which is the same as v1
      
      * mostly make network bridge amenable to vstaging
      
      * network-bridge: fully adapt to vstaging
      
      * add some TODOs for tests
      
      * fix fallout in bitfield-distribution
      
      * bitfield distribution tests + TODOs
      
      * fix fallout in gossip-support
      
      * collator-protocol: fix message fallout
      
      * collator-protocol: load PVD from runtime
      
      * add TODO for vstaging tests
      
      * make things compile
      
      * set used network protocol version using a feature
      
      * fmt
      
      * get approval-distribution building
      
      * fix approval-distribution tests
      
      * spellcheck
      
      * nits
      
      * approval distribution net protocol test
      
      * bitfield distribution net protocol test
      
      * Revert "collator-protocol: fix message fallout"
      
      This reverts commit 07cc887303e16c6b3843ecb25cdc7cc2080e2ed1.
      
      * Network bridge tests
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * remove max_pov_size requirement from prospective pvd request (#6014)
      
      * remove max_pov_size requirement from prospective pvd request
      
      * fmt
      
      * Extract legacy statement distribution to its own module (#6026)
      
      * add compatibility type to v2 statement distribution message
      
      * warning cleanup
      
      * handle compatibility layer for v2
      
      * clean up an unimplemented!() block
      
      * circulate statements based on version
      
      * extract legacy v1 code into separate module
      
      * remove unimplemented
      
      * clean up naming of from_requester/responder
      
      * remove TODOs
      
      * have backing share seconded statements with PVD
      
      * fmt
      
      * fix warning
      
      * Quick fix unused warning for not yet implemented/used staging messages.
      
      * Fix network bridge test
      
      * Fix wrong merge.
      
      We now have 23 subsystems (network bridge split + prospective
      parachains)
      
      Co-authored-by: default avatarRobert Klotzner <[email protected]>
      
      * Version 3 is already live.
      
      * Fix tests (#6055)
      
      * Fix backing tests
      
      * Fix warnings.
      
      * fmt
      
      * collator-protocol: asynchronous backing changes (#5740)
      
      * Draft collator side changes
      
      * Start working on collations management
      
      * Handle peer's view change
      
      * Versioning on advertising
      
      * Versioned collation fetching request
      
      * Handle versioned messages
      
      * Improve docs for collation requests
      
      * Add spans
      
      * Add request receiver to overseer
      
      * Fix collator side tests
      
      * Extract relay parent mode to lib
      
      * Validator side draft
      
      * Add more checks for advertisement
      
      * Request pvd based on async backing mode
      
      * review
      
      * Validator side improvements
      
      * Make old tests green
      
      * More fixes
      
      * Collator side tests draft
      
      * Send collation test
      
      * fmt
      
      * Collator side network protocol versioning
      
      * cleanup
      
      * merge artifacts
      
      * Validator side net protocol versioning
      
      * Remove fragment tree membership request
      
      * Resolve todo
      
      * Collator side core state test
      
      * Improve net protocol compatibility
      
      * Validator side tests
      
      * more improvements
      
      * style fixes
      
      * downgrade log
      
      * Track implicit assignments
      
      * Limit the number of seconded candidates per para
      
      * Add a sanity check
      
      * Handle fetched candidate
      
      * fix tests
      
      * Retry fetch
      
      * Guard against dequeueing while already fetching
      
      * Reintegrate connection management
      
      * Timeout on advertisements
      
      * fmt
      
      * spellcheck
      
      * update tests after merge
      
      * validator assignment fixes for backing and collator protocol (#6158)
      
      * Rename depth->ancestry len in tests
      
      * Refactor group assignments
      
      * Remove implicit assignments
      
      * backing: consider occupied core assignments
      
      * Track a single para on validator side
      
      * Refactor prospective parachains mode request (#6179)
      
      * Extract prospective parachains mode into util
      
      * Skip activations depending on the mode
      
      * backing: don't send backed candidate to provisioner (#6185)
      
      * backing: introduce `CanSecond` request for advertisements filtering (#6225)
      
      * Drop BoundToRelayParent
      
      * draft changes
      
      * fix backing tests
      
      * Fix genesis ancestry
      
      * Fix validator side tests
      
      * more tests
      
      * cargo generate-lockfile
      
      * Implement `StagingValidityConstraints` Runtime API method (#6258)
      
      * Implement StagingValidityConstraints
      
      * spellcheck
      
      * fix ump params
      
      * Update hrmp comment
      
      * Introduce ump per candidate limit
      
      * hypothetical earliest block
      
      * refactor primitives usage
      
      * hypothetical earliest block number test
      
      * fix build
      
      * Prepare the Runtime for asynchronous backing upgrade (#6287)
      
      * Introduce async backing params to runtime config
      
      * fix cumulus config
      
      * use config
      
      * finish runtimes
      
      * Introduce new staging API
      
      * Update collator protocol
      
      * Update provisioner
      
      * Update prospective parachains
      
      * Update backing
      
      * Move async backing params lower in the config
      
      * make naming consistent
      
      * misc
      
      * Use real prospective parachains subsystem (#6407)
      
      * Backport `HypotheticalFrontier` into the feature branch (#6605)
      
      * implement more general HypotheticalFrontier
      
      * fmt
      
      * drop unneeded request
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      
      * Resolve todo about legacy leaf activation (#6447)
      
      * fix bug/warning in handling membership answers
      
      * Remove `HypotheticalDepthRequest` in favor of `HypotheticalFrontierRequest` (#6521)
      
      * Remove `HypotheticalDepthRequest` for `HypotheticalFrontierRequest`
      
      * Update tests
      
      * Fix (removed wrong docstring)
      
      * Fix can_second request
      
      * Patch some dead_code errors
      
      ---------
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * Async Backing: Send Statement Distribution "Backed" messages (#6634)
      
      * Backing: Send Statement Distribution "Backed" messages
      
      Closes #6590.
      
      **TODO:**
      
      - [ ] Adjust tests
      
      * Fix compile errors
      
      * (Mostly) fix tests
      
      * Fix comment
      
      * Fix test and compile error
      
      * Test that `StatementDistributionMessage::Backed` is sent
      
      * Fix compile error
      
      * Fix some clippy errors
      
      * Add prospective parachains subsystem tests (#6454)
      
      * Add prospective parachains subsystem test
      
      * Add `should_do_no_work_if_async_backing_disabled_for_leaf` test
      
      * Implement `activate_leaf` helper, up to getting ancestry
      
      * Finish implementing `activate_leaf`
      
      * Small refactor in `activate_leaf`
      
      * Get `CandidateSeconded` working
      
      * Finish `send_candidate_and_check_if_found` test
      
      * Refactor; send more leaves & candidates
      
      * Refactor test
      
      * Implement `check_candidate_parent_leaving_view` test
      
      * Start work on `check_candidate_on_multiple_forks` test
      
      * Don’t associate specific parachains with leaf
      
      * Finish `correctly_updates_leaves` test
      
      * Fix cycle due to reused head data
      
      * Fix `check_backable_query` test
      
      * Fix `check_candidate_on_multiple_forks` test
      
      * Add `check_depth_and_pvd_queries` test
      
      * Address review comments
      
      * Remove TODO
      
      * add a new index for output head data to candidate storage
      
      * Resolve test TODOs
      
      * Fix compile errors
      
      * test candidate storage pruning, make sure new index is cleaned up
      
      ---------
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      
      * Node-side metrics for asynchronous backing (#6549)
      
      * Add metrics for `prune_view_candidate_storage`
      
      * Add metrics for `request_unblocked_collations`
      
      * Fix docstring
      
      * Couple fixes from review comments
      
      * Fix `check_depth_query` test
      
      * inclusion-emulator: mirror advancement rule check (#6361)
      
      * inclusion-emulator: mirror advancement rule check
      
      * fix build
      
      * prospective-parachains: introduce `backed_in_path_only` flag for advertisements (#6649)
      
      * Introduce `backed_in_path_only` flag for depth request
      
      * fmt
      
      * update doc comment
      
      * fmt
      
      * Add async-backing zombienet tests (#6314)
      
      * Async backing: impl guide for statement distribution (#6738)
      
      Co-authored-by: default avatarBradley Olson <[email protected]>
      Co-authored-by: default avataralexgparity <[email protected]>
      
      * Asynchronous backing statement distribution: Take III (#5999)
      
      * add notification types for v2 statement-distribution
      
      * improve protocol docs
      
      * add empty vstaging module
      
      * fmt
      
      * add backed candidate packet request types
      
      * start putting down structure of new logic
      
      * handle activated leaf
      
      * some sanity-checking on outbound statements
      
      * fmt
      
      * update vstaging share to use statements with PVD
      
      * tiny refactor, candidate_hash location
      
      * import local statements
      
      * refactor statement import
      
      * first stab at broadcast logic
      
      * fmt
      
      * fill out some TODOs
      
      * start on handling incoming
      
      * split off session info into separate map
      
      * start in on a knowledge tracker
      
      * address some grumbles
      
      * format
      
      * missed comment
      
      * some docs for direct
      
      * add note on slashing
      
      * amend
      
      * simplify 'direct' code
      
      * finish up the 'direct' logic
      
      * add a bunch of tests for the direct-in-group logic
      
      * rename 'direct' to 'cluster', begin a candidate_entry module
      
      * distill candidate_entry
      
      * start in on a statement-store module
      
      * some utilities for the statement store
      
      * rewrite 'send_statement_direct' using new tools
      
      * filter sending logic on peers which have the relay-parent in their view.
      
      * some more logic for handling incoming statements
      
      * req/res: BackedCandidatePacket -> AttestedCandidate + tweaks
      
      * add a `validated_in_group` bitfield to BackedCandidateInventory
      
      * BackedCandidateInventory -> Manifest
      
      * start in on requester module
      
      * add outgoing request for attested candidate
      
      * add a priority mechanism for requester
      
      * some request dispatch logic
      
      * add seconded mask to tagged-request
      
      * amend manifest to hold group index
      
      * handle errors and set up scaffold for response validation
      
      * validate attested candidate responses
      
      * requester -> requests
      
      * add some utilities for manipulating requests
      
      * begin integrating requester
      
      * start grid module
      
      * tiny
      
      * refactor grid topology to expose more info to subsystems
      
      * fix grid_topology test
      
      * fix overseer test
      
      * implement topology group-based view construction logic
      
      * fmt
      
      * flesh out grid slightly more
      
      * add indexed groups utility
      
      * integrate Groups into per-session info
      
      * refactor statement store to borrow Groups
      
      * implement manifest knowledge utility
      
      * add a test for topology setup
      
      * don't send to group members
      
      * test for conflicting manifests
      
      * manifest knowledge tests
      
      * fmt
      
      * rename field
      
      * garbage collection for grid tracker
      
      * routines for finding correct/incorrect advertisers
      
      * add manifest import logic
      
      * tweak naming
      
      * more tests for manifest import
      
      * add comment
      
      * rework candidates into a view-wide tracker
      
      * fmt
      
      * start writing boilerplate for grid sending
      
      * fmt
      
      * some more group boilerplate
      
      * refactor handling of topology and authority IDs
      
      * fmt
      
      * send statements directly to grid peers where possible
      
      * send to cluster only if statement belongs to cluster
      
      * improve handling of cluster statements
      
      * handle incoming statements along the grid
      
      * API for introduction of candidates into the tree
      
      * backing: use new prospective parachains API
      
      * fmt prospective parachains changes
      
      * fmt statement-dist
      
      * fix condition
      
      * get ready for tracking importable candidates
      
      * prospective parachains: add Cow logic
      
      * incomplete and complete hypothetical candidates
      
      * remove keep_if_unneeded
      
      * fmt
      
      * implement more general HypotheticalFrontier
      
      * fmt, cleanup
      
      * add a by_parent_hash index to candidate tracker
      
      * more framework for future code
      
      * utilities for getting all hypothetical candidates for frontier
      
      * track origin in statement store
      
      * fmt
      
      * requests should return peer
      
      * apply post-confirmation reckoning
      
      * flesh out import/announce/circulate logic on new statements
      
      * adjust
      
      * adjust TODO comment
      
      * fix  backing tests
      
      * update statement-distribution to use new indexedvec
      
      * fmt
      
      * query hypothetical candidates
      
      * implement `note_importable_under`
      
      * extract common utility of fragment tree updates
      
      * add a helper function for getting statements unknown by backing
      
      * import fresh statements to backing
      
      * send announcements and acknowledgements over grid
      
      * provide freshly importable statements
      
      also avoid tracking backed candidates in statement distribution
      
      * do not issue requests on newly importable candidates
      
      * add TODO for later when confirming candidate
      
      * write a routine for handling backed candidate notifications
      
      * simplify grid substantially
      
      * add some test TODOs
      
      * handle confirmed candidates & grid announcements
      
      * finish implementing manifest handling, including follow up statements
      
      * send follow-up statements when acknowledging freshly backed
      
      * fmt
      
      * handle incoming acknowledgements
      
      * a little DRYing
      
      * wire up network messages to handlers
      
      * fmt
      
      * some skeleton code for peer view update handling
      
      * more peer view skeleton stuff
      
      * Fix async backing statement distribution tests (#6621)
      
      * Fix compile errors in tests
      
      * Cargo fmt
      
      * Resolve some todos in async backing statement-distribution branch (#6482)
      
      * Implement `remove_by_relay_parent`
      
      * Extract `minimum_votes` to shared primitives.
      
      * Add `can_send_statements_received_with_prejudice` test
      
      * Fix test
      
      * Update docstrings
      
      * Cargo fmt
      
      * Fix compile error
      
      * Fix compile errors in tests
      
      * Cargo fmt
      
      * Add module docs; write `test_priority_ordering` (first draft)
      
      * Fix `test_priority_ordering`
      
      * Move `insert_or_update_priority`: `Drop` -> `set_cluster_priority`
      
      * Address review comments
      
      * Remove `Entry::get_mut`
      
      * fix test compilation
      
      * add a TODO for a test
      
      * clean up a couple of TODOs
      
      * implement sending pending cluster statements
      
      * refactor utility function for sending acknowledgement and statements
      
      * mostly implement catching peers up via grid
      
      * Fix clippy error
      
      * alter grid to track all pending statements
      
      * fix more TODOs and format
      
      * tweak a TODO in requests
      
      * some logic for dispatching requests
      
      * fmt
      
      * skeleton for response receiving
      
      * Async backing statement distribution: cluster tests (#6678)
      
      * Add `pending_statements_set_when_receiving_fresh_statements`
      
      * Add `pending_statements_updated_when_sending_statements` test
      
      * fix up
      
      * fmt
      
      * update TODO
      
      * rework seconded mask in requests
      
      * change doc
      
      * change unhandledresponse not to borrow request manager
      
      * only accept responses sufficient to back
      
      * finish implementing response handling
      
      * extract statement filter to protocol crate
      
      * rework requests: use statement filter in network protocol
      
      * dispatch cluster requests correctly
      
      * rework cluster statement sending
      
      * implement request answering
      
      * fmt
      
      * only send confirmed candidate statement messages on unified relay-parent
      
      * Fix Tests In Statement Distribution Branch
      
      * Async Backing: Integrate `vstaging` of statement distribution into `lib.rs` (#6715)
      
      * Integrate `handle_active_leaves_update`
      
      * Integrate `share_local_statement`/`handle_backed_candidate_message`
      
      * Start hooking up request/response flow
      
      * Finish hooking up request/response flow
      
      * Limit number of parallel requests in responder
      
      * Fix test compilation errors
      
      * Fix missing check for prospective parachains mode
      
      * Fix some more compile errors
      
      * clean up some review comments
      
      * clean up warnings
      
      * Async backing statement distribution: grid tests (#6673)
      
      * Add `manifest_import_returns_ok_true` test
      
      * cargo fmt
      
      * Add pending_communication_receiving_manifest_on_confirmed_candidate
      
      * Add `senders_can_provide_manifests_in_acknowledgement` test
      
      * Add a couple of tests for pending statements
      
      * Add `pending_statements_cleared_when_sending` test
      
      * Add `pending_statements_respect_remote_knowledge` test
      
      * Refactor group creation in tests
      
      * Clarify docs
      
      * Address some review comments
      
      * Make some clarifications
      
      * Fix post-merge errors
      
      * Clarify test `senders_can_provide_manifests_in_acknowledgement`
      
      * Try writing `pending_statements_are_updated_after_manifest_exchange`
      
      * Document "seconding limit" and `reject_overflowing_manifests` test
      
      * Test that seconding counts are not updated for validators on error
      
      * Fix tests
      
      * Fix manifest exchange test
      
      * Add more tests in `requests.rs` (#6707)
      
      This resolves remaining TODOs in this file.
      
      * remove outdated inventory terminology
      
      * Async backing statement distribution: `Candidates` tests (#6658)
      
      * Async Backing: Fix clippy errors in statement distribution branch (#6720)
      
      * Integrate `handle_active_leaves_update`
      
      * Integrate `share_local_statement`/`handle_backed_candidate_message`
      
      * Start hooking up request/response flow
      
      * Finish hooking up request/response flow
      
      * Limit number of parallel requests in responder
      
      * Fix test compilation errors
      
      * Fix missing check for prospective parachains mode
      
      * Fix some more compile errors
      
      * Async Backing: Fix clippy errors in statement distribution branch
      
      * Fix some more clippy lints
      
      * add tests module
      
      * fix warnings in existing tests
      
      * create basic test harness
      
      * create a test state struct
      
      * fmt
      
      * create empty cluster & grid modules for tests
      
      * some TODOs for cluster test suite
      
      * describe test-suite for grid logic
      
      * describe request test suite
      
      * fix seconding-limit bug
      
      * Remove extraneous `pub`
      
      This somehow made it into my clippy PR.
      
      * Fix some test compile warnings
      
      * Remove some unneeded `allow`s
      
      * adapt some new test helpers from Marcin
      
      * add helper for activating a gossip topology
      
      * add utility for signing statements
      
      * helpers for connecting/disconnecting peers
      
      * round out network utilities
      
      * fmt
      
      * fix bug in initializing validator-meta
      
      * fix compilation
      
      * implement first cluster test
      
      * TODOs for incoming request tests
      
      * Remove unneeded `make_committed_candidate` helper
      
      * fmt
      
      * some more tests for cluster
      
      * add a TODO about grid senders
      
      * integrate inbound req/res into test harness
      
      * polish off initial cluster test suite
      
      * keep introduce candidate request
      
      * fix tests after introduce candidate request
      
      * fmt
      
      * Add grid protocol to module docs
      
      * Fix comments
      
      * Test `backed_in_path_only: true`
      
      * Update node/network/protocol/src/lib.rs
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * Update node/network/protocol/src/request_response/mod.rs
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * Mark receiver with `vstaging`
      
      * validate grid senders based on manifest kind
      
      * fix mask_seconded/valid
      
      * fix unwanted-mask check
      
      * fix build
      
      * resolve todo on leaf mode
      
      * Unify protocol naming to vstaging
      
      * fmt, fix grid test after topology change
      
      * typo
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * address review
      
      * adjust comment, make easier to understand
      
      * Fix typo
      
      ---------
      
      Co-authored-by: default avatarMarcin S <[email protected]>
      Co-authored-by: default avatarMarcin S <[email protected]>
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * miscellaneous fixes to make asynchronous backing work (#6791)
      
      * propagate network-protocol-staging feature
      
      * add feature to adder-collator as well
      
      * allow collation-generation of occupied cores
      
      * prospective parachains: special treatment for pending availability candidates
      
      * runtime: fetch candidates pending availability
      
      * lazily construct PVD for pending candidates
      
      * fix fallout in prospective parachains hypothetical/select_child
      
      * runtime: enact candidates when creating paras-inherent
      
      * make tests compile
      
      * test pending availability in the scope
      
      * add prospective parachains test
      
      * fix validity constraints leftovers
      
      * drop prints
      
      * Fix typos
      
      ---------
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      Co-authored-by: default avatarMarcin S <[email protected]>
      
      * Remove restart from test (#6840)
      
      * Async Backing: Statement Distribution Tests (#6755)
      
      * start on handling incoming
      
      * split off session info into separate map
      
      * start in on a knowledge tracker
      
      * address some grumbles
      
      * format
      
      * missed comment
      
      * some docs for direct
      
      * add note on slashing
      
      * amend
      
      * simplify 'direct' code
      
      * finish up the 'direct' logic
      
      * add a bunch of tests for the direct-in-group logic
      
      * rename 'direct' to 'cluster', begin a candidate_entry module
      
      * distill candidate_entry
      
      * start in on a statement-store module
      
      * some utilities for the statement store
      
      * rewrite 'send_statement_direct' using new tools
      
      * filter sending logic on peers which have the relay-parent in their view.
      
      * some more logic for handling incoming statements
      
      * req/res: BackedCandidatePacket -> AttestedCandidate + tweaks
      
      * add a `validated_in_group` bitfield to BackedCandidateInventory
      
      * BackedCandidateInventory -> Manifest
      
      * start in on requester module
      
      * add outgoing request for attested candidate
      
      * add a priority mechanism for requester
      
      * some request dispatch logic
      
      * add seconded mask to tagged-request
      
      * amend manifest to hold group index
      
      * handle errors and set up scaffold for response validation
      
      * validate attested candidate responses
      
      * requester -> requests
      
      * add some utilities for manipulating requests
      
      * begin integrating requester
      
      * start grid module
      
      * tiny
      
      * refactor grid topology to expose more info to subsystems
      
      * fix grid_topology test
      
      * fix overseer test
      
      * implement topology group-based view construction logic
      
      * fmt
      
      * flesh out grid slightly more
      
      * add indexed groups utility
      
      * integrate Groups into per-session info
      
      * refactor statement store to borrow Groups
      
      * implement manifest knowledge utility
      
      * add a test for topology setup
      
      * don't send to group members
      
      * test for conflicting manifests
      
      * manifest knowledge tests
      
      * fmt
      
      * rename field
      
      * garbage collection for grid tracker
      
      * routines for finding correct/incorrect advertisers
      
      * add manifest import logic
      
      * tweak naming
      
      * more tests for manifest import
      
      * add comment
      
      * rework candidates into a view-wide tracker
      
      * fmt
      
      * start writing boilerplate for grid sending
      
      * fmt
      
      * some more group boilerplate
      
      * refactor handling of topology and authority IDs
      
      * fmt
      
      * send statements directly to grid peers where possible
      
      * send to cluster only if statement belongs to cluster
      
      * improve handling of cluster statements
      
      * handle incoming statements along the grid
      
      * API for introduction of candidates into the tree
      
      * backing: use new prospective parachains API
      
      * fmt prospective parachains changes
      
      * fmt statement-dist
      
      * fix condition
      
      * get ready for tracking importable candidates
      
      * prospective parachains: add Cow logic
      
      * incomplete and complete hypothetical candidates
      
      * remove keep_if_unneeded
      
      * fmt
      
      * implement more general HypotheticalFrontier
      
      * fmt, cleanup
      
      * add a by_parent_hash index to candidate tracker
      
      * more framework for future code
      
      * utilities for getting all hypothetical candidates for frontier
      
      * track origin in statement store
      
      * fmt
      
      * requests should return peer
      
      * apply post-confirmation reckoning
      
      * flesh out import/announce/circulate logic on new statements
      
      * adjust
      
      * adjust TODO comment
      
      * fix  backing tests
      
      * update statement-distribution to use new indexedvec
      
      * fmt
      
      * query hypothetical candidates
      
      * implement `note_importable_under`
      
      * extract common utility of fragment tree updates
      
      * add a helper function for getting statements unknown by backing
      
      * import fresh statements to backing
      
      * send announcements and acknowledgements over grid
      
      * provide freshly importable statements
      
      also avoid tracking backed candidates in statement distribution
      
      * do not issue requests on newly importable candidates
      
      * add TODO for later when confirming candidate
      
      * write a routine for handling backed candidate notifications
      
      * simplify grid substantially
      
      * add some test TODOs
      
      * handle confirmed candidates & grid announcements
      
      * finish implementing manifest handling, including follow up statements
      
      * send follow-up statements when acknowledging freshly backed
      
      * fmt
      
      * handle incoming acknowledgements
      
      * a little DRYing
      
      * wire up network messages to handlers
      
      * fmt
      
      * some skeleton code for peer view update handling
      
      * more peer view skeleton stuff
      
      * Fix async backing statement distribution tests (#6621)
      
      * Fix compile errors in tests
      
      * Cargo fmt
      
      * Resolve some todos in async backing statement-distribution branch (#6482)
      
      * Implement `remove_by_relay_parent`
      
      * Extract `minimum_votes` to shared primitives.
      
      * Add `can_send_statements_received_with_prejudice` test
      
      * Fix test
      
      * Update docstrings
      
      * Cargo fmt
      
      * Fix compile error
      
      * Fix compile errors in tests
      
      * Cargo fmt
      
      * Add module docs; write `test_priority_ordering` (first draft)
      
      * Fix `test_priority_ordering`
      
      * Move `insert_or_update_priority`: `Drop` -> `set_cluster_priority`
      
      * Address review comments
      
      * Remove `Entry::get_mut`
      
      * fix test compilation
      
      * add a TODO for a test
      
      * clean up a couple of TODOs
      
      * implement sending pending cluster statements
      
      * refactor utility function for sending acknowledgement and statements
      
      * mostly implement catching peers up via grid
      
      * Fix clippy error
      
      * alter grid to track all pending statements
      
      * fix more TODOs and format
      
      * tweak a TODO in requests
      
      * some logic for dispatching requests
      
      * fmt
      
      * skeleton for response receiving
      
      * Async backing statement distribution: cluster tests (#6678)
      
      * Add `pending_statements_set_when_receiving_fresh_statements`
      
      * Add `pending_statements_updated_when_sending_statements` test
      
      * fix up
      
      * fmt
      
      * update TODO
      
      * rework seconded mask in requests
      
      * change doc
      
      * change unhandledresponse not to borrow request manager
      
      * only accept responses sufficient to back
      
      * finish implementing response handling
      
      * extract statement filter to protocol crate
      
      * rework requests: use statement filter in network protocol
      
      * dispatch cluster requests correctly
      
      * rework cluster statement sending
      
      * implement request answering
      
      * fmt
      
      * only send confirmed candidate statement messages on unified relay-parent
      
      * Fix Tests In Statement Distribution Branch
      
      * Async Backing: Integrate `vstaging` of statement distribution into `lib.rs` (#6715)
      
      * Integrate `handle_active_leaves_update`
      
      * Integrate `share_local_statement`/`handle_backed_candidate_message`
      
      * Start hooking up request/response flow
      
      * Finish hooking up request/response flow
      
      * Limit number of parallel requests in responder
      
      * Fix test compilation errors
      
      * Fix missing check for prospective parachains mode
      
      * Fix some more compile errors
      
      * clean up some review comments
      
      * clean up warnings
      
      * Async backing statement distribution: grid tests (#6673)
      
      * Add `manifest_import_returns_ok_true` test
      
      * cargo fmt
      
      * Add pending_communication_receiving_manifest_on_confirmed_candidate
      
      * Add `senders_can_provide_manifests_in_acknowledgement` test
      
      * Add a couple of tests for pending statements
      
      * Add `pending_statements_cleared_when_sending` test
      
      * Add `pending_statements_respect_remote_knowledge` test
      
      * Refactor group creation in tests
      
      * Clarify docs
      
      * Address some review comments
      
      * Make some clarifications
      
      * Fix post-merge errors
      
      * Clarify test `senders_can_provide_manifests_in_acknowledgement`
      
      * Try writing `pending_statements_are_updated_after_manifest_exchange`
      
      * Document "seconding limit" and `reject_overflowing_manifests` test
      
      * Test that seconding counts are not updated for validators on error
      
      * Fix tests
      
      * Fix manifest exchange test
      
      * Add more tests in `requests.rs` (#6707)
      
      This resolves remaining TODOs in this file.
      
      * remove outdated inventory terminology
      
      * Async backing statement distribution: `Candidates` tests (#6658)
      
      * Async Backing: Fix clippy errors in statement distribution branch (#6720)
      
      * Integrate `handle_active_leaves_update`
      
      * Integrate `share_local_statement`/`handle_backed_candidate_message`
      
      * Start hooking up request/response flow
      
      * Finish hooking up request/response flow
      
      * Limit number of parallel requests in responder
      
      * Fix test compilation errors
      
      * Fix missing check for prospective parachains mode
      
      * Fix some more compile errors
      
      * Async Backing: Fix clippy errors in statement distribution branch
      
      * Fix some more clippy lints
      
      * add tests module
      
      * fix warnings in existing tests
      
      * create basic test harness
      
      * create a test state struct
      
      * fmt
      
      * create empty cluster & grid modules for tests
      
      * some TODOs for cluster test suite
      
      * describe test-suite for grid logic
      
      * describe request test suite
      
      * fix seconding-limit bug
      
      * Remove extraneous `pub`
      
      This somehow made it into my clippy PR.
      
      * Fix some test compile warnings
      
      * Remove some unneeded `allow`s
      
      * adapt some new test helpers from Marcin
      
      * add helper for activating a gossip topology
      
      * add utility for signing statements
      
      * helpers for connecting/disconnecting peers
      
      * round out network utilities
      
      * fmt
      
      * fix bug in initializing validator-meta
      
      * fix compilation
      
      * implement first cluster test
      
      * TODOs for incoming request tests
      
      * Remove unneeded `make_committed_candidate` helper
      
      * fmt
      
      * Hook up request sender
      
      * Add `valid_statement_without_prior_seconded_is_ignored` test
      
      * Fix `valid_statement_without_prior_seconded_is_ignored` test
      
      * some more tests for cluster
      
      * add a TODO about grid senders
      
      * integrate inbound req/res into test harness
      
      * polish off initial cluster test suite
      
      * keep introduce candidate request
      
      * fix tests after introduce candidate request
      
      * fmt
      
      * Add grid protocol to module docs
      
      * Remove obsolete test
      
      * Fix comments
      
      * Test `backed_in_path_only: true`
      
      * Update node/network/protocol/src/lib.rs
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * Update node/network/protocol/src/request_response/mod.rs
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * Mark receiver with `vstaging`
      
      * First draft of `ensure_seconding_limit_is_respected` test
      
      * validate grid senders based on manifest kind
      
      * fix mask_seconded/valid
      
      * fix unwanted-mask check
      
      * fix build
      
      * resolve todo on leaf mode
      
      * Unify protocol naming to vstaging
      
      * Fix `ensure_seconding_limit_is_respected` test
      
      * Start `backed_candidate_leads_to_advertisement` test
      
      * fmt, fix grid test after topology change
      
      * Send Backed notification
      
      * Finish `backed_candidate_leads_to_advertisement` test
      
      * Finish `peer_reported_for_duplicate_statements` test
      
      * Finish `received_advertisement_before_confirmation_leads_to_request`
      
      * Add `advertisements_rejected_from_incorrect_peers` test
      
      * Add `manifest_rejected_*` tests
      
      * Add `manifest_rejected_when_group_does_not_match_para` test
      
      * Add `local_node_sanity_checks_incoming_requests` test
      
      * Add `local_node_respects_statement_mask` test
      
      * Add tests where peer is reported for providing invalid signatures
      
      * Add `cluster_peer_allowed_to_send_incomplete_statements` test
      
      * Add `received_advertisement_after_backing_leads_to_acknowledgement`
      
      * Add `received_advertisement_after_confirmation_before_backing` test
      
      * peer_reported_for_advertisement_conflicting_with_confirmed_candidate
      
      * Add `peer_reported_for_not_enough_statements` test
      
      * Add `peer_reported_for_providing_statements_meant_to_be_masked_out`
      
      * Add `additional_statements_are_shared_after_manifest_exchange`
      
      * Add `grid_statements_imported_to_backing` test
      
      * Add `relay_parent_entering_peer_view_leads_to_advertisement` test
      
      * Add `advertisement_not_re_sent_when_peer_re_enters_view` test
      
      * Update node/network/statement-distribution/src/vstaging/tests/grid.rs
      
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      
      * Resolve TODOs, update test
      
      * Address unused code
      
      * Add check after every test for unhandled requests
      
      * Refactor (`make_dummy_leaf` and `handle_sent_request`)
      
      * Refactor (`make_dummy_topology`)
      
      * Minor refactor
      
      ---------
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * Fix some clippy lints in tests
      
      * Async backing: minor fixes (#6920)
      
      * bitfield-distribution test
      
      * implicit view tests
      
      * Refactor parameters -> params
      
      * scheduler: update storage migration (#6963)
      
      * update scheduler migration
      
      * Adjust weight to account for storage read
      
      * Statement Distribution Guide Edits (#7025)
      
      * Statement distribution guide edits
      
      * Addressed Marcin's comments
      
      * Add attested candidate request retry timeouts (#6833)
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      Fix async backing statement distribution tests (#6621)
      Resolve some todos in async backing statement-distribution branch (#6482)
      Fix clippy errors in statement distribution branch (#6720)
      
      * Async backing: add Prospective Parachains impl guide (#6933)
      
      Co-authored-by: default avatarBradley Olson <[email protected]>
      
      * Updates to Provisioner Guide for Async Backing (#7106)
      
      * Initial corrections and clarifications
      
      * Partial first draft
      
      * Finished first draft
      
      * Adding back wrongly removed test bit
      
      * fmt
      
      * Update roadmap/implementers-guide/src/node/utility/provisioner.md
      
      Co-authored-by: default avatarMarcin S. <[email protected]>
      
      * Addressing comments
      
      * Reorganization
      
      * fmt
      
      ---------
      
      Co-authored-by: default avatarMarcin S. <[email protected]>
      
      * fmt
      
      * Renaming Parathread Mentions (#7287)
      
      * Renaming parathreads
      
      * Renaming module to pallet
      
      * More updates
      
      * PVF: Refactor workers into separate crates, remove host dependency (#7253)
      
      * PVF: Refactor workers into separate crates, remove host dependency
      
      * Fix compile error
      
      * Remove some leftover code
      
      * Fix compile errors
      
      * Update Cargo.lock
      
      * Remove worker main.rs files
      
      I accidentally copied these from the other PR. This PR isn't intended to
      introduce standalone workers yet.
      
      * Address review comments
      
      * cargo fmt
      
      * Update a couple of comments
      
      * Update log targets
      
      * Update quote to 1.0.27 (#7280)
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: parity-processbot <>
      
      * pallets: implement `Default` for `GenesisConfig` in `no_std` (#7271)
      
      * pallets: implement Default for GenesisConfig in no_std
      
      This change is follow-up of: https://github.com/paritytech/substrate/pull/14108
      
      It is a step towards: https://github.com/paritytech/substrate/issues/13334
      
      * Cargo.lock updated
      
      * update lockfile for {"substrate"}
      
      ---------
      
      Co-authored-by: parity-processbot <>
      
      * cli: enable BEEFY by default on test networks (#7293)
      
      We consider BEEFY mature enough to run by default on all nodes
      for test networks (Rococo/Wococo/Versi).
      
      Right now, most nodes are not running it since it's opt-in using
      --beefy flag. Switch to an opt-out model for test networks.
      
      Replace --beefy flag from CLI with --no-beefy and have BEEFY
      client start by default on test networks.
      
      Signed-off-by: default avataracatangiu <[email protected]>
      
      * runtime: past session slashing runtime API (#6667)
      
      * runtime/vstaging: unapplied_slashes runtime API
      
      * runtime/vstaging: key_ownership_proof runtime API
      
      * runtime/ParachainHost: submit_report_dispute_lost
      
      * fix key_ownership_proof API
      
      * runtime: submit_report_dispute_lost runtime API
      
      * nits
      
      * Update node/subsystem-types/src/messages.rs
      
      Co-authored-by: default avatarMarcin S. <[email protected]>
      
      * revert unrelated fmt changes
      
      * post merge fixes
      
      * fix compilation
      
      ---------
      
      Co-authored-by: default avatarMarcin S. <[email protected]>
      
      * Correcting git mishap
      
      * Document usage of `gum` crate (#7294)
      
      * Document usage of gum crate
      
      * Small fix
      
      * Add some more basic info
      
      * Update node/gum/src/lib.rs
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      
      * Update target docs
      
      ---------
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      
      * XCM: Fix issue with RequestUnlock (#7278)
      
      * XCM: Fix issue with RequestUnlock
      
      * Leave API changes for v4
      
      * Fix clippy errors
      
      * Fix tests
      
      ---------
      
      Co-authored-by: parity-processbot <>
      
      * Companion for Substrate#14228 (#7295)
      
      * Companion for Substrate#14228
      
      https://github.com/paritytech/substrate/pull/14228
      
      * update lockfile for {"substrate"}
      
      ---------
      
      Co-authored-by: parity-processbot <>
      
      * Companion for #14237: Use latest sp-crates (#7300)
      
      * To revert: Update substrate branch to "lexnv/bump_sp_crates"
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      
      * Revert "To revert: Update substrate branch to "lexnv/bump_sp_crates""
      
      This reverts commit 5f1db84eac4a226c37b7f6ce6ee19b49dc7e2008.
      
      * Update cargo lock
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      
      * Update cargo.lock
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      
      * Update cargo.lock
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      
      * bounded-collections bump to 0.1.7 (#7305)
      
      * bounded-collections bump to 0.1.7
      
      Companion for: paritytech/substrate#14225
      
      * update lockfile for {"substrate"}
      
      ---------
      
      Co-authored-by: parity-processbot <>
      
      * bump to quote 1.0.28 (#7306)
      
      * `RollingSessionWindow` cleanup (#7204)
      
      * Replace `RollingSessionWindow` with `RuntimeInfo` - initial commit
      
      * Fix tests in import
      
      * Fix the rest of the tests
      
      * Remove dead code
      
      * Fix todos
      
      * Simplify session caching
      
      * Comments for `SessionInfoProvider`
      
      * Separate `SessionInfoProvider` from `State`
      
      * `cache_session_info_for_head` becomes freestanding function
      
      * Remove unneeded `mut` usage
      
      * fn session_info -> fn get_session_info() to avoid name clashes. The function also tries to initialize `SessionInfoProvider`
      
      * Fix SessionInfo retrieval
      
      * Code cleanup
      
      * Don't wrap `SessionInfoProvider` in an `Option`
      
      * Remove `earliest_session()`
      
      * Remove pre-caching -> wip
      
      * Fix some tests and code cleanup
      
      * Fix all tests
      
      * Fixes in tests
      
      * Fix comments, variable names and small style changes
      
      * Fix a warning
      
      * impl From<SessionWindowSize> for NonZeroUsize
      
      * Fix logging for `get_session_info` - remove redundant logs and decrease log level to DEBUG
      
      * Code review feedback
      
      * Storage migration removing `COL_SESSION_WINDOW_DATA` from parachains db
      
      * Remove `col_session_data` usages
      
      * Storage migration clearing columns w/o removing them
      
      * Remove session data column usages from `approval-voting` and `dispute-coordinator` tests
      
      * Add some test cases from `RollingSessionWindow` to `dispute-coordinator` tests
      
      * Fix formatting in initialized.rs
      
      * Fix a corner case in `SessionInfo` caching for `dispute-coordinator`
      
      * Remove `RollingSessionWindow` ;(
      
      * Revert "Fix formatting in initialized.rs"
      
      This reverts commit 0f94664ec9f3a7e3737a30291195990e1e7065fc.
      
      * v2 to v3 migration drops `COL_DISPUTE_COORDINATOR_DATA` instead of clearing it
      
      * Fix `NUM_COLUMNS` in `approval-voting`
      
      * Use `columns::v3::NUM_COLUMNS` when opening db
      
      * Update node/service/src/parachains_db/upgrade.rs
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      
      * Don't write in `COL_DISPUTE_COORDINATOR_DATA` for `test_rocksdb_migrate_2_to_3`
      
      * Fix `NUM+COLUMNS` in approval_voting
      
      * Fix formatting
      
      * Fix columns usage
      
      * Clarification comments about the different db versions
      
      ---------
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      
      * pallet-para-config: Remove remnant WeightInfo functions (#7308)
      
      * pallet-para-config: Remove remnant WeightInfo functions
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * set_config_with_weight begone
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * ".git/.scripts/commands/bench/bench.sh" runtime kusama-dev runtime_parachains::configuration
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: command-bot <>
      
      * XCM: PayOverXcm config (#6900)
      
      * Move XCM query functionality to trait
      
      * Fix tests
      
      * Add PayOverXcm implementation
      
      * fix the PayOverXcm trait to compile
      
      * moved doc comment out of trait implmeentation and to the trait
      
      * PayOverXCM documentation
      
      * Change documentation a bit
      
      * Added empty benchmark methods implementation and changed docs
      
      * update PayOverXCM to convert AccountIds to MultiLocations
      
      * Implement benchmarking method
      
      * Change v3 to latest
      
      * Descend origin to an asset sender (#6970)
      
      * descend origin to an asset sender
      
      * sender as tuple of dest and sender
      
      * Add more variants to the QueryResponseStatus enum
      
      * Change Beneficiary to Into<[u8; 32]>
      
      * update PayOverXcm to return concrete errors and use AccountId as sender
      
      * use polkadot-primitives for AccountId
      
      * fix dependency to use polkadot-core-primitives
      
      * force Unpaid instruction to the top of the instructions list
      
      * modify report_outcome to accept interior argument
      
      * use new_query directly for building final xcm query, instead of report_outcome
      
      * fix usage of new_query to use the XcmQueryHandler
      
      * fix usage of new_query to use the XcmQueryHandler
      
      * tiny method calling fix
      
      * xcm query handler (#7198)
      
      * drop redundant query status
      
      * rename ReportQueryStatus to OuterQueryStatus
      
      * revert rename of QueryResponseStatus
      
      * update mapping
      
      * Update xcm/xcm-builder/src/pay.rs
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      
      * Updates
      
      * Docs
      
      * Fix benchmarking stuff
      
      * Destination can be determined based on asset_kind
      
      * Tweaking API to minimise clones
      
      * Some repotting and docs
      
      ---------
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      Co-authored-by: default avatarMuharem Ismailov <[email protected]>
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      
      * Companion for #14265 (#7307)
      
      * Update Cargo.lock
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      
      * Update Cargo.lock
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      Co-authored-by: parity-processbot <>
      
      * bump serde to 1.0.163 (#7315)
      
      * bump serde to 1.0.163
      
      * bump ci
      
      * update lockfile for {"substrate"}
      
      ---------
      
      Co-authored-by: parity-processbot <>
      
      * fmt
      
      * Updated fmt
      
      * Removing changes accidentally pulled from master
      
      * fix another master pull issue
      
      * Another master pull fix
      
      * fmt
      
      * Fixing implementers guide build
      
      * Revert "Merge branch 'rh-async-backing-feature-while-frozen' of https://github.com/paritytech/polkadot into brad-rename-parathread"
      
      This reverts commit bebc24af52ab61155e3fe02cb3ce66a592bce49c, reversing
      changes made to 1b2de662dfb11173679d6da5bd0da9d149c85547.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Signed-off-by: default avataracatangiu <[email protected]>
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      Co-authored-by: default avatarMarcin S <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarMichal Kucharczyk <[email protected]>
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      Co-authored-by: default avatarordian <[email protected]>
      Co-authored-by: default avatarMarcin S. <[email protected]>
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarAlexandru Vasile <[email protected]>
      Co-authored-by: default avatarSam Johnson <[email protected]>
      Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      Co-authored-by: default avatarMuharem Ismailov <[email protected]>
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      
      * fix bitfield distribution test
      
      * approval distribution tests
      
      * fix bridge tests
      
      * update Cargo.lock
      
      * [async-backing-branch] Optimize collator-protocol validator-side request fetching (#7457)
      
      * Optimize collator-protocol validator-side request fetching
      
      * address feedback: replace tuples with structs
      
      * feedback: add doc comments
      
      * move collation types to subfolder
      
      ---------
      
      Signed-off-by: default avataralindima <[email protected]>
      
      * Update collation generation for asynchronous backing (#7405)
      
      * break candidate receipt construction and distribution into own function
      
      * update implementers' guide to include SubmitCollation
      
      * implement SubmitCollation for collation-generation
      
      * fmt
      
      * fix test compilation & remove unnecessary submodule
      
      * add some TODOs for a test suite.
      
      * Update roadmap/implementers-guide/src/types/overseer-protocol.md
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      
      * add new test harness and first test
      
      * refactor to avoid requiring background sender
      
      * ensure collation gets packaged and distributed
      
      * tests for the fallback case with no hint
      
      * add parent rp-number hint tests
      
      * fmt
      
      * update uses of CollationGenerationConfig
      
      * fix remaining test
      
      * address review comments
      
      * use subsystemsender for background tasks
      
      * fmt
      
      * remove ValidationCodeHashHint and related tests
      
      ---------
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      
      * fix some more fallout from merge
      
      * fmt
      
      * remove staging APIs from Rococo & Westend (#7513)
      
      * send network messages on main protocol name (#7515)
      
      * misc async backing improvements for allowed ancestry blocks (#7532)
      
      * shared: fix acquire_info
      
      * backwards-compat test for prospective parachains
      
      * same relay parent is allowed
      
      * provisioner: request candidate receipt by relay parent (#7527)
      
      * return candidates hash from prospective parachains
      
      * update provisioner
      
      * update tests
      
      * guide changes
      
      * send a single message to backing
      
      * fix test
      
      * revert to old `handle_new_activations` logic in some cases (#7514)
      
      * revert to old `handle_new_activations` logic
      
      * gate sending messages on scheduled cores to max_depth >= 2
      
      * fmt
      
      * 2->1
      
      * Omnibus asynchronous backing bugfix PR (#7529)
      
      * fix a bug in backing
      
      * add some more logs
      
      * prospective parachains: take ancestry only up to session bounds
      
      * add test
      
      * fix zombienet tests (#7614)
      
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      
      * fix runtime compilation
      
      * make bitfield distribution tests compile
      
      * attempt to fix zombienet disputes (#7618)
      
      * update metric name
      
      * update some metric names
      
      * avoid cycles when creating fake candidates
      
      * make undying collator more friendly to malformed parents
      
      * fix a bug in malus
      
      * fmt
      
      * clippy
      
      * add RUN_IN_CONTAINER to new ZombieNet tests (#7631)
      
      * remove duplicated migration
      
      happened because of master-merge
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Signed-off-by: default avataracatangiu <[email protected]>
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      Signed-off-by: default avataralindima <[email protected]>
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      Co-authored-by: default avatarRobert Klotzner <[email protected]>
      Co-authored-by: default avatarRobert Klotzner <[email protected]>
      Co-authored-by: default avatarMarcin S <[email protected]>
      Co-authored-by: default avatarMarcin S <[email protected]>
      Co-authored-by: default avatarMattia L.V. Bradascio <[email protected]>
      Co-authored-by: default avatarBradley Olson <[email protected]>
      Co-authored-by: default avataralexgparity <[email protected]>
      Co-authored-by: default avatarBradleyOlson64 <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarMichal Kucharczyk <[email protected]>
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      Co-authored-by: default avatarordian <[email protected]>
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarAlexandru Vasile <[email protected]>
      Co-authored-by: default avatarSam Johnson <[email protected]>
      Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      Co-authored-by: default avatarMuharem Ismailov <[email protected]>
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarAlin Dima <[email protected]>
      5174b9d2
  13. Aug 17, 2023
    • eskimor's avatar
      Parathreads Feature Branch (#6969) · eaf057c5
      eskimor authored
      
      
      * First baby steps
      
      * Split scheduler into several modules
      
      * Towards a more modular approach for scheduling
      
      * move free_cores; IntoInterator -> BTreeMap
      
      * Move clear()
      
      * Move more functions out of scheduler
      
      * Change weight composition
      
      * More abstraction
      
      * Further refactor
      
      * clippy
      
      * fmt
      
      * fix test-runtime
      
      * Add parathreads pallet to construct_runtime!
      
      * Make all runtimes use (Parachains, Parathreads) scheduling
      
      * Delete commented out code
      
      * Remove parathreads scheduler from westend, rococo, and kusama
      
      * fix rococo, westend, and kusama config
      
      * Revert "fix rococo, westend, and kusama config"
      
      This reverts commit 59e4de380d5c7d17eaaba5e2c2b81405de3465e3.
      
      * Revert "Remove parathreads scheduler from westend, rococo, and kusama"
      
      This reverts commit 4c44255296083ac5670560790ed77104917890a4.
      
      * Remove CoreIndex from free_cores
      
      * Remove unnecessary struct for parathreads
      
      * parathreads provider take 1
      
      * Comment out parathread tests
      
      * Pop into lookahead
      
      * fmt
      
      * Fill lookahead with two entries for parachains
      
      * fmt
      
      * Current stage
      
      * Towards ab parathreads
      
      * no AB use
      
      * Make tests typecheck
      
      * quick hack to set scheduling lookahead to 1
      
      * Fix scheduler tests
      
      * fix paras_inherent tests
      
      * misc
      
      * Update more of a test
      
      * cfg(test)
      
      * some cleanup
      
      * Undo paras_inherent changes
      
      * Adjust paras inherent tests
      
      * Undo changes to v2 primitives
      
      * Undo v2 mod changes to tests
      
      * minor
      
      * Remove parathreads assigner and pallet
      
      * minor
      
      * minor
      
      * more cleanup
      
      * fmt
      
      * minor
      
      * minor
      
      * minor
      
      * Remove on_new_session from assignment provider
      
      * Make adder collator integration test pass
      
      * disable failing unit tests
      
      * minor
      
      * minor
      
      * re-enable one unit test
      
      * minor
      
      * handle retries, add concluded para to pop interface
      
      * comment out unused code
      
      * Remove core_para from interface
      
      * Remove first claimqueue element on clear if None instead removing all Nones
      
      * Move claimqueue get out of loop
      
      * Use VecDeque instead of Ved in ClaimQueue
      
      * Make occupied() AB ready(?)
      
      * handle freed disputed in clear_and_fill_claimqueue
      
      * clear_and_fill_claimqueue returns scheduled Vec
      
      * Rename and minor refactor
      
      * return position of assignment taken from claimqueue
      
      * minor
      
      * Fix session boundary parachains number change + extended test
      
      * Fix runtimes
      
      * Fix polkadot runtime
      
      * Remove polkadot pallet from benchmarks
      
      * fix test runtime
      
      * Add storage migration
      
      * Minor refactor
      
      * Minor
      
      * migratin typechecks
      
      * Add migration to runtimes
      
      * Towards modular scheduling II (#6568)
      
      * Add post migration check
      
      * pebkac
      
      * Disable migrations but mine
      
      * Revert "Disable migrations but mine"
      
      This reverts commit 4fa5c5a370c199944a7e0926f50b08626bfbad4c.
      
      * Move scheduler migration
      
      * Revert "Move scheduler migration"
      
      This reverts commit a16b1659a907950bae048a9f7010f2aa76e02b6d.
      
      * Fix migration
      
      * cleanup
      
      * Don't lose retries value anymore
      
      * comment out test function
      
      * Remove retries value from Assignment again
      
      * minor
      
      * Make collator for parathreads optional
      
      * data type refactor
      
      * update scheduler tests
      
      * Change test function cfg
      
      * comment out test function
      
      * Try cfg(test) only
      
      * fix cfg flags
      
      * Add get_max_retries function to provider interface (#7047)
      
      * Fix merge commit
      
      * pebkac
      
      * fix merge
      
      * update cargo.lock
      
      * fix merge
      
      * fix merge
      
      * Use btreemap instead of vec, fix scheduler calls.
      
      * Use imported `ScheduledCore`
      
      * Remove unused import in inclusion tests
      
      * Use keys() instead of mapping over a BTreeMap
      
      * Fix migrations for parachains scheduler
      
      * Use BlockNumberFor<T> everywhere in scheduler
      
      * Add on demand assignment provider pallet (#7110)
      
      * Address some PR comments
      
      * minor
      
      * more cleanup
      
      * find_map and timeout availability fixes
      
      * Change default scheduling_lookahead to 1
      
      * Add on demand assignment provider pallet
      
      * Move test-runtime to new assignment provider
      
      * Run cargo format on scheduler tests
      
      * minor
      
      * Mutate cores in single loop
      
      * timeout predicate simplification
      
      * claimqueue desired size fix
      
      * Replace expect by ok_or
      
      * More improvements
      
      * Fix push back order and next_up_on_timeout
      
      * minor
      
      * session change docs
      
      * Add pre_new_session call to hand pre session updates
      
      * Remove sc_network dependency and PeerId from unnecessary data structures
      
      * Remove unnecessary peer_ids
      
      * Add OnDemandOrdering proxy (#7156)
      
      * Add OnDemandBidding proxy
      
      * Fix names
      
      * OnDemandAssigner for rococo only
      
      * Check PeerId in collator protocol before fetching collation
      
      * On occupied, remove non occupied cores from the claimqueue front and refill
      
      * Add missing docs
      
      * Comment out unused field
      
      * fix ScheduledCore in tests
      
      * Fix the fix
      
      * pebkac
      
      * fmt
      
      * Fix occupied dropping
      
      * Remove double import
      
      * ScheduledCore fixes
      
      * Readd sc-network dep
      
      * pebkac
      
      * OpaquePeerId -> PeerId in can_collate interface
      
      * Cargo.lock update for interface change
      
      * Remove checks not needed anymore?
      
      * Drop occupied core on session change if it would time out after the new session
      
      * Add on demand assignment provider pallet
      
      * Move test-runtime to new assignment provider
      
      * Run cargo format on scheduler tests
      
      * Add OnDemandOrdering proxy (#7156)
      
      * Add OnDemandBidding proxy
      
      * Fix names
      
      * OnDemandAssigner for rococo only
      
      * Remove unneeded config values
      
      * Update comments
      
      * Use and_then for queue position
      
      * Return the max size of the spot queue on error
      
      * Add comments to add_parathread_entry
      
      * Add module comments
      
      * Add log for when can_collate fails
      
      * Change assigner queue type to `Assignment`
      
      * Update assignment provider tests
      
      * More logs
      
      * Remove unused keyring import
      
      * disable can_collate
      
      * comment out can_collate
      
      * Can collate first checks set if empty
      
      * Move can_collate call to collation advertisement
      
      * Fix backing test
      
      * map to loop
      
      * Remove obsolete check
      
      * Move invalid collation test from backing to collator-protocol
      
      * fix unused imports
      
      * fix test
      
      * fix Debug derivation
      
      * Increase time limit on zombienet predicates
      
      * Increase zombienet timeout
      
      * Minor
      
      * Address some PR comments
      
      * Address PR comments
      
      * Comment out failing assert due to on-demand assigner missing
      
      * remove collator_restrictions info from backing
      
      * Move can_collate to ActiveParas
      
      * minor
      
      * minor
      
      * Update weight information for on demand config
      
      * Add ttl to parasentry
      
      * Fix tests missing parasentry ttl
      
      * Adjust scheduler tests to use ttl default values
      
      * Use match instead of if let for ttl drop
      
      * Use RuntimeDebug trait for `ParasEntry` fields
      
      * Add comments to on demand assignment pallet
      
      * Fix spot traffic calculation
      
      * Revert runtimedebug changes to primitives
      
      * Remove runtimedebug derivation from `ParasEntry`
      
      * Mention affinity in pallet level docs
      
      * Use RuntimeDebug trait for ParasEntry child types
      
      * Remove collator restrictions
      
      * Fix primitive versioning and other merge issues
      
      * Fix tests post merge
      
      * Fix node side tests
      
      * Edit parascheduler migration for clarity
      
      * Move parascheduler migration up to next release
      
      * Remove vestiges from merge
      
      * Fix tests
      
      * Refactor ttl handling
      
      * Remove unused things from scheduler tests
      
      * Move on demand assigner to own directory
      
      * Update documentation
      
      * Remove unused sc-network dependency in primitives
      
      Was used for collator restrictions
      
      * Remove unused import
      
      * Reenable scheduler test
      
      * Remove unused storage value
      
      * Enable timeout predicate test and fix fn
      
      Turns out that the issue with the compiler is fixed and we can now
      use impl Trait in the manner used here.
      
      * Remove unused imports
      
      * Add benchmarking entry for perbill in config
      
      * Correct typo
      
      * Address review comments
      
      * Log out errors when calculating spot traffic.
      
      * Change parascheduler's log target name
      
      * Update scheduler_common documentation
      
      * Use mutate for affinity fns, add tests
      
      * Add another on demand affinity test
      
      * Unify parathreads and parachains in HostConfig (take 2) (#7452)
      
      * Unify parathreads and parachains in HostConfig
      
      * Fixed missed occurences
      
      * Remove commented out lines
      
      * `HostConfiguration v7`
      
      * Fix version check
      
      * Add `MigrateToV7` to `Unreleased`
      
      * fmt
      
      * fmt
      
      * Fix compilation errors after the rebase
      
      * Update runtime/parachains/src/scheduler/tests.rs
      
      Co-authored-by: default avatarAnton Vilhelm Ásgeirsson <[email protected]>
      
      * Update runtime/parachains/src/scheduler/tests.rs
      
      Co-authored-by: default avatarAnton Vilhelm Ásgeirsson <[email protected]>
      
      * fmt
      
      * Fix migration test
      
      * Fix tests
      
      * Remove unneeded assert from tests
      
      * parathread_cores -> on_demand_cores; parathread_retries -> on_demand_retries
      
      * Fix a compilation error in tests
      
      * Remove unused `use`
      
      * update colander image version
      
      ---------
      
      Co-authored-by: default avataralexgparity <[email protected]>
      Co-authored-by: default avatarAnton Vilhelm Ásgeirsson <[email protected]>
      Co-authored-by: default avatarJavier Viola <[email protected]>
      
      * Fix branch after merge with master
      
      * Refactor out duplicate checks into a helper fn
      
      * Fix tests post merge
      
      * Rename add_parathread_assignment, add test
      
      * Update docs
      
      * Remove unused on_finalize function
      
      * Add weight info to on demand pallet
      
      * Update runtime/parachains/src/configuration.rs
      
      Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>
      
      * Update runtime/parachains/src/scheduler_common/mod.rs
      
      Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>
      
      * Update runtime/parachains/src/assigner_on_demand/mod.rs
      
      Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>
      
      * Add benchmarking to on demand pallet
      
      * Make place_order test check for success
      
      * Add on demand benchmarks
      
      * Add local test weights to rococo runtime
      
      * Modify TTL drop behaviour to not skip claims
      
      Previous behaviour would jump a new claim from the assignment provider
      ahead in the claimqueue, assuming lookahead is larger than 1.
      
      * Refactor ttl test to test claimqueue order
      
      * Disable place_order ext. when no on_demand cores
      
      * Use default genesis config for benchmark tests
      
      * Refactor config builder param
      
      * Move lifecycle test from scheduler to on demand
      
      * Remove unneeded lifecycle test
      
      Paras module via the parachain assignment provider doesn't provide
      new assignments if a parachain loses it's lease. The on demand
      assignment provider doesn't provide an assignment that is not a
      parathread.
      
      * Re enable validator shuffle test
      
      * More realistic weights for place_order
      
      * Remove redundant import
      
      * Fix backwards compatibility (hopefully)
      
      * ".git/.scripts/commands/bench/bench.sh" --subcommand=runtime --runtime=rococo --target_dir=polkadot --pallet=runtime_parachains::assigner_on_demand
      
      * Fix tests.
      
      * Fix off-by-one.
      
      * Re enable claimqueue fills test
      
      * Re enable schedule_rotates_groups test
      
      * Fix fill_claimqueue_fills test
      
      * Re enable next_up_on_timeout test, move fn
      
      * Do not pop from assignment provider when retrying
      
      * Fix tests missing collator in scheduledcore
      
      * Add comment about timeout predicate.
      
      * Rename parasentry retries to availability timeouts
      
      * Re enable schedule_schedules... test
      
      * Refactor prune retried test to new scheduler
      
      * Have all scheduler tests use genesis_cfg fn
      
      * Update docs
      
      * Update copyright notices on new files
      
      * Rename is_parachain_core to is_bulk_core
      
      * Remove erroneous TODO
      
      * Simplify import
      
      * ".git/.scripts/commands/bench/bench.sh" --subcommand=runtime --runtime=rococo --target_dir=polkadot --pallet=runtime_parachains::configuration
      
      * Revert AdvertiseCollation order shuffle
      
      * Refactor place_order into keepalive and allowdeath
      
      * Revert rename of hrmp max inbound channels
      
      parachain encompasses both on demand and slot auction / bulk.
      
      * Restore availability_timeout_predicate function
      
      * Clean up leftover comments
      
      * Update runtime/parachains/src/scheduler/tests.rs
      
      Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>
      
      * ".git/.scripts/commands/bench/bench.sh" --subcommand=runtime --runtime=westend --target_dir=polkadot --pallet=runtime_parachains::configuration
      
      ---------
      
      Co-authored-by: default avataralexgparity <[email protected]>
      Co-authored-by: default avataralexgparity <[email protected]>
      Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>
      Co-authored-by: default avatarJavier Viola <[email protected]>
      Co-authored-by: default avatareskimor <[email protected]>
      Co-authored-by: command-bot <>
      
      * On Demand - update weights and small nits (#7605)
      
      * Remove collator restriction test in inclusion
      
      On demand parachains won't have collator restrictions implemented in
      this way but will instead use a preferred collator registered to a
      `ParaId` in `paras_registrar`.
      
      * Remove redundant config guard for test fns
      
      * Update weights
      
      * Update WeightInfo for on_demand assigner
      
      * Unify assignment provider parameters into one call (#7606)
      
      * Combine assignmentprovider params into one fn call
      
      * Move scheduler_common to a module under scheduler
      
      * Fix ttl handling in benchmark builder
      
      * Run cargo format
      
      * Remove obsolete test.
      
      * Small improvement.
      
      * Use same migration pattern as config module
      
      * Remove old TODO
      
      * Change log target name for assigner on demand
      
      * Fix migration
      
      * Fix clippy warnings
      
      * Add HostConfiguration storage migration to V8
      
      * Add `MigrateToV8` to unreleased migrations for all runtimes
      
      * Fix storage version check for config v8
      
      * Set `StorageVersion` to 8 in `MigrateToV8`
      
      * Remove dups.
      
      * Update primitives/src/v5/mod.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      ---------
      
      Co-authored-by: default avataralexgparity <[email protected]>
      Co-authored-by: default avataralexgparity <[email protected]>
      Co-authored-by: default avatarantonva <[email protected]>
      Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>
      Co-authored-by: default avatarAnton Vilhelm Ásgeirsson <[email protected]>
      Co-authored-by: default avatarJavier Viola <[email protected]>
      Co-authored-by: default avatareskimor <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      eaf057c5
  14. Aug 16, 2023
  15. Aug 14, 2023
  16. Jul 19, 2023
  17. Jul 13, 2023
    • gupnik's avatar
      Moves `Block` to `frame_system` instead of `construct_runtime` and removes... · 28024144
      gupnik authored
      
      Moves `Block` to `frame_system` instead of `construct_runtime` and removes `Header` and `BlockNumber` (#7431)
      
      * Companion for substrate
      
      * Minor update
      
      * Formatting
      
      * Fixes for cumulus
      
      * Fixes tests in polkadot-runtime-parachains
      
      * Minor update
      
      * Removes unused import
      
      * Fixes tests in polkadot-runtime-common
      
      * Minor fix
      
      * Update roadmap/implementers-guide/src/runtime/configuration.md
      
      Co-authored-by: default avatarordian <[email protected]>
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * update lockfile for {"substrate"}
      
      ---------
      
      Co-authored-by: default avatarordian <[email protected]>
      Co-authored-by: command-bot <>
      28024144
  18. Jun 14, 2023
    • eskimor's avatar
      Unify code paths of create_inherent and enter (#7137) · 596a9ccd
      eskimor authored
      
      
      * Remove redundant enter call.
      
      * Remove optionality in dispute signature checking
      
      * Make enter_inner and create_inherent the same.
      
      * Remove redundant metric.
      
      * Unification: enter and create_inherent.
      
      * Remove `enter_inner` function.
      
      * Remove dead code.
      
      * Remove redundant import.
      
      * Remove dead code in disputes.
      
      * ".git/.scripts/commands/bench/bench.sh" runtime polkadot runtime_parachains::paras_inherent
      
      * ".git/.scripts/commands/bench/bench.sh" runtime kusama runtime_parachains::paras_inherent
      
      * ".git/.scripts/commands/bench/bench.sh" runtime westend runtime_parachains::paras_inherent
      
      * Merge fix.
      
      * Fix tests.
      
      * Remove obsolete comment.
      
      * ".git/.scripts/commands/bench/bench.sh" runtime polkadot runtime_parachains::paras_inherent
      
      * ".git/.scripts/commands/bench/bench.sh" runtime westend runtime_parachains::paras_inherent
      
      * ".git/.scripts/commands/bench/bench.sh" runtime kusama runtime_parachains::paras_inherent
      
      * Review remarks, fixes.
      
      * Guide updates.
      
      * Fmt.
      
      * ".git/.scripts/commands/bench/bench.sh" runtime polkadot runtime_parachains::paras_inherent
      
      ---------
      
      Co-authored-by: default avatareskimor <[email protected]>
      Co-authored-by: command-bot <>
      596a9ccd
  19. May 21, 2023
  20. May 19, 2023
  21. Apr 08, 2023
  22. Mar 21, 2023
  23. Mar 20, 2023
  24. 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
  25. 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
  26. Jan 11, 2023
  27. 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
  28. Nov 01, 2022
  29. Sep 12, 2022
    • Sergej Sakac's avatar
      Companion for #11981 (#5915) · 8ea6076f
      Sergej Sakac authored
      
      
      * Companion for #11981
      
      * more renaming
      
      * fmt
      
      * fixes
      
      * add generic type
      
      * Companion for #11831
      
      * fix
      
      * revert changes
      
      * Delete rename-outer-enum.diff
      
      * revert
      
      * Update run_benches_for_runtime.sh
      
      * rename type Call & type Event
      
      * passing tests
      
      * fmt
      
      * small fixes
      
      * commit
      
      * fix
      
      * fmt
      
      * commit
      
      * error fixes
      
      * fix
      
      * small fix in test
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * remove RuntimeCall from pallet_grandpa
      
      * last fix
      
      * commit
      
      * rename
      
      * merge fix
      
      * update lockfile for {"substrate"}
      
      * cargo +nightly fmt
      
      * fix
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      8ea6076f
  30. Aug 31, 2022
    • Shawn Tabrizi's avatar
      Companion for Weight v1.5 (#5943) · 28e94d97
      Shawn Tabrizi authored
      * fix to latest substrate pr
      
      * update weights
      
      * cargo build -p polkadot-runtime-parachains
      
      * fix xcm-builder
      
      * fix import
      
      * fix a bunch
      
      * fix a bunch of weight stuff
      
      * kusama compile
      
      * unused
      
      * builds
      
      * maybe fix
      
      * cargo test -p polkadot-runtime-parachains
      
      * xcm simulator example
      
      * fix tests
      
      * xcm sim fuzz
      
      * fix runtime tests
      
      * remove unused
      
      * fix integration tests
      
      * scalar div
      
      * update lockfile for {"substrate"}
      
      Co-authored-by: parity-processbot <>
      28e94d97
  31. May 30, 2022
  32. May 11, 2022
  33. Apr 21, 2022
    • asynchronous rob's avatar
      Prepare for network protocol version upgrades (#5084) · fc4b04db
      asynchronous rob authored
      * explicitly tag network requests with version
      
      * fmt
      
      * make PeerSet more aware of versioning
      
      * some generalization of the network bridge to support upgrades
      
      * walk back some renaming
      
      * walk back some version stuff
      
      * extract version from fallback
      
      * remove V1 from NetworkBridgeUpdate
      
      * add accidentally-removed timer
      
      * implement focusing for versioned messages
      
      * fmt
      
      * fix up network bridge & tests
      
      * remove inaccurate version check in bridge
      
      * remove some TODO [now]s
      
      * fix fallout in statement distribution
      
      * fmt
      
      * fallout in gossip-support
      
      * fix fallout in collator-protocol
      
      * fix fallout in bitfield-distribution
      
      * fix fallout in approval-distribution
      
      * fmt
      
      * use never!
      
      * fmt
      fc4b04db
  34. 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
  35. Mar 08, 2022
  36. Feb 25, 2022
  37. Jan 28, 2022
  38. Jan 20, 2022
    • Oliver Tale-Yazdi's avatar
      co #10662: Require `MaxEncodedLen` per default (#4746) · 3d61cc01
      Oliver Tale-Yazdi authored
      
      
      * Add `without_storage_info`
      
      The MaxEncodedLen trait is now enforced by default in Substrate.
      All pallets missing an implementation need to be marked with
      `without_storage_info` now.
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Remove `generate_storage_info`
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Add more `without_storage_info`
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * update lockfile for {"substrate"}
      
      Co-authored-by: parity-processbot <>
      3d61cc01
    • 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