Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[testnet] Add AssetHubRococo <-> AssetHubWestend asset bridging support #1967

Merged
merged 60 commits into from
Nov 1, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
f941f65
Inject bridging pallets and cfg for `BridgeHubWestend`
bkontur Oct 24, 2023
5516787
Add `ToWestendXcmRouter` to the `AssetHubRococo` + allow asset bridging
bkontur Oct 24, 2023
0a969c8
Align testnet system parachain runtimes using `RelayTreasuryLocation`…
bkontur Oct 25, 2023
2d88d83
Align testnet system parachain runtimes using `RelayTreasuryLocation`…
bkontur Oct 25, 2023
515e02b
".git/.scripts/commands/bench/bench.sh" --subcommand=xcm --runtime=as…
Oct 25, 2023
b4b5361
Setup `TrustedReserve` on `asset-hub-rococo`
bkontur Oct 25, 2023
fca14bb
Merge branch 'master' of https://github.com/paritytech/polkadot-sdk i…
Oct 25, 2023
8a8d218
".git/.scripts/commands/bench/bench.sh" --subcommand=xcm --runtime=as…
Oct 25, 2023
c7d9949
Adjusted test weights
bkontur Oct 25, 2023
9f46e8b
Merge remote-tracking branch 'origin/bko-testnet-nits' into bko-bridg…
bkontur Oct 25, 2023
1920fa3
".git/.scripts/commands/fmt/fmt.sh"
Oct 25, 2023
1297cfd
Adjusted test weights + moved assert before checking balances
bkontur Oct 25, 2023
7c6c1e5
Merge remote-tracking branch 'origin/master' into bko-testnet-nits
bkontur Oct 25, 2023
ad0eecc
Merge remote-tracking branch 'origin/bko-testnet-nits' into bko-bridg…
bkontur Oct 25, 2023
aacec45
Add `ToRococoXcmRouter` to the `AssetHubWestend` + allow asset bridging
bkontur Oct 25, 2023
49ac6a8
Merge remote-tracking branch 'origin/master' into bko-bridge-rococo-w…
bkontur Oct 26, 2023
1c19674
AssetHubRococo - `XcmReserveTransferFilter` back to `Everything` (all…
bkontur Oct 26, 2023
c54fd9e
Removed TODO for correct delivery fee estimation
bkontur Oct 26, 2023
7ea5055
Removed TODO from test-case for hard-coded delivery fee estimation
bkontur Oct 26, 2023
0bea911
clippy
bkontur Oct 26, 2023
b0dd90d
clippy
bkontur Oct 26, 2023
65ed92f
Refactored `assert_matches_reserve_asset_deposited_instructions`
bkontur Oct 26, 2023
125a72a
Merge remote-tracking branch 'origin/bko-removed-todo-for-delivery-fe…
bkontur Oct 26, 2023
0554baa
Fixed tests
bkontur Oct 26, 2023
df688dd
Merge remote-tracking branch 'origin/master' into bko-bridge-rococo-w…
bkontur Oct 26, 2023
adc3c44
Weights and benchmarks
bkontur Oct 26, 2023
87e83ea
Bridges primitives update
bkontur Oct 26, 2023
13cae39
Merge remote-tracking branch 'origin/master' into bko-bridge-rococo-w…
bkontur Oct 26, 2023
2b45e93
".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime…
Oct 26, 2023
2b1dc96
".git/.scripts/commands/bench/bench.sh" --subcommand=xcm --runtime=as…
Oct 26, 2023
1632b2f
Git apply patches from:
bkontur Oct 27, 2023
2d1e785
Merge remote-tracking branch 'origin/master' into bko-bridge-rococo-w…
bkontur Oct 27, 2023
38bd9f9
Added separated bridge-hub-westend-runtime
bkontur Oct 27, 2023
cdee670
Removed westend flavor from BHR
bkontur Oct 27, 2023
d503966
Benchmarks for BHR
bkontur Oct 27, 2023
5737dc7
Benchmarks for BridgeHubWestend
bkontur Oct 27, 2023
f0405f8
Merge remote-tracking branch 'origin/master' into bko-bridge-rococo-w…
bkontur Oct 27, 2023
95f0d0b
Local run for Rococo<>Westend
bkontur Oct 30, 2023
80fbcbf
Merge remote-tracking branch 'origin/master' into bko-bridge-rococo-w…
bkontur Oct 30, 2023
b8c70f8
Removed TODO
bkontur Oct 30, 2023
93be52a
Old comment
bkontur Oct 30, 2023
4ccfd7f
Fix Instances
bkontur Oct 30, 2023
089159c
Unify `Parachain` vs `Parachains`
bkontur Oct 30, 2023
0c75f31
Simplify `MessageExporter` for BHR
bkontur Oct 31, 2023
5c8eba1
Merge remote-tracking branch 'origin/master' into bko-bridge-rococo-w…
bkontur Oct 31, 2023
c5db0ad
Add licence attr in Cargo.toml
bkontur Oct 31, 2023
dfdfcb4
Update cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/Car…
bkontur Nov 1, 2023
818bb3e
Update cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src…
bkontur Nov 1, 2023
19f1c2f
Update cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src…
bkontur Nov 1, 2023
f8d620c
Update cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src…
bkontur Nov 1, 2023
51dac4e
Docs
bkontur Nov 1, 2023
a83bdbb
Use westend constants for test
bkontur Nov 1, 2023
7efa43a
Merge remote-tracking branch 'origin/master' into bko-bridge-rococo-w…
bkontur Nov 1, 2023
03e95b3
Fix FeeManager after rebase
bkontur Nov 1, 2023
960b644
More fixes after rebase to master
bkontur Nov 1, 2023
5f5d991
Merge remote-tracking branch 'origin/master' into bko-bridge-rococo-w…
bkontur Nov 1, 2023
773fee8
Change spec_version to `1_003_000`
bkontur Nov 1, 2023
09540ec
Squashed 'bridges/' changes from 277f0d5496..b5c43bbf37
bkontur Nov 1, 2023
e92faeb
Merge commit '09540ece72090196aed24ecd6551665d049a35c2' into bko-brid…
bkontur Nov 1, 2023
4af2f09
Fix README
bkontur Nov 1, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add ToRococoXcmRouter to the AssetHubWestend + allow asset bridging
  • Loading branch information
bkontur committed Oct 25, 2023
commit aacec45ba21b1670619aecdb5daf3ca9fd74517c
15 changes: 13 additions & 2 deletions cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -70,18 +70,23 @@ cumulus-pallet-dmp-queue = { path = "../../../../pallets/dmp-queue", default-fea
cumulus-pallet-parachain-system = { path = "../../../../pallets/parachain-system", default-features = false, features = ["parameterized-consensus-hook",] }
cumulus-pallet-session-benchmarking = { path = "../../../../pallets/session-benchmarking", default-features = false}
cumulus-pallet-xcm = { path = "../../../../pallets/xcm", default-features = false }
cumulus-pallet-xcmp-queue = { path = "../../../../pallets/xcmp-queue", default-features = false }
cumulus-pallet-xcmp-queue = { path = "../../../../pallets/xcmp-queue", default-features = false, features = ["bridging"] }
cumulus-primitives-core = { path = "../../../../primitives/core", default-features = false }
cumulus-primitives-utility = { path = "../../../../primitives/utility", default-features = false }
pallet-collator-selection = { path = "../../../../pallets/collator-selection", default-features = false }
parachain-info = { path = "../../../pallets/parachain-info", default-features = false }
parachains-common = { path = "../../../common", default-features = false }
assets-common = { path = "../common", default-features = false }

# Bridges
pallet-xcm-bridge-hub-router = { path = "../../../../../bridges/modules/xcm-bridge-hub-router", default-features = false }
bp-asset-hub-rococo = { path = "../../../../../bridges/primitives/chain-asset-hub-rococo", default-features = false }
bp-asset-hub-westend = { path = "../../../../../bridges/primitives/chain-asset-hub-westend", default-features = false }
bp-bridge-hub-westend = { path = "../../../../../bridges/primitives/chain-bridge-hub-westend", default-features = false }

[dev-dependencies]
hex-literal = "0.4.1"
asset-test-utils = { path = "../test-utils" }
sp-io = { path = "../../../../../substrate/primitives/io" }

[build-dependencies]
substrate-wasm-builder = { path = "../../../../../substrate/utils/wasm-builder", optional = true }
Expand Down Expand Up @@ -111,6 +116,7 @@ runtime-benchmarks = [
"pallet-uniques/runtime-benchmarks",
"pallet-utility/runtime-benchmarks",
"pallet-xcm-benchmarks/runtime-benchmarks",
"pallet-xcm-bridge-hub-router/runtime-benchmarks",
"pallet-xcm/runtime-benchmarks",
"parachains-common/runtime-benchmarks",
"polkadot-parachain-primitives/runtime-benchmarks",
Expand Down Expand Up @@ -145,13 +151,17 @@ try-runtime = [
"pallet-transaction-payment/try-runtime",
"pallet-uniques/try-runtime",
"pallet-utility/try-runtime",
"pallet-xcm-bridge-hub-router/try-runtime",
"pallet-xcm/try-runtime",
"parachain-info/try-runtime",
"polkadot-runtime-common/try-runtime",
"sp-runtime/try-runtime",
]
std = [
"assets-common/std",
"bp-asset-hub-rococo/std",
"bp-asset-hub-westend/std",
"bp-bridge-hub-westend/std",
"codec/std",
"cumulus-pallet-aura-ext/std",
"cumulus-pallet-dmp-queue/std",
Expand Down Expand Up @@ -188,6 +198,7 @@ std = [
"pallet-uniques/std",
"pallet-utility/std",
"pallet-xcm-benchmarks?/std",
"pallet-xcm-bridge-hub-router/std",
"pallet-xcm/std",
"parachain-info/std",
"parachains-common/std",
Expand Down
36 changes: 35 additions & 1 deletion cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ use frame_support::{
ord_parameter_types, parameter_types,
traits::{
tokens::nonfungibles_v2::Inspect, AsEnsureOriginWithArg, ConstBool, ConstU128, ConstU32,
ConstU64, ConstU8, InstanceFilter,
ConstU64, ConstU8, Equals, InstanceFilter,
},
weights::{ConstantMultiplier, Weight},
BoundedVec, PalletId,
Expand All @@ -54,6 +54,7 @@ use frame_system::{
};
use pallet_asset_conversion_tx_payment::AssetConversionAdapter;
use pallet_nfts::PalletFeatures;
use pallet_xcm::EnsureXcm;
pub use parachains_common as common;
use parachains_common::{
impls::DealWithFees,
Expand Down Expand Up @@ -794,6 +795,37 @@ impl pallet_nfts::Config for Runtime {
type Helper = ();
}

/// XCM router instance to BridgeHub with bridging capabilities for `Rococo` global
/// consensus with dynamic fees and back-pressure.
pub type ToRococoXcmRouterInstance = pallet_assets::Instance1;
impl pallet_xcm_bridge_hub_router::Config<ToRococoXcmRouterInstance> for Runtime {
type WeightInfo = weights::pallet_xcm_bridge_hub_router_to_rococo::WeightInfo<Runtime>;

type UniversalLocation = xcm_config::UniversalLocation;
type BridgedNetworkId = xcm_config::bridging::to_rococo::RococoNetwork;
type Bridges = xcm_config::bridging::NetworkExportTable;

#[cfg(not(feature = "runtime-benchmarks"))]
type BridgeHubOrigin = EnsureXcm<Equals<xcm_config::bridging::SiblingBridgeHub>>;
#[cfg(feature = "runtime-benchmarks")]
type BridgeHubOrigin = EitherOfDiverse<
// for running benchmarks
EnsureRoot<AccountId>,
// for running tests with `--feature runtime-benchmarks`
EnsureXcm<Equals<xcm_config::bridging::SiblingBridgeHub>>,
>;

type ToBridgeHubSender = XcmpQueue;
type WithBridgeHubChannel =
cumulus_pallet_xcmp_queue::bridging::InAndOutXcmpChannelStatusProvider<
xcm_config::bridging::SiblingBridgeHubParaId,
Runtime,
>;

type ByteFee = xcm_config::bridging::XcmBridgeHubRouterByteFee;
type FeeAsset = xcm_config::bridging::XcmBridgeHubRouterFeeAssetId;
}

// Create the runtime by composing the FRAME pallets that were previously configured.
construct_runtime!(
pub enum Runtime
Expand Down Expand Up @@ -825,6 +857,8 @@ construct_runtime!(
PolkadotXcm: pallet_xcm::{Pallet, Call, Storage, Event<T>, Origin, Config<T>} = 31,
CumulusXcm: cumulus_pallet_xcm::{Pallet, Event<T>, Origin} = 32,
DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event<T>} = 33,
// Bridge utilities.
ToRococoXcmRouter: pallet_xcm_bridge_hub_router::<Instance1>::{Pallet, Storage, Call} = 34,

// Handy utilities.
Utility: pallet_utility::{Pallet, Call, Event} = 40,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ pub mod pallet_timestamp;
pub mod pallet_uniques;
pub mod pallet_utility;
pub mod pallet_xcm;
pub mod pallet_xcm_bridge_hub_router_to_rococo;
pub mod paritydb_weights;
pub mod rocksdb_weights;
pub mod xcm;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
// Copyright (C) Parity Technologies (UK) Ltd.
// This file is part of Cumulus.

// Cumulus is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// Cumulus is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with Cumulus. If not, see <http://www.gnu.org/licenses/>.

//! Autogenerated weights for `pallet_xcm_bridge_hub_router`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2023-09-19, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `runner-guclnr1q-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-rococo-dev")`, DB CACHE: 1024

// Executed Command:
// target/production/polkadot-parachain
// benchmark
// pallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
// --pallet=pallet_xcm_bridge_hub_router
// --chain=asset-hub-rococo-dev
// --header=./cumulus/file_header.txt
// --output=./cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/

#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]

use frame_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;

/// Weight functions for `pallet_xcm_bridge_hub_router`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_xcm_bridge_hub_router::WeightInfo for WeightInfo<T> {
/// Storage: UNKNOWN KEY `0x48297505634037ef48c848c99c0b1f1b` (r:1 w:0)
/// Proof: UNKNOWN KEY `0x48297505634037ef48c848c99c0b1f1b` (r:1 w:0)
/// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:0)
/// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `XcmpQueue::InboundXcmpStatus` (r:1 w:0)
/// Proof: `XcmpQueue::InboundXcmpStatus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ToRococoXcmRouter::Bridge` (r:1 w:1)
/// Proof: `ToRococoXcmRouter::Bridge` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`)
fn on_initialize_when_non_congested() -> Weight {
// Proof Size summary in bytes:
// Measured: `232`
// Estimated: `3697`
// Minimum execution time: 10_861_000 picoseconds.
Weight::from_parts(11_253_000, 0)
.saturating_add(Weight::from_parts(0, 3697))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: UNKNOWN KEY `0x48297505634037ef48c848c99c0b1f1b` (r:1 w:0)
/// Proof: UNKNOWN KEY `0x48297505634037ef48c848c99c0b1f1b` (r:1 w:0)
/// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:0)
/// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
fn on_initialize_when_congested() -> Weight {
// Proof Size summary in bytes:
// Measured: `169`
// Estimated: `3634`
// Minimum execution time: 5_807_000 picoseconds.
Weight::from_parts(6_018_000, 0)
.saturating_add(Weight::from_parts(0, 3634))
.saturating_add(T::DbWeight::get().reads(2))
}
/// Storage: `ToRococoXcmRouter::Bridge` (r:1 w:1)
/// Proof: `ToRococoXcmRouter::Bridge` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`)
fn report_bridge_status() -> Weight {
// Proof Size summary in bytes:
// Measured: `117`
// Estimated: `1502`
// Minimum execution time: 11_479_000 picoseconds.
Weight::from_parts(11_831_000, 0)
.saturating_add(Weight::from_parts(0, 1502))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: UNKNOWN KEY `0x48297505634037ef48c848c99c0b1f1b` (r:1 w:0)
/// Proof: UNKNOWN KEY `0x48297505634037ef48c848c99c0b1f1b` (r:1 w:0)
/// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
/// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: UNKNOWN KEY `0x0973fe64c85043ba1c965cbc38eb63c7` (r:1 w:0)
/// Proof: UNKNOWN KEY `0x0973fe64c85043ba1c965cbc38eb63c7` (r:1 w:0)
/// Storage: `ToRococoXcmRouter::Bridge` (r:1 w:1)
/// Proof: `ToRococoXcmRouter::Bridge` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`)
/// Storage: `PolkadotXcm::SupportedVersion` (r:1 w:0)
/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PolkadotXcm::VersionDiscoveryQueue` (r:1 w:1)
/// Proof: `PolkadotXcm::VersionDiscoveryQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `PolkadotXcm::SafeXcmVersion` (r:1 w:0)
/// Proof: `PolkadotXcm::SafeXcmVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
/// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
/// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
/// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn send_message() -> Weight {
// Proof Size summary in bytes:
// Measured: `445`
// Estimated: `3910`
// Minimum execution time: 52_670_000 picoseconds.
Weight::from_parts(54_368_000, 0)
.saturating_add(Weight::from_parts(0, 3910))
.saturating_add(T::DbWeight::get().reads(9))
.saturating_add(T::DbWeight::get().writes(4))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ impl<Call> XcmWeightInfo<Call> for AssetHubWestendXcmWeight<Call> {
XcmGeneric::<Runtime>::clear_transact_status()
}
fn universal_origin(_: &Junction) -> Weight {
Weight::MAX
XcmGeneric::<Runtime>::universal_origin()
}
fn export_message(_: &NetworkId, _: &Junctions, _: &Xcm<()>) -> Weight {
Weight::MAX
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,14 +93,17 @@ impl<T: frame_system::Config> WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(8))
.saturating_add(T::DbWeight::get().writes(4))
}
// Storage: `Benchmark::Override` (r:0 w:0)
// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
// Storage: UNKNOWN KEY `0x48297505634037ef48c848c99c0b1f1b` (r:1 w:0)
// Proof: UNKNOWN KEY `0x48297505634037ef48c848c99c0b1f1b` (r:1 w:0)
// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
pub fn reserve_asset_deposited() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
Weight::from_parts(18_446_744_073_709_551_000, 0)
// Measured: `39`
// Estimated: `3504`
// Minimum execution time: 7_006_000 picoseconds.
Weight::from_parts(7_185_000, 3504)
.saturating_add(T::DbWeight::get().reads(2))
}
// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,16 @@ impl<T: frame_system::Config> WeightInfo<T> {
// Minimum execution time: 2_599_000 picoseconds.
Weight::from_parts(2_723_000, 0)
}
// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
pub fn universal_origin() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `1489`
// Minimum execution time: 5_088_000 picoseconds.
Weight::from_parts(5_253_000, 1489)
.saturating_add(T::DbWeight::get().reads(1))
}
pub fn set_fees_mode() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
Expand Down
Loading