Skip to content
  1. Mar 26, 2024
    • Pavel Orlov's avatar
      XCM Fee Payment Runtime API (#3607) · 3c972fc1
      Pavel Orlov authored
      
      
      The PR provides API for obtaining:
      - the weight required to execute an XCM message,
      - a list of acceptable `AssetId`s for message execution payment,
      - the cost of the weight in the specified acceptable `AssetId`.
      
      It is meant to address an issue where one has to guess how much fee to
      pay for execution. Also, at the moment, a client has to guess which
      assets are acceptable for fee execution payment.
      See the related issue
      https://github.com/paritytech/polkadot-sdk/issues/690.
      With this API, a client is supposed to query the list of the supported
      asset IDs (in the XCM version format the client understands), weigh the
      XCM program the client wants to execute and convert the weight into one
      of the acceptable assets. Note that the client is supposed to know what
      program will be executed on what chains. However, having a small
      companion JS library for the pallet-xcm and xtokens should be enough to
      determine what XCM programs will be executed and where (since these
      pallets compose a known small set of programs).
      ```Rust
      pub trait XcmPaymentApi<Call>
      	where
      		Call: Codec,
      	{
      		/// Returns a list of acceptable payment assets.
      		///
      		/// # Arguments
      		///
      		/// * `xcm_version`: Version.
      		fn query_acceptable_payment_assets(xcm_version: Version) -> Result<Vec<VersionedAssetId>, Error>;
      		/// Returns a weight needed to execute a XCM.
      		///
      		/// # Arguments
      		///
      		/// * `message`: `VersionedXcm`.
      		fn query_xcm_weight(message: VersionedXcm<Call>) -> Result<Weight, Error>;
      		/// Converts a weight into a fee for the specified `AssetId`.
      		///
      		/// # Arguments
      		///
      		/// * `weight`: convertible `Weight`.
      		/// * `asset`: `VersionedAssetId`.
      		fn query_weight_to_asset_fee(weight: Weight, asset: VersionedAssetId) -> Result<u128, Error>;
      		/// Get delivery fees for sending a specific `message` to a `destination`.
      		/// These always come in a specific asset, defined by the chain.
      		///
      		/// # Arguments
      		/// * `message`: The message that'll be sent, necessary because most delivery fees are based on the
      		///   size of the message.
      		/// * `destination`: The destination to send the message to. Different destinations may use
      		///   different senders that charge different fees.
      		fn query_delivery_fees(destination: VersionedLocation, message: VersionedXcm<()>) -> Result<VersionedAssets, Error>;
      	}
      ```
      An
      [example](https://gist.github.com/PraetorP/4bc323ff85401abe253897ba990ec29d)
      of a client side code.
      
      ---------
      
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      Co-authored-by: default avatarDaniel Shiposha <[email protected]>
      3c972fc1
  2. Mar 01, 2024
    • Francisco Aguirre's avatar
      Add `claim_assets` extrinsic to `pallet-xcm` (#3403) · 65088668
      Francisco Aguirre authored
      
      
      If an XCM execution fails or ends with leftover assets, these will be
      trapped.
      In order to claim them, a custom XCM has to be executed, with the
      `ClaimAsset` instruction.
      However, arbitrary XCM execution is not allowed everywhere yet and XCM
      itself is still not easy enough to use for users out there with trapped
      assets.
      This new extrinsic in `pallet-xcm` will allow these users to easily
      claim their assets, without concerning themselves with writing arbitrary
      XCMs.
      
      Part of fixing https://github.com/paritytech/polkadot-sdk/issues/3495
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      65088668
  3. Feb 20, 2024
  4. Jan 31, 2024
    • Francisco Aguirre's avatar
      Add limits to XCMv4 (#3114) · cc4805b5
      Francisco Aguirre authored
      
      
      Some more work regarding XCMv4. Two limits from v3 were not transferred
      over, those are:
      - The instructions limit
      - The number of assets limit
      Both of these are now in v4.
      
      For some reason `AssetInstance` increased in size, don't know why CI
      didn't catch that before.
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: command-bot <>
      cc4805b5
  5. Jan 16, 2024
    • Francisco Aguirre's avatar
      XCMv4 (#1230) · 8428f678
      Francisco Aguirre authored
      
      
      # Note for reviewer
      
      Most changes are just syntax changes necessary for the new version.
      Most important files should be the ones under the `xcm` folder.
      
      # Description 
      
      Added XCMv4.
      
      ## Removed `Multi` prefix
      The following types have been renamed:
      - MultiLocation -> Location
      - MultiAsset -> Asset
      - MultiAssets -> Assets
      - InteriorMultiLocation -> InteriorLocation
      - MultiAssetFilter -> AssetFilter
      - VersionedMultiAsset -> VersionedAsset
      - WildMultiAsset -> WildAsset
      - VersionedMultiLocation -> VersionedLocation
      
      In order to fix a name conflict, the `Assets` in `xcm-executor` were
      renamed to `HoldingAssets`, as they represent assets in holding.
      
      ## Removed `Abstract` asset id
      
      It was not being used anywhere and this simplifies the code.
      
      Now assets are just constructed as follows:
      
      ```rust
      let asset: Asset = (AssetId(Location::new(1, Here)), 100u128).into();
      ```
      
      No need for specifying `Concrete` anymore.
      
      ## Outcome is now a named fields struct
      
      Instead of
      
      ```rust
      pub enum Outcome {
        Complete(Weight),
        Incomplete(Weight, Error),
        Error(Error),
      }
      ```
      
      we now have
      
      ```rust
      pub enum Outcome {
        Complete { used: Weight },
        Incomplete { used: Weight, error: Error },
        Error { error: Error },
      }
      ```
      
      ## Added Reanchorable trait
      
      Now both locations and assets implement this trait, making it easier to
      reanchor both.
      
      ## New syntax for building locations and junctions
      
      Now junctions are built using the following methods:
      
      ```rust
      let location = Location {
          parents: 1,
          interior: [Parachain(1000), PalletInstance(50), GeneralIndex(1984)].into()
      };
      ```
      
      or
      
      ```rust
      let location = Location::new(1, [Parachain(1000), PalletInstance(50), GeneralIndex(1984)]);
      ```
      
      And they are matched like so:
      
      ```rust
      match location.unpack() {
        (1, [Parachain(id)]) => ...
        (0, Here) => ...,
        (1, [_]) => ...,
      }
      ```
      
      This syntax is mandatory in v4, and has been also implemented for v2 and
      v3 for easier migration.
      
      This was needed to make all sizes smaller.
      
      # TODO
      - [x] Scaffold v4
      - [x] Port github.com/paritytech/polkadot/pull/7236
      - [x] Remove `Multi` prefix
      - [x] Remove `Abstract` asset id
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      8428f678
  6. Dec 12, 2023
    • Branislav Kontur's avatar
      Ensure xcm versions over bridge (on sending chains) (#2481) · 575b8f8d
      Branislav Kontur authored
      ## Summary
      
      This pull request proposes a solution for improved control of the
      versioned XCM flow over the bridge (across different consensus chains)
      and resolves the situation where the sending chain/consensus has already
      migrated to a higher XCM version than the receiving chain/consensus.
      
      ## Problem/Motivation
      
      The current flow over the bridge involves a transfer from AssetHubRococo
      (AHR) to BridgeHubRococo (BHR) to BridgeHubWestend (BHW) and finally to
      AssetHubWestend (AHW), beginning with a reserve-backed transfer on AHR.
      
      In this process:
      1. AHR sends XCM `ExportMessage` through `XcmpQueue`, incorporating XCM
      version checks using the `WrapVersion` feature, influenced by
      `pallet_xcm::SupportedVersion` (managed by
      `pallet_xcm::force_xcm_version` or version discovery).
      
      2. BHR handles the `ExportMessage` instruction, utilizing the latest XCM
      version. The `HaulBlobExporter` converts the inner XCM to
      [`VersionedXcm::from`](https://github.com/paritytech/polkadot-sdk/blob/63ac2471/polkadot/xcm/xcm-builder/src/universal_exports.rs#L465-L467),
      also using the latest XCM version.
      
      However, challenges arise:
      - Incompatibility when BHW uses a different version than BHR. For
      instance, if BHR migrates to **XCMv4** while BHW remains on **XCMv3**,
      BHR's `VersionedXcm::from` uses `VersionedXcm::V4` variant, causing
      encoding issues for BHW.
        ```
      	/// Just a simulation of possible error, which could happen on BHW
      	/// (this code is based on actual master without XCMv4)
      	let encoded = hex_literal::hex!("0400");
      	println!("{:?}", VersionedXcm::<()>::decode(&mut &encoded[..]));
      
      Err(Error { cause: None, desc: "Could not decode `VersionedXcm`, variant
      doesn't exist" })
        ``` 
      - Similar compatibility issues exist between AHR and AHW.
      
      ## Solution
      
      This pull request introduces the following solutions:
      
      1. **New trait `CheckVersion`** - added to the `xcm` module and exposing
      `pallet_xcm::SupportedVersion`. This enhancement allows checking the
      actual XCM version for desired destinations outside of the `pallet_xcm`
      module.
      
      2. **Version Check in `HaulBlobExporter`** uses `CheckVersion` to check
      known/configured destination versions, ensuring compatibility. For
      example, in the scenario mentioned, BHR can store the version `3` for
      BHW. If BHR is on XCMv4, it will attempt to downgrade the message to
      version `3` instead of using the latest version `4`.
      
      3. **Version Check in `pallet-xcm-bridge-hub-router`** - this check
      ensures compatibility with the real destination's XCM version,
      preventing the unnecessary sending of messages to the local bridge hub
      if versions are incompatible.
      
      These additions aim to improve the control and compatibility of XCM
      flows over the bridge and addressing issues related to version
      mismatches.
      
      ## Possible alternative solution
      
      _(More investigation is needed, and at the very least, it should extend
      to XCMv4/5. If this proves to be a viable option, I can open an RFC for
      XCM.)._
      
      Add the `XcmVersion` attribute to the `ExportMessage` so that the
      sending chain can determine, based on what is stored in
      `pallet_xcm::SupportedVersion`, the version the destination is using.
      This way, we may not need to handle the version in `HaulBlobExporter`.
      
      ```
      ExportMessage {
      	network: NetworkId,
      	destination: InteriorMultiLocation,
      	xcm: Xcm<()>
      	destination_xcm_version: Version, // <- new attritbute
      },
      ```
      
      ```
      pub trait ExportXcm {
              fn validate(
      		network: NetworkId,
      		channel: u32,
      		universal_source: &mut Option<InteriorMultiLocation>,
      		destination: &mut Option<InteriorMultiLocation>,
      		message: &mut Option<Xcm<()>>,
                      destination_xcm_version: Version, , // <- new attritbute
      	) -> SendResult<Self::Ticket>;
      ```
      
      ## Future Directions
      
      This PR does not fix version discovery over bridge, further
      investigation will be conducted here:
      https://github.com/paritytech/polkadot-sdk/issues/2417.
      
      ## TODO
      
      - [x] `pallet_xcm` mock for tests uses hard-coded XCM version `2` -
      change to 3 or lastest?
      - [x] fix `pallet-xcm-bridge-hub-router`
      - [x] fix HaulBlobExporter with version determination
      [here](https://github.com/paritytech/polkadot-sdk/blob/2183669d/polkadot/xcm/xcm-builder/src/universal_exports.rs#L465)
      - [x] add unit-tests to the runtimes
      - [x] run benchmarks for `ExportMessage`
      - [x] extend local run scripts about `force_xcm_version(dest, version)`
      - [ ] when merged, prepare governance calls for Rococo/Westend
      - [ ] add PRDoc
      
      Part of: https://github.com/paritytech/parity-bridges-common/issues/2719
      
      ---------
      
      Co-authored-by: command-bot <>
      575b8f8d
  7. Oct 20, 2023
    • Bastian Köcher's avatar
      `xcm`: Change `TypeInfo::path` to not include `staging` (#1948) · f3bf5c1a
      Bastian Köcher authored
      
      
      The `xcm` crate was renamed to `staging-xcm` to be able to publish it to
      crates.io as someone as squatted `xcm`. The problem with this rename is
      that the `TypeInfo` includes the crate name which ultimately lands in
      the metadata. The metadata is consumed by downstream users like
      `polkadot-js` or people building on top of `polkadot-js`. These people
      are using the entire `path` to find the type in the type registry. Thus,
      their code would break as the type path would now be [`staging_xcm`,
      `VersionedXcm`] instead of [`xcm`, `VersionedXcm`]. This pull request
      fixes this by renaming the path segment `staging_xcm` to `xcm`.
      
      This requires: https://github.com/paritytech/scale-info/pull/197
      
      ---------
      
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      f3bf5c1a
  8. Aug 31, 2023
  9. Aug 14, 2023
  10. Jun 15, 2023
  11. Apr 27, 2023
    • Keith Yeung's avatar
      XCM: Implement a blocking barrier (#7098) · d20e3c11
      Keith Yeung authored
      * Move XCM matcher to xcm-builder
      
      * Use ProcessMessageError as the error type in MatchXcm and ShouldExecute
      
      * Implement a blocking barrier
      
      * Fixes
      
      * Add benchmarking for force_suspension
      
      * ".git/.scripts/commands/bench/bench.sh" runtime westend pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime rococo pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime kusama pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime polkadot pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime westend pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime rococo pallet_xcm
      
      ---------
      
      Co-authored-by: command-bot <>
      d20e3c11
  12. Apr 08, 2023
  13. Mar 16, 2023
  14. Mar 08, 2023
  15. Mar 04, 2023
    • Keith Yeung's avatar
      Introduce XCM matcher for writing barriers (#6756) · d29951e2
      Keith Yeung authored
      * Introduce XCM matcher for writing barriers
      
      * Fix compilation
      
      * cargo fmt
      
      * Add more doc comments
      
      * Add mod doc comment
      
      * More doc comments
      
      * Add tests and fix logic
      
      * Remove redundant syntax
      
      * Add more doc comments
      
      * Add more doc comments
      
      * Add more doc comments
      d29951e2
  16. Jan 17, 2023
    • Gavin Wood's avatar
      XCM v3 (#4097) · 1a1bfd2a
      Gavin Wood authored
      
      
      * cargo fmt
      
      * Create benchmarks for XCM instructions introduced in v3 (#4564)
      
      * Create benchmarks for BurnAsset and ExpectAsset
      
      * Add benchmarks for ExpectOrigin and ExpectError
      
      * Add benchmarks for QueryPallet and ExpectPallet
      
      * Add benchmarks for ReportTransactStatus and ClearTransactStatus
      
      * cargo fmt
      
      * Use AllPalletsWithSystem in mocks
      
      * Update XCM generic benchmarks for westend
      
      * Remove default impls for some XCM weight functions
      
      * Fix compilation error
      
      * Add weight_args helper attribute
      
      * Remove manually written XcmWeightInfo
      
      * Parse trailing comma
      
      * Revert "Add weight_args helper attribute"
      
      This reverts commit 3b7c47a6182e1b9227036c38b406d494c3fcf6fd.
      
      * Fixes
      
      * Fixes
      
      * XCM v3: Introduce querier field into `QueryReponse` (#4732)
      
      * Introduce querier field into QueryReponse
      
      * Convert &Option<MultiLocation> to Option<&MultiLocation>
      
      &Option<T> is almost always never quite useful, most of the time it
      still gets converted to an Option<&T> via `as_ref`, so we should simply
      make functions that accept Option<&T> instead.
      
      * Fix tests
      
      * cargo fmt
      
      * Fix benchmarks
      
      * Appease spellchecker
      
      * Fix test
      
      * Fix tests
      
      * Fix test
      
      * Fix mock
      
      * Fixes
      
      * Fix tests
      
      * Add test for response queriers
      
      * Update xcm/pallet-xcm/src/lib.rs
      
      * Test for non-existence of querier
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Add `starts_with` function to `MultiLocation` and `Junctions` (#4835)
      
      * add matches_prefix function to MultiLocation and Junctions
      
      * rename matches_prefix to starts_with
      
      * remove unnecessary main in doc comment
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Make use of starts_with in match_and_split
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * XCM v3: Bridge infrastructure (#4681)
      
      * XCM bridge infrastructure
      
      * Missing bit of cherry-pick
      
      * Revamped XCM proc macros; new NetworkIds
      
      * Fixes
      
      * Formatting
      
      * ExportMessage instruction and config type
      
      * Add MessageExporter definitions
      
      * Formatting
      
      * Missing files
      
      * Fixes
      
      * Initial bridging config API
      
      * Allow for two-stage XCM execution
      
      * Update xcm/src/v3/mod.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * XCM crate building again
      
      * Initial bridging primitive
      
      * Docs
      
      * Docs
      
      * More work
      
      * More work
      
      * Merge branch 'gav-xcm-v3' into gav-xcm-v3-bridging
      
      * Make build
      
      * WithComputedOrigin and SovereignPaidRemoteExporter
      
      * Remove TODOs
      
      * Slim bridge API and tests.
      
      * Fixes
      
      * More work
      
      * First bridge test passing
      
      * Formatting
      
      * Another test
      
      * Next round of bridging tests
      
      * Repot tests
      
      * Cleanups
      
      * Paid bridging
      
      * Formatting
      
      * Tests
      
      * Spelling
      
      * Formatting
      
      * Fees and refactoring
      
      * Fixes
      
      * Formatting
      
      * Refactor SendXcm to become two-phase
      
      * Fix tests
      
      * Refactoring of SendXcm and ExportXcm complete
      
      * Formatting
      
      * Rename CannotReachDestination -> NotApplicable
      
      * Remove XCM v0
      
      * Minor grumbles
      
      * Formatting
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Cleanup XCM config
      
      * Fee handling
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Bump
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Bump Substrate
      
      * XCM v3: `ExchangeAsset` and Remote-locking (#4945)
      
      * Asset Exchange and Locks
      
      * Make sure XCM typers impl MaxEncodedLen
      
      * Basic implementation for locks
      
      * Bump Substrate
      
      * Missing files
      
      * Use new API
      
      * Introduce  instruction
      
      * Big refactor
      
      * Docs
      
      * Remove deprecated struct
      
      * Remove deprecated struct
      
      * Repot XCM builder tests
      
      * ExchangeAsset test
      
      * Exchange tests
      
      * Locking tests
      
      * Locking tests
      
      * Fixes and tests
      
      * Fixes
      
      * Formatting
      
      * Spelling
      
      * Add simulator test for remote locking
      
      * Fix tests
      
      * Bump
      
      * XCM v3: Support for non-fungibles (#4950)
      
      * NFT support and a test
      
      * New files.
      
      * Integration tests for sending NFTs
      
      * Formatting
      
      * Broken Cargo features
      
      * Use 2021 edition
      
      * Fixes
      
      * Formatting
      
      * Formatting
      
      * Update xcm/xcm-builder/src/asset_conversion.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Update xcm/xcm-builder/src/nonfungibles_adapter.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Update xcm/xcm-executor/src/lib.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * XCM v3: Context & ID hash (#4756)
      
      * send_xcm returns message hash
      
      * cargo fmt
      
      * Create topic register and instructions
      
      * Fix weights
      
      * Use tabs
      
      * Sketch out XcmContext
      
      * Fix doc test
      
      * Add the XCM context as a parameter to executor trait fns
      
      * Fixes
      
      * Add XcmContext parameter
      
      * Revert adding context as an arg to SendXcm trait methods
      
      * Revert adding context argument to ConvertOrigin trait methods
      
      * cargo fmt
      
      * Do not change the API of XcmExecutor::execute
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Remove convenience method
      
      * Fixes
      
      * Fixes
      
      * cargo fmt
      
      * Fixes
      
      * Add benchmarks for XCM topic instructions
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs
      
      * Remove context argument on FilterAssetLocation
      
      * Fixes
      
      * Remove unused import
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Accept XCM hash parameter in ExecuteXcm trait methods
      
      * cargo fmt
      
      * Properly enable sp-io/std
      
      * Fixes
      
      * default-features = false
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Make XcmContext optional in withdraw_asset
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Modify tests to check for the correct XCM hash
      
      * Small refactor
      
      * cargo fmt
      
      * Check for expected hash in xcm-builder unit tests
      
      * Add doc comment for the optionality of the XCM context in withdraw_asset
      
      * Update xcm/src/v3/traits.rs
      
      * Update xcm/src/v3/traits.rs
      
      * Store XcmContext and avoid rebuilding
      
      * Use ref for XcmContext
      
      * Formatting
      
      * Fix incorrect hash CC @KiChjang
      
      
      
      * Refactor and make clear fake hashes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fix broken hashing
      
      * Docs
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Remove unknowable hash
      
      * Formatting
      
      * Use message hash for greater identifiability
      
      * Formatting
      
      * Fixes
      
      * Formatting
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Formatting
      
      * Remove horrible names
      
      * Bump
      
      * Remove InvertLocation trait (#5092)
      
      * Remove InvertLocation trait
      
      * Remove unneeded functions
      
      * Formatting
      
      * Fixes
      
      * Remove XCMv1 (#5094)
      
      * Remove XCMv1
      
      * Remove XCMv1
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * derive serialize/deserialize for xcm primitives (#5036)
      
      * derive serialize/deserialize for xcm primitives
      
      * derive serialize/deserialize for xcm primitives
      
      * update v3
      
      * update v2
      
      Co-authored-by: default avatarGav Wood <[email protected]>
      
      * Update lock
      
      * Fixes
      
      * Add benchmarks for the ExchangeAsset instruction
      
      * `AliasOrigin` instruction stub (#5122)
      
      * AliasOrigin instruction stub
      
      * Fixes
      
      * Fixes
      
      * Update substrate
      
      * Fixes
      
      * Ensure same array length before using copy_from_slice
      
      * Fixes
      
      * Add benchmarks for the UniversalOrigin instruction
      
      * Remove unused import
      
      * Remove unused import
      
      * Add benchmarks for SetFeesMode instruction
      
      * Add benchmarks for asset (un)locking instructions
      
      * Leave AliasOrigin unbenchmarked
      
      * Fixes after merge
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Set TrustedReserves to None on both Kusama and Westend
      
      * Remove extraneous reserve_asset_deposited benchmark
      
      * Fix universal_origin benchmark
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark pallet --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs
      
      * Don't rely on skipped benchmark functions
      
      * Fixes
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark pallet --chain=kusama-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/kusama/src/weights/xcm/pallet_xcm_benchmarks_generic.rs
      
      * Fix unused variables
      
      * Fixes
      
      * Spelling
      
      * Fixes
      
      * Fix codec index of VersionedXcm
      
      * Allows to customize how calls are dispatched from XCM (#5657)
      
      * CallDispatcher trait
      
      * fmt
      
      * unused import
      
      * fix test-runtime
      
      * remove JustDispatch type
      
      * fix typo in test-runtime
      
      * missing CallDispatcher
      
      * more missing CallDispatcher
      
      * Update comment `NoteAssetLocked` -> `NoteUnlockable`
      
      * Fixes
      
      * Fixes
      
      * Adjust MultiAssets weights based on new wild card variants
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Some late fixes for XCMv3 (#5237)
      
      * Maximise chances that trapped assets can be reclaimed
      
      * Do origin check as part of ExportMessage for security
      
      * Formatting
      
      * Fixes
      
      * Cleanup export XCM APIs
      
      * Formatting
      
      * Update xcm/src/v3/junctions.rs
      
      * UnpaidExecution instruction and associated barrier.
      
      * Tighten barriers (ClearOrigin/QueryResponse)
      
      * Allow only 1 ClearOrigin instruction in AllowTopLevelPaidExecutionFrom
      
      * Bi-directional teleport accounting
      
      * Revert other fix
      
      * Build fixes]
      
      * Tests build
      
      * Benchmark fixes
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Update Substrate
      
      * Re-export `pub` stuff from universal_exports.rs + removed unecessary clone (#6145)
      
      * Re-export `pub` stuff from universal_exports.rs
      
      * Removed unnecessary clone
      
      * Use 2D weights in XCM v3 (#6134)
      
      * Depend upon sp-core instead of sp-runtime
      
      * Make sp-io a dev-dependency
      
      * Use 2D weights in XCM v3
      
      * cargo fmt
      
      * Add XCM pallet migration to runtimes
      
      * Use from_parts
      
      * cargo fmt
      
      * Fixes
      
      * cargo fmt
      
      * Remove XCMWeight import
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Use translate in migration
      
      * Increase max upward message size in tests
      
      * Fix doc test
      
      * Remove most uses of from_ref_time
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Add extrinsic benchmarking to XCM pallet
      
      * cargo fmt
      
      * Fixes
      
      * Use old syntax
      
      * cargo fmt
      
      * Fixes
      
      * Remove hardcoded weights
      
      * Add XCM pallet to benchmarks
      
      * Use successful origin
      
      * Fix weird type parameter compilation issue
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * Use benchmarked XCM pallet weights
      
      * Fixes
      
      * Fixes
      
      * Use override instead of skip
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      Co-authored-by: command-bot <>
      
      * Replace Weight::MAX with 100b weight units
      
      * Add test to ensure all_gte in barriers is correct
      
      * Update xcm/src/v3/junction.rs
      
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      
      * Add more weight tests
      
      * cargo fmt
      
      * Create thread_local in XCM executor to limit recursion depth (#6304)
      
      * Create thread_local in XCM executor to limit recursion depth
      
      * Add unit test for recursion limit
      
      * Fix statefulness in tests
      
      * Remove panic
      
      * Use defer and environmental macro
      
      * Fix the implementation
      
      * Use nicer interface
      
      * Change ThisNetwork to AnyNetwork
      
      * Move recursion check up to top level
      
      * cargo fmt
      
      * Update comment
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Add upper limit on the number of overweight messages in the queue (#6298)
      
      * Add upper limit on the number of ovwerweight messages in the queue
      
      * Add newline
      
      * Introduce whitelist for Transact and limit UMP processing to 10 messages per block (#6280)
      
      * Add SafeCallFilter to XcmConfig
      
      * Limit UMP to receive 10 messages every block
      
      * Place 10 message limit on processing instead of receiving
      
      * Always increment the message_processed count whenever a message is processed
      
      * Add as_derivative to the Transact whitelist
      
      * cargo fmt
      
      * Fixes
      
      * Update xcm/xcm-builder/src/universal_exports.rs
      
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Remove topic register and instead use the topic field in XcmContext
      
      * Derive some common traits for DispatchBlobError
      
      * Fixes
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Fix comments
      
      * Fixes
      
      * Introduce WithOriginFilter and apply it as the CallDispatcher for runtimes
      
      * Fixes
      
      * Appease clippy and fixes
      
      * Fixes
      
      * Fix more clippy issues
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * Add benchmark function for ExportMessage
      
      * Fix comment
      
      * Add upper limit to DownwardMessageQueues size
      
      * Add max size check for queue in can_queue_downward_message
      
      * Fixes
      
      * Make Transact runtime call configurable
      
      * Return Weight::MAX when there is no successful send XCM origin
      
      * Update substrate
      
      * Fixes
      
      * Fixes
      
      * Remove ExportMessage benchmark
      
      * Remove assertion on Transact instruction benchmark
      
      * Make reachable destination configurable in XCM pallet benchmarks
      
      * Fixes
      
      * Fixes
      
      * Remove cfg attribute in fuzzer
      
      * Fixes
      
      * Remove cfg attribute for XCM pallet in test runtime
      
      * Fixes
      
      * Use ReachableDest where possible
      
      * Fixes
      
      * Add benchmark for UnpaidExecution
      
      * Update substrate
      
      * Ensure benchmark functions pass filters
      
      * Add runtime-benchmarks feature to fuzzer
      
      * Ensure FixedRateOfFungible accounts for proof size weights
      
      * cargo fmt
      
      * Whitelist remark_with_event when runtime-benchmarks feature is enabled
      
      * Use remark_with_event for Transact benchmarks
      
      * Fix Cargo.lock
      
      * Allow up to 3 DescendOrigin instructions before UnpaidExecution
      
      * cargo fmt
      
      * Edit code comment
      
      * Check check_origin for unpaid execution privilege
      
      * Fixes
      
      * Small nits for xcm-v3 (#6408)
      
      * Add possibility to skip benchmark for export_message
      
      * ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic
      
      * Revert
      
      * ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic
      
      * Add HaulBlobError to `fn haul_blob`
      
      * ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic
      
      Co-authored-by: command-bot <>
      
      * Revert changes to UnpaidExecution
      
      * Change AllowUnpaidExecutionFrom to be explicit
      
      * Fix log text
      
      * cargo fmt
      
      * Add benchmarks for XCM pallet version migration (#6448)
      
      * Add benchmarks for XCM pallet version migration
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * Fix benchmarks
      
      * Fix benchmarks
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      Co-authored-by: command-bot <>
      
      * Merge remote-tracking branch 'origin/master' into gav-xcm-v3
      
      * Fixes
      
      * Fix comments (#6470)
      
      * Specify Ethereum networks by their chain id (#6286)
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Use  for Kusama
      
      * Use WithComputedOrigin for Polkadot, Rococo and Westend
      
      * Update lock
      
      * Fix warning
      
      * Update xcm/pallet-xcm/src/tests.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Update runtime/parachains/src/ump/migration.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update xcm/pallet-xcm/src/migration.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fixes
      
      * cargo fmt
      
      * Typo
      
      * Update xcm/src/v3/mod.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Docs
      
      * Docs
      
      * Docs
      
      * Docs
      
      * Docs
      
      * Update xcm/src/v3/multiasset.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Add tests for MultiAssets::from_sorted_and_deduplicated
      
      * Fail gracefully when same instance NFTs are detected during push
      
      * Update Substrate to fix benchmarks
      
      * Apply suggestions from code review
      
      * Update runtime/kusama/src/xcm_config.rs
      
      * Rename arguments
      
      * Attempt to fix benchmark
      
      * ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev runtime_parachains::ump
      
      * Use actual weights for UMP pallet in Polkadot
      
      * ".git/.scripts/commands/bench/bench.sh" runtime kusama-dev runtime_parachains::ump
      
      * ".git/.scripts/commands/bench/bench.sh" runtime westend-dev runtime_parachains::ump
      
      * ".git/.scripts/commands/bench/bench.sh" runtime rococo-dev runtime_parachains::ump
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarstanly-johnson <[email protected]>
      Co-authored-by: default avatarnanocryk <[email protected]>
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarVincent Geddes <[email protected]>
      Co-authored-by: default avatarSquirrel <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      1a1bfd2a
  17. Sep 12, 2022
    • Sergej Sakac's avatar
      Companion for #11981 (#5915) · 8ea6076f
      Sergej Sakac authored
      
      
      * Companion for #11981
      
      * more renaming
      
      * fmt
      
      * fixes
      
      * add generic type
      
      * Companion for #11831
      
      * fix
      
      * revert changes
      
      * Delete rename-outer-enum.diff
      
      * revert
      
      * Update run_benches_for_runtime.sh
      
      * rename type Call & type Event
      
      * passing tests
      
      * fmt
      
      * small fixes
      
      * commit
      
      * fix
      
      * fmt
      
      * commit
      
      * error fixes
      
      * fix
      
      * small fix in test
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * remove RuntimeCall from pallet_grandpa
      
      * last fix
      
      * commit
      
      * rename
      
      * merge fix
      
      * update lockfile for {"substrate"}
      
      * cargo +nightly fmt
      
      * fix
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      8ea6076f
  18. Apr 04, 2022
  19. Dec 01, 2021
    • antonio-dropulic's avatar
      Squashed 'bridges/' changes from 23dda62482..407bf44a8a · 392447f5
      antonio-dropulic authored
      407bf44a8a add missing license header (#1204)
      9babb19810  Custom relay strategy (#1198)
      c287872a11 fix clippy things (#1200)
      3a40e62789 Expose some const value and type (#1186)
      32b61476d1 increase sleep before connectingMillau (#1195)
      aabe7041fa revert messages transactions mortality (#1194)
      3651f4f909 Message transactions mortality (#1191)
      364d6e155d Bump dependencies (#1180)
      f0389acc08 cargo +nightly fmt --all (#1192)
      b270b6a016 Unify error enums in substrate and ethereum clients with `thiserror` (#1094)
      58c4946f74 Limit max call size of Rialto/Millau runtimes (#1187)
      fd56a8cd56 Add UI to the deployment (#1047)
      16f01dc736 Westend -> Millau alerts are pending before notifications are sent (#1184)
      5628c11ece replace collective flip with babe randomness in Rialto (#1188)
      1094a63b00 ignore another (pretty bad) RUSTSEC (#1185)
      379fe323ea fix/ignore cargo deny issues (#1183)
      92af5e6e64 additional log in finality relay + rephrase "failed" (#1182)
      b996a3b681 Rialto parachain in test deployments (#1178)
      28d9332b44 Resubmit transactions strategy for Polkadot/Kusama (#1175)
      d0172c6847 Playing with CI (#1179)
      fb6f42456d fix checks order when registering parachain (#1177)
      ee828c005a Register-parachain subcommand of substrate-relay (#1170)
      8cd2b1a112 Token swap pallet benchmarks (#1174)
      bb811accb1 fix collision with westend bridge (#1172)
      8d2fba70ed add token swaps to test deployments (#1169)
      b6d1bdfe2c publish rialto parachain collator image (#1171)
      834ae4a10a Fix OutboundLaneData types (#1159)
      5ee0ea1626 copypasted -> copied (#1168)
      c3bb835f18 fix spelling (#1167)
      f90d041dc9 Upgrade `jsonrpsee` to v0.3 (#1051)
      598c9b6d0d add some basic tests for swap tokens (#1164)
      05e88c61f5 publish images when tag of specific format(e.g. v2021-09-27 + v2021-09-27-1) is published (#1166)
      7f3f94a6e0 Fix CI again (#1165)
      ff37de332f Move calculation relayer reward into `MessageDeliveryAndDispatchPayment` (#1153)
      36fbba839b fix clippy warning (#1163)
      16da44d018 explicit wasm build (#1158)
      c9c8226449 Match substrate's fmt (#1148)
      2fdd7f3e5e Fix/ignore clippy warnings (#1157)
      43dfcc2686 Adding LookupAddress (#1156)
      951eaa5582 Add rialto-parachain runtime and node (#1142)
      803d266d61 Rename MessageId -> BridgeMessageId (#1152)
      5f234484fc Box large arguments of GRANDPA pallet (#1154)
      cf9abc1011 Fix spelling (#1150)
      ab83ba2e58 Relay subcommand that performs token RLT <> MLAU token swap (#1141)
      832536caf0 Polkadot <> Kusama relayers (#1122)
      6d0daa8975 Add `OnMessageAccepted` callback (#1134)
      5d03a20b3e Integrate token swap pallet into Millau runtime (#1099)
      ea4cfa833e Adding MultiAddress type and ValidationCodeHash (#1139)
      c20325a784 Add tests for `Raw` and `BridgeSendMessage` enum `Call` variants (#1125)
      6d802416e2 increase pause before pining Rialto nodes (#1137)
      b54fa56b62 calculate fee using full message payload (#1132)
      ca5d8178f5 Add parachain pallets to rialto runtime (#1053)
      9eaae4142e fix transaction resubmitter limits for Millau -> Rialto transactions (#1135)
      9d4e17783c add --mandatory-headers-only cli option to complex relay (#1129)
      1c5e0ec1cb Add local CI info to README (#1131)
      a8e0929e14 chore: spellchecker fixes (#1130)
      3b8e2118e3 set fee for importing mandatory headers to zero (#1127)
      49bba9aa52 another bunch of words for spellchecker (#1128)
      8a72eafef6 Increase pause before messages generation start (#1126)
      1f0ba9a191 Move some associated types from relay_substrate_client::Chain to bp_runtime::Chain (#1087)
      74bc1a5b54 Transactions resubmitter (#1083)
      21ba001f26 log max balance drop when sending message (#1117)
      638a7ddffa Code Cleaning (#1124)
      be6555c51b Fix buildah logout (#1120)
      87539c4a98 Format code work (#1116)
      526fe7fdd7 fix spelling (#1119)
      bd4ce7f241 Fix spelling (#1118)
      3c1147858e added missing constants to Kusama/Polkadot primitives (#1114)
      52093b22ab Fix delivery transaction estimation used by rational relayer (#1109)
      77a2f2fbed Remove fund account checks from upgrade. (#1111)
      824334802b Rename param and update comment (#1108)
      d7784bfe06 Fix spellcheck (#1110)
      0b18f5906a Refactor substrate messages source and substrate messages target (#1105)
      b27240bbff fix compilation (#1107)
      9697da4fe8 Emit mortal transactions from relay (#1073)
      b29396c077 Change vault vars type to env vars (#1084)
      35e0bbdc0c Make clippy mandatory. (#1103)
      a517e8541f Remove unused deps (#1102)
      873dae608a Remove unnessary deps (#1101)
      13450b74ee Stored conversion rate updater (#1005)
      74389829f3 [BREAKING] Migrate messages pallet to frame v2 (#1088)
      424da938dd README fix (#1100)
      865744c909 upgrade currency exchange pallet to frame v2 (#1097)
      b5038148b3 Add missing docs (#1095)
      0791e911c1 Common crate for substrate-relay (#1082)
      3834c9d880 Update high-level-overview.md (#1093)
      c93553face Increase the time window for messaging alerts. (#1092)
      8b9cc3cecd migrate pallet-shift-session-manager to frame v2 (#1090)
      dc91813c22 migrate eth PoA pallet to frame v2 (#1091)
      f16bb098cc Migrate dispatch pallet  to frame v2 (#1089)
      19f4325348 Bridge/This Chain Ids should be exposed as constants on pallet level. (#1085)
      6381122df7 Change ChainSpec::from_genesis for Rialto and Millau chains to reflect the chain names. (#1079)
      0f1d33e973 Make CI happy again (#1086)
      238e65d96f fix typo (#1080)
      fc008457b6 Token-swap-over-bridge pallet (#944)
      3fb97fa5ef Fix full spellcheck (#1076)
      eae4ed7170 fixed wrong trace (#1075)
      219a0fad04 merge two weight-related loops in messages pallet (#1071)
      fc85632fdb increase_message_fee depends on stored mesage size (#1066)
      530f37a23b companion for https://github.com/paritytech/polkadot/pull/3507 (#1067)
      53b8cba683 sc_basic_authorship=trace for millau nodes (#1074)
      9874e05e98 Improve traces of message generator scripts (#1069)
      7b5ee84fbb extract message_details impl into runtime common (#1070)
      5a4aed5a8b refund weight for mot pruning messages (#1062)
      90e3d1e111 Fix Westend -> Millau sync (#1064)
      427d30ddfc When restarting client, also "restart" tokio runtime (#1065)
      d47c05eeef Change get pipeline sensitive variables from Vault instead of GitLab settings (#1063)
      d775a85415 use tokio reactor to execute jsonrpsee futures (#1061)
      15c8cd61cb Use BABE to author blocks on Rialto (previously: Aura) (#1050)
      5186293500 Allow reading suri && password override from file (#1059)
      b506298262 Update jsonrpsee reference (#1049)
      1734d00517 enable weight fee adjustent in Rialto/Millau (#1044)
      607265afae Pay dispatch fee at target chain cli option (#1043)
      ce79ef91be bump dependencies before start referencing polkadot repo (#1048)
      924fa24f6d Cli option for greedy relayer + run no-losses relayer by default (#1042)
      e21eba7b59 Yrong README Fixup + M1 Fixes (#1045)
      20d08204a2 Confirm delivery detects when more than expected messages are confirmed (#1039)
      994b846b52 pre and post dispatch weights of OnDeliveryConfirmed callback (#1040)
      1dd5297e84 give real value to Rialto and Millau tokens (#1038)
      035bee8715 Use real conversion rate in greedy relayer strategy (#1035)
      9cfaecd0f7 fixed metrics prefix (#1037)
      1d8d224937 Use kebab-case for bridge arguments (#1036)
      f30a4c79a6 Shared reference to conversion rate metric value (#1034)
      c34d7a5cbb estimate transaction fee (#1015)
      93404b18bb change alert period from 2m to 10m for Westend -> Millau (GRANDPA or public node itself is lagging sometimes) (#1032)
      
      git-subtree-dir: bridges
      git-subtree-split: 407bf44a8a5f4e60aceef2dc755cd9ff09929ac3
      392447f5
  20. Sep 15, 2021
    • Andrew Jones's avatar
      Companion for #8615: enrich metadata with type information (#3336) · 4c7539ca
      Andrew Jones authored
      
      
      * Use beefy branch with scale-info
      
      * Add patches
      
      * Sprinkle some TypeInfo derives
      
      * Add some TypeInfo deriv
      
      * Cargo.lock
      
      * Derive TypeInfo and skip type params for Xcm types
      
      * Cargo.lock
      
      * Fix up scale_info bounds attributes
      
      * Fix up dependencies
      
      * Use my own beefy-primitives branch
      
      * Bump BEEFY
      
      * Update patches
      
      * Add some scale-info dependencies and TypeInfo derives
      
      * More TypeInfo decoration
      
      * Update scale-info
      
      * Some TypeInfos and remove more Event pallet::metadata
      
      * Moar TypeInfos
      
      * TypeInfos galore, fix up metadata runtime API
      
      * TypeInfo
      
      * TypeInfos, update other runtime metadata APIs
      
      * Fix up Kusama, comment out some `usize` QueueSize parameter types
      
      * Remove local diener patches
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Update to scale-info crates.io release
      
      * Update primitive-types branch
      
      * Update pallet-beefy to use custom branch
      
      * Update other parity-common deps
      
      * Update parity-common patches
      
      * bump a bunch of deps in parity-common
      
      * Remove parity-common patches
      
      * Bump finality-grandpa version
      
      * Cargo.lock
      
      * Update scale-info to 0.9.1
      
      * Add recursion_limit for runtime-parachains
      
      * Add some scale_info attributes
      
      * Cargo.lock
      
      * Revert finality-grandpa bump
      
      * Cargo.lock, scale-info update
      
      * cargo update
      
      * Make sure using patched version of finality-grandpa
      
      * Use patched scale-info
      
      * Update to scale-info 0.10.0
      
      * Update finality-grandpa
      
      * Cargo.lock
      
      * Update beefy deps
      
      * Update beefy deps again
      
      * Add scale-info dependency
      
      * Remove deprecated pallet::metadata attributes.
      
      * Add some missing scale-info deps and derives
      
      * Use some variant struct call syntax
      
      * Add missing TypeInfo impl
      
      * Add some more TypeInfo impls
      
      * Convert some call enum struct variant constructors
      
      * More scale-info deps and derives
      
      * Call enum struct variants
      
      * TypeInfo derives
      
      * Call enum variant structs
      
      * scale-info deps and derives
      
      * Call enum variant struct constructors
      
      * Use beefy-primitives scale-info feature
      
      * Use grandpa-bridge-gadget master branch
      
      * Remove finality-grandpa patch
      
      * Add missing scale_info dependency and derive
      
      * Fix up some call variant constructors
      
      * Add missing scale_info dependency
      
      * Fix some test errors
      
      * More TypeInfo derives
      
      * More call variant structs
      
      * Call variant structs in tests
      
      * Cargo.lock
      
      * Fmt
      
      * Fix more call struct variants
      
      * Another call struct variant
      
      * add scale-info/std features explicitly
      
      * More call struct variants
      
      * Add missing scale-info dependency
      
      * Fmt
      
      * review: activate scale-info/std where missing
      
      * Remove some duplicate std feature activation
      
      * review: add scale_info bounds() attr
      
      * More call variant structs
      
      * Remove recursion limit
      
      * Update beefy-primitives
      
      * Update beefy-primitives
      
      * Fix simnet call variant struct errors
      
      * Fmt
      
      * cargo update -p beefy-primitives
      
      * Add some missing TypeInfo derives
      
      * Fix some call variants
      
      * Fix some call variant underscores
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Add missing TypeInfo derive
      
      * Add some more missing TypeInfo derives
      
      * Even more missing TypeInfo derives
      
      * Add TypeInfo derives to new xcm types
      
      * Fmt
      
      * Cargo.lock
      
      * Add missing TypeInfo impls
      
      * Cargo.lock
      
      * More missing TypeInfos
      
      * Fixes
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Add TypeInfo impls to xcm v2
      
      * Update to scale-info 1.0
      
      * Update finality-grandpa 0.14.4, patch for now
      
      * Update beefy
      
      * Remove patched finality-grandpa
      
      * Add TypeInfo impl to Outcome
      
      * Fixes
      
      * Call variant struct
      
      * Call variant struct
      
      * Fix test
      
      * Add TypeInfo impl
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Cargo.lock
      
      * git checkout master Cargo.lock
      
      * update Substrate
      
      * Add missing scale-info features for beefy-primitives
      
      * Fmt
      
      * Remove check for now
      
      * Update beefy-primitives, removes scale-info feature
      
      * Update beefy-primitives again
      
      Co-authored-by: default avataradoerr <[email protected]>
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      4c7539ca
  21. Sep 07, 2021
  22. Sep 02, 2021
    • Gavin Wood's avatar
      XCM: Automatic Version Negotiation (#3736) · 82ffe7dd
      Gavin Wood authored
      
      
      * XCM: Automatic Version Negotiation
      
      * Introduce the version instructions and subscription trait
      
      * Notification and subscription data migration
      
      * Version change subscriptions
      
      * Fixes
      
      * Formatting
      
      * Spelling
      
      * Fixes
      
      * Fixes
      
      * Automatic unsubscription
      
      * Formatting
      
      * Expose remote origin in VM and ensure it is unchanged from actual origin in subscription instructions.
      
      * Barrier
      
      * Unsubscription extrinsic
      
      * Remove top_level param
      
      * Formatting
      
      * Fixes
      
      * Automatic subscription
      
      * Formatting
      
      * Spelling
      
      * Unit tests for XCM executor
      
      * Formatting
      
      * Spellin
      
      * Unit test for XCM pallet subscriber side
      
      * Formatting
      
      * More tests
      
      * Formatting
      
      * Fixes
      
      * Subscription-side tests
      
      * Formatting
      
      * Unit tests for XCM pallet
      
      * Formatting
      
      * Update roadmap/implementers-guide/src/types/overseer-protocol.md
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Remove commented code
      
      * Grumbles
      
      * Multi-stage XCM version migration
      
      * Formatting
      
      * v1 subscriptions backport
      
      * Warning
      
      * Spelling
      
      * Fix grumbles
      
      * Formatting
      
      * Avoid running through old notifications
      
      * Formatting
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      82ffe7dd
  23. Aug 28, 2021
    • Gavin Wood's avatar
      XCM: Allow reclaim of assets dropped from holding (#3727) · 636d0b03
      Gavin Wood authored
      * XCM: Introduce AssetTrap
      
      * Revert reversions
      
      * Remove attempts at weighing and add test
      
      * Less storage use for asset trapping
      
      * Add missing file
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Docs
      
      * Filter types to allow runtimes to dictate which assets/origins should be trapped
      
      * Formatting
      
      * Tests
      
      * Formatting
      
      * Fixes
      
      * Docs
      636d0b03
  24. Aug 26, 2021
    • Gavin Wood's avatar
      XCM v2: Scripting, Query responses, Exception handling and Error reporting (#3629) · 8b80b283
      Gavin Wood authored
      * Intoduce XCM v2
      
      Also some minor fix for v0/v1
      
      * Minor version cleanup
      
      * Minor version cleanup
      
      * Introduce SendError for XcmSend trait to avoid cycles with having Outcome in Xcm
      
      * comment
      
      * Corrent type
      
      * Docs
      
      * Fix build
      
      * Fixes
      
      * Introduce the basic impl
      
      * Docs
      
      * Add function
      
      * Basic implementation
      
      * Weighed responses and on_report
      
      * Make XCM more script-like
      
      * Remove BuyExecution::orders
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Initial draft and make pallet-xcm build
      
      * fix XCM tests
      
      * Formatting
      
      * Fixes
      
      * Formatting
      
      * spelling
      
      * Fixes
      
      * Fixes
      
      * spelling
      
      * tests for translation
      
      * extra fields to XCM pallet
      
      * Formatting
      
      * Fixes
      
      * spelling
      
      * first integration test
      
      * Another integration test
      
      * Formatting
      
      * fix tests
      
      * all tests
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Bump
      
      * Remove unneeded structuring
      
      * add instruction
      
      * Fixes
      
      * spelling
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Introduce and use VersionedResponse
      
      * Introduce versioning to dispatchables' params
      
      * Fixes
      
      * Formatting
      
      * Rest of merge
      
      * more work
      
      * Formatting
      
      * Basic logic
      
      * Fixes
      
      * Fixes
      
      * Add test
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Nits
      
      * Simplify
      
      * Spelling
      
      * Formatting
      
      * Return weight of unexecuted instructions in case of error as surplus
      
      * Formatting
      
      * Fixes
      
      * Test for instruction count limiting
      
      * Formatting
      
      * Docs
      8b80b283
  25. Aug 23, 2021
  26. Aug 07, 2021
    • Shawn Tabrizi's avatar
      Harden XCM v1 for Recursions (#3586) · 9ee8013d
      Shawn Tabrizi authored
      
      
      * Guard against XCM recursive bombs by setting a recursion limit
      
      * Add test and set a lower recursion limit
      
      * Use u32 instead of usize for recursion limit
      
      * Make spellcheck happy
      
      * Cargo fmt
      
      * Limit XCM decoding depth in UMP message processing
      
      * Modify test to check for recursion in BuyExecution
      
      * Update xcm/xcm-simulator/example/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Make cargo fmt happy
      
      * WIP for testing recursion limit in WASM
      
      * Revert "WIP for testing recursion limit in WASM"
      
      This reverts commit 39181b46d1adf79358f5ae8aafcf480e0c0c22e6.
      
      * Remove XCM recursion limit test
      
      * Add recursion test for XCM message execution
      
      * Set a more sensible recursion limit
      
      * Cargo fmt
      
      * Implement successful_origin for benchmarks
      
      * Set recursion limit to 8 and create integration tests directory for xcm-executor
      
      * Cargo fmt
      
      * Add runtime-benchmarks feature to test-runtime
      
      * Give up creating ConvertOriginToLocal and use EnsureXcm
      
      * Re-add ConvertOriginToLocal
      
      * Fix compilation
      
      * Update xcm/xcm-executor/src/lib.rs
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      
      * Add decoding limit to all versioned XCM decode calls
      
      * Fix recursion limit test
      
      * Set a lower recursion count for recursion test
      
      * move integration tests to their own folder, fix recursion check in execute_effects
      
      * Remove xcm-executor integration tests directory
      
      * fix up
      
      * Update Cargo.lock
      
      * Update runtime/parachains/src/ump.rs
      
      * use proper decode limit
      
      * fix decode depth limit
      
      * here too
      
      * Update traits.rs
      
      * fix compile
      
      * fix test
      
      * Revert `decode_all_with_depth_limit` changes in parachain.rs
      
      * Remove unused imports in parachain.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      9ee8013d
  27. Aug 06, 2021
  28. Aug 02, 2021
  29. Jul 14, 2021
    • Denis_P's avatar
      WIP: CI: add spellcheck (#3421) · fc253e6e
      Denis_P authored
      
      
      * CI: add spellcheck
      
      * revert me
      
      * CI: explicit command for spellchecker
      
      * spellcheck: edit misspells
      
      * CI: run spellcheck on diff
      
      * spellcheck: edits
      
      * spellcheck: edit misspells
      
      * spellcheck: add rules
      
      * spellcheck: mv configs
      
      * spellcheck: more edits
      
      * spellcheck: chore
      
      * spellcheck: one more thing
      
      * spellcheck: and another one
      
      * spellcheck: seems like it doesn't get to an end
      
      * spellcheck: new words after rebase
      
      * spellcheck: new words appearing out of nowhere
      
      * chore
      
      * review edits
      
      * more review edits
      
      * more edits
      
      * wonky behavior
      
      * wonky behavior 2
      
      * wonky behavior 3
      
      * change git behavior
      
      * spellcheck: another bunch of new edits
      
      * spellcheck: new words are koming out of nowhere
      
      * CI: finding the master
      
      * CI: fetching master implicitly
      
      * CI: undebug
      
      * new errors
      
      * a bunch of new edits
      
      * and some more
      
      * Update node/core/approval-voting/src/approval_db/v1/mod.rs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * Update xcm/xcm-executor/src/assets.rs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * Suggestions from the code review
      
      * CI: scan only changed files
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      fc253e6e
  30. Apr 07, 2021
    • Gavin Wood's avatar
      XCM revamp (#2836) · adc238ad
      Gavin Wood authored
      
      
      * Remove unused relaying XCM
      
      * Aggregate HRMP (XCMP/HMP) messages. Payloads for spambot.
      
      * Revert lock
      
      * Fix
      
      * Broken example
      
      * Introduce fee payment mechanics into XCM.
      
      * Weight limitations on XCM execution
      
      * Mock environment for tests and the first test
      
      * Tests for XCM and a few refactors.
      
      * Remove code that's not ready
      
      * Fix for an XCM and an additional test
      
      * Query response system
      
      * XCMP message dispatch system reimagining
      
      - Moved most of the logic into xcm-handler pallet
      - Altered the outgoing XCMP API from push to pull
      - Changed underlying outgoing queue data structures to avoid multi-page read/writes
      - Introduced queuing for incoming messages
      - Introduced signal messages as a flow-control sub-stream
      - Introduced flow-control with basic threshold back-pressure
      - Introduced overall weight limitation on messages executed
      - Additonal alterations to XCM APIs for the new system
      
      * Some build fixes
      
      * Remove the Encode bounds sprayed around
      
      * More faff
      
      * Fix bounds amek use latest scale codec.
      
      * remove println
      
      * fixes
      
      * Fix XcmExecutor Tests
      
      * Fix XCM bounds using derivative crate
      
      * Refactor names of XcmGeneric &c into Xcm
      
      * Repot the xcm-executor into xcm-builder
      
      * Docs
      
      * Docs
      
      * Fixes
      
      * Update xcm/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Fixes
      
      * Docs
      
      * Update runtime/parachains/src/ump.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Docs
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Docs
      
      * Fixes
      
      * Fixes
      
      * Introduce transfer_asset specialisation.
      
      * Fixes
      
      * Fixes
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      adc238ad
  31. Nov 17, 2020
    • ordian's avatar
      update most of the dependencies (#1946) · 0a8a607a
      ordian authored
      * update tiny-keccak to 0.2
      
      * update deps except bitvec and shared_memory
      
      * fix some warning after futures upgrade
      
      * remove useless package rename caused by bug in cargo-upgrade
      
      * revert parity-util-mem *
      
      * remove unused import
      
      * cargo update
      
      * remove all renames on parity-scale-codec
      
      * remove the leftovers
      
      * remove unused dep
      0a8a607a
  32. Sep 28, 2020