Commit Graph

39 Commits

Author SHA1 Message Date
Francisco Aguirre 8428f678fe XCMv4 (#1230)
# 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: Keith Yeung <kungfukeith11@gmail.com>
2024-01-16 18:18:04 +00:00
Svyatoslav Nikolsky b62df69592 Final nits for bridge-hub-test-utils (#2788)
closes https://github.com/paritytech/parity-bridges-common/issues/2739
2023-12-22 12:22:50 +02:00
Svyatoslav Nikolsky 94759738f0 Cleanup bridges tests: with-parachain case (#2772)
related to
https://github.com/paritytech/parity-bridges-common/issues/2739
2023-12-21 20:16:08 +02:00
Svyatoslav Nikolsky 9f5221cc2f Cleanup bridges tests: with-grandpa-chain case (#2763)
related to
https://github.com/paritytech/parity-bridges-common/issues/2739

Co-authored-by: Branislav Kontur <bkontur@gmail.com>
2023-12-21 10:37:24 +03:00
Svyatoslav Nikolsky b58f0aef2d Governance can halt and resume Rococo <> Wococo bridge pallets over XCM (#2712)
This PR adds possibility for relay chain governance to halt and resume
bridge pallets using XCM calls. Following calls are enabled over XCM for
the `root` origin: `pallet_bridge_grandpa::set_operating_mode`,
`pallet_bridge_parachains::set_operating_mode` and
`pallet_bridge_messages::set_operating_mode`.
2023-12-15 10:01:49 +03:00
Squirrel be8e626806 Set clippy lints in workspace (requires rust 1.74) (#2390)
We currently use a bit of a hack in `.cargo/config` to make sure that
clippy isn't too annoying by specifying the list of lints.

There is now a stable way to define lints for a workspace. The only down
side is that every crate seems to have to opt into this so there's a
*few* files modified in this PR.

Dependencies:

- [x] PR that upgrades CI to use rust 1.74 is merged.

---------

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: Branislav Kontur <bkontur@gmail.com>
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
2023-12-13 15:11:07 +01:00
Svyatoslav Nikolsky 9ecb2d3391 Tests for BridgeHub(s) <> remote GRANDPA chain (#2692)
So far the `bridge-hub-test-utils` contained a tests set for testing
BridgeHub runtime that is bridging with the remote **parachain**. But we
have https://github.com/paritytech/polkadot-sdk/pull/2540 coming, which
would add Rococo <> Bulletin chain bridge (where Bulletin = standalone
chain that is using GRANDPA finality). Then it'll be expanded to
Polkadot BH as well.

So this PR adds the same set of tests to the `bridge-hub-test-utils`,
but for the case when remote chain is the chain with GRANDPA finality.
There's a lot of changes in this PR - I'll describe some:
- I've added `BasicParachainRuntime` trait to decrease number of lines
we need to add to `where` clause. Could revert, but imo it is useful;
- `cumulus/parachains/runtimes/bridge-hubs/test-utils/src/test_data` is
a submodule for generating test data for the test sets.
`from_parachain.rs` is used in tests for the case when remote chain is a
parachain, `from_grandpa_chain.rs` - for the bridges with remote GRANDPA
chains. `mod.rs` has some code, shared by both types of tests;
- `cumulus/parachains/runtimes/bridge-hubs/test-utils/src/test_data` is
a submodule with all test cases. The `mod.rs` has tests, suitable for
all cases. There's also `wth_parachain.rs` and `with_grandpa_chain.rs`
with the same meaning as above;
- I've merged the "core" code of two previous tests -
`relayed_incoming_message_works` and `complex_relay_extrinsic_works`
into one single `relayed_incoming_message_works` test. So now we are
always constructing extrinsics and are dispatching them using executive
module (meaning all signed extensions are also tested).

New test set is used here:
https://github.com/paritytech/polkadot-sdk/pull/2540. Once this PR is
merged, I'll merge that other PR with master to remove duplicate
changes.

I'm also planning to cleanup generic constraints + remove some
unnecessary assumptions about used chains in a follow-up PRs. But for
now I think this PR has enough changes, so don't want to complicate it
even more.

---

Breaking changes for the code that have used those tests before:
- the `construct_and_apply_extrinsic` callback now accepts the
`RuntimeCall` instead of the `pallet_utility::Call`;
- the `construct_and_apply_extrinsic` now may be called multiple times
for the single test, so make sure the `frame_system::CheckNonce` is
correctly constructed;
- all previous tests have been moved from
`bridge_hub_test_utils::test_cases` to
`bridge_hub_test_utils::test_cases::from_parachain` module;
- there are several changes in test arguments - please refer to
https://github.com/paritytech/polkadot-sdk/compare/sv-tests-for-bridge-with-remote-grandpa-chain?expand=1#diff-79a28d4d3e1749050341c2424f00c4c139825b1a20937767f83e58b95166735c
for details.
2023-12-13 11:31:12 +02:00
Branislav Kontur 575b8f8d15 Ensure xcm versions over bridge (on sending chains) (#2481)
## 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/63ac2471aa0210f0ac9903bdd7d8f9351f9a635f/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/2183669d05f9b510f979a0cc3c7847707bacba2e/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 <>
2023-12-12 17:04:26 +02:00
Branislav Kontur be500fc202 Bridges subtree update (#2602)
## Summary

This PR aligns Rococo/Westend bridge with latest Bridges repo
development:
- https://github.com/paritytech/parity-bridges-common/pull/2727
- https://github.com/paritytech/parity-bridges-common/pull/2728
- https://github.com/paritytech/parity-bridges-common/pull/2729




Part of: https://github.com/paritytech/parity-bridges-common/issues/2452
2023-12-06 19:05:05 +02:00
Liam Aharon 4a293bc5a2 Enforce consistent and correct toml formatting (#2518)
Using taplo, fixes all our broken and inconsistent toml formatting and
adds CI to keep them tidy.

If people want we can customise the format rules as described here
https://taplo.tamasfe.dev/configuration/formatter-options.html

@ggwpez, I suggest zepter is used only for checking features are
propagated, and leave formatting for taplo to avoid duplicate work and
conflicts.

TODO
- [x] Use `exclude = [...]` syntax in taplo file to ignore zombienet
tests instead of deleting the dir

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
2023-12-01 07:38:02 +00:00
Branislav Kontur f4bb17cc86 [testnet] Remove Wococo stuff from BridgeHubRococo/AssetHubRococo (#2300)
Rococo<>Wococo bridge is replaced by Rococo<Westend bridge, so this PR
removes unneeded code.

- [x] update bridges subtree after
https://github.com/paritytech/parity-bridges-common/pull/2692

---------

Co-authored-by: command-bot <>
Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>
2023-11-15 17:40:07 +02:00
Adrian Catangiu 824b782390 xcm: SovereignPaidRemoteExporter: remove unused RefundSurplus instruction (#2312)
Refunding surplus happens anyway on xcm_executor::post_process(),
automatically refunding surplus to original_origin at the end of
execution. Since SovereignPaidRemoteExporter doesn't ClearOrigin, it can
simply rely on the automatic mechanism.

Furthermore, RefundSurplus instruction refunds _surplus_. Surplus exists
only as a result of Transact, SetErrorHandler or SetAppendix
instructions, none of which being part of the
SovereignPaidRemoteExporter XCM program. So surplus is always zero here
anyway.
2023-11-15 17:36:14 +02:00
Svyatoslav Nikolsky 0d3c67d96b [testnet] Allow governance to control fees for Rococo <> Westend bridge (#2139)
Right now governance could only control byte-fee component of Rococo <>
Westend message fees (paid at Asset Hubs). This PR changes it a bit:
1) governance now allowed to control both fee components - byte fee and
base fee;
2) base fee now includes cost of "default" delivery and confirmation
transactions, in addition to `ExportMessage` instruction cost.
2023-11-03 10:32:41 +02:00
Oliver Tale-Yazdi e1c033ebe1 Use Message Queue as DMP and XCMP dispatch queue (#1246)
(imported from https://github.com/paritytech/cumulus/pull/2157)

## Changes

This MR refactores the XCMP, Parachains System and DMP pallets to use
the [MessageQueue](https://github.com/paritytech/substrate/pull/12485)
for delayed execution of incoming messages. The DMP pallet is entirely
replaced by the MQ and thereby removed. This allows for PoV-bounded
execution and resolves a number of issues that stem from the current
work-around.

All System Parachains adopt this change.  
The most important changes are in `primitives/core/src/lib.rs`,
`parachains/common/src/process_xcm_message.rs`,
`pallets/parachain-system/src/lib.rs`, `pallets/xcmp-queue/src/lib.rs`
and the runtime configs.

### DMP Queue Pallet

The pallet got removed and its logic refactored into parachain-system.
Overweight message management can be done directly through the MQ
pallet.

Final undeployment migrations are provided by
`cumulus_pallet_dmp_queue::UndeployDmpQueue` and `DeleteDmpQueue` that
can be configured with an aux config trait like:

```rust
parameter_types! {
	pub const DmpQueuePalletName: &'static str = \"DmpQueue\" < CHANGE ME;
	pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent;
}

impl cumulus_pallet_dmp_queue::MigrationConfig for Runtime {
	type PalletName = DmpQueuePalletName;
	type DmpHandler = frame_support::traits::EnqueueWithOrigin<MessageQueue, RelayOrigin>;
	type DbWeight = <Runtime as frame_system::Config>::DbWeight;
}

// And adding them to your Migrations tuple:
pub type Migrations = (
	...
	cumulus_pallet_dmp_queue::UndeployDmpQueue<Runtime>,
	cumulus_pallet_dmp_queue::DeleteDmpQueue<Runtime>,
);
```

### XCMP Queue pallet

Removed all dispatch queue functionality. Incoming XCMP messages are now
either: Immediately handled if they are Signals, enqueued into the MQ
pallet otherwise.

New config items for the XCMP queue pallet:
```rust
/// The actual queue implementation that retains the messages for later processing.
type XcmpQueue: EnqueueMessage<ParaId>;

/// How a XCM over HRMP from a sibling parachain should be processed.
type XcmpProcessor: ProcessMessage<Origin = ParaId>;

/// The maximal number of suspended XCMP channels at the same time.
#[pallet::constant]
type MaxInboundSuspended: Get<u32>;
```

How to configure those:

```rust
// Use the MessageQueue pallet to store messages for later processing. The `TransformOrigin` is needed since
// the MQ pallet itself operators on `AggregateMessageOrigin` but we want to enqueue `ParaId`s.
type XcmpQueue = TransformOrigin<MessageQueue, AggregateMessageOrigin, ParaId, ParaIdToSibling>;

// Process XCMP messages from siblings. This is type-safe to only accept `ParaId`s. They will be dispatched
// with origin `Junction::Sibling(…)`.
type XcmpProcessor = ProcessFromSibling<
	ProcessXcmMessage<
		AggregateMessageOrigin,
		xcm_executor::XcmExecutor<xcm_config::XcmConfig>,
		RuntimeCall,
	>,
>;

// Not really important what to choose here. Just something larger than the maximal number of channels.
type MaxInboundSuspended = sp_core::ConstU32<1_000>;
```

The `InboundXcmpStatus` storage item was replaced by
`InboundXcmpSuspended` since it now only tracks inbound queue suspension
and no message indices anymore.

Now only sends the most recent channel `Signals`, as all prio ones are
out-dated anyway.

### Parachain System pallet

For `DMP` messages instead of forwarding them to the `DMP` pallet, it
now pushes them to the configured `DmpQueue`. The message processing
which was triggered in `set_validation_data` is now being done by the MQ
pallet `on_initialize`.

XCMP messages are still handed off to the `XcmpMessageHandler`
(XCMP-Queue pallet) - no change here.

New config items for the parachain system pallet:
```rust
/// Queues inbound downward messages for delayed processing. 
///
/// Analogous to the `XcmpQueue` of the XCMP queue pallet.
type DmpQueue: EnqueueMessage<AggregateMessageOrigin>;
``` 

How to configure:
```rust
/// Use the MQ pallet to store DMP messages for delayed processing.
type DmpQueue = MessageQueue;
``` 

## Message Flow

The flow of messages on the parachain side. Messages come in from the
left via the `Validation Data` and finally end up at the `Xcm Executor`
on the right.

![Untitled
(1)](https://github.com/paritytech/cumulus/assets/10380170/6cf8b377-88c9-4aed-96df-baace266e04d)

## Further changes

- Bumped the default suspension, drop and resume thresholds in
`QueueConfigData::default()`.
- `XcmpQueue::{suspend_xcm_execution, resume_xcm_execution}` errors when
they would be a noop.
- Properly validate the `QueueConfigData` before setting it.
- Marked weight files as auto-generated so they wont auto-expand in the
MR files view.
- Move the `hypothetical` asserts to `frame_support` under the name
`experimental_hypothetically`

Questions:
- [ ] What about the ugly `#[cfg(feature = \"runtime-benchmarks\")]` in
the runtimes? Not sure how to best fix. Just having them like this makes
tests fail that rely on the real message processor when the feature is
enabled.
- [ ] Need a good weight for `MessageQueueServiceWeight`. The scheduler
already takes 80% so I put it to 10% but that is quite low.

TODO:
- [x] Remove c&p code after
https://github.com/paritytech/polkadot/pull/6271
- [x] Use `HandleMessage` once it is public in Substrate
- [x] fix `runtime-benchmarks` feature
https://github.com/paritytech/polkadot/pull/6966
- [x] Benchmarks
- [x] Tests
- [ ] Migrate `InboundXcmpStatus` to `InboundXcmpSuspended`
- [x] Possibly cleanup Migrations (DMP+XCMP)
- [x] optional: create `TransformProcessMessageOrigin` in Substrate and
replace `ProcessFromSibling`
- [ ] Rerun weights on ref HW

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Co-authored-by: command-bot <>
2023-11-02 15:31:38 +01:00
Lulu 495d24d730 Add ci check for parity-publish and fix current check issues (#1887)
Co-authored-by: Sergejs Kostjucenko <85877331+sergejparity@users.noreply.github.com>
Co-authored-by: Bastian Köcher <info@kchr.de>
2023-10-31 18:04:31 +00:00
Keith Yeung 3dece311be Introduce XcmFeesToAccount fee manager (#1234)
Combination of paritytech/polkadot#7005, its addon PR
paritytech/polkadot#7585 and its companion paritytech/cumulus#2433.

This PR introduces a new XcmFeesToAccount struct which implements the
`FeeManager` trait, and assigns this struct as the `FeeManager` in the
XCM config for all runtimes.

The struct simply deposits all fees handled by the XCM executor to a
specified account. In all runtimes, the specified account is configured
as the treasury account.

XCM __delivery__ fees are now being introduced (unless the root origin
is sending a message to a system parachain on behalf of the originating
chain).

# Note for reviewers

Most file changes are tests that had to be modified to account for the
new fees.
Main changes are in:
- cumulus/pallets/xcmp-queue/src/lib.rs <- To make it track the delivery
fees exponential factor
- polkadot/xcm/xcm-builder/src/fee_handling.rs <- Added. Has the
FeeManager implementation
- All runtime xcm_config files <- To add the FeeManager to the XCM
configuration

# Important note

After this change, instructions that create and send a new XCM (Query*,
Report*, ExportMessage, InitiateReserveWithdraw, InitiateTeleport,
DepositReserveAsset, TransferReserveAsset, LockAsset and RequestUnlock)
will require the corresponding origin account in the origin register to
pay for transport delivery fees, and the onward message will fail to be
sent if the origin account does not have the required amount. This
delivery fee is on top of what we already collect as tx fees in
pallet-xcm and XCM BuyExecution fees!

Wallet UIs that want to expose the new delivery fee can do so using the
formula:

```
delivery_fee_factor * (base_fee + encoded_msg_len * per_byte_fee)
```

where the delivery fee factor can be obtained from the corresponding
pallet based on which transport you are using (UMP, HRMP or bridges),
the base fee is a constant, the encoded message length from the message
itself and the per byte fee is the same as the configured per byte fee
for txs (i.e. `TransactionByteFee`).

---------

Co-authored-by: Branislav Kontur <bkontur@gmail.com>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: Giles Cope <gilescope@gmail.com>
Co-authored-by: command-bot <>
Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
2023-10-18 17:22:25 +02:00
Adrian Catangiu 8b3905d2a5 cumulus: add asset-hub-rococo runtime based on asset-hub-kusama and add asset-bridging support to it (#1215)
This commit adds Rococo Asset Hub dedicated runtime so we can test new
features here, before merging them in Kusama Asset Hub.
Also adds one such feature: asset transfer over bridge (Rococo AssetHub
<> Wococo AssetHub)

- clone `asset-hub-kusama-runtime` -> `asset-hub-rococo-runtime`
- make it use Rococo primitives, names, assets, constants, etc
- add asset-transfer-over-bridge support to Rococo AssetHub <> Wococo
AssetHub

Fixes #1128

---------

Co-authored-by: Branislav Kontur <bkontur@gmail.com>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
2023-10-18 08:47:45 +02:00
Lulu b300efcb57 Enable publishing of crates that are deps of other published crates (#1573) 2023-09-15 10:50:23 +01:00
Serban Iorga 142a11ad95 Update bridges subtree (#1392)
* Move the bridges subtree under root

* Squashed 'bridges/' changes from 277f0d5496..e50398d1c5

e50398d1c5 bridges subtree fixes (#2528)
99af07522d Markdown linter (#1309) (#2526)
733ff0fe7a `polkadot-staging` branch: Use polkadot-sdk dependencies (#2524)
e8a59f141e Fix benchmark with new XCM::V3 `MAX_INSTRUCTIONS_TO_DECODE` (#2514)
62b185de15 Backport `polkadot-sdk` changes to `polkadot-staging` (#2518)
d9658f4d5b Fix equivocation detection containers startup (#2516) (#2517)
d65db28a8f Backport: building images from locally built binaries (#2513)
5fdbaf45f6 Start the equivocation detection loop from the complex relayer (#2507) (#2512)
7fbb67de46 Backport: Implement basic equivocations detection loop (#2375)
cb7efe245c Manually update deps in polkadot staging (#2371)
d17981fc33 #2351 to polkadot-staging (#2359)

git-subtree-dir: bridges
git-subtree-split: e50398d1c594e4e96df70b0bd376e565d17e8558

* Reapply diener workspacify

* Fix Cargo.toml

* Fix test

* Adjustments
2023-09-11 11:47:45 +03:00
Lulu 31c79470a3 Rename squatted crates (#1241)
* Rename squatted crates

This commit adds the staging- prefix to squatted crates so we can go forward and publish them to crates.io.

Using the staging- prefix is a temp fix until we decide on replacement names.
https://forum.parity.io/t/renaming-squated-crates-in-substrate-polkadot-cumulus/1964/6

* Fix test after crate renames

* Update Lockfile
2023-08-30 17:57:49 +03:00
Przemek Rzad bfb241d7f3 Add missing licenses and tune the scanning workflow (#1288)
* Add missing Cumulus licenses

* Typo

* Add missing Substrate licenses

* Single job checking the sub-repos in steps

* Remove dates

* Remove dates

* Add missing (C)

* Update FRAME UI tests

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Update more UI tests

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-08-30 15:45:49 +03:00
Lulu 1c7ef1f232 Set test crates to nopublish (#1240)
* Set test crates to nopublish

* Don't publish more crates

* Set even more crates to nopublish

---------

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-08-29 21:40:33 +02:00
Oliver Tale-Yazdi dcda0e50f5 Fix build profiles (#1229)
* Fix build profiles

Closes https://github.com/paritytech/polkadot-sdk/issues/1155

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Manually set version to 1.0.0

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Use workspace repo

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* 'Authors and Edition from workspace

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-08-29 13:39:41 +02:00
Oliver Tale-Yazdi 0400ed9075 Fix features (#1194)
* Manually fix conflicting ?

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Remove duplicates

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Autofix feature propagation

zepter lint propagate-feature --feature try-runtime --left-side-feature-missing=ignore --workspace --fix --feature-enables-dep="try-runtime:frame-try-runtime"
zepter lint propagate-feature --feature runtime-benchmarks --left-side-feature-missing=ignore --workspace --fix --feature-enables-dep="runtime-benchmarks:frame-benchmarking"
zepter lint propagate-feature --feature std --left-side-feature-missing=ignore --workspace --fix
zepter f f

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Bump zepter

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Add some duplicates

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Revert "Add some duplicates"

This reverts commit c6ce627273881c478f5b34f23d3a67db632dbebf.

* Remove default enabled features

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Bump Zepter

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Bump in correct location 🤦

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* DNM: Add some mistakes

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* DNM: Add some mistakes

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Revert "DNM: Add some mistakes"

This reverts commit d469b3f0ba2aaed5f35f6ff5995f99e682da5800.

* Revert "DNM: Add some mistakes"

This reverts commit d892a73a35cac01e3721bdba74574b88bd04f83c.

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-08-28 22:27:48 +03:00
Alexander Samusev e49493442a Add CI for monorepo (#1145)
* Add CI for monorepo

* fix frame tests

* Format features

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* add note for skipping tests and disable test-linux-stable-all

* Fix tests and compile issues (#1152)

* Fix feature dependant import

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Bump test timeout

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Remove feature gate

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Add resolver 2

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Remove old lockfile

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Format features

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Fix check-dependency-rules

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* rm test-runtime

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Actually fix script

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* enable cargo-check-each-crate-macos

* Run check-each-crate on 6 machines (#1163)

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-08-25 16:35:22 +02:00
alvicsam f441a5fc93 Diener workspacify
Signed-off-by: alvicsam <alvicsam@gmail.com>
2023-08-25 11:05:17 +02:00
Chris Sosnin 6ef1117685 Asynchronous backing PR (#2300)
* Update substrate & polkadot

* min changes to make async backing compile

* (async backing) parachain-system: track limitations for unincluded blocks (#2438)

* unincluded segment draft

* read para head from storage proof

* read_para_head -> read_included_para_head

* Provide pub interface

* add errors

* fix unincluded segment update

* BlockTracker -> Ancestor

* add a dmp limit

* Read para head depending on the storage switch

* doc comments

* storage items docs

* add a sanity check on block initialize

* Check watermark

* append to the segment on block finalize

* Move segment update into set_validation_data

* Resolve para head todo

* option watermark

* fix comment

* Drop dmq check

* fix weight

* doc-comments on inherent invariant

* Remove TODO

* add todo

* primitives tests

* pallet tests

* doc comments

* refactor unincluded segment length into a ConsensusHook (#2501)

* refactor unincluded segment length into a ConsensusHook

* add docs

* refactor bandwidth_out calculation

Co-authored-by: Chris Sosnin <48099298+slumber@users.noreply.github.com>

* test for limits from impl

* fmt

* make tests compile

* update comment

* uncomment test

* fix collator test by adding parent to state proof

* patch HRMP watermark rules for unincluded segment

* get consensus-common tests to pass, using unincluded segment

* fix unincluded segment tests

* get all tests passing

* fmt

* rustdoc CI

* aura-ext: limit the number of authored blocks per slot (#2551)

* aura_ext consensus hook

* reverse dependency

* include weight into hook

* fix tests

* remove stray println

Co-authored-by: Chris Sosnin <48099298+slumber@users.noreply.github.com>

* fix test warning

* fix doc link

---------

Co-authored-by: Chris Sosnin <48099298+slumber@users.noreply.github.com>
Co-authored-by: Chris Sosnin <chris125_@live.com>

* parachain-system: ignore go ahead signal once upgrade is processed (#2594)

* handle goahead signal for unincluded segment

* doc comment

* add test

* parachain-system: drop processed messages from inherent data (#2590)

* implement `drop_processed_messages`

* drop messages based on relay parent number

* adjust tests

* drop changes to mqc

* fix comment

* drop test

* drop more dead code

* clippy

* aura-ext: check slot in consensus hook and remove all `CheckInherents` logic (#2658)

* aura-ext: check slot in consensus hook

* convert relay chain slot

* Make relay chain slot duration generic

* use fixed velocity hook for pallets with aura

* purge timestamp inherent

* fix warning

* adjust runtime tests

* fix slots in tests

* Make `xcm-emulator` test pass for new consensus hook (#2722)

* add pallets on_initialize

* tests pass

* add AuraExt on_init

* ".git/.scripts/commands/fmt/fmt.sh"

---------

Co-authored-by: command-bot <>

---------

Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com>

* update polkadot git refs

* CollationGenerationConfig closure is now optional (#2772)

* CollationGenerationConfig closure is now optional

* fix test

* propagate network-protocol-staging feature (#2899)

* Feature Flagging Consensus Hook Type Parameter (#2911)

* First pass

* fmt

* Added as default feature in tomls

* Changed to direct dependency feature

* Dealing with clippy error

* Update pallets/parachain-system/src/lib.rs

Co-authored-by: asynchronous rob <rphmeier@gmail.com>

---------

Co-authored-by: asynchronous rob <rphmeier@gmail.com>

* fmt

* bump deps and remove warning

* parachain-system: update RelevantMessagingState according to the unincluded segment (#2948)

* mostly address 2471 with a bug introduced

* adjust relevant messaging state after computing total

* fmt

* max -> min

* fix test implementation of xcmp source

* add test

* fix test message sending logic

* fix + test

* add more to unincluded segment test

* fmt

---------

Co-authored-by: Chris Sosnin <chris125_@live.com>

* Integrate new Aura / Parachain Consensus Logic in Parachain-Template / Polkadot-Parachain (#2864)

* add a comment

* refactor client/service utilities

* deprecate start_collator

* update parachain-template

* update test-service in the same way

* update polkadot-parachain crate

* fmt

* wire up new SubmitCollation message

* some runtime utilities for implementing unincluded segment runtime APIs

* allow parachains to configure their level of sybil-resistance when starting the network

* make aura-ext compile

* update to specify sybil resistance levels

* fmt

* specify relay chain slot duration in milliseconds

* update Aura to explicitly produce Send futures

also, make relay_chain_slot_duration a Duration

* add authoring duration to basic collator and document params

* integrate new basic collator into parachain-template

* remove assert_send used for testing

* basic-aura: only author when parent included

* update polkadot-parachain-bin

* fmt

* some fixes

* fixes

* add a RelayNumberMonotonicallyIncreases

* add a utility function for initializing subsystems

* some logging for timestamp adjustment

* fmt

* some fixes for lookahead collator

* add a log

* update `find_potential_parents` to account for sessions

* bound the loop

* restore & deprecate old start_collator and start_full_node functions.

* remove unnecessary await calls

* fix warning

* clippy

* more clippy

* remove unneeded logic

* ci

* update comment

Co-authored-by: Marcin S. <marcin@bytedude.com>

* (async backing) restore `CheckInherents` for backwards-compatibility (#2977)

* bring back timestamp

* Restore CheckInherents

* revert to empty CheckInherents

* make CheckInherents optional

* attempt

* properly end system blocks

* add some more comments

* ignore failing system parachain tests

* update refs after main feature branch merge

* comment out the offending tests because CI runs ignored tests

* fix warnings

* fmt

* revert to polkadot master

* cargo update -p polkadot-primitives -p sp-io

---------

Co-authored-by: asynchronous rob <rphmeier@gmail.com>
Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com>
Co-authored-by: Bradley Olson <34992650+BradleyOlson64@users.noreply.github.com>
Co-authored-by: Marcin S. <marcin@bytedude.com>
Co-authored-by: eskimor <eskimor@users.noreply.github.com>
Co-authored-by: Andronik <write@reusable.software>
2023-08-18 16:57:34 +00:00
dependabot[bot] 6b07f1306f Bump log from 0.4.19 to 0.4.20 (#3009)
Bumps [log](https://github.com/rust-lang/log) from 0.4.19 to 0.4.20.
- [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.19...0.4.20)

---
updated-dependencies:
- dependency-name: log
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-15 23:02:53 +02:00
Oliver Tale-Yazdi 6c79b58567 Use same fmt and clippy configs as in Polkadot (#3004)
* Copy rustfmt.toml from Polkadot master

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Format with new config

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Add Polkadot clippy config

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Update Cargo.lock

Looks like https://github.com/paritytech/polkadot/pull/7611 did not
correctly update the lockfile. Maybe a different Rust Version?!

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-08-14 20:30:12 +00:00
Branislav Kontur 8171890f9b Asset conversion nits (#2860)
* [asset-conv] Unused Balances type

* [asset-conv] native asset change

* Dedicated `AssetBalance` type for `pallet_assets` instances

* Improved local vs foreign asset handling + test for not allowing pool_assets in pool

* Removed `into_multiasset_id`

* Fix

* Refactor

* Fixed create_pool for benchmark with LocalAndForeignAssets (finally found it)

* ".git/.scripts/commands/fmt/fmt.sh"

* Revert

* fmt

* Migrates pools with `MultiLocation { parents: 0, interior: Here }` to `MultiLocation { parents: 1, interior: Here }`

* Allow `set_storage` for `AllowMultiAssetPools` / `LiquidityWithdrawalFee`

* Benchmarks work

* Removed comment + more defensive migration

* `T::Currency::transfer` -> `Balances::transfer_all` in migration

* Change pool_id in migration

* Update parachains/runtimes/assets/asset-hub-westend/src/lib.rs

* Bump substrate (manually)

* Bump polkadot

* Fixes from polkadot + clippy

* Fix for xcm-emulator tests (thank you Nacho)

---------

Co-authored-by: command-bot <>
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
2023-07-21 23:53:51 +02:00
gupnik 24d6e46ad0 Moves Block to frame_system instead of construct_runtime and removes Header and BlockNumber (#2790)
* Fixes

* Removes unused import

* Uses Block and removes BlockNumber/Header from Chain

* Fixes bridges

* Fixes

* Removes unused import

* Fixes build

* Uses correct RelayBlock

* Minor fix

* Fixes glutton-kusama

* Uses correct RelayBlock

* Minor fix

* Fixes benchmark for pallet-bridge-parachains

* Adds appropriate constraints

* Minor fixes

* Removes unused import

* Fixes integrity tests

* Minor fixes

* Updates trait bounds

* Uses custom bound for AsPrimitive

* Fixes trait bounds

* Revert "Fixes trait bounds"

This reverts commit 0b0f42f583f3a616a88afe45fcd06d31e7d9a06f.

* Revert "Uses custom bound for AsPrimitive"

This reverts commit 838e5281adf8b6e9632a2abb9cd550db4ae24126.

* No AsPrimitive trait bound for now

* Removes bounds on Number

* update lockfile for {"substrate", "polkadot"}

* Formatting

* ".git/.scripts/commands/fmt/fmt.sh"

* Minor fix

---------

Co-authored-by: parity-processbot <>
2023-07-13 13:30:28 +00:00
Branislav Kontur 2b3486c1b6 [xcm] BridgeBlobDispatcher - prepend bridge instance discriminator. (#2798)
* [xcm] BridgeBlobDispatcher - prepend bridge instance discriminator.

* PR review fix

* update lockfile for {"polkadot", "substrate"}

---------

Co-authored-by: parity-processbot <>
2023-07-03 13:43:21 +00:00
Bastian Köcher cad48b7136 Adds missing features (#2677) 2023-06-02 08:21:49 +00:00
Gavin Wood ec21c0a24d Companion for polkadot#7234 (XCM: Tools for uniquely referencing messages) (#2601)
* Fixes for new API

* Formatting

* Fixes

* Fixes

* Further fixes

* XCMP dispatch events mention message ID

* XCMP event includes ID

* Add DMP message ID functionality

* Integrate into test parachains

* Remove WithUniqueTopic usage

* Use new primitive

* Formatting

* undiener

* Revert lock

* Fixes

* Fixes

* Fixes

* Fixes

* Formatting

* message_hash becomes message_id

* Rename

* Another Rename

* Fixes

* Fix

* Bump

* Fixes

* Grumble.
2023-05-25 16:52:38 +01:00
Adrian Catangiu 4e4799927a BridgeHub[Rococo/Wococo] test batched relaying of messages and their dispatch (#2578)
Added some tests that aim to cover the runtime configuration
that is exercised when BH receives relayed complex message.

* checks correct importing of proofs for:
  bridged chain finality, bridged para heads, bridged messages,
* checks relayer extension correctly configured to reward
  submitting relayer,
* checks relayed message is successfully dispatched.

Also moved generic test-utils from
  `asset-test-utils: parachains/runtimes/assets/test-utils`
one level up to new crate
  `parachains-runtimes-test-utils: parachains/runtimes/test-utils`
to be reused by BridgeHubs.

Signed-off-by: acatangiu <adrian@parity.io>
Co-authored-by: Branislav Kontur <bkontur@gmail.com>
2023-05-18 18:10:36 +03:00
Branislav Kontur 17b2e1b300 BridgeHubRococo/Wococo nits + updated subtree (#2572)
* Nits (merge before separatelly)

* Small cosmetics for Rococo/Wococo bridge local run

* Squashed 'bridges/' changes from 04b3dda6aa..5fc377ab34

5fc377ab34 Support for kusama-polkadot relaying (#2128)
01f4b7f1ba Fix clippy warnings (#2127)
696ff1c368 BHK/P alignments (#2115)
2a66aa3248 Small fixes (#2126)
7810f1a988 Cosmetics (#2124)
daf250f69c Remove some `expect()` statements (#2123)
1c5fba8274 temporarily remove balance guard (#2121)
3d0e547361 Propagate message receival confirmation errors (#2116)
1c33143f07 Propagate message verification errors (#2114)
b075b00910 Bump time from 0.3.20 to 0.3.21
51a3a51618 Bump serde from 1.0.160 to 1.0.162
da88d044a6 Bump clap from 4.2.5 to 4.2.7
cdca322cd6 Bump sysinfo from 0.28.4 to 0.29.0

git-subtree-dir: bridges
git-subtree-split: 5fc377ab34f7dfd3293099c5feec49255e827812

* Fix

* Allow to change storage constants (DeliveryReward, RequiredStakeForStakeAndSlash) + tests

* Clippy

* New SA for RO/WO

* Squashed 'bridges/' changes from 5fc377ab34..0f6091d481

0f6091d481 Bump polkadot/substrate (#2134)
9233f0a337 Bump tokio from 1.28.0 to 1.28.1
a29c1caa93 Bump serde from 1.0.162 to 1.0.163

git-subtree-dir: bridges
git-subtree-split: 0f6091d48184ebb4f75cb3089befa6b92cf37335
2023-05-16 22:33:30 +00:00
Oliver Tale-Yazdi 299d25ba4b Fix Clippy (#2522)
* Import Clippy config from Polkadot

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Auto clippy fix

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* No tabs in comments

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Prefer matches

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Dont drop references

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Trivial

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Refactor

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* fmt

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* add clippy to ci

* Clippy reborrow

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Update client/pov-recovery/src/lib.rs

Co-authored-by: Bastian Köcher <git@kchr.de>

* Update client/pov-recovery/src/lib.rs

Co-authored-by: Bastian Köcher <git@kchr.de>

* Partially revert 'Prefer matches'

Using matches! instead of match does give less compiler
checks as per review from @chevdor.

Partially reverts 8c0609677f3ea040f77fffd5be6facf7c3fec95c

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Update .cargo/config.toml

Co-authored-by: Chevdor <chevdor@users.noreply.github.com>

* Revert revert 💩

Should be fine to use matches! macro since it is an explicit whitelist,
not wildcard matching.

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: alvicsam <alvicsam@gmail.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Chevdor <chevdor@users.noreply.github.com>
Co-authored-by: parity-processbot <>
2023-05-06 08:01:03 +02:00
Branislav Kontur 39aec7c14f BridgeHub Rococo/Wococo runtimes (#2111)
* Fixes

* Fixes

* Fixes

* cargo fmt

* Fixes

* Fixes

* Fixes

* Fixes

* Update BridgeHub runtime version

* Fixes

* Zombienet for bridge-hub setup

* Fixes

* Remove unused import

* Fixes for gav-xcm-v3 (#1835)

* Fix for FungiblesAdapter - trait changes: Contains -> AssetChecking

* Fix for missing weight for `fn unpaid_execution()`

* Used NonLocalMint for all NonZeroIssuance

* Fix

* Fixes

* Fixes

* Fixes

* Fixes

* Fixes

* Fix tests

* Fixes

* Trying to fix sed expression?

* Trying to fix sed expression?

* Use the `relay-headers-and-messages` command (#1913)

* Bridge hubs readme: fixes and additions

* Use the relay-headers-and-messages command

* cargo fmt

* Fix README.md + zombienet

* Parachain ID update of bridge-hub-wococo

* Update bridge-hub-wococo chainspec

* Squashed 'bridges/' content from commit 062554430

git-subtree-dir: bridges
git-subtree-split: 0625544309ff299307f7e110f252f04eac383102

* Add SafeCallFilter

* Add missing config items

* Add TODO

* Fixes (xcm Superuser + DispatchLevelResult)

* Fix cargo

* Change runtime version

* Unit-tests for dispatch bridging messages and XCM routing on BridgeHubs + HRMP

* Removed Sudo pallet

* Use () as the PriceForParentDelivery

* Fixes

* Fixes

* Fixes

* Fixes

* Update transact_origin to transact_origin_and_runtime_call

* Add ReachableDest config item to XCM pallet

* Add BridgeRejectObsoleteHeadersAndMessages to bridge hubs (#1972)

* Update SafeCallFilter to allow remark_with_event in runtime benchmarks

* cargo fmt

* Update substrate

* Fix worst_case_holding

* Fix DMQ queue unit tests

* Remove unused label

* cargo fmt

* Actually process incoming XCMs

* Fixes

* Fixes

* Fixes

* Fixes - return back Weightless

* Simplify local run + readme

* Added measured benchmarks for `pallet_xcm` (#1968)

* Fix

Fix

Fix

* Fix

* Fixes for transact benchmark

* Fixes add pallet_xcm to benchmarks

* Revert remark_with_event

* ".git/.scripts/bench-bot.sh" xcm statemine assets pallet_xcm_benchmarks::generic

* Fixes

* TMP

* Fix for reserve_asset_deposited

* ".git/.scripts/bench-bot.sh" pallet statemine assets pallet_xcm

* Fix

* ".git/.scripts/bench-bot.sh" pallet statemint assets pallet_xcm

* Fix

* ".git/.scripts/bench-bot.sh" pallet westmint assets pallet_xcm

* Fix westmint

* ".git/.scripts/bench-bot.sh" xcm statemine assets pallet_xcm_benchmarks::generic

* Fix

* ".git/.scripts/bench-bot.sh" xcm westmint assets pallet_xcm_benchmarks::generic

* ".git/.scripts/bench-bot.sh" xcm statemint assets pallet_xcm_benchmarks::generic

* ".git/.scripts/bench-bot.sh" pallet collectives-polkadot collectives pallet_xcm

* Fix for collectives

* ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_xcm

* ".git/.scripts/bench-bot.sh" pallet bridge-hub-rococo bridge-hubs pallet_xcm

* Fixes for bridge-hubs

* Fixes - return back Weightless

* Fix - removed MigrateToTrackInactive for contracts-rococo

Co-authored-by: command-bot <>

* cargo fmt

* Fix benchmarks

* Bko gav xcm v3 (#1993)

* Fix

* ".git/.scripts/bench-bot.sh" xcm statemint assets pallet_xcm_benchmarks::fungible

* ".git/.scripts/bench-bot.sh" xcm statemine assets pallet_xcm_benchmarks::fungible

* ".git/.scripts/bench-bot.sh" xcm westmint assets pallet_xcm_benchmarks::fungible

* ".git/.scripts/bench-bot.sh" xcm statemine assets pallet_xcm_benchmarks::generic

* ".git/.scripts/bench-bot.sh" xcm statemint assets pallet_xcm_benchmarks::generic

* ".git/.scripts/bench-bot.sh" xcm westmint assets pallet_xcm_benchmarks::generic

* ".git/.scripts/bench-bot.sh" pallet statemine assets pallet_xcm

* ".git/.scripts/bench-bot.sh" pallet westmint assets pallet_xcm

* ".git/.scripts/bench-bot.sh" pallet statemint assets pallet_xcm

* ".git/.scripts/bench-bot.sh" pallet collectives-polkadot collectives pallet_xcm

* ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_xcm

* ".git/.scripts/bench-bot.sh" pallet bridge-hub-rococo bridge-hubs pallet_xcm

Co-authored-by: command-bot <>

* Change AllowUnpaidExecutionFrom to be explicit

* Turn on more xcm logs for parachains

* Added polkadot-parachain-mint binary instructions

* xcm-v3 benchmarks, weights, fixes for bridge-hubs (#2035)

* Dumy weights to get compile

* Change UniversalLocation according to https://github.com/paritytech/polkadot/pull/4097 (Location Inversion Removed)

* Fix bridge-hubs weights

* ".git/.scripts/bench-bot.sh" pallet statemine assets pallet_xcm

* ".git/.scripts/bench-bot.sh" pallet statemint assets pallet_xcm

* ".git/.scripts/bench-bot.sh" pallet collectives-polkadot collectives pallet_xcm

* ".git/.scripts/bench-bot.sh" pallet westmint assets pallet_xcm

* ".git/.scripts/bench-bot.sh" xcm bridge-hub-kusama bridge-hubs pallet_xcm_benchmarks::generic

* ".git/.scripts/bench-bot.sh" xcm bridge-hub-kusama bridge-hubs pallet_xcm_benchmarks::fungible

* ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_xcm

* ".git/.scripts/bench-bot.sh" pallet bridge-hub-rococo bridge-hubs pallet_xcm

* ".git/.scripts/bench-bot.sh" xcm bridge-hub-rococo bridge-hubs pallet_xcm_benchmarks::fungible

* ".git/.scripts/bench-bot.sh" xcm bridge-hub-rococo bridge-hubs pallet_xcm_benchmarks::generic

* Change NetworkId to Option<NetworkId>

Co-authored-by: command-bot <>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>

* remove shift session manager from bridge-hub-rococo (#2047)

* remove shift session manager from bridge-hub-rococo

* also remove from Cargo.toml

* Add event for showing the hash of an UMP sent message (#1228)

* Add UpwardMessageSent event in parachain-system

* additional fixes

* Message Id

* Fix errors from merge

* fmt

* more fmt

* Remove todo

* more formatting

* Fixes

* Fixes

* Fixes

* Fixes

* Updated README.md and scripts/bridges_rococo_wococo.sh for sending messages (local, live)

* Allow explicit unpaid executions from the relay chains for system parachains (#2060)

* Allow explicit unpaid executions from the relay chains for system parachains

* Put origin-filtering barriers into WithComputedOrigin

* Use ConstU32<8>

* Small nits

* formatting

* cargo fmt

* Align laneId to 00000001

* Allow receiving XCMs from any relay chain plurality

* Fixes

* Use Rococo/Wococo runtime APIs defined in bridge primitives (#2080)

* Patched dependencies (polkadot, substrate) for xcm-v3 (compiles + tests work)

* Replace serial_test and fix with thread_local

* Very init of script for bumping bridges repo

* Squashed 'bridges/' changes from 062554430..984749ba0

984749ba0 Define separate signed extension for BHR/BHW (#1776)
72b03d463 update Substrate/Polkadot/Cumulus deps to master (#1775)
3065c7903 Added crate-level docs for the parachains pallet (#1772)
a0f41b2d8 added/updated pallet level docs to grandpa and messages pallets (#1771)
6d69d1f4d docs: add Security Policy doc (#1770)
ff8c0f727 Fix cargo deny issues (#1769)
6fc931d07 Bump xcm-v3 + substrate (#1767)
5840197c3 Define method for checking message lane weights (#1766)
881af0219 increase MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX and MAX_UNCONFIRMED_MESSAGES_IN_CONFIRMATION_TX for RBH/WBH (#1765)
41d91e961 fixed receive_delivery_proof_for_two_messages_by_two_relayers (#1764)
ac0cf7b78 Fix some cargo-deny issues (#1763)
6d9dc6367 `cargo machete` removed unused deps (#1761)
c265b5430 Remove sp-version dependency from bin-substrate (#1758)
1327c9d97 Set `R/WococoBridgeHub` bundle runtime version (#1756)
a3a2a06ae Expose relay version metric (#1750)
13f4a0164 Use indirect runtime calls for RialtoParachain (#1753)
9563f9eee fix nightly clippy again (#1752)
21b75b893 no-grafana-startup-delay option in run.sh (#1751)
a5fe0dfc4 Remove TODO (#1749)
6c826a6c3 Deduplicate pallet call structs used for indirect runtime calls (#1744)
e575269e5 fix nightly clippy (#1746)
209cba353 Update project level docs (#1734)
b05cef5b4 Improve relayer initialization behaviour (#1743)
c7b6bae9d Make debug display of LaneId compatible with its previous version (#1740)
221e4e80c Remove CliChain::KeyPair (#1741)
3d9d2907f Use TypedLaneId instead of LaneId (#1738)
6683b8136 Simplify read_client_state() (#1739)
3f7353b82 Expose metrics of on-demand relay chain headers sync from with-parachain complex relays (#1737)
ab65d84e0 Handle `SIGTERM` for the docker containers + relay (#1735)
b9050e90c Replace `BATCH_CALL_SUPPORTED` (#1733)
c28b3ff66 Updated db weights and some experiments (#1732)
023689c6c Do not require new headers if lane is empty (#1725)
bddf1fa19 remove messages pallet owner relay argument (#1728)
ef55226c6 more traces + remove signer override (#1727)
4d50df6ed remove BatchDeliveryTransaction::new and BatchConfirmationTransaction::new to avoid expects (#1726)
15244e53e Batch transactions in complex relays (#1669)
c209bb9ac fix pallet names at bridge hubs (#1722)
036e6696e tests (#1720)
3d56e2089 Check origin? (#1718)
af9abbeb8 Remove SOURCE_PARACHAIN_PARA_ID (#1716)
d1cb5d1a8 fix parachains benchmarks (#1717)
84bdf864b Changed docker image name for substrate-relay (#1714)
5698fb465 Remove WeightToFee (#1713)
9f4106bc1 Fix bridge hub rococo/wococo weights (#1712)
114b1502f Only store header state root (pallet-bridge-parachains) (#1701)
92e86f07b New relayer rewards scheme integration (#1652)
8649d12af Signed extension to refund relayer at the target chain (#1657)
ec6bafaf0 DeliveryConfirmationPayments trait for paying relayer rewards at the source chain (#1653)
fab2344f4 only store header state root (pallet-bridge-grandpa) (#1699)
b5e916f64 fixed benchmarks of relayers pallet (#1700)
5cce3e86d fix clippy (#1698)
f78e8867b removed MintReward and added PayLaneRewardFromAccount (#1693)
0c19db305 added version guards to RBH<>WBH GRANDPA finality (and complex) relay (#1697)
c003b951d removed ESTIMATE_MESSAGE_FEE_METHOD (#1696)
4903b7929 refund_pay_dispatch_fee removed (#1695)
61c3b22ca Replace const parameters types (#1691)

git-subtree-dir: bridges
git-subtree-split: 984749ba021b5b8ec16f65cd1e50b234640d838b

* Fixes after merge

* Fixes

* Use auto runtime version for local runs (#2113)

* Squashed 'bridges/' changes from 984749ba0..fb3c5ef5d

fb3c5ef5d Add integrity check for signed extensions (#1780)
3959628ff add try-runtime feature to pallets (#1779)
be36ff00c Default impl for some methods in messages benchmarking pallet config (#1777)
68344e329 Relayer reward metric (#1742)
6b455597b Crate-level documentation on finality relays and relayers pallet (#1773)

git-subtree-dir: bridges
git-subtree-split: fb3c5ef5dae42553522c7eff37678de9bf4f6c67

* Fixed try-runtime

* Fix cargo.lock

* Fix BridgePalletIsNotInitialized (#2114)

* Squashed 'bridges/' changes from fb3c5ef5d..e2e9fa7f9

e2e9fa7f9 Expose EXTRA_STORAGE_PROOF_SIZE in bp-bridge-hub-cumulus (#1788)
ba85532b1 Removed unecesserry test + substrate/polkadot (#1787)

git-subtree-dir: bridges
git-subtree-split: e2e9fa7f94d2f105c1816402a9ae4b85bfc34145

* Fix cargo.toml

* Squashed 'bridges/' changes from e2e9fa7f9..d5f95c14a

d5f95c14a use wss to connect to the Rialto node in test deployments (#1809)
722d47b06 fix compilation
a48732676 Bump sysinfo from 0.15.9 to 0.27.7
9a6e8bb1d Bump env_logger from 0.8.4 to 0.10.0
89c5e7981 Bump async-trait from 0.1.61 to 0.1.62
ddd0a5742 Bump fixed-hash from 0.7.0 to 0.8.0
e8b0b8192 Bump impl-serde from 0.3.2 to 0.4.0
c5227460f Bump jsonpath_lib from 0.2.6 to 0.3.0
9f4771d38 Bump parking_lot from 0.11.2 to 0.12.1
dab5d72ae Bump backoff from 0.2.1 to 0.4.0
d7dd3acce Bump strum from 0.21.0 to 0.24.1
c49799017 Bump tokio from 1.24.1 to 1.24.2
db614681e Bump clap from 4.1.0 to 4.1.1
3c155214d update ignored dependencies for dependabot (#1790)
4c791472c No wildcard patterns in Cargo.toml (#1789)
33632313d Remove chain-specific dependencies from crates that will be used in Cumulus (#1783)

git-subtree-dir: bridges
git-subtree-split: d5f95c14a2771d7ad51db95670d08a5d0da526a0

* Fix `send-remark-local` script because of new xcm-v3

* Refactor haul/dispatch xcm stuff

* Add Rococo <> Wococo integrity tests (#1975)

* Remove 1 integrity test

In sync with https://github.com/paritytech/parity-bridges-common/pull/1816

* use TargetHeaderChainAdapter and SourceHeaderChainAdapter

* Rococo <-> Wococo integrity tests

* Add message lane weights tests

* Add signed extension integrity test

* Bridge benchmarks for bridge hub rococo/wococo (#2107)

* fix benchmarks compilation and add bridges benchmarks (prototype) to RBH/WBH

* post-merge fixes

* remove duplicate "pallet-collator-selection/runtime-benchmarks"

* ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-rococo bridge-hubs pallet_bridge_grandpa

* ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-rococo bridge-hubs pallet_bridge_parachains

* remove methods that are no longer required

* fixed helpers used in bridge hub messages palelt benchmarks

* unused imports

* compilation

* compilation

* benchmarks-ci.sh

* ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-rococo bridge-hubs pallet_bridge_messages

* use generated weights in pallets configuration

* add mod for new weights

* impl WeightInfoExt

Co-authored-by: command-bot <>

* Ensure governance can call `initialize` with `xcm:Transact` bridge grandpa pallets

* Just in case changed spec_version

* Some scripts for enabling asset transfer on local statemine->westmint

* script

* Squashed 'bridges/' changes from d5f95c14a..b39cb0dea

b39cb0dea MaxValues limit for storage maps in the pallet-bridge-grandpa (#1861)
11b3a611d fixed TODOs for weights v2 (#1860)
5a44f9fea Message delivery transaction is not free!!! (#1859)
59a42bd58 fixed BEEFY genesis (#1858)
ab7c7ad0f Use parity-util-mem 0.12.0 (#1856)
8fd346e5a changed some tests for weights v2 (#1855)
c438b9f74 Add separate Cargo.lock for `tools/runtime-codegen` (#1854)
fc55a97d7 Fix `HeadersToKeep` and `MaxBridgedAuthorities` in Millau benchmarks (#1851)
72e64a3d7 Decrease number of GRANDPA authorities in Polkadot-like chains from 100_000 to 2_048 (#1852)
d60a331ed Update Substrate/Polkadot/Cumulus dependencies + weights v2 (#1850)
61b229b65 Bump async-trait from 0.1.63 to 0.1.64
366333108 Bump serde_json from 1.0.91 to 1.0.92 (#1845)
4d917bb3a Bump trie-db from 0.24.0 to 0.25.0
8d919eac9 Bump anyhow from 1.0.68 to 1.0.69
ef9364dd0 Bump proc-macro2 from 1.0.49 to 1.0.51
9ddeebed5 Bump futures from 0.3.25 to 0.3.26
e02eb7573 connect using wss under flag condition (#1843)
99754a07f remove extra tracing on test deployments (#1842)
bdb84cea6 Add tool for auto generating runtime code from metadata (#1812)
86662f263 fix bridge-runtime-common build (#1839)
f656ac77d Change some macro names (#1837)
50f2980e9 Verify partial repo build on CI (#1832)
f70f8231b fix bridge hubs blocks interval (#1836)
ddbe5cddf [ci] change runners (#1833)
45a68ad39 Fix on demand parachains relay when no parachain head at target (#1834)
6dbce7258 Use GitLab env vars to get git commit (#1831)
b1a8161e8 bump bridge hub versions (#1830)
e909595e0 Use specific error for case when para head is missing from the bridge pallet (#1829)
d517da8a2 Do not read parachain heads from ancient relay headers (#1827)
217bc72f5 Reconnect source client (#1826)
47bf5f693 Bump tokio from 1.24.2 to 1.25.0
6b307b48a Bump clap from 4.1.3 to 4.1.4
90bc29a17 Use named parameters for indirect calls (#1823)
986eeb556 Fix: typos (#1822)
450823b01 docs: fix broken link and minor nits (#1821)
3ed01ae31 do not call best_finalized_para_block_at_source for ancient block (#1819)
001956290 Functions to benchmark messages pallet with linked to parachain (#1817)
e9b0a1c48 Remove InboundPayload check (#1816)
873ea4e40 Bump clap from 4.1.1 to 4.1.3
97eccaa8b also ignore the base xcm crate (#1798)
2d3dcd00b Update bundled runtime version for bridge hub r/wococo (#1814)
7167c0067 Bump bumpalo from 3.10.0 to 3.12.0 in /fuzz/storage-proof
067687520 Bump async-trait from 0.1.62 to 0.1.63 (#1811)

git-subtree-dir: bridges
git-subtree-split: b39cb0dea5751847ea73ab9946667003625eaf1a

* Squashed 'bridges/' changes from b39cb0dea..4c4a7eae1

4c4a7eae1 Small stuff from Cumulus integration (#1865)

git-subtree-dir: bridges
git-subtree-split: 4c4a7eae1503aa63a84fb65d56d67599d362d645

* Squashed 'bridges/' changes from 4c4a7eae1..dcaec27aa

dcaec27aa RefundRelayerForMessagesFromParachain improvements (#1879)
5457f0672 clippy fixes (#1880)
29e8a305c MaxValues for OutboundLanes map (#1871)
5219b56f8 More tests for message pallet weights (#1870)
c4c0c7a1b Bump signal-hook from 0.3.14 to 0.3.15
0ff597b96 Bump serde_json from 1.0.92 to 1.0.93
1c5132eb1 Bump subxt from `20adb19` to `9e2acff`
adb07816b update parachains relay doc (#1874)
972ef3133 Update README.md (#1872)
94648061b MaxValues for maps in parachain maps (#1868)
662267a6f "refund" proof size in GRANDPa pallet (#1863)

git-subtree-dir: bridges
git-subtree-split: dcaec27aaa6f41070fbdfbfd4fde2029697eb85f

* Squashed 'bridges/' changes from dcaec27aa..91e66cfb9

91e66cfb9 Fix clippy issues (#1884)
0bd77f457 Reject storage proofs with unused nodes: begin (#1878)
77a3672f9 Refund extra proof bytes in message delivery transaction (#1864)

git-subtree-dir: bridges
git-subtree-split: 91e66cfb99c1a7b247e435515dd0f62b4058974e

* Fix tests

* Squashed 'bridges/' changes from 91e66cfb9..d39f563be

d39f563be Make `weights::WeightInfo` pub (#1886)
c67d06aa5 ChainWithGrandpa in primitives (#1885)

git-subtree-dir: bridges
git-subtree-split: d39f563bea57528c16763f458af3036842a0ea5f

* Merge fix

* Squashed 'bridges/' changes from d39f563be..78e3357c0

78e3357c0 RefundRelayerForMessagesFromParachain improvements (#1895)
131b17359 optimize justification before submit (#1887)
5bc279ebb use complex transactions on RBH/WBH bridge hubs (#1893)
8f0c09ab9 Bump clap from 4.1.4 to 4.1.6
66429b06a Bump sysinfo from 0.27.7 to 0.28.0
8b329ee8f Bump trie-db from 0.25.0 to 0.25.1
635cfccfd Bump time from 0.3.17 to 0.3.19

git-subtree-dir: bridges
git-subtree-split: 78e3357c0387c95317b8c3e5c4d9316f3a9f3ef4

* Squashed 'bridges/' changes from 78e3357c0..5b5627e90

5b5627e90 Rewards refund for relaying BridgeHubRococo/BridgeHubWococo (#1894)

git-subtree-dir: bridges
git-subtree-split: 5b5627e9081640ed5691eb2891182843563fb99a

* Rewards for relayers setup (#2194)

* Rewards for relayers setup

* ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-rococo bridge-hubs pallet_bridge_relayers

* Setup weight for relayer

* Setup `DeliveryConfirmationPayments` + `RefundRelayerForMessagesFromParachain`

* No need to have more than one collator per parachain

* Setup multi refund signed extensions

* Rewards sign ext test

* test

* fixes

---------

Co-authored-by: command-bot <>

* Squashed 'bridges/' changes from 5b5627e90..3c15c3645

3c15c3645 get rid of ChainWithMessages::WeightInfo, because we can't have exact weights for "external chains" (#1899)
8ccaa0213 Wrap confirmation and finality transactions into batch_all in Millau -> RialtoParachain bridge (#1898)
9b7285edb Weight+size limits for bridge GRANDPA pallet calls (#1882)

git-subtree-dir: bridges
git-subtree-split: 3c15c36455f2ad944df6a492a8d82f7e0aaf7e9f

* Squashed 'bridges/' changes from 3c15c3645..d05a98473

d05a98473 Refund messages confirmation tx (#1904)
e2e8a7198 Relayers pallet: extend payment source id (#1907)
cccf73b3f fix nightly clippy issues (#1915)
a33a91e79 Bump tempfile from 3.3.0 to 3.4.0
1df768a2e Bump time from 0.3.17 to 0.3.20
cf17b424f Bump sysinfo from 0.28.0 to 0.28.1
0b6276b41 Bump jsonrpsee from 0.15.1 to 0.16.2
328dde02b Bump rand from 0.7.3 to 0.8.5
2f302a4b6 Bump trie-db from 0.25.1 to 0.26.0
b5d5d03ab CI add jobs to publish Docker images description to hub.docker.com (#1906)
db5168f18 Do not stall on lost transaction (#1903)
2d83d6389 Fix init-bridge (#1900)

git-subtree-dir: bridges
git-subtree-split: d05a98473dc933cfed9e5f59023efa2ec811f03c

* Rewards adjustments

* Update RBH/WBH spec version

* Squashed 'bridges/' changes from d05a98473..ce7cf9a49

ce7cf9a49 Removed deprecated `#[pallet::generate_store(pub(super) trait Store)]` according to latest Cumulus (#1964)
897b1c0b2 Bump substrate/polkadot/cumulus (#1962)
7b946da2d Backport xcm bridging extensions to the bridge repo (#1813)
88c1114ec Bump futures from 0.3.26 to 0.3.27
8668f73bf Bump serde from 1.0.152 to 1.0.155
3df8823e1 Bump subxt from `a7b45ef` to `d4545de`
ef1b1bcd0 Some error improvements (#1956)
434c5e014 optimize justifications before they're included into complex transaction (#1949)
7bac365a6 Actually clone client data by reference when cloning the client (#1941)
764ddd4a8 remove lock file after checks are done (#1942)
c18a758f8 Fix invalid messages relay delivery transactions (#1940)
8ad152b06 fix nightly benchmarks test (#1939)
d451b4f84 Bump tokio from 1.25.0 to 1.26.0
8019c50aa Bump async-trait from 0.1.64 to 0.1.66
aa055fcee Bump serde_json from 1.0.93 to 1.0.94
ec2ef31c4 Bump subxt from `1c5faf3` to `a7b45ef`
20026366f Bump sysinfo from 0.28.1 to 0.28.2
fe246d1e3 Bump thiserror from 1.0.38 to 1.0.39
c95e0cf02 Fix deploy step in CI (#1931)
15b41c2dd Improve some relay errors readability (#1930)
792deae5e Added deploy Job (#1929)
d86c3ce21 Reconnect on-demand clients from MessagesSource::reconnect and MessagesTarget::reconnect (#1927)
4161b51f0 get rid of obsolete weight functions (#1926)
9b3b00e0f cargo update -p clap@4.1.6 (#1925)
13ab28c37 Bump subxt from `9e2acff` to `1c5faf3`
bb6171a05 Remove subxt dependency features (#1924)
66d200abb Verify with-parachain message benchmarks on CI (#1923)
b6af2116f Update BHR and BHW spec version (#1922)
d464e78d9 Fix benchmarks (#1919)
74574d53e fix master compilation (#1920)
1b373dff9 Fix multiple parachain headers submission for single message delivery (#1916)

git-subtree-dir: bridges
git-subtree-split: ce7cf9a4977fe614d35b6a7a84d5057e2c4ccaf5

* fixed npm install call (#2323)

* New weights (#2315)

* New weights

* Fix compile benchmarks

* Fix import

* Fix all weights

* Remove bridge_common_config replaced by bridges impl

* Cargo.lock

* fixed bridge pallets compilation

* Cargo.lock

* fix bridge pallets compilation after substrate+polkadot bump

* BridgeHubs: XCM ExportMessage benchmark - just Rococo now

* bench export_message()

* include Bridge::haul_blob() weight in ExportMessage weight

* fix import

* more build fixes

* Squashed 'bridges/' changes from ce7cf9a49..6343a7d37

6343a7d37 bump substrate+polkadot refs and fix builds (#1989)
8efc2b3cc Added receive_single_message_proof_with_dispatch benchmark (#1990)
6540f74dc Remove deprecated code from bridge-runtime-common (#1983)
c4f368be3 minor cosmetic updates (#1985)
bef11ac43 remove invalid weight, returned by send_message (#1984)
28cf5c957 Kusama <> Polkadot relay prototype (#1982)
b195223d1 Bump serde from 1.0.156 to 1.0.157
70caa75d7 ignore binary-merkle-tree (#1980)
3dc640d30 Bump thiserror from 1.0.39 to 1.0.40
8a2729101 Bump subxt from `d4545de` to `ae63d3d`
40937e8a3 Bump clap from 4.1.8 to 4.1.11
d72394c4e Bump finality-grandpa from 0.16.1 to 0.16.2
54147603d Bump serde from 1.0.155 to 1.0.156
b513193e6 Bump anyhow from 1.0.69 to 1.0.70
20867abd9 Bump sysinfo from 0.28.2 to 0.28.3
4d9a45305 Bump async-trait from 0.1.66 to 0.1.67
8a88a7536 Bump trie-db from 0.26.0 to 0.27.1
0add06edd move signed extension stuff from prolkadot-core primitives to bridge-hub-cumulus-primitives (#1968)
7481ce6eb added UpdatedBestFinalizedHeader event to pallet-bridge-grandpa (#1967)
6787cd0cb RBH <> WBH dashboards and alerts (#1966)
036f7be76 enable relayer rewards metrics at bridge hubs (#1965)
a3f07d5dd Fix invalid batch transaction (#1957)

git-subtree-dir: bridges
git-subtree-split: 6343a7d37c32191413be91afb537b8bc6c770285

* dispatch message weight for bridge messages (#2378)

Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>

* Fixes

* Squashed 'bridges/' changes from 6343a7d37..c1d5990e8

c1d5990e8 Try check-rustdoc pipeline (#1782)

git-subtree-dir: bridges
git-subtree-split: c1d5990e840b8ee4981beb61a8099271ee629ae5

* Removed imports

* Fix compile

* fixed benchmarks compilation

* fix rustdoc

* Squashed 'bridges/' changes from c1d5990e8..ecddd4a31

ecddd4a31 Rust cargo doc for all features (#1995)
e0997c14d Fix gitlab-check (#1994)
5284850ef Bump clap from 4.1.11 to 4.1.13
743cd60df Bump sysinfo from 0.28.3 to 0.28.4
dc322bae2 Bump async-trait from 0.1.67 to 0.1.68

git-subtree-dir: bridges
git-subtree-split: ecddd4a315470d85135aafbdb96753af9b07b854

* Updated scripts for transfer assets

* Cargo.lock

* Script updates for `ping-via-bridge-from-statemine-rococo`

* Added `transfer-asset-from-statemine-rococo`

* Finished scripts

* README.md

* Compile fix + log xcm trace all

* Initial version of bridges pallet as subtree of https://github.com/paritytech/parity-bridges-common
Added `Bridges subtree files` pr review rule

* Squashed 'bridges/' changes from ecddd4a31..d30927c08

d30927c08 Revert dispatch-results (#2048)
fa454c3b4 Remove unneeded files (#2044)
956a2c687 Bump clap from 4.2.1 to 4.2.2
91951583a Bump serde_json from 1.0.95 to 1.0.96
fcf462051 Bump h2 from 0.3.16 to 0.3.17 in /tools/runtime-codegen
b751fb24f Bump h2 from 0.3.16 to 0.3.17
0bf31ab78 update refs (#2041)
a490ecbd3 Fix CI build (#2039)
01139ebbc Define `RangeInclusiveExt` (#2037)
2db2f3fe3 Impl review suggestions from #2021 (#2036)
36292760f fix build step on CI (#2034)
3a2311b7a refund extra weight in receive_messages_delivery_proof call (#2031)
77f1641d1 Boost message delivery transaction priority (#2023)
c23c4e441 Reject delivery transactions with at least one obsolete message (#2021)
68ba699b7 Reintroduce msg dispatch status reporting (#2027)
d1e852cc3 Bump hex-literal from 0.4.0 to 0.4.1
16f25d613 Relay node down alert (#2002)
4bb1a6406 only refund if all bundled messages have been delivered (#2019)
b9acf52bc fail with InsufficientDispatchWeight if dispatch_weight doesn't cover weight of all bundled messages (#2018)
e10097fe2 Remove unneeded error debug strings (#2017)
f5e38f057 enable metrics on all validator nodes (#2016)
c35f1a187 Bump scale-info from 2.4.0 to 2.5.0
04c56977c Bump clap from 4.1.13 to 4.2.1
481371f3c Bump hex-literal from 0.3.4 to 0.4.0
6b9c1400d Bump serde from 1.0.158 to 1.0.159
e71877a2e Bump futures from 0.3.27 to 0.3.28
c019f4faa Bump tempfile from 3.4.0 to 3.5.0
2e6e79ef6 Bump serde_json from 1.0.94 to 1.0.95
0698b1ff9 Bump tokio from 1.26.0 to 1.27.0
35b149830 fix test step on CI (#2003)
0c3acc858 cleanup removed lane traces (#2001)
8bf81749e bump BridgeHubRococo/BridgeHubWococo versions (#2000)
e53bb7f36 MaxRequests -> MaxFreeMandatoryHeadersPerBlock in pallet-bridge-grandpa (#1997)
dfcc09043 Run tests for `runtime-benchmarks` feature only (#1998)
efcc8db17 Run benchmarks for mock runtimes (#1996)

git-subtree-dir: bridges
git-subtree-split: d30927c089bd9e73092d1ec1a62895603cb277a3

* Fixes

* Squashed 'bridges/' content from commit d30927c08

git-subtree-dir: bridges
git-subtree-split: d30927c089bd9e73092d1ec1a62895603cb277a3

* Updated REAMDE.md and BRIDGES.md (inspired by original https://github.com/paritytech/polkadot/blob/d22eb62fe40e55e15eb91d375f48cc540d83a47e/BRIDGES.md)

* Squashed 'bridges/' changes from d30927c08..d3970944b

d3970944b Small simplifications (#2050)

git-subtree-dir: bridges
git-subtree-split: d3970944b0cfc4ea5226225e1ca07dab234c3556

* Squashed 'bridges/' changes from d3970944b..2180797fb

2180797fb Removed CODEOWNERS (#2051)

git-subtree-dir: bridges
git-subtree-split: 2180797fbf8a990490c67853dcffd81bc8dd083c

* Reused `teleports_for_native_asset_works` test to all bridge-hub runtime
Extract runtime_para_id for test
Fix test
Typos
Added helper for `execute_as_governance`

* Added test case `initialize_bridge_by_governance_works`

* Added test case `handle_export_message_from_system_parachain_to_outbound_queue_works`
fix script
Removed BridgeGrandpaRococoInstance

* Added test-case `message_dispatch_routing_works`

* Squashed 'bridges/' changes from 2180797fbf..4850aac8ce

4850aac8ce Removed relayer_account: &AccountId from MessageDispatch  (#2080)
8c8adafd54 Revert "Fix max-size messages at test chains (#2064)" (#2077)
c01a63efd8 Fixed off-by-one when confirming rewards in messages pallet (#2075)
a298be96aa Update subxt dependencies (#2072)
c0eef51eab Fix max-size messages at test chains (#2064)
3a658e3697 Messages relay fixes (#2073)
0022b5ab22 Slash relayers for invalid transactions (#2025)
198104007f Bump enumflags2 from 0.7.5 to 0.7.7
9229b257e5 [ci] Fix rules for docker build (#2069)
660d791390 [ci] Update buildah command and version (#2058)
e4535c0ca4 fix the way latest_confirmed_nonce_at_source is "calculated" (#2067)
dbc2d37590 select nothing if we have already selected nonces to submit or have submitted something (#2065)
a7eedd21fe [relay-substrate-client] Bump jsonrpsee (#2066)
8875d5aeae Bump clap from 4.2.2 to 4.2.4
25f9cf55e2 Another use of RangeInclusiveExt::checked_len() (#2060)
4942c12a5f submit lane unblock transactions from relay (#2030)
c0325d3c9c Test deployments fixes (#2057)
fc7b9b7ed7 Use the new matrix server (#2056)
63bcb5c10b Fixed delivery alert rule (#2052)

git-subtree-dir: bridges
git-subtree-split: 4850aac8ce6c34e5ca6246b88cd14c873a879cba

* Fmt

* Squashed 'bridges/' changes from 4850aac8ce..66aaf0dd23

66aaf0dd23 Nits (#2083)

git-subtree-dir: bridges
git-subtree-split: 66aaf0dd239dde40b64264061a77c921e2c82568

* Cleaning

* bridge-hub-rococo: minor fixes

Signed-off-by: Adrian Catangiu <adrian@parity.io>

* Squashed 'bridges/' changes from 66aaf0dd23..557ecbcecc

557ecbcecc Fix sized messages (Follow-up on #2064) (#2103)
54f587a066 Add weight of refund extension post_dispatch to the weights of messages pallet (#2089)
5b1626f8c4 fix pallet param for nightly benchmarks check (#2099)
ae44c6b7a1 Add millau specific messages weights (#2097)
6ad0bd1f1e Add integrity tests to rialto parachain runtiime (#2096)
6919556de5 Bump tokio from 1.27.0 to 1.28.0
58795fcb75 Bump clap from 4.2.4 to 4.2.5
01bf31085b Bump scale-info from 2.5.0 to 2.6.0
8fe383240d Bump anyhow from 1.0.70 to 1.0.71
8d94e82ad5 deployments: add new BEEFY metrics and alarms (#2090)
e9a4749e7e Bump wasmtime from 6.0.1 to 6.0.2
9d9936c0d9 Bump wasmtime from 6.0.1 to 6.0.2 in /tools/runtime-codegen
5d77cd7bee Add more logs to relayer and message pallets (#2082)
75fbb9d3ef Update comment (#2081)
9904d09cf6 Benchmarks for new relayers pallet calls (#2040)

git-subtree-dir: bridges
git-subtree-split: 557ecbcecc585547b744a5ac9fb8d7f3b9de4521

* fmt

* Fix compile

* Fix benchmark

* Squashed 'bridges/' changes from 557ecbcecc..04b3dda6aa

04b3dda6aa Remove from subtree (#2111)
f8ff15e7e7 Add `MessagesPalletInstance` for integrity tests (#2107)
92ccef58e6 Use generated runtimes for BHR/BHW (#2106)
b33e0a585b Fix comment (#2105)

git-subtree-dir: bridges
git-subtree-split: 04b3dda6aa38599e612ff637710b6d2cff275ef3

* Fix

* ".git/.scripts/commands/fmt/fmt.sh"

* ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-rococo bridge-hubs pallet_bridge_grandpa

* ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-rococo bridge-hubs pallet_bridge_parachains

* ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-rococo bridge-hubs pallet_bridge_messages

* ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-rococo bridge-hubs pallet_bridge_relayers

---------

Signed-off-by: Adrian Catangiu <adrian@parity.io>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
Co-authored-by: Anthony Lazam <xlzm.tech@gmail.com>
Co-authored-by: Serban Iorga <serban300@gmail.com>
Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>
Co-authored-by: girazoki <gorka.irazoki@gmail.com>
Co-authored-by: parity-processbot <>
Co-authored-by: Serban Iorga <serban@parity.io>
Co-authored-by: acatangiu <adrian@parity.io>
2023-05-04 07:08:05 +00:00
Branislav Kontur 4e3f0857ab Align BridgeHub runtimes with other SP runtimes + reused test for teleport native tokens + some nits (#2449)
* Align BridgeHub runtimes with other SP runtimes

* Reused `teleports_for_native_asset_works` test to all bridge-hub runtime

* Fix import vs doc

* Removed unnecessery deps

* DealWithFees + ToAuthor->ToStakingPot for BH according to the other runtimes

* Update parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/xcm_config.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update parachains/runtimes/bridge-hubs/bridge-hub-polkadot/src/xcm_config.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update parachains/runtimes/bridge-hubs/bridge-hub-kusama/src/xcm_config.rs

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Align all desc

* Extract runtime_para_id for test

* Fix test

---------

Co-authored-by: parity-processbot <>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
2023-04-24 13:43:16 +00:00