Skip to content
Snippets Groups Projects
  1. Nov 28, 2024
  2. Sep 25, 2024
  3. Sep 02, 2024
    • Branislav Kontur's avatar
      [bridges-v2] Permissionless lanes (#4949) · 22100999
      Branislav Kontur authored
      Relates to:
      https://github.com/paritytech/parity-bridges-common/issues/2451
      Closes: https://github.com/paritytech/parity-bridges-common/issues/2500
      
      ## Summary
      
      Now, the bridging pallet supports only static lanes, which means lanes
      that are hard-coded in the runtime files. This PR fixes that and adds
      support for dynamic, also known as permissionless, lanes. This means
      that allowed origins (relay chain, sibling parachains) can open and
      close bridges (through BridgeHubs) with another bridged (substrate-like)
      consensus using just `xcm::Transact` and `OriginKind::Xcm`.
      
      _This PR is based on the migrated code from the Bridges V2
      [branch](https://github.com/paritytech/polkadot-sdk/pull/4427) from the
      old `parity-bridges-common`
      [repo](https://github.com/paritytech/parity-bridges-common/tree/bridges-v2)._
      
      ## Explanation
      
      Please read
      [bridges/modules/xcm-bridge-hub/src/lib.rs](https://github.com/paritytech/polkadot-sdk/blob/149b0ac2
      
      /bridges/modules/xcm-bridge-hub/src/lib.rs#L17-L136)
      to understand how managing bridges works. The basic concepts around
      `BridgeId` and `LaneId` are also explained there.
      
      
      ## TODO
      
      - [x] search and fix for comment: `// TODO:(bridges-v2) - most of that
      stuff was introduced with free header execution:
      https://github.com/paritytech/polkadot-sdk/pull/4102` - more info in the
      comment
      [bellow](https://github.com/paritytech/polkadot-sdk/pull/4427#issuecomment-2126625043)
      - [x] TODO: there's only one impl of `EnsureOrigin<Success = Location>`
      
      ## TODO - not blocking review
      
      **benchmarking:**
      - [x] regenerate all relevant weights for BH/AH runtimes
      - [ ] regenerate default weights for bridging pallets e.g.
      `modules/messages/src/weights.rs`
      - [ ] add benchmarks for `xcm-bridge-hub` pallet
      https://github.com/paritytech/polkadot-sdk/issues/5550
      
      **testing:**
      - [ ] add xcm-emulator tests for Rococo/Penpal to Westend/Penpal with
      full opening channel and sending/receiving `xcm::Transact`
      
      **migrations:**
      - [x] add migrations for BridgeHubRococo/Westend
      https://github.com/paritytech/parity-bridges-common/issues/2794 (to be
      reusable for P/K bridge)
        - [x] check also storage migration, if needed for pallets
        - [ ] migration for XCM type (optional)
        - [x] migration for static lanes to the dynamic (reuse for fellows)
      
      **investigation:**
      - [ ] revisit
      https://github.com/paritytech/parity-bridges-common/issues/2380
      - [ ] check congestion around `LocalXcmChannelManager` and
      `OutboundLanesCongestedSignals` impls -
      https://github.com/paritytech/polkadot-sdk/issues/5551
        - to be reusable for polkadot-fellows
      - return `report_bridge_status` was remove, so we need to `XcmpQueue`
      alternative?
      
      ---------
      
      Signed-off-by: default avatarBranislav Kontur <bkontur@gmail.com>
      Co-authored-by: default avatarSvyatoslav Nikolsky <svyatonik@gmail.com>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarFrancisco Aguirre <franciscoaguirreperez@gmail.com>
      22100999
  4. Jul 12, 2024
    • Branislav Kontur's avatar
      Bridges V2 refactoring backport and `pallet_bridge_messages` simplifications (#4935) · 1f8e4483
      Branislav Kontur authored
      ## Summary
      
      This PR contains migrated code from the Bridges V2
      [branch](https://github.com/paritytech/polkadot-sdk/pull/4427) from the
      old `parity-bridges-common`
      [repo](https://github.com/paritytech/parity-bridges-common/tree/bridges-v2).
      Even though the PR looks large, it does not (or should not) contain any
      significant changes (also not relevant for audit).
      This PR is a requirement for permissionless lanes, as they were
      implemented on top of these changes.
      
      ## TODO
      
      - [x] generate fresh weights for BridgeHubs
      - [x] run `polkadot-fellows` bridges zombienet tests with actual runtime
      1.2.5. or 1.2.6 to check compatibility
      - :ballot_box_with_check: working, checked with 1.2.8 fellows BridgeHubs
      - [x] run `polkadot-sdk` bridges zombienet tests
        - :ballot_box_with_check:
      
       with old relayer in CI (1.6.5) 
      - [x] run `polkadot-sdk` bridges zombienet tests (locally) - with the
      relayer based on this branch -
      https://github.com/paritytech/parity-bridges-common/pull/3022
      - [x] check/fix relayer companion in bridges repo -
      https://github.com/paritytech/parity-bridges-common/pull/3022
      - [x] extract pruning stuff to separate PR
      https://github.com/paritytech/polkadot-sdk/pull/4944
      
      Relates to:
      https://github.com/paritytech/parity-bridges-common/issues/2976
      Relates to:
      https://github.com/paritytech/parity-bridges-common/issues/2451
      
      ---------
      
      Signed-off-by: default avatarBranislav Kontur <bkontur@gmail.com>
      Co-authored-by: default avatarSerban Iorga <serban@parity.io>
      Co-authored-by: default avatarSvyatoslav Nikolsky <svyatonik@gmail.com>
      Co-authored-by: command-bot <>
      1f8e4483
  5. Apr 25, 2024
    • Svyatoslav Nikolsky's avatar
      Bridge: make some headers submissions free (#4102) · a633e954
      Svyatoslav Nikolsky authored
      
      supersedes https://github.com/paritytech/parity-bridges-common/pull/2873
      
      Draft because of couple of TODOs:
      - [x] fix remaining TODOs;
      - [x] double check that all changes from
      https://github.com/paritytech/parity-bridges-common/pull/2873 are
      correctly ported;
      - [x] create a separate PR (on top of that one or a follow up?) for
      https://github.com/paritytech/polkadot-sdk/tree/sv-try-new-bridge-fees;
      - [x] fix compilation issues (haven't checked, but there should be
      many).
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      a633e954
  6. Apr 15, 2024
  7. Apr 12, 2024
  8. Apr 10, 2024
    • Serban Iorga's avatar
      Backport changes from polkadot-sdk (#2899) · 1dba7e05
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      * Fix spelling mistakes across the whole repository (#3808)
      
      **Update:** Pushed additional changes based on the review comments.
      
      **This pull request fixes various spelling mistakes in this
      repository.**
      
      Most of the changes are contained in the first **3** commits:
      
      - `Fix spelling mistakes in comments and docs`
      
      - `Fix spelling mistakes in test names`
      
      - `Fix spelling mistakes in error messages, panic messages, logs and
      tracing`
      
      Other source code spelling mistakes are separated into individual
      commits for easier reviewing:
      
      - `Fix the spelling of 'authority'`
      
      - `Fix the spelling of 'REASONABLE_HEADERS_IN_JUSTIFICATION_ANCESTRY'`
      
      - `Fix the spelling of 'prev_enqueud_messages'`
      
      - `Fix the spelling of 'endpoint'`
      
      - `Fix the spelling of 'children'`
      
      - `Fix the spelling of 'PenpalSiblingSovereignAccount'`
      
      - `Fix the spelling of 'PenpalSudoAccount'`
      
      - `Fix the spelling of 'insufficient'`
      
      - `Fix the spelling of 'PalletXcmExtr...
      1dba7e05
    • Serban Iorga's avatar
      Backport changes from `polkadot-sdk/master` (#2887) · 79d9164f
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      * Add two new zombienet tests for bridges (manual run) (#3072)
      
      extracted useful code from #2982
      
      This PR:
      - adds test 2 for Rococo <> Westend bridge: checks that relayer doesn't
      submit any extra headers while there are no any messages;
      - adds test 3 for Rococo <> Westend bridge: checks that relayer doesn't
      submit any extra headers when there are messages;
      - fixes most of comments from #2439 (like: log names, ability to run
      specify test number when calling `run-tests.sh`).
      
      Right now of all our tests, only test 2 is working (until BHs will be
      upgraded to use async backing), so you can test it with
      `./bridges/zombienet/run-tests.sh --test 2` locally.
      
      (cherry picked from commit 2e6067d7)
      
      * [cumulus] Improved check for sane bridge fees calculations (#3175)
      
      - [x] change constants when CI fails (should fail :) )
      
      On the AssetHubRococo: 1701175800126 -> 1700929825257 = 0.15 %
      decreased.
      ```
      Feb 02 12:59:05.520 ERROR bridges::estimate: `bridging::XcmBridgeHubRouterBaseFee` actual value: 1701175800126 for runtime: statemine-1006000 (statemine-0.tx14.au1)
      
      Feb 02 13:02:40.647 ERROR bridges::estimate: `bridging::XcmBridgeHubRouterBaseFee` actual value: 1700929825257 for runtime: statemine-1006000 (statemine-0.tx14.au1)
      
      ```
      
      On the AssetHubWestend: 2116038876326 -> 1641718372993 = 22.4 %
      decreased.
      ```
      Feb 02 12:56:00.880 ERROR bridges::estimate: `bridging::XcmBridgeHubRouterBaseFee` actual value: 2116038876326 for runtime: westmint-1006000 (westmint-0.tx14.au1)
      
      Feb 02 13:04:42.515 ERROR bridges::estimate: `bridging::XcmBridgeHubRouterBaseFee` actual value: 1641718372993 for runtime: westmint-1006000 (westmint-0.tx14.au1)
      ```
      
      (cherry picked from commit 74b597fc
      
      )
      
      * Enable async backing on all testnet system chains (#2949)
      
      Built on top of https://github.com/paritytech/polkadot-sdk/pull/2826/
      which was a trial run.
      
      Guide:
      https://github.com/w3f/polkadot-wiki/blob/master/docs/maintain/maintain-guides-async-backing.md
      
      ---------
      
      Signed-off-by: default avatargeorgepisaltu <george.pisaltu@parity.io>
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
      Co-authored-by: default avatarDónal Murray <donal.murray@parity.io>
      Co-authored-by: default avatarDmitry Sinyavin <dmitry.sinyavin@parity.io>
      Co-authored-by: default avatars0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
      Co-authored-by: default avatarSvyatoslav Nikolsky <svyatonik@gmail.com>
      Co-authored-by: default avatarBastian Köcher <info@kchr.de>
      Co-authored-by: default avatargeorgepisaltu <52418509+georgepisaltu@users.noreply.github.com>
      (cherry picked from commit 700d5f85)
      
      * Introduce submit_finality_proof_ex call to bridges GRANDPA pallet (#3225)
      
      backport of
      https://github.com/paritytech/parity-bridges-common/pull/2821 (see
      detailed description there)
      
      (cherry picked from commit a4622071)
      
      * Bridge zombienet tests refactoring (#3260)
      
      Related to https://github.com/paritytech/polkadot-sdk/issues/3242
      
      Reorganizing the bridge zombienet tests in order to:
      - separate the environment spawning from the actual tests
      - offer better control over the tests and some possibility to
      orchestrate them as opposed to running everything from the zndsl file
      
      Only rewrote the asset transfer test using this new "framework". The old
      logic and old tests weren't functionally modified or deleted. The plan
      is to get feedback on this approach first and if this is agreed upon,
      migrate the other 2 tests later in separate PRs and also do other
      improvements later.
      
      (cherry picked from commit dfc8e469)
      
      * Bridges: add test 0002 to CI (#3310)
      
      Bridges: add test 0002 to CI
      (cherry picked from commit 1b66bb51)
      
      * Bridge zombienet tests - move all test scripts to the same folder (#3333)
      
      Related to https://github.com/paritytech/polkadot-sdk/issues/3242
      
      (cherry picked from commit 5fc7622c
      
      )
      
      * Lift dependencies to the workspace (Part 2/x) (#3366)
      
      Lifting some more dependencies to the workspace. Just using the
      most-often updated ones for now.
      It can be reproduced locally.
      
      ```sh
      $ zepter transpose dependency lift-to-workspace --ignore-errors syn quote thiserror "regex:^serde.*"
      
      $ zepter transpose dependency lift-to-workspace --version-resolver=highest syn quote thiserror "regex:^serde.*" --fix
      
      $ taplo format --config .config/taplo.toml
      ```
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      (cherry picked from commit e89d0fca)
      
      * Add support for BHP local and BHK local (#3443)
      
      Related to https://github.com/paritytech/polkadot-sdk/issues/3400
      
      Extracting small parts of
      https://github.com/paritytech/polkadot-sdk/pull/3429 into separate PR:
      
      - Add support for BHP local and BHK local
      - Increase the timeout for the bridge zomienet tests
      
      (cherry picked from commit e4b6b8cd)
      
      * Bridge zombienet tests: move all "framework" files under one folder (#3462)
      
      Related to https://github.com/paritytech/polkadot-sdk/issues/3400
      
      Moving all bridges testing "framework" files under one folder in order
      to be able to download the entire folder when we want to add tests in
      other repos
      
      No significant functional changes
      
      (cherry picked from commit 6fc1d41d)
      
      * Bridge zombienet tests: Check amount received at destination (#3490)
      
      Related to https://github.com/paritytech/polkadot-sdk/issues/3475
      
      (cherry picked from commit 2cdda0e6
      
      )
      
      * FRAME: Create `TransactionExtension` as a replacement for `SignedExtension` (#2280)
      
      Closes #2160
      
      First part of [Extrinsic
      Horizon](https://github.com/paritytech/polkadot-sdk/issues/2415)
      
      Introduces a new trait `TransactionExtension` to replace
      `SignedExtension`. Introduce the idea of transactions which obey the
      runtime's extensions and have according Extension data (né Extra data)
      yet do not have hard-coded signatures.
      
      Deprecate the terminology of "Unsigned" when used for
      transactions/extrinsics owing to there now being "proper" unsigned
      transactions which obey the extension framework and "old-style" unsigned
      which do not. Instead we have __*General*__ for the former and
      __*Bare*__ for the latter. (Ultimately, the latter will be phased out as
      a type of transaction, and Bare will only be used for Inherents.)
      
      Types of extrinsic are now therefore:
      - Bare (no hardcoded signature, no Extra data; used to be known as
      "Unsigned")
      - Bare transactions (deprecated): Gossiped, validated with
      `ValidateUnsigned` (deprecated) and the `_bare_compat` bits of
      `TransactionExtension` (deprecated).
        - Inherents: Not gossiped, validated with `ProvideInherent`.
      - Extended (Extra data): Gossiped, validated via `TransactionExtension`.
        - Signed transactions (with a hardcoded signature).
        - General transactions (without a hardcoded signature).
      
      `TransactionExtension` differs from `SignedExtension` because:
      - A signature on the underlying transaction may validly not be present.
      - It may alter the origin during validation.
      - `pre_dispatch` is renamed to `prepare` and need not contain the checks
      present in `validate`.
      - `validate` and `prepare` is passed an `Origin` rather than a
      `AccountId`.
      - `validate` may pass arbitrary information into `prepare` via a new
      user-specifiable type `Val`.
      - `AdditionalSigned`/`additional_signed` is renamed to
      `Implicit`/`implicit`. It is encoded *for the entire transaction* and
      passed in to each extension as a new argument to `validate`. This
      facilitates the ability of extensions to acts as underlying crypto.
      
      There is a new `DispatchTransaction` trait which contains only default
      function impls and is impl'ed for any `TransactionExtension` impler. It
      provides several utility functions which reduce some of the tedium from
      using `TransactionExtension` (indeed, none of its regular functions
      should now need to be called directly).
      
      Three transaction version discriminator ("versions") are now
      permissible:
      - 0b000000100: Bare (used to be called "Unsigned"): contains Signature
      or Extra (extension data). After bare transactions are no longer
      supported, this will strictly identify an Inherents only.
      - 0b100000100: Old-school "Signed" Transaction: contains Signature and
      Extra (extension data).
      - 0b010000100: New-school "General" Transaction: contains Extra
      (extension data), but no Signature.
      
      For the New-school General Transaction, it becomes trivial for authors
      to publish extensions to the mechanism for authorizing an Origin, e.g.
      through new kinds of key-signing schemes, ZK proofs, pallet state,
      mutations over pre-authenticated origins or any combination of the
      above.
      
      Wrap your `SignedExtension`s in `AsTransactionExtension`. This should be
      accompanied by renaming your aggregate type in line with the new
      terminology. E.g. Before:
      
      ```rust
      /// The SignedExtension to the basic transaction logic.
      pub type SignedExtra = (
      	/* snip */
      	MySpecialSignedExtension,
      );
      /// Unchecked extrinsic type as expected by this runtime.
      pub type UncheckedExtrinsic =
      	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
      ```
      
      After:
      
      ```rust
      /// The extension to the basic transaction logic.
      pub type TxExtension = (
      	/* snip */
      	AsTransactionExtension<MySpecialSignedExtension>,
      );
      /// Unchecked extrinsic type as expected by this runtime.
      pub type UncheckedExtrinsic =
      	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
      ```
      
      You'll also need to alter any transaction building logic to add a
      `.into()` to make the conversion happen. E.g. Before:
      
      ```rust
      fn construct_extrinsic(
      		/* snip */
      ) -> UncheckedExtrinsic {
      	let extra: SignedExtra = (
      		/* snip */
      		MySpecialSignedExtension::new(/* snip */),
      	);
      	let payload = SignedPayload::new(call.clone(), extra.clone()).unwrap();
      	let signature = payload.using_encoded(|e| sender.sign(e));
      	UncheckedExtrinsic::new_signed(
      		/* snip */
      		Signature::Sr25519(signature),
      		extra,
      	)
      }
      ```
      
      After:
      
      ```rust
      fn construct_extrinsic(
      		/* snip */
      ) -> UncheckedExtrinsic {
      	let tx_ext: TxExtension = (
      		/* snip */
      		MySpecialSignedExtension::new(/* snip */).into(),
      	);
      	let payload = SignedPayload::new(call.clone(), tx_ext.clone()).unwrap();
      	let signature = payload.using_encoded(|e| sender.sign(e));
      	UncheckedExtrinsic::new_signed(
      		/* snip */
      		Signature::Sr25519(signature),
      		tx_ext,
      	)
      }
      ```
      
      Most `SignedExtension`s can be trivially converted to become a
      `TransactionExtension`. There are a few things to know.
      
      - Instead of a single trait like `SignedExtension`, you should now
      implement two traits individually: `TransactionExtensionBase` and
      `TransactionExtension`.
      - Weights are now a thing and must be provided via the new function `fn
      weight`.
      
      This trait takes care of anything which is not dependent on types
      specific to your runtime, most notably `Call`.
      
      - `AdditionalSigned`/`additional_signed` is renamed to
      `Implicit`/`implicit`.
      - Weight must be returned by implementing the `weight` function. If your
      extension is associated with a pallet, you'll probably want to do this
      via the pallet's existing benchmarking infrastructure.
      
      Generally:
      - `pre_dispatch` is now `prepare` and you *should not reexecute the
      `validate` functionality in there*!
      - You don't get an account ID any more; you get an origin instead. If
      you need to presume an account ID, then you can use the trait function
      `AsSystemOriginSigner::as_system_origin_signer`.
      - You get an additional ticket, similar to `Pre`, called `Val`. This
      defines data which is passed from `validate` into `prepare`. This is
      important since you should not be duplicating logic from `validate` to
      `prepare`, you need a way of passing your working from the former into
      the latter. This is it.
      - This trait takes two type parameters: `Call` and `Context`. `Call` is
      the runtime call type which used to be an associated type; you can just
      move it to become a type parameter for your trait impl. `Context` is not
      currently used and you can safely implement over it as an unbounded
      type.
      - There's no `AccountId` associated type any more. Just remove it.
      
      Regarding `validate`:
      - You get three new parameters in `validate`; all can be ignored when
      migrating from `SignedExtension`.
      - `validate` returns a tuple on success; the second item in the tuple is
      the new ticket type `Self::Val` which gets passed in to `prepare`. If
      you use any information extracted during `validate` (off-chain and
      on-chain, non-mutating) in `prepare` (on-chain, mutating) then you can
      pass it through with this. For the tuple's last item, just return the
      `origin` argument.
      
      Regarding `prepare`:
      - This is renamed from `pre_dispatch`, but there is one change:
      - FUNCTIONALITY TO VALIDATE THE TRANSACTION NEED NOT BE DUPLICATED FROM
      `validate`!!
      - (This is different to `SignedExtension` which was required to run the
      same checks in `pre_dispatch` as in `validate`.)
      
      Regarding `post_dispatch`:
      - Since there are no unsigned transactions handled by
      `TransactionExtension`, `Pre` is always defined, so the first parameter
      is `Self::Pre` rather than `Option<Self::Pre>`.
      
      If you make use of `SignedExtension::validate_unsigned` or
      `SignedExtension::pre_dispatch_unsigned`, then:
      - Just use the regular versions of these functions instead.
      - Have your logic execute in the case that the `origin` is `None`.
      - Ensure your transaction creation logic creates a General Transaction
      rather than a Bare Transaction; this means having to include all
      `TransactionExtension`s' data.
      - `ValidateUnsigned` can still be used (for now) if you need to be able
      to construct transactions which contain none of the extension data,
      however these will be phased out in stage 2 of the Transactions Horizon,
      so you should consider moving to an extension-centric design.
      
      - [x] Introduce `CheckSignature` impl of `TransactionExtension` to
      ensure it's possible to have crypto be done wholly in a
      `TransactionExtension`.
      - [x] Deprecate `SignedExtension` and move all uses in codebase to
      `TransactionExtension`.
        - [x] `ChargeTransactionPayment`
        - [x] `DummyExtension`
        - [x] `ChargeAssetTxPayment` (asset-tx-payment)
        - [x] `ChargeAssetTxPayment` (asset-conversion-tx-payment)
        - [x] `CheckWeight`
        - [x] `CheckTxVersion`
        - [x] `CheckSpecVersion`
        - [x] `CheckNonce`
        - [x] `CheckNonZeroSender`
        - [x] `CheckMortality`
        - [x] `CheckGenesis`
        - [x] `CheckOnlySudoAccount`
        - [x] `WatchDummy`
        - [x] `PrevalidateAttests`
        - [x] `GenericSignedExtension`
        - [x] `SignedExtension` (chain-polkadot-bulletin)
        - [x] `RefundSignedExtensionAdapter`
      - [x] Implement `fn weight` across the board.
      - [ ] Go through all pre-existing extensions which assume an account
      signer and explicitly handle the possibility of another kind of origin.
      - [x] `CheckNonce` should probably succeed in the case of a non-account
      origin.
      - [x] `CheckNonZeroSender` should succeed in the case of a non-account
      origin.
      - [x] `ChargeTransactionPayment` and family should fail in the case of a
      non-account origin.
        - [ ]
      - [x] Fix any broken tests.
      
      ---------
      
      Signed-off-by: default avatargeorgepisaltu <george.pisaltu@parity.io>
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Signed-off-by: default avatarAlexandru Gheorghe <alexandru.gheorghe@parity.io>
      Signed-off-by: default avatarAndrei Sandu <andrei-mihail@parity.io>
      Co-authored-by: default avatarNikhil Gupta <17176722+gupnik@users.noreply.github.com>
      Co-authored-by: default avatargeorgepisaltu <52418509+georgepisaltu@users.noreply.github.com>
      Co-authored-by: default avatarChevdor <chevdor@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarMaciej <maciej.zyszkiewicz@parity.io>
      Co-authored-by: default avatarJavier Viola <javier@parity.io>
      Co-authored-by: default avatarMarcin S. <marcin@realemail.net>
      Co-authored-by: default avatarTsvetomir Dimitrov <tsvetomir@parity.io>
      Co-authored-by: default avatarJavier Bullrich <javier@bullrich.dev>
      Co-authored-by: default avatarKoute <koute@users.noreply.github.com>
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      Co-authored-by: Vladimir Istyufeev's avatarVladimir Istyufeev <vladimir@parity.io>
      Co-authored-by: default avatarRoss Bulat <ross@parity.io>
      Co-authored-by: default avatarGonçalo Pestana <g6pestana@gmail.com>
      Co-authored-by: default avatarLiam Aharon <liam.aharon@hotmail.com>
      Co-authored-by: default avatarSvyatoslav Nikolsky <svyatonik@gmail.com>
      Co-authored-by: default avatarAndré Silva <123550+andresilva@users.noreply.github.com>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatars0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
      Co-authored-by: default avatarordian <write@reusable.software>
      Co-authored-by: default avatarSebastian Kunert <skunert49@gmail.com>
      Co-authored-by: default avatarAaro Altonen <48052676+altonen@users.noreply.github.com>
      Co-authored-by: default avatarDmitry Markin <dmitry@markin.tech>
      Co-authored-by: default avatarAlexandru Vasile <60601340+lexnv@users.noreply.github.com>
      Co-authored-by: default avatarAlexander Samusev <41779041+alvicsam@users.noreply.github.com>
      Co-authored-by: default avatarJulian Eager <eagr@tutanota.com>
      Co-authored-by: default avatarMichal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com>
      Co-authored-by: default avatarDavide Galassi <davxy@datawok.net>
      Co-authored-by: default avatarDónal Murray <donal.murray@parity.io>
      Co-authored-by: default avataryjh <yjh465402634@gmail.com>
      Co-authored-by: default avatarTom Mi <tommi@niemi.lol>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarWill | Paradox | ParaNodes.io <79228812+paradox-tt@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <info@kchr.de>
      Co-authored-by: default avatarJoshy Orndorff <JoshOrndorff@users.noreply.github.com>
      Co-authored-by: default avatarJoshy Orndorff <git-user-email.h0ly5@simplelogin.com>
      Co-authored-by: default avatarPG Herveou <pgherveou@gmail.com>
      Co-authored-by: default avatarAlexander Theißen <alex.theissen@me.com>
      Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
      Co-authored-by: default avatarJuan Girini <juangirini@gmail.com>
      Co-authored-by: default avatarbader y <ibnbassem@gmail.com>
      Co-authored-by: default avatarJames Wilson <james@jsdw.me>
      Co-authored-by: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      Co-authored-by: default avatarasynchronous rob <rphmeier@gmail.com>
      Co-authored-by: default avatarParth <desaiparth08@gmail.com>
      Co-authored-by: default avatarAndrew Jones <ascjones@gmail.com>
      Co-authored-by: default avatarJonathan Udd <jonathan@dwellir.com>
      Co-authored-by: default avatarSerban Iorga <serban@parity.io>
      Co-authored-by: default avatarEgor_P <egor@parity.io>
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
      Co-authored-by: default avatarEvgeny Snitko <evgeny@parity.io>
      Co-authored-by: default avatarJust van Stam <vstam1@users.noreply.github.com>
      Co-authored-by: default avatarFrancisco Aguirre <franciscoaguirreperez@gmail.com>
      Co-authored-by: default avatargupnik <nikhilgupta.iitk@gmail.com>
      Co-authored-by: default avatardzmitry-lahoda <dzmitry@lahoda.pro>
      Co-authored-by: default avatarzhiqiangxu <652732310@qq.com>
      Co-authored-by: default avatarNazar Mokrynskyi <nazar@mokrynskyi.com>
      Co-authored-by: default avatarAnwesh <anweshknayak@gmail.com>
      Co-authored-by: default avatarcheme <emericchevalier.pro@gmail.com>
      Co-authored-by: default avatarSam Johnson <sam@durosoft.com>
      Co-authored-by: default avatarkianenigma <kian@parity.io>
      Co-authored-by: default avatarJegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
      Co-authored-by: default avatarMuharem <ismailov.m.h@gmail.com>
      Co-authored-by: default avatarjoepetrowski <joe@parity.io>
      Co-authored-by: default avatarAlexandru Gheorghe <49718502+alexggh@users.noreply.github.com>
      Co-authored-by: default avatarGabriel Facco de Arruda <arrudagates@gmail.com>
      Co-authored-by: default avatarSquirrel <gilescope@gmail.com>
      Co-authored-by: default avatarAndrei Sandu <54316454+sandreim@users.noreply.github.com>
      Co-authored-by: default avatargeorgepisaltu <george.pisaltu@parity.io>
      Co-authored-by: command-bot <>
      (cherry picked from commit fd5f9292
      
      )
      
      * Revert "FRAME: Create `TransactionExtension` as a replacement for `SignedExtension` (#2280)" (#3665)
      
      This PR reverts #2280 which introduced `TransactionExtension` to replace
      `SignedExtension`.
      
      As a result of the discussion
      [here](https://github.com/paritytech/polkadot-sdk/pull/3623#issuecomment-1986789700),
      the changes will be reverted for now with plans to reintroduce the
      concept in the future.
      
      ---------
      
      Signed-off-by: default avatargeorgepisaltu <george.pisaltu@parity.io>
      (cherry picked from commit bbd51ce8)
      
      * Increase timeout for assertions (#3680)
      
      Prevents timeouts in ci like
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/5516019
      
      (cherry picked from commit c4c92573)
      
      * Removes `as [disambiguation_path]` from `derive_impl` usage (#3652)
      
      Step in https://github.com/paritytech/polkadot-sdk/issues/171
      
      This PR removes `as [disambiguation_path]` syntax from `derive_impl`
      usage across the polkadot-sdk as introduced in
      https://github.com/paritytech/polkadot-sdk/pull/3505
      
      (cherry picked from commit 7099f6e1)
      
      * Fix typo (#3691)
      
      (cherry picked from commit 6b1179f1)
      
      * Bridge zombienet tests: remove unneeded accounts (#3700)
      
      Bridge zombienet tests: remove unneeded accounts
      
      (cherry picked from commit 0c6c837f)
      
      * Fix typos (#3753)
      
      (cherry picked from commit 7241a8db
      
      )
      
      * Update polkadot-sdk refs
      
      * Fix dependency conflicts
      
      * Fix build
      
      * cargo fmt
      
      * Fix spellcheck test
      
      ---------
      
      Co-authored-by: default avatarSvyatoslav Nikolsky <svyatonik@gmail.com>
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
      Co-authored-by: default avatarMarcin S <marcin@realemail.net>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarGavin Wood <gavin@parity.io>
      Co-authored-by: default avatargeorgepisaltu <52418509+georgepisaltu@users.noreply.github.com>
      Co-authored-by: default avatarJavier Viola <363911+pepoviola@users.noreply.github.com>
      Co-authored-by: default avatargupnik <nikhilgupta.iitk@gmail.com>
      Co-authored-by: default avatarjokess123 <163112061+jokess123@users.noreply.github.com>
      Co-authored-by: default avatarslicejoke <163888128+slicejoke@users.noreply.github.com>
      79d9164f
    • Svyatoslav Nikolsky's avatar
      backport changes from polkadot-sdk (#2872) · 8bb0bfa5
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      8bb0bfa5
    • Svyatoslav Nikolsky's avatar
      Add submit_finality_proof_ex call to the GRANDPA pallet (#2821) · 4d53c846
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * depreacte submit_finality_proof and introduce submit_finality_proof_ex instead
      
      * propagate changes to the rest of runtime crates
      
      * tests for new call
      
      * suppress deprecation warning
      
      * revert changes to benchmarks to avoid unnecessary compilation issues when integrating to other repos
      4d53c846
    • Svyatoslav Nikolsky's avatar
      Port safe commits from master to polkadot-staging (#2761) · 4004742e
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * introduce bp_messages::ChainWithMessages (#2171)
      
      * Move Chain::ID from relay-level Chain to primitives-level Chain (#2181)
      
      * move Chain::ID from relay-level Chain to primitives-level Chain
      
      * removed chain IDs from bp-runtime
      
      * add missing file header
      
      * Some code grooming (#2276)
      
      * some code grooming: enable warn(missing_docs) for all piblic crates + added missing documentation + removed obsolete clippy/deny workarounds
      
      * removed strange allow + added comment related to other allow
      
      * removed incorrect_clone_impl_on_copy_type which is unknown to CI clippy
      4004742e
    • Svyatoslav Nikolsky's avatar
      Reject transactions if bridge pallets are halted (#2600) · fe90a2d8
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * reject transactions if bridge pallets are halted
      
      * fixed CI (#2598)
      fe90a2d8
    • Svyatoslav Nikolsky's avatar
      fiox overflow when computing priority boost (#2587) · 59e43375
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      59e43375
    • Svyatoslav Nikolsky's avatar
      Merge bulletin chain changes into polkadot staging (#2574) · 0bbd2b20
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * polkadot-staging for v1.0.0
      
      * Add polkadot bulletin chain primitives (#2542)
      
      * add polkadot bulletin chain primitives
      
      * also impl ChainWithMessages
      
      * clippy
      
      * instead of requiring sp_std::vec::Vec import when using runtime API generation macro, let's use full type path directly in macro (#2551)
      
      * Polkadot Bulletin Chain client (#2552)
      
      * relay-polkadot-bulletin-client
      
      * generate Polkadot Bulletin Chain Runtime
      
      * Add relays that will be used in Polkadot Bulletin <> Polkadot.BH bridge (#2556)
      
      * added Polkadot.BH <> Polkadot Bulletin chain relays
      
      * uncommented ED stuff
      
      * complex PolkadotBulletin <> Polkadot.BH relay
      
      * removed TODO
      
      * spelling
      
      * prepare refund extension infra to add refund extension for messages from standalone chain (#2558)
      
      * prepare refund extension infra to add refund extension for messages from standalone chain
      
      * spelling
      
      * apply adapter to fix compilation
      
      * clippy
      
      * added POLKADOT_BULLETIN_CHAIN_ID constant
      
      * RefundBridgedGrandpaMessages to refund transaction costs for messages coming to/from bridged standalone/relay chain (#2566)
      
      * RefundBridgedGrandpaMessages to refund transaction costs for messages coming to/from bridged standalone/relay chain
      
      * clippy
      
      * fix compilation
      
      * fix codec dependency (#2567)
      
      * Support message relay limits override (#2570)
      
      * support message relay limits overrides for bridges
      
      * spelling
      
      * export EXTRA_STORAGE_PROOF_SIZE for Polkadot Bulletin (#2572)
      0bbd2b20
    • Serban Iorga's avatar
      Backport `polkadot-sdk` changes to `polkadot-staging` (#2518) · 9216b781
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      
      * Asynchronous backing PR (#2300)
      
      * 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>
      (cherry picked from commit 6ef11176)
      
      * Companion: restructure macro related exports (#3015)
      
      * restructure macro related exports
      
      * restructure macro related exports
      
      * wip
      
      * wip
      
      * update cargo lock
      
      * refactor RuntimeDebug on unincluded segment
      
      * fmt
      
      * Companion: restructure `benchmarking` macro related exports (#3039)
      
      * wip
      
      * wip
      
      * restructure benchmarking macro related exports
      
      * add cargo lock
      
      ---------
      
      Co-authored-by: parity-processbot <>
      (cherry picked from commit 8349c8d1
      
      )
      
      * Add missing workspace members (#3056)
      
      * Add dependencies
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Add missing workspace members
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Fix more
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      (cherry picked from commit 44499cf2
      
      )
      
      * Add CI for monorepo (#1145)
      
      * Add CI for monorepo
      
      * fix frame tests
      
      * Format features
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * add note for skipping tests and disable test-linux-stable-all
      
      * Fix tests and compile issues (#1152)
      
      * Fix feature dependant import
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Bump test timeout
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Remove feature gate
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Add resolver 2
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Remove old lockfile
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Format features
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Fix check-dependency-rules
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * rm test-runtime
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Actually fix script
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * enable cargo-check-each-crate-macos
      
      * Run check-each-crate on 6 machines (#1163)
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      (cherry picked from commit e4949344
      
      )
      
      * Fix features (#1194)
      
      * Manually fix conflicting ?
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Remove duplicates
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Autofix feature propagation
      
      zepter lint propagate-feature --feature try-runtime --left-side-feature-missing=ignore --workspace --fix --feature-enables-dep="try-runtime:frame-try-runtime"
      zepter lint propagate-feature --feature runtime-benchmarks --left-side-feature-missing=ignore --workspace --fix --feature-enables-dep="runtime-benchmarks:frame-benchmarking"
      zepter lint propagate-feature --feature std --left-side-feature-missing=ignore --workspace --fix
      zepter f f
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Bump zepter
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Add some duplicates
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Revert "Add some duplicates"
      
      This reverts commit c6ce6272
      
      .
      
      * Remove default enabled features
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Bump Zepter
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Bump in correct location :face_palm:
      
      
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * DNM: Add some mistakes
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * DNM: Add some mistakes
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Revert "DNM: Add some mistakes"
      
      This reverts commit d469b3f0.
      
      * Revert "DNM: Add some mistakes"
      
      This reverts commit d892a73a
      
      .
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      (cherry picked from commit 0400ed90
      
      )
      
      * Fix build profiles (#1229)
      
      * Fix build profiles
      
      Closes https://github.com/paritytech/polkadot-sdk/issues/1155
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Manually set version to 1.0.0
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Use workspace repo
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * 'Authors and Edition from workspace
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      (cherry picked from commit dcda0e50
      
      )
      
      * Set test crates to nopublish (#1240)
      
      * Set test crates to nopublish
      
      * Don't publish more crates
      
      * Set even more crates to nopublish
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      (cherry picked from commit 1c7ef1f2
      
      )
      
      * Add missing licenses and tune the scanning workflow (#1288)
      
      * Add missing Cumulus licenses
      
      * Typo
      
      * Add missing Substrate licenses
      
      * Single job checking the sub-repos in steps
      
      * Remove dates
      
      * Remove dates
      
      * Add missing (C)
      
      * Update FRAME UI tests
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      * Update more UI tests
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      (cherry picked from commit bfb241d7
      
      )
      
      * Restructure `dispatch` macro related exports (#1162)
      
      * restructure dispatch macro related exports
      
      * moved Dispatchable to lib.rs
      
      * fix .gitignore final newline
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * fix rustdocs
      
      * wip
      
      ---------
      
      Co-authored-by: default avatarLiam Aharon <liam.aharon@hotmail.com>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarordian <write@reusable.software>
      (cherry picked from commit bdbe9829
      
      )
      
      * Fixes
      
      * Fix clippy
      
      ---------
      
      Co-authored-by: default avatarChris Sosnin <48099298+slumber@users.noreply.github.com>
      Co-authored-by: default avatarJuan <juangirini@gmail.com>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarAlexander Samusev <41779041+alvicsam@users.noreply.github.com>
      Co-authored-by: default avatarLulu <morgan@parity.io>
      Co-authored-by: default avatarPrzemek Rzad <roopert7@gmail.com>
      9216b781
    • Svyatoslav Nikolsky's avatar
      Dynamic fees for bridges-v1 (#2294) · 31a6cbea
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      
      * impl backpressure in the XcmBlobHaulerAdapter
      
      * LocalXcmQueueManager + more adapters
      
      * OnMessageDelviered callback
      
      * forbid mesage delivery transactions when the channel between target bridge hub and target asset hub is suspended
      
      * pallet-xcm-bridge-hub-router
      
      * removed commented code
      
      * improvements and tests for palle-xcm-bridge-router
      
      * use LocalXcmChannel in XcmBlobMessageDispatch
      
      * new tests for logic changes in messages pallet
      
      * tests for LocalXcmQueueSuspender
      
      * tests for LocalXcmQueueMessageProcessor
      
      * tests for new logic in the XcmBlobHaulerAdapter
      
      * fix other tests in the bridge-runtime-common
      
      * extension_reject_call_when_dispatcher_is_inactive
      
      * benchmarks for pallet-xcm-bridge-hub-router
      
      * get rid of redundant storage value
      
      * add new pallet to verify-pallets-build.sh
      
      * fixing spellcheck, clippy and rustdoc
      
      * trigger CI
      
      * Revert "trigger CI"
      
      This reverts commit 48f1ba032334e3c6d8470436483736988aa060ac.
      
      * change log target for xcm bridge router pallet
      
      * Update modules/xcm-bridge-hub-router/src/lib.rs
      
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
      
      * use saturated_len where possible
      
      * fmt
      
      * (Suggestion) Ability to externalize configuration for `ExporterFor` (#2313)
      
      * Ability to externalize configuration for `ExporterFor`
      (Replaced `BridgedNetworkId/SiblingBridgeHubLocation` with `Bridges: ExporterFor`)
      
      * Fix millau
      
      * Compile fix
      
      * Return back `BridgedNetworkId` but as optional filter
      
      * Replaced `BaseFee` with fees from inner `Bridges: ExporterFor`
      
      * typo
      
      * Clippy
      
      * Rename LocalXcmChannel to XcmChannelStatusProvider (#2319)
      
      * Rename LocalXcmChannel to XcmChannelStatusProvider
      
      * fmt
      
      * added/fixed some docs
      
      * Dynamic fees v1: report congestion status to sending chain (#2318)
      
      * report congestion status: changes at the sending chain
      
      * OnMessagesDelivered is back
      
      * report congestion status: changes at the bridge hub
      
      * moer logging
      
      * fix? benchmarks
      
      * spelling
      
      * tests for XcmBlobHaulerAdapter and LocalXcmQueueManager
      
      * tests for messages pallet
      
      * fix typo
      
      * rustdoc
      
      * Update modules/messages/src/lib.rs
      
      * apply review suggestions
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Added `XcmBridgeHubRouterCall::report_bridge_status` encodings for AHK/P (#2350)
      
      * Added `XcmBridgeHubRouterCall::report_bridge_status` encodings for AHK/P
      
      * Spellcheck
      
      * Added const for `XcmBridgeHubRouterTransactCallMaxWeight`
      
      * Cargo.lock
      
      * Introduced base delivery fee constants
      
      * Congestion messages as Optional to turn on/off `supports_congestion_detection`
      
      * Spellcheck
      
      * Ability to externalize dest for benchmarks
      
      * Ability to externalize dest for benchmarks
      
      ---------
      
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
      Co-authored-by: command-bot <>
      31a6cbea
    • Branislav Kontur's avatar
      BHK/P alignments (#2115) · 71887652
      Branislav Kontur authored and Bastian Köcher's avatar Bastian Köcher committed
      * Constants
      
      * Unused import?
      
      * Cargo.lock
      
      * Unused deps
      
      * TODO: fix doc or reimport?
      
      * Try to aviod redefine para_id constant for `RefundableParachainId`
      
      * Checked and removed TODOs
      71887652
    • Svyatoslav Nikolsky's avatar
      Add weight of refund extension post_dispatch to the weights of messages pallet (#2089) · 49d11e9c
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      
      * add weight of refund extension post_dispatch to the weights of messages pallet
      
      * fixed tests and removed TODO
      
      * verify runtime overhead weight in integrity tests
      
      * add integrity tests to rialto-parachain runtime
      
      * refactor weights a bit
      
      * refund ext is disabled for Rialto <> Millau bridge
      
      * Update bin/runtime-common/src/integrity.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      * Update bin/runtime-common/src/integrity.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      * Update modules/relayers/src/weights_ext.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      49d11e9c
    • Svyatoslav Nikolsky's avatar
      Slash relayers for invalid transactions (#2025) · 53e1b7e2
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      
      * slash relayer balance for invalid transactions
      
      * require some gap before unstake is possible
      
      * more clippy
      
      * log priority boost
      
      * add issue ref to TODO
      
      * fix typo
      
      * is_message_delivery_call -> is_receive_messages_proof_call
      
      * moved is_receive_messages_proof_call above
      
      * only slash relayers for priority transactions
      
      * Update primitives/relayers/src/registration.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      * Update primitives/relayers/src/registration.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      * Update bin/runtime-common/src/refund_relayer_extension.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      * Update bin/runtime-common/src/refund_relayer_extension.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      * Update bin/runtime-common/src/refund_relayer_extension.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      * Update modules/relayers/src/lib.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      * Update primitives/relayers/src/registration.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      * benificiary -> beneficiary
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      53e1b7e2
    • Serban Iorga's avatar
      Define `RangeInclusiveExt` (#2037) · b8f40860
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      * Define RangeInclusiveExt
      
      * Use RangeInclusiveExt
      
      * Add docs
      b8f40860
    • Svyatoslav Nikolsky's avatar
      Impl review suggestions from #2021 (#2036) · ea39f4c0
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * unrewarded_relayers for ReceiveMessagesProofInfo only
      
      * simplify return
      
      * removed comment
      
      * appends_to_stored_nonce
      ea39f4c0
    • Svyatoslav Nikolsky's avatar
      Boost message delivery transaction priority (#2023) · f7380490
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * reject delivery transactions with at least one obsolete message
      
      * clippy
      
      * boost priority of message delivery transactions: transaction with more messages has larger priority than the transaction with less messages
      
      * apply review suggestion
      
      * CallInfo::bundled_messages
      
      * validate_does_not_boost_priority_of_message_delivery_transactons_with_too_many_messages
      
      * clippy
      f7380490
    • Svyatoslav Nikolsky's avatar
      Reject delivery transactions with at least one obsolete message (#2021) · ceea1a10
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * reject delivery transactions with at least one obsolete message
      
      * clippy
      
      * allow empty delivery transactions with rewards confirmations BUT only when there's no room left in the unrewarded relayers vector
      
      * clippy
      
      * allow empty delivery transactions if no message slots in unrewarded relayers vector
      ceea1a10
    • Svyatoslav Nikolsky's avatar
      4d29753f
    • Svyatoslav Nikolsky's avatar
      get rid of obsolete weight functions (#1926) · 3a145e58
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      3a145e58
    • Serban Iorga's avatar
      Refund messages confirmation tx (#1904) · ba155f99
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      * Refund messages confirmation tx
      
      * Fixes
      ba155f99
    • Serban Iorga's avatar
      Relayers pallet: extend payment source id (#1907) · f5fee288
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      * Add Chain::ID const
      
      * Relayers pallet: extend payment source id
      
      * Addressed code review comments
      
      * Fix benchmarks
      
      * Fix dashboards
      
      * Renamings
      
      * Fix compilation
      f5fee288
    • Svyatoslav Nikolsky's avatar
      Weight+size limits for bridge GRANDPA pallet calls (#1882) · 498a3e83
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      
      * weight+size limits for bridge GRANDPA pallet calls
      
      * continue
      
      * fixed all tests
      
      * some changes to refund computations
      
      * post_dispatch_refunds_relayer_in_all_finality_batch_with_extra_weight
      
      * - dup code
      
      * do not return Pays::No if call is above weight/size limits
      
      * relayer_pays_tx_fee_when_submitting_huge_mandatory_header and relayer_pays_tx_fee_when_submitting_justification_with_long_ancestry_votes
      
      * clippy
      
      * fmt
      
      * clippy
      
      * small change in docs
      
      * fixed GRANDPA-limits constants for Polkadot-like chains
      
      * clippy
      
      * clippy + spelling
      
      * Update primitives/polkadot-core/src/lib.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      * Update bin/runtime-common/src/refund_relayer_extension.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      * reverted unnecessary change
      
      * GrandpaJustification::max_reasonable_size
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      498a3e83
    • Serban Iorga's avatar
      RefundRelayerForMessagesFromParachain improvements (#1895) · 623bd85a
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      * RefundRelayerForMessagesFromParachain changes
      
      - some renamings and cosmetics
      - removing the GI generic param since we can get it from the parachains
        config
      - merging (Parachains Instance, Parachain Id) and (Messages Instance,
        Messages lane Id) generic params
      - removing unnecessay derives
      - renaming for the `TransactionFeeCalculation` and defining
        `ActualFeeRefund` concrete implementation
      - adding support for multiple RefundRelayerForMessagesFromParachain
        (by adding a `StaticStrProvider` generic param)
      
      * Revert to using RuntimeDebug
      623bd85a
    • Serban Iorga's avatar
      RefundRelayerForMessagesFromParachain improvements (#1879) · c9c6d566
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      * RefundRelayerForMessagesFromParachain improvements
      
      * Address code review comments
      c9c6d566
    • Svyatoslav Nikolsky's avatar
      Remove chain-specific dependencies from crates that will be used in Cumulus (#1783) · ec9cd8dd
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * leave-modules.sh
      
      * remove bp-rialto dependency from bp-relayers
      
      * update leave-modules.sh
      
      * fix Cargo.toml of pallet-bridge-relayers
      
      * update leave-modules.sh
      
      * remove bp-rialto and millau-runtime frombridge-runtime-common Cargo.toml
      
      * update leave-modules.sh
      
      * remove chain dependencies from bridge-runtime-common crate
      
      * fix tests
      
      * cleanup script
      
      * rename script
      
      * kind of success message
      
      * remove leave-modules.sh
      
      * use TargetHeaderChainAdapter and SourceHeaderChainAdapter in our testnets
      
      * update script
      ec9cd8dd
    • Branislav Kontur's avatar
      Bump xcm-v3 + substrate (#1767) · 5fdc89d6
      Branislav Kontur authored and Bastian Köcher's avatar Bastian Köcher committed
      
      * Bump xcm-v3 + substrate
      
      * More fixes
      
      * Added `#[pallet::call_index`
      
      * Fixes for MMR (TODO:plese check)
      
      * More call indexes
      
      * Cumulus bump
      
      * Fixes for mmr
      
      * Fixes for weights
      
      * Fixes for xcm
      
      * MMR fixes + cargo fmt
      
      * Fix some rpc errors (bump jsonrpsee version)
      
      * Fix cumulus stuff
      
      * Fixes cumulus
      
      * clippy
      
      * more clipy
      
      * Fix test + unused deps
      
      * PR fixes
      
      * cargo update (bump xcm-v3)
      
      Co-authored-by: default avatarSerban Iorga <serban@parity.io>
      5fdc89d6
    • Svyatoslav Nikolsky's avatar
      Use TypedLaneId instead of LaneId (#1738) · 03425b33
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * TypedLaneId -> LaneId
      
      * fix benchmarks compilation
      03425b33
    • Svyatoslav Nikolsky's avatar
      more traces + remove signer override (#1727) · 7964152b
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      7964152b
    • Svyatoslav Nikolsky's avatar
      tests (#1720) · dc989fa6
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      dc989fa6
    • Serban Iorga's avatar
      Fix bridge hub rococo/wococo weights (#1712) · e85b3fd9
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      * Fix bridge hub rococo/wococo weights
      
      * Remove SS58Prefix
      e85b3fd9
    • Svyatoslav Nikolsky's avatar
      New relayer rewards scheme integration (#1652) · 2c5e2f09
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      * relayer rewards integration: initial commit
      
      * added refund-relayer-extension to the millau runtime
      
      * spelling
      
      * spelling again
      
      * new -> Default
      2c5e2f09
    • Svyatoslav Nikolsky's avatar
      Signed extension to refund relayer at the target chain (#1657) · 161d861d
      Svyatoslav Nikolsky authored and Bastian Köcher's avatar Bastian Köcher committed
      
      * add utlity pallet to the Millau runtime
      
      * RefundRelayerForMessagesDeliveryFromParachain prototype
      
      * done with RefundRelayerForMessagesDeliveryFromParachain::post_dispatch
      
      * parse calls
      
      * check batch for obsolete headers/messages
      
      * fmt
      
      * shorten generic arg names + add parachain id generic arg
      
      * check lane_id
      
      * impl all state read functions
      
      * fix typos from review
      
      * renamed extension + reference issue from TODO
      
      * tests for pre-dispaytch
      
      * renamed extension source file
      
      * tests for post-dispatch
      
      * abstract fee calculation
      
      * clippy
      
      * actually fix clippy
      
      * Update bin/runtime-common/src/refund_relayer_extension.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      * Update bin/runtime-common/src/refund_relayer_extension.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      * Update bin/runtime-common/src/refund_relayer_extension.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      * Update bin/runtime-common/src/refund_relayer_extension.rs
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      161d861d
    • Serban Iorga's avatar
      Remove bridges subtree · 9a3e2c8c
      Serban Iorga authored and Bastian Köcher's avatar Bastian Köcher committed
      9a3e2c8c