Skip to content
  1. Apr 22, 2024
  2. Apr 19, 2024
  3. Apr 18, 2024
  4. Apr 15, 2024
    • dependabot[bot]'s avatar
      Bump subxt from 0.35.2 to 0.35.3 · f80f01d4
      dependabot[bot] authored
      
      
      Bumps [subxt](https://github.com/paritytech/subxt) from 0.35.2 to 0.35.3.
      - [Release notes](https://github.com/paritytech/subxt/releases)
      - [Changelog](https://github.com/paritytech/subxt/blob/v0.35.3/CHANGELOG.md)
      - [Commits](https://github.com/paritytech/subxt/compare/v0.35.2...v0.35.3)
      
      ---
      updated-dependencies:
      - dependency-name: subxt
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      f80f01d4
    • dependabot[bot]'s avatar
      Bump async-trait from 0.1.79 to 0.1.80 · 4dd72be5
      dependabot[bot] authored
      
      
      Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.79 to 0.1.80.
      - [Release notes](https://github.com/dtolnay/async-trait/releases)
      - [Commits](https://github.com/dtolnay/async-trait/compare/0.1.79...0.1.80)
      
      ---
      updated-dependencies:
      - dependency-name: async-trait
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      4dd72be5
    • Serban Iorga's avatar
      Update CI image (#2951) · c752f16c
      Serban Iorga authored
      * Update CI image
      
      * cargo update -p [email protected]
      c752f16c
  5. Apr 11, 2024
    • dependabot[bot]'s avatar
      Bump subxt from 0.32.1 to 0.35.2 · 0364a0aa
      dependabot[bot] authored
      
      
      Bumps [subxt](https://github.com/paritytech/subxt) from 0.32.1 to 0.35.2.
      - [Release notes](https://github.com/paritytech/subxt/releases)
      - [Changelog](https://github.com/paritytech/subxt/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/paritytech/subxt/compare/v0.32.1...v0.35.2)
      
      ---
      updated-dependencies:
      - dependency-name: subxt
        dependency-type: direct:production
        update-type: version-update:semver-minor
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      0364a0aa
    • dependabot[bot]'s avatar
      Bump anyhow from 1.0.81 to 1.0.82 · df0d367e
      dependabot[bot] authored
      
      
      Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.81 to 1.0.82.
      - [Release notes](https://github.com/dtolnay/anyhow/releases)
      - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.81...1.0.82)
      
      ---
      updated-dependencies:
      - dependency-name: anyhow
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      df0d367e
    • dependabot[bot]'s avatar
      Bump quote from 1.0.35 to 1.0.36 · 92a722ab
      dependabot[bot] authored
      
      
      Bumps [quote](https://github.com/dtolnay/quote) from 1.0.35 to 1.0.36.
      - [Release notes](https://github.com/dtolnay/quote/releases)
      - [Commits](https://github.com/dtolnay/quote/compare/1.0.35...1.0.36)
      
      ---
      updated-dependencies:
      - dependency-name: quote
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      92a722ab
  6. Apr 10, 2024
  7. Apr 09, 2024
    • Serban Iorga's avatar
      Backport changes from polakdot-sdk (#2920) · cfe1e7de
      Serban Iorga authored
      
      
      * Migrate fee payment from `Currency` to `fungible` (#2292)
      
      Part of https://github.com/paritytech/polkadot-sdk/issues/226
      Related https://github.com/paritytech/polkadot-sdk/issues/1833
      
      - Deprecate `CurrencyAdapter` and introduce `FungibleAdapter`
      - Deprecate `ToStakingPot` and replace usage with `ResolveTo`
      - Required creating a new `StakingPotAccountId` struct that implements
      `TypedGet` for the staking pot account ID
      - Update parachain common utils `DealWithFees`, `ToAuthor` and
      `AssetsToBlockAuthor` implementations to use `fungible`
      - Update runtime XCM Weight Traders to use `ResolveTo` instead of
      `ToStakingPot`
      - Update runtime Transaction Payment pallets to use `FungibleAdapter`
      instead of `CurrencyAdapter`
      - [x] Blocked by https://github.com/paritytech/polkadot-sdk/pull/1296,
      needs the `Unbalanced::decrease_balance` fix
      
      (cherry picked from commit bda4e75ac49786a7246531cf729b25c208cd38e6)
      
      * Upgrade `trie-db` from `0.28.0` to `0.29.0` (#3982)
      
      - What does this PR do?
      1. Upgrades `trie-db`'s version to the latest release. This release
      includes, among others, an implementation of `DoubleEndedIterator` for
      the `TrieDB` struct, allowing to iterate both backwards and forwards
      within the leaves of a trie.
      2. Upgrades `trie-bench` to `0.39.0` for compatibility.
      3. Upgrades `criterion` to `0.5.1` for compatibility.
      - Why are these changes needed?
      Besides keeping up with the upgrade of `trie-db`, this specifically adds
      the functionality of iterating back on the leafs of a trie, with
      `sp-trie`. In a project we're currently working on, this comes very
      handy to verify a Merkle proof that is the response to a challenge. The
      challenge is a random hash that (most likely) will not be an existing
      leaf in the trie. So the challenged user, has to provide a Merkle proof
      of the previous and next existing leafs in the trie, that surround the
      random challenged hash.
      
      Without having DoubleEnded iterators, we're forced to iterate until we
      find the first existing leaf, like so:
      ```rust
              // ************* VERIFIER (RUNTIME) *************
              // Verify proof. This generates a partial trie based on the proof and
              // checks that the root hash matches the `expected_root`.
              let (memdb, root) = proof.to_memory_db(Some(&root)).unwrap();
              let trie = TrieDBBuilder::<LayoutV1<RefHasher>>::new(&memdb, &root).build();
      
              // Print all leaf node keys and values.
              println!("\nPrinting leaf nodes of partial tree...");
              for key in trie.key_iter().unwrap() {
                  if key.is_ok() {
                      println!("Leaf node key: {:?}", key.clone().unwrap());
      
                      let val = trie.get(&key.unwrap());
      
                      if val.is_ok() {
                          println!("Leaf node value: {:?}", val.unwrap());
                      } else {
                          println!("Leaf node value: None");
                      }
                  }
              }
      
              println!("RECONSTRUCTED TRIE {:#?}", trie);
      
              // Create an iterator over the leaf nodes.
              let mut iter = trie.iter().unwrap();
      
              // First element with a value should be the previous existing leaf to the challenged hash.
              let mut prev_key = None;
              for element in &mut iter {
                  if element.is_ok() {
                      let (key, _) = element.unwrap();
                      prev_key = Some(key);
                      break;
                  }
              }
              assert!(prev_key.is_some());
      
              // Since hashes are `Vec<u8>` ordered in big-endian, we can compare them directly.
              assert!(prev_key.unwrap() <= challenge_hash.to_vec());
      
              // The next element should exist (meaning there is no other existing leaf between the
              // previous and next leaf) and it should be greater than the challenged hash.
              let next_key = iter.next().unwrap().unwrap().0;
              assert!(next_key >= challenge_hash.to_vec());
      ```
      
      With DoubleEnded iterators, we can avoid that, like this:
      ```rust
              // ************* VERIFIER (RUNTIME) *************
              // Verify proof. This generates a partial trie based on the proof and
              // checks that the root hash matches the `expected_root`.
              let (memdb, root) = proof.to_memory_db(Some(&root)).unwrap();
              let trie = TrieDBBuilder::<LayoutV1<RefHasher>>::new(&memdb, &root).build();
      
              // Print all leaf node keys and values.
              println!("\nPrinting leaf nodes of partial tree...");
              for key in trie.key_iter().unwrap() {
                  if key.is_ok() {
                      println!("Leaf node key: {:?}", key.clone().unwrap());
      
                      let val = trie.get(&key.unwrap());
      
                      if val.is_ok() {
                          println!("Leaf node value: {:?}", val.unwrap());
                      } else {
                          println!("Leaf node value: None");
                      }
                  }
              }
      
              // println!("RECONSTRUCTED TRIE {:#?}", trie);
              println!("\nChallenged key: {:?}", challenge_hash);
      
              // Create an iterator over the leaf nodes.
              let mut double_ended_iter = trie.into_double_ended_iter().unwrap();
      
              // First element with a value should be the previous existing leaf to the challenged hash.
              double_ended_iter.seek(&challenge_hash.to_vec()).unwrap();
              let next_key = double_ended_iter.next_back().unwrap().unwrap().0;
              let prev_key = double_ended_iter.next_back().unwrap().unwrap().0;
      
              // Since hashes are `Vec<u8>` ordered in big-endian, we can compare them directly.
              println!("Prev key: {:?}", prev_key);
              assert!(prev_key <= challenge_hash.to_vec());
      
              println!("Next key: {:?}", next_key);
              assert!(next_key >= challenge_hash.to_vec());
      ```
      - How were these changes implemented and what do they affect?
      All that is needed for this functionality to be exposed is changing the
      version number of `trie-db` in all the `Cargo.toml`s applicable, and
      re-exporting some additional structs from `trie-db` in `sp-trie`.
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      (cherry picked from commit 4e73c0fcd37e4e8c14aeb83b5c9e680981e16079)
      
      * Update polkadot-sdk refs
      
      * Fix Cargo.lock
      
      ---------
      
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarFacundo Farall <[email protected]>
      cfe1e7de
  8. Apr 02, 2024
  9. Apr 01, 2024
    • Serban Iorga's avatar
      Address migration comments (#2910) · 8c4c99d1
      Serban Iorga authored
      * Use workspace.[authors|edition]
      
      * Add repository.workspace = true
      
      * Upgrade dependencies to the polkadot-sdk versions
      
      * Upgrade async-std version
      
      * Update jsonrpsee version
      
      * cargo update
      
      * use ci-unified image
      8c4c99d1
    • dependabot[bot]'s avatar
      Bump tokio from 1.36.0 to 1.37.0 · f7f983c4
      dependabot[bot] authored
      
      
      Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.36.0 to 1.37.0.
      - [Release notes](https://github.com/tokio-rs/tokio/releases)
      - [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.36.0...tokio-1.37.0)
      
      ---
      updated-dependencies:
      - dependency-name: tokio
        dependency-type: direct:production
        update-type: version-update:semver-minor
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      f7f983c4
    • dependabot[bot]'s avatar
      Bump scale-info from 2.11.0 to 2.11.1 · 051d6ed6
      dependabot[bot] authored
      
      
      Bumps [scale-info](https://github.com/paritytech/scale-info) from 2.11.0 to 2.11.1.
      - [Release notes](https://github.com/paritytech/scale-info/releases)
      - [Changelog](https://github.com/paritytech/scale-info/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/paritytech/scale-info/compare/v2.11.0...v2.11.1)
      
      ---
      updated-dependencies:
      - dependency-name: scale-info
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      051d6ed6
    • dependabot[bot]'s avatar
      Bump serde_json from 1.0.114 to 1.0.115 · 35474455
      dependabot[bot] authored
      
      
      Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.114 to 1.0.115.
      - [Release notes](https://github.com/serde-rs/json/releases)
      - [Commits](https://github.com/serde-rs/json/compare/v1.0.114...v1.0.115)
      
      ---
      updated-dependencies:
      - dependency-name: serde_json
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      35474455
  10. Mar 27, 2024
  11. Mar 26, 2024
  12. Mar 25, 2024
    • dependabot[bot]'s avatar
      Bump async-trait from 0.1.78 to 0.1.79 · 8e58eb92
      dependabot[bot] authored
      
      
      Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.78 to 0.1.79.
      - [Release notes](https://github.com/dtolnay/async-trait/releases)
      - [Commits](https://github.com/dtolnay/async-trait/compare/0.1.78...0.1.79)
      
      ---
      updated-dependencies:
      - dependency-name: async-trait
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      8e58eb92
    • Serban Iorga's avatar
      Backport changes from `polkadot-sdk/master` (#2887) · 28c459be
      Serban Iorga authored
      
      
      * 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 2e6067d768a84e780258aa4580116f7180e24290)
      
      * [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 74b597fcaf143d8dd7f8d40e59f51065514f21d7)
      
      * 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 <[email protected]>
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: default avatarDónal Murray <[email protected]>
      Co-authored-by: default avatarDmitry Sinyavin <[email protected]>
      Co-authored-by: default avatars0me0ne-unkn0wn <[email protected]>
      Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatargeorgepisaltu <[email protected]>
      (cherry picked from commit 700d5f85b768fe1867660938aa5edfcf4b26f632)
      
      * 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 a462207158360b162228d9877fed7b9ca1f23fc2)
      
      * 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 dfc8e4696c6edfb76ccb05f469a221ebb5b270ff)
      
      * Bridges: add test 0002 to CI (#3310)
      
      Bridges: add test 0002 to CI
      (cherry picked from commit 1b66bb51b52d3e6cacf155bd3e038b6ef44ac5da)
      
      * 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 5fc7622cb312f2d32ec8365012ee0a49622db8c8)
      
      * 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 <[email protected]>
      (cherry picked from commit e89d0fca351de0712f104c55fe45ed124b5c6968)
      
      * 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 e4b6b8cd7973633f86d1b92a56abf2a946b7be84)
      
      * 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 6fc1d41d4487b9164451cd8214674ce195ab06a0)
      
      * Bridge zombienet tests: Check amount received at destination (#3490)
      
      Related to https://github.com/paritytech/polkadot-sdk/issues/3475
      
      (cherry picked from commit 2cdda0e62dd3088d2fd09cea627059674070c277)
      
      * 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 <[email protected]>
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Signed-off-by: default avatarAlexandru Gheorghe <[email protected]>
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      Co-authored-by: default avatarNikhil Gupta <[email protected]>
      Co-authored-by: default avatargeorgepisaltu <[email protected]>
      Co-authored-by: default avatarChevdor <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarMaciej <[email protected]>
      Co-authored-by: default avatarJavier Viola <[email protected]>
      Co-authored-by: default avatarMarcin S. <[email protected]>
      Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>
      Co-authored-by: default avatarJavier Bullrich <[email protected]>
      Co-authored-by: default avatarKoute <[email protected]>
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      Co-authored-by: Vladimir Istyufeev's avatarVladimir Istyufeev <[email protected]>
      Co-authored-by: default avatarRoss Bulat <[email protected]>
      Co-authored-by: default avatarGonçalo Pestana <[email protected]>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatars0me0ne-unkn0wn <[email protected]>
      Co-authored-by: default avatarordian <[email protected]>
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      Co-authored-by: default avatarAaro Altonen <[email protected]>
      Co-authored-by: default avatarDmitry Markin <[email protected]>
      Co-authored-by: default avatarAlexandru Vasile <[email protected]>
      Co-authored-by: default avatarAlexander Samusev <[email protected]>
      Co-authored-by: default avatarJulian Eager <[email protected]>
      Co-authored-by: default avatarMichal Kucharczyk <[email protected]>
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      Co-authored-by: default avatarDónal Murray <[email protected]>
      Co-authored-by: default avataryjh <[email protected]>
      Co-authored-by: default avatarTom Mi <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarWill | Paradox | ParaNodes.io <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarJoshy Orndorff <[email protected]>
      Co-authored-by: default avatarJoshy Orndorff <[email protected]>
      Co-authored-by: default avatarPG Herveou <[email protected]>
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarJuan Girini <[email protected]>
      Co-authored-by: default avatarbader y <[email protected]>
      Co-authored-by: default avatarJames Wilson <[email protected]>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      Co-authored-by: default avatarParth <[email protected]>
      Co-authored-by: default avatarAndrew Jones <[email protected]>
      Co-authored-by: default avatarJonathan Udd <[email protected]>
      Co-authored-by: default avatarSerban Iorga <[email protected]>
      Co-authored-by: default avatarEgor_P <[email protected]>
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: default avatarEvgeny Snitko <[email protected]>
      Co-authored-by: default avatarJust van Stam <[email protected]>
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      Co-authored-by: default avatargupnik <[email protected]>
      Co-authored-by: default avatardzmitry-lahoda <[email protected]>
      Co-authored-by: default avatarzhiqiangxu <[email protected]>
      Co-authored-by: default avatarNazar Mokrynskyi <[email protected]>
      Co-authored-by: default avatarAnwesh <[email protected]>
      Co-authored-by: default avatarcheme <[email protected]>
      Co-authored-by: default avatarSam Johnson <[email protected]>
      Co-authored-by: default avatarkianenigma <[email protected]>
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      Co-authored-by: default avatarMuharem <[email protected]>
      Co-authored-by: default avatarjoepetrowski <[email protected]>
      Co-authored-by: default avatarAlexandru Gheorghe <[email protected]>
      Co-authored-by: default avatarGabriel Facco de Arruda <[email protected]>
      Co-authored-by: default avatarSquirrel <[email protected]>
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      Co-authored-by: default avatargeorgepisaltu <[email protected]>
      Co-authored-by: command-bot <>
      (cherry picked from commit fd5f9292f500652e1d4792b09fb8ac60e1268ce4)
      
      * 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 <[email protected]>
      (cherry picked from commit bbd51ce867967f71657b901f1a956ad4f75d352e)
      
      * Increase timeout for assertions (#3680)
      
      Prevents timeouts in ci like
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/5516019
      
      (cherry picked from commit c4c9257386036a9e27e7ee001fe8eadb80958cc0)
      
      * 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 7099f6e1b1fa3c8cd894693902263d9ed0e38978)
      
      * Fix typo (#3691)
      
      (cherry picked from commit 6b1179f13b4815685769c9f523720ec9ed0e2ff4)
      
      * Bridge zombienet tests: remove unneeded accounts (#3700)
      
      Bridge zombienet tests: remove unneeded accounts
      
      (cherry picked from commit 0c6c837f689a287583508506e342ba07687e8d26)
      
      * Fix typos (#3753)
      
      (cherry picked from commit 7241a8db7b3496816503c6058dae67f66c666b00)
      
      * Update polkadot-sdk refs
      
      * Fix dependency conflicts
      
      * Fix build
      
      * cargo fmt
      
      * Fix spellcheck test
      
      ---------
      
      Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: default avatarMarcin S <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatargeorgepisaltu <[email protected]>
      Co-authored-by: default avatarJavier Viola <[email protected]>
      Co-authored-by: default avatargupnik <[email protected]>
      Co-authored-by: default avatarjokess123 <[email protected]>
      Co-authored-by: default avatarslicejoke <[email protected]>
      28c459be
  13. Mar 20, 2024
  14. Mar 18, 2024
    • dependabot[bot]'s avatar
      Bump async-trait from 0.1.77 to 0.1.78 · 62372e74
      dependabot[bot] authored
      
      
      Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.77 to 0.1.78.
      - [Release notes](https://github.com/dtolnay/async-trait/releases)
      - [Commits](https://github.com/dtolnay/async-trait/compare/0.1.77...0.1.78)
      
      ---
      updated-dependencies:
      - dependency-name: async-trait
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      62372e74
    • dependabot[bot]'s avatar
      Bump anyhow from 1.0.80 to 1.0.81 · 61e865bc
      dependabot[bot] authored
      
      
      Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.80 to 1.0.81.
      - [Release notes](https://github.com/dtolnay/anyhow/releases)
      - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.80...1.0.81)
      
      ---
      updated-dependencies:
      - dependency-name: anyhow
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      61e865bc
    • dependabot[bot]'s avatar
      Bump scale-info from 2.10.0 to 2.11.0 · d9c5e410
      dependabot[bot] authored
      
      
      Bumps [scale-info](https://github.com/paritytech/scale-info) from 2.10.0 to 2.11.0.
      - [Release notes](https://github.com/paritytech/scale-info/releases)
      - [Changelog](https://github.com/paritytech/scale-info/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/paritytech/scale-info/compare/v2.10.0...v2.11.0)
      
      ---
      updated-dependencies:
      - dependency-name: scale-info
        dependency-type: direct:production
        update-type: version-update:semver-minor
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      d9c5e410
    • dependabot[bot]'s avatar
      Bump thiserror from 1.0.57 to 1.0.58 · 9be3e0b6
      dependabot[bot] authored
      
      
      Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.57 to 1.0.58.
      - [Release notes](https://github.com/dtolnay/thiserror/releases)
      - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.57...1.0.58)
      
      ---
      updated-dependencies:
      - dependency-name: thiserror
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      9be3e0b6
  15. Mar 12, 2024
  16. Mar 11, 2024
    • dependabot[bot]'s avatar
      Bump strum from 0.26.1 to 0.26.2 · 5c923e0d
      dependabot[bot] authored
      
      
      Bumps [strum](https://github.com/Peternator7/strum) from 0.26.1 to 0.26.2.
      - [Release notes](https://github.com/Peternator7/strum/releases)
      - [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/Peternator7/strum/commits)
      
      ---
      updated-dependencies:
      - dependency-name: strum
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      5c923e0d
    • dependabot[bot]'s avatar
      Bump sysinfo from 0.30.6 to 0.30.7 · 7e22cc30
      dependabot[bot] authored
      
      
      Bumps [sysinfo](https://github.com/GuillaumeGomez/sysinfo) from 0.30.6 to 0.30.7.
      - [Changelog](https://github.com/GuillaumeGomez/sysinfo/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/GuillaumeGomez/sysinfo/compare/v0.30.6...v0.30.7)
      
      ---
      updated-dependencies:
      - dependency-name: sysinfo
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      7e22cc30
    • dependabot[bot]'s avatar
      Bump env_logger from 0.11.2 to 0.11.3 · 3f3d836a
      dependabot[bot] authored
      
      
      Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.11.2 to 0.11.3.
      - [Release notes](https://github.com/rust-cli/env_logger/releases)
      - [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
      - [Commits](https://github.com/rust-cli/env_logger/compare/v0.11.2...v0.11.3)
      
      ---
      updated-dependencies:
      - dependency-name: env_logger
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      3f3d836a
  17. Mar 05, 2024
  18. Mar 04, 2024
    • Svyatoslav Nikolsky's avatar
      Some remaining fixes (mostly insubstantial) for relay (#2859) · af8480ed
      Svyatoslav Nikolsky authored
      * if bundled version is `None` and cli said "use bundled" => error
      
      * update chain spec and transaction versions
      
      * use generated runtime wrapper for PBH and KBH
      
      * trigger CI
      
      * Revert "trigger CI"
      
      This reverts commit 7d9f51e3.
      
      * Revert "Revert "trigger CI""
      
      This reverts commit c86ca0e2.
      
      * Revert "Revert "Revert "trigger CI"""
      
      This reverts commit 95e7da25.
      af8480ed
    • dependabot[bot]'s avatar
      Bump log from 0.4.20 to 0.4.21 · 503f64bf
      dependabot[bot] authored
      
      
      Bumps [log](https://github.com/rust-lang/log) from 0.4.20 to 0.4.21.
      - [Release notes](https://github.com/rust-lang/log/releases)
      - [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/rust-lang/log/compare/0.4.20...0.4.21)
      
      ---
      updated-dependencies:
      - dependency-name: log
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      503f64bf
    • dependabot[bot]'s avatar
      Bump tempfile from 3.10.0 to 3.10.1 · 7ee64ec6
      dependabot[bot] authored
      
      
      Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.10.0 to 3.10.1.
      - [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/Stebalien/tempfile/compare/v3.10.0...v3.10.1)
      
      ---
      updated-dependencies:
      - dependency-name: tempfile
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      7ee64ec6
    • dependabot[bot]'s avatar
      Bump sysinfo from 0.30.5 to 0.30.6 · 38254ac3
      dependabot[bot] authored
      
      
      Bumps [sysinfo](https://github.com/GuillaumeGomez/sysinfo) from 0.30.5 to 0.30.6.
      - [Changelog](https://github.com/GuillaumeGomez/sysinfo/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/GuillaumeGomez/sysinfo/compare/v0.30.5...v0.30.6)
      
      ---
      updated-dependencies:
      - dependency-name: sysinfo
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      38254ac3
  19. Mar 01, 2024
  20. Feb 26, 2024
    • dependabot[bot]'s avatar
      Bump anyhow from 1.0.79 to 1.0.80 · 9f89c7e6
      dependabot[bot] authored
      
      
      Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.79 to 1.0.80.
      - [Release notes](https://github.com/dtolnay/anyhow/releases)
      - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.79...1.0.80)
      
      ---
      updated-dependencies:
      - dependency-name: anyhow
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      9f89c7e6
    • dependabot[bot]'s avatar
      Bump serde from 1.0.196 to 1.0.197 · 5317ccba
      dependabot[bot] authored
      
      
      Bumps [serde](https://github.com/serde-rs/serde) from 1.0.196 to 1.0.197.
      - [Release notes](https://github.com/serde-rs/serde/releases)
      - [Commits](https://github.com/serde-rs/serde/compare/v1.0.196...v1.0.197)
      
      ---
      updated-dependencies:
      - dependency-name: serde
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      5317ccba
    • dependabot[bot]'s avatar
      Bump serde_json from 1.0.113 to 1.0.114 · d218c7a8
      dependabot[bot] authored
      
      
      Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.113 to 1.0.114.
      - [Release notes](https://github.com/serde-rs/json/releases)
      - [Commits](https://github.com/serde-rs/json/compare/v1.0.113...v1.0.114)
      
      ---
      updated-dependencies:
      - dependency-name: serde_json
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      d218c7a8