Commit Graph

27 Commits

Author SHA1 Message Date
Clara van Staden 5a06771ecc Snowbridge - Test pallet order (#3381)
- Adds a test to check the correct digest for Snowbridge outbound
messages. For the correct digest to be in the block, the the
MessageQueue pallet should be configured after the EthereumOutbound
queue pallet. The added test fails if the EthereumOutbound is configured
after the MessageQueue pallet.
- Adds a helper method `run_to_block_with_finalize` to simulate the
block finalizing. The existing `run_to_block` method does not finalize
and so it cannot successfully test this condition.

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

---------

Co-authored-by: claravanstaden <Cats 4 life!>
2024-02-21 14:48:40 +00:00
Branislav Kontur ff40310d87 Externalize received fees checks from receive_reserve_asset_deposited_from_different_consensus_works (#3409)
Backport of patch-fix:
https://github.com/paritytech/polkadot-sdk/pull/3404
2024-02-20 15:26:11 +00:00
Liam Aharon 3717ec3802 Sync Cargo.toml and crates.io versions (#3034)
Related https://github.com/paritytech/polkadot-sdk/issues/3032

---

Using https://github.com/liamaharon/cargo-workspace-version-tools/ 

`cargo run -- sync --path ../polkadot-sdk`

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2024-01-26 18:14:03 +00:00
Branislav Kontur a817d310bb Various nits and alignments for testnet runtimes (#3024)
There were several improvements and PRs that didn't apply to all
runtimes, so this PR attempts to align those small differences. In
addition, the PR eliminates unused dependencies across multiple modules.

Relates to PR for `polkadot-fellows`:
https://github.com/polkadot-fellows/runtimes/pull/154
2024-01-23 22:51:47 +00:00
Muharem 2cb39f8dc9 XCM WeightTrader: Swap Fee Asset for Native Asset (#1845)
Implements an XCM executor `WeightTrader`, facilitating fee payments in
any asset that can be exchanged for a native asset.

A few constraints need to be observed:
- `buy_weight` and `refund` operations must be atomic, as another weight
trader implementation might be attempted in case of failure.
- swap credit must be utilized since there isn’t an account to which an
asset of some class can be deposited with a guarantee to meet the
existential deposit requirement. Also, operating with credits enhances
the efficiency of the weight trader -
https://github.com/paritytech/polkadot-sdk/pull/1677

related PRs:
- (depends) https://github.com/paritytech/polkadot-sdk/pull/2031
- (depends) https://github.com/paritytech/polkadot-sdk/pull/1677
- (caused) https://github.com/paritytech/polkadot-sdk/pull/1847
- (caused) https://github.com/paritytech/polkadot-sdk/pull/1876

// DONE: impl `OnUnbalanced` for a `fungible/s` credit
// DONE: make the trader free from a concept of a native currency and
drop few fallible conversions. related issue -
https://github.com/paritytech/polkadot-sdk/issues/1842
// DONE: tests

---------

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
2024-01-16 07:34:48 +00: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
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
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
Oliver Tale-Yazdi 4a44356773 Improve features dev-ex (#1831)
Adds a config file that allows to run `zepter` without any arguments in
the workspace to address all issues.
A secondary workflow for the CI is provided as `zepter run check`. Both
the formatting and linting are now in one check for efficiancy.

The latest version also detects some more things that `featalign` was
already showing.

Error message [in the
CI](https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/3916205)
now looks like this:
```pre
...
crate 'test-parachains' (/Users/vados/Documents/work/polkadot-sdk/polkadot/parachain/test-parachains/Cargo.toml)
  feature 'std'
    must propagate to:
      parity-scale-codec
Found 55 issues (run with --fix to fix).
Error: Command 'lint propagate-feature' failed with exit code 1

Polkadot-SDK uses the Zepter CLI to detect abnormalities in the feature configuration.
It looks like one more more checks failed; please check the console output. You can try to automatically address them by running `zepter`.
Otherwise please ask directly in the Merge Request, GitHub Discussions or on Matrix Chat, thank you.

For more information, see:
  - https://github.com/paritytech/polkadot-sdk/issues/1831
  - https://github.com/ggwpez/zepter
```

TODO:
- [x] Check that CI fails correctly

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-10-24 17:59:38 +02: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
Bastian Köcher a33d7922f8 Rename polkadot-parachain to polkadot-parachain-primitives (#1334)
* Rename `polkadot-parachain` to `polkadot-parachain-primitives`

While doing this it also fixes some last `rustdoc` issues and fixes
another Cargo warning related to `pallet-paged-list`.

* Fix compilation

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

* Fix XCM docs

---------

Co-authored-by: command-bot <>
2023-08-31 23:53:29 +02: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
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] 0417eebf45 Bump hex-literal from 0.3.4 to 0.4.1 (#2966)
Bumps [hex-literal](https://github.com/RustCrypto/utils) from 0.3.4 to 0.4.1.
- [Commits](https://github.com/RustCrypto/utils/compare/hex-literal-v0.3.4...hex-literal-v0.4.1)

---
updated-dependencies:
- dependency-name: hex-literal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 13:08:53 +00:00
joe petrowski 6007549589 Rename Statemint to Asset Hub (#2633)
* change dir names

* cargo toml updates

* fix crate imports for build

* change chain spec names and PR review rule

* update cli to accept asset-hub

* find/replace benchmark commands

* integration tests

* bridges docs

* more integration tests

* AuraId

* other statemint tidying

* rename statemint mod

* chain spec mod

* rename e2e test dirs

* one more Runtime::Statemine

* benchmark westmint

* rename chain spec name and id

* rename chain spec files

* more tidying in scripts/docs/tests

* rename old dir if exists

* Force people to manually do the move.

(Safer as there could be additional considerations with their setup)

* review touchups

* more renaming

* Update polkadot-parachain/src/command.rs

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

* better error message

* do not break on-chain spec_name

* log info message that path has been renamed

* better penpal docs

---------

Co-authored-by: gilescope <gilescope@gmail.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: parity-processbot <>
2023-06-02 09:58:19 +00: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 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
joe petrowski af46f4b41e Add Support for Foreign Assets (#2133)
* add foreign assets to westmint

* add foreign assets to statemine

* use updated api for ensure origin trait

* Assets/ForeignAssets tests and fixes (#2167)

* Test for create and transfer `TrustBackedAssets` with AssetTransactor

* Test for transfer `local Currency` with AssetTransactor

* Test for create foreign assets (covers foreign relaychain currency)

* Added `ForeignFungiblesTransactor` and test for transfer `ForeignAssets` with AssetTransactor

* Removed unused `pub const Local: MultiLocation`

* Changed `ParaId -> Sibling` for `SiblingParachainConvertsVia`

* Test for create foreign assets (covers local sibling parachain assets)

* Reverted stuff for ForeignCreators from different global consensus (moved to transfer asset branch)

* Refactor `weight_limit` for `execute_xcm`

* Added test for `set_metadata` by ForeignCreator with `xcm::Transact(set_metadata)`

* Renamed `receive_teleported_asset_works` -> `receive_teleported_asset_for_native_asset_works`

* Allow `ForeignCreators` only for sibling parachains

* Unify ReservedDmpWeight/ReservedXcmpWeight usage

* Removed hack - replaced with `MatchedConvertedConcreteId`

* Refactor `ForeignCreators` to assets-common

* Add `ReceiveTeleportedAsset` test

* Change test - `Utility::batch` -> Multiple `xcm::Transact`

* Reusing the same deposits as for TrustBackedAssets

* missing `try_successful_origin` ?

* Finished `ForeignAssets` for westmint (converter, FungiblesApi, tests)

* Refactoring tests - receive_teleported_asset_for_native_asset_works

* ForeignAssets for statemine + refactored `receive_teleported_asset_from_foreign_creator_works`

* Add `ForeignAssets` to statemine `FungiblesApi`

* Add `asset_transactor_transfer_with_local_consensus_currency_works` to all runtimes

* Added `asset_transactor_transfer_with_trust_backed_assets_works` test

* Added `asset_transactor_transfer_with_foreign_assets_works`

* Fix `missing `try_successful_origin` in implementation`

* Added `create_and_manage_foreign_assets_for_local_consensus_parachain_assets_works`

* Added `ExpectTransactStatus` check

* Small rename

* Extended `test_assets_balances_api_works` with ForeignAssets for `statemine`

* PR fixes

* Update parachains/runtimes/assets/test-utils/src/test_cases.rs

---------

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

* Added `StartsWithExplicitGlobalConsensus` to ignores (#2338)

* Update parachains/runtimes/assets/common/src/lib.rs

Co-authored-by: Gavin Wood <gavin@parity.io>

* include mint and burn in SafeCallFilter

* include mint and burn in SafeCallFilter (statemine)

* clarify doc

* Fix compilation (moved trait `InspectMetadata`)

* Fix test

* Extended test for `teleport` from/to relaychain + `CheckingAccount` (Part I)

* Extended test for `teleport` from/to foreign parachain + `CheckingAccount` (Part II)

* Fixed TODO - `NonLocal` for `ForeignAssets`

* Changed `NonLocal` to `NoChecking`

* Fix weight in test

---------

Co-authored-by: parity-processbot <>
Co-authored-by: muharem <ismailov.m.h@gmail.com>
Co-authored-by: Branislav Kontur <bkontur@gmail.com>
Co-authored-by: Gavin Wood <gavin@parity.io>
2023-03-23 14:14:27 +00:00
girazoki 8f2a3a5077 Statemint runtimes to accept sufficient assets as xcm fee payment (#1278)
* point to my branch

* girazoki-add-TakeFirstAssetTrader-to-utility

* Commit lock

* point at custom branch

* add new trader to statemine runtimes

* compiles

* Back to master

* Update last tomls

* Imports up

* remove non-needing imports

* FMT

* log messages properly

* Use TakeRevenue instead of HandleCredit

* Introduce xcm fee handler

* check total supply in tests

* FMT

* fix test

* Start decoupling balance calculation into different traits

* Make traits a bit more generic

* PR suggestions

* add import

* import well

* Place xcmfeesassethandler into parachains common

* fix tests

* config parameters

* Min amount to fee receiver

* Make minimum amount for block author to be at least the ED

* Doc in AssetFeeAsExistentialDepositMultiplier

* saturating sub

* make sure we dont enter twice

* FMT

* fmt again

* adapt tests

* Add doc and struct for weight refund

* Doc

* More doc

* PR suggestions

* store all info related to asset payment as multiasset

* return AssetNotFound instead of TooExpensive

* Use asset transactor to deposit fee

* uninstall from statemint

* R for RUntime and CON for BalanceConverter

* Rework logic to avoid unnecesary match and error

* Rework ED check, also in case of refund

* rework typo

* In case refund makes drop below ED, just refund the difference

* fix test westmint

* clone id

* move test imports to preamble

* move test imports to preamble

* test-utils with builderS

* lock file updated

* remove unused imports

Co-authored-by: Stephen Shelton <steve@brewcraft.org>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: joepetrowski <joe@parity.io>
2022-08-03 16:04:13 +00:00