Skip to content
  1. Nov 01, 2023
  2. Oct 31, 2023
  3. Oct 24, 2023
    • Oliver Tale-Yazdi's avatar
      Improve features dev-ex (#1831) · 4a443567
      Oliver Tale-Yazdi authored
      
      
      Adds a config file that allows to run `zepter` without any arguments in
      the workspace to address all issues.
      A secondary workflow for the CI is provided as `zepter run check`. Both
      the formatting and linting are now in one check for efficiancy.
      
      The latest version also detects some more things that `featalign` was
      already showing.
      
      Error message [in the
      CI](https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/3916205)
      now looks like this:
      ```pre
      ...
      crate 'test-parachains' (/Users/vados/Documents/work/polkadot-sdk/polkadot/parachain/test-parachains/Cargo.toml)
        feature 'std'
          must propagate to:
            parity-scale-codec
      Found 55 issues (run with --fix to fix).
      Error: Command 'lint propagate-feature' failed with exit code 1
      
      Polkadot-SDK uses the Zepter CLI to detect abnormalities in the feature configuration.
      It looks like one more more checks failed; please check the console output. You can try to automatically address them by running `zepter`.
      Otherwise please ask directly in the Merge Request, GitHub Discussions or on Matrix Chat, thank you.
      
      For more information, see:
        - https://github.com/paritytech/polkadot-sdk/issues/1831
        - https://github.com/ggwpez/zepter
      ```
      
      TODO:
      - [x] Check that CI fails correctly
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      4a443567
  4. Oct 20, 2023
    • Bastian Köcher's avatar
      `xcm`: Change `TypeInfo::path` to not include `staging` (#1948) · f3bf5c1a
      Bastian Köcher authored
      
      
      The `xcm` crate was renamed to `staging-xcm` to be able to publish it to
      crates.io as someone as squatted `xcm`. The problem with this rename is
      that the `TypeInfo` includes the crate name which ultimately lands in
      the metadata. The metadata is consumed by downstream users like
      `polkadot-js` or people building on top of `polkadot-js`. These people
      are using the entire `path` to find the type in the type registry. Thus,
      their code would break as the type path would now be [`staging_xcm`,
      `VersionedXcm`] instead of [`xcm`, `VersionedXcm`]. This pull request
      fixes this by renaming the path segment `staging_xcm` to `xcm`.
      
      This requires: https://github.com/paritytech/scale-info/pull/197
      
      ---------
      
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      f3bf5c1a
  5. Oct 18, 2023
    • Keith Yeung's avatar
      Introduce XcmFeesToAccount fee manager (#1234) · 3dece311
      Keith Yeung authored
      
      
      Combination of paritytech/polkadot#7005, its addon PR
      paritytech/polkadot#7585 and its companion paritytech/cumulus#2433.
      
      This PR introduces a new XcmFeesToAccount struct which implements the
      `FeeManager` trait, and assigns this struct as the `FeeManager` in the
      XCM config for all runtimes.
      
      The struct simply deposits all fees handled by the XCM executor to a
      specified account. In all runtimes, the specified account is configured
      as the treasury account.
      
      XCM __delivery__ fees are now being introduced (unless the root origin
      is sending a message to a system parachain on behalf of the originating
      chain).
      
      # Note for reviewers
      
      Most file changes are tests that had to be modified to account for the
      new fees.
      Main changes are in:
      - cumulus/pallets/xcmp-queue/src/lib.rs <- To make it track the delivery
      fees exponential factor
      - polkadot/xcm/xcm-builder/src/fee_handling.rs <- Added. Has the
      FeeManager implementation
      - All runtime xcm_config files <- To add the FeeManager to the XCM
      configuration
      
      # Important note
      
      After this change, instructions that create and send a new XCM (Query*,
      Report*, ExportMessage, InitiateReserveWithdraw, InitiateTeleport,
      DepositReserveAsset, TransferReserveAsset, LockAsset and RequestUnlock)
      will require the corresponding origin account in the origin register to
      pay for transport delivery fees, and the onward message will fail to be
      sent if the origin account does not have the required amount. This
      delivery fee is on top of what we already collect as tx fees in
      pallet-xcm and XCM BuyExecution fees!
      
      Wallet UIs that want to expose the new delivery fee can do so using the
      formula:
      
      ```
      delivery_fee_factor * (base_fee + encoded_msg_len * per_byte_fee)
      ```
      
      where the delivery fee factor can be obtained from the corresponding
      pallet based on which transport you are using (UMP, HRMP or bridges),
      the base fee is a constant, the encoded message length from the message
      itself and the per byte fee is the same as the configured per byte fee
      for txs (i.e. `TransactionByteFee`).
      
      ---------
      
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarGiles Cope <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      3dece311
  6. Sep 14, 2023
    • Muharem Ismailov's avatar
      Enable `runtime-benchmarks` feature for crates (#1544) · 49c4b201
      Muharem Ismailov authored
      Enable `runtime-benchmarks` feature for `parachain-common` and
      `cumulus-primitives-utility` crates' dependencies.
      
      After adding `runtime-benchmarks = []` under `features` category in
      `Cargo.toml` files for the creates, I did run,
      > zepter lint propagate-feature --feature runtime-benchmarks --workspace
      --fix --feature-enables-dep="runtime-benchmarks:frame-benchmarking"
      
      This changes required for
      https://github.com/paritytech/polkadot-sdk/pull/1333
      49c4b201
  7. Aug 31, 2023
  8. Aug 30, 2023
  9. Aug 29, 2023
  10. Aug 28, 2023
  11. Aug 25, 2023
  12. 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 <[email protected]>
      
      * 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 <[email protected]>
      
      * fix test warning
      
      * fix doc link
      
      ---------
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * 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 <[email protected]>
      
      * 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 <[email protected]>
      
      ---------
      
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      
      * 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 <[email protected]>
      
      * 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. <[email protected]>
      
      * (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 <[email protected]>
      Co-authored-by: default avatarIgnacio Palacios <[email protected]>
      Co-authored-by: default avatarBradley Olson <[email protected]>
      Co-authored-by: default avatarMarcin S. <[email protected]>
      Co-authored-by: default avatareskimor <[email protected]>
      Co-authored-by: default avatarAndronik <[email protected]>
      6ef11176
  13. Aug 15, 2023
  14. Aug 14, 2023
  15. Aug 01, 2023
    • Branislav Kontur's avatar
      Companion for Polkadot#7563 (#2956) · a4ae46b7
      Branislav Kontur authored
      * `XcmContext` to `buy_weight / refund_weight`
      
      * Fix tests
      
      * Fix more tests
      
      * update lockfile for {"substrate", "polkadot"}
      
      ---------
      
      Co-authored-by: parity-processbot <>
      a4ae46b7
  16. Jul 22, 2023
  17. 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
  18. Jul 06, 2023
  19. Jul 05, 2023
  20. Jul 03, 2023
  21. Jun 22, 2023
  22. Jun 13, 2023
  23. May 31, 2023
  24. May 25, 2023
    • Gavin Wood's avatar
      Companion for polkadot#7234 (XCM: Tools for uniquely referencing messages) (#2601) · ec21c0a2
      Gavin Wood authored
      * Fixes for new API
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Further fixes
      
      * XCMP dispatch events mention message ID
      
      * XCMP event includes ID
      
      * Add DMP message ID functionality
      
      * Integrate into test parachains
      
      * Remove WithUniqueTopic usage
      
      * Use new primitive
      
      * Formatting
      
      * undiener
      
      * Revert lock
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * message_hash becomes message_id
      
      * Rename
      
      * Another Rename
      
      * Fixes
      
      * Fix
      
      * Bump
      
      * Fixes
      
      * Grumble.
      ec21c0a2
  25. May 23, 2023
  26. May 21, 2023
    • Bastian Köcher's avatar
      Switch to `relay_dispatch_queue_remaining_capacity` (#2608) · 3a20b3d7
      Bastian Köcher authored
      * Switch to `relay_dispatch_queue_remaining_capacity`
      
      This switches the parachain runtimes to use `relay_dispatch_queue_remaining_capacity` when possible.
      If the data is not yet available on the relay chain it falls back to `relay_dispatch_queue_size`. It
      will require that all parachains migrate to `relay_dispatch_queue_remaining_capacity` before we can
      start removing the call to `relay_dipatch_queue_size`.
      
      Besides that the pr adapts the xcm exumulator to make it work with the message queue.
      
      * Fix test and use correct types
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      ---------
      
      Co-authored-by: command-bot <>
      3a20b3d7
  27. May 17, 2023
  28. May 13, 2023
  29. May 06, 2023
  30. May 02, 2023
  31. Apr 11, 2023
  32. Apr 01, 2023
  33. Mar 30, 2023
  34. Mar 28, 2023
  35. Mar 27, 2023
  36. Mar 24, 2023