mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-28 21:27:57 +00:00
Revert execute_blob and send_blob (#4266)
Revert "pallet-xcm: Deprecate `execute` and `send` in favor of
`execute_blob` and `send_blob` (#3749)"
This reverts commit feee773d15.
---------
Co-authored-by: Adrian Catangiu <adrian@parity.io>
Co-authored-by: Javier Bullrich <javier@bullrich.dev>
This commit is contained in:
committed by
GitHub
parent
d29c3636fa
commit
4f3d43a0c4
Generated
-1
@@ -2222,7 +2222,6 @@ dependencies = [
|
||||
"pallet-message-queue",
|
||||
"pallet-xcm",
|
||||
"parachains-common",
|
||||
"parity-scale-codec",
|
||||
"rococo-westend-system-emulated-network",
|
||||
"sp-runtime",
|
||||
"staging-xcm",
|
||||
|
||||
@@ -11,6 +11,7 @@ publish = false
|
||||
workspace = true
|
||||
|
||||
[dependencies]
|
||||
|
||||
# Substrate
|
||||
sp-core = { path = "../../../../../../../substrate/primitives/core", default-features = false }
|
||||
sp-runtime = { path = "../../../../../../../substrate/primitives/runtime", default-features = false }
|
||||
|
||||
@@ -360,7 +360,7 @@ macro_rules! impl_send_transact_helpers_for_relay_chain {
|
||||
recipient: $crate::impls::ParaId,
|
||||
call: $crate::impls::DoubleEncoded<()>
|
||||
) {
|
||||
use $crate::impls::{bx, Chain, RelayChain, Encode};
|
||||
use $crate::impls::{bx, Chain, RelayChain};
|
||||
|
||||
<Self as $crate::impls::TestExt>::execute_with(|| {
|
||||
let root_origin = <Self as Chain>::RuntimeOrigin::root();
|
||||
@@ -368,10 +368,10 @@ macro_rules! impl_send_transact_helpers_for_relay_chain {
|
||||
let xcm = $crate::impls::xcm_transact_unpaid_execution(call, $crate::impls::OriginKind::Superuser);
|
||||
|
||||
// Send XCM `Transact`
|
||||
$crate::impls::assert_ok!(<Self as [<$chain RelayPallet>]>::XcmPallet::send_blob(
|
||||
$crate::impls::assert_ok!(<Self as [<$chain RelayPallet>]>::XcmPallet::send(
|
||||
root_origin,
|
||||
bx!(destination.into()),
|
||||
xcm.encode().try_into().unwrap(),
|
||||
bx!(xcm),
|
||||
));
|
||||
Self::assert_xcm_pallet_sent();
|
||||
});
|
||||
|
||||
+4
-4
@@ -75,10 +75,10 @@ fn send_xcm_from_para_to_system_para_paying_fee_with_system_assets_works() {
|
||||
)]);
|
||||
|
||||
PenpalA::execute_with(|| {
|
||||
assert_ok!(<PenpalA as PenpalAPallet>::PolkadotXcm::send_blob(
|
||||
assert_ok!(<PenpalA as PenpalAPallet>::PolkadotXcm::send(
|
||||
root_origin,
|
||||
bx!(system_para_destination),
|
||||
xcm.encode().try_into().unwrap(),
|
||||
bx!(xcm),
|
||||
));
|
||||
|
||||
PenpalA::assert_xcm_pallet_sent();
|
||||
@@ -159,10 +159,10 @@ fn send_xcm_from_para_to_system_para_paying_fee_with_assets_works() {
|
||||
)]);
|
||||
|
||||
PenpalA::execute_with(|| {
|
||||
assert_ok!(<PenpalA as PenpalAPallet>::PolkadotXcm::send_blob(
|
||||
assert_ok!(<PenpalA as PenpalAPallet>::PolkadotXcm::send(
|
||||
root_origin,
|
||||
bx!(system_para_destination),
|
||||
xcm.encode().try_into().unwrap(),
|
||||
bx!(xcm),
|
||||
));
|
||||
|
||||
PenpalA::assert_xcm_pallet_sent();
|
||||
|
||||
+2
-2
@@ -372,10 +372,10 @@ fn pay_xcm_fee_with_some_asset_swapped_for_native() {
|
||||
penpal.clone(),
|
||||
);
|
||||
|
||||
assert_ok!(<PenpalA as PenpalAPallet>::PolkadotXcm::send_blob(
|
||||
assert_ok!(<PenpalA as PenpalAPallet>::PolkadotXcm::send(
|
||||
penpal_root,
|
||||
bx!(asset_hub_location),
|
||||
xcm.encode().try_into().unwrap(),
|
||||
bx!(xcm),
|
||||
));
|
||||
|
||||
PenpalA::assert_xcm_pallet_sent();
|
||||
|
||||
+4
-4
@@ -75,10 +75,10 @@ fn send_xcm_from_para_to_system_para_paying_fee_with_system_assets_works() {
|
||||
)]);
|
||||
|
||||
PenpalA::execute_with(|| {
|
||||
assert_ok!(<PenpalA as PenpalAPallet>::PolkadotXcm::send_blob(
|
||||
assert_ok!(<PenpalA as PenpalAPallet>::PolkadotXcm::send(
|
||||
root_origin,
|
||||
bx!(system_para_destination),
|
||||
xcm.encode().try_into().unwrap(),
|
||||
bx!(xcm),
|
||||
));
|
||||
|
||||
PenpalA::assert_xcm_pallet_sent();
|
||||
@@ -159,10 +159,10 @@ fn send_xcm_from_para_to_system_para_paying_fee_with_assets_works() {
|
||||
)]);
|
||||
|
||||
PenpalA::execute_with(|| {
|
||||
assert_ok!(<PenpalA as PenpalAPallet>::PolkadotXcm::send_blob(
|
||||
assert_ok!(<PenpalA as PenpalAPallet>::PolkadotXcm::send(
|
||||
root_origin,
|
||||
bx!(system_para_destination),
|
||||
xcm.encode().try_into().unwrap(),
|
||||
bx!(xcm),
|
||||
));
|
||||
|
||||
PenpalA::assert_xcm_pallet_sent();
|
||||
|
||||
+2
-2
@@ -371,10 +371,10 @@ fn pay_xcm_fee_with_some_asset_swapped_for_native() {
|
||||
penpal.clone(),
|
||||
);
|
||||
|
||||
assert_ok!(<PenpalA as PenpalAPallet>::PolkadotXcm::send_blob(
|
||||
assert_ok!(<PenpalA as PenpalAPallet>::PolkadotXcm::send(
|
||||
penpal_root,
|
||||
bx!(asset_hub_location),
|
||||
xcm.encode().try_into().unwrap(),
|
||||
bx!(xcm),
|
||||
));
|
||||
|
||||
PenpalA::assert_xcm_pallet_sent();
|
||||
|
||||
+3
-4
@@ -14,7 +14,6 @@
|
||||
// limitations under the License.
|
||||
|
||||
use crate::tests::*;
|
||||
use codec::Encode;
|
||||
|
||||
#[test]
|
||||
fn send_xcm_from_rococo_relay_to_westend_asset_hub_should_fail_on_not_applicable() {
|
||||
@@ -27,7 +26,7 @@ fn send_xcm_from_rococo_relay_to_westend_asset_hub_should_fail_on_not_applicable
|
||||
|
||||
let remote_xcm = Xcm(vec![ClearOrigin]);
|
||||
|
||||
let xcm = VersionedXcm::from(Xcm::<()>(vec![
|
||||
let xcm = VersionedXcm::from(Xcm(vec![
|
||||
UnpaidExecution { weight_limit, check_origin },
|
||||
ExportMessage {
|
||||
network: WestendId.into(),
|
||||
@@ -39,10 +38,10 @@ fn send_xcm_from_rococo_relay_to_westend_asset_hub_should_fail_on_not_applicable
|
||||
// Rococo Global Consensus
|
||||
// Send XCM message from Relay Chain to Bridge Hub source Parachain
|
||||
Rococo::execute_with(|| {
|
||||
assert_ok!(<Rococo as RococoPallet>::XcmPallet::send_blob(
|
||||
assert_ok!(<Rococo as RococoPallet>::XcmPallet::send(
|
||||
sudo_origin,
|
||||
bx!(destination),
|
||||
xcm.encode().try_into().unwrap(),
|
||||
bx!(xcm),
|
||||
));
|
||||
|
||||
type RuntimeEvent = <Rococo as Chain>::RuntimeEvent;
|
||||
|
||||
+9
-9
@@ -82,7 +82,7 @@ fn create_agent() {
|
||||
|
||||
let create_agent_call = SnowbridgeControl::Control(ControlCall::CreateAgent {});
|
||||
// Construct XCM to create an agent for para 1001
|
||||
let remote_xcm = VersionedXcm::from(Xcm::<()>(vec![
|
||||
let remote_xcm = VersionedXcm::from(Xcm(vec![
|
||||
UnpaidExecution { weight_limit: Unlimited, check_origin: None },
|
||||
DescendOrigin(Parachain(origin_para).into()),
|
||||
Transact {
|
||||
@@ -95,10 +95,10 @@ fn create_agent() {
|
||||
// Rococo Global Consensus
|
||||
// Send XCM message from Relay Chain to Bridge Hub source Parachain
|
||||
Rococo::execute_with(|| {
|
||||
assert_ok!(<Rococo as RococoPallet>::XcmPallet::send_blob(
|
||||
assert_ok!(<Rococo as RococoPallet>::XcmPallet::send(
|
||||
sudo_origin,
|
||||
bx!(destination),
|
||||
remote_xcm.encode().try_into().unwrap(),
|
||||
bx!(remote_xcm),
|
||||
));
|
||||
|
||||
type RuntimeEvent = <Rococo as Chain>::RuntimeEvent;
|
||||
@@ -140,7 +140,7 @@ fn create_channel() {
|
||||
|
||||
let create_agent_call = SnowbridgeControl::Control(ControlCall::CreateAgent {});
|
||||
// Construct XCM to create an agent for para 1001
|
||||
let create_agent_xcm = VersionedXcm::from(Xcm::<()>(vec![
|
||||
let create_agent_xcm = VersionedXcm::from(Xcm(vec![
|
||||
UnpaidExecution { weight_limit: Unlimited, check_origin: None },
|
||||
DescendOrigin(Parachain(origin_para).into()),
|
||||
Transact {
|
||||
@@ -153,7 +153,7 @@ fn create_channel() {
|
||||
let create_channel_call =
|
||||
SnowbridgeControl::Control(ControlCall::CreateChannel { mode: OperatingMode::Normal });
|
||||
// Construct XCM to create a channel for para 1001
|
||||
let create_channel_xcm = VersionedXcm::from(Xcm::<()>(vec![
|
||||
let create_channel_xcm = VersionedXcm::from(Xcm(vec![
|
||||
UnpaidExecution { weight_limit: Unlimited, check_origin: None },
|
||||
DescendOrigin(Parachain(origin_para).into()),
|
||||
Transact {
|
||||
@@ -166,16 +166,16 @@ fn create_channel() {
|
||||
// Rococo Global Consensus
|
||||
// Send XCM message from Relay Chain to Bridge Hub source Parachain
|
||||
Rococo::execute_with(|| {
|
||||
assert_ok!(<Rococo as RococoPallet>::XcmPallet::send_blob(
|
||||
assert_ok!(<Rococo as RococoPallet>::XcmPallet::send(
|
||||
sudo_origin.clone(),
|
||||
bx!(destination.clone()),
|
||||
create_agent_xcm.encode().try_into().unwrap(),
|
||||
bx!(create_agent_xcm),
|
||||
));
|
||||
|
||||
assert_ok!(<Rococo as RococoPallet>::XcmPallet::send_blob(
|
||||
assert_ok!(<Rococo as RococoPallet>::XcmPallet::send(
|
||||
sudo_origin,
|
||||
bx!(destination),
|
||||
create_channel_xcm.encode().try_into().unwrap(),
|
||||
bx!(create_channel_xcm),
|
||||
));
|
||||
|
||||
type RuntimeEvent = <Rococo as Chain>::RuntimeEvent;
|
||||
|
||||
-1
@@ -11,7 +11,6 @@ publish = false
|
||||
workspace = true
|
||||
|
||||
[dependencies]
|
||||
codec = { package = "parity-scale-codec", version = "3.6.0" }
|
||||
|
||||
# Substrate
|
||||
frame-support = { path = "../../../../../../../substrate/frame/support", default-features = false }
|
||||
|
||||
+3
-4
@@ -14,7 +14,6 @@
|
||||
// limitations under the License.
|
||||
|
||||
use crate::tests::*;
|
||||
use codec::Encode;
|
||||
|
||||
#[test]
|
||||
fn send_xcm_from_westend_relay_to_rococo_asset_hub_should_fail_on_not_applicable() {
|
||||
@@ -27,7 +26,7 @@ fn send_xcm_from_westend_relay_to_rococo_asset_hub_should_fail_on_not_applicable
|
||||
|
||||
let remote_xcm = Xcm(vec![ClearOrigin]);
|
||||
|
||||
let xcm = VersionedXcm::from(Xcm::<()>(vec![
|
||||
let xcm = VersionedXcm::from(Xcm(vec![
|
||||
UnpaidExecution { weight_limit, check_origin },
|
||||
ExportMessage {
|
||||
network: RococoId,
|
||||
@@ -39,10 +38,10 @@ fn send_xcm_from_westend_relay_to_rococo_asset_hub_should_fail_on_not_applicable
|
||||
// Westend Global Consensus
|
||||
// Send XCM message from Relay Chain to Bridge Hub source Parachain
|
||||
Westend::execute_with(|| {
|
||||
assert_ok!(<Westend as WestendPallet>::XcmPallet::send_blob(
|
||||
assert_ok!(<Westend as WestendPallet>::XcmPallet::send(
|
||||
sudo_origin,
|
||||
bx!(destination),
|
||||
xcm.encode().try_into().unwrap(),
|
||||
bx!(xcm),
|
||||
));
|
||||
|
||||
type RuntimeEvent = <Westend as Chain>::RuntimeEvent;
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
//! Autogenerated weights for `pallet_xcm`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2024-03-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! DATE: 2024-02-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `runner-h2rr8wx7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! HOSTNAME: `runner-bn-ce5rx-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:
|
||||
@@ -64,30 +64,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `145`
|
||||
// Estimated: `3610`
|
||||
// Minimum execution time: 21_224_000 picoseconds.
|
||||
Weight::from_parts(21_821_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3610))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `ParachainSystem::UpwardDeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `ParachainSystem::UpwardDeliveryFeeFactor` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// 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::HostConfiguration` (r:1 w:0)
|
||||
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
|
||||
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn send_blob() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `145`
|
||||
// Estimated: `3610`
|
||||
// Minimum execution time: 21_474_000 picoseconds.
|
||||
Weight::from_parts(22_072_000, 0)
|
||||
// Minimum execution time: 22_136_000 picoseconds.
|
||||
Weight::from_parts(22_518_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3610))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -112,8 +90,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `145`
|
||||
// Estimated: `3610`
|
||||
// Minimum execution time: 90_677_000 picoseconds.
|
||||
Weight::from_parts(93_658_000, 0)
|
||||
// Minimum execution time: 92_277_000 picoseconds.
|
||||
Weight::from_parts(94_843_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3610))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -140,8 +118,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `400`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 116_767_000 picoseconds.
|
||||
Weight::from_parts(118_843_000, 0)
|
||||
// Minimum execution time: 120_110_000 picoseconds.
|
||||
Weight::from_parts(122_968_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6196))
|
||||
.saturating_add(T::DbWeight::get().reads(9))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
@@ -170,8 +148,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `496`
|
||||
// Estimated: `6208`
|
||||
// Minimum execution time: 137_983_000 picoseconds.
|
||||
Weight::from_parts(141_396_000, 0)
|
||||
// Minimum execution time: 143_116_000 picoseconds.
|
||||
Weight::from_parts(147_355_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6208))
|
||||
.saturating_add(T::DbWeight::get().reads(12))
|
||||
.saturating_add(T::DbWeight::get().writes(7))
|
||||
@@ -186,24 +164,14 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
Weight::from_parts(18_446_744_073_709_551_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `Benchmark::Override` (r:0 w:0)
|
||||
/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn execute_blob() -> 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)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1)
|
||||
/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_xcm_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 6_232_000 picoseconds.
|
||||
Weight::from_parts(6_507_000, 0)
|
||||
// Minimum execution time: 6_517_000 picoseconds.
|
||||
Weight::from_parts(6_756_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -213,8 +181,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_884_000 picoseconds.
|
||||
Weight::from_parts(2_016_000, 0)
|
||||
// Minimum execution time: 1_894_000 picoseconds.
|
||||
Weight::from_parts(2_024_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -240,8 +208,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `145`
|
||||
// Estimated: `3610`
|
||||
// Minimum execution time: 26_637_000 picoseconds.
|
||||
Weight::from_parts(27_616_000, 0)
|
||||
// Minimum execution time: 27_314_000 picoseconds.
|
||||
Weight::from_parts(28_787_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3610))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
@@ -266,8 +234,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `363`
|
||||
// Estimated: `3828`
|
||||
// Minimum execution time: 28_668_000 picoseconds.
|
||||
Weight::from_parts(29_413_000, 0)
|
||||
// Minimum execution time: 29_840_000 picoseconds.
|
||||
Weight::from_parts(30_589_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3828))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -278,8 +246,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_990_000 picoseconds.
|
||||
Weight::from_parts(2_114_000, 0)
|
||||
// Minimum execution time: 1_893_000 picoseconds.
|
||||
Weight::from_parts(2_017_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -289,8 +257,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `159`
|
||||
// Estimated: `13524`
|
||||
// Minimum execution time: 18_856_000 picoseconds.
|
||||
Weight::from_parts(19_430_000, 0)
|
||||
// Minimum execution time: 19_211_000 picoseconds.
|
||||
Weight::from_parts(19_552_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13524))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -301,8 +269,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `163`
|
||||
// Estimated: `13528`
|
||||
// Minimum execution time: 19_068_000 picoseconds.
|
||||
Weight::from_parts(19_434_000, 0)
|
||||
// Minimum execution time: 19_177_000 picoseconds.
|
||||
Weight::from_parts(19_704_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13528))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -313,8 +281,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `173`
|
||||
// Estimated: `16013`
|
||||
// Minimum execution time: 21_055_000 picoseconds.
|
||||
Weight::from_parts(21_379_000, 0)
|
||||
// Minimum execution time: 20_449_000 picoseconds.
|
||||
Weight::from_parts(21_075_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 16013))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
}
|
||||
@@ -336,8 +304,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `212`
|
||||
// Estimated: `6152`
|
||||
// Minimum execution time: 25_736_000 picoseconds.
|
||||
Weight::from_parts(26_423_000, 0)
|
||||
// Minimum execution time: 26_578_000 picoseconds.
|
||||
Weight::from_parts(27_545_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6152))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -348,8 +316,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `206`
|
||||
// Estimated: `11096`
|
||||
// Minimum execution time: 11_853_000 picoseconds.
|
||||
Weight::from_parts(12_215_000, 0)
|
||||
// Minimum execution time: 11_646_000 picoseconds.
|
||||
Weight::from_parts(11_944_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11096))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
}
|
||||
@@ -359,8 +327,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `170`
|
||||
// Estimated: `13535`
|
||||
// Minimum execution time: 19_418_000 picoseconds.
|
||||
Weight::from_parts(19_794_000, 0)
|
||||
// Minimum execution time: 19_301_000 picoseconds.
|
||||
Weight::from_parts(19_664_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13535))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -383,8 +351,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `212`
|
||||
// Estimated: `13577`
|
||||
// Minimum execution time: 34_719_000 picoseconds.
|
||||
Weight::from_parts(35_260_000, 0)
|
||||
// Minimum execution time: 35_715_000 picoseconds.
|
||||
Weight::from_parts(36_915_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13577))
|
||||
.saturating_add(T::DbWeight::get().reads(11))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -397,8 +365,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `103`
|
||||
// Estimated: `1588`
|
||||
// Minimum execution time: 4_937_000 picoseconds.
|
||||
Weight::from_parts(5_203_000, 0)
|
||||
// Minimum execution time: 4_871_000 picoseconds.
|
||||
Weight::from_parts(5_066_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1588))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -409,8 +377,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7740`
|
||||
// Estimated: `11205`
|
||||
// Minimum execution time: 26_064_000 picoseconds.
|
||||
Weight::from_parts(26_497_000, 0)
|
||||
// Minimum execution time: 25_150_000 picoseconds.
|
||||
Weight::from_parts(26_119_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11205))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
@@ -421,8 +389,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `160`
|
||||
// Estimated: `3625`
|
||||
// Minimum execution time: 37_132_000 picoseconds.
|
||||
Weight::from_parts(37_868_000, 0)
|
||||
// Minimum execution time: 38_248_000 picoseconds.
|
||||
Weight::from_parts(39_122_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3625))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
|
||||
@@ -70,28 +70,6 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `ParachainSystem::UpwardDeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `ParachainSystem::UpwardDeliveryFeeFactor` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// 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::HostConfiguration` (r:1 w:0)
|
||||
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
|
||||
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn send_blob() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `145`
|
||||
// Estimated: `3610`
|
||||
// Minimum execution time: 21_164_000 picoseconds.
|
||||
Weight::from_parts(21_656_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3610))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
|
||||
/// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
|
||||
/// Storage: `ParachainSystem::UpwardDeliveryFeeFactor` (r:1 w:0)
|
||||
@@ -184,14 +162,6 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
Weight::from_parts(7_791_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
fn execute_blob() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 7_585_000 picoseconds.
|
||||
Weight::from_parts(7_897_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1)
|
||||
/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_xcm_version() -> Weight {
|
||||
|
||||
+38
-70
@@ -17,9 +17,9 @@
|
||||
//! Autogenerated weights for `pallet_xcm`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2024-03-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! DATE: 2024-02-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `runner-h2rr8wx7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("bridge-hub-rococo-dev")`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
@@ -64,30 +64,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `38`
|
||||
// Estimated: `3503`
|
||||
// Minimum execution time: 18_732_000 picoseconds.
|
||||
Weight::from_parts(19_386_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3503))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `ParachainSystem::UpwardDeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `ParachainSystem::UpwardDeliveryFeeFactor` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// 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::HostConfiguration` (r:1 w:0)
|
||||
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
|
||||
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn send_blob() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `38`
|
||||
// Estimated: `3503`
|
||||
// Minimum execution time: 18_943_000 picoseconds.
|
||||
Weight::from_parts(19_455_000, 0)
|
||||
// Minimum execution time: 18_513_000 picoseconds.
|
||||
Weight::from_parts(19_156_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3503))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -112,8 +90,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `70`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 88_917_000 picoseconds.
|
||||
Weight::from_parts(91_611_000, 0)
|
||||
// Minimum execution time: 88_096_000 picoseconds.
|
||||
Weight::from_parts(89_732_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -148,8 +126,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `70`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 88_587_000 picoseconds.
|
||||
Weight::from_parts(90_303_000, 0)
|
||||
// Minimum execution time: 88_239_000 picoseconds.
|
||||
Weight::from_parts(89_729_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -164,24 +142,14 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
Weight::from_parts(18_446_744_073_709_551_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `Benchmark::Override` (r:0 w:0)
|
||||
/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn execute_blob() -> 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)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1)
|
||||
/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_xcm_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 5_856_000 picoseconds.
|
||||
Weight::from_parts(6_202_000, 0)
|
||||
// Minimum execution time: 5_955_000 picoseconds.
|
||||
Weight::from_parts(6_266_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -191,8 +159,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_797_000 picoseconds.
|
||||
Weight::from_parts(1_970_000, 0)
|
||||
// Minimum execution time: 1_868_000 picoseconds.
|
||||
Weight::from_parts(1_961_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -218,8 +186,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `38`
|
||||
// Estimated: `3503`
|
||||
// Minimum execution time: 24_479_000 picoseconds.
|
||||
Weight::from_parts(25_058_000, 0)
|
||||
// Minimum execution time: 24_388_000 picoseconds.
|
||||
Weight::from_parts(25_072_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3503))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
@@ -244,8 +212,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `255`
|
||||
// Estimated: `3720`
|
||||
// Minimum execution time: 27_282_000 picoseconds.
|
||||
Weight::from_parts(27_924_000, 0)
|
||||
// Minimum execution time: 26_762_000 picoseconds.
|
||||
Weight::from_parts(27_631_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3720))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -256,8 +224,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_801_000 picoseconds.
|
||||
Weight::from_parts(1_988_000, 0)
|
||||
// Minimum execution time: 1_856_000 picoseconds.
|
||||
Weight::from_parts(2_033_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -267,8 +235,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `89`
|
||||
// Estimated: `13454`
|
||||
// Minimum execution time: 16_509_000 picoseconds.
|
||||
Weight::from_parts(16_939_000, 0)
|
||||
// Minimum execution time: 17_718_000 picoseconds.
|
||||
Weight::from_parts(18_208_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13454))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -279,8 +247,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `93`
|
||||
// Estimated: `13458`
|
||||
// Minimum execution time: 16_140_000 picoseconds.
|
||||
Weight::from_parts(16_843_000, 0)
|
||||
// Minimum execution time: 17_597_000 picoseconds.
|
||||
Weight::from_parts(18_090_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13458))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -291,8 +259,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `15946`
|
||||
// Minimum execution time: 18_160_000 picoseconds.
|
||||
Weight::from_parts(18_948_000, 0)
|
||||
// Minimum execution time: 19_533_000 picoseconds.
|
||||
Weight::from_parts(20_164_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 15946))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
}
|
||||
@@ -314,8 +282,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `6046`
|
||||
// Minimum execution time: 24_409_000 picoseconds.
|
||||
Weight::from_parts(25_261_000, 0)
|
||||
// Minimum execution time: 24_958_000 picoseconds.
|
||||
Weight::from_parts(25_628_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6046))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -326,8 +294,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `136`
|
||||
// Estimated: `11026`
|
||||
// Minimum execution time: 10_848_000 picoseconds.
|
||||
Weight::from_parts(11_241_000, 0)
|
||||
// Minimum execution time: 12_209_000 picoseconds.
|
||||
Weight::from_parts(12_612_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11026))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
}
|
||||
@@ -337,8 +305,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `100`
|
||||
// Estimated: `13465`
|
||||
// Minimum execution time: 16_609_000 picoseconds.
|
||||
Weight::from_parts(17_044_000, 0)
|
||||
// Minimum execution time: 17_844_000 picoseconds.
|
||||
Weight::from_parts(18_266_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13465))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -361,8 +329,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `13471`
|
||||
// Minimum execution time: 32_500_000 picoseconds.
|
||||
Weight::from_parts(33_475_000, 0)
|
||||
// Minimum execution time: 34_131_000 picoseconds.
|
||||
Weight::from_parts(34_766_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13471))
|
||||
.saturating_add(T::DbWeight::get().reads(11))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -375,8 +343,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `32`
|
||||
// Estimated: `1517`
|
||||
// Minimum execution time: 3_484_000 picoseconds.
|
||||
Weight::from_parts(3_673_000, 0)
|
||||
// Minimum execution time: 3_525_000 picoseconds.
|
||||
Weight::from_parts(3_724_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1517))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -387,8 +355,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7669`
|
||||
// Estimated: `11134`
|
||||
// Minimum execution time: 25_225_000 picoseconds.
|
||||
Weight::from_parts(25_731_000, 0)
|
||||
// Minimum execution time: 24_975_000 picoseconds.
|
||||
Weight::from_parts(25_517_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11134))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
@@ -399,8 +367,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `90`
|
||||
// Estimated: `3555`
|
||||
// Minimum execution time: 33_961_000 picoseconds.
|
||||
Weight::from_parts(34_818_000, 0)
|
||||
// Minimum execution time: 33_761_000 picoseconds.
|
||||
Weight::from_parts(34_674_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3555))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
|
||||
+38
-70
@@ -17,9 +17,9 @@
|
||||
//! Autogenerated weights for `pallet_xcm`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2024-03-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! DATE: 2024-02-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `runner-h2rr8wx7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("bridge-hub-westend-dev")`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
@@ -64,30 +64,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `38`
|
||||
// Estimated: `3503`
|
||||
// Minimum execution time: 19_702_000 picoseconds.
|
||||
Weight::from_parts(20_410_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3503))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `ParachainSystem::UpwardDeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `ParachainSystem::UpwardDeliveryFeeFactor` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// 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::HostConfiguration` (r:1 w:0)
|
||||
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
|
||||
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn send_blob() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `38`
|
||||
// Estimated: `3503`
|
||||
// Minimum execution time: 19_525_000 picoseconds.
|
||||
Weight::from_parts(20_071_000, 0)
|
||||
// Minimum execution time: 19_527_000 picoseconds.
|
||||
Weight::from_parts(19_839_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3503))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -112,8 +90,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `107`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 91_793_000 picoseconds.
|
||||
Weight::from_parts(93_761_000, 0)
|
||||
// Minimum execution time: 90_938_000 picoseconds.
|
||||
Weight::from_parts(92_822_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -148,8 +126,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `107`
|
||||
// Estimated: `3593`
|
||||
// Minimum execution time: 91_819_000 picoseconds.
|
||||
Weight::from_parts(93_198_000, 0)
|
||||
// Minimum execution time: 90_133_000 picoseconds.
|
||||
Weight::from_parts(92_308_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3593))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -164,24 +142,14 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
Weight::from_parts(18_446_744_073_709_551_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `Benchmark::Override` (r:0 w:0)
|
||||
/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn execute_blob() -> 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)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1)
|
||||
/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_xcm_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 6_183_000 picoseconds.
|
||||
Weight::from_parts(6_598_000, 0)
|
||||
// Minimum execution time: 6_205_000 picoseconds.
|
||||
Weight::from_parts(6_595_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -191,8 +159,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_987_000 picoseconds.
|
||||
Weight::from_parts(2_076_000, 0)
|
||||
// Minimum execution time: 1_927_000 picoseconds.
|
||||
Weight::from_parts(2_062_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -218,8 +186,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `38`
|
||||
// Estimated: `3503`
|
||||
// Minimum execution time: 25_375_000 picoseconds.
|
||||
Weight::from_parts(26_165_000, 0)
|
||||
// Minimum execution time: 25_078_000 picoseconds.
|
||||
Weight::from_parts(25_782_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3503))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
@@ -244,8 +212,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `255`
|
||||
// Estimated: `3720`
|
||||
// Minimum execution time: 28_167_000 picoseconds.
|
||||
Weight::from_parts(28_792_000, 0)
|
||||
// Minimum execution time: 28_188_000 picoseconds.
|
||||
Weight::from_parts(28_826_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3720))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -256,8 +224,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_039_000 picoseconds.
|
||||
Weight::from_parts(2_211_000, 0)
|
||||
// Minimum execution time: 1_886_000 picoseconds.
|
||||
Weight::from_parts(1_991_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -267,8 +235,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `89`
|
||||
// Estimated: `13454`
|
||||
// Minimum execution time: 17_127_000 picoseconds.
|
||||
Weight::from_parts(17_519_000, 0)
|
||||
// Minimum execution time: 17_443_000 picoseconds.
|
||||
Weight::from_parts(17_964_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13454))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -279,8 +247,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `93`
|
||||
// Estimated: `13458`
|
||||
// Minimum execution time: 16_701_000 picoseconds.
|
||||
Weight::from_parts(17_250_000, 0)
|
||||
// Minimum execution time: 17_357_000 picoseconds.
|
||||
Weight::from_parts(18_006_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13458))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -291,8 +259,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `15946`
|
||||
// Minimum execution time: 18_795_000 picoseconds.
|
||||
Weight::from_parts(19_302_000, 0)
|
||||
// Minimum execution time: 18_838_000 picoseconds.
|
||||
Weight::from_parts(19_688_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 15946))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
}
|
||||
@@ -314,8 +282,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `6046`
|
||||
// Minimum execution time: 25_007_000 picoseconds.
|
||||
Weight::from_parts(25_786_000, 0)
|
||||
// Minimum execution time: 25_517_000 picoseconds.
|
||||
Weight::from_parts(26_131_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6046))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -326,8 +294,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `136`
|
||||
// Estimated: `11026`
|
||||
// Minimum execution time: 11_534_000 picoseconds.
|
||||
Weight::from_parts(11_798_000, 0)
|
||||
// Minimum execution time: 11_587_000 picoseconds.
|
||||
Weight::from_parts(11_963_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11026))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
}
|
||||
@@ -337,8 +305,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `100`
|
||||
// Estimated: `13465`
|
||||
// Minimum execution time: 17_357_000 picoseconds.
|
||||
Weight::from_parts(17_629_000, 0)
|
||||
// Minimum execution time: 17_490_000 picoseconds.
|
||||
Weight::from_parts(18_160_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13465))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -361,8 +329,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `13471`
|
||||
// Minimum execution time: 33_487_000 picoseconds.
|
||||
Weight::from_parts(34_033_000, 0)
|
||||
// Minimum execution time: 34_088_000 picoseconds.
|
||||
Weight::from_parts(34_598_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13471))
|
||||
.saturating_add(T::DbWeight::get().reads(11))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -375,8 +343,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `32`
|
||||
// Estimated: `1517`
|
||||
// Minimum execution time: 3_688_000 picoseconds.
|
||||
Weight::from_parts(3_854_000, 0)
|
||||
// Minimum execution time: 3_566_000 picoseconds.
|
||||
Weight::from_parts(3_754_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1517))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -387,8 +355,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7669`
|
||||
// Estimated: `11134`
|
||||
// Minimum execution time: 26_336_000 picoseconds.
|
||||
Weight::from_parts(26_873_000, 0)
|
||||
// Minimum execution time: 25_078_000 picoseconds.
|
||||
Weight::from_parts(25_477_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11134))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
@@ -399,8 +367,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `90`
|
||||
// Estimated: `3555`
|
||||
// Minimum execution time: 34_633_000 picoseconds.
|
||||
Weight::from_parts(35_171_000, 0)
|
||||
// Minimum execution time: 34_661_000 picoseconds.
|
||||
Weight::from_parts(35_411_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3555))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
|
||||
+37
-69
@@ -17,9 +17,9 @@
|
||||
//! Autogenerated weights for `pallet_xcm`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2024-03-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! DATE: 2024-02-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `runner-h2rr8wx7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("collectives-westend-dev")`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
@@ -64,30 +64,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `145`
|
||||
// Estimated: `3610`
|
||||
// Minimum execution time: 21_911_000 picoseconds.
|
||||
Weight::from_parts(22_431_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3610))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `ParachainSystem::UpwardDeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `ParachainSystem::UpwardDeliveryFeeFactor` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// 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::HostConfiguration` (r:1 w:0)
|
||||
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
|
||||
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn send_blob() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `145`
|
||||
// Estimated: `3610`
|
||||
// Minimum execution time: 22_143_000 picoseconds.
|
||||
Weight::from_parts(22_843_000, 0)
|
||||
// Minimum execution time: 21_813_000 picoseconds.
|
||||
Weight::from_parts(22_332_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3610))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -112,8 +90,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `214`
|
||||
// Estimated: `3679`
|
||||
// Minimum execution time: 96_273_000 picoseconds.
|
||||
Weight::from_parts(98_351_000, 0)
|
||||
// Minimum execution time: 93_243_000 picoseconds.
|
||||
Weight::from_parts(95_650_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3679))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -148,8 +126,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `214`
|
||||
// Estimated: `3679`
|
||||
// Minimum execution time: 95_571_000 picoseconds.
|
||||
Weight::from_parts(96_251_000, 0)
|
||||
// Minimum execution time: 96_199_000 picoseconds.
|
||||
Weight::from_parts(98_620_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3679))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -164,24 +142,14 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
Weight::from_parts(18_446_744_073_709_551_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `Benchmark::Override` (r:0 w:0)
|
||||
/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn execute_blob() -> 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)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1)
|
||||
/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_xcm_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 6_227_000 picoseconds.
|
||||
Weight::from_parts(6_419_000, 0)
|
||||
// Minimum execution time: 6_442_000 picoseconds.
|
||||
Weight::from_parts(6_682_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -191,8 +159,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_851_000 picoseconds.
|
||||
Weight::from_parts(1_940_000, 0)
|
||||
// Minimum execution time: 1_833_000 picoseconds.
|
||||
Weight::from_parts(1_973_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -218,8 +186,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `145`
|
||||
// Estimated: `3610`
|
||||
// Minimum execution time: 27_449_000 picoseconds.
|
||||
Weight::from_parts(28_513_000, 0)
|
||||
// Minimum execution time: 27_318_000 picoseconds.
|
||||
Weight::from_parts(28_224_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3610))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
@@ -244,8 +212,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `363`
|
||||
// Estimated: `3828`
|
||||
// Minimum execution time: 29_477_000 picoseconds.
|
||||
Weight::from_parts(30_251_000, 0)
|
||||
// Minimum execution time: 29_070_000 picoseconds.
|
||||
Weight::from_parts(30_205_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3828))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -256,8 +224,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_894_000 picoseconds.
|
||||
Weight::from_parts(2_009_000, 0)
|
||||
// Minimum execution time: 1_904_000 picoseconds.
|
||||
Weight::from_parts(2_033_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -267,8 +235,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `159`
|
||||
// Estimated: `13524`
|
||||
// Minimum execution time: 17_991_000 picoseconds.
|
||||
Weight::from_parts(18_651_000, 0)
|
||||
// Minimum execution time: 18_348_000 picoseconds.
|
||||
Weight::from_parts(18_853_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13524))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -279,8 +247,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `163`
|
||||
// Estimated: `13528`
|
||||
// Minimum execution time: 18_321_000 picoseconds.
|
||||
Weight::from_parts(18_701_000, 0)
|
||||
// Minimum execution time: 17_964_000 picoseconds.
|
||||
Weight::from_parts(18_548_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13528))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -291,8 +259,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `173`
|
||||
// Estimated: `16013`
|
||||
// Minimum execution time: 19_762_000 picoseconds.
|
||||
Weight::from_parts(20_529_000, 0)
|
||||
// Minimum execution time: 19_708_000 picoseconds.
|
||||
Weight::from_parts(20_157_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 16013))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
}
|
||||
@@ -314,8 +282,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `212`
|
||||
// Estimated: `6152`
|
||||
// Minimum execution time: 26_927_000 picoseconds.
|
||||
Weight::from_parts(27_629_000, 0)
|
||||
// Minimum execution time: 26_632_000 picoseconds.
|
||||
Weight::from_parts(27_314_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6152))
|
||||
.saturating_add(T::DbWeight::get().reads(8))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -326,8 +294,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `206`
|
||||
// Estimated: `11096`
|
||||
// Minimum execution time: 11_957_000 picoseconds.
|
||||
Weight::from_parts(12_119_000, 0)
|
||||
// Minimum execution time: 11_929_000 picoseconds.
|
||||
Weight::from_parts(12_304_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11096))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
}
|
||||
@@ -337,8 +305,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `170`
|
||||
// Estimated: `13535`
|
||||
// Minimum execution time: 17_942_000 picoseconds.
|
||||
Weight::from_parts(18_878_000, 0)
|
||||
// Minimum execution time: 18_599_000 picoseconds.
|
||||
Weight::from_parts(19_195_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13535))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -361,8 +329,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `212`
|
||||
// Estimated: `13577`
|
||||
// Minimum execution time: 35_640_000 picoseconds.
|
||||
Weight::from_parts(36_340_000, 0)
|
||||
// Minimum execution time: 35_524_000 picoseconds.
|
||||
Weight::from_parts(36_272_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13577))
|
||||
.saturating_add(T::DbWeight::get().reads(11))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -376,7 +344,7 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Measured: `103`
|
||||
// Estimated: `1588`
|
||||
// Minimum execution time: 4_044_000 picoseconds.
|
||||
Weight::from_parts(4_229_000, 0)
|
||||
Weight::from_parts(4_238_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1588))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -387,8 +355,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7740`
|
||||
// Estimated: `11205`
|
||||
// Minimum execution time: 26_262_000 picoseconds.
|
||||
Weight::from_parts(26_842_000, 0)
|
||||
// Minimum execution time: 25_741_000 picoseconds.
|
||||
Weight::from_parts(26_301_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11205))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
@@ -399,8 +367,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `160`
|
||||
// Estimated: `3625`
|
||||
// Minimum execution time: 36_775_000 picoseconds.
|
||||
Weight::from_parts(37_265_000, 0)
|
||||
// Minimum execution time: 35_925_000 picoseconds.
|
||||
Weight::from_parts(36_978_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3625))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
//! Autogenerated weights for `pallet_xcm`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2024-03-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! DATE: 2024-02-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `runner-h2rr8wx7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("coretime-rococo-dev")`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
@@ -62,28 +62,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `74`
|
||||
// Estimated: `3539`
|
||||
// Minimum execution time: 18_767_000 picoseconds.
|
||||
Weight::from_parts(19_420_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3539))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// 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::HostConfiguration` (r:1 w:0)
|
||||
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
|
||||
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn send_blob() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `74`
|
||||
// Estimated: `3539`
|
||||
// Minimum execution time: 19_184_000 picoseconds.
|
||||
Weight::from_parts(19_695_000, 0)
|
||||
// Minimum execution time: 35_051_000 picoseconds.
|
||||
Weight::from_parts(35_200_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3539))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -104,8 +84,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `3571`
|
||||
// Minimum execution time: 58_120_000 picoseconds.
|
||||
Weight::from_parts(59_533_000, 0)
|
||||
// Minimum execution time: 56_235_000 picoseconds.
|
||||
Weight::from_parts(58_178_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3571))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -140,24 +120,14 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
Weight::from_parts(18_446_744_073_709_551_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `Benchmark::Override` (r:0 w:0)
|
||||
/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn execute_blob() -> 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)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1)
|
||||
/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_xcm_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 6_074_000 picoseconds.
|
||||
Weight::from_parts(6_398_000, 0)
|
||||
// Minimum execution time: 6_226_000 picoseconds.
|
||||
Weight::from_parts(6_403_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -167,8 +137,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_036_000 picoseconds.
|
||||
Weight::from_parts(2_180_000, 0)
|
||||
// Minimum execution time: 2_020_000 picoseconds.
|
||||
Weight::from_parts(2_100_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -192,8 +162,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `74`
|
||||
// Estimated: `3539`
|
||||
// Minimum execution time: 25_014_000 picoseconds.
|
||||
Weight::from_parts(25_374_000, 0)
|
||||
// Minimum execution time: 24_387_000 picoseconds.
|
||||
Weight::from_parts(24_814_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3539))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
@@ -216,8 +186,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `292`
|
||||
// Estimated: `3757`
|
||||
// Minimum execution time: 27_616_000 picoseconds.
|
||||
Weight::from_parts(28_499_000, 0)
|
||||
// Minimum execution time: 27_039_000 picoseconds.
|
||||
Weight::from_parts(27_693_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3757))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -228,8 +198,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_061_000 picoseconds.
|
||||
Weight::from_parts(2_153_000, 0)
|
||||
// Minimum execution time: 1_920_000 picoseconds.
|
||||
Weight::from_parts(2_082_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -239,8 +209,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `89`
|
||||
// Estimated: `13454`
|
||||
// Minimum execution time: 16_592_000 picoseconds.
|
||||
Weight::from_parts(16_900_000, 0)
|
||||
// Minimum execution time: 17_141_000 picoseconds.
|
||||
Weight::from_parts(17_500_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13454))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -251,8 +221,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `93`
|
||||
// Estimated: `13458`
|
||||
// Minimum execution time: 16_694_000 picoseconds.
|
||||
Weight::from_parts(16_905_000, 0)
|
||||
// Minimum execution time: 17_074_000 picoseconds.
|
||||
Weight::from_parts(17_431_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13458))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -263,8 +233,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `15946`
|
||||
// Minimum execution time: 17_779_000 picoseconds.
|
||||
Weight::from_parts(18_490_000, 0)
|
||||
// Minimum execution time: 19_139_000 picoseconds.
|
||||
Weight::from_parts(19_474_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 15946))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
}
|
||||
@@ -284,8 +254,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `142`
|
||||
// Estimated: `6082`
|
||||
// Minimum execution time: 24_526_000 picoseconds.
|
||||
Weight::from_parts(25_182_000, 0)
|
||||
// Minimum execution time: 24_346_000 picoseconds.
|
||||
Weight::from_parts(25_318_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6082))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -296,8 +266,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `136`
|
||||
// Estimated: `11026`
|
||||
// Minimum execution time: 10_467_000 picoseconds.
|
||||
Weight::from_parts(10_934_000, 0)
|
||||
// Minimum execution time: 11_777_000 picoseconds.
|
||||
Weight::from_parts(12_051_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11026))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
}
|
||||
@@ -307,8 +277,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `100`
|
||||
// Estimated: `13465`
|
||||
// Minimum execution time: 16_377_000 picoseconds.
|
||||
Weight::from_parts(17_114_000, 0)
|
||||
// Minimum execution time: 17_538_000 picoseconds.
|
||||
Weight::from_parts(17_832_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13465))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -329,8 +299,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `142`
|
||||
// Estimated: `13507`
|
||||
// Minimum execution time: 32_575_000 picoseconds.
|
||||
Weight::from_parts(33_483_000, 0)
|
||||
// Minimum execution time: 33_623_000 picoseconds.
|
||||
Weight::from_parts(34_186_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13507))
|
||||
.saturating_add(T::DbWeight::get().reads(10))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -343,8 +313,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `32`
|
||||
// Estimated: `1517`
|
||||
// Minimum execution time: 3_604_000 picoseconds.
|
||||
Weight::from_parts(3_744_000, 0)
|
||||
// Minimum execution time: 3_363_000 picoseconds.
|
||||
Weight::from_parts(3_511_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1517))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -355,8 +325,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7669`
|
||||
// Estimated: `11134`
|
||||
// Minimum execution time: 23_983_000 picoseconds.
|
||||
Weight::from_parts(24_404_000, 0)
|
||||
// Minimum execution time: 23_969_000 picoseconds.
|
||||
Weight::from_parts(24_347_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11134))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
@@ -367,8 +337,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `90`
|
||||
// Estimated: `3555`
|
||||
// Minimum execution time: 34_446_000 picoseconds.
|
||||
Weight::from_parts(35_465_000, 0)
|
||||
// Minimum execution time: 34_071_000 picoseconds.
|
||||
Weight::from_parts(35_031_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3555))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
//! Autogenerated weights for `pallet_xcm`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2024-03-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! DATE: 2024-02-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `runner-h2rr8wx7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("coretime-westend-dev")`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
@@ -62,28 +62,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `74`
|
||||
// Estimated: `3539`
|
||||
// Minimum execution time: 17_681_000 picoseconds.
|
||||
Weight::from_parts(18_350_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3539))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// 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::HostConfiguration` (r:1 w:0)
|
||||
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
|
||||
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn send_blob() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `74`
|
||||
// Estimated: `3539`
|
||||
// Minimum execution time: 18_091_000 picoseconds.
|
||||
Weight::from_parts(18_327_000, 0)
|
||||
// Minimum execution time: 18_410_000 picoseconds.
|
||||
Weight::from_parts(18_657_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3539))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -104,8 +84,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `3571`
|
||||
// Minimum execution time: 54_943_000 picoseconds.
|
||||
Weight::from_parts(56_519_000, 0)
|
||||
// Minimum execution time: 56_616_000 picoseconds.
|
||||
Weight::from_parts(57_751_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3571))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -140,24 +120,14 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
Weight::from_parts(18_446_744_073_709_551_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `Benchmark::Override` (r:0 w:0)
|
||||
/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn execute_blob() -> 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)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1)
|
||||
/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_xcm_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 5_887_000 picoseconds.
|
||||
Weight::from_parts(6_101_000, 0)
|
||||
// Minimum execution time: 6_014_000 picoseconds.
|
||||
Weight::from_parts(6_412_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -167,8 +137,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_940_000 picoseconds.
|
||||
Weight::from_parts(2_022_000, 0)
|
||||
// Minimum execution time: 1_844_000 picoseconds.
|
||||
Weight::from_parts(1_957_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -192,8 +162,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `74`
|
||||
// Estimated: `3539`
|
||||
// Minimum execution time: 23_165_000 picoseconds.
|
||||
Weight::from_parts(23_800_000, 0)
|
||||
// Minimum execution time: 24_067_000 picoseconds.
|
||||
Weight::from_parts(24_553_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3539))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
@@ -216,8 +186,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `292`
|
||||
// Estimated: `3757`
|
||||
// Minimum execution time: 26_506_000 picoseconds.
|
||||
Weight::from_parts(27_180_000, 0)
|
||||
// Minimum execution time: 27_023_000 picoseconds.
|
||||
Weight::from_parts(27_620_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3757))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -228,8 +198,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_868_000 picoseconds.
|
||||
Weight::from_parts(2_002_000, 0)
|
||||
// Minimum execution time: 1_866_000 picoseconds.
|
||||
Weight::from_parts(1_984_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -239,8 +209,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `89`
|
||||
// Estimated: `13454`
|
||||
// Minimum execution time: 16_138_000 picoseconds.
|
||||
Weight::from_parts(16_447_000, 0)
|
||||
// Minimum execution time: 16_425_000 picoseconds.
|
||||
Weight::from_parts(16_680_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13454))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -251,8 +221,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `93`
|
||||
// Estimated: `13458`
|
||||
// Minimum execution time: 16_099_000 picoseconds.
|
||||
Weight::from_parts(16_592_000, 0)
|
||||
// Minimum execution time: 16_171_000 picoseconds.
|
||||
Weight::from_parts(16_564_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13458))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -263,8 +233,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `15946`
|
||||
// Minimum execution time: 17_972_000 picoseconds.
|
||||
Weight::from_parts(18_379_000, 0)
|
||||
// Minimum execution time: 17_785_000 picoseconds.
|
||||
Weight::from_parts(18_123_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 15946))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
}
|
||||
@@ -284,8 +254,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `142`
|
||||
// Estimated: `6082`
|
||||
// Minimum execution time: 23_554_000 picoseconds.
|
||||
Weight::from_parts(24_446_000, 0)
|
||||
// Minimum execution time: 23_903_000 picoseconds.
|
||||
Weight::from_parts(24_769_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6082))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -296,8 +266,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `136`
|
||||
// Estimated: `11026`
|
||||
// Minimum execution time: 10_541_000 picoseconds.
|
||||
Weight::from_parts(10_894_000, 0)
|
||||
// Minimum execution time: 10_617_000 picoseconds.
|
||||
Weight::from_parts(10_843_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11026))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
}
|
||||
@@ -307,8 +277,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `100`
|
||||
// Estimated: `13465`
|
||||
// Minimum execution time: 16_404_000 picoseconds.
|
||||
Weight::from_parts(16_818_000, 0)
|
||||
// Minimum execution time: 16_656_000 picoseconds.
|
||||
Weight::from_parts(17_106_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13465))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -329,8 +299,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `142`
|
||||
// Estimated: `13507`
|
||||
// Minimum execution time: 31_617_000 picoseconds.
|
||||
Weight::from_parts(32_336_000, 0)
|
||||
// Minimum execution time: 31_721_000 picoseconds.
|
||||
Weight::from_parts(32_547_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13507))
|
||||
.saturating_add(T::DbWeight::get().reads(10))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -343,8 +313,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `32`
|
||||
// Estimated: `1517`
|
||||
// Minimum execution time: 3_328_000 picoseconds.
|
||||
Weight::from_parts(3_501_000, 0)
|
||||
// Minimum execution time: 3_439_000 picoseconds.
|
||||
Weight::from_parts(3_619_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1517))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -355,8 +325,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7669`
|
||||
// Estimated: `11134`
|
||||
// Minimum execution time: 23_571_000 picoseconds.
|
||||
Weight::from_parts(24_312_000, 0)
|
||||
// Minimum execution time: 24_657_000 picoseconds.
|
||||
Weight::from_parts(24_971_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11134))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
@@ -367,8 +337,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `90`
|
||||
// Estimated: `3555`
|
||||
// Minimum execution time: 32_879_000 picoseconds.
|
||||
Weight::from_parts(33_385_000, 0)
|
||||
// Minimum execution time: 34_028_000 picoseconds.
|
||||
Weight::from_parts(34_697_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3555))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
//! Autogenerated weights for `pallet_xcm`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2024-03-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! DATE: 2024-02-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `runner-h2rr8wx7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("people-rococo-dev")`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
@@ -62,28 +62,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `38`
|
||||
// Estimated: `3503`
|
||||
// Minimum execution time: 17_935_000 picoseconds.
|
||||
Weight::from_parts(18_482_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3503))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// 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::HostConfiguration` (r:1 w:0)
|
||||
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
|
||||
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn send_blob() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `38`
|
||||
// Estimated: `3503`
|
||||
// Minimum execution time: 18_311_000 picoseconds.
|
||||
Weight::from_parts(18_850_000, 0)
|
||||
// Minimum execution time: 17_830_000 picoseconds.
|
||||
Weight::from_parts(18_411_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3503))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -104,8 +84,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `70`
|
||||
// Estimated: `3535`
|
||||
// Minimum execution time: 56_182_000 picoseconds.
|
||||
Weight::from_parts(58_136_000, 0)
|
||||
// Minimum execution time: 55_456_000 picoseconds.
|
||||
Weight::from_parts(56_808_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3535))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -140,24 +120,14 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
Weight::from_parts(18_446_744_073_709_551_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `Benchmark::Override` (r:0 w:0)
|
||||
/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn execute_blob() -> 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)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1)
|
||||
/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_xcm_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 5_979_000 picoseconds.
|
||||
Weight::from_parts(6_289_000, 0)
|
||||
// Minimum execution time: 5_996_000 picoseconds.
|
||||
Weight::from_parts(6_154_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -167,8 +137,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_853_000 picoseconds.
|
||||
Weight::from_parts(2_045_000, 0)
|
||||
// Minimum execution time: 1_768_000 picoseconds.
|
||||
Weight::from_parts(1_914_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -192,8 +162,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `38`
|
||||
// Estimated: `3503`
|
||||
// Minimum execution time: 23_827_000 picoseconds.
|
||||
Weight::from_parts(24_493_000, 0)
|
||||
// Minimum execution time: 24_120_000 picoseconds.
|
||||
Weight::from_parts(24_745_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3503))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
@@ -216,8 +186,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `255`
|
||||
// Estimated: `3720`
|
||||
// Minimum execution time: 26_755_000 picoseconds.
|
||||
Weight::from_parts(27_125_000, 0)
|
||||
// Minimum execution time: 26_630_000 picoseconds.
|
||||
Weight::from_parts(27_289_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3720))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -228,8 +198,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_898_000 picoseconds.
|
||||
Weight::from_parts(2_028_000, 0)
|
||||
// Minimum execution time: 1_821_000 picoseconds.
|
||||
Weight::from_parts(1_946_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -239,8 +209,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `89`
|
||||
// Estimated: `13454`
|
||||
// Minimum execution time: 16_300_000 picoseconds.
|
||||
Weight::from_parts(16_995_000, 0)
|
||||
// Minimum execution time: 16_586_000 picoseconds.
|
||||
Weight::from_parts(16_977_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13454))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -251,8 +221,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `93`
|
||||
// Estimated: `13458`
|
||||
// Minimum execution time: 16_495_000 picoseconds.
|
||||
Weight::from_parts(16_950_000, 0)
|
||||
// Minimum execution time: 16_923_000 picoseconds.
|
||||
Weight::from_parts(17_415_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13458))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -263,8 +233,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `15946`
|
||||
// Minimum execution time: 18_153_000 picoseconds.
|
||||
Weight::from_parts(18_595_000, 0)
|
||||
// Minimum execution time: 18_596_000 picoseconds.
|
||||
Weight::from_parts(18_823_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 15946))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
}
|
||||
@@ -284,8 +254,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `6046`
|
||||
// Minimum execution time: 23_387_000 picoseconds.
|
||||
Weight::from_parts(24_677_000, 0)
|
||||
// Minimum execution time: 23_817_000 picoseconds.
|
||||
Weight::from_parts(24_520_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6046))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -296,8 +266,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `136`
|
||||
// Estimated: `11026`
|
||||
// Minimum execution time: 10_939_000 picoseconds.
|
||||
Weight::from_parts(11_210_000, 0)
|
||||
// Minimum execution time: 11_042_000 picoseconds.
|
||||
Weight::from_parts(11_578_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11026))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
}
|
||||
@@ -307,8 +277,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `100`
|
||||
// Estimated: `13465`
|
||||
// Minimum execution time: 16_850_000 picoseconds.
|
||||
Weight::from_parts(17_195_000, 0)
|
||||
// Minimum execution time: 17_306_000 picoseconds.
|
||||
Weight::from_parts(17_817_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13465))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -329,8 +299,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `13471`
|
||||
// Minimum execution time: 31_931_000 picoseconds.
|
||||
Weight::from_parts(32_494_000, 0)
|
||||
// Minimum execution time: 32_141_000 picoseconds.
|
||||
Weight::from_parts(32_954_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13471))
|
||||
.saturating_add(T::DbWeight::get().reads(10))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -343,8 +313,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `32`
|
||||
// Estimated: `1517`
|
||||
// Minimum execution time: 3_514_000 picoseconds.
|
||||
Weight::from_parts(3_709_000, 0)
|
||||
// Minimum execution time: 3_410_000 picoseconds.
|
||||
Weight::from_parts(3_556_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1517))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -355,8 +325,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7669`
|
||||
// Estimated: `11134`
|
||||
// Minimum execution time: 24_863_000 picoseconds.
|
||||
Weight::from_parts(25_293_000, 0)
|
||||
// Minimum execution time: 25_021_000 picoseconds.
|
||||
Weight::from_parts(25_240_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11134))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
@@ -367,8 +337,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `90`
|
||||
// Estimated: `3555`
|
||||
// Minimum execution time: 33_799_000 picoseconds.
|
||||
Weight::from_parts(34_665_000, 0)
|
||||
// Minimum execution time: 33_801_000 picoseconds.
|
||||
Weight::from_parts(34_655_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3555))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
//! Autogenerated weights for `pallet_xcm`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2024-03-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! DATE: 2024-02-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `runner-h2rr8wx7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("people-westend-dev")`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
@@ -62,28 +62,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `38`
|
||||
// Estimated: `3503`
|
||||
// Minimum execution time: 17_450_000 picoseconds.
|
||||
Weight::from_parts(17_913_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3503))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// 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::HostConfiguration` (r:1 w:0)
|
||||
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
|
||||
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
||||
fn send_blob() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `38`
|
||||
// Estimated: `3503`
|
||||
// Minimum execution time: 18_082_000 picoseconds.
|
||||
Weight::from_parts(18_293_000, 0)
|
||||
// Minimum execution time: 17_856_000 picoseconds.
|
||||
Weight::from_parts(18_473_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3503))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -104,8 +84,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `70`
|
||||
// Estimated: `3535`
|
||||
// Minimum execution time: 54_939_000 picoseconds.
|
||||
Weight::from_parts(55_721_000, 0)
|
||||
// Minimum execution time: 56_112_000 picoseconds.
|
||||
Weight::from_parts(57_287_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3535))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -140,24 +120,14 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
Weight::from_parts(18_446_744_073_709_551_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `Benchmark::Override` (r:0 w:0)
|
||||
/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn execute_blob() -> 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)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1)
|
||||
/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_xcm_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 5_789_000 picoseconds.
|
||||
Weight::from_parts(5_995_000, 0)
|
||||
// Minimum execution time: 6_186_000 picoseconds.
|
||||
Weight::from_parts(6_420_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -167,8 +137,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_795_000 picoseconds.
|
||||
Weight::from_parts(1_924_000, 0)
|
||||
// Minimum execution time: 1_824_000 picoseconds.
|
||||
Weight::from_parts(1_999_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -192,8 +162,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `38`
|
||||
// Estimated: `3503`
|
||||
// Minimum execution time: 23_445_000 picoseconds.
|
||||
Weight::from_parts(23_906_000, 0)
|
||||
// Minimum execution time: 23_833_000 picoseconds.
|
||||
Weight::from_parts(24_636_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3503))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
@@ -216,8 +186,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `255`
|
||||
// Estimated: `3720`
|
||||
// Minimum execution time: 26_590_000 picoseconds.
|
||||
Weight::from_parts(27_056_000, 0)
|
||||
// Minimum execution time: 26_557_000 picoseconds.
|
||||
Weight::from_parts(27_275_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3720))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -228,8 +198,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_889_000 picoseconds.
|
||||
Weight::from_parts(1_962_000, 0)
|
||||
// Minimum execution time: 1_921_000 picoseconds.
|
||||
Weight::from_parts(2_040_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -239,8 +209,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `89`
|
||||
// Estimated: `13454`
|
||||
// Minimum execution time: 16_408_000 picoseconds.
|
||||
Weight::from_parts(16_877_000, 0)
|
||||
// Minimum execution time: 16_832_000 picoseconds.
|
||||
Weight::from_parts(17_312_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13454))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -251,8 +221,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `93`
|
||||
// Estimated: `13458`
|
||||
// Minimum execution time: 16_791_000 picoseconds.
|
||||
Weight::from_parts(17_111_000, 0)
|
||||
// Minimum execution time: 16_687_000 picoseconds.
|
||||
Weight::from_parts(17_123_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13458))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -263,8 +233,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `15946`
|
||||
// Minimum execution time: 18_355_000 picoseconds.
|
||||
Weight::from_parts(19_110_000, 0)
|
||||
// Minimum execution time: 18_164_000 picoseconds.
|
||||
Weight::from_parts(18_580_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 15946))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
}
|
||||
@@ -284,8 +254,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `6046`
|
||||
// Minimum execution time: 23_354_000 picoseconds.
|
||||
Weight::from_parts(23_999_000, 0)
|
||||
// Minimum execution time: 23_577_000 picoseconds.
|
||||
Weight::from_parts(24_324_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6046))
|
||||
.saturating_add(T::DbWeight::get().reads(7))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -296,8 +266,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `136`
|
||||
// Estimated: `11026`
|
||||
// Minimum execution time: 11_065_000 picoseconds.
|
||||
Weight::from_parts(11_302_000, 0)
|
||||
// Minimum execution time: 11_014_000 picoseconds.
|
||||
Weight::from_parts(11_223_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11026))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
}
|
||||
@@ -307,8 +277,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `100`
|
||||
// Estimated: `13465`
|
||||
// Minimum execution time: 16_998_000 picoseconds.
|
||||
Weight::from_parts(17_509_000, 0)
|
||||
// Minimum execution time: 16_887_000 picoseconds.
|
||||
Weight::from_parts(17_361_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13465))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -329,8 +299,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `106`
|
||||
// Estimated: `13471`
|
||||
// Minimum execution time: 31_068_000 picoseconds.
|
||||
Weight::from_parts(31_978_000, 0)
|
||||
// Minimum execution time: 31_705_000 picoseconds.
|
||||
Weight::from_parts(32_166_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13471))
|
||||
.saturating_add(T::DbWeight::get().reads(10))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -343,8 +313,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `32`
|
||||
// Estimated: `1517`
|
||||
// Minimum execution time: 3_478_000 picoseconds.
|
||||
Weight::from_parts(3_595_000, 0)
|
||||
// Minimum execution time: 3_568_000 picoseconds.
|
||||
Weight::from_parts(3_669_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1517))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -355,8 +325,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7669`
|
||||
// Estimated: `11134`
|
||||
// Minimum execution time: 24_962_000 picoseconds.
|
||||
Weight::from_parts(25_404_000, 0)
|
||||
// Minimum execution time: 24_823_000 picoseconds.
|
||||
Weight::from_parts(25_344_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11134))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
@@ -367,8 +337,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `90`
|
||||
// Estimated: `3555`
|
||||
// Minimum execution time: 32_685_000 picoseconds.
|
||||
Weight::from_parts(33_592_000, 0)
|
||||
// Minimum execution time: 34_516_000 picoseconds.
|
||||
Weight::from_parts(35_478_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3555))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
|
||||
@@ -167,16 +167,11 @@ where
|
||||
},
|
||||
]);
|
||||
|
||||
let encoded_versioned_xcm =
|
||||
VersionedXcm::V4(program).encode().try_into().map_err(|error| {
|
||||
log::error!(target: "runtime::on_reap_identity", "XCM too large, error: {:?}", error);
|
||||
pallet_xcm::Error::<Runtime>::XcmTooLarge
|
||||
})?;
|
||||
// send
|
||||
let _ = <pallet_xcm::Pallet<Runtime>>::send_blob(
|
||||
let _ = <pallet_xcm::Pallet<Runtime>>::send(
|
||||
RawOrigin::Root.into(),
|
||||
Box::new(VersionedLocation::V4(destination)),
|
||||
encoded_versioned_xcm,
|
||||
Box::new(VersionedXcm::V4(program)),
|
||||
)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
//! Autogenerated weights for `pallet_xcm`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2024-03-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! DATE: 2024-02-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `runner-h2rr8wx7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
@@ -60,26 +60,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `180`
|
||||
// Estimated: `3645`
|
||||
// Minimum execution time: 24_724_000 picoseconds.
|
||||
Weight::from_parts(25_615_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3645))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn send_blob() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `180`
|
||||
// Estimated: `3645`
|
||||
// Minimum execution time: 24_709_000 picoseconds.
|
||||
Weight::from_parts(25_326_000, 0)
|
||||
// Minimum execution time: 25_043_000 picoseconds.
|
||||
Weight::from_parts(25_682_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3645))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -98,8 +80,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `180`
|
||||
// Estimated: `3645`
|
||||
// Minimum execution time: 106_600_000 picoseconds.
|
||||
Weight::from_parts(110_781_000, 0)
|
||||
// Minimum execution time: 107_570_000 picoseconds.
|
||||
Weight::from_parts(109_878_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3645))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -118,8 +100,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `232`
|
||||
// Estimated: `3697`
|
||||
// Minimum execution time: 103_030_000 picoseconds.
|
||||
Weight::from_parts(106_018_000, 0)
|
||||
// Minimum execution time: 106_341_000 picoseconds.
|
||||
Weight::from_parts(109_135_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3697))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -138,8 +120,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `180`
|
||||
// Estimated: `3645`
|
||||
// Minimum execution time: 107_017_000 picoseconds.
|
||||
Weight::from_parts(109_214_000, 0)
|
||||
// Minimum execution time: 108_372_000 picoseconds.
|
||||
Weight::from_parts(112_890_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3645))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -148,16 +130,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 6_864_000 picoseconds.
|
||||
Weight::from_parts(7_135_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
fn execute_blob() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 6_955_000 picoseconds.
|
||||
Weight::from_parts(7_165_000, 0)
|
||||
// Minimum execution time: 6_957_000 picoseconds.
|
||||
Weight::from_parts(7_417_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:0 w:1)
|
||||
@@ -166,8 +140,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 6_827_000 picoseconds.
|
||||
Weight::from_parts(7_211_000, 0)
|
||||
// Minimum execution time: 7_053_000 picoseconds.
|
||||
Weight::from_parts(7_462_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -175,8 +149,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_788_000 picoseconds.
|
||||
Weight::from_parts(2_021_000, 0)
|
||||
// Minimum execution time: 1_918_000 picoseconds.
|
||||
Weight::from_parts(2_037_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `XcmPallet::VersionNotifiers` (r:1 w:1)
|
||||
@@ -197,8 +171,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `180`
|
||||
// Estimated: `3645`
|
||||
// Minimum execution time: 30_627_000 picoseconds.
|
||||
Weight::from_parts(31_350_000, 0)
|
||||
// Minimum execution time: 30_417_000 picoseconds.
|
||||
Weight::from_parts(31_191_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3645))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
@@ -219,8 +193,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `360`
|
||||
// Estimated: `3825`
|
||||
// Minimum execution time: 36_688_000 picoseconds.
|
||||
Weight::from_parts(37_345_000, 0)
|
||||
// Minimum execution time: 36_666_000 picoseconds.
|
||||
Weight::from_parts(37_779_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3825))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -231,8 +205,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_829_000 picoseconds.
|
||||
Weight::from_parts(1_986_000, 0)
|
||||
// Minimum execution time: 1_869_000 picoseconds.
|
||||
Weight::from_parts(2_003_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -242,8 +216,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `22`
|
||||
// Estimated: `13387`
|
||||
// Minimum execution time: 16_104_000 picoseconds.
|
||||
Weight::from_parts(16_464_000, 0)
|
||||
// Minimum execution time: 16_188_000 picoseconds.
|
||||
Weight::from_parts(16_435_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13387))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -254,8 +228,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `26`
|
||||
// Estimated: `13391`
|
||||
// Minimum execution time: 16_267_000 picoseconds.
|
||||
Weight::from_parts(16_675_000, 0)
|
||||
// Minimum execution time: 16_431_000 picoseconds.
|
||||
Weight::from_parts(16_935_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13391))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -266,8 +240,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `40`
|
||||
// Estimated: `15880`
|
||||
// Minimum execution time: 18_487_000 picoseconds.
|
||||
Weight::from_parts(19_102_000, 0)
|
||||
// Minimum execution time: 18_460_000 picoseconds.
|
||||
Weight::from_parts(18_885_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 15880))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
}
|
||||
@@ -285,8 +259,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `216`
|
||||
// Estimated: `6156`
|
||||
// Minimum execution time: 29_603_000 picoseconds.
|
||||
Weight::from_parts(31_002_000, 0)
|
||||
// Minimum execution time: 29_623_000 picoseconds.
|
||||
Weight::from_parts(30_661_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6156))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -297,8 +271,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `69`
|
||||
// Estimated: `10959`
|
||||
// Minimum execution time: 12_183_000 picoseconds.
|
||||
Weight::from_parts(12_587_000, 0)
|
||||
// Minimum execution time: 12_043_000 picoseconds.
|
||||
Weight::from_parts(12_360_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 10959))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
}
|
||||
@@ -308,8 +282,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `33`
|
||||
// Estimated: `13398`
|
||||
// Minimum execution time: 16_372_000 picoseconds.
|
||||
Weight::from_parts(16_967_000, 0)
|
||||
// Minimum execution time: 16_511_000 picoseconds.
|
||||
Weight::from_parts(17_011_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13398))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -328,8 +302,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `216`
|
||||
// Estimated: `13581`
|
||||
// Minimum execution time: 38_904_000 picoseconds.
|
||||
Weight::from_parts(39_983_000, 0)
|
||||
// Minimum execution time: 39_041_000 picoseconds.
|
||||
Weight::from_parts(39_883_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13581))
|
||||
.saturating_add(T::DbWeight::get().reads(9))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -342,8 +316,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `1485`
|
||||
// Minimum execution time: 2_067_000 picoseconds.
|
||||
Weight::from_parts(2_195_000, 0)
|
||||
// Minimum execution time: 2_030_000 picoseconds.
|
||||
Weight::from_parts(2_150_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1485))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -354,8 +328,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7576`
|
||||
// Estimated: `11041`
|
||||
// Minimum execution time: 23_982_000 picoseconds.
|
||||
Weight::from_parts(24_409_000, 0)
|
||||
// Minimum execution time: 22_615_000 picoseconds.
|
||||
Weight::from_parts(23_008_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11041))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
@@ -366,8 +340,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `23`
|
||||
// Estimated: `3488`
|
||||
// Minimum execution time: 33_430_000 picoseconds.
|
||||
Weight::from_parts(34_433_000, 0)
|
||||
// Minimum execution time: 34_438_000 picoseconds.
|
||||
Weight::from_parts(35_514_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3488))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
|
||||
@@ -167,16 +167,11 @@ where
|
||||
},
|
||||
]);
|
||||
|
||||
let encoded_versioned_xcm =
|
||||
VersionedXcm::V4(program).encode().try_into().map_err(|error| {
|
||||
log::error!(target: "runtime::on_reap_identity", "XCM too large, error: {:?}", error);
|
||||
pallet_xcm::Error::<Runtime>::XcmTooLarge
|
||||
})?;
|
||||
// send
|
||||
let _ = <pallet_xcm::Pallet<Runtime>>::send_blob(
|
||||
let _ = <pallet_xcm::Pallet<Runtime>>::send(
|
||||
RawOrigin::Root.into(),
|
||||
Box::new(VersionedLocation::V4(destination)),
|
||||
encoded_versioned_xcm,
|
||||
Box::new(VersionedXcm::V4(program)),
|
||||
)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
//! Autogenerated weights for `pallet_xcm`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
|
||||
//! DATE: 2024-03-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! DATE: 2024-02-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `runner-h2rr8wx7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("westend-dev")`, DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
@@ -60,26 +60,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `147`
|
||||
// Estimated: `3612`
|
||||
// Minimum execution time: 24_535_000 picoseconds.
|
||||
Weight::from_parts(25_618_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3612))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
}
|
||||
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
|
||||
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
|
||||
/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn send_blob() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `147`
|
||||
// Estimated: `3612`
|
||||
// Minimum execution time: 25_376_000 picoseconds.
|
||||
Weight::from_parts(26_180_000, 0)
|
||||
// Minimum execution time: 25_725_000 picoseconds.
|
||||
Weight::from_parts(26_174_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3612))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -98,8 +80,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `250`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 108_786_000 picoseconds.
|
||||
Weight::from_parts(112_208_000, 0)
|
||||
// Minimum execution time: 113_140_000 picoseconds.
|
||||
Weight::from_parts(116_204_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6196))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -118,8 +100,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `302`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 105_190_000 picoseconds.
|
||||
Weight::from_parts(107_140_000, 0)
|
||||
// Minimum execution time: 108_571_000 picoseconds.
|
||||
Weight::from_parts(110_650_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6196))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -138,8 +120,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `250`
|
||||
// Estimated: `6196`
|
||||
// Minimum execution time: 109_027_000 picoseconds.
|
||||
Weight::from_parts(111_404_000, 0)
|
||||
// Minimum execution time: 111_836_000 picoseconds.
|
||||
Weight::from_parts(114_435_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6196))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -154,24 +136,14 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
Weight::from_parts(18_446_744_073_709_551_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `Benchmark::Override` (r:0 w:0)
|
||||
/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn execute_blob() -> 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)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `XcmPallet::SupportedVersion` (r:0 w:1)
|
||||
/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
|
||||
fn force_xcm_version() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 6_668_000 picoseconds.
|
||||
Weight::from_parts(7_013_000, 0)
|
||||
// Minimum execution time: 7_160_000 picoseconds.
|
||||
Weight::from_parts(7_477_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -179,8 +151,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_740_000 picoseconds.
|
||||
Weight::from_parts(1_884_000, 0)
|
||||
// Minimum execution time: 1_934_000 picoseconds.
|
||||
Weight::from_parts(2_053_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
}
|
||||
/// Storage: `XcmPallet::VersionNotifiers` (r:1 w:1)
|
||||
@@ -201,8 +173,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `147`
|
||||
// Estimated: `3612`
|
||||
// Minimum execution time: 30_200_000 picoseconds.
|
||||
Weight::from_parts(30_768_000, 0)
|
||||
// Minimum execution time: 31_123_000 picoseconds.
|
||||
Weight::from_parts(31_798_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3612))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(5))
|
||||
@@ -223,8 +195,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `327`
|
||||
// Estimated: `3792`
|
||||
// Minimum execution time: 33_928_000 picoseconds.
|
||||
Weight::from_parts(35_551_000, 0)
|
||||
// Minimum execution time: 35_175_000 picoseconds.
|
||||
Weight::from_parts(36_098_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3792))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -235,8 +207,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 1_759_000 picoseconds.
|
||||
Weight::from_parts(1_880_000, 0)
|
||||
// Minimum execution time: 1_974_000 picoseconds.
|
||||
Weight::from_parts(2_096_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 0))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
@@ -246,8 +218,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `22`
|
||||
// Estimated: `13387`
|
||||
// Minimum execution time: 16_507_000 picoseconds.
|
||||
Weight::from_parts(17_219_000, 0)
|
||||
// Minimum execution time: 16_626_000 picoseconds.
|
||||
Weight::from_parts(17_170_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13387))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -258,8 +230,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `26`
|
||||
// Estimated: `13391`
|
||||
// Minimum execution time: 16_633_000 picoseconds.
|
||||
Weight::from_parts(16_889_000, 0)
|
||||
// Minimum execution time: 16_937_000 picoseconds.
|
||||
Weight::from_parts(17_447_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13391))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -270,8 +242,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `40`
|
||||
// Estimated: `15880`
|
||||
// Minimum execution time: 19_297_000 picoseconds.
|
||||
Weight::from_parts(19_820_000, 0)
|
||||
// Minimum execution time: 19_157_000 picoseconds.
|
||||
Weight::from_parts(19_659_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 15880))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
}
|
||||
@@ -289,8 +261,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `183`
|
||||
// Estimated: `6123`
|
||||
// Minimum execution time: 30_364_000 picoseconds.
|
||||
Weight::from_parts(31_122_000, 0)
|
||||
// Minimum execution time: 30_699_000 picoseconds.
|
||||
Weight::from_parts(31_537_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 6123))
|
||||
.saturating_add(T::DbWeight::get().reads(6))
|
||||
.saturating_add(T::DbWeight::get().writes(3))
|
||||
@@ -301,8 +273,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `69`
|
||||
// Estimated: `10959`
|
||||
// Minimum execution time: 11_997_000 picoseconds.
|
||||
Weight::from_parts(12_392_000, 0)
|
||||
// Minimum execution time: 12_303_000 picoseconds.
|
||||
Weight::from_parts(12_670_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 10959))
|
||||
.saturating_add(T::DbWeight::get().reads(4))
|
||||
}
|
||||
@@ -312,8 +284,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `33`
|
||||
// Estimated: `13398`
|
||||
// Minimum execution time: 16_894_000 picoseconds.
|
||||
Weight::from_parts(17_452_000, 0)
|
||||
// Minimum execution time: 17_129_000 picoseconds.
|
||||
Weight::from_parts(17_668_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13398))
|
||||
.saturating_add(T::DbWeight::get().reads(5))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -332,8 +304,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `183`
|
||||
// Estimated: `13548`
|
||||
// Minimum execution time: 39_864_000 picoseconds.
|
||||
Weight::from_parts(40_859_000, 0)
|
||||
// Minimum execution time: 39_960_000 picoseconds.
|
||||
Weight::from_parts(41_068_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 13548))
|
||||
.saturating_add(T::DbWeight::get().reads(9))
|
||||
.saturating_add(T::DbWeight::get().writes(4))
|
||||
@@ -346,8 +318,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `1485`
|
||||
// Minimum execution time: 2_363_000 picoseconds.
|
||||
Weight::from_parts(2_519_000, 0)
|
||||
// Minimum execution time: 2_333_000 picoseconds.
|
||||
Weight::from_parts(2_504_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1485))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(2))
|
||||
@@ -358,8 +330,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `7576`
|
||||
// Estimated: `11041`
|
||||
// Minimum execution time: 22_409_000 picoseconds.
|
||||
Weight::from_parts(22_776_000, 0)
|
||||
// Minimum execution time: 22_932_000 picoseconds.
|
||||
Weight::from_parts(23_307_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 11041))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
@@ -370,8 +342,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `23`
|
||||
// Estimated: `3488`
|
||||
// Minimum execution time: 33_551_000 picoseconds.
|
||||
Weight::from_parts(34_127_000, 0)
|
||||
// Minimum execution time: 34_558_000 picoseconds.
|
||||
Weight::from_parts(35_299_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3488))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
use super::*;
|
||||
use bounded_collections::{ConstU32, WeakBoundedVec};
|
||||
use codec::Encode;
|
||||
use frame_benchmarking::{benchmarks, whitelisted_caller, BenchmarkError, BenchmarkResult};
|
||||
use frame_support::{assert_ok, weights::Weight};
|
||||
use frame_system::RawOrigin;
|
||||
@@ -101,21 +100,6 @@ benchmarks! {
|
||||
let versioned_msg = VersionedXcm::from(msg);
|
||||
}: _<RuntimeOrigin<T>>(send_origin, Box::new(versioned_dest), Box::new(versioned_msg))
|
||||
|
||||
send_blob {
|
||||
let send_origin =
|
||||
T::SendXcmOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?;
|
||||
if T::SendXcmOrigin::try_origin(send_origin.clone()).is_err() {
|
||||
return Err(BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)))
|
||||
}
|
||||
let msg = Xcm::<()>(vec![ClearOrigin]);
|
||||
let versioned_dest: VersionedLocation = T::reachable_dest().ok_or(
|
||||
BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)),
|
||||
)?
|
||||
.into();
|
||||
let versioned_msg = VersionedXcm::from(msg);
|
||||
let encoded_versioned_msg = versioned_msg.encode().try_into().unwrap();
|
||||
}: _<RuntimeOrigin<T>>(send_origin, Box::new(versioned_dest), encoded_versioned_msg)
|
||||
|
||||
teleport_assets {
|
||||
let (asset, destination) = T::teleportable_asset_and_dest().ok_or(
|
||||
BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)),
|
||||
@@ -263,19 +247,6 @@ benchmarks! {
|
||||
let versioned_msg = VersionedXcm::from(msg);
|
||||
}: _<RuntimeOrigin<T>>(execute_origin, Box::new(versioned_msg), Weight::MAX)
|
||||
|
||||
execute_blob {
|
||||
let execute_origin =
|
||||
T::ExecuteXcmOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?;
|
||||
let origin_location = T::ExecuteXcmOrigin::try_origin(execute_origin.clone())
|
||||
.map_err(|_| BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)))?;
|
||||
let msg = Xcm(vec![ClearOrigin]);
|
||||
if !T::XcmExecuteFilter::contains(&(origin_location, msg.clone())) {
|
||||
return Err(BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)))
|
||||
}
|
||||
let versioned_msg = VersionedXcm::from(msg);
|
||||
let encoded_versioned_msg = versioned_msg.encode().try_into().unwrap();
|
||||
}: _<RuntimeOrigin<T>>(execute_origin, encoded_versioned_msg, Weight::MAX)
|
||||
|
||||
force_xcm_version {
|
||||
let loc = T::reachable_dest().ok_or(
|
||||
BenchmarkError::Override(BenchmarkResult::from_weight(Weight::MAX)),
|
||||
|
||||
@@ -50,8 +50,8 @@ use sp_runtime::{
|
||||
use sp_std::{boxed::Box, marker::PhantomData, prelude::*, result::Result, vec};
|
||||
use xcm::{latest::QueryResponseInfo, prelude::*};
|
||||
use xcm_builder::{
|
||||
ExecuteController, ExecuteControllerWeightInfo, MaxXcmEncodedSize, QueryController,
|
||||
QueryControllerWeightInfo, SendController, SendControllerWeightInfo,
|
||||
ExecuteController, ExecuteControllerWeightInfo, QueryController, QueryControllerWeightInfo,
|
||||
SendController, SendControllerWeightInfo,
|
||||
};
|
||||
use xcm_executor::{
|
||||
traits::{
|
||||
@@ -87,8 +87,6 @@ pub trait WeightInfo {
|
||||
fn new_query() -> Weight;
|
||||
fn take_response() -> Weight;
|
||||
fn claim_assets() -> Weight;
|
||||
fn execute_blob() -> Weight;
|
||||
fn send_blob() -> Weight;
|
||||
}
|
||||
|
||||
/// fallback implementation
|
||||
@@ -173,14 +171,6 @@ impl WeightInfo for TestWeightInfo {
|
||||
fn claim_assets() -> Weight {
|
||||
Weight::from_parts(100_000_000, 0)
|
||||
}
|
||||
|
||||
fn execute_blob() -> Weight {
|
||||
Weight::from_parts(100_000_000, 0)
|
||||
}
|
||||
|
||||
fn send_blob() -> Weight {
|
||||
Weight::from_parts(100_000_000, 0)
|
||||
}
|
||||
}
|
||||
|
||||
#[frame_support::pallet]
|
||||
@@ -296,49 +286,76 @@ pub mod pallet {
|
||||
}
|
||||
|
||||
impl<T: Config> ExecuteControllerWeightInfo for Pallet<T> {
|
||||
fn execute_blob() -> Weight {
|
||||
T::WeightInfo::execute_blob()
|
||||
fn execute() -> Weight {
|
||||
T::WeightInfo::execute()
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: Config> ExecuteController<OriginFor<T>, <T as Config>::RuntimeCall> for Pallet<T> {
|
||||
type WeightInfo = Self;
|
||||
fn execute_blob(
|
||||
fn execute(
|
||||
origin: OriginFor<T>,
|
||||
encoded_message: BoundedVec<u8, MaxXcmEncodedSize>,
|
||||
message: Box<VersionedXcm<<T as Config>::RuntimeCall>>,
|
||||
max_weight: Weight,
|
||||
) -> Result<Weight, DispatchErrorWithPostInfo> {
|
||||
let origin_location = T::ExecuteXcmOrigin::ensure_origin(origin)?;
|
||||
let message =
|
||||
VersionedXcm::<<T as Config>::RuntimeCall>::decode(&mut &encoded_message[..])
|
||||
.map_err(|error| {
|
||||
log::error!(target: "xcm::execute_blob", "Unable to decode XCM, error: {:?}", error);
|
||||
Error::<T>::UnableToDecode
|
||||
})?;
|
||||
Self::execute_base(origin_location, Box::new(message), max_weight)
|
||||
log::trace!(target: "xcm::pallet_xcm::execute", "message {:?}, max_weight {:?}", message, max_weight);
|
||||
let outcome = (|| {
|
||||
let origin_location = T::ExecuteXcmOrigin::ensure_origin(origin)?;
|
||||
let mut hash = message.using_encoded(sp_io::hashing::blake2_256);
|
||||
let message = (*message).try_into().map_err(|()| Error::<T>::BadVersion)?;
|
||||
let value = (origin_location, message);
|
||||
ensure!(T::XcmExecuteFilter::contains(&value), Error::<T>::Filtered);
|
||||
let (origin_location, message) = value;
|
||||
Ok(T::XcmExecutor::prepare_and_execute(
|
||||
origin_location,
|
||||
message,
|
||||
&mut hash,
|
||||
max_weight,
|
||||
max_weight,
|
||||
))
|
||||
})()
|
||||
.map_err(|e: DispatchError| {
|
||||
e.with_weight(<Self::WeightInfo as ExecuteControllerWeightInfo>::execute())
|
||||
})?;
|
||||
|
||||
Self::deposit_event(Event::Attempted { outcome: outcome.clone() });
|
||||
let weight_used = outcome.weight_used();
|
||||
outcome.ensure_complete().map_err(|error| {
|
||||
log::error!(target: "xcm::pallet_xcm::execute", "XCM execution failed with error {:?}", error);
|
||||
Error::<T>::LocalExecutionIncomplete.with_weight(
|
||||
weight_used.saturating_add(
|
||||
<Self::WeightInfo as ExecuteControllerWeightInfo>::execute(),
|
||||
),
|
||||
)
|
||||
})?;
|
||||
Ok(weight_used)
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: Config> SendControllerWeightInfo for Pallet<T> {
|
||||
fn send_blob() -> Weight {
|
||||
T::WeightInfo::send_blob()
|
||||
fn send() -> Weight {
|
||||
T::WeightInfo::send()
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: Config> SendController<OriginFor<T>> for Pallet<T> {
|
||||
type WeightInfo = Self;
|
||||
fn send_blob(
|
||||
fn send(
|
||||
origin: OriginFor<T>,
|
||||
dest: Box<VersionedLocation>,
|
||||
encoded_message: BoundedVec<u8, MaxXcmEncodedSize>,
|
||||
message: Box<VersionedXcm<()>>,
|
||||
) -> Result<XcmHash, DispatchError> {
|
||||
let origin_location = T::SendXcmOrigin::ensure_origin(origin)?;
|
||||
let message =
|
||||
VersionedXcm::<()>::decode(&mut &encoded_message[..]).map_err(|error| {
|
||||
log::error!(target: "xcm::send_blob", "Unable to decode XCM, error: {:?}", error);
|
||||
Error::<T>::UnableToDecode
|
||||
})?;
|
||||
Self::send_base(origin_location, dest, Box::new(message))
|
||||
let interior: Junctions =
|
||||
origin_location.clone().try_into().map_err(|_| Error::<T>::InvalidOrigin)?;
|
||||
let dest = Location::try_from(*dest).map_err(|()| Error::<T>::BadVersion)?;
|
||||
let message: Xcm<()> = (*message).try_into().map_err(|()| Error::<T>::BadVersion)?;
|
||||
|
||||
let message_id = Self::send_xcm(interior, dest.clone(), message.clone())
|
||||
.map_err(Error::<T>::from)?;
|
||||
let e = Event::Sent { origin: origin_location, destination: dest, message, message_id };
|
||||
Self::deposit_event(e);
|
||||
Ok(message_id)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -547,13 +564,6 @@ pub mod pallet {
|
||||
/// Local XCM execution incomplete.
|
||||
#[codec(index = 24)]
|
||||
LocalExecutionIncomplete,
|
||||
/// Could not decode XCM.
|
||||
#[codec(index = 25)]
|
||||
UnableToDecode,
|
||||
/// XCM encoded length is too large.
|
||||
/// Returned when an XCM encoded length is larger than `MaxXcmEncodedSize`.
|
||||
#[codec(index = 26)]
|
||||
XcmTooLarge,
|
||||
}
|
||||
|
||||
impl<T: Config> From<SendError> for Error<T> {
|
||||
@@ -890,72 +900,15 @@ pub mod pallet {
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: Config> Pallet<T> {
|
||||
/// Underlying logic for both [`execute_blob`] and [`execute`].
|
||||
fn execute_base(
|
||||
origin_location: Location,
|
||||
message: Box<VersionedXcm<<T as Config>::RuntimeCall>>,
|
||||
max_weight: Weight,
|
||||
) -> Result<Weight, DispatchErrorWithPostInfo> {
|
||||
log::trace!(target: "xcm::pallet_xcm::execute", "message {:?}, max_weight {:?}", message, max_weight);
|
||||
let outcome = (|| {
|
||||
let mut hash = message.using_encoded(sp_io::hashing::blake2_256);
|
||||
let message = (*message).try_into().map_err(|()| Error::<T>::BadVersion)?;
|
||||
let value = (origin_location, message);
|
||||
ensure!(T::XcmExecuteFilter::contains(&value), Error::<T>::Filtered);
|
||||
let (origin_location, message) = value;
|
||||
Ok(T::XcmExecutor::prepare_and_execute(
|
||||
origin_location,
|
||||
message,
|
||||
&mut hash,
|
||||
max_weight,
|
||||
max_weight,
|
||||
))
|
||||
})()
|
||||
.map_err(|e: DispatchError| e.with_weight(T::WeightInfo::execute()))?;
|
||||
|
||||
Self::deposit_event(Event::Attempted { outcome: outcome.clone() });
|
||||
let weight_used = outcome.weight_used();
|
||||
outcome.ensure_complete().map_err(|error| {
|
||||
log::error!(target: "xcm::pallet_xcm::execute", "XCM execution failed with error {:?}", error);
|
||||
Error::<T>::LocalExecutionIncomplete
|
||||
.with_weight(weight_used.saturating_add(T::WeightInfo::execute()))
|
||||
})?;
|
||||
Ok(weight_used)
|
||||
}
|
||||
|
||||
/// Underlying logic for both [`send_blob`] and [`send`].
|
||||
fn send_base(
|
||||
origin_location: Location,
|
||||
dest: Box<VersionedLocation>,
|
||||
message: Box<VersionedXcm<()>>,
|
||||
) -> Result<XcmHash, DispatchError> {
|
||||
let interior: Junctions =
|
||||
origin_location.clone().try_into().map_err(|_| Error::<T>::InvalidOrigin)?;
|
||||
let dest = Location::try_from(*dest).map_err(|()| Error::<T>::BadVersion)?;
|
||||
let message: Xcm<()> = (*message).try_into().map_err(|()| Error::<T>::BadVersion)?;
|
||||
|
||||
let message_id = Self::send_xcm(interior, dest.clone(), message.clone())
|
||||
.map_err(Error::<T>::from)?;
|
||||
let e = Event::Sent { origin: origin_location, destination: dest, message, message_id };
|
||||
Self::deposit_event(e);
|
||||
Ok(message_id)
|
||||
}
|
||||
}
|
||||
|
||||
#[pallet::call(weight(<T as Config>::WeightInfo))]
|
||||
impl<T: Config> Pallet<T> {
|
||||
/// WARNING: DEPRECATED. `send` will be removed after June 2024. Use `send_blob` instead.
|
||||
#[allow(deprecated)]
|
||||
#[deprecated(note = "`send` will be removed after June 2024. Use `send_blob` instead.")]
|
||||
#[pallet::call_index(0)]
|
||||
pub fn send(
|
||||
origin: OriginFor<T>,
|
||||
dest: Box<VersionedLocation>,
|
||||
message: Box<VersionedXcm<()>>,
|
||||
) -> DispatchResult {
|
||||
let origin_location = T::SendXcmOrigin::ensure_origin(origin)?;
|
||||
Self::send_base(origin_location, dest, message)?;
|
||||
<Self as SendController<_>>::send(origin, dest, message)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -1052,13 +1005,6 @@ pub mod pallet {
|
||||
/// No more than `max_weight` will be used in its attempted execution. If this is less than
|
||||
/// the maximum amount of weight that the message could take to be executed, then no
|
||||
/// execution attempt will be made.
|
||||
///
|
||||
/// WARNING: DEPRECATED. `execute` will be removed after June 2024. Use `execute_blob`
|
||||
/// instead.
|
||||
#[allow(deprecated)]
|
||||
#[deprecated(
|
||||
note = "`execute` will be removed after June 2024. Use `execute_blob` instead."
|
||||
)]
|
||||
#[pallet::call_index(3)]
|
||||
#[pallet::weight(max_weight.saturating_add(T::WeightInfo::execute()))]
|
||||
pub fn execute(
|
||||
@@ -1066,8 +1012,8 @@ pub mod pallet {
|
||||
message: Box<VersionedXcm<<T as Config>::RuntimeCall>>,
|
||||
max_weight: Weight,
|
||||
) -> DispatchResultWithPostInfo {
|
||||
let origin_location = T::ExecuteXcmOrigin::ensure_origin(origin)?;
|
||||
let weight_used = Self::execute_base(origin_location, message, max_weight)?;
|
||||
let weight_used =
|
||||
<Self as ExecuteController<_, _>>::execute(origin, message, max_weight)?;
|
||||
Ok(Some(weight_used.saturating_add(T::WeightInfo::execute())).into())
|
||||
}
|
||||
|
||||
@@ -1362,47 +1308,6 @@ pub mod pallet {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Execute an XCM from a local, signed, origin.
|
||||
///
|
||||
/// An event is deposited indicating whether the message could be executed completely
|
||||
/// or only partially.
|
||||
///
|
||||
/// No more than `max_weight` will be used in its attempted execution. If this is less than
|
||||
/// the maximum amount of weight that the message could take to be executed, then no
|
||||
/// execution attempt will be made.
|
||||
///
|
||||
/// The message is passed in encoded. It needs to be decodable as a [`VersionedXcm`].
|
||||
#[pallet::call_index(13)]
|
||||
#[pallet::weight(max_weight.saturating_add(T::WeightInfo::execute_blob()))]
|
||||
pub fn execute_blob(
|
||||
origin: OriginFor<T>,
|
||||
encoded_message: BoundedVec<u8, MaxXcmEncodedSize>,
|
||||
max_weight: Weight,
|
||||
) -> DispatchResultWithPostInfo {
|
||||
let weight_used = <Self as ExecuteController<_, _>>::execute_blob(
|
||||
origin,
|
||||
encoded_message,
|
||||
max_weight,
|
||||
)?;
|
||||
Ok(Some(weight_used.saturating_add(T::WeightInfo::execute_blob())).into())
|
||||
}
|
||||
|
||||
/// Send an XCM from a local, signed, origin.
|
||||
///
|
||||
/// The destination, `dest`, will receive this message with a `DescendOrigin` instruction
|
||||
/// that makes the origin of the message be the origin on this system.
|
||||
///
|
||||
/// The message is passed in encoded. It needs to be decodable as a [`VersionedXcm`].
|
||||
#[pallet::call_index(14)]
|
||||
pub fn send_blob(
|
||||
origin: OriginFor<T>,
|
||||
dest: Box<VersionedLocation>,
|
||||
encoded_message: BoundedVec<u8, MaxXcmEncodedSize>,
|
||||
) -> DispatchResult {
|
||||
<Self as SendController<_>>::send_blob(origin, dest, encoded_message)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Transfer assets from the local chain to the destination chain using explicit transfer
|
||||
/// types for assets and fees.
|
||||
///
|
||||
@@ -1451,7 +1356,7 @@ pub mod pallet {
|
||||
/// - `custom_xcm_on_dest`: The XCM to be executed on `dest` chain as the last step of the
|
||||
/// transfer, which also determines what happens to the assets on the destination chain.
|
||||
/// - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
|
||||
#[pallet::call_index(15)]
|
||||
#[pallet::call_index(13)]
|
||||
#[pallet::weight(T::WeightInfo::transfer_assets())]
|
||||
pub fn transfer_assets_using_type_and_then(
|
||||
origin: OriginFor<T>,
|
||||
|
||||
@@ -20,10 +20,10 @@ pub(crate) mod assets_transfer;
|
||||
|
||||
use crate::{
|
||||
mock::*, pallet::SupportedVersion, AssetTraps, Config, CurrentMigration, Error,
|
||||
LatestVersionedLocation, Pallet, Queries, QueryStatus, VersionDiscoveryQueue,
|
||||
VersionMigrationStage, VersionNotifiers, VersionNotifyTargets, WeightInfo,
|
||||
ExecuteControllerWeightInfo, LatestVersionedLocation, Pallet, Queries, QueryStatus,
|
||||
VersionDiscoveryQueue, VersionMigrationStage, VersionNotifiers, VersionNotifyTargets,
|
||||
WeightInfo,
|
||||
};
|
||||
use codec::Encode;
|
||||
use frame_support::{
|
||||
assert_err_ignore_postinfo, assert_noop, assert_ok,
|
||||
traits::{Currency, Hooks},
|
||||
@@ -305,12 +305,11 @@ fn send_works() {
|
||||
]);
|
||||
|
||||
let versioned_dest = Box::new(RelayLocation::get().into());
|
||||
let versioned_message = VersionedXcm::from(message.clone());
|
||||
let encoded_versioned_message = versioned_message.encode().try_into().unwrap();
|
||||
assert_ok!(XcmPallet::send_blob(
|
||||
let versioned_message = Box::new(VersionedXcm::from(message.clone()));
|
||||
assert_ok!(XcmPallet::send(
|
||||
RuntimeOrigin::signed(ALICE),
|
||||
versioned_dest,
|
||||
encoded_versioned_message
|
||||
versioned_message
|
||||
));
|
||||
let sent_message = Xcm(Some(DescendOrigin(sender.clone().try_into().unwrap()))
|
||||
.into_iter()
|
||||
@@ -342,16 +341,16 @@ fn send_fails_when_xcm_router_blocks() {
|
||||
];
|
||||
new_test_ext_with_balances(balances).execute_with(|| {
|
||||
let sender: Location = Junction::AccountId32 { network: None, id: ALICE.into() }.into();
|
||||
let message = Xcm::<()>(vec![
|
||||
let message = Xcm(vec![
|
||||
ReserveAssetDeposited((Parent, SEND_AMOUNT).into()),
|
||||
buy_execution((Parent, SEND_AMOUNT)),
|
||||
DepositAsset { assets: AllCounted(1).into(), beneficiary: sender },
|
||||
]);
|
||||
assert_noop!(
|
||||
XcmPallet::send_blob(
|
||||
XcmPallet::send(
|
||||
RuntimeOrigin::signed(ALICE),
|
||||
Box::new(Location::ancestor(8).into()),
|
||||
VersionedXcm::from(message.clone()).encode().try_into().unwrap(),
|
||||
Box::new(VersionedXcm::from(message.clone())),
|
||||
),
|
||||
crate::Error::<Test>::SendFailure
|
||||
);
|
||||
@@ -372,16 +371,13 @@ fn execute_withdraw_to_deposit_works() {
|
||||
let weight = BaseXcmWeight::get() * 3;
|
||||
let dest: Location = Junction::AccountId32 { network: None, id: BOB.into() }.into();
|
||||
assert_eq!(Balances::total_balance(&ALICE), INITIAL_BALANCE);
|
||||
assert_ok!(XcmPallet::execute_blob(
|
||||
assert_ok!(XcmPallet::execute(
|
||||
RuntimeOrigin::signed(ALICE),
|
||||
VersionedXcm::from(Xcm::<RuntimeCall>(vec![
|
||||
Box::new(VersionedXcm::from(Xcm(vec![
|
||||
WithdrawAsset((Here, SEND_AMOUNT).into()),
|
||||
buy_execution((Here, SEND_AMOUNT)),
|
||||
DepositAsset { assets: AllCounted(1).into(), beneficiary: dest },
|
||||
]))
|
||||
.encode()
|
||||
.try_into()
|
||||
.unwrap(),
|
||||
]))),
|
||||
weight
|
||||
));
|
||||
assert_eq!(Balances::total_balance(&ALICE), INITIAL_BALANCE - SEND_AMOUNT);
|
||||
@@ -403,21 +399,18 @@ fn trapped_assets_can_be_claimed() {
|
||||
let weight = BaseXcmWeight::get() * 6;
|
||||
let dest: Location = Junction::AccountId32 { network: None, id: BOB.into() }.into();
|
||||
|
||||
assert_ok!(XcmPallet::execute_blob(
|
||||
assert_ok!(XcmPallet::execute(
|
||||
RuntimeOrigin::signed(ALICE),
|
||||
VersionedXcm::from(Xcm(vec![
|
||||
Box::new(VersionedXcm::from(Xcm(vec![
|
||||
WithdrawAsset((Here, SEND_AMOUNT).into()),
|
||||
buy_execution((Here, SEND_AMOUNT)),
|
||||
// Don't propagated the error into the result.
|
||||
SetErrorHandler(Xcm::<RuntimeCall>(vec![ClearError])),
|
||||
SetErrorHandler(Xcm(vec![ClearError])),
|
||||
// This will make an error.
|
||||
Trap(0),
|
||||
// This would succeed, but we never get to it.
|
||||
DepositAsset { assets: AllCounted(1).into(), beneficiary: dest.clone() },
|
||||
]))
|
||||
.encode()
|
||||
.try_into()
|
||||
.unwrap(),
|
||||
]))),
|
||||
weight
|
||||
));
|
||||
let source: Location = Junction::AccountId32 { network: None, id: ALICE.into() }.into();
|
||||
@@ -444,16 +437,13 @@ fn trapped_assets_can_be_claimed() {
|
||||
assert_eq!(trapped, expected);
|
||||
|
||||
let weight = BaseXcmWeight::get() * 3;
|
||||
assert_ok!(XcmPallet::execute_blob(
|
||||
assert_ok!(XcmPallet::execute(
|
||||
RuntimeOrigin::signed(ALICE),
|
||||
VersionedXcm::from(Xcm::<RuntimeCall>(vec![
|
||||
Box::new(VersionedXcm::from(Xcm(vec![
|
||||
ClaimAsset { assets: (Here, SEND_AMOUNT).into(), ticket: Here.into() },
|
||||
buy_execution((Here, SEND_AMOUNT)),
|
||||
DepositAsset { assets: AllCounted(1).into(), beneficiary: dest.clone() },
|
||||
]))
|
||||
.encode()
|
||||
.try_into()
|
||||
.unwrap(),
|
||||
]))),
|
||||
weight
|
||||
));
|
||||
|
||||
@@ -463,16 +453,13 @@ fn trapped_assets_can_be_claimed() {
|
||||
|
||||
// Can't claim twice.
|
||||
assert_err_ignore_postinfo!(
|
||||
XcmPallet::execute_blob(
|
||||
XcmPallet::execute(
|
||||
RuntimeOrigin::signed(ALICE),
|
||||
VersionedXcm::from(Xcm::<RuntimeCall>(vec![
|
||||
Box::new(VersionedXcm::from(Xcm(vec![
|
||||
ClaimAsset { assets: (Here, SEND_AMOUNT).into(), ticket: Here.into() },
|
||||
buy_execution((Here, SEND_AMOUNT)),
|
||||
DepositAsset { assets: AllCounted(1).into(), beneficiary: dest },
|
||||
]))
|
||||
.encode()
|
||||
.try_into()
|
||||
.unwrap(),
|
||||
]))),
|
||||
weight
|
||||
),
|
||||
Error::<Test>::LocalExecutionIncomplete
|
||||
@@ -489,9 +476,9 @@ fn claim_assets_works() {
|
||||
let trapping_program =
|
||||
Xcm::<RuntimeCall>::builder_unsafe().withdraw_asset((Here, SEND_AMOUNT)).build();
|
||||
// Even though assets are trapped, the extrinsic returns success.
|
||||
assert_ok!(XcmPallet::execute_blob(
|
||||
assert_ok!(XcmPallet::execute(
|
||||
RuntimeOrigin::signed(ALICE),
|
||||
VersionedXcm::V4(trapping_program).encode().try_into().unwrap(),
|
||||
Box::new(VersionedXcm::V4(trapping_program)),
|
||||
BaseXcmWeight::get() * 2,
|
||||
));
|
||||
assert_eq!(Balances::total_balance(&ALICE), INITIAL_BALANCE - SEND_AMOUNT);
|
||||
@@ -544,9 +531,9 @@ fn incomplete_execute_reverts_side_effects() {
|
||||
assert_eq!(Balances::total_balance(&ALICE), INITIAL_BALANCE);
|
||||
let amount_to_send = INITIAL_BALANCE - ExistentialDeposit::get();
|
||||
let assets: Assets = (Here, amount_to_send).into();
|
||||
let result = XcmPallet::execute_blob(
|
||||
let result = XcmPallet::execute(
|
||||
RuntimeOrigin::signed(ALICE),
|
||||
VersionedXcm::from(Xcm::<RuntimeCall>(vec![
|
||||
Box::new(VersionedXcm::from(Xcm(vec![
|
||||
// Withdraw + BuyExec + Deposit should work
|
||||
WithdrawAsset(assets.clone()),
|
||||
buy_execution(assets.inner()[0].clone()),
|
||||
@@ -554,10 +541,7 @@ fn incomplete_execute_reverts_side_effects() {
|
||||
// Withdrawing once more will fail because of InsufficientBalance, and we expect to
|
||||
// revert the effects of the above instructions as well
|
||||
WithdrawAsset(assets),
|
||||
]))
|
||||
.encode()
|
||||
.try_into()
|
||||
.unwrap(),
|
||||
]))),
|
||||
weight,
|
||||
);
|
||||
// all effects are reverted and balances unchanged for either sender or receiver
|
||||
@@ -569,7 +553,7 @@ fn incomplete_execute_reverts_side_effects() {
|
||||
Err(sp_runtime::DispatchErrorWithPostInfo {
|
||||
post_info: frame_support::dispatch::PostDispatchInfo {
|
||||
actual_weight: Some(
|
||||
<<Test as crate::Config>::WeightInfo>::execute_blob() + weight
|
||||
<Pallet<Test> as ExecuteControllerWeightInfo>::execute() + weight
|
||||
),
|
||||
pays_fee: frame_support::dispatch::Pays::Yes,
|
||||
},
|
||||
|
||||
@@ -48,9 +48,6 @@ mod tests;
|
||||
|
||||
/// Maximum nesting level for XCM decoding.
|
||||
pub const MAX_XCM_DECODE_DEPTH: u32 = 8;
|
||||
/// Maximum encoded size.
|
||||
/// See `decoding_respects_limit` test for more reasoning behind this value.
|
||||
pub const MAX_XCM_ENCODED_SIZE: u32 = 12402;
|
||||
|
||||
/// A version of XCM.
|
||||
pub type Version = u32;
|
||||
|
||||
@@ -1488,21 +1488,7 @@ mod tests {
|
||||
let encoded = big_xcm.encode();
|
||||
assert!(Xcm::<()>::decode(&mut &encoded[..]).is_err());
|
||||
|
||||
let mut many_assets = Assets::new();
|
||||
for index in 0..MAX_ITEMS_IN_ASSETS {
|
||||
many_assets.push((GeneralIndex(index as u128), 1u128).into());
|
||||
}
|
||||
|
||||
let full_xcm_pass =
|
||||
Xcm::<()>(vec![
|
||||
TransferAsset { assets: many_assets, beneficiary: Here.into() };
|
||||
MAX_INSTRUCTIONS_TO_DECODE as usize
|
||||
]);
|
||||
let encoded = full_xcm_pass.encode();
|
||||
assert_eq!(encoded.len(), 12402);
|
||||
assert!(Xcm::<()>::decode(&mut &encoded[..]).is_ok());
|
||||
|
||||
let nested_xcm_fail = Xcm::<()>(vec![
|
||||
let nested_xcm = Xcm::<()>(vec![
|
||||
DepositReserveAsset {
|
||||
assets: All.into(),
|
||||
dest: Here.into(),
|
||||
@@ -1510,10 +1496,10 @@ mod tests {
|
||||
};
|
||||
(MAX_INSTRUCTIONS_TO_DECODE / 2) as usize
|
||||
]);
|
||||
let encoded = nested_xcm_fail.encode();
|
||||
let encoded = nested_xcm.encode();
|
||||
assert!(Xcm::<()>::decode(&mut &encoded[..]).is_err());
|
||||
|
||||
let even_more_nested_xcm = Xcm::<()>(vec![SetAppendix(nested_xcm_fail); 64]);
|
||||
let even_more_nested_xcm = Xcm::<()>(vec![SetAppendix(nested_xcm); 64]);
|
||||
let encoded = even_more_nested_xcm.encode();
|
||||
assert_eq!(encoded.len(), 342530);
|
||||
// This should not decode since the limit is 100
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
use frame_support::{
|
||||
dispatch::{DispatchErrorWithPostInfo, WithPostDispatchInfo},
|
||||
pallet_prelude::DispatchError,
|
||||
parameter_types, BoundedVec,
|
||||
};
|
||||
use sp_std::boxed::Box;
|
||||
use xcm::prelude::*;
|
||||
@@ -42,12 +41,8 @@ impl<T, Origin, RuntimeCall, Timeout> Controller<Origin, RuntimeCall, Timeout> f
|
||||
|
||||
/// Weight functions needed for [`ExecuteController`].
|
||||
pub trait ExecuteControllerWeightInfo {
|
||||
/// Weight for [`ExecuteController::execute_blob`]
|
||||
fn execute_blob() -> Weight;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
pub const MaxXcmEncodedSize: u32 = xcm::MAX_XCM_ENCODED_SIZE;
|
||||
/// Weight for [`ExecuteController::execute`]
|
||||
fn execute() -> Weight;
|
||||
}
|
||||
|
||||
/// Execute an XCM locally, for a given origin.
|
||||
@@ -66,19 +61,19 @@ pub trait ExecuteController<Origin, RuntimeCall> {
|
||||
/// # Parameters
|
||||
///
|
||||
/// - `origin`: the origin of the call.
|
||||
/// - `msg`: the encoded XCM to be executed, should be decodable as a [`VersionedXcm`]
|
||||
/// - `message`: the XCM program to be executed.
|
||||
/// - `max_weight`: the maximum weight that can be consumed by the execution.
|
||||
fn execute_blob(
|
||||
fn execute(
|
||||
origin: Origin,
|
||||
message: BoundedVec<u8, MaxXcmEncodedSize>,
|
||||
message: Box<VersionedXcm<RuntimeCall>>,
|
||||
max_weight: Weight,
|
||||
) -> Result<Weight, DispatchErrorWithPostInfo>;
|
||||
}
|
||||
|
||||
/// Weight functions needed for [`SendController`].
|
||||
pub trait SendControllerWeightInfo {
|
||||
/// Weight for [`SendController::send_blob`]
|
||||
fn send_blob() -> Weight;
|
||||
/// Weight for [`SendController::send`]
|
||||
fn send() -> Weight;
|
||||
}
|
||||
|
||||
/// Send an XCM from a given origin.
|
||||
@@ -98,11 +93,11 @@ pub trait SendController<Origin> {
|
||||
///
|
||||
/// - `origin`: the origin of the call.
|
||||
/// - `dest`: the destination of the message.
|
||||
/// - `msg`: the encoded XCM to be sent, should be decodable as a [`VersionedXcm`]
|
||||
fn send_blob(
|
||||
/// - `msg`: the XCM to be sent.
|
||||
fn send(
|
||||
origin: Origin,
|
||||
dest: Box<VersionedLocation>,
|
||||
message: BoundedVec<u8, MaxXcmEncodedSize>,
|
||||
message: Box<VersionedXcm<()>>,
|
||||
) -> Result<XcmHash, DispatchError>;
|
||||
}
|
||||
|
||||
@@ -142,35 +137,35 @@ pub trait QueryController<Origin, Timeout>: QueryHandler {
|
||||
|
||||
impl<Origin, RuntimeCall> ExecuteController<Origin, RuntimeCall> for () {
|
||||
type WeightInfo = ();
|
||||
fn execute_blob(
|
||||
fn execute(
|
||||
_origin: Origin,
|
||||
_message: BoundedVec<u8, MaxXcmEncodedSize>,
|
||||
_message: Box<VersionedXcm<RuntimeCall>>,
|
||||
_max_weight: Weight,
|
||||
) -> Result<Weight, DispatchErrorWithPostInfo> {
|
||||
Err(DispatchError::Other("ExecuteController::execute_blob not implemented")
|
||||
Err(DispatchError::Other("ExecuteController::execute not implemented")
|
||||
.with_weight(Weight::zero()))
|
||||
}
|
||||
}
|
||||
|
||||
impl ExecuteControllerWeightInfo for () {
|
||||
fn execute_blob() -> Weight {
|
||||
fn execute() -> Weight {
|
||||
Weight::zero()
|
||||
}
|
||||
}
|
||||
|
||||
impl<Origin> SendController<Origin> for () {
|
||||
type WeightInfo = ();
|
||||
fn send_blob(
|
||||
fn send(
|
||||
_origin: Origin,
|
||||
_dest: Box<VersionedLocation>,
|
||||
_message: BoundedVec<u8, MaxXcmEncodedSize>,
|
||||
_message: Box<VersionedXcm<()>>,
|
||||
) -> Result<XcmHash, DispatchError> {
|
||||
Ok(Default::default())
|
||||
}
|
||||
}
|
||||
|
||||
impl SendControllerWeightInfo for () {
|
||||
fn send_blob() -> Weight {
|
||||
fn send() -> Weight {
|
||||
Weight::zero()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ pub use barriers::{
|
||||
|
||||
mod controller;
|
||||
pub use controller::{
|
||||
Controller, ExecuteController, ExecuteControllerWeightInfo, MaxXcmEncodedSize, QueryController,
|
||||
Controller, ExecuteController, ExecuteControllerWeightInfo, QueryController,
|
||||
QueryControllerWeightInfo, QueryHandler, SendController, SendControllerWeightInfo,
|
||||
};
|
||||
|
||||
|
||||
@@ -14,9 +14,8 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
use super::{Balances, Runtime, RuntimeCall, RuntimeEvent};
|
||||
use crate::parachain::RuntimeHoldReason;
|
||||
use frame_support::{derive_impl, parameter_types};
|
||||
use super::{Balances, Runtime, RuntimeCall, RuntimeEvent, RuntimeHoldReason};
|
||||
use frame_support::{derive_impl, parameter_types, traits::Contains};
|
||||
|
||||
parameter_types! {
|
||||
pub Schedule: pallet_contracts::Schedule<Runtime> = Default::default();
|
||||
@@ -29,5 +28,14 @@ impl pallet_contracts::Config for Runtime {
|
||||
type Currency = Balances;
|
||||
type Schedule = Schedule;
|
||||
type Time = super::Timestamp;
|
||||
type CallFilter = CallFilter;
|
||||
type Xcm = pallet_xcm::Pallet<Self>;
|
||||
}
|
||||
|
||||
/// In this mock, we only allow other contract calls via XCM.
|
||||
pub struct CallFilter;
|
||||
impl Contains<RuntimeCall> for CallFilter {
|
||||
fn contains(call: &RuntimeCall) -> bool {
|
||||
matches!(call, RuntimeCall::Contracts(pallet_contracts::Call::call { .. }))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,10 @@ use crate::{
|
||||
relay_chain, MockNet, ParaA, ParachainBalances, Relay, ALICE, BOB, INITIAL_BALANCE,
|
||||
};
|
||||
use codec::{Decode, Encode};
|
||||
use frame_support::traits::{fungibles::Mutate, Currency};
|
||||
use frame_support::{
|
||||
assert_err,
|
||||
traits::{fungibles::Mutate, Currency},
|
||||
};
|
||||
use pallet_contracts::{test_utils::builder::*, Code};
|
||||
use pallet_contracts_fixtures::compile_module;
|
||||
use pallet_contracts_uapi::ReturnErrorCode;
|
||||
@@ -81,7 +84,7 @@ fn test_xcm_execute() {
|
||||
.build();
|
||||
|
||||
let result = bare_call(contract_addr.clone())
|
||||
.data(VersionedXcm::V4(message).encode().encode())
|
||||
.data(VersionedXcm::V4(message).encode())
|
||||
.build();
|
||||
|
||||
assert_eq!(result.gas_consumed, result.gas_required);
|
||||
@@ -118,7 +121,7 @@ fn test_xcm_execute_incomplete() {
|
||||
.build();
|
||||
|
||||
let result = bare_call(contract_addr.clone())
|
||||
.data(VersionedXcm::V4(message).encode().encode())
|
||||
.data(VersionedXcm::V4(message).encode())
|
||||
.build();
|
||||
|
||||
assert_eq!(result.gas_consumed, result.gas_required);
|
||||
@@ -129,6 +132,26 @@ fn test_xcm_execute_incomplete() {
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_xcm_execute_filtered_call() {
|
||||
MockNet::reset();
|
||||
|
||||
let contract_addr = instantiate_test_contract("xcm_execute");
|
||||
|
||||
ParaA::execute_with(|| {
|
||||
// `remark` should be rejected, as it is not allowed by our CallFilter.
|
||||
let call = parachain::RuntimeCall::System(frame_system::Call::remark { remark: vec![] });
|
||||
let message: Xcm<parachain::RuntimeCall> = Xcm::builder_unsafe()
|
||||
.transact(OriginKind::Native, Weight::MAX, call.encode())
|
||||
.build();
|
||||
let result = bare_call(contract_addr.clone())
|
||||
.data(VersionedXcm::V4(message).encode())
|
||||
.build()
|
||||
.result;
|
||||
assert_err!(result, frame_system::Error::<parachain::Runtime>::CallFiltered);
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_xcm_execute_reentrant_call() {
|
||||
MockNet::reset();
|
||||
@@ -151,7 +174,7 @@ fn test_xcm_execute_reentrant_call() {
|
||||
.build();
|
||||
|
||||
let result = bare_call(contract_addr.clone())
|
||||
.data(VersionedXcm::V4(message).encode().encode())
|
||||
.data(VersionedXcm::V4(message).encode())
|
||||
.build_and_unwrap_result();
|
||||
|
||||
assert_return_code!(&result, ReturnErrorCode::XcmExecutionFailed);
|
||||
@@ -182,7 +205,7 @@ fn test_xcm_send() {
|
||||
.build();
|
||||
|
||||
let result = bare_call(contract_addr.clone())
|
||||
.data((dest, VersionedXcm::V4(message).encode()).encode())
|
||||
.data((dest, VersionedXcm::V4(message)).encode())
|
||||
.build_and_unwrap_result();
|
||||
|
||||
let mut data = &result.data[..];
|
||||
|
||||
@@ -307,9 +307,6 @@ pub mod pallet {
|
||||
/// Therefore please make sure to be restrictive about which dispatchables are allowed
|
||||
/// in order to not introduce a new DoS vector like memory allocation patterns that can
|
||||
/// be exploited to drive the runtime into a panic.
|
||||
///
|
||||
/// This filter does not apply to XCM transact calls. To impose restrictions on XCM transact
|
||||
/// calls, you must configure them separately within the XCM pallet itself.
|
||||
#[pallet::no_default_bounds]
|
||||
type CallFilter: Contains<<Self as frame_system::Config>::RuntimeCall>;
|
||||
|
||||
|
||||
@@ -25,8 +25,12 @@ use crate::{
|
||||
};
|
||||
use codec::{Decode, DecodeLimit, Encode, MaxEncodedLen};
|
||||
use frame_support::{
|
||||
dispatch::DispatchInfo, ensure, pallet_prelude::DispatchResultWithPostInfo, parameter_types,
|
||||
traits::Get, weights::Weight,
|
||||
dispatch::DispatchInfo,
|
||||
ensure,
|
||||
pallet_prelude::{DispatchResult, DispatchResultWithPostInfo},
|
||||
parameter_types,
|
||||
traits::Get,
|
||||
weights::Weight,
|
||||
};
|
||||
use pallet_contracts_proc_macro::define_env;
|
||||
use pallet_contracts_uapi::{CallFlags, ReturnFlags};
|
||||
@@ -37,6 +41,9 @@ use sp_runtime::{
|
||||
};
|
||||
use sp_std::{fmt, prelude::*};
|
||||
use wasmi::{core::HostError, errors::LinkerError, Linker, Memory, Store};
|
||||
use xcm::VersionedXcm;
|
||||
|
||||
type CallOf<T> = <T as frame_system::Config>::RuntimeCall;
|
||||
|
||||
/// The maximum nesting depth a contract can use when encoding types.
|
||||
const MAX_DECODE_NESTING: u32 = 256;
|
||||
@@ -371,6 +378,29 @@ fn already_charged(_: u32) -> Option<RuntimeCosts> {
|
||||
None
|
||||
}
|
||||
|
||||
/// Ensure that the XCM program is executable, by checking that it does not contain any [`Transact`]
|
||||
/// instruction with a call that is not allowed by the CallFilter.
|
||||
fn ensure_executable<T: Config>(message: &VersionedXcm<CallOf<T>>) -> DispatchResult {
|
||||
use frame_support::traits::Contains;
|
||||
use xcm::prelude::{Transact, Xcm};
|
||||
|
||||
let mut message: Xcm<CallOf<T>> =
|
||||
message.clone().try_into().map_err(|_| Error::<T>::XCMDecodeFailed)?;
|
||||
|
||||
message.iter_mut().try_for_each(|inst| -> DispatchResult {
|
||||
let Transact { ref mut call, .. } = inst else { return Ok(()) };
|
||||
let call = call.ensure_decoded().map_err(|_| Error::<T>::XCMDecodeFailed)?;
|
||||
|
||||
if !<T as Config>::CallFilter::contains(call) {
|
||||
return Err(frame_system::Error::<T>::CallFiltered.into())
|
||||
}
|
||||
|
||||
Ok(())
|
||||
})?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Can only be used for one call.
|
||||
pub struct Runtime<'a, E: Ext + 'a> {
|
||||
ext: &'a mut E,
|
||||
@@ -2082,13 +2112,16 @@ pub mod env {
|
||||
msg_len: u32,
|
||||
) -> Result<ReturnErrorCode, TrapReason> {
|
||||
use frame_support::dispatch::DispatchInfo;
|
||||
use xcm::VersionedXcm;
|
||||
use xcm_builder::{ExecuteController, ExecuteControllerWeightInfo};
|
||||
|
||||
ctx.charge_gas(RuntimeCosts::CopyFromContract(msg_len))?;
|
||||
let message = ctx.read_sandbox_memory_as_unbounded(memory, msg_ptr, msg_len)?;
|
||||
let message: VersionedXcm<CallOf<E::T>> =
|
||||
ctx.read_sandbox_memory_as_unbounded(memory, msg_ptr, msg_len)?;
|
||||
ensure_executable::<E::T>(&message)?;
|
||||
|
||||
let execute_weight =
|
||||
<<E::T as Config>::Xcm as ExecuteController<_, _>>::WeightInfo::execute_blob();
|
||||
<<E::T as Config>::Xcm as ExecuteController<_, _>>::WeightInfo::execute();
|
||||
let weight = ctx.ext.gas_meter().gas_left().max(execute_weight);
|
||||
let dispatch_info = DispatchInfo { weight, ..Default::default() };
|
||||
|
||||
@@ -2097,9 +2130,9 @@ pub mod env {
|
||||
RuntimeCosts::CallXcmExecute,
|
||||
|ctx| {
|
||||
let origin = crate::RawOrigin::Signed(ctx.ext.address().clone()).into();
|
||||
let weight_used = <<E::T as Config>::Xcm>::execute_blob(
|
||||
let weight_used = <<E::T as Config>::Xcm>::execute(
|
||||
origin,
|
||||
message,
|
||||
Box::new(message),
|
||||
weight.saturating_sub(execute_weight),
|
||||
)?;
|
||||
|
||||
@@ -2119,18 +2152,19 @@ pub mod env {
|
||||
msg_len: u32,
|
||||
output_ptr: u32,
|
||||
) -> Result<ReturnErrorCode, TrapReason> {
|
||||
use xcm::VersionedLocation;
|
||||
use xcm::{VersionedLocation, VersionedXcm};
|
||||
use xcm_builder::{SendController, SendControllerWeightInfo};
|
||||
|
||||
ctx.charge_gas(RuntimeCosts::CopyFromContract(msg_len))?;
|
||||
let dest: VersionedLocation = ctx.read_sandbox_memory_as(memory, dest_ptr)?;
|
||||
|
||||
let message = ctx.read_sandbox_memory_as_unbounded(memory, msg_ptr, msg_len)?;
|
||||
let weight = <<E::T as Config>::Xcm as SendController<_>>::WeightInfo::send_blob();
|
||||
let message: VersionedXcm<()> =
|
||||
ctx.read_sandbox_memory_as_unbounded(memory, msg_ptr, msg_len)?;
|
||||
let weight = <<E::T as Config>::Xcm as SendController<_>>::WeightInfo::send();
|
||||
ctx.charge_gas(RuntimeCosts::CallRuntime(weight))?;
|
||||
let origin = crate::RawOrigin::Signed(ctx.ext.address().clone()).into();
|
||||
|
||||
match <<E::T as Config>::Xcm>::send_blob(origin, dest.into(), message) {
|
||||
match <<E::T as Config>::Xcm>::send(origin, dest.into(), message.into()) {
|
||||
Ok(message_id) => {
|
||||
ctx.write_sandbox_memory(memory, output_ptr, &message_id.encode())?;
|
||||
Ok(ReturnErrorCode::Success)
|
||||
|
||||
@@ -790,7 +790,7 @@ pub trait HostFn {
|
||||
///
|
||||
/// # Parameters
|
||||
///
|
||||
/// - `dest`: The XCM destination, should be decodable as [MultiLocation](https://paritytech.github.io/polkadot-sdk/master/staging_xcm/enum.VersionedLocation.html),
|
||||
/// - `dest`: The XCM destination, should be decodable as [VersionedLocation](https://paritytech.github.io/polkadot-sdk/master/staging_xcm/enum.VersionedLocation.html),
|
||||
/// traps otherwise.
|
||||
/// - `msg`: The message, should be decodable as a [VersionedXcm](https://paritytech.github.io/polkadot-sdk/master/staging_xcm/enum.VersionedXcm.html),
|
||||
/// traps otherwise.
|
||||
|
||||
Reference in New Issue
Block a user