Compare commits

...

51 Commits
main ... main

Author SHA1 Message Date
6263c620ab
fix starter and patch scripts
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2026-02-07 15:35:23 +03:00
4348580127
patches for the latest rustc compiler
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2026-02-05 18:19:54 +03:00
e12b85d5da
small script to test default rpc endpoints
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2026-02-04 20:28:46 +03:00
0a762388d7
make script work with main branch
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2026-02-03 22:30:34 +03:00
cdc14c5ed1
finally fix script for boostrappers
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2026-02-03 18:53:13 +03:00
fc3a6f0cd0
temporarily remove git manipulations during hard reset
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2026-02-03 18:14:20 +03:00
c90ef5f7e3
set git branch for bootstrapers
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2026-02-03 15:20:21 +03:00
a8651dfe84
prepare node to latest version of chain
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2026-02-03 15:17:46 +03:00
ddfbaae2f5
additional information during hard reset
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2026-02-02 19:18:33 +03:00
172edd46de
additional safety for multi request logic
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2026-02-02 18:10:52 +03:00
32483cdd40
make logs more self-descriptive
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2026-02-02 15:26:38 +03:00
eb9fc16b43
tests added for new offchain worker functionality
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2026-02-01 15:08:03 +03:00
b282ebad62
rustfmt the whole project
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2026-01-31 18:14:26 +03:00
73503fd13a
remove local testing scripts
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2026-01-31 18:12:05 +03:00
90c82f73cb
multiple requests from all endpoints
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2026-01-31 18:10:40 +03:00
3c7e51c0f8
new version of casper runtime
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-12-09 17:46:48 +03:00
ddd3a42564
new slashing function for block commitment offence
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-12-09 17:23:08 +03:00
dc785e30d9
more readable logs and use validators as offence reporters
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-12-09 16:24:41 +03:00
3b80a7a94a
change slashing logic during block commitments
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-12-09 14:56:24 +03:00
270f3a6191
apply changes from slow clap for the casper runtime
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-12-04 18:42:31 +03:00
a6ce55c1e8
rearrange offchain worker execution sequence
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-12-04 18:21:58 +03:00
0323c25d08
avoid excessive block commitments
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-12-04 17:51:29 +03:00
f9cd455968
make pull during hard reset
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-28 23:41:18 +03:00
06423f9ae5
prepare for the main branch usage
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-28 22:38:38 +03:00
5d92560513
make starter script usable for network bootstrap
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-28 17:38:11 +03:00
207bbec652
update default chain spec for casper network
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-28 17:08:03 +03:00
901c828d3f
legacy endowments and gatekeeped amount for networks
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-28 17:01:42 +03:00
876cea96ec
update weights for the latest runtime
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-28 17:00:45 +03:00
5b26d4ce28
make gatekeeped amount part of the genesis
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-28 16:56:46 +03:00
147542f10c
correct median; on genesis validators list is empty
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-11-28 00:02:26 +03:00
d45cc9bd13
add latest from_block to logs
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-27 19:22:48 +03:00
7c57b9ea3f
update chain specs for local testing
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-27 19:08:43 +03:00
638d31ba28
update casper runtime based on ghost pallets
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-11-27 19:07:59 +03:00
c9b4325c04
rustfmt slow-clap pallet
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-27 19:06:18 +03:00
911db3b974
apply changes from ghost-traits for ExposureListener
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-11-27 19:04:24 +03:00
fbc58e350b
conversion function to AccountId added
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-11-27 19:03:13 +03:00
b692959369
rustfmt ghost slow clap pallet
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-11-27 17:16:07 +03:00
16b933f3ba
rustfmt ghost traits pallet
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-11-27 17:15:30 +03:00
ad3de30be3
rustfmt ghost networks pallet
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-11-27 17:15:03 +03:00
e3c8e51749
update casper runtime in accordance with new functionality. not final
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-11-27 17:12:22 +03:00
d3c5380ba7
updated version of slow clap
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-11-27 17:10:57 +03:00
c3ef933c20
extend networks pallet with avg_block_speed
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-27 17:10:23 +03:00
954ae66294
bump traits package version
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-27 17:09:10 +03:00
a504d8eb87
trait to get exposure from external pallets such as staking
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-27 17:08:16 +03:00
eebcc18018
simple bitmap implementation
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-27 17:06:50 +03:00
3be36b6db2
set ghost emoji as prefix for logging
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-21 13:49:40 +03:00
6a2b5a34d2
applause based on the external expousre
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-11-21 13:46:22 +03:00
0bb46482b2
offchain worker restructure and block commitments added
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-11-20 03:06:48 +03:00
57c809c618
Merge branch 'pallet-slow-clap'
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-11-18 16:03:47 +03:00
d76646c191
remove unused structs to avoid warning during compilation
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-11-18 16:01:29 +03:00
94d28f254f
update offchain worker logic
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
2025-11-18 16:00:17 +03:00
68 changed files with 5520 additions and 3204 deletions

22
Cargo.lock generated
View File

@ -1186,7 +1186,7 @@ dependencies = [
[[package]]
name = "casper-runtime"
version = "3.5.36"
version = "3.5.37"
dependencies = [
"casper-runtime-constants",
"frame-benchmarking",
@ -1204,6 +1204,7 @@ dependencies = [
"ghost-runtime-common",
"ghost-slow-clap",
"ghost-sudo",
"ghost-traits",
"log",
"pallet-alliance",
"pallet-authority-discovery",
@ -3529,7 +3530,7 @@ dependencies = [
[[package]]
name = "ghost-cli"
version = "0.8.2"
version = "0.8.5"
dependencies = [
"cfg-if",
"clap 4.5.4",
@ -3585,7 +3586,7 @@ dependencies = [
[[package]]
name = "ghost-machine-primitives"
version = "0.8.2"
version = "0.8.5"
dependencies = [
"lazy_static",
"sc-sysinfo",
@ -3594,7 +3595,7 @@ dependencies = [
[[package]]
name = "ghost-metrics"
version = "0.8.2"
version = "0.8.5"
dependencies = [
"assert_cmd",
"bs58 0.5.1",
@ -3649,7 +3650,7 @@ dependencies = [
[[package]]
name = "ghost-networks"
version = "0.1.16"
version = "0.1.20"
dependencies = [
"frame-benchmarking",
"frame-support",
@ -3669,7 +3670,7 @@ dependencies = [
[[package]]
name = "ghost-node"
version = "0.8.2"
version = "0.8.5"
dependencies = [
"assert_cmd",
"color-eyre",
@ -3700,7 +3701,7 @@ dependencies = [
[[package]]
name = "ghost-rpc"
version = "0.8.2"
version = "0.8.5"
dependencies = [
"ghost-core-primitives",
"jsonrpsee",
@ -3752,7 +3753,7 @@ dependencies = [
[[package]]
name = "ghost-service"
version = "0.8.2"
version = "0.8.5"
dependencies = [
"assert_matches",
"async-trait",
@ -3836,12 +3837,13 @@ dependencies = [
[[package]]
name = "ghost-slow-clap"
version = "0.3.53"
version = "0.4.14"
dependencies = [
"frame-benchmarking",
"frame-support",
"frame-system",
"ghost-networks",
"ghost-traits",
"log",
"pallet-balances",
"pallet-session",
@ -3887,7 +3889,7 @@ dependencies = [
[[package]]
name = "ghost-traits"
version = "0.3.23"
version = "0.3.26"
dependencies = [
"frame-support",
"sp-runtime 31.0.1",

View File

@ -17,7 +17,7 @@ homepage.workspace = true
[workspace.package]
license = "GPL-3.0-only"
authors = ["571nky", "57r37ch", "f4750"]
version = "0.8.2"
version = "0.8.5"
edition = "2021"
homepage = "https://ghostchain.io"
repository = "https://git.ghostchain.io/ghostchain/ghost-node"

View File

@ -51,33 +51,6 @@ pub trait WeightInfo {
fn claim() -> Weight;
}
/// Weight for ghost_claims using the Substrate node and recommended hardware.
pub struct SubstrateWeight<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// Storage: `System::Account` (r:2 w:2)
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
/// Storage: `GhostClaims::Total` (r:1 w:1)
/// Proof: `GhostClaims::Total` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `CultCollective::Members` (r:2 w:2)
/// Proof: `CultCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
/// Storage: `CultCollective::MemberCount` (r:6 w:6)
/// Proof: `CultCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
/// Storage: `CultCollective::IdToIndex` (r:6 w:12)
/// Proof: `CultCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
/// Storage: `CultCollective::IndexToId` (r:0 w:6)
/// Proof: `CultCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
fn claim() -> Weight {
// Proof Size summary in bytes:
// Measured: `896`
// Estimated: `16164`
// Minimum execution time: 754_086_000 picoseconds.
Weight::from_parts(756_147_000, 0)
.saturating_add(Weight::from_parts(0, 16164))
.saturating_add(T::DbWeight::get().reads(17))
.saturating_add(T::DbWeight::get().writes(29))
}
}
impl WeightInfo for () {
/// Storage: `System::Account` (r:2 w:2)
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)

View File

@ -1,6 +1,6 @@
[package]
name = "ghost-networks"
version = "0.1.16"
version = "0.1.20"
license.workspace = true
authors.workspace = true
edition.workspace = true

View File

@ -43,6 +43,7 @@ fn prepare_network<T: Config>(
gatekeeper,
topic_name,
network_type: NetworkType::Evm,
avg_block_speed: 12,
finality_delay: 69,
rate_limit_delay: 69,
block_distance: 69,
@ -239,6 +240,20 @@ benchmarks! {
assert_ne!(GhostNetworks::<T>::networks(chain_id.clone()), prev_network);
}
update_avg_block_speed {
let avg_block_speed = 420;
let (chain_id, network) = prepare_network::<T>(1, 1, 1);
let authority = T::UpdateOrigin::try_successful_origin()
.map_err(|_| BenchmarkError::Weightless)?;
let prev_network = create_network::<T>(chain_id.clone(), network.clone())?;
}: _<T::RuntimeOrigin>(authority, chain_id.clone(), avg_block_speed)
verify {
assert_last_event::<T>(Event::NetworkAvgBlockSpeedUpdated {
chain_id: chain_id.clone(), avg_block_speed,
}.into());
assert_ne!(GhostNetworks::<T>::networks(chain_id.clone()), prev_network);
}
remove_network {
let (chain_id, network) = prepare_network::<T>(1, 1, 1);
let authority = T::RemoveOrigin::try_successful_origin()

View File

@ -38,7 +38,7 @@ mod tests;
pub type BalanceOf<T> =
<<T as Config>::Currency as Inspect<<T as frame_system::Config>::AccountId>>::Balance;
#[derive(Encode, Decode, Clone, PartialEq, Eq, RuntimeDebug, TypeInfo)]
#[derive(Encode, Decode, Clone, Copy, PartialEq, Eq, RuntimeDebug, TypeInfo)]
pub enum NetworkType {
Evm = 0,
Utxo = 1,
@ -61,6 +61,7 @@ pub struct NetworkData {
pub finality_delay: u64,
pub rate_limit_delay: u64,
pub block_distance: u64,
pub avg_block_speed: u64,
pub incoming_fee: u32,
pub outgoing_fee: u32,
}
@ -220,6 +221,10 @@ pub mod module {
chain_id: T::NetworkId,
outgoing_fee: u32,
},
NetworkAvgBlockSpeedUpdated {
chain_id: T::NetworkId,
avg_block_speed: u64,
},
NetworkRemoved {
chain_id: T::NetworkId,
},
@ -250,7 +255,7 @@ pub mod module {
#[pallet::genesis_config]
pub struct GenesisConfig<T: Config> {
pub networks: Vec<(T::NetworkId, Vec<u8>)>,
pub networks: Vec<(T::NetworkId, Vec<u8>, BalanceOf<T>)>,
}
impl<T: Config> Default for GenesisConfig<T> {
@ -265,11 +270,12 @@ pub mod module {
if !self.networks.is_empty() {
self.networks
.iter()
.for_each(|(chain_id, network_metadata)| {
.for_each(|(chain_id, network_metadata, gatekeeper_amount)| {
let network = NetworkData::decode(&mut &network_metadata[..])
.expect("Error decoding NetworkData");
Pallet::<T>::do_register_network(chain_id.clone(), network)
.expect("Error registering network");
GatekeeperAmount::<T>::insert(chain_id, gatekeeper_amount);
});
}
}
@ -433,6 +439,17 @@ pub mod module {
}
#[pallet::call_index(11)]
#[pallet::weight(T::WeightInfo::update_avg_block_speed())]
pub fn update_avg_block_speed(
origin: OriginFor<T>,
chain_id: T::NetworkId,
avg_block_speed: u64,
) -> DispatchResult {
T::UpdateOrigin::ensure_origin_or_root(origin)?;
Self::do_update_avg_block_speed(chain_id, avg_block_speed)
}
#[pallet::call_index(12)]
#[pallet::weight(T::WeightInfo::remove_network())]
pub fn remove_network(origin: OriginFor<T>, chain_id: T::NetworkId) -> DispatchResult {
T::RemoveOrigin::ensure_origin_or_root(origin)?;
@ -589,7 +606,7 @@ impl<T: Config> Pallet<T> {
Networks::<T>::try_mutate(&chain_id, |maybe_network| -> DispatchResult {
ensure!(maybe_network.is_some(), Error::<T>::NetworkDoesNotExist);
let net = maybe_network.as_mut().unwrap();
net.network_type = network_type.clone();
net.network_type = network_type;
*maybe_network = Some(net.clone());
Ok(())
})?;
@ -653,7 +670,7 @@ impl<T: Config> Pallet<T> {
Networks::<T>::try_mutate(&chain_id, |maybe_network| -> DispatchResult {
ensure!(maybe_network.is_some(), Error::<T>::NetworkDoesNotExist);
let net = maybe_network.as_mut().unwrap();
net.incoming_fee = incoming_fee.clone();
net.incoming_fee = incoming_fee;
*maybe_network = Some(net.clone());
Ok(())
})?;
@ -671,7 +688,7 @@ impl<T: Config> Pallet<T> {
Networks::<T>::try_mutate(&chain_id, |maybe_network| -> DispatchResult {
ensure!(maybe_network.is_some(), Error::<T>::NetworkDoesNotExist);
let net = maybe_network.as_mut().unwrap();
net.outgoing_fee = outgoing_fee.clone();
net.outgoing_fee = outgoing_fee;
*maybe_network = Some(net.clone());
Ok(())
})?;
@ -681,6 +698,24 @@ impl<T: Config> Pallet<T> {
});
Ok(())
}
pub fn do_update_avg_block_speed(
chain_id: T::NetworkId,
avg_block_speed: u64,
) -> DispatchResult {
Networks::<T>::try_mutate(&chain_id, |maybe_network| -> DispatchResult {
ensure!(maybe_network.is_some(), Error::<T>::NetworkDoesNotExist);
let net = maybe_network.as_mut().unwrap();
net.avg_block_speed = avg_block_speed;
*maybe_network = Some(net.clone());
Ok(())
})?;
Self::deposit_event(Event::<T>::NetworkAvgBlockSpeedUpdated {
chain_id,
avg_block_speed,
});
Ok(())
}
}
impl<T: Config> NetworkDataBasicHandler for Pallet<T> {

View File

@ -13,7 +13,6 @@ where
+ sp_std::ops::Shr<Output = Balance>
+ sp_std::ops::BitAnd<Balance, Output = Balance>,
{
fn zero(&self) -> Balance {
0u32.into()
}

View File

@ -98,7 +98,7 @@ impl ghost_networks::Config for Test {
type RegisterOrigin = EnsureSignedBy<RegistererAccount, AccountId>;
type UpdateOrigin = EnsureSignedBy<UpdaterAccount, AccountId>;
type RemoveOrigin = EnsureSignedBy<RemoverAccount, AccountId>;
type WeightInfo = crate::weights::SubstrateWeight<Test>;
type WeightInfo = ();
}
type Block = frame_system::mocking::MockBlock<Test>;

View File

@ -19,6 +19,7 @@ fn prepare_network_data() -> (u32, NetworkData) {
finality_delay: 69,
rate_limit_delay: 69,
block_distance: 69,
avg_block_speed: 12_000,
network_type: NetworkType::Evm,
gatekeeper: b"0x1234567891234567891234567891234567891234".to_vec(),
topic_name: b"0x12345678912345678912345678912345678912345678912345678912345678"
@ -1882,7 +1883,7 @@ fn check_bridged_inflation_curve_for_big_commissions() {
let (payout, rest) = BridgedInflationCurve::<RewardCurve, Test>::era_payout(
total_staked_gt_ideal,
total_issuance + amount,
0
0,
);
assert!(payout < commission);
assert!(rest < commission);
@ -1890,7 +1891,7 @@ fn check_bridged_inflation_curve_for_big_commissions() {
let (payout, rest) = BridgedInflationCurve::<RewardCurve, Test>::era_payout(
total_staked_lt_ideal,
total_issuance + amount,
0
0,
);
assert!(payout < commission);
assert!(rest < commission);

View File

@ -60,169 +60,10 @@ pub trait WeightInfo {
fn update_network_topic_name() -> Weight;
fn update_incoming_network_fee() -> Weight;
fn update_outgoing_network_fee() -> Weight;
fn update_avg_block_speed() -> Weight;
fn remove_network() -> Weight;
}
/// Weight for ghost_networks using the Substrate node and recommended hardware.
pub struct SubstrateWeight<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// The range of component `i` is `[1, 20]`.
/// The range of component `j` is `[1, 150]`.
/// The range of component `k` is `[1, 20]`.
fn register_network(_i: u32, _j: u32, k: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `109`
// Estimated: `3574`
// Minimum execution time: 46_023_000 picoseconds.
Weight::from_parts(97_871_287, 0)
.saturating_add(Weight::from_parts(0, 3574))
// Standard Error: 94_524
.saturating_add(Weight::from_parts(940_486, 0).saturating_mul(k.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// The range of component `n` is `[1, 20]`.
fn update_network_name(n: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 49_906_000 picoseconds.
Weight::from_parts(55_537_587, 0)
.saturating_add(Weight::from_parts(0, 3767))
// Standard Error: 87_704
.saturating_add(Weight::from_parts(92_366, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// The range of component `n` is `[1, 150]`.
fn update_network_endpoint(n: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 50_556_000 picoseconds.
Weight::from_parts(57_726_674, 0)
.saturating_add(Weight::from_parts(0, 3767))
// Standard Error: 12_261
.saturating_add(Weight::from_parts(274, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_finality_delay() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 49_406_000 picoseconds.
Weight::from_parts(51_256_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_rate_limit_delay() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 49_572_000 picoseconds.
Weight::from_parts(52_584_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_block_distance() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 48_880_000 picoseconds.
Weight::from_parts(50_596_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_type() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 48_282_000 picoseconds.
Weight::from_parts(49_137_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_gatekeeper() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 50_853_000 picoseconds.
Weight::from_parts(51_982_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_topic_name() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 50_343_000 picoseconds.
Weight::from_parts(52_380_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_incoming_network_fee() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 49_393_000 picoseconds.
Weight::from_parts(80_966_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_outgoing_network_fee() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 49_579_000 picoseconds.
Weight::from_parts(51_126_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn remove_network() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 44_634_000 picoseconds.
Weight::from_parts(45_815_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
}
impl WeightInfo for () {
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
@ -369,6 +210,18 @@ impl WeightInfo for () {
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_avg_block_speed() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 49_579_000 picoseconds.
Weight::from_parts(51_126_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(1))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn remove_network() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`

View File

@ -1,6 +1,6 @@
[package]
name = "ghost-slow-clap"
version = "0.3.53"
version = "0.4.14"
description = "Applause protocol for the EVM bridge"
license.workspace = true
authors.workspace = true
@ -28,6 +28,7 @@ sp-io = { workspace = true }
sp-std = { workspace = true }
ghost-networks = { workspace = true }
ghost-traits = { workspace = true }
[dev-dependencies]
pallet-balances = { workspace = true }

View File

@ -3,7 +3,6 @@
use super::*;
use frame_benchmarking::v1::*;
use frame_support::traits::fungible::Inspect;
use frame_system::RawOrigin;
pub fn create_account<T: Config>() -> T::AccountId {
@ -12,73 +11,45 @@ pub fn create_account<T: Config>() -> T::AccountId {
.expect("32 bytes always construct an AccountId32")
}
pub fn prepare_evm_network<T: Config>(network_id: NetworkIdOf<T>) {
let network_data = NetworkData {
chain_name: "Ethereum".into(),
default_endpoints: vec![b"https://other.endpoint.network.com".to_vec()],
finality_delay: 69,
avg_block_speed: 69,
rate_limit_delay: 69,
block_distance: 69,
network_type: ghost_networks::NetworkType::Evm,
gatekeeper: b"0x4d224452801ACEd8B2F0aebE155379bb5D594381".to_vec(),
topic_name: b"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef".to_vec(),
incoming_fee: 0,
outgoing_fee: 0,
};
let _ = T::NetworkDataHandler::register(network_id, network_data.clone());
}
benchmarks! {
slow_clap {
let network_id = NetworkIdOf::<T>::default();
prepare_evm_network::<T>(network_id);
let minimum_balance = <<T as pallet::Config>::Currency>::minimum_balance();
let receiver = create_account::<T>();
let amount = minimum_balance + minimum_balance;
let network_id = NetworkIdOf::<T>::default();
let session_index = T::ValidatorSet::session_index();
let transaction_hash = H256::repeat_byte(1u8);
let authorities = vec![T::AuthorityId::generate_pair(None)];
let bounded_authorities = WeakBoundedVec::<_, T::MaxAuthorities>::try_from(authorities.clone())
.map_err(|()| "more than the maximum number of keys provided")?;
Authorities::<T>::set(&session_index, bounded_authorities);
let authority_index = 0u32;
let clap = Clap {
session_index: 0,
authority_index: 0,
transaction_hash: H256::repeat_byte(1u8),
block_number: 69,
removed: false,
network_id,
receiver: receiver.clone(),
amount,
};
let authority_id = authorities
.get(0usize)
.expect("first authority should exist");
let encoded_clap = clap.encode();
let signature = authority_id.sign(&encoded_clap)
.ok_or("couldn't make signature")?;
}: _(RawOrigin::None, clap, signature)
verify {
assert_eq!(<<T as pallet::Config>::Currency>::total_balance(&receiver), amount);
}
self_applause {
let session_index = T::ValidatorSet::session_index();
let next_session_index = session_index.saturating_add(1);
let authorities = vec![
T::AuthorityId::generate_pair(None),
T::AuthorityId::generate_pair(None),
];
let bounded_authorities = WeakBoundedVec::<_, T::MaxAuthorities>::try_from(authorities.clone())
.map_err(|()| "more than the maximum number of keys provided")?;
Authorities::<T>::set(&session_index, bounded_authorities.clone());
Authorities::<T>::set(&next_session_index, bounded_authorities);
let minimum_balance = <<T as pallet::Config>::Currency>::minimum_balance();
let receiver = create_account::<T>();
let receiver_clone = receiver.clone();
let amount = minimum_balance + minimum_balance;
let network_id = NetworkIdOf::<T>::default();
let transaction_hash = H256::repeat_byte(1u8);
let unique_transaction_hash = <Pallet<T>>::generate_unique_hash(
&receiver,
&amount,
&network_id,
);
let storage_key = (session_index, &transaction_hash, &unique_transaction_hash);
let next_storage_key = (next_session_index, &transaction_hash, &unique_transaction_hash);
<Pallet::<T>>::trigger_nullification_for_benchmark();
let clap = Clap {
session_index,
authority_index: 0,
authority_index,
transaction_hash,
block_number: 69,
removed: false,
@ -86,28 +57,61 @@ benchmarks! {
receiver: receiver.clone(),
amount,
};
let args_hash = Pallet::<T>::generate_unique_hash(&clap);
let authority_id = authorities
.get(0usize)
.get(authority_index as usize)
.expect("first authority should exist");
let encoded_clap = clap.encode();
let signature = authority_id.sign(&encoded_clap).unwrap();
Pallet::<T>::slow_clap(RawOrigin::None.into(), clap, signature)?;
Pallet::<T>::trigger_nullification_for_benchmark();
let signature = authority_id.sign(&clap.encode())
.ok_or("couldn't make signature")?;
assert_eq!(<<T as pallet::Config>::Currency>::total_balance(&receiver), Default::default());
assert_eq!(ApplausesForTransaction::<T>::get(&storage_key), false);
let empty_bitmap = BitMap::new(1);
DisabledAuthorityIndexes::<T>::insert(session_index, empty_bitmap);
frame_system::Pallet::<T>::on_initialize(1u32.into());
let mut fake_received_clap =
BoundedBTreeSet::<AuthIndex, T::MaxAuthorities>::new();
assert_eq!(fake_received_clap.try_insert(1).unwrap(), true);
pallet::ReceivedClaps::<T>::insert(&next_storage_key, fake_received_clap);
}: _(RawOrigin::Signed(receiver_clone), network_id, session_index, transaction_hash, receiver_clone.clone(), amount)
assert_eq!(ApplauseDetails::<T>::get(&session_index, &args_hash).is_none(), true);
}: _(RawOrigin::None, clap, signature)
verify {
assert_eq!(ApplauseDetails::<T>::get(&session_index, &args_hash).is_some(), true);
assert_eq!(<<T as pallet::Config>::Currency>::total_balance(&receiver), amount);
assert_eq!(ApplausesForTransaction::<T>::get(&storage_key), true);
}
commit_block {
let session_index = T::ValidatorSet::session_index();
let network_id = NetworkIdOf::<T>::default();
prepare_evm_network::<T>(network_id);
let authorities = vec![T::AuthorityId::generate_pair(None)];
let bounded_authorities = WeakBoundedVec::<_, T::MaxAuthorities>::try_from(authorities.clone())
.map_err(|()| "more than the maximum number of keys provided")?;
Authorities::<T>::set(&session_index, bounded_authorities);
let authority_index = 0u32;
let block_commitment = BlockCommitment {
session_index,
authority_index,
network_id,
commitment: CommitmentDetails {
last_stored_block: 69,
commits: 420,
last_updated: 1337,
}
};
let authority_id = authorities
.get(authority_index as usize)
.expect("first authority should exist");
let signature = authority_id.sign(&block_commitment.encode())
.ok_or("couldn't make signature")?;
}: _(RawOrigin::None, block_commitment, signature)
verify {
let stored_commitment = BlockCommitments::<T>::get(&network_id)
.get(&authority_index)
.cloned()
.unwrap_or_default();
assert_eq!(stored_commitment.last_stored_block, 69);
assert_eq!(stored_commitment.commits, 1);
assert_eq!(stored_commitment.last_updated, 1337);
}
impl_benchmark_test_suite!(

View File

@ -0,0 +1,117 @@
use codec::{Decode, Encode};
use scale_info::TypeInfo;
use sp_core::RuntimeDebug;
use sp_std::collections::btree_map::BTreeMap;
use crate::AuthIndex;
pub type BucketId = u32;
pub type Bucket = u64;
#[derive(Clone, PartialEq, Encode, Decode, RuntimeDebug, TypeInfo)]
pub struct BitMap {
buckets: BTreeMap<BucketId, Bucket>,
max_length: u32,
max_value: u32,
}
impl BitMap {
pub fn new(max_value: u32) -> Self {
let mut buckets: BTreeMap<BucketId, Bucket> = Default::default();
let max_length = (max_value >> Self::size_of_bucket()) + 1;
for bucket_id in 0..(max_length) {
buckets.insert(bucket_id, 0);
}
BitMap {
buckets,
max_length,
max_value,
}
}
pub fn size_of_bucket() -> u32 {
(core::mem::size_of::<Bucket>() * 8).trailing_zeros()
}
pub fn iter_buckets(&self) -> impl Iterator<Item = (&BucketId, &Bucket)> {
self.buckets.iter()
}
pub fn exists(&self, index: &AuthIndex) -> bool {
let (bucket_id, bit_position) = self.bitmap_positions(index);
self.buckets
.get(&bucket_id)
.map(|bucket| (bucket >> bit_position) & 1 == 1)
.unwrap_or_default()
}
pub fn set(&mut self, index: AuthIndex) {
let (bucket_id, bit_position) = self.bitmap_positions(&index);
if bucket_id < self.max_length {
let bucket = self.buckets.entry(bucket_id).or_insert(0);
*bucket |= 1 << bit_position;
}
}
pub fn unset(&mut self, index: AuthIndex) {
let (bucket_id, bit_position) = self.bitmap_positions(&index);
if let Some(bucket) = self.buckets.get_mut(&bucket_id) {
*bucket &= !(1 << bit_position);
if *bucket == 0 {
self.buckets.remove(&bucket_id);
}
}
}
pub fn get_bucket(&self, bucket_id: &BucketId) -> Bucket {
self.buckets.get(bucket_id).copied().unwrap_or_default()
}
pub fn count_ones(&self) -> u32 {
let zeros: u32 = self
.iter_buckets()
.map(|(_, bucket)| bucket.count_zeros())
.sum();
let total_bits = self.total_bits();
total_bits.saturating_sub(zeros)
}
pub fn bitor(self, rhs: Self) -> Self {
let (mut base, to_merge) = if self.buckets.len() < rhs.buckets.len() {
(rhs, self)
} else {
(self, rhs)
};
for (key, rhs_value) in to_merge.buckets {
base.buckets
.entry(key)
.and_modify(|lhs_value| *lhs_value |= rhs_value)
.or_insert(rhs_value);
}
base
}
pub fn max_value(&self) -> u32 {
self.max_value
}
fn total_bits(&self) -> u32 {
let size_of_bucket = Self::size_of_bucket();
let bucket_length: u32 = 1 << size_of_bucket;
self.max_length.saturating_mul(bucket_length)
}
fn bitmap_positions(&self, index: &AuthIndex) -> (u32, u32) {
let size_of_bucket = Self::size_of_bucket();
let bucket_length = 1 << size_of_bucket;
let bucket_id = index >> size_of_bucket;
let bit_position = index % bucket_length;
(bucket_id, bit_position)
}
}

View File

@ -1,9 +1,14 @@
use sp_runtime::SaturatedConversion;
use sp_staking::SessionIndex;
use crate::{
deserialisations::{
de_string_to_bytes, de_string_to_h256, de_string_to_u64, de_string_to_u64_pure,
de_string_to_vec_of_bytes,
},
Decode, Deserialize, Encode, RuntimeDebug, Vec, H256,
AuthIndex, BalanceOf, BlockCommitment, BlockCommitments, Call, Clap, CommitmentDetails, Config,
Decode, Deserialize, Encode, NetworkIdOf, RuntimeAppPublic, RuntimeDebug, SubmitTransaction,
Vec, COMMITMENT_DELAY_MILLIS, H256, LOG_TARGET,
};
const NUMBER_OF_TOPICS: usize = 3;
@ -40,6 +45,214 @@ pub struct Log {
pub removed: bool,
}
impl EvmResponseType {
fn prepare_block_commitment<T: Config>(
&self,
from_block: u64,
authority_index: AuthIndex,
session_index: SessionIndex,
network_id: NetworkIdOf<T>,
) -> BlockCommitment<NetworkIdOf<T>> {
let last_updated = sp_io::offchain::timestamp().unix_millis();
BlockCommitment {
session_index,
authority_index,
network_id,
commitment: CommitmentDetails {
last_stored_block: from_block,
last_updated,
commits: 420,
},
}
}
fn prepare_clap<T: Config>(
&self,
authority_index: AuthIndex,
session_index: SessionIndex,
network_id: NetworkIdOf<T>,
log: &Log,
) -> Clap<T::AccountId, NetworkIdOf<T>, BalanceOf<T>> {
Clap {
authority_index,
session_index,
network_id,
removed: log.removed,
receiver: T::AccountId::decode(&mut &log.topics[1][0..32])
.expect("32 bytes always construct an AccountId32"),
amount: u128::from_be_bytes(
log.topics[2][16..32]
.try_into()
.expect("amount is valid hex; qed"),
)
.saturated_into::<BalanceOf<T>>(),
transaction_hash: log.transaction_hash.clone().expect("tx hash exists; qed"),
block_number: log.block_number.expect("block number exists; qed"),
}
}
fn iter_claps_from_logs<T: Config>(
&self,
authority_index: AuthIndex,
session_index: SessionIndex,
network_id: NetworkIdOf<T>,
) -> Vec<Clap<T::AccountId, NetworkIdOf<T>, BalanceOf<T>>> {
match self {
EvmResponseType::TransactionLogs(evm_logs) => evm_logs
.iter()
.filter_map(move |log| {
log.is_sufficient().then(|| {
self.prepare_clap::<T>(authority_index, session_index, network_id, log)
})
})
.collect(),
EvmResponseType::BlockNumber(_) => Vec::new(),
}
}
fn sign_and_submit_claps<T: Config>(
&self,
authority_index: AuthIndex,
authority_key: T::AuthorityId,
session_index: SessionIndex,
network_id: NetworkIdOf<T>,
) {
let claps = self.iter_claps_from_logs::<T>(authority_index, session_index, network_id);
let claps_len = claps.len();
log::info!(
target: LOG_TARGET,
"👻 Found {:?} claps for network {:?}",
claps_len,
network_id,
);
for (clap_index, clap) in claps.iter().enumerate() {
let signature = match authority_key.sign(&clap.encode()) {
Some(signature) => signature,
None => {
log::info!(
target: LOG_TARGET,
"👻 Clap #{} signing failed from authority #{:?} for network {:?}",
clap_index,
authority_index,
network_id,
);
return;
}
};
let call = Call::slow_clap {
clap: clap.clone(),
signature,
};
if let Err(e) =
SubmitTransaction::<T, Call<T>>::submit_unsigned_transaction(call.into())
{
log::info!(
target: LOG_TARGET,
"👻 Failed to submit clap #{} from authority #{:?} for network {:?}: {:?}",
clap_index,
authority_index,
network_id,
e,
);
}
}
}
fn sign_and_submit_block_commitment<T: Config>(
&self,
from_block: u64,
authority_index: AuthIndex,
authority_key: T::AuthorityId,
session_index: SessionIndex,
network_id: NetworkIdOf<T>,
) {
let block_commitment = self.prepare_block_commitment::<T>(
from_block,
authority_index,
session_index,
network_id,
);
let stored_last_updated = BlockCommitments::<T>::get(&network_id)
.get(&authority_index)
.map(|details| details.last_updated)
.unwrap_or_default();
let current_last_updated = block_commitment
.commitment
.last_updated
.saturating_sub(COMMITMENT_DELAY_MILLIS);
if current_last_updated < stored_last_updated {
return;
}
log::info!(
target: LOG_TARGET,
"👻 New block commitment from authority #{:?} for network {:?}",
authority_index,
network_id,
);
let signature = match authority_key.sign(&block_commitment.encode()) {
Some(signature) => signature,
None => {
log::info!(
target: LOG_TARGET,
"👻 Block commitment signing failed from authority #{:?} for network {:?}",
authority_index,
network_id,
);
return;
}
};
let call = Call::commit_block {
block_commitment,
signature,
};
if let Err(e) = SubmitTransaction::<T, Call<T>>::submit_unsigned_transaction(call.into()) {
log::info!(
target: LOG_TARGET,
"👻 Failed to submit block commitment from authority #{:?} for network {:?}: {:?}",
authority_index,
network_id,
e,
);
}
}
pub fn sign_and_submit<T: Config>(
&self,
from_block: u64,
authority_index: AuthIndex,
authority_key: T::AuthorityId,
session_index: SessionIndex,
network_id: NetworkIdOf<T>,
) {
match self {
EvmResponseType::TransactionLogs(_) => self.sign_and_submit_claps::<T>(
authority_index,
authority_key,
session_index,
network_id,
),
EvmResponseType::BlockNumber(_) => self.sign_and_submit_block_commitment::<T>(
from_block,
authority_index,
authority_key,
session_index,
network_id,
),
}
}
}
impl Log {
pub fn is_sufficient(&self) -> bool {
self.transaction_hash.is_some()

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,7 @@ use pallet_session::historical as pallet_session_historical;
use sp_runtime::{
curve::PiecewiseLinear,
testing::{TestXt, UintAuthorityId},
traits::ConvertInto,
traits::{AtLeast32BitUnsigned, ConvertInto},
Permill,
};
use sp_staking::{
@ -19,8 +19,8 @@ use sp_staking::{
use sp_runtime::BuildStorage;
use crate as slow_clap;
use crate::Config;
use crate::{self as slow_clap};
use crate::{Config, ExposureListener};
type Block = frame_system::mocking::MockBlock<Runtime>;
@ -36,17 +36,13 @@ frame_support::construct_runtime!(
);
parameter_types! {
pub static Validators: Option<Vec<u64>> = Some(vec![
1,
2,
3,
]);
pub static FixedValidators: Vec<u64> = vec![0, 1, 2, 3];
}
pub struct TestSessionManager;
impl pallet_session::SessionManager<u64> for TestSessionManager {
fn new_session(_new_index: SessionIndex) -> Option<Vec<u64>> {
Validators::mutate(|l| l.take())
Some(FixedValidators::get())
}
fn end_session(_: SessionIndex) {}
fn start_session(_: SessionIndex) {}
@ -54,17 +50,14 @@ impl pallet_session::SessionManager<u64> for TestSessionManager {
impl pallet_session::historical::SessionManager<u64, u64> for TestSessionManager {
fn new_session(_new_index: SessionIndex) -> Option<Vec<(u64, u64)>> {
Validators::mutate(|l| {
l.take()
.map(|validators| validators.iter().map(|v| (*v, *v)).collect())
})
Some(FixedValidators::get().iter().map(|l| (*l, *l)).collect())
}
fn end_session(_: SessionIndex) {}
fn start_session(_: SessionIndex) {}
}
type IdentificationTuple = (u64, u64);
type Offence = crate::ThrottlingOffence<IdentificationTuple>;
type Offence = crate::SlowClapOffence<IdentificationTuple>;
parameter_types! {
pub static Offences: Vec<(Vec<u64>, Offence)> = vec![];
@ -90,7 +83,7 @@ pub fn new_test_ext() -> sp_io::TestExternalities {
let mut result = sp_io::TestExternalities::new(t);
result.execute_with(|| {
for i in 1..=3 {
for i in 0..=3 {
System::inc_providers(&i);
assert_eq!(
Session::set_keys(RuntimeOrigin::signed(i), i.into(), vec![],),
@ -174,6 +167,33 @@ impl pallet_balances::Config for Runtime {
type WeightInfo = ();
}
type Balance = u64;
pub struct TestExposureListener;
impl ExposureListener<Balance, u64> for TestExposureListener
where
Balance: AtLeast32BitUnsigned + From<u64>,
{
fn get_account_by_index(index: usize) -> Option<u64> {
FixedValidators::get().get(index).copied()
}
fn get_total_exposure() -> Balance {
1_000_000_000u64.into()
}
fn get_validator_exposure(validator: &u64) -> Balance {
match validator {
0 => 250_000_000u64,
1 => 200_000_000u64,
2 => 250_000_000u64,
3 => 300_000_000u64,
_ => 0,
}
.into()
}
}
impl Config for Runtime {
type RuntimeEvent = RuntimeEvent;
type AuthorityId = UintAuthorityId;
@ -184,13 +204,13 @@ impl Config for Runtime {
type BlockNumberProvider = System;
type ReportUnresponsiveness = OffenceHandler;
type DisabledValidators = Session;
type ExposureListener = TestExposureListener;
type MaxAuthorities = ConstU32<5>;
type ApplauseThreshold = ConstU32<50>;
type OffenceThreshold = ConstU32<0>;
type ApplauseThreshold = ConstU32<500_000_000>;
type UnsignedPriority = ConstU64<{ 1 << 20 }>;
type HistoryDepth = HistoryDepth;
type MinAuthoritiesNumber = ConstU32<2>;
type MinAuthoritiesNumber = ConstU32<1>;
type WeightInfo = ();
}
@ -209,32 +229,7 @@ pub fn advance_session() {
let now = System::block_number().max(1);
System::set_block_number(now + 1);
Session::rotate_session();
let session_index = Session::current_index();
let authorities = Session::validators()
.into_iter()
.map(UintAuthorityId)
.collect();
SlowClap::set_test_authorities(session_index, authorities);
assert_eq!(session_index, (now / Period::get()) as u32);
}
pub fn advance_session_with_authority(authority: u64) {
let now = System::block_number().max(1);
System::set_block_number(now + 1);
Session::rotate_session();
let session_index = Session::current_index();
SlowClap::set_test_authorities(
session_index,
vec![
UintAuthorityId::from(authority),
UintAuthorityId::from(69),
UintAuthorityId::from(420),
UintAuthorityId::from(1337),
],
);
assert_eq!(session_index, (now / Period::get()) as u32);
}

File diff suppressed because it is too large Load Diff

View File

@ -48,70 +48,7 @@ use core::marker::PhantomData;
pub trait WeightInfo {
fn slow_clap() -> Weight;
fn self_applause()-> Weight;
}
/// Weight functions for `ghost_slow_clap`.
pub struct SubstrateWeight<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// Storage: `GhostSlowClaps::Authorities` (r:1 w:0)
/// Proof: `GhostSlowClaps::Authorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::ReceivedClaps` (r:1 w:1)
/// Proof: `GhostSlowClaps::ReceivedClaps` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::ClapsInSession` (r:1 w:1)
/// Proof: `GhostSlowClaps::ClapsInSession` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::ApplausesForTransaction` (r:1 w:1)
/// Proof: `GhostSlowClaps::ApplausesForTransaction` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::NullifyNeeded` (r:1 w:0)
/// Proof: `GhostNetworks::NullifyNeeded` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::Networks` (r:1 w:0)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::GatekeeperAmount` (r:1 w:1)
/// Proof: `GhostNetworks::GatekeeperAmount` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::BridgedImbalance` (r:1 w:1)
/// Proof: `GhostNetworks::BridgedImbalance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::AccumulatedCommission` (r:1 w:1)
/// Proof: `GhostNetworks::AccumulatedCommission` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `System::Account` (r:1 w:1)
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
fn slow_clap() -> Weight {
// Proof Size summary in bytes:
// Measured: `355`
// Estimated: `3820`
// Minimum execution time: 213_817_000 picoseconds.
Weight::from_parts(216_977_000, 0)
.saturating_add(Weight::from_parts(0, 3820))
.saturating_add(T::DbWeight::get().reads(10))
.saturating_add(T::DbWeight::get().writes(7))
}
/// Storage: `GhostSlowClaps::ReceivedClaps` (r:1 w:0)
/// Proof: `GhostSlowClaps::ReceivedClaps` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::Authorities` (r:1 w:0)
/// Proof: `GhostSlowClaps::Authorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::ApplausesForTransaction` (r:1 w:1)
/// Proof: `GhostSlowClaps::ApplausesForTransaction` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::NullifyNeeded` (r:1 w:0)
/// Proof: `GhostNetworks::NullifyNeeded` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::Networks` (r:1 w:0)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::GatekeeperAmount` (r:1 w:1)
/// Proof: `GhostNetworks::GatekeeperAmount` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::BridgedImbalance` (r:1 w:1)
/// Proof: `GhostNetworks::BridgedImbalance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::AccumulatedCommission` (r:1 w:1)
/// Proof: `GhostNetworks::AccumulatedCommission` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `System::Account` (r:1 w:1)
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
fn self_applause() -> Weight {
// Proof Size summary in bytes:
// Measured: `655`
// Estimated: `4120`
// Minimum execution time: 210_676_000 picoseconds.
Weight::from_parts(212_905_000, 0)
.saturating_add(Weight::from_parts(0, 4120))
.saturating_add(T::DbWeight::get().reads(9))
.saturating_add(T::DbWeight::get().writes(5))
}
fn commit_block()-> Weight;
}
impl WeightInfo for () {
@ -145,32 +82,8 @@ impl WeightInfo for () {
.saturating_add(RocksDbWeight::get().reads(10))
.saturating_add(RocksDbWeight::get().writes(7))
}
/// Storage: `GhostSlowClaps::ReceivedClaps` (r:1 w:0)
/// Proof: `GhostSlowClaps::ReceivedClaps` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::Authorities` (r:1 w:0)
/// Proof: `GhostSlowClaps::Authorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::ApplausesForTransaction` (r:1 w:1)
/// Proof: `GhostSlowClaps::ApplausesForTransaction` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::NullifyNeeded` (r:1 w:0)
/// Proof: `GhostNetworks::NullifyNeeded` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::Networks` (r:1 w:0)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::GatekeeperAmount` (r:1 w:1)
/// Proof: `GhostNetworks::GatekeeperAmount` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::BridgedImbalance` (r:1 w:1)
/// Proof: `GhostNetworks::BridgedImbalance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::AccumulatedCommission` (r:1 w:1)
/// Proof: `GhostNetworks::AccumulatedCommission` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `System::Account` (r:1 w:1)
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
fn self_applause() -> Weight {
// Proof Size summary in bytes:
// Measured: `655`
// Estimated: `4120`
// Minimum execution time: 210_676_000 picoseconds.
Weight::from_parts(212_905_000, 0)
.saturating_add(Weight::from_parts(0, 4120))
.saturating_add(RocksDbWeight::get().reads(9))
.saturating_add(RocksDbWeight::get().writes(5))
fn commit_block()-> Weight {
Default::default()
}
}

View File

@ -1,6 +1,6 @@
[package]
name = "ghost-traits"
version = "0.3.23"
version = "0.3.26"
license.workspace = true
authors.workspace = true
edition.workspace = true

View File

@ -0,0 +1,7 @@
use sp_runtime::traits::AtLeast32BitUnsigned;
pub trait ExposureListener<Balance: AtLeast32BitUnsigned, AccountId> {
fn get_account_by_index(index: usize) -> Option<AccountId>;
fn get_total_exposure() -> Balance;
fn get_validator_exposure(index: &AccountId) -> Balance;
}

View File

@ -1,3 +1,4 @@
#![cfg_attr(not(feature = "std"), no_std)]
pub mod exposure;
pub mod networks;

View File

@ -1,6 +1,6 @@
[package]
name = "casper-runtime"
version = "3.5.36"
version = "3.5.37"
build = "build.rs"
description = "Runtime of the Casper Network"
edition.workspace = true
@ -88,6 +88,7 @@ ghost-networks = { workspace = true }
ghost-claims = { workspace = true }
ghost-slow-clap = { workspace = true }
ghost-sudo = { workspace = true }
ghost-traits = { workspace = true }
casper-runtime-constants = { workspace = true }
runtime-common = { workspace = true }
primitives = { workspace = true }

View File

@ -1,6 +1,8 @@
use super::*;
use frame_support::{dispatch::DispatchResultWithPostInfo, traits::PrivilegeCmp};
use ghost_traits::exposure::ExposureListener;
use pallet_alliance::{ProposalIndex, ProposalProvider};
use primitives::Balance;
use sp_runtime::DispatchError;
use sp_std::{cmp::Ordering, marker::PhantomData};
@ -76,6 +78,36 @@ impl PrivilegeCmp<OriginCaller> for EqualOrGreatestRootCmp {
}
}
/// Used to get the exposure information out of staking pallet directly.
pub struct StakingExposureListener<T>(PhantomData<T>);
impl<T> ExposureListener<Balance, AccountIdOf<T>> for StakingExposureListener<T>
where
T: pallet_session::Config + pallet_staking::Config + frame_system::Config,
u128: From<T::CurrencyBalance>,
AccountIdOf<T>: From<<T as pallet_session::Config>::ValidatorId>,
{
fn get_account_by_index(index: usize) -> Option<AccountIdOf<T>> {
pallet_session::Pallet::<T>::validators()
.get(index)
.map(|validator| {
let account_id: AccountIdOf<T> = validator.clone().into();
account_id
})
}
fn get_total_exposure() -> Balance {
let era = pallet_staking::Pallet::<T>::current_era().unwrap_or_default();
pallet_staking::Pallet::<T>::eras_total_stake(era).into()
}
fn get_validator_exposure(validator: &AccountIdOf<T>) -> Balance {
let era = pallet_staking::Pallet::<T>::current_era().unwrap_or_default();
pallet_staking::EraInfo::<T>::get_full_exposure(era, validator)
.total
.into()
}
}
#[cfg(feature = "runtime-benchmarks")]
pub mod benchmarks {
use super::*;

View File

@ -78,7 +78,7 @@ mod genesis_config_presets;
mod impls;
mod weights;
pub use impls::{AllianceProposalProvider, EqualOrGreatestRootCmp};
pub use impls::{AllianceProposalProvider, EqualOrGreatestRootCmp, StakingExposureListener};
// Governance configuration.
pub mod cult;
@ -117,8 +117,8 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
spec_name: create_runtime_str!("casper"),
impl_name: create_runtime_str!("casper-svengali"),
authoring_version: 0,
spec_version: 6,
impl_version: 4,
spec_version: 4,
impl_version: 3,
apis: RUNTIME_API_VERSIONS,
transaction_version: 1,
state_version: 1,
@ -1058,11 +1058,8 @@ impl ghost_claims::Config<CultCollectiveInstance> for Runtime {
}
parameter_types! {
// will be used in `Perbill::from_percent()`
pub const ApplauseThreshold: u32 = 66;
// will be used in `Perbill::from_percent()`
pub const OffenceThreshold: u32 = 5;
// 4 validators should be functional if 1 is offline
// will be used in `Perbill::from_parts()`
pub const ApplauseThreshold: u32 = 500_000_000;
pub const MinAuthoritiesNumber: u32 = 5;
pub const SlowClapUnsignedPriority: TransactionPriority = TransactionPriority::MAX;
pub const SlowClapHistoryDepth: sp_staking::SessionIndex =
@ -1079,10 +1076,10 @@ impl ghost_slow_clap::Config for Runtime {
type BlockNumberProvider = System;
type ReportUnresponsiveness = Offences;
type DisabledValidators = Session;
type ExposureListener = StakingExposureListener<Runtime>;
type MaxAuthorities = MaxAuthorities;
type ApplauseThreshold = ApplauseThreshold;
type OffenceThreshold = OffenceThreshold;
type UnsignedPriority = SlowClapUnsignedPriority;
type HistoryDepth = SlowClapHistoryDepth;
type MinAuthoritiesNumber = MinAuthoritiesNumber;

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `frame_benchmarking::baseline`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -51,8 +51,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 581_000 picoseconds.
Weight::from_parts(630_062, 0)
// Minimum execution time: 621_000 picoseconds.
Weight::from_parts(690_940, 0)
.saturating_add(Weight::from_parts(0, 0))
}
/// The range of component `i` is `[0, 1000000]`.
@ -60,8 +60,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 577_000 picoseconds.
Weight::from_parts(639_502, 0)
// Minimum execution time: 606_000 picoseconds.
Weight::from_parts(677_607, 0)
.saturating_add(Weight::from_parts(0, 0))
}
/// The range of component `i` is `[0, 1000000]`.
@ -69,8 +69,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 588_000 picoseconds.
Weight::from_parts(643_988, 0)
// Minimum execution time: 598_000 picoseconds.
Weight::from_parts(659_128, 0)
.saturating_add(Weight::from_parts(0, 0))
}
/// The range of component `i` is `[0, 1000000]`.
@ -78,16 +78,16 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 587_000 picoseconds.
Weight::from_parts(646_411, 0)
// Minimum execution time: 605_000 picoseconds.
Weight::from_parts(673_448, 0)
.saturating_add(Weight::from_parts(0, 0))
}
fn hashing() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 86_383_930_000 picoseconds.
Weight::from_parts(86_405_327_000, 0)
// Minimum execution time: 95_407_728_000 picoseconds.
Weight::from_parts(96_344_808_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
/// The range of component `i` is `[0, 100]`.
@ -95,10 +95,10 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 617_000 picoseconds.
Weight::from_parts(9_197_912, 0)
// Minimum execution time: 685_000 picoseconds.
Weight::from_parts(12_791_754, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 11_936
.saturating_add(Weight::from_parts(134_040_960, 0).saturating_mul(i.into()))
// Standard Error: 7_688
.saturating_add(Weight::from_parts(133_376_480, 0).saturating_mul(i.into()))
}
}

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `frame_election_provider_support`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -53,13 +53,13 @@ impl<T: frame_system::Config> frame_election_provider_support::WeightInfo for We
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 25_492_475_000 picoseconds.
Weight::from_parts(25_652_778_000, 0)
// Minimum execution time: 30_317_999_000 picoseconds.
Weight::from_parts(30_380_201_000, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 610_576
.saturating_add(Weight::from_parts(26_134_836, 0).saturating_mul(v.into()))
// Standard Error: 62_423_156
.saturating_add(Weight::from_parts(6_191_776_057, 0).saturating_mul(d.into()))
// Standard Error: 774_739
.saturating_add(Weight::from_parts(31_260_177, 0).saturating_mul(v.into()))
// Standard Error: 79_206_569
.saturating_add(Weight::from_parts(8_117_014_928, 0).saturating_mul(d.into()))
}
/// The range of component `v` is `[1000, 2000]`.
/// The range of component `t` is `[500, 1000]`.
@ -68,12 +68,12 @@ impl<T: frame_system::Config> frame_election_provider_support::WeightInfo for We
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 17_311_486_000 picoseconds.
Weight::from_parts(17_425_500_000, 0)
// Minimum execution time: 18_925_013_000 picoseconds.
Weight::from_parts(19_106_763_000, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 525_907
.saturating_add(Weight::from_parts(21_191_580, 0).saturating_mul(v.into()))
// Standard Error: 53_766_908
.saturating_add(Weight::from_parts(5_509_535_886, 0).saturating_mul(d.into()))
// Standard Error: 587_998
.saturating_add(Weight::from_parts(23_371_104, 0).saturating_mul(v.into()))
// Standard Error: 60_114_827
.saturating_add(Weight::from_parts(6_301_306_614, 0).saturating_mul(d.into()))
}
}

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `frame_system`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-27, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -51,22 +51,22 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 10_130_000 picoseconds.
Weight::from_parts(10_233_000, 0)
// Minimum execution time: 8_939_000 picoseconds.
Weight::from_parts(9_016_000, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 0
.saturating_add(Weight::from_parts(1_073, 0).saturating_mul(b.into()))
.saturating_add(Weight::from_parts(1_078, 0).saturating_mul(b.into()))
}
/// The range of component `b` is `[0, 3932160]`.
fn remark_with_event(b: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 24_295_000 picoseconds.
Weight::from_parts(25_129_000, 0)
// Minimum execution time: 23_333_000 picoseconds.
Weight::from_parts(290_549_964, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 61
.saturating_add(Weight::from_parts(6_128, 0).saturating_mul(b.into()))
// Standard Error: 10
.saturating_add(Weight::from_parts(4_566, 0).saturating_mul(b.into()))
}
/// Storage: `System::Digest` (r:1 w:1)
/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
@ -76,8 +76,8 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `1485`
// Minimum execution time: 17_361_000 picoseconds.
Weight::from_parts(18_127_000, 0)
// Minimum execution time: 15_355_000 picoseconds.
Weight::from_parts(15_790_000, 0)
.saturating_add(Weight::from_parts(0, 1485))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(2))
@ -90,8 +90,8 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `1485`
// Minimum execution time: 276_621_374_000 picoseconds.
Weight::from_parts(465_333_875_000, 0)
// Minimum execution time: 255_524_601_000 picoseconds.
Weight::from_parts(258_199_712_000, 0)
.saturating_add(Weight::from_parts(0, 1485))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(2))
@ -103,11 +103,11 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 10_235_000 picoseconds.
Weight::from_parts(216_405_157, 0)
// Minimum execution time: 9_215_000 picoseconds.
Weight::from_parts(9_318_000, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 33_989
.saturating_add(Weight::from_parts(2_132_990, 0).saturating_mul(i.into()))
// Standard Error: 5_031
.saturating_add(Weight::from_parts(2_103_210, 0).saturating_mul(i.into()))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
}
/// Storage: `Skipped::Metadata` (r:0 w:0)
@ -117,11 +117,11 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 10_172_000 picoseconds.
Weight::from_parts(10_294_000, 0)
// Minimum execution time: 9_322_000 picoseconds.
Weight::from_parts(9_388_000, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 2_842
.saturating_add(Weight::from_parts(1_680_628, 0).saturating_mul(i.into()))
// Standard Error: 2_220
.saturating_add(Weight::from_parts(1_532_586, 0).saturating_mul(i.into()))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
}
/// Storage: `Skipped::Metadata` (r:0 w:0)
@ -129,13 +129,13 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
/// The range of component `p` is `[0, 1000]`.
fn kill_prefix(p: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `88 + p * (69 ±0)`
// Estimated: `102 + p * (70 ±0)`
// Minimum execution time: 19_692_000 picoseconds.
Weight::from_parts(19_817_000, 0)
.saturating_add(Weight::from_parts(0, 102))
// Standard Error: 5_183
.saturating_add(Weight::from_parts(3_138_053, 0).saturating_mul(p.into()))
// Measured: `94 + p * (69 ±0)`
// Estimated: `106 + p * (70 ±0)`
// Minimum execution time: 17_579_000 picoseconds.
Weight::from_parts(17_948_000, 0)
.saturating_add(Weight::from_parts(0, 106))
// Standard Error: 3_830
.saturating_add(Weight::from_parts(3_108_241, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
.saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into()))
@ -146,8 +146,8 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 41_596_000 picoseconds.
Weight::from_parts(42_415_000, 0)
// Minimum execution time: 39_762_000 picoseconds.
Weight::from_parts(40_602_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -161,8 +161,8 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `22`
// Estimated: `1518`
// Minimum execution time: 281_871_139_000 picoseconds.
Weight::from_parts(288_412_158_000, 0)
// Minimum execution time: 272_767_859_000 picoseconds.
Weight::from_parts(274_769_560_000, 0)
.saturating_add(Weight::from_parts(0, 1518))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(3))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `ghost_claims`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-02, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -62,8 +62,8 @@ impl<T: frame_system::Config> ghost_claims::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `896`
// Estimated: `16164`
// Minimum execution time: 754_086_000 picoseconds.
Weight::from_parts(756_147_000, 0)
// Minimum execution time: 745_301_000 picoseconds.
Weight::from_parts(758_040_000, 0)
.saturating_add(Weight::from_parts(0, 16164))
.saturating_add(T::DbWeight::get().reads(17))
.saturating_add(T::DbWeight::get().writes(29))

View File

@ -16,7 +16,7 @@
//! Autogenerated weights for `ghost_networks`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2025-07-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -28,7 +28,7 @@
// --chain=casper-dev
// --steps=50
// --repeat=20
// --pallet=ghost-networks
// --pallet=ghost_networks
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
@ -51,30 +51,32 @@ impl<T: frame_system::Config> ghost_networks::WeightInfo for WeightInfo<T> {
/// The range of component `i` is `[1, 20]`.
/// The range of component `j` is `[1, 150]`.
/// The range of component `k` is `[1, 20]`.
fn register_network(_i: u32, _j: u32, k: u32, ) -> Weight {
fn register_network(i: u32, j: u32, k: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `109`
// Estimated: `3574`
// Minimum execution time: 46_023_000 picoseconds.
Weight::from_parts(97_871_287, 0)
// Minimum execution time: 47_308_000 picoseconds.
Weight::from_parts(32_768_615, 0)
.saturating_add(Weight::from_parts(0, 3574))
// Standard Error: 94_524
.saturating_add(Weight::from_parts(940_486, 0).saturating_mul(k.into()))
// Standard Error: 5_701
.saturating_add(Weight::from_parts(31_258, 0).saturating_mul(i.into()))
// Standard Error: 748
.saturating_add(Weight::from_parts(102_765, 0).saturating_mul(j.into()))
// Standard Error: 5_701
.saturating_add(Weight::from_parts(1_500_633, 0).saturating_mul(k.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// The range of component `n` is `[1, 20]`.
fn update_network_name(n: u32, ) -> Weight {
fn update_network_name(_n: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 49_906_000 picoseconds.
Weight::from_parts(55_537_587, 0)
.saturating_add(Weight::from_parts(0, 3767))
// Standard Error: 87_704
.saturating_add(Weight::from_parts(92_366, 0).saturating_mul(n.into()))
// Measured: `310`
// Estimated: `3775`
// Minimum execution time: 51_079_000 picoseconds.
Weight::from_parts(52_557_946, 0)
.saturating_add(Weight::from_parts(0, 3775))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -83,13 +85,13 @@ impl<T: frame_system::Config> ghost_networks::WeightInfo for WeightInfo<T> {
/// The range of component `n` is `[1, 150]`.
fn update_network_endpoint(n: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 50_556_000 picoseconds.
Weight::from_parts(57_726_674, 0)
.saturating_add(Weight::from_parts(0, 3767))
// Standard Error: 12_261
.saturating_add(Weight::from_parts(274, 0).saturating_mul(n.into()))
// Measured: `310`
// Estimated: `3775`
// Minimum execution time: 51_709_000 picoseconds.
Weight::from_parts(53_451_989, 0)
.saturating_add(Weight::from_parts(0, 3775))
// Standard Error: 605
.saturating_add(Weight::from_parts(6_984, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -97,11 +99,11 @@ impl<T: frame_system::Config> ghost_networks::WeightInfo for WeightInfo<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_finality_delay() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 49_406_000 picoseconds.
Weight::from_parts(51_256_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
// Measured: `310`
// Estimated: `3775`
// Minimum execution time: 50_475_000 picoseconds.
Weight::from_parts(51_344_000, 0)
.saturating_add(Weight::from_parts(0, 3775))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -109,11 +111,11 @@ impl<T: frame_system::Config> ghost_networks::WeightInfo for WeightInfo<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_rate_limit_delay() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 49_572_000 picoseconds.
Weight::from_parts(52_584_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
// Measured: `310`
// Estimated: `3775`
// Minimum execution time: 50_467_000 picoseconds.
Weight::from_parts(51_264_000, 0)
.saturating_add(Weight::from_parts(0, 3775))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -121,11 +123,11 @@ impl<T: frame_system::Config> ghost_networks::WeightInfo for WeightInfo<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_block_distance() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 48_880_000 picoseconds.
Weight::from_parts(50_596_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
// Measured: `310`
// Estimated: `3775`
// Minimum execution time: 50_473_000 picoseconds.
Weight::from_parts(51_107_000, 0)
.saturating_add(Weight::from_parts(0, 3775))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -133,11 +135,11 @@ impl<T: frame_system::Config> ghost_networks::WeightInfo for WeightInfo<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_type() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 48_282_000 picoseconds.
Weight::from_parts(49_137_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
// Measured: `310`
// Estimated: `3775`
// Minimum execution time: 49_597_000 picoseconds.
Weight::from_parts(50_283_000, 0)
.saturating_add(Weight::from_parts(0, 3775))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -145,11 +147,11 @@ impl<T: frame_system::Config> ghost_networks::WeightInfo for WeightInfo<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_gatekeeper() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 50_853_000 picoseconds.
Weight::from_parts(51_982_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
// Measured: `310`
// Estimated: `3775`
// Minimum execution time: 51_083_000 picoseconds.
Weight::from_parts(52_464_000, 0)
.saturating_add(Weight::from_parts(0, 3775))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -157,11 +159,11 @@ impl<T: frame_system::Config> ghost_networks::WeightInfo for WeightInfo<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_topic_name() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 50_343_000 picoseconds.
Weight::from_parts(52_380_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
// Measured: `310`
// Estimated: `3775`
// Minimum execution time: 51_270_000 picoseconds.
Weight::from_parts(52_099_000, 0)
.saturating_add(Weight::from_parts(0, 3775))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -169,11 +171,11 @@ impl<T: frame_system::Config> ghost_networks::WeightInfo for WeightInfo<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_incoming_network_fee() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 49_393_000 picoseconds.
Weight::from_parts(80_966_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
// Measured: `310`
// Estimated: `3775`
// Minimum execution time: 50_289_000 picoseconds.
Weight::from_parts(50_924_000, 0)
.saturating_add(Weight::from_parts(0, 3775))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -181,11 +183,23 @@ impl<T: frame_system::Config> ghost_networks::WeightInfo for WeightInfo<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_outgoing_network_fee() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 49_579_000 picoseconds.
Weight::from_parts(51_126_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
// Measured: `310`
// Estimated: `3775`
// Minimum execution time: 49_880_000 picoseconds.
Weight::from_parts(51_277_000, 0)
.saturating_add(Weight::from_parts(0, 3775))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:1)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_avg_block_speed() -> Weight {
// Proof Size summary in bytes:
// Measured: `310`
// Estimated: `3775`
// Minimum execution time: 50_612_000 picoseconds.
Weight::from_parts(51_546_000, 0)
.saturating_add(Weight::from_parts(0, 3775))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -193,11 +207,11 @@ impl<T: frame_system::Config> ghost_networks::WeightInfo for WeightInfo<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn remove_network() -> Weight {
// Proof Size summary in bytes:
// Measured: `302`
// Estimated: `3767`
// Minimum execution time: 44_634_000 picoseconds.
Weight::from_parts(45_815_000, 0)
.saturating_add(Weight::from_parts(0, 3767))
// Measured: `310`
// Estimated: `3775`
// Minimum execution time: 45_819_000 picoseconds.
Weight::from_parts(46_590_000, 0)
.saturating_add(Weight::from_parts(0, 3775))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}

View File

@ -16,7 +16,7 @@
//! Autogenerated weights for `ghost_slow_clap`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2025-11-06, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -46,18 +46,26 @@ use core::marker::PhantomData;
/// Weight functions for `ghost_slow_clap`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> ghost_slow_clap::WeightInfo for WeightInfo<T> {
/// Storage: `GhostSlowClaps::ReceivedClaps` (r:1 w:1)
/// Proof: `GhostSlowClaps::ReceivedClaps` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::ClapsInSession` (r:1 w:1)
/// Proof: `GhostSlowClaps::ClapsInSession` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::Authorities` (r:1 w:0)
/// Proof: `GhostSlowClaps::Authorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::ApplausesForTransaction` (r:1 w:1)
/// Proof: `GhostSlowClaps::ApplausesForTransaction` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::NullifyNeeded` (r:1 w:0)
/// Proof: `GhostNetworks::NullifyNeeded` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::Networks` (r:1 w:0)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::ApplauseDetails` (r:1 w:1)
/// Proof: `GhostSlowClaps::ApplauseDetails` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::Authorities` (r:1 w:0)
/// Proof: `GhostSlowClaps::Authorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::DisabledAuthorityIndexes` (r:1 w:0)
/// Proof: `GhostSlowClaps::DisabledAuthorityIndexes` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::TotalExposure` (r:1 w:0)
/// Proof: `GhostSlowClaps::TotalExposure` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Session::Validators` (r:1 w:0)
/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Staking::CurrentEra` (r:1 w:0)
/// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `Staking::ErasStakersOverview` (r:1 w:0)
/// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`)
/// Storage: `GhostSlowClaps::LatestExecutedBlock` (r:1 w:1)
/// Proof: `GhostSlowClaps::LatestExecutedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::NullifyNeeded` (r:1 w:0)
/// Proof: `GhostNetworks::NullifyNeeded` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::GatekeeperAmount` (r:1 w:1)
/// Proof: `GhostNetworks::GatekeeperAmount` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::BridgedImbalance` (r:1 w:1)
@ -68,42 +76,32 @@ impl<T: frame_system::Config> ghost_slow_clap::WeightInfo for WeightInfo<T> {
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
fn slow_clap() -> Weight {
// Proof Size summary in bytes:
// Measured: `387`
// Estimated: `3852`
// Minimum execution time: 220_008_000 picoseconds.
Weight::from_parts(223_058_000, 0)
.saturating_add(Weight::from_parts(0, 3852))
.saturating_add(T::DbWeight::get().reads(10))
.saturating_add(T::DbWeight::get().writes(7))
// Measured: `1388`
// Estimated: `4853`
// Minimum execution time: 261_978_000 picoseconds.
Weight::from_parts(266_289_000, 0)
.saturating_add(Weight::from_parts(0, 4853))
.saturating_add(T::DbWeight::get().reads(14))
.saturating_add(T::DbWeight::get().writes(6))
}
/// Storage: `GhostSlowClaps::Authorities` (r:2 w:0)
/// Proof: `GhostSlowClaps::Authorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::ReceivedClaps` (r:2 w:0)
/// Proof: `GhostSlowClaps::ReceivedClaps` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::ClapsInSession` (r:1 w:0)
/// Proof: `GhostSlowClaps::ClapsInSession` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::ApplausesForTransaction` (r:1 w:1)
/// Proof: `GhostSlowClaps::ApplausesForTransaction` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::NullifyNeeded` (r:1 w:0)
/// Proof: `GhostNetworks::NullifyNeeded` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::Networks` (r:1 w:0)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::GatekeeperAmount` (r:1 w:1)
/// Proof: `GhostNetworks::GatekeeperAmount` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::BridgedImbalance` (r:1 w:1)
/// Proof: `GhostNetworks::BridgedImbalance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::AccumulatedCommission` (r:1 w:1)
/// Proof: `GhostNetworks::AccumulatedCommission` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `System::Account` (r:1 w:1)
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
fn self_applause() -> Weight {
/// Storage: `GhostSlowClaps::BlockCommitments` (r:1 w:1)
/// Proof: `GhostSlowClaps::BlockCommitments` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Session::CurrentIndex` (r:1 w:0)
/// Proof: `Session::CurrentIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::Validators` (r:1 w:0)
/// Proof: `GhostSlowClaps::Validators` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostSlowClaps::DisabledAuthorityIndexes` (r:1 w:0)
/// Proof: `GhostSlowClaps::DisabledAuthorityIndexes` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn commit_block() -> Weight {
// Proof Size summary in bytes:
// Measured: `861`
// Estimated: `6801`
// Minimum execution time: 258_510_000 picoseconds.
Weight::from_parts(262_353_000, 0)
.saturating_add(Weight::from_parts(0, 6801))
.saturating_add(T::DbWeight::get().reads(12))
.saturating_add(T::DbWeight::get().writes(5))
// Measured: `859`
// Estimated: `4324`
// Minimum execution time: 108_966_000 picoseconds.
Weight::from_parts(110_454_000, 0)
.saturating_add(Weight::from_parts(0, 4324))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(1))
}
}

View File

@ -16,7 +16,7 @@
//! Autogenerated weights for `ghost_sudo`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2025-07-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -28,7 +28,7 @@
// --chain=casper-dev
// --steps=50
// --repeat=20
// --pallet=ghost-sudo
// --pallet=ghost_sudo
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
@ -52,8 +52,8 @@ impl<T: frame_system::Config> ghost_sudo::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `165`
// Estimated: `1517`
// Minimum execution time: 40_014_000 picoseconds.
Weight::from_parts(40_856_000, 0)
// Minimum execution time: 39_580_000 picoseconds.
Weight::from_parts(40_417_000, 0)
.saturating_add(Weight::from_parts(0, 1517))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -64,8 +64,8 @@ impl<T: frame_system::Config> ghost_sudo::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `165`
// Estimated: `1517`
// Minimum execution time: 44_086_000 picoseconds.
Weight::from_parts(45_920_000, 0)
// Minimum execution time: 43_268_000 picoseconds.
Weight::from_parts(44_283_000, 0)
.saturating_add(Weight::from_parts(0, 1517))
.saturating_add(T::DbWeight::get().reads(1))
}
@ -75,8 +75,8 @@ impl<T: frame_system::Config> ghost_sudo::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `165`
// Estimated: `1517`
// Minimum execution time: 44_106_000 picoseconds.
Weight::from_parts(44_650_000, 0)
// Minimum execution time: 43_238_000 picoseconds.
Weight::from_parts(44_176_000, 0)
.saturating_add(Weight::from_parts(0, 1517))
.saturating_add(T::DbWeight::get().reads(1))
}
@ -86,8 +86,8 @@ impl<T: frame_system::Config> ghost_sudo::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `165`
// Estimated: `1517`
// Minimum execution time: 36_416_000 picoseconds.
Weight::from_parts(37_373_000, 0)
// Minimum execution time: 35_626_000 picoseconds.
Weight::from_parts(36_888_000, 0)
.saturating_add(Weight::from_parts(0, 1517))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_alliance`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -63,15 +63,15 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `471 + m * (32 ±0) + p * (36 ±0)`
// Estimated: `6676 + m * (33 ±0) + p * (36 ±0)`
// Minimum execution time: 97_002_000 picoseconds.
Weight::from_parts(98_453_208, 0)
// Minimum execution time: 96_210_000 picoseconds.
Weight::from_parts(97_061_700, 0)
.saturating_add(Weight::from_parts(0, 6676))
// Standard Error: 326
.saturating_add(Weight::from_parts(1_861, 0).saturating_mul(b.into()))
// Standard Error: 3_409
.saturating_add(Weight::from_parts(104_553, 0).saturating_mul(m.into()))
// Standard Error: 3_366
.saturating_add(Weight::from_parts(554_928, 0).saturating_mul(p.into()))
// Standard Error: 317
.saturating_add(Weight::from_parts(2_338, 0).saturating_mul(b.into()))
// Standard Error: 3_321
.saturating_add(Weight::from_parts(96_631, 0).saturating_mul(m.into()))
// Standard Error: 3_279
.saturating_add(Weight::from_parts(515_320, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(4))
.saturating_add(Weight::from_parts(0, 33).saturating_mul(m.into()))
@ -86,11 +86,11 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `944 + m * (64 ±0)`
// Estimated: `6676 + m * (64 ±0)`
// Minimum execution time: 83_771_000 picoseconds.
Weight::from_parts(86_230_346, 0)
// Minimum execution time: 83_783_000 picoseconds.
Weight::from_parts(86_525_237, 0)
.saturating_add(Weight::from_parts(0, 6676))
// Standard Error: 2_403
.saturating_add(Weight::from_parts(129_802, 0).saturating_mul(m.into()))
// Standard Error: 2_551
.saturating_add(Weight::from_parts(124_191, 0).saturating_mul(m.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
@ -111,13 +111,13 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `429 + m * (96 ±0) + p * (36 ±0)`
// Estimated: `6676 + m * (97 ±0) + p * (36 ±0)`
// Minimum execution time: 113_902_000 picoseconds.
Weight::from_parts(107_712_061, 0)
// Minimum execution time: 111_922_000 picoseconds.
Weight::from_parts(106_948_472, 0)
.saturating_add(Weight::from_parts(0, 6676))
// Standard Error: 4_237
.saturating_add(Weight::from_parts(184_456, 0).saturating_mul(m.into()))
// Standard Error: 4_132
.saturating_add(Weight::from_parts(590_832, 0).saturating_mul(p.into()))
// Standard Error: 4_455
.saturating_add(Weight::from_parts(163_787, 0).saturating_mul(m.into()))
// Standard Error: 4_344
.saturating_add(Weight::from_parts(576_592, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
.saturating_add(Weight::from_parts(0, 97).saturating_mul(m.into()))
@ -140,15 +140,15 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `679 + m * (96 ±0) + p * (42 ±0)`
// Estimated: `6676 + m * (98 ±0) + p * (41 ±0)`
// Minimum execution time: 161_378_000 picoseconds.
Weight::from_parts(156_939_196, 0)
// Minimum execution time: 157_617_000 picoseconds.
Weight::from_parts(153_717_351, 0)
.saturating_add(Weight::from_parts(0, 6676))
// Standard Error: 327
.saturating_add(Weight::from_parts(3_093, 0).saturating_mul(b.into()))
// Standard Error: 3_460
.saturating_add(Weight::from_parts(142_907, 0).saturating_mul(m.into()))
// Standard Error: 3_373
.saturating_add(Weight::from_parts(574_727, 0).saturating_mul(p.into()))
// Standard Error: 401
.saturating_add(Weight::from_parts(3_604, 0).saturating_mul(b.into()))
// Standard Error: 4_247
.saturating_add(Weight::from_parts(117_750, 0).saturating_mul(m.into()))
// Standard Error: 4_140
.saturating_add(Weight::from_parts(561_157, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(3))
.saturating_add(Weight::from_parts(0, 98).saturating_mul(m.into()))
@ -174,13 +174,13 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `647 + m * (96 ±0) + p * (41 ±0)`
// Estimated: `6676 + m * (109 ±0) + p * (43 ±0)`
// Minimum execution time: 163_874_000 picoseconds.
Weight::from_parts(155_209_353, 0)
// Minimum execution time: 159_933_000 picoseconds.
Weight::from_parts(147_914_184, 0)
.saturating_add(Weight::from_parts(0, 6676))
// Standard Error: 12_962
.saturating_add(Weight::from_parts(325_062, 0).saturating_mul(m.into()))
// Standard Error: 12_804
.saturating_add(Weight::from_parts(638_122, 0).saturating_mul(p.into()))
// Standard Error: 12_990
.saturating_add(Weight::from_parts(334_224, 0).saturating_mul(m.into()))
// Standard Error: 12_831
.saturating_add(Weight::from_parts(648_247, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(4))
.saturating_add(Weight::from_parts(0, 109).saturating_mul(m.into()))
@ -205,15 +205,15 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `428 + m * (96 ±0) + p * (37 ±0)`
// Estimated: `6676 + m * (97 ±0) + p * (36 ±0)`
// Minimum execution time: 117_142_000 picoseconds.
Weight::from_parts(110_028_926, 0)
// Minimum execution time: 114_894_000 picoseconds.
Weight::from_parts(111_420_664, 0)
.saturating_add(Weight::from_parts(0, 6676))
// Standard Error: 331
.saturating_add(Weight::from_parts(2_288, 0).saturating_mul(b.into()))
// Standard Error: 3_551
.saturating_add(Weight::from_parts(172_027, 0).saturating_mul(m.into()))
// Standard Error: 3_423
.saturating_add(Weight::from_parts(582_787, 0).saturating_mul(p.into()))
// Standard Error: 400
.saturating_add(Weight::from_parts(1_009, 0).saturating_mul(b.into()))
// Standard Error: 4_280
.saturating_add(Weight::from_parts(157_690, 0).saturating_mul(m.into()))
// Standard Error: 4_126
.saturating_add(Weight::from_parts(558_773, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(3))
.saturating_add(Weight::from_parts(0, 97).saturating_mul(m.into()))
@ -229,13 +229,13 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `115`
// Estimated: `12362`
// Minimum execution time: 94_196_000 picoseconds.
Weight::from_parts(65_225_469, 0)
// Minimum execution time: 90_267_000 picoseconds.
Weight::from_parts(62_422_118, 0)
.saturating_add(Weight::from_parts(0, 12362))
// Standard Error: 3_118
.saturating_add(Weight::from_parts(383_319, 0).saturating_mul(m.into()))
// Standard Error: 3_081
.saturating_add(Weight::from_parts(322_848, 0).saturating_mul(z.into()))
// Standard Error: 3_761
.saturating_add(Weight::from_parts(338_560, 0).saturating_mul(m.into()))
// Standard Error: 3_716
.saturating_add(Weight::from_parts(310_453, 0).saturating_mul(z.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(3))
}
@ -256,17 +256,17 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
/// The range of component `z` is `[0, 50]`.
fn disband(x: u32, y: u32, z: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `0 + x * (48 ±0) + y * (51 ±0) + z * (251 ±0)`
// Measured: `0 + x * (49 ±0) + y * (51 ±0) + z * (250 ±0)`
// Estimated: `12362 + x * (2539 ±0) + y * (2539 ±0) + z * (2603 ±1)`
// Minimum execution time: 1_234_256_000 picoseconds.
Weight::from_parts(16_239_078, 0)
// Minimum execution time: 1_255_117_000 picoseconds.
Weight::from_parts(1_259_045_000, 0)
.saturating_add(Weight::from_parts(0, 12362))
// Standard Error: 21_211
.saturating_add(Weight::from_parts(6_672_158, 0).saturating_mul(x.into()))
// Standard Error: 20_961
.saturating_add(Weight::from_parts(6_811_767, 0).saturating_mul(y.into()))
// Standard Error: 41_888
.saturating_add(Weight::from_parts(64_921_111, 0).saturating_mul(z.into()))
// Standard Error: 95_692
.saturating_add(Weight::from_parts(1_972_665, 0).saturating_mul(x.into()))
// Standard Error: 95_231
.saturating_add(Weight::from_parts(1_914_286, 0).saturating_mul(y.into()))
// Standard Error: 190_288
.saturating_add(Weight::from_parts(52_553_932, 0).saturating_mul(z.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into())))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(y.into())))
@ -283,8 +283,8 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 24_181_000 picoseconds.
Weight::from_parts(24_667_000, 0)
// Minimum execution time: 23_352_000 picoseconds.
Weight::from_parts(23_905_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -294,8 +294,8 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `180`
// Estimated: `10187`
// Minimum execution time: 38_619_000 picoseconds.
Weight::from_parts(39_318_000, 0)
// Minimum execution time: 39_001_000 picoseconds.
Weight::from_parts(39_888_000, 0)
.saturating_add(Weight::from_parts(0, 10187))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -306,8 +306,8 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `253`
// Estimated: `10187`
// Minimum execution time: 42_291_000 picoseconds.
Weight::from_parts(42_908_000, 0)
// Minimum execution time: 42_546_000 picoseconds.
Weight::from_parts(43_204_000, 0)
.saturating_add(Weight::from_parts(0, 10187))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -322,10 +322,10 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
/// Proof: `Alliance::DepositOf` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
fn join_alliance() -> Weight {
// Proof Size summary in bytes:
// Measured: `440`
// Measured: `402`
// Estimated: `18048`
// Minimum execution time: 157_993_000 picoseconds.
Weight::from_parts(158_860_000, 0)
// Minimum execution time: 155_977_000 picoseconds.
Weight::from_parts(157_644_000, 0)
.saturating_add(Weight::from_parts(0, 18048))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(3))
@ -336,10 +336,10 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
/// Proof: `Alliance::UnscrupulousAccounts` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
fn nominate_ally() -> Weight {
// Proof Size summary in bytes:
// Measured: `339`
// Measured: `301`
// Estimated: `18048`
// Minimum execution time: 92_924_000 picoseconds.
Weight::from_parts(93_984_000, 0)
// Minimum execution time: 94_314_000 picoseconds.
Weight::from_parts(95_782_000, 0)
.saturating_add(Weight::from_parts(0, 18048))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(1))
@ -356,8 +356,8 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `340`
// Estimated: `12362`
// Minimum execution time: 89_941_000 picoseconds.
Weight::from_parts(90_683_000, 0)
// Minimum execution time: 90_026_000 picoseconds.
Weight::from_parts(91_012_000, 0)
.saturating_add(Weight::from_parts(0, 12362))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(4))
@ -376,8 +376,8 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `340`
// Estimated: `23734`
// Minimum execution time: 115_079_000 picoseconds.
Weight::from_parts(116_006_000, 0)
// Minimum execution time: 114_599_000 picoseconds.
Weight::from_parts(115_242_000, 0)
.saturating_add(Weight::from_parts(0, 23734))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(5))
@ -394,8 +394,8 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `621`
// Estimated: `6676`
// Minimum execution time: 141_769_000 picoseconds.
Weight::from_parts(142_752_000, 0)
// Minimum execution time: 138_656_000 picoseconds.
Weight::from_parts(139_830_000, 0)
.saturating_add(Weight::from_parts(0, 6676))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(4))
@ -416,8 +416,8 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `604`
// Estimated: `18048`
// Minimum execution time: 211_219_000 picoseconds.
Weight::from_parts(212_953_000, 0)
// Minimum execution time: 208_754_000 picoseconds.
Weight::from_parts(210_357_000, 0)
.saturating_add(Weight::from_parts(0, 18048))
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(5))
@ -432,13 +432,13 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `180`
// Estimated: `27187`
// Minimum execution time: 21_699_000 picoseconds.
Weight::from_parts(21_893_000, 0)
// Minimum execution time: 20_857_000 picoseconds.
Weight::from_parts(21_043_000, 0)
.saturating_add(Weight::from_parts(0, 27187))
// Standard Error: 10_128
.saturating_add(Weight::from_parts(3_357_496, 0).saturating_mul(n.into()))
// Standard Error: 3_966
.saturating_add(Weight::from_parts(216_176, 0).saturating_mul(l.into()))
// Standard Error: 10_346
.saturating_add(Weight::from_parts(3_350_295, 0).saturating_mul(n.into()))
// Standard Error: 4_052
.saturating_add(Weight::from_parts(222_910, 0).saturating_mul(l.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -452,13 +452,13 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0 + l * (100 ±0) + n * (289 ±0)`
// Estimated: `27187`
// Minimum execution time: 21_895_000 picoseconds.
Weight::from_parts(22_138_000, 0)
// Minimum execution time: 20_722_000 picoseconds.
Weight::from_parts(20_898_000, 0)
.saturating_add(Weight::from_parts(0, 27187))
// Standard Error: 632_441
.saturating_add(Weight::from_parts(63_177_711, 0).saturating_mul(n.into()))
// Standard Error: 247_692
.saturating_add(Weight::from_parts(273_557, 0).saturating_mul(l.into()))
// Standard Error: 641_628
.saturating_add(Weight::from_parts(64_136_091, 0).saturating_mul(n.into()))
// Standard Error: 251_289
.saturating_add(Weight::from_parts(310_793, 0).saturating_mul(l.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -474,8 +474,8 @@ impl<T: frame_system::Config> pallet_alliance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `340`
// Estimated: `18048`
// Minimum execution time: 111_710_000 picoseconds.
Weight::from_parts(113_642_000, 0)
// Minimum execution time: 112_174_000 picoseconds.
Weight::from_parts(114_408_000, 0)
.saturating_add(Weight::from_parts(0, 18048))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(4))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_babe`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -47,14 +47,12 @@ use core::marker::PhantomData;
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_babe::WeightInfo for WeightInfo<T> {
/// The range of component `x` is `[0, 1]`.
fn check_equivocation_proof(x: u32, ) -> Weight {
fn check_equivocation_proof(_x: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 295_685_000 picoseconds.
Weight::from_parts(296_671_979, 0)
// Minimum execution time: 295_038_000 picoseconds.
Weight::from_parts(298_100_475, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 68_488
.saturating_add(Weight::from_parts(188_520, 0).saturating_mul(x.into()))
}
}

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_bags_list`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-27, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -58,8 +58,8 @@ impl<T: frame_system::Config> pallet_bags_list::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1612`
// Estimated: `11506`
// Minimum execution time: 216_814_000 picoseconds.
Weight::from_parts(218_794_000, 0)
// Minimum execution time: 205_937_000 picoseconds.
Weight::from_parts(208_759_000, 0)
.saturating_add(Weight::from_parts(0, 11506))
.saturating_add(T::DbWeight::get().reads(7))
.saturating_add(T::DbWeight::get().writes(5))
@ -76,8 +76,8 @@ impl<T: frame_system::Config> pallet_bags_list::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1506`
// Estimated: `8877`
// Minimum execution time: 210_157_000 picoseconds.
Weight::from_parts(214_628_000, 0)
// Minimum execution time: 200_730_000 picoseconds.
Weight::from_parts(202_176_000, 0)
.saturating_add(Weight::from_parts(0, 8877))
.saturating_add(T::DbWeight::get().reads(7))
.saturating_add(T::DbWeight::get().writes(5))
@ -96,8 +96,8 @@ impl<T: frame_system::Config> pallet_bags_list::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1815`
// Estimated: `11506`
// Minimum execution time: 255_261_000 picoseconds.
Weight::from_parts(258_576_000, 0)
// Minimum execution time: 242_324_000 picoseconds.
Weight::from_parts(245_160_000, 0)
.saturating_add(Weight::from_parts(0, 11506))
.saturating_add(T::DbWeight::get().reads(10))
.saturating_add(T::DbWeight::get().writes(6))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_balances`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -52,8 +52,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `3593`
// Minimum execution time: 190_705_000 picoseconds.
Weight::from_parts(192_096_000, 0)
// Minimum execution time: 186_251_000 picoseconds.
Weight::from_parts(188_493_000, 0)
.saturating_add(Weight::from_parts(0, 3593))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -64,8 +64,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `3593`
// Minimum execution time: 151_366_000 picoseconds.
Weight::from_parts(152_572_000, 0)
// Minimum execution time: 148_070_000 picoseconds.
Weight::from_parts(149_658_000, 0)
.saturating_add(Weight::from_parts(0, 3593))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -74,10 +74,10 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
fn force_set_balance_creating() -> Weight {
// Proof Size summary in bytes:
// Measured: `240`
// Measured: `207`
// Estimated: `3593`
// Minimum execution time: 60_457_000 picoseconds.
Weight::from_parts(62_112_000, 0)
// Minimum execution time: 60_874_000 picoseconds.
Weight::from_parts(61_463_000, 0)
.saturating_add(Weight::from_parts(0, 3593))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -86,10 +86,10 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
fn force_set_balance_killing() -> Weight {
// Proof Size summary in bytes:
// Measured: `240`
// Measured: `207`
// Estimated: `3593`
// Minimum execution time: 81_215_000 picoseconds.
Weight::from_parts(82_316_000, 0)
// Minimum execution time: 79_499_000 picoseconds.
Weight::from_parts(81_083_000, 0)
.saturating_add(Weight::from_parts(0, 3593))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -98,10 +98,10 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
fn force_transfer() -> Weight {
// Proof Size summary in bytes:
// Measured: `140`
// Measured: `103`
// Estimated: `6196`
// Minimum execution time: 201_571_000 picoseconds.
Weight::from_parts(204_225_000, 0)
// Minimum execution time: 198_506_000 picoseconds.
Weight::from_parts(199_817_000, 0)
.saturating_add(Weight::from_parts(0, 6196))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
@ -112,8 +112,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `3593`
// Minimum execution time: 187_576_000 picoseconds.
Weight::from_parts(188_504_000, 0)
// Minimum execution time: 184_028_000 picoseconds.
Weight::from_parts(185_727_000, 0)
.saturating_add(Weight::from_parts(0, 3593))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -122,10 +122,10 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
fn force_unreserve() -> Weight {
// Proof Size summary in bytes:
// Measured: `240`
// Measured: `207`
// Estimated: `3593`
// Minimum execution time: 73_195_000 picoseconds.
Weight::from_parts(74_326_000, 0)
// Minimum execution time: 72_546_000 picoseconds.
Weight::from_parts(73_559_000, 0)
.saturating_add(Weight::from_parts(0, 3593))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -137,11 +137,11 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0 + u * (135 ±0)`
// Estimated: `990 + u * (2603 ±0)`
// Minimum execution time: 70_352_000 picoseconds.
Weight::from_parts(70_896_000, 0)
// Minimum execution time: 69_445_000 picoseconds.
Weight::from_parts(69_575_000, 0)
.saturating_add(Weight::from_parts(0, 990))
// Standard Error: 33_025
.saturating_add(Weight::from_parts(54_012_098, 0).saturating_mul(u.into()))
// Standard Error: 35_042
.saturating_add(Weight::from_parts(53_275_288, 0).saturating_mul(u.into()))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(u.into())))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(u.into())))
.saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into()))
@ -150,24 +150,24 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 24_157_000 picoseconds.
Weight::from_parts(24_793_000, 0)
// Minimum execution time: 23_988_000 picoseconds.
Weight::from_parts(24_623_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
fn burn_allow_death() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 117_793_000 picoseconds.
Weight::from_parts(119_425_000, 0)
// Minimum execution time: 117_406_000 picoseconds.
Weight::from_parts(118_538_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
fn burn_keep_alive() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 80_675_000 picoseconds.
Weight::from_parts(81_648_000, 0)
// Minimum execution time: 80_259_000 picoseconds.
Weight::from_parts(81_323_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
}

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_collective`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -61,13 +61,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0 + m * (3232 ±0) + p * (3190 ±0)`
// Estimated: `15691 + m * (1967 ±23) + p * (4332 ±23)`
// Minimum execution time: 55_767_000 picoseconds.
Weight::from_parts(56_636_000, 0)
// Minimum execution time: 52_928_000 picoseconds.
Weight::from_parts(53_873_000, 0)
.saturating_add(Weight::from_parts(0, 15691))
// Standard Error: 160_794
.saturating_add(Weight::from_parts(11_373_581, 0).saturating_mul(m.into()))
// Standard Error: 160_794
.saturating_add(Weight::from_parts(24_336_121, 0).saturating_mul(p.into()))
// Standard Error: 216_665
.saturating_add(Weight::from_parts(16_472_744, 0).saturating_mul(m.into()))
// Standard Error: 216_665
.saturating_add(Weight::from_parts(28_709_607, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
.saturating_add(T::DbWeight::get().writes(2))
@ -83,13 +83,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `32 + m * (32 ±0)`
// Estimated: `1518 + m * (32 ±0)`
// Minimum execution time: 53_501_000 picoseconds.
Weight::from_parts(50_367_784, 0)
// Minimum execution time: 52_575_000 picoseconds.
Weight::from_parts(50_169_848, 0)
.saturating_add(Weight::from_parts(0, 1518))
// Standard Error: 53
.saturating_add(Weight::from_parts(4_666, 0).saturating_mul(b.into()))
// Standard Error: 547
.saturating_add(Weight::from_parts(38_691, 0).saturating_mul(m.into()))
// Standard Error: 120
.saturating_add(Weight::from_parts(4_820, 0).saturating_mul(b.into()))
// Standard Error: 1_243
.saturating_add(Weight::from_parts(34_828, 0).saturating_mul(m.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
}
@ -103,13 +103,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `32 + m * (32 ±0)`
// Estimated: `3498 + m * (32 ±0)`
// Minimum execution time: 64_064_000 picoseconds.
Weight::from_parts(59_986_733, 0)
// Minimum execution time: 63_607_000 picoseconds.
Weight::from_parts(60_608_181, 0)
.saturating_add(Weight::from_parts(0, 3498))
// Standard Error: 80
.saturating_add(Weight::from_parts(5_165, 0).saturating_mul(b.into()))
// Standard Error: 833
.saturating_add(Weight::from_parts(50_309, 0).saturating_mul(m.into()))
// Standard Error: 114
.saturating_add(Weight::from_parts(4_472, 0).saturating_mul(b.into()))
// Standard Error: 1_179
.saturating_add(Weight::from_parts(58_380, 0).saturating_mul(m.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
}
@ -130,15 +130,15 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `322 + m * (32 ±0) + p * (36 ±0)`
// Estimated: `3714 + m * (33 ±0) + p * (36 ±0)`
// Minimum execution time: 81_966_000 picoseconds.
Weight::from_parts(76_356_962, 0)
// Minimum execution time: 81_855_000 picoseconds.
Weight::from_parts(76_036_301, 0)
.saturating_add(Weight::from_parts(0, 3714))
// Standard Error: 250
.saturating_add(Weight::from_parts(10_378, 0).saturating_mul(b.into()))
// Standard Error: 2_613
.saturating_add(Weight::from_parts(46_062, 0).saturating_mul(m.into()))
// Standard Error: 2_579
.saturating_add(Weight::from_parts(612_264, 0).saturating_mul(p.into()))
// Standard Error: 294
.saturating_add(Weight::from_parts(11_879, 0).saturating_mul(b.into()))
// Standard Error: 3_074
.saturating_add(Weight::from_parts(44_888, 0).saturating_mul(m.into()))
// Standard Error: 3_035
.saturating_add(Weight::from_parts(601_296, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(4))
.saturating_add(Weight::from_parts(0, 33).saturating_mul(m.into()))
@ -153,11 +153,11 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `771 + m * (64 ±0)`
// Estimated: `4235 + m * (64 ±0)`
// Minimum execution time: 73_065_000 picoseconds.
Weight::from_parts(75_774_038, 0)
// Minimum execution time: 73_450_000 picoseconds.
Weight::from_parts(75_584_927, 0)
.saturating_add(Weight::from_parts(0, 4235))
// Standard Error: 3_051
.saturating_add(Weight::from_parts(101_825, 0).saturating_mul(m.into()))
// Standard Error: 3_243
.saturating_add(Weight::from_parts(100_798, 0).saturating_mul(m.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
@ -176,13 +176,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `360 + m * (64 ±0) + p * (36 ±0)`
// Estimated: `3805 + m * (65 ±0) + p * (36 ±0)`
// Minimum execution time: 86_413_000 picoseconds.
Weight::from_parts(84_843_269, 0)
// Minimum execution time: 88_475_000 picoseconds.
Weight::from_parts(86_864_180, 0)
.saturating_add(Weight::from_parts(0, 3805))
// Standard Error: 3_251
.saturating_add(Weight::from_parts(54_550, 0).saturating_mul(m.into()))
// Standard Error: 3_170
.saturating_add(Weight::from_parts(539_260, 0).saturating_mul(p.into()))
// Standard Error: 3_074
.saturating_add(Weight::from_parts(61_103, 0).saturating_mul(m.into()))
// Standard Error: 2_997
.saturating_add(Weight::from_parts(521_770, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(3))
.saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into()))
@ -203,13 +203,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `662 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)`
// Estimated: `3979 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)`
// Minimum execution time: 123_381_000 picoseconds.
Weight::from_parts(119_321_351, 0)
// Minimum execution time: 122_041_000 picoseconds.
Weight::from_parts(119_856_590, 0)
.saturating_add(Weight::from_parts(0, 3979))
// Standard Error: 643
.saturating_add(Weight::from_parts(11_500, 0).saturating_mul(b.into()))
// Standard Error: 6_632
.saturating_add(Weight::from_parts(717_414, 0).saturating_mul(p.into()))
// Standard Error: 667
.saturating_add(Weight::from_parts(9_450, 0).saturating_mul(b.into()))
// Standard Error: 6_875
.saturating_add(Weight::from_parts(722_820, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
@ -232,13 +232,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `458 + m * (48 ±0) + p * (36 ±0)`
// Estimated: `3898 + m * (49 ±0) + p * (36 ±0)`
// Minimum execution time: 93_038_000 picoseconds.
Weight::from_parts(92_223_927, 0)
// Minimum execution time: 94_729_000 picoseconds.
Weight::from_parts(94_114_064, 0)
.saturating_add(Weight::from_parts(0, 3898))
// Standard Error: 3_126
.saturating_add(Weight::from_parts(42_141, 0).saturating_mul(m.into()))
// Standard Error: 3_048
.saturating_add(Weight::from_parts(555_724, 0).saturating_mul(p.into()))
// Standard Error: 2_829
.saturating_add(Weight::from_parts(44_128, 0).saturating_mul(m.into()))
// Standard Error: 2_759
.saturating_add(Weight::from_parts(534_877, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
.saturating_add(Weight::from_parts(0, 49).saturating_mul(m.into()))
@ -261,13 +261,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `682 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)`
// Estimated: `3999 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)`
// Minimum execution time: 129_214_000 picoseconds.
Weight::from_parts(128_136_995, 0)
// Minimum execution time: 130_654_000 picoseconds.
Weight::from_parts(128_611_780, 0)
.saturating_add(Weight::from_parts(0, 3999))
// Standard Error: 628
.saturating_add(Weight::from_parts(8_498, 0).saturating_mul(b.into()))
// Standard Error: 6_472
.saturating_add(Weight::from_parts(726_573, 0).saturating_mul(p.into()))
// Standard Error: 681
.saturating_add(Weight::from_parts(10_601, 0).saturating_mul(b.into()))
// Standard Error: 7_024
.saturating_add(Weight::from_parts(719_626, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(3))
.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
@ -285,11 +285,11 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `189 + p * (32 ±0)`
// Estimated: `1674 + p * (32 ±0)`
// Minimum execution time: 51_418_000 picoseconds.
Weight::from_parts(52_271_519, 0)
// Minimum execution time: 51_098_000 picoseconds.
Weight::from_parts(51_768_978, 0)
.saturating_add(Weight::from_parts(0, 1674))
// Standard Error: 2_554
.saturating_add(Weight::from_parts(524_745, 0).saturating_mul(p.into()))
// Standard Error: 1_740
.saturating_add(Weight::from_parts(514_349, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(3))
.saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into()))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_core_fellowship`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -52,8 +52,8 @@ impl<T: frame_system::Config> pallet_core_fellowship::WeightInfo for WeightInfo<
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 24_436_000 picoseconds.
Weight::from_parts(24_940_000, 0)
// Minimum execution time: 24_114_000 picoseconds.
Weight::from_parts(24_650_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -73,10 +73,10 @@ impl<T: frame_system::Config> pallet_core_fellowship::WeightInfo for WeightInfo<
/// Proof: `CultCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
fn bump_offboard() -> Weight {
// Proof Size summary in bytes:
// Measured: `66884`
// Measured: `66531`
// Estimated: `69046`
// Minimum execution time: 387_602_000 picoseconds.
Weight::from_parts(391_884_000, 0)
// Minimum execution time: 369_406_000 picoseconds.
Weight::from_parts(378_675_000, 0)
.saturating_add(Weight::from_parts(0, 69046))
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(6))
@ -97,10 +97,10 @@ impl<T: frame_system::Config> pallet_core_fellowship::WeightInfo for WeightInfo<
/// Proof: `CultCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
fn bump_demote() -> Weight {
// Proof Size summary in bytes:
// Measured: `66925`
// Measured: `66641`
// Estimated: `69046`
// Minimum execution time: 395_467_000 picoseconds.
Weight::from_parts(399_507_000, 0)
// Minimum execution time: 377_950_000 picoseconds.
Weight::from_parts(383_926_000, 0)
.saturating_add(Weight::from_parts(0, 69046))
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(6))
@ -111,10 +111,10 @@ impl<T: frame_system::Config> pallet_core_fellowship::WeightInfo for WeightInfo<
/// Proof: `CultCore::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
fn set_active() -> Weight {
// Proof Size summary in bytes:
// Measured: `565`
// Measured: `493`
// Estimated: `3514`
// Minimum execution time: 66_931_000 picoseconds.
Weight::from_parts(68_036_000, 0)
// Minimum execution time: 66_378_000 picoseconds.
Weight::from_parts(67_186_000, 0)
.saturating_add(Weight::from_parts(0, 3514))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -131,10 +131,10 @@ impl<T: frame_system::Config> pallet_core_fellowship::WeightInfo for WeightInfo<
/// Proof: `CultCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
fn induct() -> Weight {
// Proof Size summary in bytes:
// Measured: `530`
// Measured: `251`
// Estimated: `3514`
// Minimum execution time: 113_787_000 picoseconds.
Weight::from_parts(115_087_000, 0)
// Minimum execution time: 97_387_000 picoseconds.
Weight::from_parts(98_825_000, 0)
.saturating_add(Weight::from_parts(0, 3514))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(5))
@ -155,10 +155,10 @@ impl<T: frame_system::Config> pallet_core_fellowship::WeightInfo for WeightInfo<
/// Proof: `CultCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
fn promote() -> Weight {
// Proof Size summary in bytes:
// Measured: `66636`
// Measured: `66509`
// Estimated: `69046`
// Minimum execution time: 366_918_000 picoseconds.
Weight::from_parts(369_534_000, 0)
// Minimum execution time: 355_360_000 picoseconds.
Weight::from_parts(365_158_000, 0)
.saturating_add(Weight::from_parts(0, 69046))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(6))
@ -171,10 +171,10 @@ impl<T: frame_system::Config> pallet_core_fellowship::WeightInfo for WeightInfo<
/// Proof: `CultCore::MemberEvidence` (`max_values`: None, `max_size`: Some(65581), added: 68056, mode: `MaxEncodedLen`)
fn offboard() -> Weight {
// Proof Size summary in bytes:
// Measured: `552`
// Measured: `398`
// Estimated: `3514`
// Minimum execution time: 69_301_000 picoseconds.
Weight::from_parts(70_382_000, 0)
// Minimum execution time: 68_103_000 picoseconds.
Weight::from_parts(68_840_000, 0)
.saturating_add(Weight::from_parts(0, 3514))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
@ -185,10 +185,10 @@ impl<T: frame_system::Config> pallet_core_fellowship::WeightInfo for WeightInfo<
/// Proof: `CultCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
fn import() -> Weight {
// Proof Size summary in bytes:
// Measured: `490`
// Measured: `418`
// Estimated: `3514`
// Minimum execution time: 63_841_000 picoseconds.
Weight::from_parts(64_810_000, 0)
// Minimum execution time: 62_920_000 picoseconds.
Weight::from_parts(63_842_000, 0)
.saturating_add(Weight::from_parts(0, 3514))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -201,10 +201,10 @@ impl<T: frame_system::Config> pallet_core_fellowship::WeightInfo for WeightInfo<
/// Proof: `CultCore::MemberEvidence` (`max_values`: None, `max_size`: Some(65581), added: 68056, mode: `MaxEncodedLen`)
fn approve() -> Weight {
// Proof Size summary in bytes:
// Measured: `66172`
// Measured: `66100`
// Estimated: `69046`
// Minimum execution time: 301_638_000 picoseconds.
Weight::from_parts(303_373_000, 0)
// Minimum execution time: 295_396_000 picoseconds.
Weight::from_parts(300_948_000, 0)
.saturating_add(Weight::from_parts(0, 69046))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
@ -215,10 +215,10 @@ impl<T: frame_system::Config> pallet_core_fellowship::WeightInfo for WeightInfo<
/// Proof: `CultCore::MemberEvidence` (`max_values`: None, `max_size`: Some(65581), added: 68056, mode: `MaxEncodedLen`)
fn submit_evidence() -> Weight {
// Proof Size summary in bytes:
// Measured: `151`
// Measured: `184`
// Estimated: `69046`
// Minimum execution time: 253_463_000 picoseconds.
Weight::from_parts(255_091_000, 0)
// Minimum execution time: 246_746_000 picoseconds.
Weight::from_parts(254_720_000, 0)
.saturating_add(Weight::from_parts(0, 69046))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_election_provider_multi_phase`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -66,8 +66,8 @@ impl<T: frame_system::Config> pallet_election_provider_multi_phase::WeightInfo f
// Proof Size summary in bytes:
// Measured: `918`
// Estimated: `3481`
// Minimum execution time: 59_356_000 picoseconds.
Weight::from_parts(60_470_000, 0)
// Minimum execution time: 60_852_000 picoseconds.
Weight::from_parts(61_910_000, 0)
.saturating_add(Weight::from_parts(0, 3481))
.saturating_add(T::DbWeight::get().reads(8))
}
@ -79,8 +79,8 @@ impl<T: frame_system::Config> pallet_election_provider_multi_phase::WeightInfo f
// Proof Size summary in bytes:
// Measured: `43`
// Estimated: `1528`
// Minimum execution time: 38_516_000 picoseconds.
Weight::from_parts(39_173_000, 0)
// Minimum execution time: 38_791_000 picoseconds.
Weight::from_parts(39_533_000, 0)
.saturating_add(Weight::from_parts(0, 1528))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -93,8 +93,8 @@ impl<T: frame_system::Config> pallet_election_provider_multi_phase::WeightInfo f
// Proof Size summary in bytes:
// Measured: `43`
// Estimated: `1528`
// Minimum execution time: 41_540_000 picoseconds.
Weight::from_parts(42_546_000, 0)
// Minimum execution time: 41_607_000 picoseconds.
Weight::from_parts(42_967_000, 0)
.saturating_add(Weight::from_parts(0, 1528))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -107,8 +107,8 @@ impl<T: frame_system::Config> pallet_election_provider_multi_phase::WeightInfo f
// Proof Size summary in bytes:
// Measured: `174`
// Estimated: `3593`
// Minimum execution time: 104_874_000 picoseconds.
Weight::from_parts(106_341_000, 0)
// Minimum execution time: 103_577_000 picoseconds.
Weight::from_parts(104_725_000, 0)
.saturating_add(Weight::from_parts(0, 3593))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(2))
@ -119,8 +119,8 @@ impl<T: frame_system::Config> pallet_election_provider_multi_phase::WeightInfo f
// Proof Size summary in bytes:
// Measured: `174`
// Estimated: `3593`
// Minimum execution time: 72_128_000 picoseconds.
Weight::from_parts(72_889_000, 0)
// Minimum execution time: 72_735_000 picoseconds.
Weight::from_parts(73_464_000, 0)
.saturating_add(Weight::from_parts(0, 3593))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -137,11 +137,11 @@ impl<T: frame_system::Config> pallet_election_provider_multi_phase::WeightInfo f
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 935_144_000 picoseconds.
Weight::from_parts(946_333_000, 0)
// Minimum execution time: 937_928_000 picoseconds.
Weight::from_parts(946_881_000, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 4_610
.saturating_add(Weight::from_parts(742_473, 0).saturating_mul(v.into()))
// Standard Error: 4_742
.saturating_add(Weight::from_parts(737_679, 0).saturating_mul(v.into()))
.saturating_add(T::DbWeight::get().writes(3))
}
/// Storage: `ElectionProviderMultiPhase::SignedSubmissionIndices` (r:1 w:1)
@ -168,13 +168,13 @@ impl<T: frame_system::Config> pallet_election_provider_multi_phase::WeightInfo f
// Proof Size summary in bytes:
// Measured: `266 + a * (768 ±0) + d * (48 ±0)`
// Estimated: `3818 + a * (768 ±0) + d * (49 ±0)`
// Minimum execution time: 807_366_000 picoseconds.
Weight::from_parts(33_682_717, 0)
// Minimum execution time: 818_624_000 picoseconds.
Weight::from_parts(48_511_844, 0)
.saturating_add(Weight::from_parts(0, 3818))
// Standard Error: 11_235
.saturating_add(Weight::from_parts(1_310_189, 0).saturating_mul(a.into()))
// Standard Error: 16_841
.saturating_add(Weight::from_parts(317_382, 0).saturating_mul(d.into()))
// Standard Error: 9_830
.saturating_add(Weight::from_parts(1_291_925, 0).saturating_mul(a.into()))
// Standard Error: 14_735
.saturating_add(Weight::from_parts(348_448, 0).saturating_mul(d.into()))
.saturating_add(T::DbWeight::get().reads(7))
.saturating_add(T::DbWeight::get().writes(8))
.saturating_add(Weight::from_parts(0, 768).saturating_mul(a.into()))
@ -198,8 +198,8 @@ impl<T: frame_system::Config> pallet_election_provider_multi_phase::WeightInfo f
// Proof Size summary in bytes:
// Measured: `1157`
// Estimated: `2642`
// Minimum execution time: 177_774_000 picoseconds.
Weight::from_parts(180_008_000, 0)
// Minimum execution time: 175_864_000 picoseconds.
Weight::from_parts(177_232_000, 0)
.saturating_add(Weight::from_parts(0, 2642))
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(3))
@ -226,13 +226,13 @@ impl<T: frame_system::Config> pallet_election_provider_multi_phase::WeightInfo f
// Proof Size summary in bytes:
// Measured: `148 + t * (32 ±0) + v * (553 ±0)`
// Estimated: `1633 + t * (32 ±0) + v * (553 ±0)`
// Minimum execution time: 13_641_128_000 picoseconds.
Weight::from_parts(13_688_484_000, 0)
// Minimum execution time: 12_770_696_000 picoseconds.
Weight::from_parts(12_821_423_000, 0)
.saturating_add(Weight::from_parts(0, 1633))
// Standard Error: 44_289
.saturating_add(Weight::from_parts(251_513, 0).saturating_mul(v.into()))
// Standard Error: 131_245
.saturating_add(Weight::from_parts(12_905_812, 0).saturating_mul(a.into()))
// Standard Error: 37_454
.saturating_add(Weight::from_parts(285_569, 0).saturating_mul(v.into()))
// Standard Error: 110_991
.saturating_add(Weight::from_parts(11_933_600, 0).saturating_mul(a.into()))
.saturating_add(T::DbWeight::get().reads(7))
.saturating_add(T::DbWeight::get().writes(1))
.saturating_add(Weight::from_parts(0, 32).saturating_mul(t.into()))
@ -254,13 +254,13 @@ impl<T: frame_system::Config> pallet_election_provider_multi_phase::WeightInfo f
// Proof Size summary in bytes:
// Measured: `123 + t * (32 ±0) + v * (553 ±0)`
// Estimated: `1608 + t * (32 ±0) + v * (553 ±0)`
// Minimum execution time: 11_846_347_000 picoseconds.
Weight::from_parts(11_874_580_000, 0)
// Minimum execution time: 11_048_228_000 picoseconds.
Weight::from_parts(11_087_485_000, 0)
.saturating_add(Weight::from_parts(0, 1608))
// Standard Error: 35_292
.saturating_add(Weight::from_parts(270_578, 0).saturating_mul(v.into()))
// Standard Error: 104_585
.saturating_add(Weight::from_parts(10_407_792, 0).saturating_mul(a.into()))
// Standard Error: 35_194
.saturating_add(Weight::from_parts(388_849, 0).saturating_mul(v.into()))
// Standard Error: 104_295
.saturating_add(Weight::from_parts(9_035_405, 0).saturating_mul(a.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(Weight::from_parts(0, 32).saturating_mul(t.into()))
.saturating_add(Weight::from_parts(0, 553).saturating_mul(v.into()))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_grandpa`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -47,15 +47,13 @@ use core::marker::PhantomData;
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_grandpa::WeightInfo for WeightInfo<T> {
/// The range of component `x` is `[0, 1]`.
fn check_equivocation_proof(x: u32, ) -> Weight {
fn check_equivocation_proof(_x: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 273_518_000 picoseconds.
Weight::from_parts(274_286_032, 0)
// Minimum execution time: 271_935_000 picoseconds.
Weight::from_parts(273_848_983, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 48_031
.saturating_add(Weight::from_parts(120_967, 0).saturating_mul(x.into()))
}
/// Storage: `Grandpa::Stalled` (r:0 w:1)
/// Proof: `Grandpa::Stalled` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
@ -63,8 +61,8 @@ impl<T: frame_system::Config> pallet_grandpa::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 11_923_000 picoseconds.
Weight::from_parts(12_217_000, 0)
// Minimum execution time: 11_027_000 picoseconds.
Weight::from_parts(11_341_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_identity`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -53,11 +53,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `32 + r * (57 ±0)`
// Estimated: `7187`
// Minimum execution time: 36_029_000 picoseconds.
Weight::from_parts(37_138_493, 0)
// Minimum execution time: 35_798_000 picoseconds.
Weight::from_parts(36_289_339, 0)
.saturating_add(Weight::from_parts(0, 7187))
// Standard Error: 811
.saturating_add(Weight::from_parts(143_381, 0).saturating_mul(r.into()))
// Standard Error: 1_103
.saturating_add(Weight::from_parts(160_539, 0).saturating_mul(r.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -68,11 +68,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `6978 + r * (5 ±0)`
// Estimated: `12718`
// Minimum execution time: 426_855_000 picoseconds.
Weight::from_parts(428_183_540, 0)
// Minimum execution time: 422_488_000 picoseconds.
Weight::from_parts(433_997_809, 0)
.saturating_add(Weight::from_parts(0, 12718))
// Standard Error: 5_161
.saturating_add(Weight::from_parts(202_583, 0).saturating_mul(r.into()))
// Standard Error: 7_661
.saturating_add(Weight::from_parts(51_078, 0).saturating_mul(r.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -87,11 +87,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `101`
// Estimated: `12718 + s * (2589 ±0)`
// Minimum execution time: 38_909_000 picoseconds.
Weight::from_parts(93_060_862, 0)
// Minimum execution time: 37_449_000 picoseconds.
Weight::from_parts(90_911_440, 0)
.saturating_add(Weight::from_parts(0, 12718))
// Standard Error: 13_890
.saturating_add(Weight::from_parts(13_055_562, 0).saturating_mul(s.into()))
// Standard Error: 14_352
.saturating_add(Weight::from_parts(12_452_243, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(s.into())))
.saturating_add(T::DbWeight::get().writes(1))
@ -109,11 +109,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `194 + p * (32 ±0)`
// Estimated: `12718`
// Minimum execution time: 38_393_000 picoseconds.
Weight::from_parts(89_242_199, 0)
// Minimum execution time: 36_671_000 picoseconds.
Weight::from_parts(85_354_944, 0)
.saturating_add(Weight::from_parts(0, 12718))
// Standard Error: 12_183
.saturating_add(Weight::from_parts(5_292_462, 0).saturating_mul(p.into()))
// Standard Error: 13_167
.saturating_add(Weight::from_parts(4_989_423, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
@ -130,13 +130,13 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `7070 + r * (5 ±0) + s * (32 ±0)`
// Estimated: `12718`
// Minimum execution time: 210_961_000 picoseconds.
Weight::from_parts(188_823_375, 0)
// Minimum execution time: 209_341_000 picoseconds.
Weight::from_parts(186_652_406, 0)
.saturating_add(Weight::from_parts(0, 12718))
// Standard Error: 7_526
.saturating_add(Weight::from_parts(329_188, 0).saturating_mul(r.into()))
// Standard Error: 7_436
.saturating_add(Weight::from_parts(5_350_981, 0).saturating_mul(s.into()))
// Standard Error: 6_417
.saturating_add(Weight::from_parts(304_685, 0).saturating_mul(r.into()))
// Standard Error: 6_341
.saturating_add(Weight::from_parts(4_994_949, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
@ -150,11 +150,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `6968 + r * (57 ±0)`
// Estimated: `12718`
// Minimum execution time: 298_678_000 picoseconds.
Weight::from_parts(301_034_667, 0)
// Minimum execution time: 291_282_000 picoseconds.
Weight::from_parts(296_670_458, 0)
.saturating_add(Weight::from_parts(0, 12718))
// Standard Error: 3_406
.saturating_add(Weight::from_parts(174_545, 0).saturating_mul(r.into()))
// Standard Error: 6_436
.saturating_add(Weight::from_parts(171_191, 0).saturating_mul(r.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -165,11 +165,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `6999`
// Estimated: `12718`
// Minimum execution time: 292_089_000 picoseconds.
Weight::from_parts(294_952_996, 0)
// Minimum execution time: 284_020_000 picoseconds.
Weight::from_parts(287_345_725, 0)
.saturating_add(Weight::from_parts(0, 12718))
// Standard Error: 5_162
.saturating_add(Weight::from_parts(79_491, 0).saturating_mul(r.into()))
// Standard Error: 5_507
.saturating_add(Weight::from_parts(101_486, 0).saturating_mul(r.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -180,11 +180,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `89 + r * (57 ±0)`
// Estimated: `7187`
// Minimum execution time: 26_819_000 picoseconds.
Weight::from_parts(27_445_527, 0)
// Minimum execution time: 25_410_000 picoseconds.
Weight::from_parts(26_240_051, 0)
.saturating_add(Weight::from_parts(0, 7187))
// Standard Error: 886
.saturating_add(Weight::from_parts(132_840, 0).saturating_mul(r.into()))
// Standard Error: 1_706
.saturating_add(Weight::from_parts(132_567, 0).saturating_mul(r.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -195,11 +195,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `89 + r * (57 ±0)`
// Estimated: `7187`
// Minimum execution time: 26_061_000 picoseconds.
Weight::from_parts(27_222_451, 0)
// Minimum execution time: 24_984_000 picoseconds.
Weight::from_parts(25_699_493, 0)
.saturating_add(Weight::from_parts(0, 7187))
// Standard Error: 1_137
.saturating_add(Weight::from_parts(133_491, 0).saturating_mul(r.into()))
// Standard Error: 673
.saturating_add(Weight::from_parts(140_957, 0).saturating_mul(r.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -210,11 +210,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `89 + r * (57 ±0)`
// Estimated: `7187`
// Minimum execution time: 25_767_000 picoseconds.
Weight::from_parts(26_674_843, 0)
// Minimum execution time: 24_378_000 picoseconds.
Weight::from_parts(25_057_857, 0)
.saturating_add(Weight::from_parts(0, 7187))
// Standard Error: 1_009
.saturating_add(Weight::from_parts(133_509, 0).saturating_mul(r.into()))
// Standard Error: 959
.saturating_add(Weight::from_parts(143_385, 0).saturating_mul(r.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -227,11 +227,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `7046 + r * (57 ±0)`
// Estimated: `12718`
// Minimum execution time: 371_609_000 picoseconds.
Weight::from_parts(373_810_252, 0)
// Minimum execution time: 365_166_000 picoseconds.
Weight::from_parts(370_040_326, 0)
.saturating_add(Weight::from_parts(0, 12718))
// Standard Error: 2_210
.saturating_add(Weight::from_parts(154_120, 0).saturating_mul(r.into()))
// Standard Error: 6_899
.saturating_add(Weight::from_parts(164_155, 0).saturating_mul(r.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -249,13 +249,13 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `7277 + r * (5 ±0) + s * (32 ±0)`
// Estimated: `12718`
// Minimum execution time: 265_911_000 picoseconds.
Weight::from_parts(241_271_501, 0)
// Minimum execution time: 259_547_000 picoseconds.
Weight::from_parts(237_822_940, 0)
.saturating_add(Weight::from_parts(0, 12718))
// Standard Error: 7_518
.saturating_add(Weight::from_parts(346_780, 0).saturating_mul(r.into()))
// Standard Error: 7_429
.saturating_add(Weight::from_parts(5_410_067, 0).saturating_mul(s.into()))
// Standard Error: 6_465
.saturating_add(Weight::from_parts(333_655, 0).saturating_mul(r.into()))
// Standard Error: 6_388
.saturating_add(Weight::from_parts(5_052_675, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(3))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
@ -271,11 +271,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `475 + s * (36 ±0)`
// Estimated: `12718`
// Minimum execution time: 110_179_000 picoseconds.
Weight::from_parts(121_789_579, 0)
// Minimum execution time: 105_593_000 picoseconds.
Weight::from_parts(117_782_161, 0)
.saturating_add(Weight::from_parts(0, 12718))
// Standard Error: 5_438
.saturating_add(Weight::from_parts(176_419, 0).saturating_mul(s.into()))
// Standard Error: 4_186
.saturating_add(Weight::from_parts(177_713, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -288,11 +288,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `591 + s * (3 ±0)`
// Estimated: `12718`
// Minimum execution time: 50_639_000 picoseconds.
Weight::from_parts(55_486_355, 0)
// Minimum execution time: 48_955_000 picoseconds.
Weight::from_parts(54_147_259, 0)
.saturating_add(Weight::from_parts(0, 12718))
// Standard Error: 1_302
.saturating_add(Weight::from_parts(58_562, 0).saturating_mul(s.into()))
// Standard Error: 1_773
.saturating_add(Weight::from_parts(55_170, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -307,11 +307,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `638 + s * (35 ±0)`
// Estimated: `12718`
// Minimum execution time: 121_808_000 picoseconds.
Weight::from_parts(125_780_211, 0)
// Minimum execution time: 117_798_000 picoseconds.
Weight::from_parts(123_135_959, 0)
.saturating_add(Weight::from_parts(0, 12718))
// Standard Error: 1_897
.saturating_add(Weight::from_parts(146_144, 0).saturating_mul(s.into()))
// Standard Error: 3_618
.saturating_add(Weight::from_parts(129_792, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -326,11 +326,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `667 + s * (37 ±0)`
// Estimated: `6723`
// Minimum execution time: 88_672_000 picoseconds.
Weight::from_parts(93_095_231, 0)
// Minimum execution time: 86_156_000 picoseconds.
Weight::from_parts(90_875_435, 0)
.saturating_add(Weight::from_parts(0, 6723))
// Standard Error: 2_603
.saturating_add(Weight::from_parts(141_002, 0).saturating_mul(s.into()))
// Standard Error: 1_793
.saturating_add(Weight::from_parts(140_203, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -340,8 +340,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 28_397_000 picoseconds.
Weight::from_parts(28_848_000, 0)
// Minimum execution time: 27_101_000 picoseconds.
Weight::from_parts(27_734_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -351,8 +351,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `80`
// Estimated: `3517`
// Minimum execution time: 42_692_000 picoseconds.
Weight::from_parts(43_608_000, 0)
// Minimum execution time: 41_425_000 picoseconds.
Weight::from_parts(42_537_000, 0)
.saturating_add(Weight::from_parts(0, 3517))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -369,8 +369,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `80`
// Estimated: `12718`
// Minimum execution time: 238_398_000 picoseconds.
Weight::from_parts(243_093_000, 0)
// Minimum execution time: 236_334_000 picoseconds.
Weight::from_parts(238_426_000, 0)
.saturating_add(Weight::from_parts(0, 12718))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
@ -385,8 +385,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `115`
// Estimated: `12718`
// Minimum execution time: 86_312_000 picoseconds.
Weight::from_parts(87_506_000, 0)
// Minimum execution time: 83_197_000 picoseconds.
Weight::from_parts(84_626_000, 0)
.saturating_add(Weight::from_parts(0, 12718))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(3))
@ -397,8 +397,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `115`
// Estimated: `3550`
// Minimum execution time: 55_177_000 picoseconds.
Weight::from_parts(72_684_000, 0)
// Minimum execution time: 53_343_000 picoseconds.
Weight::from_parts(70_796_000, 0)
.saturating_add(Weight::from_parts(0, 3550))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -411,8 +411,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `257`
// Estimated: `12718`
// Minimum execution time: 70_554_000 picoseconds.
Weight::from_parts(71_242_000, 0)
// Minimum execution time: 69_483_000 picoseconds.
Weight::from_parts(71_115_000, 0)
.saturating_add(Weight::from_parts(0, 12718))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -425,8 +425,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `98`
// Estimated: `12718`
// Minimum execution time: 50_768_000 picoseconds.
Weight::from_parts(52_044_000, 0)
// Minimum execution time: 50_501_000 picoseconds.
Weight::from_parts(51_611_000, 0)
.saturating_add(Weight::from_parts(0, 12718))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_indices`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -52,8 +52,8 @@ impl<T: frame_system::Config> pallet_indices::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `142`
// Estimated: `3534`
// Minimum execution time: 88_097_000 picoseconds.
Weight::from_parts(89_172_000, 0)
// Minimum execution time: 90_978_000 picoseconds.
Weight::from_parts(97_027_000, 0)
.saturating_add(Weight::from_parts(0, 3534))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -66,8 +66,8 @@ impl<T: frame_system::Config> pallet_indices::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `341`
// Estimated: `3593`
// Minimum execution time: 131_395_000 picoseconds.
Weight::from_parts(132_310_000, 0)
// Minimum execution time: 132_925_000 picoseconds.
Weight::from_parts(144_721_000, 0)
.saturating_add(Weight::from_parts(0, 3593))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
@ -78,8 +78,8 @@ impl<T: frame_system::Config> pallet_indices::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `238`
// Estimated: `3534`
// Minimum execution time: 87_436_000 picoseconds.
Weight::from_parts(88_420_000, 0)
// Minimum execution time: 89_306_000 picoseconds.
Weight::from_parts(94_702_000, 0)
.saturating_add(Weight::from_parts(0, 3534))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -90,10 +90,10 @@ impl<T: frame_system::Config> pallet_indices::WeightInfo for WeightInfo<T> {
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
fn force_transfer() -> Weight {
// Proof Size summary in bytes:
// Measured: `378`
// Measured: `341`
// Estimated: `3593`
// Minimum execution time: 99_599_000 picoseconds.
Weight::from_parts(100_359_000, 0)
// Minimum execution time: 100_416_000 picoseconds.
Weight::from_parts(106_072_000, 0)
.saturating_add(Weight::from_parts(0, 3593))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
@ -104,8 +104,8 @@ impl<T: frame_system::Config> pallet_indices::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `238`
// Estimated: `3534`
// Minimum execution time: 91_305_000 picoseconds.
Weight::from_parts(92_154_000, 0)
// Minimum execution time: 95_203_000 picoseconds.
Weight::from_parts(104_964_000, 0)
.saturating_add(Weight::from_parts(0, 3534))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_multisig`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -51,11 +51,11 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 43_478_000 picoseconds.
Weight::from_parts(44_609_560, 0)
// Minimum execution time: 45_038_000 picoseconds.
Weight::from_parts(64_423_078, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 12
.saturating_add(Weight::from_parts(1_401, 0).saturating_mul(z.into()))
// Standard Error: 181
.saturating_add(Weight::from_parts(5_199, 0).saturating_mul(z.into()))
}
/// Storage: `Multisig::Multisigs` (r:1 w:1)
/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
@ -63,15 +63,15 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
/// The range of component `z` is `[0, 10000]`.
fn as_multi_create(s: u32, z: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `333 + s * (2 ±0)`
// Measured: `301 + s * (2 ±0)`
// Estimated: `6811`
// Minimum execution time: 142_936_000 picoseconds.
Weight::from_parts(124_108_455, 0)
// Minimum execution time: 173_451_000 picoseconds.
Weight::from_parts(237_581_625, 0)
.saturating_add(Weight::from_parts(0, 6811))
// Standard Error: 2_855
.saturating_add(Weight::from_parts(221_355, 0).saturating_mul(s.into()))
// Standard Error: 27
.saturating_add(Weight::from_parts(4_474, 0).saturating_mul(z.into()))
// Standard Error: 68_614
.saturating_add(Weight::from_parts(642_475, 0).saturating_mul(s.into()))
// Standard Error: 672
.saturating_add(Weight::from_parts(4_309, 0).saturating_mul(z.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -83,13 +83,13 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `320`
// Estimated: `6811`
// Minimum execution time: 87_713_000 picoseconds.
Weight::from_parts(68_239_498, 0)
// Minimum execution time: 117_535_000 picoseconds.
Weight::from_parts(38_281_417, 0)
.saturating_add(Weight::from_parts(0, 6811))
// Standard Error: 2_226
.saturating_add(Weight::from_parts(220_950, 0).saturating_mul(s.into()))
// Standard Error: 21
.saturating_add(Weight::from_parts(4_503, 0).saturating_mul(z.into()))
// Standard Error: 121_699
.saturating_add(Weight::from_parts(1_426_979, 0).saturating_mul(s.into()))
// Standard Error: 1_191
.saturating_add(Weight::from_parts(11_263, 0).saturating_mul(z.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -99,17 +99,15 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
/// The range of component `s` is `[2, 100]`.
/// The range of component `z` is `[0, 10000]`.
fn as_multi_complete(s: u32, z: u32, ) -> Weight {
fn as_multi_complete(_s: u32, z: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `456 + s * (33 ±0)`
// Measured: `426 + s * (33 ±0)`
// Estimated: `6811`
// Minimum execution time: 157_225_000 picoseconds.
Weight::from_parts(131_602_388, 0)
// Minimum execution time: 153_027_000 picoseconds.
Weight::from_parts(365_208_085, 0)
.saturating_add(Weight::from_parts(0, 6811))
// Standard Error: 2_751
.saturating_add(Weight::from_parts(287_079, 0).saturating_mul(s.into()))
// Standard Error: 26
.saturating_add(Weight::from_parts(4_553, 0).saturating_mul(z.into()))
// Standard Error: 376
.saturating_add(Weight::from_parts(2_854, 0).saturating_mul(z.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -118,13 +116,13 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
/// The range of component `s` is `[2, 100]`.
fn approve_as_multi_create(s: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `334 + s * (2 ±0)`
// Measured: `301 + s * (2 ±0)`
// Estimated: `6811`
// Minimum execution time: 117_684_000 picoseconds.
Weight::from_parts(118_769_220, 0)
// Minimum execution time: 117_813_000 picoseconds.
Weight::from_parts(116_707_303, 0)
.saturating_add(Weight::from_parts(0, 6811))
// Standard Error: 5_547
.saturating_add(Weight::from_parts(245_256, 0).saturating_mul(s.into()))
// Standard Error: 49_330
.saturating_add(Weight::from_parts(882_291, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -135,11 +133,11 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `320`
// Estimated: `6811`
// Minimum execution time: 63_527_000 picoseconds.
Weight::from_parts(63_245_044, 0)
// Minimum execution time: 68_535_000 picoseconds.
Weight::from_parts(78_742_402, 0)
.saturating_add(Weight::from_parts(0, 6811))
// Standard Error: 3_544
.saturating_add(Weight::from_parts(233_731, 0).saturating_mul(s.into()))
// Standard Error: 39_978
.saturating_add(Weight::from_parts(616_693, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -148,13 +146,13 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
/// The range of component `s` is `[2, 100]`.
fn cancel_as_multi(s: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `525 + s * (1 ±0)`
// Measured: `492 + s * (1 ±0)`
// Estimated: `6811`
// Minimum execution time: 116_122_000 picoseconds.
Weight::from_parts(116_895_408, 0)
// Minimum execution time: 120_546_000 picoseconds.
Weight::from_parts(191_497_613, 0)
.saturating_add(Weight::from_parts(0, 6811))
// Standard Error: 2_124
.saturating_add(Weight::from_parts(230_923, 0).saturating_mul(s.into()))
// Standard Error: 51_063
.saturating_add(Weight::from_parts(1_090_254, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_nomination_pools`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -84,8 +84,8 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
// Proof Size summary in bytes:
// Measured: `3318`
// Estimated: `8877`
// Minimum execution time: 716_606_000 picoseconds.
Weight::from_parts(721_123_000, 0)
// Minimum execution time: 1_410_541_000 picoseconds.
Weight::from_parts(1_451_888_000, 0)
.saturating_add(Weight::from_parts(0, 8877))
.saturating_add(T::DbWeight::get().reads(21))
.saturating_add(T::DbWeight::get().writes(13))
@ -120,8 +120,8 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
// Proof Size summary in bytes:
// Measured: `3328`
// Estimated: `8877`
// Minimum execution time: 716_271_000 picoseconds.
Weight::from_parts(722_192_000, 0)
// Minimum execution time: 1_262_490_000 picoseconds.
Weight::from_parts(1_290_270_000, 0)
.saturating_add(Weight::from_parts(0, 8877))
.saturating_add(T::DbWeight::get().reads(18))
.saturating_add(T::DbWeight::get().writes(13))
@ -158,8 +158,8 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
// Proof Size summary in bytes:
// Measured: `3275`
// Estimated: `8799`
// Minimum execution time: 834_533_000 picoseconds.
Weight::from_parts(840_007_000, 0)
// Minimum execution time: 900_598_000 picoseconds.
Weight::from_parts(1_652_993_000, 0)
.saturating_add(Weight::from_parts(0, 8799))
.saturating_add(T::DbWeight::get().reads(18))
.saturating_add(T::DbWeight::get().writes(13))
@ -178,10 +178,10 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
fn claim_payout() -> Weight {
// Proof Size summary in bytes:
// Measured: `1243`
// Measured: `1210`
// Estimated: `4182`
// Minimum execution time: 295_679_000 picoseconds.
Weight::from_parts(297_682_000, 0)
// Minimum execution time: 560_223_000 picoseconds.
Weight::from_parts(591_523_000, 0)
.saturating_add(Weight::from_parts(0, 4182))
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(4))
@ -217,15 +217,15 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
/// Storage: `VoterList::ListBags` (r:2 w:2)
/// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`)
/// Storage: `NominationPools::SubPoolsStorage` (r:1 w:1)
/// Proof: `NominationPools::SubPoolsStorage` (`max_values`: None, `max_size`: Some(1197), added: 3672, mode: `MaxEncodedLen`)
/// Proof: `NominationPools::SubPoolsStorage` (`max_values`: None, `max_size`: Some(225), added: 2700, mode: `MaxEncodedLen`)
/// Storage: `NominationPools::CounterForSubPoolsStorage` (r:1 w:1)
/// Proof: `NominationPools::CounterForSubPoolsStorage` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
fn unbond() -> Weight {
// Proof Size summary in bytes:
// Measured: `3508`
// Estimated: `8877`
// Minimum execution time: 639_377_000 picoseconds.
Weight::from_parts(643_090_000, 0)
// Minimum execution time: 1_129_619_000 picoseconds.
Weight::from_parts(1_213_170_000, 0)
.saturating_add(Weight::from_parts(0, 8877))
.saturating_add(T::DbWeight::get().reads(21))
.saturating_add(T::DbWeight::get().writes(13))
@ -249,15 +249,13 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
/// Storage: `NominationPools::TotalValueLocked` (r:1 w:1)
/// Proof: `NominationPools::TotalValueLocked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
/// The range of component `s` is `[0, 100]`.
fn pool_withdraw_unbonded(s: u32, ) -> Weight {
fn pool_withdraw_unbonded(_s: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `1739`
// Estimated: `4764`
// Minimum execution time: 262_375_000 picoseconds.
Weight::from_parts(265_593_485, 0)
// Minimum execution time: 294_248_000 picoseconds.
Weight::from_parts(549_242_698, 0)
.saturating_add(Weight::from_parts(0, 4764))
// Standard Error: 7_206
.saturating_add(Weight::from_parts(92_499, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(9))
.saturating_add(T::DbWeight::get().writes(3))
}
@ -268,7 +266,7 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
/// Storage: `NominationPools::BondedPools` (r:1 w:1)
/// Proof: `NominationPools::BondedPools` (`max_values`: None, `max_size`: Some(254), added: 2729, mode: `MaxEncodedLen`)
/// Storage: `NominationPools::SubPoolsStorage` (r:1 w:1)
/// Proof: `NominationPools::SubPoolsStorage` (`max_values`: None, `max_size`: Some(1197), added: 3672, mode: `MaxEncodedLen`)
/// Proof: `NominationPools::SubPoolsStorage` (`max_values`: None, `max_size`: Some(225), added: 2700, mode: `MaxEncodedLen`)
/// Storage: `Staking::Bonded` (r:1 w:0)
/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
/// Storage: `Staking::Ledger` (r:1 w:1)
@ -290,15 +288,13 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
/// Storage: `NominationPools::ClaimPermissions` (r:0 w:1)
/// Proof: `NominationPools::ClaimPermissions` (`max_values`: None, `max_size`: Some(41), added: 2516, mode: `MaxEncodedLen`)
/// The range of component `s` is `[0, 100]`.
fn withdraw_unbonded_update(s: u32, ) -> Weight {
fn withdraw_unbonded_update(_s: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `2129`
// Estimated: `4764`
// Minimum execution time: 517_498_000 picoseconds.
Weight::from_parts(523_574_962, 0)
// Minimum execution time: 511_071_000 picoseconds.
Weight::from_parts(736_094_042, 0)
.saturating_add(Weight::from_parts(0, 4764))
// Standard Error: 4_682
.saturating_add(Weight::from_parts(158_922, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(13))
.saturating_add(T::DbWeight::get().writes(9))
}
@ -309,7 +305,7 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
/// Storage: `NominationPools::BondedPools` (r:1 w:1)
/// Proof: `NominationPools::BondedPools` (`max_values`: None, `max_size`: Some(254), added: 2729, mode: `MaxEncodedLen`)
/// Storage: `NominationPools::SubPoolsStorage` (r:1 w:1)
/// Proof: `NominationPools::SubPoolsStorage` (`max_values`: None, `max_size`: Some(1197), added: 3672, mode: `MaxEncodedLen`)
/// Proof: `NominationPools::SubPoolsStorage` (`max_values`: None, `max_size`: Some(225), added: 2700, mode: `MaxEncodedLen`)
/// Storage: `Staking::Bonded` (r:1 w:1)
/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
/// Storage: `Staking::Ledger` (r:1 w:1)
@ -353,10 +349,10 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
/// The range of component `s` is `[0, 100]`.
fn withdraw_unbonded_kill(_s: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `2487`
// Measured: `2454`
// Estimated: `8538`
// Minimum execution time: 915_305_000 picoseconds.
Weight::from_parts(924_951_139, 0)
// Minimum execution time: 902_792_000 picoseconds.
Weight::from_parts(1_030_417_932, 0)
.saturating_add(Weight::from_parts(0, 8538))
.saturating_add(T::DbWeight::get().reads(25))
.saturating_add(T::DbWeight::get().writes(21))
@ -409,10 +405,10 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
/// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
fn create() -> Weight {
// Proof Size summary in bytes:
// Measured: `1217`
// Measured: `1180`
// Estimated: `8538`
// Minimum execution time: 730_155_000 picoseconds.
Weight::from_parts(734_091_000, 0)
// Minimum execution time: 714_731_000 picoseconds.
Weight::from_parts(745_522_000, 0)
.saturating_add(Weight::from_parts(0, 8538))
.saturating_add(T::DbWeight::get().reads(25))
.saturating_add(T::DbWeight::get().writes(17))
@ -452,11 +448,11 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
// Proof Size summary in bytes:
// Measured: `1870`
// Estimated: `4556 + n * (2520 ±0)`
// Minimum execution time: 302_985_000 picoseconds.
Weight::from_parts(302_737_863, 0)
// Minimum execution time: 304_726_000 picoseconds.
Weight::from_parts(321_156_507, 0)
.saturating_add(Weight::from_parts(0, 4556))
// Standard Error: 22_407
.saturating_add(Weight::from_parts(5_487_308, 0).saturating_mul(n.into()))
// Standard Error: 73_202
.saturating_add(Weight::from_parts(5_156_012, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(15))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
.saturating_add(T::DbWeight::get().writes(5))
@ -472,8 +468,8 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
// Proof Size summary in bytes:
// Measured: `1326`
// Estimated: `4556`
// Minimum execution time: 113_053_000 picoseconds.
Weight::from_parts(114_218_000, 0)
// Minimum execution time: 114_437_000 picoseconds.
Weight::from_parts(117_596_000, 0)
.saturating_add(Weight::from_parts(0, 4556))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(1))
@ -489,11 +485,11 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
// Proof Size summary in bytes:
// Measured: `532`
// Estimated: `3735`
// Minimum execution time: 52_132_000 picoseconds.
Weight::from_parts(53_264_279, 0)
// Minimum execution time: 51_592_000 picoseconds.
Weight::from_parts(54_571_300, 0)
.saturating_add(Weight::from_parts(0, 3735))
// Standard Error: 428
.saturating_add(Weight::from_parts(2_468, 0).saturating_mul(n.into()))
// Standard Error: 1_879
.saturating_add(Weight::from_parts(12_064, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -513,8 +509,8 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 16_746_000 picoseconds.
Weight::from_parts(17_151_000, 0)
// Minimum execution time: 15_414_000 picoseconds.
Weight::from_parts(15_775_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(6))
}
@ -524,8 +520,8 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
// Proof Size summary in bytes:
// Measured: `532`
// Estimated: `3719`
// Minimum execution time: 63_646_000 picoseconds.
Weight::from_parts(64_352_000, 0)
// Minimum execution time: 61_671_000 picoseconds.
Weight::from_parts(62_422_000, 0)
.saturating_add(Weight::from_parts(0, 3719))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -556,8 +552,8 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
// Proof Size summary in bytes:
// Measured: `2037`
// Estimated: `4556`
// Minimum execution time: 274_338_000 picoseconds.
Weight::from_parts(276_519_000, 0)
// Minimum execution time: 276_195_000 picoseconds.
Weight::from_parts(309_526_000, 0)
.saturating_add(Weight::from_parts(0, 4556))
.saturating_add(T::DbWeight::get().reads(11))
.saturating_add(T::DbWeight::get().writes(5))
@ -574,8 +570,8 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
// Proof Size summary in bytes:
// Measured: `804`
// Estimated: `3719`
// Minimum execution time: 123_432_000 picoseconds.
Weight::from_parts(124_207_000, 0)
// Minimum execution time: 120_457_000 picoseconds.
Weight::from_parts(129_197_000, 0)
.saturating_add(Weight::from_parts(0, 3719))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(2))
@ -588,8 +584,8 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
// Proof Size summary in bytes:
// Measured: `572`
// Estimated: `3719`
// Minimum execution time: 64_040_000 picoseconds.
Weight::from_parts(64_576_000, 0)
// Minimum execution time: 65_883_000 picoseconds.
Weight::from_parts(67_354_000, 0)
.saturating_add(Weight::from_parts(0, 3719))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -600,8 +596,8 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
// Proof Size summary in bytes:
// Measured: `532`
// Estimated: `3719`
// Minimum execution time: 63_327_000 picoseconds.
Weight::from_parts(63_759_000, 0)
// Minimum execution time: 65_959_000 picoseconds.
Weight::from_parts(67_449_000, 0)
.saturating_add(Weight::from_parts(0, 3719))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -612,8 +608,8 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
// Proof Size summary in bytes:
// Measured: `532`
// Estimated: `3719`
// Minimum execution time: 62_830_000 picoseconds.
Weight::from_parts(63_234_000, 0)
// Minimum execution time: 64_679_000 picoseconds.
Weight::from_parts(66_591_000, 0)
.saturating_add(Weight::from_parts(0, 3719))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -626,8 +622,8 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
// Proof Size summary in bytes:
// Measured: `542`
// Estimated: `4182`
// Minimum execution time: 53_239_000 picoseconds.
Weight::from_parts(54_298_000, 0)
// Minimum execution time: 54_153_000 picoseconds.
Weight::from_parts(55_640_000, 0)
.saturating_add(Weight::from_parts(0, 4182))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -642,10 +638,10 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
fn claim_commission() -> Weight {
// Proof Size summary in bytes:
// Measured: `1073`
// Measured: `1040`
// Estimated: `3719`
// Minimum execution time: 246_773_000 picoseconds.
Weight::from_parts(248_359_000, 0)
// Minimum execution time: 248_027_000 picoseconds.
Weight::from_parts(252_312_000, 0)
.saturating_add(Weight::from_parts(0, 3719))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(2))
@ -660,10 +656,10 @@ impl<T: frame_system::Config> pallet_nomination_pools::WeightInfo for WeightInfo
/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
fn adjust_pool_deposit() -> Weight {
// Proof Size summary in bytes:
// Measured: `972`
// Measured: `939`
// Estimated: `4764`
// Minimum execution time: 273_640_000 picoseconds.
Weight::from_parts(275_806_000, 0)
// Minimum execution time: 275_027_000 picoseconds.
Weight::from_parts(493_643_000, 0)
.saturating_add(Weight::from_parts(0, 4764))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(2))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_preimage`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -59,11 +59,11 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `76`
// Estimated: `3556`
// Minimum execution time: 184_982_000 picoseconds.
Weight::from_parts(185_981_000, 0)
// Minimum execution time: 187_163_000 picoseconds.
Weight::from_parts(1_016_003_397, 0)
.saturating_add(Weight::from_parts(0, 3556))
// Standard Error: 12
.saturating_add(Weight::from_parts(6_544, 0).saturating_mul(s.into()))
// Standard Error: 109
.saturating_add(Weight::from_parts(6_049, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(3))
}
@ -78,11 +78,11 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `140`
// Estimated: `3556`
// Minimum execution time: 58_660_000 picoseconds.
Weight::from_parts(59_197_000, 0)
// Minimum execution time: 102_629_000 picoseconds.
Weight::from_parts(7_214_980_200, 0)
.saturating_add(Weight::from_parts(0, 3556))
// Standard Error: 11
.saturating_add(Weight::from_parts(6_536, 0).saturating_mul(s.into()))
// Standard Error: 224
.saturating_add(Weight::from_parts(4_433, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -97,11 +97,11 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `140`
// Estimated: `3556`
// Minimum execution time: 60_486_000 picoseconds.
Weight::from_parts(61_208_000, 0)
// Minimum execution time: 61_780_000 picoseconds.
Weight::from_parts(696_495_161, 0)
.saturating_add(Weight::from_parts(0, 3556))
// Standard Error: 12
.saturating_add(Weight::from_parts(6_563, 0).saturating_mul(s.into()))
// Standard Error: 24
.saturating_add(Weight::from_parts(5_607, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -117,8 +117,8 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `278`
// Estimated: `3556`
// Minimum execution time: 196_725_000 picoseconds.
Weight::from_parts(198_947_000, 0)
// Minimum execution time: 196_752_000 picoseconds.
Weight::from_parts(199_602_000, 0)
.saturating_add(Weight::from_parts(0, 3556))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(3))
@ -133,8 +133,8 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `178`
// Estimated: `3556`
// Minimum execution time: 93_063_000 picoseconds.
Weight::from_parts(94_422_000, 0)
// Minimum execution time: 94_886_000 picoseconds.
Weight::from_parts(98_635_000, 0)
.saturating_add(Weight::from_parts(0, 3556))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
@ -147,8 +147,8 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `222`
// Estimated: `3556`
// Minimum execution time: 75_641_000 picoseconds.
Weight::from_parts(77_340_000, 0)
// Minimum execution time: 78_089_000 picoseconds.
Weight::from_parts(79_794_000, 0)
.saturating_add(Weight::from_parts(0, 3556))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -161,8 +161,8 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `178`
// Estimated: `3556`
// Minimum execution time: 59_452_000 picoseconds.
Weight::from_parts(60_649_000, 0)
// Minimum execution time: 60_983_000 picoseconds.
Weight::from_parts(62_151_000, 0)
.saturating_add(Weight::from_parts(0, 3556))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -175,8 +175,8 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `76`
// Estimated: `3556`
// Minimum execution time: 67_319_000 picoseconds.
Weight::from_parts(68_408_000, 0)
// Minimum execution time: 69_363_000 picoseconds.
Weight::from_parts(71_322_000, 0)
.saturating_add(Weight::from_parts(0, 3556))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -189,8 +189,8 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `140`
// Estimated: `3556`
// Minimum execution time: 43_700_000 picoseconds.
Weight::from_parts(44_342_000, 0)
// Minimum execution time: 44_043_000 picoseconds.
Weight::from_parts(45_561_000, 0)
.saturating_add(Weight::from_parts(0, 3556))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -205,8 +205,8 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `178`
// Estimated: `3556`
// Minimum execution time: 85_045_000 picoseconds.
Weight::from_parts(86_364_000, 0)
// Minimum execution time: 87_783_000 picoseconds.
Weight::from_parts(90_504_000, 0)
.saturating_add(Weight::from_parts(0, 3556))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
@ -219,8 +219,8 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `140`
// Estimated: `3556`
// Minimum execution time: 43_163_000 picoseconds.
Weight::from_parts(44_239_000, 0)
// Minimum execution time: 44_074_000 picoseconds.
Weight::from_parts(45_550_000, 0)
.saturating_add(Weight::from_parts(0, 3556))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -233,8 +233,8 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `140`
// Estimated: `3556`
// Minimum execution time: 44_330_000 picoseconds.
Weight::from_parts(45_448_000, 0)
// Minimum execution time: 44_665_000 picoseconds.
Weight::from_parts(45_634_000, 0)
.saturating_add(Weight::from_parts(0, 3556))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -252,11 +252,11 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0 + n * (227 ±0)`
// Estimated: `990 + n * (2603 ±0)`
// Minimum execution time: 209_069_000 picoseconds.
Weight::from_parts(210_285_000, 0)
// Minimum execution time: 208_486_000 picoseconds.
Weight::from_parts(208_847_000, 0)
.saturating_add(Weight::from_parts(0, 990))
// Standard Error: 107_938
.saturating_add(Weight::from_parts(203_214_364, 0).saturating_mul(n.into()))
// Standard Error: 134_724
.saturating_add(Weight::from_parts(203_423_381, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(n.into())))
.saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(n.into())))
.saturating_add(Weight::from_parts(0, 2603).saturating_mul(n.into()))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_proxy`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -53,11 +53,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `227 + p * (37 ±0)`
// Estimated: `4706`
// Minimum execution time: 52_102_000 picoseconds.
Weight::from_parts(52_983_652, 0)
// Minimum execution time: 49_481_000 picoseconds.
Weight::from_parts(50_995_826, 0)
.saturating_add(Weight::from_parts(0, 4706))
// Standard Error: 2_345
.saturating_add(Weight::from_parts(123_131, 0).saturating_mul(p.into()))
// Standard Error: 3_198
.saturating_add(Weight::from_parts(110_515, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(1))
}
/// Storage: `Proxy::Proxies` (r:1 w:0)
@ -72,13 +72,13 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `554 + a * (68 ±0) + p * (37 ±0)`
// Estimated: `5698`
// Minimum execution time: 135_284_000 picoseconds.
Weight::from_parts(133_942_081, 0)
// Minimum execution time: 130_153_000 picoseconds.
Weight::from_parts(128_711_019, 0)
.saturating_add(Weight::from_parts(0, 5698))
// Standard Error: 7_270
.saturating_add(Weight::from_parts(486_065, 0).saturating_mul(a.into()))
// Standard Error: 7_511
.saturating_add(Weight::from_parts(93_257, 0).saturating_mul(p.into()))
// Standard Error: 8_790
.saturating_add(Weight::from_parts(491_909, 0).saturating_mul(a.into()))
// Standard Error: 9_082
.saturating_add(Weight::from_parts(101_604, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -88,17 +88,15 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
/// The range of component `a` is `[0, 31]`.
/// The range of component `p` is `[1, 31]`.
fn remove_announcement(a: u32, p: u32, ) -> Weight {
fn remove_announcement(a: u32, _p: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `469 + a * (68 ±0)`
// Estimated: `5698`
// Minimum execution time: 92_458_000 picoseconds.
Weight::from_parts(93_228_580, 0)
// Minimum execution time: 89_529_000 picoseconds.
Weight::from_parts(90_887_836, 0)
.saturating_add(Weight::from_parts(0, 5698))
// Standard Error: 3_540
.saturating_add(Weight::from_parts(496_930, 0).saturating_mul(a.into()))
// Standard Error: 3_658
.saturating_add(Weight::from_parts(20_009, 0).saturating_mul(p.into()))
// Standard Error: 5_789
.saturating_add(Weight::from_parts(470_495, 0).saturating_mul(a.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -112,13 +110,13 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `469 + a * (68 ±0)`
// Estimated: `5698`
// Minimum execution time: 92_412_000 picoseconds.
Weight::from_parts(93_431_190, 0)
// Minimum execution time: 89_167_000 picoseconds.
Weight::from_parts(89_500_097, 0)
.saturating_add(Weight::from_parts(0, 5698))
// Standard Error: 4_974
.saturating_add(Weight::from_parts(499_958, 0).saturating_mul(a.into()))
// Standard Error: 5_139
.saturating_add(Weight::from_parts(8_062, 0).saturating_mul(p.into()))
// Standard Error: 5_162
.saturating_add(Weight::from_parts(491_814, 0).saturating_mul(a.into()))
// Standard Error: 5_334
.saturating_add(Weight::from_parts(28_371, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -134,13 +132,13 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `486 + a * (68 ±0) + p * (37 ±0)`
// Estimated: `5698`
// Minimum execution time: 122_066_000 picoseconds.
Weight::from_parts(120_516_865, 0)
// Minimum execution time: 118_291_000 picoseconds.
Weight::from_parts(117_789_349, 0)
.saturating_add(Weight::from_parts(0, 5698))
// Standard Error: 3_583
.saturating_add(Weight::from_parts(474_188, 0).saturating_mul(a.into()))
// Standard Error: 3_702
.saturating_add(Weight::from_parts(89_204, 0).saturating_mul(p.into()))
// Standard Error: 5_389
.saturating_add(Weight::from_parts(439_098, 0).saturating_mul(a.into()))
// Standard Error: 5_568
.saturating_add(Weight::from_parts(52_417, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -151,11 +149,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `227 + p * (37 ±0)`
// Estimated: `4706`
// Minimum execution time: 90_747_000 picoseconds.
Weight::from_parts(92_224_658, 0)
// Minimum execution time: 87_673_000 picoseconds.
Weight::from_parts(88_498_284, 0)
.saturating_add(Weight::from_parts(0, 4706))
// Standard Error: 6_178
.saturating_add(Weight::from_parts(115_174, 0).saturating_mul(p.into()))
// Standard Error: 5_087
.saturating_add(Weight::from_parts(160_633, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -166,11 +164,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `227 + p * (37 ±0)`
// Estimated: `4706`
// Minimum execution time: 90_894_000 picoseconds.
Weight::from_parts(91_907_515, 0)
// Minimum execution time: 86_923_000 picoseconds.
Weight::from_parts(88_407_273, 0)
.saturating_add(Weight::from_parts(0, 4706))
// Standard Error: 5_632
.saturating_add(Weight::from_parts(170_776, 0).saturating_mul(p.into()))
// Standard Error: 3_144
.saturating_add(Weight::from_parts(157_620, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -181,11 +179,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `227 + p * (37 ±0)`
// Estimated: `4706`
// Minimum execution time: 82_623_000 picoseconds.
Weight::from_parts(83_682_560, 0)
// Minimum execution time: 78_497_000 picoseconds.
Weight::from_parts(80_261_310, 0)
.saturating_add(Weight::from_parts(0, 4706))
// Standard Error: 1_885
.saturating_add(Weight::from_parts(142_952, 0).saturating_mul(p.into()))
// Standard Error: 4_821
.saturating_add(Weight::from_parts(130_950, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -196,11 +194,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `239`
// Estimated: `4706`
// Minimum execution time: 96_987_000 picoseconds.
Weight::from_parts(98_089_930, 0)
// Minimum execution time: 92_942_000 picoseconds.
Weight::from_parts(94_228_619, 0)
.saturating_add(Weight::from_parts(0, 4706))
// Standard Error: 2_115
.saturating_add(Weight::from_parts(36_871, 0).saturating_mul(p.into()))
// Standard Error: 3_983
.saturating_add(Weight::from_parts(49_038, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -211,11 +209,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `264 + p * (37 ±0)`
// Estimated: `4706`
// Minimum execution time: 86_027_000 picoseconds.
Weight::from_parts(87_080_852, 0)
// Minimum execution time: 81_597_000 picoseconds.
Weight::from_parts(83_604_817, 0)
.saturating_add(Weight::from_parts(0, 4706))
// Standard Error: 1_982
.saturating_add(Weight::from_parts(142_829, 0).saturating_mul(p.into()))
// Standard Error: 5_329
.saturating_add(Weight::from_parts(124_813, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_ranked_collective`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -58,8 +58,8 @@ impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInf
// Proof Size summary in bytes:
// Measured: `142`
// Estimated: `3507`
// Minimum execution time: 63_706_000 picoseconds.
Weight::from_parts(64_882_000, 0)
// Minimum execution time: 62_634_000 picoseconds.
Weight::from_parts(64_060_000, 0)
.saturating_add(Weight::from_parts(0, 3507))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(4))
@ -77,11 +77,11 @@ impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInf
// Proof Size summary in bytes:
// Measured: `617 + r * (281 ±0)`
// Estimated: `3519 + r * (2529 ±0)`
// Minimum execution time: 113_000_000 picoseconds.
Weight::from_parts(118_820_574, 0)
// Minimum execution time: 109_667_000 picoseconds.
Weight::from_parts(117_558_171, 0)
.saturating_add(Weight::from_parts(0, 3519))
// Standard Error: 67_446
.saturating_add(Weight::from_parts(57_292_374, 0).saturating_mul(r.into()))
// Standard Error: 95_871
.saturating_add(Weight::from_parts(54_444_530, 0).saturating_mul(r.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(r.into())))
.saturating_add(T::DbWeight::get().writes(6))
@ -101,11 +101,11 @@ impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInf
// Proof Size summary in bytes:
// Measured: `314 + r * (17 ±0)`
// Estimated: `3507`
// Minimum execution time: 73_427_000 picoseconds.
Weight::from_parts(75_571_865, 0)
// Minimum execution time: 71_702_000 picoseconds.
Weight::from_parts(73_360_548, 0)
.saturating_add(Weight::from_parts(0, 3507))
// Standard Error: 10_496
.saturating_add(Weight::from_parts(748_369, 0).saturating_mul(r.into()))
// Standard Error: 12_011
.saturating_add(Weight::from_parts(820_862, 0).saturating_mul(r.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(4))
}
@ -122,11 +122,11 @@ impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInf
// Proof Size summary in bytes:
// Measured: `632 + r * (72 ±0)`
// Estimated: `3519`
// Minimum execution time: 113_585_000 picoseconds.
Weight::from_parts(119_684_908, 0)
// Minimum execution time: 109_021_000 picoseconds.
Weight::from_parts(115_216_247, 0)
.saturating_add(Weight::from_parts(0, 3519))
// Standard Error: 46_656
.saturating_add(Weight::from_parts(1_495_515, 0).saturating_mul(r.into()))
// Standard Error: 45_088
.saturating_add(Weight::from_parts(1_501_447, 0).saturating_mul(r.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(6))
}
@ -144,8 +144,8 @@ impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInf
// Proof Size summary in bytes:
// Measured: `699`
// Estimated: `26866`
// Minimum execution time: 165_614_000 picoseconds.
Weight::from_parts(167_712_000, 0)
// Minimum execution time: 160_732_000 picoseconds.
Weight::from_parts(162_192_000, 0)
.saturating_add(Weight::from_parts(0, 26866))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(5))
@ -161,11 +161,11 @@ impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInf
// Proof Size summary in bytes:
// Measured: `534 + n * (50 ±0)`
// Estimated: `3795 + n * (2540 ±0)`
// Minimum execution time: 61_194_000 picoseconds.
Weight::from_parts(69_801_249, 0)
// Minimum execution time: 60_377_000 picoseconds.
Weight::from_parts(68_548_486, 0)
.saturating_add(Weight::from_parts(0, 3795))
// Standard Error: 5_737
.saturating_add(Weight::from_parts(3_189_746, 0).saturating_mul(n.into()))
// Standard Error: 6_952
.saturating_add(Weight::from_parts(3_283_278, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
@ -187,10 +187,10 @@ impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInf
/// Proof: `CultCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
fn exchange_member() -> Weight {
// Proof Size summary in bytes:
// Measured: `698`
// Measured: `731`
// Estimated: `69046`
// Minimum execution time: 271_034_000 picoseconds.
Weight::from_parts(273_243_000, 0)
// Minimum execution time: 258_760_000 picoseconds.
Weight::from_parts(261_986_000, 0)
.saturating_add(Weight::from_parts(0, 69046))
.saturating_add(T::DbWeight::get().reads(11))
.saturating_add(T::DbWeight::get().writes(14))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_referenda`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -58,8 +58,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `491`
// Estimated: `13928`
// Minimum execution time: 271_563_000 picoseconds.
Weight::from_parts(306_859_000, 0)
// Minimum execution time: 152_396_000 picoseconds.
Weight::from_parts(154_065_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(3))
@ -74,8 +74,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `399`
// Estimated: `26866`
// Minimum execution time: 345_999_000 picoseconds.
Weight::from_parts(359_026_000, 0)
// Minimum execution time: 177_319_000 picoseconds.
Weight::from_parts(178_835_000, 0)
.saturating_add(Weight::from_parts(0, 26866))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(4))
@ -94,8 +94,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `2037`
// Estimated: `13928`
// Minimum execution time: 407_615_000 picoseconds.
Weight::from_parts(438_553_000, 0)
// Minimum execution time: 259_117_000 picoseconds.
Weight::from_parts(265_065_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(4))
@ -114,8 +114,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `2078`
// Estimated: `13928`
// Minimum execution time: 261_093_000 picoseconds.
Weight::from_parts(265_172_000, 0)
// Minimum execution time: 256_504_000 picoseconds.
Weight::from_parts(259_129_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(4))
@ -134,8 +134,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `768`
// Estimated: `26866`
// Minimum execution time: 353_944_000 picoseconds.
Weight::from_parts(363_500_000, 0)
// Minimum execution time: 348_057_000 picoseconds.
Weight::from_parts(355_977_000, 0)
.saturating_add(Weight::from_parts(0, 26866))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(5))
@ -154,8 +154,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `734`
// Estimated: `26866`
// Minimum execution time: 220_837_000 picoseconds.
Weight::from_parts(223_023_000, 0)
// Minimum execution time: 218_619_000 picoseconds.
Weight::from_parts(220_444_000, 0)
.saturating_add(Weight::from_parts(0, 26866))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(5))
@ -166,8 +166,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `351`
// Estimated: `3795`
// Minimum execution time: 105_825_000 picoseconds.
Weight::from_parts(107_256_000, 0)
// Minimum execution time: 106_076_000 picoseconds.
Weight::from_parts(107_601_000, 0)
.saturating_add(Weight::from_parts(0, 3795))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -178,8 +178,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `304`
// Estimated: `3795`
// Minimum execution time: 105_222_000 picoseconds.
Weight::from_parts(106_172_000, 0)
// Minimum execution time: 105_718_000 picoseconds.
Weight::from_parts(106_846_000, 0)
.saturating_add(Weight::from_parts(0, 3795))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -194,8 +194,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `344`
// Estimated: `26866`
// Minimum execution time: 123_694_000 picoseconds.
Weight::from_parts(124_961_000, 0)
// Minimum execution time: 125_928_000 picoseconds.
Weight::from_parts(127_164_000, 0)
.saturating_add(Weight::from_parts(0, 26866))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(4))
@ -212,8 +212,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `548`
// Estimated: `26866`
// Minimum execution time: 329_538_000 picoseconds.
Weight::from_parts(332_131_000, 0)
// Minimum execution time: 328_932_000 picoseconds.
Weight::from_parts(331_665_000, 0)
.saturating_add(Weight::from_parts(0, 26866))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(4))
@ -226,8 +226,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `174`
// Estimated: `4277`
// Minimum execution time: 38_477_000 picoseconds.
Weight::from_parts(39_216_000, 0)
// Minimum execution time: 38_332_000 picoseconds.
Weight::from_parts(39_160_000, 0)
.saturating_add(Weight::from_parts(0, 4277))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -244,8 +244,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `2356`
// Estimated: `13928`
// Minimum execution time: 212_067_000 picoseconds.
Weight::from_parts(215_809_000, 0)
// Minimum execution time: 207_874_000 picoseconds.
Weight::from_parts(210_963_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
@ -262,8 +262,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `2356`
// Estimated: `13928`
// Minimum execution time: 214_401_000 picoseconds.
Weight::from_parts(216_549_000, 0)
// Minimum execution time: 213_070_000 picoseconds.
Weight::from_parts(215_199_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
@ -276,8 +276,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1841`
// Estimated: `4277`
// Minimum execution time: 93_699_000 picoseconds.
Weight::from_parts(95_154_000, 0)
// Minimum execution time: 91_108_000 picoseconds.
Weight::from_parts(93_276_000, 0)
.saturating_add(Weight::from_parts(0, 4277))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -290,8 +290,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1808`
// Estimated: `4277`
// Minimum execution time: 92_829_000 picoseconds.
Weight::from_parts(94_785_000, 0)
// Minimum execution time: 91_238_000 picoseconds.
Weight::from_parts(93_817_000, 0)
.saturating_add(Weight::from_parts(0, 4277))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -306,8 +306,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1824`
// Estimated: `4277`
// Minimum execution time: 117_686_000 picoseconds.
Weight::from_parts(119_841_000, 0)
// Minimum execution time: 114_080_000 picoseconds.
Weight::from_parts(117_214_000, 0)
.saturating_add(Weight::from_parts(0, 4277))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
@ -322,8 +322,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1865`
// Estimated: `4277`
// Minimum execution time: 118_158_000 picoseconds.
Weight::from_parts(119_943_000, 0)
// Minimum execution time: 115_514_000 picoseconds.
Weight::from_parts(117_299_000, 0)
.saturating_add(Weight::from_parts(0, 4277))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
@ -336,8 +336,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `296`
// Estimated: `13928`
// Minimum execution time: 83_935_000 picoseconds.
Weight::from_parts(84_946_000, 0)
// Minimum execution time: 83_739_000 picoseconds.
Weight::from_parts(84_797_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
@ -350,8 +350,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `344`
// Estimated: `13928`
// Minimum execution time: 83_826_000 picoseconds.
Weight::from_parts(84_883_000, 0)
// Minimum execution time: 84_069_000 picoseconds.
Weight::from_parts(85_221_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
@ -362,8 +362,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `242`
// Estimated: `3795`
// Minimum execution time: 56_837_000 picoseconds.
Weight::from_parts(57_686_000, 0)
// Minimum execution time: 58_144_000 picoseconds.
Weight::from_parts(59_013_000, 0)
.saturating_add(Weight::from_parts(0, 3795))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -380,8 +380,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `679`
// Estimated: `13928`
// Minimum execution time: 125_429_000 picoseconds.
Weight::from_parts(127_334_000, 0)
// Minimum execution time: 125_891_000 picoseconds.
Weight::from_parts(127_070_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
@ -398,8 +398,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `713`
// Estimated: `13928`
// Minimum execution time: 192_281_000 picoseconds.
Weight::from_parts(195_794_000, 0)
// Minimum execution time: 188_426_000 picoseconds.
Weight::from_parts(194_627_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
@ -414,8 +414,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `764`
// Estimated: `13928`
// Minimum execution time: 230_411_000 picoseconds.
Weight::from_parts(234_602_000, 0)
// Minimum execution time: 225_514_000 picoseconds.
Weight::from_parts(231_987_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
@ -430,8 +430,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `749`
// Estimated: `13928`
// Minimum execution time: 211_689_000 picoseconds.
Weight::from_parts(233_824_000, 0)
// Minimum execution time: 220_590_000 picoseconds.
Weight::from_parts(241_803_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
@ -446,8 +446,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `764`
// Estimated: `13928`
// Minimum execution time: 222_475_000 picoseconds.
Weight::from_parts(233_253_000, 0)
// Minimum execution time: 216_657_000 picoseconds.
Weight::from_parts(224_736_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
@ -462,8 +462,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `770`
// Estimated: `13928`
// Minimum execution time: 158_148_000 picoseconds.
Weight::from_parts(161_486_000, 0)
// Minimum execution time: 155_269_000 picoseconds.
Weight::from_parts(157_046_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
@ -480,8 +480,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `770`
// Estimated: `26866`
// Minimum execution time: 246_542_000 picoseconds.
Weight::from_parts(273_256_000, 0)
// Minimum execution time: 241_224_000 picoseconds.
Weight::from_parts(276_566_000, 0)
.saturating_add(Weight::from_parts(0, 26866))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(4))
@ -496,8 +496,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `766`
// Estimated: `13928`
// Minimum execution time: 203_428_000 picoseconds.
Weight::from_parts(228_944_000, 0)
// Minimum execution time: 200_228_000 picoseconds.
Weight::from_parts(229_806_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
@ -514,8 +514,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `420`
// Estimated: `3795`
// Minimum execution time: 76_891_000 picoseconds.
Weight::from_parts(78_187_000, 0)
// Minimum execution time: 78_231_000 picoseconds.
Weight::from_parts(79_027_000, 0)
.saturating_add(Weight::from_parts(0, 3795))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(1))
@ -528,8 +528,8 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `319`
// Estimated: `3795`
// Minimum execution time: 62_364_000 picoseconds.
Weight::from_parts(63_236_000, 0)
// Minimum execution time: 64_043_000 picoseconds.
Weight::from_parts(64_623_000, 0)
.saturating_add(Weight::from_parts(0, 3795))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_salary`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -52,8 +52,8 @@ impl<T: frame_system::Config> pallet_salary::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `6`
// Estimated: `1541`
// Minimum execution time: 32_706_000 picoseconds.
Weight::from_parts(33_774_000, 0)
// Minimum execution time: 33_209_000 picoseconds.
Weight::from_parts(33_768_000, 0)
.saturating_add(Weight::from_parts(0, 1541))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -64,8 +64,8 @@ impl<T: frame_system::Config> pallet_salary::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `87`
// Estimated: `1541`
// Minimum execution time: 36_773_000 picoseconds.
Weight::from_parts(37_441_000, 0)
// Minimum execution time: 36_123_000 picoseconds.
Weight::from_parts(37_123_000, 0)
.saturating_add(Weight::from_parts(0, 1541))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -78,10 +78,10 @@ impl<T: frame_system::Config> pallet_salary::WeightInfo for WeightInfo<T> {
/// Proof: `CultSalary::Claimant` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`)
fn induct() -> Weight {
// Proof Size summary in bytes:
// Measured: `501`
// Measured: `396`
// Estimated: `3543`
// Minimum execution time: 68_175_000 picoseconds.
Weight::from_parts(69_367_000, 0)
// Minimum execution time: 66_718_000 picoseconds.
Weight::from_parts(67_650_000, 0)
.saturating_add(Weight::from_parts(0, 3543))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(1))
@ -94,10 +94,10 @@ impl<T: frame_system::Config> pallet_salary::WeightInfo for WeightInfo<T> {
/// Proof: `CultSalary::Claimant` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`)
fn register() -> Weight {
// Proof Size summary in bytes:
// Measured: `568`
// Measured: `463`
// Estimated: `3543`
// Minimum execution time: 73_214_000 picoseconds.
Weight::from_parts(74_504_000, 0)
// Minimum execution time: 71_638_000 picoseconds.
Weight::from_parts(72_112_000, 0)
.saturating_add(Weight::from_parts(0, 3543))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
@ -110,10 +110,10 @@ impl<T: frame_system::Config> pallet_salary::WeightInfo for WeightInfo<T> {
/// Proof: `CultCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
fn payout() -> Weight {
// Proof Size summary in bytes:
// Measured: `568`
// Measured: `463`
// Estimated: `3543`
// Minimum execution time: 211_221_000 picoseconds.
Weight::from_parts(212_656_000, 0)
// Minimum execution time: 207_918_000 picoseconds.
Weight::from_parts(209_061_000, 0)
.saturating_add(Weight::from_parts(0, 3543))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
@ -128,10 +128,10 @@ impl<T: frame_system::Config> pallet_salary::WeightInfo for WeightInfo<T> {
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
fn payout_other() -> Weight {
// Proof Size summary in bytes:
// Measured: `568`
// Measured: `463`
// Estimated: `3593`
// Minimum execution time: 213_501_000 picoseconds.
Weight::from_parts(214_674_000, 0)
// Minimum execution time: 209_472_000 picoseconds.
Weight::from_parts(211_405_000, 0)
.saturating_add(Weight::from_parts(0, 3593))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
@ -144,8 +144,8 @@ impl<T: frame_system::Config> pallet_salary::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `171`
// Estimated: `3543`
// Minimum execution time: 41_227_000 picoseconds.
Weight::from_parts(41_594_000, 0)
// Minimum execution time: 40_067_000 picoseconds.
Weight::from_parts(40_614_000, 0)
.saturating_add(Weight::from_parts(0, 3543))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_scheduler`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -52,8 +52,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `30`
// Estimated: `1489`
// Minimum execution time: 14_819_000 picoseconds.
Weight::from_parts(15_186_000, 0)
// Minimum execution time: 14_860_000 picoseconds.
Weight::from_parts(15_248_000, 0)
.saturating_add(Weight::from_parts(0, 1489))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -65,11 +65,11 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `77 + s * (177 ±0)`
// Estimated: `13928`
// Minimum execution time: 18_503_000 picoseconds.
Weight::from_parts(27_515_314, 0)
// Minimum execution time: 18_722_000 picoseconds.
Weight::from_parts(28_118_266, 0)
.saturating_add(Weight::from_parts(0, 13928))
// Standard Error: 4_293
.saturating_add(Weight::from_parts(1_235_722, 0).saturating_mul(s.into()))
// Standard Error: 4_843
.saturating_add(Weight::from_parts(1_226_870, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -77,12 +77,12 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 14_076_000 picoseconds.
Weight::from_parts(14_272_000, 0)
// Minimum execution time: 13_296_000 picoseconds.
Weight::from_parts(13_620_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
/// Storage: `Preimage::PreimageFor` (r:1 w:1)
/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `Measured`)
/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
/// Storage: `Preimage::StatusFor` (r:1 w:0)
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
@ -91,15 +91,14 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
fn service_task_fetched(s: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `213 + s * (1 ±0)`
// Estimated: `3678 + s * (1 ±0)`
// Minimum execution time: 69_682_000 picoseconds.
Weight::from_parts(70_459_000, 0)
.saturating_add(Weight::from_parts(0, 3678))
// Standard Error: 25
.saturating_add(Weight::from_parts(3_260, 0).saturating_mul(s.into()))
// Estimated: `4197809`
// Minimum execution time: 69_439_000 picoseconds.
Weight::from_parts(104_150_976, 0)
.saturating_add(Weight::from_parts(0, 4197809))
// Standard Error: 2
.saturating_add(Weight::from_parts(2_987, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
.saturating_add(Weight::from_parts(0, 1).saturating_mul(s.into()))
}
/// Storage: `Scheduler::Lookup` (r:0 w:1)
/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
@ -107,8 +106,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 20_275_000 picoseconds.
Weight::from_parts(20_772_000, 0)
// Minimum execution time: 19_790_000 picoseconds.
Weight::from_parts(20_285_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -116,24 +115,24 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 14_080_000 picoseconds.
Weight::from_parts(14_259_000, 0)
// Minimum execution time: 13_608_000 picoseconds.
Weight::from_parts(13_774_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
fn execute_dispatch_signed() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 11_075_000 picoseconds.
Weight::from_parts(11_416_000, 0)
// Minimum execution time: 9_913_000 picoseconds.
Weight::from_parts(10_088_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
fn execute_dispatch_unsigned() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 10_983_000 picoseconds.
Weight::from_parts(11_168_000, 0)
// Minimum execution time: 9_729_000 picoseconds.
Weight::from_parts(10_021_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
/// Storage: `Scheduler::Agenda` (r:1 w:1)
@ -143,11 +142,11 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `77 + s * (177 ±0)`
// Estimated: `13928`
// Minimum execution time: 46_875_000 picoseconds.
Weight::from_parts(54_427_669, 0)
// Minimum execution time: 45_794_000 picoseconds.
Weight::from_parts(54_608_211, 0)
.saturating_add(Weight::from_parts(0, 13928))
// Standard Error: 5_759
.saturating_add(Weight::from_parts(1_282_517, 0).saturating_mul(s.into()))
// Standard Error: 6_785
.saturating_add(Weight::from_parts(1_269_868, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -162,11 +161,11 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `77 + s * (177 ±0)`
// Estimated: `13928`
// Minimum execution time: 66_317_000 picoseconds.
Weight::from_parts(64_165_317, 0)
// Minimum execution time: 64_891_000 picoseconds.
Weight::from_parts(63_222_573, 0)
.saturating_add(Weight::from_parts(0, 13928))
// Standard Error: 6_122
.saturating_add(Weight::from_parts(1_989_423, 0).saturating_mul(s.into()))
// Standard Error: 6_260
.saturating_add(Weight::from_parts(2_004_294, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(3))
}
@ -179,11 +178,11 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `254 + s * (185 ±0)`
// Estimated: `13928`
// Minimum execution time: 58_571_000 picoseconds.
Weight::from_parts(70_239_408, 0)
// Minimum execution time: 57_828_000 picoseconds.
Weight::from_parts(70_377_584, 0)
.saturating_add(Weight::from_parts(0, 13928))
// Standard Error: 7_226
.saturating_add(Weight::from_parts(1_332_263, 0).saturating_mul(s.into()))
// Standard Error: 10_551
.saturating_add(Weight::from_parts(1_358_544, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -198,11 +197,11 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `280 + s * (185 ±0)`
// Estimated: `13928`
// Minimum execution time: 73_281_000 picoseconds.
Weight::from_parts(73_250_179, 0)
// Minimum execution time: 72_307_000 picoseconds.
Weight::from_parts(72_338_384, 0)
.saturating_add(Weight::from_parts(0, 13928))
// Standard Error: 6_858
.saturating_add(Weight::from_parts(2_049_531, 0).saturating_mul(s.into()))
// Standard Error: 5_443
.saturating_add(Weight::from_parts(2_097_934, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(3))
}
@ -215,11 +214,11 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `117`
// Estimated: `13928`
// Minimum execution time: 40_949_000 picoseconds.
Weight::from_parts(42_172_132, 0)
// Minimum execution time: 40_472_000 picoseconds.
Weight::from_parts(41_731_708, 0)
.saturating_add(Weight::from_parts(0, 13928))
// Standard Error: 3_444
.saturating_add(Weight::from_parts(44_459, 0).saturating_mul(s.into()))
// Standard Error: 2_220
.saturating_add(Weight::from_parts(53_608, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -231,8 +230,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `8927`
// Estimated: `13928`
// Minimum execution time: 94_947_000 picoseconds.
Weight::from_parts(96_426_000, 0)
// Minimum execution time: 94_352_000 picoseconds.
Weight::from_parts(96_244_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -247,8 +246,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `9605`
// Estimated: `13928`
// Minimum execution time: 111_321_000 picoseconds.
Weight::from_parts(112_931_000, 0)
// Minimum execution time: 112_092_000 picoseconds.
Weight::from_parts(113_518_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -261,8 +260,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `8939`
// Estimated: `13928`
// Minimum execution time: 91_427_000 picoseconds.
Weight::from_parts(92_904_000, 0)
// Minimum execution time: 90_762_000 picoseconds.
Weight::from_parts(91_344_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
@ -277,8 +276,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `9617`
// Estimated: `13928`
// Minimum execution time: 108_471_000 picoseconds.
Weight::from_parts(110_205_000, 0)
// Minimum execution time: 108_385_000 picoseconds.
Weight::from_parts(110_218_000, 0)
.saturating_add(Weight::from_parts(0, 13928))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_session`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -54,11 +54,11 @@ impl<T: frame_system::Config> pallet_session::WeightInfo for WeightInfo<T> {
/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn set_keys() -> Weight {
// Proof Size summary in bytes:
// Measured: `1764`
// Estimated: `12654`
// Minimum execution time: 165_108_000 picoseconds.
Weight::from_parts(167_458_000, 0)
.saturating_add(Weight::from_parts(0, 12654))
// Measured: `1731`
// Estimated: `12621`
// Minimum execution time: 163_404_000 picoseconds.
Weight::from_parts(165_615_000, 0)
.saturating_add(Weight::from_parts(0, 12621))
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(5))
}
@ -70,11 +70,11 @@ impl<T: frame_system::Config> pallet_session::WeightInfo for WeightInfo<T> {
/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn purge_keys() -> Weight {
// Proof Size summary in bytes:
// Measured: `1680`
// Estimated: `5145`
// Minimum execution time: 119_549_000 picoseconds.
Weight::from_parts(121_281_000, 0)
.saturating_add(Weight::from_parts(0, 5145))
// Measured: `1647`
// Estimated: `5112`
// Minimum execution time: 117_712_000 picoseconds.
Weight::from_parts(120_680_000, 0)
.saturating_add(Weight::from_parts(0, 5112))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(5))
}

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_staking`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -60,10 +60,10 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
/// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
fn bond() -> Weight {
// Proof Size summary in bytes:
// Measured: `1004`
// Measured: `971`
// Estimated: `4764`
// Minimum execution time: 338_498_000 picoseconds.
Weight::from_parts(386_720_000, 0)
// Minimum execution time: 181_513_000 picoseconds.
Weight::from_parts(182_668_000, 0)
.saturating_add(Weight::from_parts(0, 4764))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(4))
@ -84,10 +84,10 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
/// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`)
fn bond_extra() -> Weight {
// Proof Size summary in bytes:
// Measured: `1921`
// Measured: `1884`
// Estimated: `8877`
// Minimum execution time: 661_452_000 picoseconds.
Weight::from_parts(712_052_000, 0)
// Minimum execution time: 337_203_000 picoseconds.
Weight::from_parts(340_995_000, 0)
.saturating_add(Weight::from_parts(0, 8877))
.saturating_add(T::DbWeight::get().reads(10))
.saturating_add(T::DbWeight::get().writes(7))
@ -114,10 +114,10 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
/// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`)
fn unbond() -> Weight {
// Proof Size summary in bytes:
// Measured: `2128`
// Measured: `2091`
// Estimated: `8877`
// Minimum execution time: 696_538_000 picoseconds.
Weight::from_parts(750_706_000, 0)
// Minimum execution time: 366_736_000 picoseconds.
Weight::from_parts(370_254_000, 0)
.saturating_add(Weight::from_parts(0, 8877))
.saturating_add(T::DbWeight::get().reads(13))
.saturating_add(T::DbWeight::get().writes(7))
@ -141,11 +141,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1189`
// Estimated: `4764`
// Minimum execution time: 240_569_000 picoseconds.
Weight::from_parts(373_957_113, 0)
// Minimum execution time: 186_356_000 picoseconds.
Weight::from_parts(189_174_830, 0)
.saturating_add(Weight::from_parts(0, 4764))
// Standard Error: 24_005
.saturating_add(Weight::from_parts(504_716, 0).saturating_mul(s.into()))
// Standard Error: 2_581
.saturating_add(Weight::from_parts(60_458, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(7))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -182,13 +182,13 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
/// The range of component `s` is `[0, 100]`.
fn withdraw_unbonded_kill(s: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `2127 + s * (4 ±0)`
// Measured: `2090 + s * (4 ±0)`
// Estimated: `6248 + s * (4 ±0)`
// Minimum execution time: 431_599_000 picoseconds.
Weight::from_parts(815_489_622, 0)
// Minimum execution time: 336_627_000 picoseconds.
Weight::from_parts(354_652_860, 0)
.saturating_add(Weight::from_parts(0, 6248))
// Standard Error: 383_786
.saturating_add(Weight::from_parts(3_974_343, 0).saturating_mul(s.into()))
// Standard Error: 10_253
.saturating_add(Weight::from_parts(4_298_159, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(14))
.saturating_add(T::DbWeight::get().writes(12))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
@ -220,8 +220,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1266`
// Estimated: `4556`
// Minimum execution time: 218_840_000 picoseconds.
Weight::from_parts(237_793_000, 0)
// Minimum execution time: 206_506_000 picoseconds.
Weight::from_parts(208_265_000, 0)
.saturating_add(Weight::from_parts(0, 4556))
.saturating_add(T::DbWeight::get().reads(11))
.saturating_add(T::DbWeight::get().writes(5))
@ -237,11 +237,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1709 + k * (572 ±0)`
// Estimated: `4556 + k * (3033 ±0)`
// Minimum execution time: 127_973_000 picoseconds.
Weight::from_parts(597_225_750, 0)
// Minimum execution time: 104_620_000 picoseconds.
Weight::from_parts(121_005_526, 0)
.saturating_add(Weight::from_parts(0, 4556))
// Standard Error: 324_699
.saturating_add(Weight::from_parts(19_393_381, 0).saturating_mul(k.into()))
// Standard Error: 17_909
.saturating_add(Weight::from_parts(22_870_595, 0).saturating_mul(k.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into())))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into())))
@ -274,11 +274,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1760 + n * (102 ±0)`
// Estimated: `6248 + n * (2520 ±0)`
// Minimum execution time: 249_923_000 picoseconds.
Weight::from_parts(244_536_929, 0)
// Minimum execution time: 245_114_000 picoseconds.
Weight::from_parts(235_148_071, 0)
.saturating_add(Weight::from_parts(0, 6248))
// Standard Error: 44_547
.saturating_add(Weight::from_parts(13_536_858, 0).saturating_mul(n.into()))
// Standard Error: 54_194
.saturating_add(Weight::from_parts(12_802_063, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(12))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
.saturating_add(T::DbWeight::get().writes(6))
@ -304,8 +304,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1710`
// Estimated: `6248`
// Minimum execution time: 217_259_000 picoseconds.
Weight::from_parts(222_020_000, 0)
// Minimum execution time: 212_277_000 picoseconds.
Weight::from_parts(213_799_000, 0)
.saturating_add(Weight::from_parts(0, 6248))
.saturating_add(T::DbWeight::get().reads(9))
.saturating_add(T::DbWeight::get().writes(6))
@ -320,8 +320,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `796`
// Estimated: `4556`
// Minimum execution time: 78_429_000 picoseconds.
Weight::from_parts(80_713_000, 0)
// Minimum execution time: 75_881_000 picoseconds.
Weight::from_parts(76_731_000, 0)
.saturating_add(Weight::from_parts(0, 4556))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -336,8 +336,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `863`
// Estimated: `4556`
// Minimum execution time: 91_087_000 picoseconds.
Weight::from_parts(93_237_000, 0)
// Minimum execution time: 88_613_000 picoseconds.
Weight::from_parts(89_638_000, 0)
.saturating_add(Weight::from_parts(0, 4556))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(1))
@ -350,8 +350,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `796`
// Estimated: `8122`
// Minimum execution time: 88_084_000 picoseconds.
Weight::from_parts(89_025_000, 0)
// Minimum execution time: 84_994_000 picoseconds.
Weight::from_parts(85_695_000, 0)
.saturating_add(Weight::from_parts(0, 8122))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(3))
@ -362,8 +362,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 12_031_000 picoseconds.
Weight::from_parts(12_270_000, 0)
// Minimum execution time: 10_765_000 picoseconds.
Weight::from_parts(10_987_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -373,8 +373,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 37_611_000 picoseconds.
Weight::from_parts(38_280_000, 0)
// Minimum execution time: 34_097_000 picoseconds.
Weight::from_parts(35_276_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -384,8 +384,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 37_820_000 picoseconds.
Weight::from_parts(39_125_000, 0)
// Minimum execution time: 34_024_000 picoseconds.
Weight::from_parts(34_864_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -395,8 +395,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 37_282_000 picoseconds.
Weight::from_parts(38_356_000, 0)
// Minimum execution time: 34_191_000 picoseconds.
Weight::from_parts(35_014_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -407,11 +407,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 13_308_000 picoseconds.
Weight::from_parts(14_766_882, 0)
// Minimum execution time: 11_557_000 picoseconds.
Weight::from_parts(12_160_317, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 294
.saturating_add(Weight::from_parts(31_704, 0).saturating_mul(v.into()))
// Standard Error: 82
.saturating_add(Weight::from_parts(33_853, 0).saturating_mul(v.into()))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `Staking::Ledger` (r:10628 w:10628)
@ -425,11 +425,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1631 + i * (227 ±0)`
// Estimated: `990 + i * (7132 ±0)`
// Minimum execution time: 21_760_000 picoseconds.
Weight::from_parts(22_276_000, 0)
// Minimum execution time: 20_774_000 picoseconds.
Weight::from_parts(21_015_000, 0)
.saturating_add(Weight::from_parts(0, 990))
// Standard Error: 147_182
.saturating_add(Weight::from_parts(97_693_277, 0).saturating_mul(i.into()))
// Standard Error: 147_428
.saturating_add(Weight::from_parts(95_424_440, 0).saturating_mul(i.into()))
.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(i.into())))
.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(i.into())))
.saturating_add(Weight::from_parts(0, 7132).saturating_mul(i.into()))
@ -467,13 +467,13 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
/// The range of component `s` is `[0, 100]`.
fn force_unstake(s: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `2127 + s * (4 ±0)`
// Measured: `2090 + s * (4 ±0)`
// Estimated: `6248 + s * (4 ±0)`
// Minimum execution time: 323_185_000 picoseconds.
Weight::from_parts(337_339_097, 0)
// Minimum execution time: 315_458_000 picoseconds.
Weight::from_parts(332_699_276, 0)
.saturating_add(Weight::from_parts(0, 6248))
// Standard Error: 11_397
.saturating_add(Weight::from_parts(4_408_240, 0).saturating_mul(s.into()))
// Standard Error: 10_062
.saturating_add(Weight::from_parts(4_257_588, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(14))
.saturating_add(T::DbWeight::get().writes(13))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
@ -486,11 +486,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `66568`
// Estimated: `70033`
// Minimum execution time: 437_005_000 picoseconds.
Weight::from_parts(3_003_988_272, 0)
// Minimum execution time: 425_648_000 picoseconds.
Weight::from_parts(3_002_999_713, 0)
.saturating_add(Weight::from_parts(0, 70033))
// Standard Error: 185_994
.saturating_add(Weight::from_parts(15_645_000, 0).saturating_mul(s.into()))
// Standard Error: 186_223
.saturating_add(Weight::from_parts(15_683_969, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -527,13 +527,13 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
/// The range of component `n` is `[0, 512]`.
fn payout_stakers_alive_staked(n: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `58361 + n * (391 ±0)`
// Estimated: `53178 + n * (3774 ±0)`
// Minimum execution time: 583_180_000 picoseconds.
Weight::from_parts(842_483_973, 0)
.saturating_add(Weight::from_parts(0, 53178))
// Standard Error: 216_817
.saturating_add(Weight::from_parts(207_149_899, 0).saturating_mul(n.into()))
// Measured: `58254 + n * (391 ±0)`
// Estimated: `53119 + n * (3774 ±0)`
// Minimum execution time: 570_369_000 picoseconds.
Weight::from_parts(437_482_260, 0)
.saturating_add(Weight::from_parts(0, 53119))
// Standard Error: 45_805
.saturating_add(Weight::from_parts(202_658_573, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(15))
.saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(n.into())))
.saturating_add(T::DbWeight::get().writes(4))
@ -557,13 +557,13 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
/// The range of component `l` is `[1, 32]`.
fn rebond(l: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `1922 + l * (7 ±0)`
// Measured: `1885 + l * (7 ±0)`
// Estimated: `8877`
// Minimum execution time: 336_912_000 picoseconds.
Weight::from_parts(340_230_283, 0)
// Minimum execution time: 325_993_000 picoseconds.
Weight::from_parts(332_835_692, 0)
.saturating_add(Weight::from_parts(0, 8877))
// Standard Error: 8_240
.saturating_add(Weight::from_parts(485_568, 0).saturating_mul(l.into()))
// Standard Error: 23_972
.saturating_add(Weight::from_parts(401_835, 0).saturating_mul(l.into()))
.saturating_add(T::DbWeight::get().reads(10))
.saturating_add(T::DbWeight::get().writes(7))
}
@ -598,13 +598,13 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
/// The range of component `s` is `[1, 100]`.
fn reap_stash(s: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `2127 + s * (4 ±0)`
// Measured: `2090 + s * (4 ±0)`
// Estimated: `6248 + s * (4 ±0)`
// Minimum execution time: 369_161_000 picoseconds.
Weight::from_parts(369_247_756, 0)
// Minimum execution time: 354_928_000 picoseconds.
Weight::from_parts(358_417_393, 0)
.saturating_add(Weight::from_parts(0, 6248))
// Standard Error: 7_786
.saturating_add(Weight::from_parts(4_374_782, 0).saturating_mul(s.into()))
// Standard Error: 11_745
.saturating_add(Weight::from_parts(4_288_934, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(13))
.saturating_add(T::DbWeight::get().writes(12))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
@ -612,7 +612,7 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
}
/// Storage: `VoterList::CounterForListNodes` (r:1 w:0)
/// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `VoterList::ListBags` (r:134 w:0)
/// Storage: `VoterList::ListBags` (r:132 w:0)
/// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`)
/// Storage: `VoterList::ListNodes` (r:110 w:0)
/// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`)
@ -649,15 +649,15 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
fn new_era(v: u32, n: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `0 + n * (718 ±0) + v * (3596 ±0)`
// Estimated: `343628 + n * (3566 ±0) + v * (3566 ±0)`
// Minimum execution time: 1_815_047_000 picoseconds.
Weight::from_parts(1_828_204_000, 0)
.saturating_add(Weight::from_parts(0, 343628))
// Standard Error: 6_726_450
.saturating_add(Weight::from_parts(224_873_492, 0).saturating_mul(v.into()))
// Standard Error: 670_253
.saturating_add(Weight::from_parts(69_720_585, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(140))
// Estimated: `338514 + n * (3566 ±0) + v * (3566 ±0)`
// Minimum execution time: 1_813_981_000 picoseconds.
Weight::from_parts(1_826_029_000, 0)
.saturating_add(Weight::from_parts(0, 338514))
// Standard Error: 7_494_870
.saturating_add(Weight::from_parts(249_121_016, 0).saturating_mul(v.into()))
// Standard Error: 746_822
.saturating_add(Weight::from_parts(69_898_615, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(138))
.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(v.into())))
.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into())))
.saturating_add(T::DbWeight::get().writes(3))
@ -667,7 +667,7 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
}
/// Storage: `VoterList::CounterForListNodes` (r:1 w:0)
/// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `VoterList::ListBags` (r:134 w:0)
/// Storage: `VoterList::ListBags` (r:132 w:0)
/// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`)
/// Storage: `VoterList::ListNodes` (r:2000 w:0)
/// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`)
@ -686,15 +686,15 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
fn get_npos_voters(v: u32, n: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `3071 + n * (909 ±0) + v * (393 ±0)`
// Estimated: `343628 + n * (3566 ±0) + v * (3566 ±0)`
// Minimum execution time: 122_916_627_000 picoseconds.
Weight::from_parts(123_492_844_000, 0)
.saturating_add(Weight::from_parts(0, 343628))
// Standard Error: 1_263_122
.saturating_add(Weight::from_parts(18_060_245, 0).saturating_mul(v.into()))
// Standard Error: 1_263_122
.saturating_add(Weight::from_parts(11_472_643, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(135))
// Estimated: `338514 + n * (3566 ±0) + v * (3566 ±0)`
// Minimum execution time: 121_576_757_000 picoseconds.
Weight::from_parts(122_402_256_000, 0)
.saturating_add(Weight::from_parts(0, 338514))
// Standard Error: 1_265_914
.saturating_add(Weight::from_parts(17_930_840, 0).saturating_mul(v.into()))
// Standard Error: 1_265_914
.saturating_add(Weight::from_parts(11_256_916, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(133))
.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(v.into())))
.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into())))
.saturating_add(T::DbWeight::get().writes(1))
@ -710,11 +710,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `875 + v * (50 ±0)`
// Estimated: `3510 + v * (2520 ±0)`
// Minimum execution time: 9_765_731_000 picoseconds.
Weight::from_parts(115_775_558, 0)
// Minimum execution time: 9_879_171_000 picoseconds.
Weight::from_parts(192_965_403, 0)
.saturating_add(Weight::from_parts(0, 3510))
// Standard Error: 23_034
.saturating_add(Weight::from_parts(19_694_945, 0).saturating_mul(v.into()))
// Standard Error: 28_122
.saturating_add(Weight::from_parts(19_825_455, 0).saturating_mul(v.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into())))
.saturating_add(Weight::from_parts(0, 2520).saturating_mul(v.into()))
@ -737,8 +737,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 18_211_000 picoseconds.
Weight::from_parts(18_717_000, 0)
// Minimum execution time: 16_687_000 picoseconds.
Weight::from_parts(17_181_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(7))
}
@ -760,8 +760,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 17_036_000 picoseconds.
Weight::from_parts(17_619_000, 0)
// Minimum execution time: 15_742_000 picoseconds.
Weight::from_parts(15_987_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(7))
}
@ -791,8 +791,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1833`
// Estimated: `6248`
// Minimum execution time: 257_282_000 picoseconds.
Weight::from_parts(259_826_000, 0)
// Minimum execution time: 253_183_000 picoseconds.
Weight::from_parts(255_197_000, 0)
.saturating_add(Weight::from_parts(0, 6248))
.saturating_add(T::DbWeight::get().reads(12))
.saturating_add(T::DbWeight::get().writes(6))
@ -805,8 +805,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `587`
// Estimated: `3510`
// Minimum execution time: 46_151_000 picoseconds.
Weight::from_parts(46_807_000, 0)
// Minimum execution time: 45_338_000 picoseconds.
Weight::from_parts(46_334_000, 0)
.saturating_add(Weight::from_parts(0, 3510))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@ -817,8 +817,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 12_083_000 picoseconds.
Weight::from_parts(23_149_000, 0)
// Minimum execution time: 10_790_000 picoseconds.
Weight::from_parts(11_107_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -838,8 +838,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `943`
// Estimated: `4764`
// Minimum execution time: 186_152_000 picoseconds.
Weight::from_parts(187_010_000, 0)
// Minimum execution time: 179_061_000 picoseconds.
Weight::from_parts(180_624_000, 0)
.saturating_add(Weight::from_parts(0, 4764))
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(4))

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_timestamp`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -52,20 +52,20 @@ impl<T: frame_system::Config> pallet_timestamp::WeightInfo for WeightInfo<T> {
/// Proof: `Babe::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
fn set() -> Weight {
// Proof Size summary in bytes:
// Measured: `345`
// Measured: `378`
// Estimated: `1493`
// Minimum execution time: 35_760_000 picoseconds.
Weight::from_parts(36_868_000, 0)
// Minimum execution time: 35_522_000 picoseconds.
Weight::from_parts(36_278_000, 0)
.saturating_add(Weight::from_parts(0, 1493))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
fn on_finalize() -> Weight {
// Proof Size summary in bytes:
// Measured: `128`
// Measured: `161`
// Estimated: `0`
// Minimum execution time: 15_654_000 picoseconds.
Weight::from_parts(16_117_000, 0)
// Minimum execution time: 16_129_000 picoseconds.
Weight::from_parts(16_583_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
}

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_utility`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -51,18 +51,18 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 20_509_000 picoseconds.
Weight::from_parts(27_625_885, 0)
// Minimum execution time: 19_471_000 picoseconds.
Weight::from_parts(27_064_767, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 7_840
.saturating_add(Weight::from_parts(11_994_055, 0).saturating_mul(c.into()))
// Standard Error: 2_838
.saturating_add(Weight::from_parts(11_828_163, 0).saturating_mul(c.into()))
}
fn as_derivative() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 20_665_000 picoseconds.
Weight::from_parts(21_060_000, 0)
// Minimum execution time: 19_702_000 picoseconds.
Weight::from_parts(20_057_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
/// The range of component `c` is `[0, 1000]`.
@ -70,18 +70,18 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 20_675_000 picoseconds.
Weight::from_parts(33_788_704, 0)
// Minimum execution time: 19_584_000 picoseconds.
Weight::from_parts(45_692_948, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 3_192
.saturating_add(Weight::from_parts(13_004_420, 0).saturating_mul(c.into()))
// Standard Error: 2_919
.saturating_add(Weight::from_parts(12_635_506, 0).saturating_mul(c.into()))
}
fn dispatch_as() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 28_291_000 picoseconds.
Weight::from_parts(28_769_000, 0)
// Minimum execution time: 26_541_000 picoseconds.
Weight::from_parts(27_213_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
/// The range of component `c` is `[0, 1000]`.
@ -89,10 +89,10 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 20_069_000 picoseconds.
Weight::from_parts(36_269_385, 0)
// Minimum execution time: 19_318_000 picoseconds.
Weight::from_parts(41_473_149, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 3_338
.saturating_add(Weight::from_parts(12_004_193, 0).saturating_mul(c.into()))
// Standard Error: 3_886
.saturating_add(Weight::from_parts(11_683_980, 0).saturating_mul(c.into()))
}
}

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_vesting`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -58,13 +58,13 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `277 + l * (25 ±0) + s * (36 ±0)`
// Estimated: `4764`
// Minimum execution time: 122_639_000 picoseconds.
Weight::from_parts(119_788_111, 0)
// Minimum execution time: 117_458_000 picoseconds.
Weight::from_parts(114_874_642, 0)
.saturating_add(Weight::from_parts(0, 4764))
// Standard Error: 3_103
.saturating_add(Weight::from_parts(89_720, 0).saturating_mul(l.into()))
// Standard Error: 5_521
.saturating_add(Weight::from_parts(208_023, 0).saturating_mul(s.into()))
// Standard Error: 2_462
.saturating_add(Weight::from_parts(93_788, 0).saturating_mul(l.into()))
// Standard Error: 4_382
.saturating_add(Weight::from_parts(216_609, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -80,13 +80,13 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `277 + l * (25 ±0) + s * (36 ±0)`
// Estimated: `4764`
// Minimum execution time: 129_566_000 picoseconds.
Weight::from_parts(127_309_060, 0)
// Minimum execution time: 124_188_000 picoseconds.
Weight::from_parts(122_382_407, 0)
.saturating_add(Weight::from_parts(0, 4764))
// Standard Error: 1_988
.saturating_add(Weight::from_parts(82_863, 0).saturating_mul(l.into()))
// Standard Error: 3_537
.saturating_add(Weight::from_parts(162_912, 0).saturating_mul(s.into()))
// Standard Error: 3_373
.saturating_add(Weight::from_parts(65_171, 0).saturating_mul(l.into()))
// Standard Error: 6_001
.saturating_add(Weight::from_parts(192_643, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
}
@ -104,13 +104,13 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `380 + l * (25 ±0) + s * (36 ±0)`
// Estimated: `4764`
// Minimum execution time: 130_629_000 picoseconds.
Weight::from_parts(129_291_209, 0)
// Minimum execution time: 127_229_000 picoseconds.
Weight::from_parts(124_669_235, 0)
.saturating_add(Weight::from_parts(0, 4764))
// Standard Error: 3_291
.saturating_add(Weight::from_parts(62_654, 0).saturating_mul(l.into()))
// Standard Error: 5_855
.saturating_add(Weight::from_parts(199_735, 0).saturating_mul(s.into()))
// Standard Error: 3_929
.saturating_add(Weight::from_parts(94_746, 0).saturating_mul(l.into()))
// Standard Error: 6_990
.saturating_add(Weight::from_parts(225_255, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
}
@ -128,13 +128,13 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `380 + l * (25 ±0) + s * (36 ±0)`
// Estimated: `4764`
// Minimum execution time: 136_735_000 picoseconds.
Weight::from_parts(134_928_366, 0)
// Minimum execution time: 133_386_000 picoseconds.
Weight::from_parts(131_646_542, 0)
.saturating_add(Weight::from_parts(0, 4764))
// Standard Error: 4_220
.saturating_add(Weight::from_parts(76_876, 0).saturating_mul(l.into()))
// Standard Error: 7_508
.saturating_add(Weight::from_parts(178_775, 0).saturating_mul(s.into()))
// Standard Error: 4_399
.saturating_add(Weight::from_parts(78_714, 0).saturating_mul(l.into()))
// Standard Error: 7_826
.saturating_add(Weight::from_parts(197_965, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
}
@ -152,13 +152,13 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `451 + l * (25 ±0) + s * (36 ±0)`
// Estimated: `4764`
// Minimum execution time: 268_393_000 picoseconds.
Weight::from_parts(269_136_230, 0)
// Minimum execution time: 261_041_000 picoseconds.
Weight::from_parts(261_894_987, 0)
.saturating_add(Weight::from_parts(0, 4764))
// Standard Error: 5_783
.saturating_add(Weight::from_parts(97_611, 0).saturating_mul(l.into()))
// Standard Error: 10_290
.saturating_add(Weight::from_parts(223_818, 0).saturating_mul(s.into()))
// Standard Error: 9_942
.saturating_add(Weight::from_parts(130_337, 0).saturating_mul(l.into()))
// Standard Error: 17_688
.saturating_add(Weight::from_parts(308_205, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
}
@ -174,15 +174,15 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
/// The range of component `s` is `[0, 27]`.
fn force_vested_transfer(l: u32, s: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `591 + l * (25 ±0) + s * (36 ±0)`
// Measured: `554 + l * (25 ±0) + s * (36 ±0)`
// Estimated: `6196`
// Minimum execution time: 277_724_000 picoseconds.
Weight::from_parts(278_570_646, 0)
// Minimum execution time: 271_077_000 picoseconds.
Weight::from_parts(271_556_439, 0)
.saturating_add(Weight::from_parts(0, 6196))
// Standard Error: 3_331
.saturating_add(Weight::from_parts(101_462, 0).saturating_mul(l.into()))
// Standard Error: 5_926
.saturating_add(Weight::from_parts(237_946, 0).saturating_mul(s.into()))
// Standard Error: 9_154
.saturating_add(Weight::from_parts(119_413, 0).saturating_mul(l.into()))
// Standard Error: 16_286
.saturating_add(Weight::from_parts(265_179, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(4))
}
@ -200,13 +200,13 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `378 + l * (25 ±0) + s * (36 ±0)`
// Estimated: `4764`
// Minimum execution time: 133_075_000 picoseconds.
Weight::from_parts(131_689_481, 0)
// Minimum execution time: 130_187_000 picoseconds.
Weight::from_parts(128_509_737, 0)
.saturating_add(Weight::from_parts(0, 4764))
// Standard Error: 3_832
.saturating_add(Weight::from_parts(73_049, 0).saturating_mul(l.into()))
// Standard Error: 7_078
.saturating_add(Weight::from_parts(186_150, 0).saturating_mul(s.into()))
// Standard Error: 3_665
.saturating_add(Weight::from_parts(77_663, 0).saturating_mul(l.into()))
// Standard Error: 6_768
.saturating_add(Weight::from_parts(211_744, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
}
@ -224,13 +224,13 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `378 + l * (25 ±0) + s * (36 ±0)`
// Estimated: `4764`
// Minimum execution time: 141_395_000 picoseconds.
Weight::from_parts(139_649_819, 0)
// Minimum execution time: 137_936_000 picoseconds.
Weight::from_parts(134_761_632, 0)
.saturating_add(Weight::from_parts(0, 4764))
// Standard Error: 3_605
.saturating_add(Weight::from_parts(82_146, 0).saturating_mul(l.into()))
// Standard Error: 6_658
.saturating_add(Weight::from_parts(186_309, 0).saturating_mul(s.into()))
// Standard Error: 4_898
.saturating_add(Weight::from_parts(116_191, 0).saturating_mul(l.into()))
// Standard Error: 9_045
.saturating_add(Weight::from_parts(239_831, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
}
@ -248,13 +248,13 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `451 + l * (25 ±0) + s * (36 ±0)`
// Estimated: `4764`
// Minimum execution time: 147_292_000 picoseconds.
Weight::from_parts(145_632_661, 0)
// Minimum execution time: 144_510_000 picoseconds.
Weight::from_parts(140_322_220, 0)
.saturating_add(Weight::from_parts(0, 4764))
// Standard Error: 4_503
.saturating_add(Weight::from_parts(83_213, 0).saturating_mul(l.into()))
// Standard Error: 8_316
.saturating_add(Weight::from_parts(199_717, 0).saturating_mul(s.into()))
// Standard Error: 4_134
.saturating_add(Weight::from_parts(105_047, 0).saturating_mul(l.into()))
// Standard Error: 7_635
.saturating_add(Weight::from_parts(237_862, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
}

View File

@ -7,7 +7,7 @@
// Ghost Network is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
@ -16,7 +16,7 @@
//! Autogenerated weights for `pallet_whitelist`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-08-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-11-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ghostown`, CPU: `Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("casper-dev")`, DB CACHE: 1024
@ -56,8 +56,8 @@ impl<T: frame_system::Config> pallet_whitelist::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `185`
// Estimated: `3556`
// Minimum execution time: 73_478_000 picoseconds.
Weight::from_parts(75_014_000, 0)
// Minimum execution time: 72_676_000 picoseconds.
Weight::from_parts(74_463_000, 0)
.saturating_add(Weight::from_parts(0, 3556))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
@ -72,8 +72,8 @@ impl<T: frame_system::Config> pallet_whitelist::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `314`
// Estimated: `3556`
// Minimum execution time: 70_728_000 picoseconds.
Weight::from_parts(71_250_000, 0)
// Minimum execution time: 69_712_000 picoseconds.
Weight::from_parts(70_813_000, 0)
.saturating_add(Weight::from_parts(0, 3556))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
@ -91,11 +91,11 @@ impl<T: frame_system::Config> pallet_whitelist::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `390 + n * (1 ±0)`
// Estimated: `3854 + n * (1 ±0)`
// Minimum execution time: 111_739_000 picoseconds.
Weight::from_parts(112_792_000, 0)
// Minimum execution time: 109_739_000 picoseconds.
Weight::from_parts(110_208_000, 0)
.saturating_add(Weight::from_parts(0, 3854))
// Standard Error: 23
.saturating_add(Weight::from_parts(3_436, 0).saturating_mul(n.into()))
// Standard Error: 8
.saturating_add(Weight::from_parts(3_119, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
@ -111,11 +111,11 @@ impl<T: frame_system::Config> pallet_whitelist::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `314`
// Estimated: `3556`
// Minimum execution time: 87_333_000 picoseconds.
Weight::from_parts(88_510_679, 0)
// Minimum execution time: 86_034_000 picoseconds.
Weight::from_parts(87_243_598, 0)
.saturating_add(Weight::from_parts(0, 3556))
// Standard Error: 10
.saturating_add(Weight::from_parts(4_580, 0).saturating_mul(n.into()))
// Standard Error: 13
.saturating_add(Weight::from_parts(4_597, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(2))
}

View File

@ -1,2 +1,21 @@
#!/bin/bash
EXIT_CODE=0
SCRIPT_DIR=$(dirname "$0")
bash "$SCRIPT_DIR/patches/patch-1.sh"
PATCHES_DIR="$SCRIPT_DIR/patches"
if [[ ! -d "$PATCHES_DIR" ]]; then
echo "[-] Error: directory with patches not found: $PATCHES_DIR"
exit 1
fi
for patch_file in "$PATCHES_DIR"/*.sh; do
if [ -f "$patch_file" ] && [ -x "$patch_file" ]; then
"$patch_file" "$1"
if [ $? -eq 2 ]; then
EXIT_CODE=2
fi
fi
done
exit $EXIT_CODE

View File

@ -1,32 +1,26 @@
DEFAULT_SERVICE_NAME="ghost-node.service"
#!/bin/bash
check_unit_file_validity() {
SERVICE_NAME=$1
if [[ "$SERVICE_NAME" != *.service ]]; then
SERVICE_NAME="${SERVICE_NAME}.service"
fi
SERVICE_NAME="${2:-ghost-node.service}"
SERVICE_FULL_PATH="/etc/systemd/system/$SERVICE_NAME"
if [[ -e "$SERVICE_FULL_PATH" ]]; then
NETWORK_ONLINE_EXISTS=$(grep -Fx "After=network-online.target" "$SERVICE_FULL_PATH")
NETWORK_EXISTS=$(grep -Fx "After=network.target" "$SERVICE_FULL_PATH")
if [[ "$SERVICE_NAME" != *.service ]]; then
SERVICE_NAME="${SERVICE_NAME}.service"
fi
if [[ -z "$NETWORK_ONLINE_EXISTS" && -n "$NETWORK_EXISTS" ]]
then
echo "[-] WARNING: missing network-online.target dependency in $SERVICE_FULL_PATH, trying to replace"
sudo sed -i "s/After=network.target/After=network-online.target\nRequires=network-online.target/g" "$SERVICE_FULL_PATH"
else
echo "[+] INFO: network-online.target is set correctly for $SERVICE_FULL_PATH"
fi
else
echo "[-] No serivce found at $SERVICE_FULL_PATH"
fi
SERVICE_FULL_PATH="/etc/systemd/system/$SERVICE_NAME"
SKIPPED_NO_SERVICE="[-] patch-1 skipped: no serivce found at $SERVICE_FULL_PATH"
[[ ! -e "$SERVICE_FULL_PATH" ]] && { echo $SKIPPED_NO_SERVICE; exit 1; }
}
NETWORK_ONLINE_EXISTS=$(grep -Fx "After=network-online.target" "$SERVICE_FULL_PATH")
NETWORK_EXISTS=$(grep -Fx "After=network.target" "$SERVICE_FULL_PATH")
check_unit_file_validity $DEFAULT_SERVICE_NAME
read -p "[?] Enter names for the node service, separated by commas (default: ghost-node): " -a SERVICE_NAMES
for NAME in "${SERVICE_NAMES[@]}"; do
check_unit_file_validity $NAME
done
sudo systemctl daemon-reload
SKIPPED_SERVICE_OK="[+] patch-1 already applied: network-online.target is set correctly for $SERVICE_FULL_PATH"
[[ ! (-z "$NETWORK_ONLINE_EXISTS" && -n "$NETWORK_EXISTS") ]] && { echo $SKIPPED_SERVICE_OK; exit 0; }
PATCH_MESSAGE="missing network-online.target dependency in $SERVICE_FULL_PATH"
[[ -z "$1" ]] && { echo "[!] patch-1 could be applied: $PATCH_MESSAGE"; exit 2; }
echo "[+] patch-1 will be applied: $PATCH_MESSAGE"
sudo sed -i "s/After=network.target/After=network-online.target\nRequires=network-online.target/g" "$SERVICE_FULL_PATH"
echo "sudo systemctl daemon-reload"
echo "sudo systemctl restart $SERVICE_NAME"
exit 0

26
scripts/patches/patch-2.sh Executable file
View File

@ -0,0 +1,26 @@
#!/bin/bash
LATEST_TESTED_VERSION=83
MANIFEST_PATH=$(cargo metadata --format-version 1 | python3 -c "
import sys,json
data = json.load(sys.stdin)
for pkg in data['packages']:
if pkg['name'] == 'sp-io':
print(pkg['manifest_path'])
break
")
DEPENDENCY_PATH="${MANIFEST_PATH%Cargo.toml}src/lib.rs"
SKIPPED_PATCH_OK="[+] patch-2 not needed: rustc compiler version is compatible"
cargo_version=$(cargo --version | cut -d'.' -f2)
[[ "$cargo_version" -le "$LATEST_TESTED_VERSION" ]] && { echo $SKIPPED_PATCH_OK; exit 0; }
SKIPPED_PATCH_OK="[+] patch-2 already applied: #[no_mangle] already removed from source code of sp-io"
! grep -q '#\[no_mangle\]' "$DEPENDENCY_PATH" && { echo $SKIPPED_PATCH_OK; exit 0; }
PATCH_MESSAGE="remove unnecessary #[no_mangle] from the source code for sp-io"
[[ -z "$1" ]] && { echo "[!] patch-2 could be applied: $PATCH_MESSAGE"; exit 2; }
echo "[+] patch-2 will be applied: $PATCH_MESSAGE"
sed -i '/#\[no_mangle\]/d' "$DEPENDENCY_PATH"
exit 0

19
scripts/patches/patch-3.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/bash
LATEST_GCC_WORKING_VERSION=14
PATH_TO_BUILD_CONFIG=~/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/librocksdb-sys-0.11.0+8.1.1/build.rs
GCC_MAJOR=$(gcc -dumpversion | cut -d. -f1)
SKIPPED_PATCH_OK="[+] patch-3 not needed: gcc version is good to compile without patch"
[[ "$GCC_MAJOR" -le "$LATEST_GCC_WORKING_VERSION" ]] && { echo $SKIPPED_PATCH_OK; exit 0; }
SKIPPED_PATCH_OK="[+] patch-3 already applied: no need to change build config of librocksdb"
grep -q "config.flag(\"-include\").flag(\"cstdint\");" "$PATH_TO_BUILD_CONFIG" && { echo $SKIPPED_PATCH_OK; exit 0; }
PATCH_MESSAGE="include cstdint for build config of librocksdb"
[[ -z "$1" ]] && { echo "[!] patch-3 could be applied: $PATCH_MESSAGE"; exit 2; }
sed -i "/$(printf '%s' "config.compile(\"librocksdb.a\");" | sed 's/[].[*^$\/]/\\&/g')/i \
if !target.contains(\"windows\") {\n config.flag(\"-include\").flag(\"cstdint\");\n }" "$PATH_TO_BUILD_CONFIG"
echo "[+] patch-3 will be applied: $PATCH_MESSAGE"
exit 0

136
scripts/rpc-tester.sh Executable file
View File

@ -0,0 +1,136 @@
#!/bin/bash
SEPOLIA_RPC=(
"https://sepolia.drpc.org"
"https://sepolia.gateway.tenderly.co"
"https://api.zan.top/eth-sepolia"
"https://rpc.sepolia.ethpandaops.io"
"https://ethereum-sepolia-rpc.publicnode.com"
"https://1rpc.io/sepolia"
"https://0xrpc.io/sep"
"https://eth-sepolia.api.onfinality.io/public"
)
MORDOR_RPC=(
"https://0xrpc.io/mordor"
"https://geth-mordor.etc-network.info"
"https://rpc.mordor.etccooperative.org"
)
show_help() {
cat << EOF
Usage: $(basename "$0") [OPTIONS]
Options:
--chain <name> Specify network: 'sepolia' or 'mordor'. If omitted, checks both.
--output <dir> Base directory to save results. Creates a subfolder with Unix Timestamp.
--rpcs <urls> Comma-separated list of custom RPC endpoints.
Disables default Sepolia/Mordor lists.
--help Show this help message.
Example:
$0 --chain sepolia --output ./logs
EOF
exit 0
}
spinner() {
local pid=$1
local net_name=$2
local delay=0.1
local spinstr='|/-\'
tput civis
while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do
local temp=${spinstr#?}
printf "\r [%c] Checking %s... " "$spinstr" "$net_name"
local spinstr=$temp${spinstr%"$temp"}
sleep $delay
done
printf " \r"
tput cnorm
}
check_network() {
local name=$1
shift
local rpcs=("$@")
local target_dir="${OUT_DIR:-/tmp}"
local tmp_file="${target_dir}/$(date +%s)_${name,,}"
local max_len=0
for e in "${rpcs[@]}"; do (( ${#e} > max_len )) && max_len=${#e}; done
[[ $max_len -lt 20 ]] && max_len=20
local total_width=$(( max_len + 32 ))
local line=$(printf "%.0s-" $(seq 1 $total_width))
local header_fmt="| %-${max_len}s | %-12s | %-10s |\n"
(
for endpoint in "${rpcs[@]}"; do
res_b=$(curl -s -X POST -H "Content-Type: application/json" --max-time 10 \
--data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' "$endpoint")
hex=$(echo "$res_b" | grep -o '"result":"[^"]*' | cut -d'"' -f4)
[[ -n "$hex" && "$hex" != "null" ]] && blk=$(printf "%d" "$hex") || blk="ERROR"
res_l=$(curl -s -X POST -H "Content-Type: application/json" --max-time 10 \
--data '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"fromBlock":"0x1","toBlock":"0x2"}],"id":1}' "$endpoint")
echo "$res_l" | grep -q '"result"' && ev="YES" || ev="NO"
echo "$endpoint|$blk|$ev"
done
) > "$tmp_file" &
local worker_pid=$!
if [[ -z "$OUT_DIR" ]]; then
spinner $worker_pid "$name"
local table_output="$line\n"
table_output+=$(printf "$header_fmt" "Endpoint" "Block" "Events")"\n"
table_output+="$line\n"
while IFS="|" read -r url blk ev; do
table_output+=$(printf "$header_fmt" "$url" "$blk" "$ev")"\n"
done < "$tmp_file"
table_output+="$line"
echo -e "$table_output"
rm "$tmp_file"
else
wait $worker_pid
fi
}
CHOSEN_CHAIN=""
BASE_OUT_DIR=""
CUSTOM_RPCS=""
while [[ $# -gt 0 ]]; do
case "$1" in
--help) show_help ;;
--chain) CHOSEN_CHAIN="$2"; shift 2 ;;
--output) BASE_OUT_DIR="$2"; shift 2 ;;
--rpcs) CUSTOM_RPCS="$2"; shift 2 ;;
*) echo "Unknown option: $1. Use --help for usage."; exit 1 ;;
esac
done
if [[ -n "$BASE_OUT_DIR" ]]; then
OUT_DIR="${BASE_OUT_DIR}"
mkdir -p "$OUT_DIR"
fi
if [[ -n "$CUSTOM_RPCS" ]]; then
IFS=',' read -r -a USER_RPC_ARRAY <<< "$CUSTOM_RPCS"
check_network "Custom" "${USER_RPC_ARRAY[@]}"
else
if [ "$CHOSEN_CHAIN" == "sepolia" ]; then
check_network "Sepolia" "${SEPOLIA_RPC[@]}"
elif [ "$CHOSEN_CHAIN" == "mordor" ]; then
check_network "Mordor" "${MORDOR_RPC[@]}"
else
check_network "Sepolia" "${SEPOLIA_RPC[@]}"
check_network "Mordor" "${MORDOR_RPC[@]}"
fi
fi

View File

@ -80,27 +80,35 @@ extract_seed() {
echo $seed
}
downgrade_compiler_if_needed() {
echo "[+] fetching the latest ghost-node source code"
git switch main
git pull origin main
# 1.86.0 works fine, tested with:
# 1.87.0 throws errors during compilation
# 1.88.0 throws errors during compilation
LATEST_TESTED_VERSION=86
cargo_version=$(cargo --version | cut -d'.' -f2)
if [ "$cargo_version" -gt "$LATEST_TESTED_VERSION" ]; then
echo "[+] downgrading rustc compiler version to 1.86.0"
rustup default 1.86.0
toolchain_name=$(rustup show | grep default | head -n 1 | cut -d' ' -f1)
rustup target add wasm32-unknown-unknown --toolchain $toolchain_name
rustup component add rust-src --toolchain $toolchain_name
cd $PROJECT_FOLDER
echo "[+] clean build cache..."
upgrade_compiler_if_needed() {
UPDATE_STATUS=$(rustup check 2>&1)
"$SCRIPT_FOLDER"/patch.sh || PATCH_STATUS=$?
if echo "$UPDATE_STATUS" | grep -q "Update available" || [ $PATCH_STATUS -eq 2 ]; then
echo "[+] clean all cache on the current system"
cargo install cargo-cache
cargo clean
else
echo "[+] rustc compiler version is compatible"
cargo cache --remove-dir all
echo "[+] upgrading rustc compiler version to latest"
rustup update
toolchain_name=$(rustup show | grep default | head -n 1 | cut -d' ' -f1)
if ! rustup target list --installed | grep -q "wasm32-unknown-unknown"; then
echo "[+] installing wasm32-unknown-unknown target"
rustup target add wasm32-unknown-unknown
fi
if ! rustup component list --installed | grep -q "rust-src"; then
echo "[+] installing rust-src component"
rustup component add rust-src
fi
echo "[+] fetching all dependencies"
cargo fetch
echo "[+] trying to apply all patches"
"$SCRIPT_FOLDER"/patch.sh apply
fi
}
@ -209,9 +217,13 @@ if [[ $HARD_RESET = true ]]; then
echo "WARNING!!! THIS ACTION WILL COMPLETELY PURGE THE LEDGER AND REBUILD THE NODE USING THE LATEST"
echo "REPOSITORY VERSION. NOTE THAT THE VALIDATION PROCESS WILL BE LOST BECAUSE SESSION OF KEYS."
echo "THERE ARE TWO SCENARIOS IN WHICH YOU MIGHT NEED TO PROCEED:"
echo -e "\t- A new version of the network hsa been released, and a restart is neccessary"
echo -e "\t- A new version of the network has been released, and a restart is neccessary"
echo -e "\t- There is a critical issue, and you require a hard reset of the node in a single command"
echo -e "\n"
echo "IMPORTANT!!! Your validator's session keys will be also removed. Consequently, your validator node"
echo "will be slashed indefinitely and will become inactive. After hard reset, you'll need to manage the"
echo "keys manually to reactivate the validator."
echo -e "\n"
if prompt "[?] do you understand all risks?"; then
echo "[+] you were warned, I hope you know what you're doing"
else
@ -219,7 +231,7 @@ if [[ $HARD_RESET = true ]]; then
exit 1
fi
downgrade_compiler_if_needed
upgrade_compiler_if_needed
echo "[+] trying to stop current ghost-node"
sudo systemctl stop ghost-node
@ -227,6 +239,7 @@ if [[ $HARD_RESET = true ]]; then
sudo rm -rf "$BASE_PATH/chains/casper_staging_testnet"
cd $PROJECT_FOLDER
git switch main
git pull origin main
echo "[+] starting build in 3 seconds..."
sleep 3
@ -327,12 +340,12 @@ if [[ $SET_ENVIRONMENT = true ]]; then
if prompt "[?] setup the rust environment (e.g. WASM support)?"; then
rustup default stable
downgrade_compiler_if_needed
upgrade_compiler_if_needed
fi
fi
if [[ ! -z $RELEASE ]]; then
downgrade_compiler_if_needed
upgrade_compiler_if_needed
if prompt "[?] 'cargo build $RELEASE $FEATURES' is what you want?"; then
cd $PROJECT_FOLDER
echo "[+] starting build in 3 seconds..."

File diff suppressed because one or more lines are too long

View File

@ -10,6 +10,8 @@ use grandpa_primitives::AuthorityId as GrandpaId;
use pallet_staking::Forcing;
use primitives::{AccountId, AccountPublic};
use crate::legacy::legacy_endowments;
#[cfg(feature = "casper-native")]
use casper_runtime as casper;
#[cfg(feature = "casper-native")]
@ -187,32 +189,56 @@ fn casper_testnet_evm_accounts() -> Vec<(AccountId, u128, u8)> {
}
#[cfg(feature = "casper-native")]
fn casper_testnet_evm_networks() -> Vec<(u32, Vec<u8>)> {
vec![(
11155111,
ghost_networks::NetworkData {
chain_name: "sepolia-ethereum-testnet".into(),
default_endpoints: vec![
"https://sepolia.drpc.org".into(),
"https://sepolia.gateway.tenderly.co".into(),
"https://api.zan.top/eth-sepolia".into(),
"https://rpc.sepolia.ethpandaops.io".into(),
"https://ethereum-sepolia-rpc.publicnode.com".into(),
"https://1rpc.io/sepolia".into(),
"https://0xrpc.io/sep".into(),
"https://eth-sepolia.api.onfinality.io/public".into(),
],
finality_delay: 69u64,
rate_limit_delay: 5_000u64,
block_distance: 20u64,
network_type: ghost_networks::NetworkType::Evm,
gatekeeper: "0xc85129A097773B7F8970a7364c928C05f265E6A1".into(),
topic_name: "0x7ab52ec05c331e6257a3d705d6bea6e4c27277351764ad139209e06b203811a6".into(),
incoming_fee: 69_000_000u32,
outgoing_fee: 0u32,
}
.encode(),
)]
fn casper_testnet_evm_networks() -> Vec<(u32, Vec<u8>, u128)> {
vec![
(
11155111,
ghost_networks::NetworkData {
chain_name: "sepolia-ethereum-testnet".into(),
default_endpoints: vec![
"https://sepolia.drpc.org".into(),
"https://sepolia.gateway.tenderly.co".into(),
"https://api.zan.top/eth-sepolia".into(),
"https://rpc.sepolia.ethpandaops.io".into(),
"https://ethereum-sepolia-rpc.publicnode.com".into(),
"https://1rpc.io/sepolia".into(),
"https://0xrpc.io/sep".into(),
"https://eth-sepolia.api.onfinality.io/public".into(),
],
finality_delay: 69u64,
rate_limit_delay: 5_000u64,
block_distance: 20u64,
avg_block_speed: 12_000,
network_type: ghost_networks::NetworkType::Evm,
gatekeeper: "0xc85129A097773B7F8970a7364c928C05f265E6A1".into(),
topic_name: "0x7ab52ec05c331e6257a3d705d6bea6e4c27277351764ad139209e06b203811a6".into(),
incoming_fee: 69_000_000u32,
outgoing_fee: 0u32,
}.encode(),
2048861035254140036511u128,
),
(
63,
ghost_networks::NetworkData {
chain_name: "mordor-classic-testnet".into(),
default_endpoints: vec![
"https://rpc.mordor.etccooperative.org".into(),
"https://geth-mordor.etc-network.info".into(),
"https://0xrpc.io/mordor".into(),
],
finality_delay: 3_000u64,
rate_limit_delay: 5_000u64,
block_distance: 20u64,
avg_block_speed: 13_000,
network_type: ghost_networks::NetworkType::Evm,
gatekeeper: "0xA59cB4ff90bE2206121aE61eEB68d0AeC7BA095f".into(),
topic_name: "0x7ab52ec05c331e6257a3d705d6bea6e4c27277351764ad139209e06b203811a6".into(),
incoming_fee: 69_000_000u32,
outgoing_fee: 0u32,
}.encode(),
5100000000000000000u128,
),
]
}
/// Helper function to create casper `GenesisConfig` for testing
@ -228,13 +254,13 @@ pub fn testnet_config_genesis(
)>,
endowed_accounts: Option<Vec<AccountId>>,
ghost_accounts: Option<Vec<(AccountId, u128, u8)>>,
evm_networks: Option<Vec<(u32, Vec<u8>)>>,
evm_networks: Option<Vec<(u32, Vec<u8>, u128)>>,
) -> serde_json::Value {
let endowed_accounts: Vec<AccountId> = endowed_accounts.unwrap_or_else(casper_testnet_accounts);
let ghost_accounts: Vec<(AccountId, u128, u8)> = ghost_accounts.unwrap_or_default();
let evm_networks: Vec<(u32, Vec<u8>)> = evm_networks.unwrap_or_default();
let evm_networks: Vec<(u32, Vec<u8>, u128)> = evm_networks.unwrap_or_default();
const ENDOWMENT: u128 = 1_000 * CSPR;
const STASH: u128 = 500 * CSPR;
@ -413,6 +439,7 @@ fn casper_staging_config_genesis() -> serde_json::Value {
.iter()
.map(|k: &AccountId| (k.clone(), ENDOWMENT))
.chain(initial_authorities.iter().map(|x| (x.0.clone(), STASH)))
.chain(legacy_endowments().iter().map(|x| (x.0.clone(), x.1)))
.collect::<Vec<_>>(),
},
"session": {
@ -433,7 +460,7 @@ fn casper_staging_config_genesis() -> serde_json::Value {
.collect::<Vec<_>>(),
},
"staking": {
"validatorCount": 500,
"validatorCount": 69,
"minimumValidatorCount": 3,
"stakers": initial_authorities
.iter()
@ -448,8 +475,10 @@ fn casper_staging_config_genesis() -> serde_json::Value {
.collect::<Vec<_>>(),
"forceEra": Forcing::NotForcing,
"slashRewardFraction": Perbill::from_percent(10),
"minNominatorBond": 6_900 * STRH,
"minNominatorBond": 690 * STRH,
"minValidatorBond": 6_900 * STRH,
"maxNominatorCount": Some(1337),
"maxValidatorCount": Some(420),
},
"babe": {
"epochConfig": Some(casper::BABE_GENESIS_EPOCH_CONFIG),

806
service/src/legacy.rs Normal file
View File

@ -0,0 +1,806 @@
use hex_literal::hex;
pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
vec![
(
hex!["fe3cb0119ffaf59434233d0b0d85cd2d16fde46f713dcab39047eb222f3ae666"].into(),
898508876174623538u128,
),
(
hex!["88a74a42ca9a17acc210ae56ff8ace565e246025a2743da967dfde9d6c76277c"].into(),
20734039366660590012u128,
),
(
hex!["94addf7d81d155c9f4d8d0eab3ceb019939db5f3b0081ae3e888a6ed3c845307"].into(),
1000000000000000u128,
),
(
hex!["6e4429a8fa85cfe2a60488af446d57e719207831b2579b937325645e110bb666"].into(),
21042733373739997438u128,
),
(
hex!["7409c6caca65472f77938a143a7ee73a85dd9c1acf60fcc13aade8dc1be38a0a"].into(),
8609732485052672834u128,
),
(
hex!["fa402c6b1c1db2ce9e3e1ba4e559581faa821d20254d8d16e4e18057a3b90672"].into(),
9796698744519740142u128,
),
(
hex!["ac1932d76a47c5819724999aa3626aa85e71bf60c8fccdeac92cf53beab7a85f"].into(),
346508876174623538u128,
),
(
hex!["a6bbe75122ce02a5c0d9ebeda902fb0ae21138a7487e18adef1c3e7d106b3715"].into(),
898508876174623538u128,
),
(
hex!["1225d9453ad3fe1197dfc2410760cea284529e226fef262fb01574ae2a6c5900"].into(),
25679625557282857591u128,
),
(
hex!["ac871e8bab00dd56ba3a1c0bd289357203dcaf10010b0b04ad7472870cd22a3c"].into(),
4495926542421046636u128,
),
(
hex!["6cabf6e32fb8909acae30605bb3e5997d201103d298734851d58022423977655"].into(),
301045085375060900u128,
),
(
hex!["fe0f596b6bf22b5fbad52ebce3429bb6bdeb00996fc8e51aae2e437450f6b578"].into(),
2686488249070628254u128,
),
(
hex!["84e01e431c701383fb0fc204338aca8cff0a2e88bb9397ba7b5ec8b236850e17"].into(),
9488095602980648270u128,
),
(
hex!["507110e1a96c4b781207ad9c790c558f752ca99614f281b6b24a2e467e04e25e"].into(),
446342905026072u128,
),
(
hex!["005dc72f4d842896adf3505695eef833aad9cdee22448751f0500c30cfdda247"].into(),
19922026892862601u128,
),
(
hex!["a64f42e128afa40b848faf5df5e260e58390c6ca2bbcd5e866b5460a4c2dc60c"].into(),
10792504141381628956u128,
),
(
hex!["4a32ed6e36b6dec1ce328c650f5276a6e5ac4e594b7ba71a1cb87a2770f53b33"].into(),
726673904645949199u128,
),
(
hex!["58967ccdc9d4ddab5c32b6605947becba27cca5799a93c9d4d03a0fb3ebc7316"].into(),
453608876174623538u128,
),
(
hex!["323158b7e1cb9b3104fce73ed72095764fe785a1d14b9a8f73e54973f04b9d74"].into(),
531467153727934259u128,
),
(
hex!["3e130ccc1fac5e9d5c2c280341ce8b8dbcafc17ceb75d3722f83404ed2215856"].into(),
16753318413269579418u128,
),
(
hex!["a003dfd6d28a3fabf2b46df20383635c72c5a41d8ee79a5fb75e9d1298b3761f"].into(),
1172036132833830838u128,
),
(
hex!["acbda1ba4cfd81cd430b53a834c0d92085e8efc6948a03c10c2f6a66ba19443a"].into(),
36751232674856508996u128,
),
(
hex!["4cecf92b37e6954f086002cf7b6a61ac7d9ba40c83ef963005e3cacfb5c1e13f"].into(),
14038937501875054342u128,
),
(
hex!["f09c9f7ecdd1be0d07a2d0759efdff5152f23ec742f86e15a9ac03c0995f2365"].into(),
898508876174623538u128,
),
(
hex!["8256b4a52f0277042cacc427cf00b8d668d0e7fe7824f53acf927da985f32410"].into(),
898508876174623538u128,
),
(
hex!["bea3d9a526bfdbd98870bb615dc91d5d9295a6e021e5e9b9193801697a05586e"].into(),
225166041881037450131u128,
),
(
hex!["3a926d7cf3546e58e48f9faf392b02e6d1d43011676378914988eeaea2cbff3a"].into(),
4035504698494152u128,
),
(
hex!["e4dcfdec0dda94b9cb45bf6ff12439392f01fb9d738f806fb115b1d21c99135d"].into(),
3977726628523870614u128,
),
(
hex!["cc88301ef74e085f731220d101dcd14d2b04bc1e59a6c45009c156a9990eab46"].into(),
153582139771143223684u128,
),
(
hex!["46f41aed549dcfa8c094c19787dfbe974fef680eacd209ef88640c82bcb77811"].into(),
13819008291976111251u128,
),
(
hex!["58ed8cee04bcfb70719644a6b9478b8eebfe7ffc8964590e12e1bf36ea245375"].into(),
11624450784910043012u128,
),
(
hex!["9a3e9942c0cb9fe1f1acc97c3bf458e9b7955f44604183e569d5120de3400e10"].into(),
14452183576445203470u128,
),
(
hex!["9aceaa2fa9e3226bbe106cd0150f9807b089281b16942bff471caa1359aa8a22"].into(),
1360508232557032475u128,
),
(
hex!["661fd59a3748d65d66d9612f0c8f5871029e8e74deb3c0e1fbdbcf3c04e84a5e"].into(),
246508876174623538u128,
),
(
hex!["d02a399ba8d6efe950c0c6557606b8b13147b353c11f4495a2cba2a396e7be2f"].into(),
29163375134216277028u128,
),
(
hex!["20fed126411d5d1a1ab3915bffac49297b0eae9dcf4288589c0cad49d925637b"].into(),
5963508876174623538u128,
),
(
hex!["eeaaf5db1b1eb55cc8c1b26c5092868ada9af63c2961bba4d4b5d63e99371c00"].into(),
11725156115646367945u128,
),
(
hex!["ac9e227e30a63ce6eeb55cfbb1fb832aa7e1d3fad2bcb3f663de4a91d744fd50"].into(),
7523053899371678858u128,
),
(
hex!["144a1fa97fdba679efd2a36696a0d40f585b649143bb7da5cbd7458ea4a0f674"].into(),
28761584046403187249u128,
),
(
hex!["a231498b31f698619d80746aa2049ec187c4a103a3c5a8940e14d1b03abe1239"].into(),
1093016078816558319u128,
),
(
hex!["d05b788865ffffdfbb7dfecd937188628a275926ab47742f84b5cda86e5d825d"].into(),
4095526634890427372u128,
),
(
hex!["7673ef8a48eaf9364831735201743d20587e27ff5ff2df42808e4625be6f656b"].into(),
899439876174623538u128,
),
(
hex!["6a92d2e77c6b56428db2129d33c3ba1e71c8a52315a65f03f30dbaf31224153d"].into(),
708444482928862970u128,
),
(
hex!["d8193ef891724c66a6cc58273eadcfb133f9bbc7d777e6456721a70e90ded71f"].into(),
195510000000000000u128,
),
(
hex!["c256b6d62a54c94220ceb1b55f4afae84e59c913b8163d57791463d7ac67555c"].into(),
13111614265582327685u128,
),
(
hex!["723aabc24abe3a04fb79c4a51e5b023e99f5c1afcfeac7d434276496a65ede3e"].into(),
898508876174623538u128,
),
(
hex!["4078ddb1ba1388f768fe6aa40ba9124a72692ecbcc83dc088fa86c735e4dc128"].into(),
1045536628523870614u128,
),
(
hex!["d8a1924995f48a61c0bb79f3fdaeff18573cf1d2164454938c773f6066d81413"].into(),
3296223653083995083u128,
),
(
hex!["b85a4db79fa17d9853f2c4031aa60c8ee09a38bbce5e484ddb4c6b32bfefd401"].into(),
14390589865809310762u128,
),
(
hex!["224f1f3a7534ab5a9a218812d5b6d3587d8b3de89e73310ca8ea74d35c63ee46"].into(),
898508876174623538u128,
),
(
hex!["d84a9b4a2039ac793cb4108990e10e8341039a9c5caee9ed271cd84cc91d2e10"].into(),
136401570550894040265u128,
),
(
hex!["a280b6e97389ed44d9ae9fcb36df39072ab60c7e71088087c4890b8e07f1d97b"].into(),
13104582315236011828u128,
),
(
hex!["0436858543a367154f1a6e9c1f67c4a865a7c92e6adb31d21e7c4312a64d6219"].into(),
2201608876174623538u128,
),
(
hex!["de24e0e98fd99ca8079f9f154293f967731303cf3b862d19d34b98c1db689f41"].into(),
2196169714471969993u128,
),
(
hex!["6255ca0f443e06c0031045d9b6883964f3176526f7243941b48cf89a09adc057"].into(),
14616699999999998u128,
),
(
hex!["f01ce72cc4db3db4eff729f4dab35db89117f40e9f53c7d5cb68d09f2bf28802"].into(),
10583410569668495529u128,
),
(
hex!["3a6626211a2dd35683fd7cb5f2f343d75f2b698d6c48c2d6eb1cdbe116e32315"].into(),
56407584060005963171u128,
),
(
hex!["785b89d27366fcba6ff4dc6a6fa3dfc586d2f5edc15f9416e3a93229f0e7c45d"].into(),
2203940931652105261u128,
),
(
hex!["985562d52d2ce181cdfe12598b40c15ea91adbf74a681ce82029d323f63af45d"].into(),
12374996121419906402u128,
),
(
hex!["fa7728904cfced5998fd559251a9dfb008d2bd838917b9eb6c5332a9ed22b302"].into(),
13266286751478030059u128,
),
(
hex!["80aac52e8482215ae5d022f71c50734b9f5e6d5048bb4d7a198fb77925f97a34"].into(),
21321617482381290055u128,
),
(
hex!["0afa4924d17ab1f9d4aa4197f566ab29f5360a3e03949799f74638cf33d9b852"].into(),
10790907513786741192u128,
),
(
hex!["42c3d5a95c5ba5b9daaa0f68631fa1d0cc744c0dc50476c392167d86d6368b0a"].into(),
12276140304411166019u128,
),
(
hex!["1c65ddadd315f740e7cc162ed79f1d2d743af5c92403615cb078f0da9d78f95d"].into(),
898508876174623538u128,
),
(
hex!["ea1c01ff56725c6fdd62efaa119b704a2f467fd21d20a3c2117668bfeba02e76"].into(),
24674926655816994525u128,
),
(
hex!["ea24c5b5640658f8ad793b40d819dc22c4d55415c666c2e402f6c8412c9c3126"].into(),
13459266313430743241u128,
),
(
hex!["0e05218ac7c6f6c809460d476bc23f660415089854ffe9ad2ddce02704de0049"].into(),
898508876174623538u128,
),
(
hex!["ac0ed11176b0f1cd7539ea734c2a157aadb8b385e43f7731fa3c115174260332"].into(),
921318876174623538u128,
),
(
hex!["f684d118dc9ddfc2f3f6365feae3c258c8ba2c8e5872373c9fa3803ef3d0cf5b"].into(),
21228508876174623538u128,
),
(
hex!["d281d7b41a3e369eef42d15060819df4d9c7d3e43eb5c223244a9bb8c5a2ed44"].into(),
12907092936613202269u128,
),
(
hex!["2224294c8b826c3d35b6105a91923dfcf6c50706a2d57527b971dbc1f4a8c90b"].into(),
529726628523870614u128,
),
(
hex!["3a77a32adecbed35c23e07ed397d22a135542e0d8f265b874f9985792e7bc600"].into(),
86560477751508148u128,
),
(
hex!["20655f7d14fb63c001601c177e513c4e2197253e38638cb034e0ecda9f93db79"].into(),
1005108876174623538u128,
),
(
hex!["7000daf495c30583e255cbf926dcc278427a300c96ef807ddf3f05a38bb3bd6f"].into(),
114705813875568537231u128,
),
(
hex!["fa18d3053a66f26a024bbf0b04571477688542fab309fc4fab6419e7744e023d"].into(),
727997752349247076u128,
),
(
hex!["12ff06ed5c993253837f627ff4ddcee4658ebcea47bb7f13d299bc3b2d520440"].into(),
9660045161058603076u128,
),
(
hex!["d263c987009ee0bc900162e9af9e2f2ed073f2d2af895e4bb8f4fb72840aa457"].into(),
12688435840744280612u128,
),
(
hex!["dca9bba238f216683ea0c43bdce1709578d83e4b41875c76266e84024c34a72b"].into(),
898508876174623538u128,
),
(
hex!["a25b474bb6a2b241ff7f574309240e0ca84aa29f5d04912842e5748af631a740"].into(),
13370440034824674362u128,
),
(
hex!["007143a869c6e707fe03eae20704a81a97eb7beabedef62f8e3cbe5706b6e247"].into(),
14768512833373884464u128,
),
(
hex!["5e1456904c40192cd3a18183df7dffea90d97739830a902cabb702ecdae4f649"].into(),
376017752349247076u128,
),
(
hex!["6d6f646c70792f74727372790000000000000000000000000000000000000000"].into(),
853506701376908793934u128,
),
(
hex!["9607407bc837b24624c7886129755843bd3a149f8bfec76bc8f828876cac3461"].into(),
10929472937167428328u128,
),
(
hex!["20f8135fb600717f8e288e6b9a6dacbeb54677664dcde4998558975e606caf20"].into(),
786017752349247076u128,
),
(
hex!["beadbe750127679102bb60e0493ad501394283b7a9a0001887f320ec8d83af5f"].into(),
13059337743467906765u128,
),
(
hex!["84328018915f262b63a52d947506c9e75878f3bae7454aa197c7624393256609"].into(),
93100000000000000u128,
),
(
hex!["b624cb291f7464773f3b449ee2252165f3934ace08b1e10611a53e174766fc73"].into(),
30936250630249413310u128,
),
(
hex!["1eef351e2c381586366f89bbdf5c690372fa05c7c5a47e6351315f0aa9507029"].into(),
19477108324061651032u128,
),
(
hex!["4a2aa2bccfe5ae7a771fc2ce7732ad2da397ee51f0a45f18c167bb555fa70506"].into(),
1936519460520939399u128,
),
(
hex!["909f0584f25fd044fc4336f966e14e925d77466e8629f4c6888d55cf594b6d76"].into(),
346508876174623538u128,
),
(
hex!["08aae874b34057e02c3f6c28fffe8eaa0f665e9d7cc0d38f878c9ae862d47277"].into(),
499553257047741228u128,
),
(
hex!["749089588c2a57b4cc4adc4541c441332d2fa11acf13f785e470d03cef61d75d"].into(),
15232317322641616299u128,
),
(
hex!["de3d246b0109357114d1ee78ec4598fcff1cf19da4254ced289ac4e534b6084b"].into(),
506451628523870614u128,
),
(
hex!["2a5bc425d9c6b8e29d5ccfe3282560fc8ab079262763aaf4d9269c7c6043f208"].into(),
19879072140569666945u128,
),
(
hex!["347db8f39a1a1efa2ec9daeaaa04e3512238e9a6970fba65878f83366e927f27"].into(),
13250762917778422850u128,
),
(
hex!["4a5596e97c602e7846d54fae81dcdc5a553b7422231e32f9567ac30a6b7c743a"].into(),
41638135068286046818u128,
),
(
hex!["3cae73748956c91dc21f54e2653e0fb76b9c8ffe38c2c3e2ad6483e88c968a02"].into(),
4059791817567310973u128,
),
(
hex!["5688a4d3171b935a3b038729ccb0cca068a4243cd3a6b7e102e7e14ac49d6427"].into(),
14893617583873139066u128,
),
(
hex!["8c7a053eb4ce5a680150650e88533ade4ce08fee5340888ae655df3c37910d04"].into(),
3076517758715803834u128,
),
(
hex!["3a2e10fef720299388eb789aaab0e0bb1b7c10464aa7c442c6a584cf11c01845"].into(),
345017752349247076u128,
),
(
hex!["8e20ae229b297cdb71aaa122c0182c636d9f97f9d38e7dffb24045b00374a060"].into(),
343021429061225383u128,
),
(
hex!["4850e7dd6e309b3758b16a43e96cc16455245ab31dbf2920397e58106ee7a112"].into(),
898508876174623538u128,
),
(
hex!["c28559a4c9a9ffc428441295a309e944e3e9b87a832cf3cebd3def8c57b4ec1a"].into(),
13244103182710791045u128,
),
(
hex!["6a7a10e74c6fbcd0d9ea2ec1cfff2ce89cc5501315117757642f50c36dfa5c01"].into(),
24416873171189988097u128,
),
(
hex!["5a792ca101c15da5b237477a3c1e30f4873a21c8046bfc44117d4f3dedceb374"].into(),
24023038343078900634u128,
),
(
hex!["3068d31973cc3b18745cf5d6e75e2ec0a940d2aec79af2b313a530f6c558d77e"].into(),
2095662152322035040u128,
),
(
hex!["76ef9c99dfb1ee5604b7d7314f61908957db55fa294a0794c6bf793691c49954"].into(),
17910287937252530940u128,
),
(
hex!["c8ffc2b4e770b08b9a4ae10168c48dd821581a2df3cf5f3a371dcc1326bbe94c"].into(),
25677594611394060807u128,
),
(
hex!["f235af8680ec5cbfbac0fc818da07c727e449454b04e2d96671e2d64ececb30a"].into(),
4260671995070680428u128,
),
(
hex!["c8f4d838e6e262a7c905eb268f36a3e5b7240130aa895384822cdd968586cb01"].into(),
14912878206297721983u128,
),
(
hex!["160d647d9a380687f63cbe4ea23279692b997a3dad19227b1bb85f08965d7859"].into(),
15825904340197502330u128,
),
(
hex!["e872e23fc05919751708f5bf887a68ef9c175cf7f1728dca6220e2a2370e163f"].into(),
25193857844634143446u128,
),
(
hex!["685c600574546bad67b0ae6768f07b7fee1f1aec6473c941606f9829cfa93b6c"].into(),
2211687751137074462u128,
),
(
hex!["ba821401516b2429cd25e506c1af11b23808d039d1319d6b2eb7a9222d922179"].into(),
28918786313447682171u128,
),
(
hex!["2e1158566a7c2a57c68e542b64ac5987cb69aaaf846735addafc6f90cb5d8e3b"].into(),
13985217814424299670u128,
),
(
hex!["da35bf90643e1f5431031728c9f9c3eebea63c6bcfce1c8b468591cf6ed35210"].into(),
11680033590958446157u128,
),
(
hex!["d0b6e4237e5d05345ce398eed219ae1be33b4180afb35c54d1d02a5da4feeb68"].into(),
30482480277587823790u128,
),
(
hex!["a8c76be6e69cb05748f5accbced41809a1bdf30400402e63753fc85adfbea418"].into(),
8060691100000000000u128,
),
(
hex!["f442a26de0c465651bbe51ff90d0b31f63af206d84cf2bcab5a1ee7ab537ec4b"].into(),
2793000000000000u128,
),
(
hex!["909ab2271d3fc8df9e8556232a29eea7cf1cfdf8c89603a602779daa6484f011"].into(),
24759199566796371707u128,
),
(
hex!["f0515fcc6570d35645675f99aa04295fd1e12d88ab9abcac61f58092a5c3e316"].into(),
1622526628523870614u128,
),
(
hex!["8af45cf6dd06aeb958c3b41fe2b37a2d523179efffe7ce287fbe0b80471e363b"].into(),
6949838187631199u128,
),
(
hex!["a02d33ee7c4d38649d4bd88f330e75740ab4e4aa55e0f18110d8e6c72f71615a"].into(),
430027752349247076u128,
),
(
hex!["ee5005bc008184ed8d8d71774a167e4773fdbad6c8bf8e4d46a211b6b52e806f"].into(),
405127480873117690u128,
),
(
hex!["562f42de365612dd23609a21117e3b807242f50af7a51877fc907656e723b41c"].into(),
23545504698493896u128,
),
(
hex!["bc5660de2352353da342e9c853ff20f820929aff755a0802841d32f36cf06672"].into(),
14997410948120188860u128,
),
(
hex!["3cd73e0f752cf301d3c2bca3d72d2502003d7143bacac8944e972bbe921a1b11"].into(),
1193117758715803834u128,
),
(
hex!["223ab980529a7f877a79fb4bd2280c60e8ed0978b21007de70e1682f5d0fe846"].into(),
6566608321352507005u128,
),
(
hex!["74302b4989cfd149c4a99b0bc9a4ff82cf63d3f4291fa2597963fe4db56e401a"].into(),
898508876174623538u128,
),
(
hex!["9696d44dce264f5c1e2e5cdbc3c0609a627ac712dbd7ce6a24a415b7ea652773"].into(),
20698814168008932416u128,
),
(
hex!["b852757ba5ce6a3fddcdd13f7a548d16532dbf1b16693d951c348860c421ab16"].into(),
11351527332712054762u128,
),
(
hex!["223983e8b68f45666ec4faa573b2aa9b664b20bc25517c179cb354eda6704b04"].into(),
14905713185341512010u128,
),
(
hex!["94cc169c4cd81710fe19a6ce10ef35b1fe1d53aa04dc24e0a55d3a6dda728909"].into(),
9490152116008452257u128,
),
(
hex!["9811dbf8f334e5bd354374b5224be3db6d2d0019d4abd84e57701093ae2fcd38"].into(),
508205226151823215u128,
),
(
hex!["daff035dfadff80ada04930d67be6dc9837d65d39a124a64973b1f52e6203876"].into(),
14139373499800648011u128,
),
(
hex!["a04214ec6484663f990a1dd3f4a02f8f174723a54a369478c076573aa43d1e30"].into(),
16582086343620630086u128,
),
(
hex!["3884cb632764ef37c200430b9247935df3370eb1f68e26d2335e7a08cfee6331"].into(),
15809344826831310198u128,
),
(
hex!["425533de216bf2e3a9d1f3358dbf23a8d56d3d2fdbfe5deb2d989716fd26734f"].into(),
14123180658174610206u128,
),
(
hex!["fc1310a824a7c8744b6f6308198e4a9bf9baea4a673bafedd49f35824eeb3947"].into(),
9795048450282732123u128,
),
(
hex!["385a826ba8113391c26d03c8bf3d911ce8f20a523ba19da996926e401226e921"].into(),
1048508876174623538u128,
),
(
hex!["e82bad686d3318e72e36bfe9776e197ae04b60fc140b7a221fbf1b730e9b0162"].into(),
898508876174623538u128,
),
(
hex!["8a0bb3642b563b842649ca9870ddb8efb67d0bc3b128df0d59e7bd5f1c19db22"].into(),
297635726269865672u128,
),
(
hex!["8e18636616b2f67f20469a71d7f6508fd2e2f045742e6ba5d80b2a0782b2ae50"].into(),
3072300000000000000u128,
),
(
hex!["08c04b4b3540dff6e2e489a888f336f1f09c7a648b19194836584ecafe74f632"].into(),
962544380873117722u128,
),
(
hex!["30acd0fd37df7b6b9dca64287fe3bf0ad3563ad2868567170b79d48a2be1905d"].into(),
10233781528150093525u128,
),
(
hex!["10b2b93e271f30d21a3c0c8937e5190750667fea2ae7fb56a0f179a86c383713"].into(),
21613466323512262u128,
),
(
hex!["46c78fcacffd80abc9cca4917ef8369a37e21a1691ca11e7a3b53f80be745313"].into(),
7147764927833644204u128,
),
(
hex!["d25b9ebe75a5d72c366c26588416509881a273ac9411e5fe6052c25ab7ed5311"].into(),
25066498882541180296u128,
),
(
hex!["e8c8d51024385be1fa0e5003a6725626d96f7b02fdc0a289bdef2095a2170039"].into(),
461545504698494152u128,
),
(
hex!["a0746c5aee539430c94f18adc4a723d3216e348a5e770bd65c70c8e2655e4f73"].into(),
19193345540608109431u128,
),
(
hex!["da59bcd9273cea92f120a9a9a5a5148a551decb191588dc949331d6badf29a19"].into(),
9490654217464110064u128,
),
(
hex!["3482a145ab988dfd56683d2ca621a900656188eef040c92e8dbc45288fa51409"].into(),
12923631455237538822u128,
),
(
hex!["96b26d15a812e30bc0dae710eb6ab9ce0c82a450e8eeb94c19c9ee0483ed907c"].into(),
3389562133222364766u128,
),
(
hex!["8a5807668ec5a9f0cad02fa02a7b8b5ac7a754f94f00da5048de53e883c54d14"].into(),
20555316237553836240u128,
),
(
hex!["8610f2ee704cb43240f62a9d7aafa91e31168976c4f91ce7f87db37f42db2953"].into(),
2702544380873117690u128,
),
(
hex!["96cd8b97a9256ee5ddac3d5d4e128544041d041957815f415d33e51212e5794d"].into(),
2790800114219541994u128,
),
(
hex!["b0d88e3974dd9b8e2b5919bb3eaca3241bc3ceca163df036ea539528121cde36"].into(),
12804373197912707987u128,
),
(
hex!["8a0d0b66e827bf20e79f9a499317e73925ce4f422371067edfab690e43857f13"].into(),
17029519112752711171u128,
),
(
hex!["40ad428cb7a2530fc0c38ab879e7f5d54f25cd757cfcb21f46cb023d413eb916"].into(),
236636628523870614u128,
),
(
hex!["4cec57aebb419ab80b7d8b699024eaaa9016bb2b90821f18303abebe87b4983e"].into(),
5989065741777255205u128,
),
(
hex!["2c2d1ac621c332cc1b8e5c1bfc5b1c00c61e9767e8fcf96b1852bb39940fa209"].into(),
97016443351365356u128,
),
(
hex!["6ea653659d6a5e6f3fa95b2ffa4acad62233f91d2dc323632a3fa5c9fc7b533a"].into(),
7082036763487176084u128,
),
(
hex!["f614e6494fbb66397fe4c799971be187183d85996ac08c2ba37d666635fd0f7d"].into(),
14369468997618688200u128,
),
(
hex!["24fae36f401bf052057d4a011dc8b9ec40fcd9ef12a2823c9c8a2acbd40b906d"].into(),
2315886107309065433u128,
),
(
hex!["46b7889030d5f4653002b4b3cc50b031548c237e1b26639e26b66af113258c65"].into(),
12142098465731542975u128,
),
(
hex!["eefeff9e4cfa6e9d55128803895ff50e917f5601fda7f38f7aa71c48ee8a182c"].into(),
11439023815236597370u128,
),
(
hex!["4ec775d54f1e4d03524571e664108c5c7d8e256ac0b7a9566fe91a13fb489c1d"].into(),
9489578019617777151u128,
),
(
hex!["cebeae91074bd44a612a42098fc923e69d9b2986a9346b9e22e194867cfe1878"].into(),
15601890531640086483u128,
),
(
hex!["2c1a2fcaaddeb083764fdd5364e961506807f295b7de086bfebcf85323ec3e6f"].into(),
13079350324389304724u128,
),
(
hex!["345ff8df58e39dbae032bfed1a3f5d41078376d57adb6cabd8b319fb817b892e"].into(),
23468808288638423759u128,
),
(
hex!["da6875e9df9a7894e065ef5befcde567dec4dc2c0b73a6ad5514dcca26a90702"].into(),
6493072525488370028u128,
),
(
hex!["1a32c203646616b88f262569c5e52c8c45468c0b5ade90996af844a9971ddf31"].into(),
19038726261292405641u128,
),
(
hex!["e261f574706b696fa627ca60abcd27d71e509d48955c7bd39cfe26a4dbd1a305"].into(),
21295213717464967001u128,
),
(
hex!["3484fb56e2660d6d91ef93f432777778dcff9df2f9cccf0672504dd71a705358"].into(),
898508876174623538u128,
),
(
hex!["fef9b143712fefdf6825c9d85a151c0ff526f978becf980da6f5b10f8dac6c47"].into(),
32731550000000000000u128,
),
(
hex!["70ee2d1a6ae80d1fee15f47c646cbcbc9fa8dcf7365bfb5f7135daf9e4933312"].into(),
11375887786446002232u128,
),
(
hex!["94715daf5090147de11f48aee9661c46f98b1215e3a4e54867344635c7e8cf68"].into(),
1000000000000000u128,
),
(
hex!["3618b39b2ea7f3b6540772f898d4e10659e63be2cae3f83809464ca0bb5db22a"].into(),
464151188721441320u128,
),
(
hex!["d2da442bc774b21bf0a2485bc6099e468765255363136b6517adda3d6ceb8e39"].into(),
11360623175679553528u128,
),
(
hex!["4e5dbd1516d69f4132e5ea96b7cf92799075c14a32f7995fb9d6f6ebed537d64"].into(),
898508876174623538u128,
),
(
hex!["c60a0232c2be6412a0d4e48d6754179b554d35a245adf6f6fccde7ae6cc0243e"].into(),
58698491577496531u128,
),
(
hex!["dc3c2d888a41e766647e56ec7e9b71cc8db6553407be8646e35d4c0f803b9946"].into(),
118117752349247076u128,
),
(
hex!["b2c232a2c68b1b9094568fde28bca4b3845031b1afc386b4f6881c7c0162b00d"].into(),
931000000000000u128,
),
(
hex!["422f1935ec60c7e30ea45aa8b9f94adf9fc416887bdfb797860eae4d6ff2552c"].into(),
13279615062396777665u128,
),
(
hex!["90d14cddba5be458254e80a127cb06f6b2e0344928d949241da6c3e230a9c374"].into(),
4686200000000000000u128,
),
(
hex!["728d8f346c9be14f387d1ce92598cee4becdb41d944ed0d77b9ee3d652e7ec62"].into(),
6258403189666179783u128,
),
(
hex!["3e4c0237d057d92401fc9188893254f503d28af6b35535749f46420827de754d"].into(),
19242175230462504503u128,
),
(
hex!["4c19778e758d3f4763972e2b5119aee898a0c86b3f7dc2f4536f495b44f7a151"].into(),
93100000000000000u128,
),
(
hex!["484b5356ad84cc7ce4cbaf5e53c79c5d77195ad560810fa6d3fafc2145a04f69"].into(),
7634199999999999046u128,
),
(
hex!["80eca749f37cb93f00f5309552c26b2c70960452e11faa63d081090542aeac42"].into(),
15018909223219290155u128,
),
(
hex!["585bde23981ce0400b174cf234c495114421bb01554344c63dc724357a6dac24"].into(),
35007104380873117690u128,
),
(
hex!["c02c41834889bf3fec8d38e25d976dcfde3e2e44ca1275c341b0ff7617a2f14c"].into(),
2976235504698494152u128,
),
(
hex!["328135c5defeeb32f3b3f90196108f56837bb1cb999033bf380464c20ede0d4e"].into(),
1670483976174623538u128,
),
(
hex!["fc01510458f9a54c10b0fb9be4f6a5f110388ecffbffb79e3b6bfd999a17ed4c"].into(),
1824791460713404165u128,
),
(
hex!["1c96c3a56374256afa95ffa1c15cb9730d33d91fa4a8fa10b4053b166e714e68"].into(),
9310000000000000u128,
),
(
hex!["6c151c9f790fa18a0dd60debb296bb252700c482298eaf8b681f599b6f7b5150"].into(),
100000000000000u128,
),
(
hex!["844ee060a2a94beb0c3a744d00093d1929a68f3b5acc2265e99375855bd60c00"].into(),
6979217752349247076u128,
),
(
hex!["6083d585d458daed6a19c3258e311132ab786eb5144bb7b7dace2218522d274b"].into(),
931000000000000u128,
),
(
hex!["68c3d18fb07714cab1b1f8b5368e9c1e1f2b5f0e739c0602eeffc1669936ed02"].into(),
23861181086695331736u128,
),
(
hex!["5cb839c6a5e065e83b5dbf20d7082086a376586fe37fa7658cba71eda689c118"].into(),
14120423305018263853u128,
),
]
}

View File

@ -2,6 +2,7 @@
pub mod benchmarking;
pub mod chain_spec;
pub mod legacy;
#[cfg(feature = "full-node")]
use {

View File

@ -9,10 +9,16 @@ fn cli_version_works() {
.output()
.unwrap();
assert!(output.status.success(), "command returned with non-success exit code");
assert!(
output.status.success(),
"command returned with non-success exit code"
);
let version = String::from_utf8_lossy(&output.stdout).trim().to_owned();
assert_eq!(version, format!("{} {}", crate_name, env!("CARGO_PKG_VERSION")));
assert_eq!(
version,
format!("{} {}", crate_name, env!("CARGO_PKG_VERSION"))
);
}
#[test]
@ -25,7 +31,10 @@ fn cli_info_works() {
.output()
.unwrap();
assert!(output.status.success(), "command returned with non-success exit code");
assert!(
output.status.success(),
"command returned with non-success exit code"
);
let info = String::from_utf8_lossy(&output.stdout).trim().to_owned();
let v: Result<Value> = serde_json::from_str(&info);
let v = v.unwrap();

View File

@ -14,9 +14,7 @@ use tracing_subscriber::EnvFilter;
pub use runtime::{
election_provider_multi_phase::events::SolutionStored,
runtime_types::pallet_election_provider_multi_phase::{
ElectionCompute, ReadySolution,
},
runtime_types::pallet_election_provider_multi_phase::{ElectionCompute, ReadySolution},
};
pub const MAX_DURATION_FOR_SUBMIT_SOLUTION: Duration = Duration::form_secs(6 * 60);
@ -38,7 +36,8 @@ pub fn find_ws_url_from_output(read: impl Read + Send) -> (String, String) {
.lines()
.take(1024 * 1024)
.find_map(|line| {
let line = line.expect("Failed to obtain next line from stdout for WS address discovery; qed");
let line =
line.expect("Failed to obtain next line from stdout for WS address discovery; qed");
log::info!("{}", line);
data.push_str(&line);
@ -161,15 +160,22 @@ pub async fn test_submit_solution(target: Target) {
process::Command::new(cargo_bin(env!("CARGO_PKG_NAME")))
.stdout(process::Stdio::piped())
.stderr(process::Stdio::piped())
.args(["--uri", &ws_url, "monitor", "--seed-or-path", "//Alice", "seq-phragmen"])
.args([
"--uri",
&ws_url,
"monitor",
"--seed-or-path",
"//Alice",
"seq-phragmen",
])
.spawn()
.unwrap(),
);
let (tx, mut rx) = tokio::sync::mpsc::unbounded_channel();
spawn_cli_output_threads(
miner.stdout.take().unwrap(),
miner.stderr.take().unwrap(),
miner.stdout.take().unwrap(),
miner.stderr.take().unwrap(),
tx,
);

View File

@ -2,9 +2,9 @@ pub mod common;
use assert_cmd::cargo::carg_bin;
use command::{
init_logger, run_staking_miner_playground, spawn_cli_output_threads,
test_submit_solution, wait_for_mined_solution, ElectionCompute, Target,
KillChildOnDrop, MAX_DURATION_FOR_SUBMIT_SOLUTION,
init_logger, run_staking_miner_playground, spawn_cli_output_threads, test_submit_solution,
wait_for_mined_solution, ElectionCompute, KillChildOnDrop, Target,
MAX_DURATION_FOR_SUBMIT_SOLUTION,
};
use ghost_staking_miner::opt::Chain;
use regex::Regex;
@ -27,13 +27,19 @@ async fn default_trimming_works() {
.stdout(process::Stdio::piped())
.stderr(process::Stdio::piped())
.env("RUST_LOGS", "runtime=debug,ghost-staking-miner=debug")
.args(["--uri", &ws_url, "monitor", "--seed-or-path", "//Alice", "seq-phragmen"])
.args([
"--uri",
&ws_url,
"monitor",
"--seed-or-path",
"//Alice",
"seq-phragmen",
])
.spawn()
.unwrap(),
);
let ready_solution_task =
tokio::spawn(async move { wait_for_mined_solution(&ws_url).await });
let ready_solution_task = tokio::spawn(async move { wait_for_mined_solution(&ws_url).await });
assert!(has_trimming_output(&mut miner).await);
let ready_solution = ready_solution_task
@ -51,7 +57,7 @@ async fn default_trimming_works() {
// Thus, the only way to ensure that trimming actually works.
async fn has_trimming_output(miner: &mut KillChildOnDrop) -> bool {
let trimming_re = Regex::new(
r#"from (\d+) assignments, truncating to (\d+) for (?P<target>weight|length), removing (?P<removed>\d+)#,
r#"from (\d+) assignments, truncating to (\d+) for (?P<target>weight|length), removing (?P<removed>\d+)"#,
).unwrap();
let mut got_truncate_len = false;
@ -75,11 +81,7 @@ async fn has_trimming_output(miner: &mut KillChildOnDrop) -> bool {
log::info!("{line}");
if let Some(caps) = trimming_re.captures(&line) {
let trimmed_items: usize = caps.name("removed")
.unwrap()
.as_str()
.parse()
.unwrap();
let trimmed_items: usize = caps.name("removed").unwrap().as_str().parse().unwrap();
if caps.name("target").unwrap().as_str() == "weight" && trimmed_items > 0 {
got_truncate_weight = true;