Skip to content
Snippets Groups Projects
  1. Mar 13, 2025
  2. Feb 07, 2025
    • Przemek Rzad's avatar
      Ensure license headers match the Cargo manifest licenses (#5776) · 3726493d
      Przemek Rzad authored
      
      - Closes https://github.com/paritytech/license-scanner/issues/44
      - Silent because only comments are changed in the crates.
      
      ## What's inside
      
      First, we change the file traversal mechanism from shell globbing to
      walking through files which happens inside the `license-scanner` - so it
      has knowledge about directory structure and can correlate files with
      corresponding Cargo manifest.
      
      Next, added `MIT-0` and `Unlicense` to the allowed list of licenses.
      `Unlicense` appears only once across {Substrate,Cumulus,Polkadot} - in
      `penpal-runtime`.
      
      Finally, updated headers in files that do not match the corresponding
      manifest license.
      
      ---------
      
      Co-authored-by: Yuri Volkov's avatarcornholio <0@mcornholio.ru>
      3726493d
  3. Jul 05, 2024
    • Sebastian Kunert's avatar
      Introduce basic slot-based collator (#4097) · e44f61af
      Sebastian Kunert authored
      
      Part of #3168 
      On top of #3568
      
      ### Changes Overview
      - Introduces a new collator variant in
      `cumulus/client/consensus/aura/src/collators/slot_based/mod.rs`
      - Two tasks are part of that module, one for block building and one for
      collation building and submission.
      - Introduces a new variant of `cumulus-test-runtime` which has 2s slot
      duration, used for zombienet testing
      - Zombienet tests for the new collator
      
      **Note:** This collator is considered experimental and should only be
      used for testing and exploration for now.
      
      ### Comparison with `lookahead` collator
      - The new variant is slot based, meaning it waits for the next slot of
      the parachain, then starts authoring
      - The search for potential parents remains mostly unchanged from
      lookahead
      - As anchor, we use the current best relay parent
      - In general, the new collator tends to be anchored to one relay parent
      earlier. `lookahead` generally waits for a new relay block to arrive
      before it attempts to build a block. This means the actual timing of
      parachain blocks depends on when the relay block has been authored and
      imported. With the slot-triggered approach we are authoring directly on
      the slot boundary, were a new relay chain block has probably not yet
      arrived.
      
      ### Limitations
      - Overall, the current implementation focuses on the "happy path"
      - We assume that we want to collate close to the tip of the relay chain.
      It would be useful however to have some kind of configurable drift, so
      that we could lag behind a bit.
      https://github.com/paritytech/polkadot-sdk/issues/3965
      - The collation task is pretty dumb currently. It checks if we have
      cores scheduled and if yes, submits all the messages we have received
      from the block builder until we have something submitted for every core.
      Ideally we should do some extra checks, i.e. we do not need to submit if
      the built block is already too old (build on a out of range relay
      parent) or was authored with a relay parent that is not an ancestor of
      the relay block we are submitting at.
      https://github.com/paritytech/polkadot-sdk/issues/3966
      - There is no throttling, we assume that we can submit _velocity_ blocks
      every relay chain block. There should be communication between the
      collator task and block-builder task.
      - The parent search and ConsensusHook are not yet properly adjusted. The
      parent search makes assumptions about the pending candidate which no
      longer hold. https://github.com/paritytech/polkadot-sdk/issues/3967
      - Custom triggers for block building not implemented.
      
      ---------
      
      Co-authored-by: default avatarDavide Galassi <davxy@datawok.net>
      Co-authored-by: default avatarAndrei Sandu <54316454+sandreim@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarJavier Viola <363911+pepoviola@users.noreply.github.com>
      Co-authored-by: command-bot <>
      e44f61af
  4. Apr 28, 2024
    • Squirrel's avatar
      remove unnessisary use statements due to 2021 core prelude (#4183) · 954150f3
      Squirrel authored
      Some traits are already included in the 2021 prelude and so shouldn't be
      needed to use explicitly:
      
      use `convert::TryFrom`, `convert::TryInto`, and `iter::FromIterator` are
      removed.
      
      ( https://doc.rust-lang.org/core/prelude/rust_2021/ )
      
      No breaking changes or change of functionality, so I think no PR doc is
      needed in this case.
      
      (Motivation: Removes some references to `sp-std`)
      954150f3
  5. Feb 13, 2024
    • Bastian Köcher's avatar
      Parachains-Aura: Only produce once per slot (#3308) · aa68ea58
      Bastian Köcher authored
      Given how the block production is driven for Parachains right now, with
      the enabling of async backing we would produce two blocks per slot.
      Until we have a proper collator implementation, the "hack" is to prevent
      the production of multiple blocks per slot.
      
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/3282
      aa68ea58
  6. Jan 05, 2024
    • Bastian Köcher's avatar
      `cumulus-primitives-parachain-inherent`: Split into two crates (#2803) · 930c1519
      Bastian Köcher authored
      This splits `cumulus-primitives-parachain-inherent` into two crates, the
      previous `cumulus-primitives-parachain-inherent` and a new
      `cumulus-client-parachain-inherent`. The idea behind this is to move the
      `create_at` logic into the client crate. This removes quite a lot of
      unrelated dependencies from the runtime std build and thus, makes the
      compilation faster. On my Laptop the compilation is goes down by one
      minute for `asset-hub-rococo-runtime`. I also assume that the full build
      of the entire workspace probably can be speed-up a little bit, because
      more stuff can be compiled in parallel.
      
      ---------
      
      Co-authored-by: command-bot <>
      930c1519
  7. Jan 04, 2024
    • asynchronous rob's avatar
      proposer: return optional block (#2834) · 19de1c96
      asynchronous rob authored
      This opens up the proposer to only optionally create blocks. Nodes may
      only make blocks when there are transactions or the chain is scheduled.
      
      ---------
      
      Co-authored-by: command-bot <>
      19de1c96
  8. Aug 30, 2023
  9. Aug 18, 2023
    • Chris Sosnin's avatar
      Asynchronous backing PR (#2300) · 6ef11176
      Chris Sosnin authored
      
      * Update substrate & polkadot
      
      * min changes to make async backing compile
      
      * (async backing) parachain-system: track limitations for unincluded blocks (#2438)
      
      * unincluded segment draft
      
      * read para head from storage proof
      
      * read_para_head -> read_included_para_head
      
      * Provide pub interface
      
      * add errors
      
      * fix unincluded segment update
      
      * BlockTracker -> Ancestor
      
      * add a dmp limit
      
      * Read para head depending on the storage switch
      
      * doc comments
      
      * storage items docs
      
      * add a sanity check on block initialize
      
      * Check watermark
      
      * append to the segment on block finalize
      
      * Move segment update into set_validation_data
      
      * Resolve para head todo
      
      * option watermark
      
      * fix comment
      
      * Drop dmq check
      
      * fix weight
      
      * doc-comments on inherent invariant
      
      * Remove TODO
      
      * add todo
      
      * primitives tests
      
      * pallet tests
      
      * doc comments
      
      * refactor unincluded segment length into a ConsensusHook (#2501)
      
      * refactor unincluded segment length into a ConsensusHook
      
      * add docs
      
      * refactor bandwidth_out calculation
      
      Co-authored-by: default avatarChris Sosnin <48099298+slumber@users.noreply.github.com>
      
      * test for limits from impl
      
      * fmt
      
      * make tests compile
      
      * update comment
      
      * uncomment test
      
      * fix collator test by adding parent to state proof
      
      * patch HRMP watermark rules for unincluded segment
      
      * get consensus-common tests to pass, using unincluded segment
      
      * fix unincluded segment tests
      
      * get all tests passing
      
      * fmt
      
      * rustdoc CI
      
      * aura-ext: limit the number of authored blocks per slot (#2551)
      
      * aura_ext consensus hook
      
      * reverse dependency
      
      * include weight into hook
      
      * fix tests
      
      * remove stray println
      
      Co-authored-by: default avatarChris Sosnin <48099298+slumber@users.noreply.github.com>
      
      * fix test warning
      
      * fix doc link
      
      ---------
      
      Co-authored-by: default avatarChris Sosnin <48099298+slumber@users.noreply.github.com>
      Co-authored-by: default avatarChris Sosnin <chris125_@live.com>
      
      * parachain-system: ignore go ahead signal once upgrade is processed (#2594)
      
      * handle goahead signal for unincluded segment
      
      * doc comment
      
      * add test
      
      * parachain-system: drop processed messages from inherent data (#2590)
      
      * implement `drop_processed_messages`
      
      * drop messages based on relay parent number
      
      * adjust tests
      
      * drop changes to mqc
      
      * fix comment
      
      * drop test
      
      * drop more dead code
      
      * clippy
      
      * aura-ext: check slot in consensus hook and remove all `CheckInherents` logic (#2658)
      
      * aura-ext: check slot in consensus hook
      
      * convert relay chain slot
      
      * Make relay chain slot duration generic
      
      * use fixed velocity hook for pallets with aura
      
      * purge timestamp inherent
      
      * fix warning
      
      * adjust runtime tests
      
      * fix slots in tests
      
      * Make `xcm-emulator` test pass for new consensus hook (#2722)
      
      * add pallets on_initialize
      
      * tests pass
      
      * add AuraExt on_init
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      ---------
      
      Co-authored-by: command-bot <>
      
      ---------
      
      Co-authored-by: default avatarIgnacio Palacios <ignacio.palacios.santos@gmail.com>
      
      * update polkadot git refs
      
      * CollationGenerationConfig closure is now optional (#2772)
      
      * CollationGenerationConfig closure is now optional
      
      * fix test
      
      * propagate network-protocol-staging feature (#2899)
      
      * Feature Flagging Consensus Hook Type Parameter (#2911)
      
      * First pass
      
      * fmt
      
      * Added as default feature in tomls
      
      * Changed to direct dependency feature
      
      * Dealing with clippy error
      
      * Update pallets/parachain-system/src/lib.rs
      
      Co-authored-by: default avatarasynchronous rob <rphmeier@gmail.com>
      
      ---------
      
      Co-authored-by: default avatarasynchronous rob <rphmeier@gmail.com>
      
      * fmt
      
      * bump deps and remove warning
      
      * parachain-system: update RelevantMessagingState according to the unincluded segment (#2948)
      
      * mostly address 2471 with a bug introduced
      
      * adjust relevant messaging state after computing total
      
      * fmt
      
      * max -> min
      
      * fix test implementation of xcmp source
      
      * add test
      
      * fix test message sending logic
      
      * fix + test
      
      * add more to unincluded segment test
      
      * fmt
      
      ---------
      
      Co-authored-by: default avatarChris Sosnin <chris125_@live.com>
      
      * Integrate new Aura / Parachain Consensus Logic in Parachain-Template / Polkadot-Parachain (#2864)
      
      * add a comment
      
      * refactor client/service utilities
      
      * deprecate start_collator
      
      * update parachain-template
      
      * update test-service in the same way
      
      * update polkadot-parachain crate
      
      * fmt
      
      * wire up new SubmitCollation message
      
      * some runtime utilities for implementing unincluded segment runtime APIs
      
      * allow parachains to configure their level of sybil-resistance when starting the network
      
      * make aura-ext compile
      
      * update to specify sybil resistance levels
      
      * fmt
      
      * specify relay chain slot duration in milliseconds
      
      * update Aura to explicitly produce Send futures
      
      also, make relay_chain_slot_duration a Duration
      
      * add authoring duration to basic collator and document params
      
      * integrate new basic collator into parachain-template
      
      * remove assert_send used for testing
      
      * basic-aura: only author when parent included
      
      * update polkadot-parachain-bin
      
      * fmt
      
      * some fixes
      
      * fixes
      
      * add a RelayNumberMonotonicallyIncreases
      
      * add a utility function for initializing subsystems
      
      * some logging for timestamp adjustment
      
      * fmt
      
      * some fixes for lookahead collator
      
      * add a log
      
      * update `find_potential_parents` to account for sessions
      
      * bound the loop
      
      * restore & deprecate old start_collator and start_full_node functions.
      
      * remove unnecessary await calls
      
      * fix warning
      
      * clippy
      
      * more clippy
      
      * remove unneeded logic
      
      * ci
      
      * update comment
      
      Co-authored-by: default avatarMarcin S. <marcin@bytedude.com>
      
      * (async backing) restore `CheckInherents` for backwards-compatibility (#2977)
      
      * bring back timestamp
      
      * Restore CheckInherents
      
      * revert to empty CheckInherents
      
      * make CheckInherents optional
      
      * attempt
      
      * properly end system blocks
      
      * add some more comments
      
      * ignore failing system parachain tests
      
      * update refs after main feature branch merge
      
      * comment out the offending tests because CI runs ignored tests
      
      * fix warnings
      
      * fmt
      
      * revert to polkadot master
      
      * cargo update -p polkadot-primitives -p sp-io
      
      ---------
      
      Co-authored-by: default avatarasynchronous rob <rphmeier@gmail.com>
      Co-authored-by: default avatarIgnacio Palacios <ignacio.palacios.santos@gmail.com>
      Co-authored-by: default avatarBradley Olson <34992650+BradleyOlson64@users.noreply.github.com>
      Co-authored-by: default avatarMarcin S. <marcin@bytedude.com>
      Co-authored-by: default avatareskimor <eskimor@users.noreply.github.com>
      Co-authored-by: default avatarAndronik <write@reusable.software>
      6ef11176
  10. Aug 17, 2023
    • Bastian Köcher's avatar
      Companion for Substrate#14612 (#2923) · 02691d94
      Bastian Köcher authored
      * Companion for Substrate#14612
      
      https://github.com/paritytech/substrate/pull/14612
      
      * Remove patch
      
      * Cargo.lock
      
      * Fix
      
      * Fix compilation
      
      * Fix Fix
      
      * ...
      
      * :face_palm:
      
      * .................
      
      * update lockfile for {"polkadot", "substrate"}
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      ---------
      
      Co-authored-by: parity-processbot <>
      02691d94
  11. Jul 27, 2023
  12. Jul 25, 2023
  13. Jul 11, 2023
    • asynchronous rob's avatar
      Asynchronous-backing compatible Aura, not plugged in (#2573) · 406f92ad
      asynchronous rob authored
      * rough draft of potential parent search
      
      * get things compiling
      
      * fmt
      
      * add new function to all RelayChainInterface implementations
      
      * fix compilation
      
      * set slot and timestamp based on relay parent, prepare for find-parent
      
      * skeleton of new aura logic
      
      * fmt
      
      * introduce a collator module in the Aura crate
      
      * extract different implementations into own modules
      
      * make interface more convenient
      
      * docs and todos for lookahead
      
      * refactor basic collator to use new collator utility
      
      * some more refactoring
      
      * finish most of the control flow for new aura
      
      * introduce backend as parameter
      
      * fix compilation
      
      * fix a couple more TODOs
      
      * add an `announce_block` function to collator service
      
      * announce with barrier
      
      * rename block announcement validator to be more specific
      
      * fmt
      
      * clean up unused import errors
      
      * update references to BlockAnnounceValidator
      
      * rename unstable_reimpl
      
      * add AuraUnincludedSegmentApi
      
      * finish rename
      
      * integrate AuraUnincludedSegmentApi
      
      * add a new block announcement validator for backwards compatibility
      
      * add some naive equivocation defenses
      
      * rustfmt
      
      * clean up remaining TODO [now]s
      
      * fmt
      
      * try to fix inprocess-interface
      
      * actually fix compilation
      
      * ignored -> rejected rephrase
      
      * fix test compilation
      
      * fmt
      
      * clippy
      406f92ad