Compare commits

...

6 Commits

Author SHA1 Message Date
0c3636fe79
bump all pallet versions
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-06-19 22:38:24 +03:00
d87184bbc2
update weights for the ghost networks pallet
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-06-19 22:37:03 +03:00
43f72ec842
update weights and add rate_limit_delay for slow claps
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-06-19 22:35:51 +03:00
ac6d70ae91
update chain specification based on new rate_limit_delay field of NetworkData
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-06-19 21:40:05 +03:00
49c5f3a9e9
update weights for the casper runtime, benchmarked with stopped ghost-node service
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-06-19 21:39:17 +03:00
060f61105c
additional network field, that represents default rate limit measured in blocks
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2025-06-19 21:32:40 +03:00
14 changed files with 365 additions and 216 deletions

18
Cargo.lock generated
View File

@ -1186,7 +1186,7 @@ dependencies = [
[[package]]
name = "casper-runtime"
version = "3.5.24"
version = "3.5.25"
dependencies = [
"casper-runtime-constants",
"frame-benchmarking",
@ -3528,7 +3528,7 @@ dependencies = [
[[package]]
name = "ghost-cli"
version = "0.7.198"
version = "0.7.200"
dependencies = [
"cfg-if",
"clap 4.5.4",
@ -3584,7 +3584,7 @@ dependencies = [
[[package]]
name = "ghost-machine-primitives"
version = "0.7.198"
version = "0.7.200"
dependencies = [
"lazy_static",
"sc-sysinfo",
@ -3593,7 +3593,7 @@ dependencies = [
[[package]]
name = "ghost-metrics"
version = "0.7.198"
version = "0.7.200"
dependencies = [
"assert_cmd",
"bs58 0.5.1",
@ -3648,7 +3648,7 @@ dependencies = [
[[package]]
name = "ghost-networks"
version = "0.1.8"
version = "0.1.10"
dependencies = [
"frame-benchmarking",
"frame-support",
@ -3667,7 +3667,7 @@ dependencies = [
[[package]]
name = "ghost-node"
version = "0.7.198"
version = "0.7.200"
dependencies = [
"assert_cmd",
"color-eyre",
@ -3698,7 +3698,7 @@ dependencies = [
[[package]]
name = "ghost-rpc"
version = "0.7.198"
version = "0.7.200"
dependencies = [
"ghost-core-primitives",
"jsonrpsee",
@ -3750,7 +3750,7 @@ dependencies = [
[[package]]
name = "ghost-service"
version = "0.7.198"
version = "0.7.200"
dependencies = [
"assert_matches",
"async-trait",
@ -3834,7 +3834,7 @@ dependencies = [
[[package]]
name = "ghost-slow-clap"
version = "0.3.28"
version = "0.3.30"
dependencies = [
"frame-benchmarking",
"frame-support",

View File

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

View File

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

View File

@ -32,6 +32,7 @@ fn prepare_network<T: Config>(
topic_name,
network_type: NetworkType::Evm,
finality_delay: 69,
rate_limit_delay: 69,
block_distance: 69,
incoming_fee: 0,
outgoing_fee: 0,
@ -120,6 +121,20 @@ benchmarks! {
assert_ne!(GhostNetworks::<T>::networks(chain_id.clone()), prev_network);
}
update_network_rate_limit_delay {
let rate_limit = 1337;
let (chain_id, network) = prepare_network::<T>(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(), rate_limit)
verify {
assert_last_event::<T>(Event::NetworkRateLimitDelayUpdated {
chain_id: chain_id.clone(), rate_limit_delay: rate_limit,
}.into());
assert_ne!(GhostNetworks::<T>::networks(chain_id.clone()), prev_network);
}
update_network_block_distance {
let block_distance = 1337;
let (chain_id, network) = prepare_network::<T>(1, 1);

View File

@ -56,6 +56,7 @@ pub struct NetworkData {
pub topic_name: Vec<u8>,
pub network_type: NetworkType,
pub finality_delay: u64,
pub rate_limit_delay: u64,
pub block_distance: u64,
pub incoming_fee: u32,
pub outgoing_fee: u32,
@ -158,6 +159,7 @@ pub mod module {
NetworkNameUpdated { chain_id: T::NetworkId, chain_name: Vec<u8> },
NetworkEndpointUpdated { chain_id: T::NetworkId, default_endpoint: Vec<u8> },
NetworkFinalityDelayUpdated { chain_id: T::NetworkId, finality_delay: u64 },
NetworkRateLimitDelayUpdated { chain_id: T::NetworkId, rate_limit_delay: u64 },
NetworkBlockDistanceUpdated { chain_id: T::NetworkId, block_distance: u64 },
NetworkTypeUpdated { chain_id: T::NetworkId, network_type: NetworkType },
NetworkGatekeeperUpdated { chain_id: T::NetworkId, gatekeeper: Vec<u8> },
@ -303,6 +305,20 @@ pub mod module {
}
#[pallet::call_index(4)]
#[pallet::weight(T::WeightInfo::update_network_rate_limit_delay())]
pub fn update_network_rate_limit_delay(
origin: OriginFor<T>,
chain_id: T::NetworkId,
rate_limit_delay: u64,
) -> DispatchResult {
T::UpdateOrigin::ensure_origin_or_root(origin)?;
Self::do_update_network_rate_limit_delay(
chain_id,
rate_limit_delay,
)
}
#[pallet::call_index(5)]
#[pallet::weight(T::WeightInfo::update_network_block_distance())]
pub fn update_network_block_distance(
origin: OriginFor<T>,
@ -316,7 +332,7 @@ pub mod module {
)
}
#[pallet::call_index(5)]
#[pallet::call_index(6)]
#[pallet::weight(T::WeightInfo::update_network_type())]
pub fn update_network_type(
origin: OriginFor<T>,
@ -330,7 +346,7 @@ pub mod module {
)
}
#[pallet::call_index(6)]
#[pallet::call_index(7)]
#[pallet::weight(T::WeightInfo::update_network_gatekeeper())]
pub fn update_network_gatekeeper(
origin: OriginFor<T>,
@ -344,7 +360,7 @@ pub mod module {
)
}
#[pallet::call_index(7)]
#[pallet::call_index(8)]
#[pallet::weight(T::WeightInfo::update_network_topic_name())]
pub fn update_network_topic_name(
origin: OriginFor<T>,
@ -358,7 +374,7 @@ pub mod module {
)
}
#[pallet::call_index(8)]
#[pallet::call_index(9)]
#[pallet::weight(T::WeightInfo::update_incoming_network_fee())]
pub fn update_incoming_network_fee(
origin: OriginFor<T>,
@ -372,7 +388,7 @@ pub mod module {
)
}
#[pallet::call_index(9)]
#[pallet::call_index(10)]
#[pallet::weight(T::WeightInfo::update_outgoing_network_fee())]
pub fn update_outgoing_network_fee(
origin: OriginFor<T>,
@ -386,7 +402,7 @@ pub mod module {
)
}
#[pallet::call_index(10)]
#[pallet::call_index(11)]
#[pallet::weight(T::WeightInfo::remove_network())]
pub fn remove_network(
origin: OriginFor<T>,
@ -465,7 +481,7 @@ impl<T: Config> Pallet<T> {
Ok(())
}
/// Update existent network default endpoint.
/// Update existent network default finality delay.
pub fn do_update_network_finality_delay(
chain_id: T::NetworkId,
finality_delay: u64,
@ -484,6 +500,25 @@ impl<T: Config> Pallet<T> {
Ok(())
}
/// Update existent network default rate limit delay.
pub fn do_update_network_rate_limit_delay(
chain_id: T::NetworkId,
rate_limit_delay: 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.rate_limit_delay = rate_limit_delay;
*maybe_network = Some(net.clone());
Ok(())
})?;
Self::deposit_event(Event::<T>::NetworkRateLimitDelayUpdated {
chain_id,
rate_limit_delay,
});
Ok(())
}
/// Update existent network default max distance between blocks.
pub fn do_update_network_block_distance(
chain_id: T::NetworkId,

View File

@ -12,6 +12,7 @@ fn prepare_network_data() -> (u32, NetworkData) {
chain_name: "Ethereum".into(),
default_endpoint: "https:://some-endpoint.my-server.com/v1/my-super-secret-key".into(),
finality_delay: 69,
rate_limit_delay: 69,
block_distance: 69,
network_type: NetworkType::Evm,
gatekeeper: b"0x1234567891234567891234567891234567891234".to_vec(),
@ -136,6 +137,27 @@ fn could_update_network_finality_delay_from_authority_account() {
});
}
#[test]
fn could_update_network_rate_limit_delay_from_authority_account() {
ExtBuilder::build()
.execute_with(|| {
let new_rate_limit_delay = 1337;
let (chain_id, network) = prepare_network_data();
register_and_check_network(chain_id, network.clone());
assert_ok!(GhostNetworks::update_network_rate_limit_delay(
RuntimeOrigin::signed(UpdaterAccount::get()),
chain_id, new_rate_limit_delay));
System::assert_last_event(RuntimeEvent::GhostNetworks(
crate::Event::NetworkRateLimitDelayUpdated {
chain_id,
rate_limit_delay: new_rate_limit_delay }));
let mut final_network = network.clone();
final_network.rate_limit_delay = new_rate_limit_delay;
assert_eq!(Networks::<Test>::get(chain_id), Some(final_network.clone()));
assert_ne!(network, final_network);
});
}
#[test]
fn could_update_network_block_distance_from_authority_account() {
ExtBuilder::build()
@ -329,6 +351,29 @@ fn could_not_update_network_finality_delay_from_random_account() {
});
}
#[test]
fn could_not_update_network_rate_limit_delay_from_random_account() {
ExtBuilder::build()
.execute_with(|| {
let (chain_id, network) = prepare_network_data();
let rate_limit_delay = 1337;
register_and_check_network(chain_id, network.clone());
assert_err!(GhostNetworks::update_network_rate_limit_delay(
RuntimeOrigin::signed(RegistererAccount::get()),
chain_id, rate_limit_delay),
DispatchError::BadOrigin);
assert_err!(GhostNetworks::update_network_rate_limit_delay(
RuntimeOrigin::signed(RemoverAccount::get()),
chain_id, rate_limit_delay),
DispatchError::BadOrigin);
assert_err!(GhostNetworks::update_network_rate_limit_delay(
RuntimeOrigin::signed(RandomAccount::get()),
chain_id, rate_limit_delay),
DispatchError::BadOrigin);
assert_eq!(Networks::<Test>::get(chain_id), Some(network));
});
}
#[test]
fn could_not_update_network_release_delay_from_random_account() {
ExtBuilder::build()
@ -504,6 +549,20 @@ fn could_not_update_finality_delay_for_non_existent_network() {
});
}
#[test]
fn could_not_update_rate_limit_delay_for_non_existent_network() {
ExtBuilder::build()
.execute_with(|| {
let chain_id: u32 = 1;
assert_eq!(Networks::<Test>::get(chain_id), None);
assert_err!(GhostNetworks::update_network_rate_limit_delay(
RuntimeOrigin::signed(UpdaterAccount::get()),
chain_id, 1337),
crate::Error::<Test>::NetworkDoesNotExist);
assert_eq!(Networks::<Test>::get(chain_id), None);
});
}
#[test]
fn could_not_update_release_delay_for_non_existent_network() {
ExtBuilder::build()

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-06-18, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-06-19, 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,6 +53,7 @@ pub trait WeightInfo {
fn update_network_name(n: u32, ) -> Weight;
fn update_network_endpoint(n: u32, ) -> Weight;
fn update_network_finality_delay() -> Weight;
fn update_network_rate_limit_delay() -> Weight;
fn update_network_block_distance() -> Weight;
fn update_network_type() -> Weight;
fn update_network_gatekeeper() -> Weight;
@ -69,30 +70,30 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// 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]`.
fn register_network(i: u32, j: u32, ) -> Weight {
fn register_network(_i: u32, j: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `109`
// Estimated: `3574`
// Minimum execution time: 43_624_000 picoseconds.
Weight::from_parts(44_945_690, 0)
// Minimum execution time: 43_753_000 picoseconds.
Weight::from_parts(45_805_520, 0)
.saturating_add(Weight::from_parts(0, 3574))
// Standard Error: 3_439
.saturating_add(Weight::from_parts(15_557, 0).saturating_mul(i.into()))
// Standard Error: 450
.saturating_add(Weight::from_parts(3_508, 0).saturating_mul(j.into()))
// Standard Error: 412
.saturating_add(Weight::from_parts(1_586, 0).saturating_mul(j.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: `294`
// Estimated: `3759`
// Minimum execution time: 48_741_000 picoseconds.
Weight::from_parts(50_426_703, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 49_412_000 picoseconds.
Weight::from_parts(50_617_210, 0)
.saturating_add(Weight::from_parts(0, 3766))
// Standard Error: 3_074
.saturating_add(Weight::from_parts(6_017, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -101,13 +102,13 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// The range of component `n` is `[1, 150]`.
fn update_network_endpoint(n: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 49_090_000 picoseconds.
Weight::from_parts(50_734_447, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Standard Error: 863
.saturating_add(Weight::from_parts(786, 0).saturating_mul(n.into()))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 49_485_000 picoseconds.
Weight::from_parts(50_716_057, 0)
.saturating_add(Weight::from_parts(0, 3766))
// Standard Error: 453
.saturating_add(Weight::from_parts(4_916, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -115,11 +116,23 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_finality_delay() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 48_107_000 picoseconds.
Weight::from_parts(48_993_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 48_061_000 picoseconds.
Weight::from_parts(49_072_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.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: `301`
// Estimated: `3766`
// Minimum execution time: 49_066_000 picoseconds.
Weight::from_parts(52_137_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -127,11 +140,11 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_block_distance() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 48_277_000 picoseconds.
Weight::from_parts(49_393_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 48_085_000 picoseconds.
Weight::from_parts(48_838_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -139,11 +152,11 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_type() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 47_642_000 picoseconds.
Weight::from_parts(49_212_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 47_872_000 picoseconds.
Weight::from_parts(48_972_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -151,11 +164,11 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_gatekeeper() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 49_440_000 picoseconds.
Weight::from_parts(50_315_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 50_029_000 picoseconds.
Weight::from_parts(50_768_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -163,11 +176,11 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_topic_name() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 49_469_000 picoseconds.
Weight::from_parts(50_532_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 50_151_000 picoseconds.
Weight::from_parts(51_573_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -175,11 +188,11 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_incoming_network_fee() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 47_858_000 picoseconds.
Weight::from_parts(48_703_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 48_017_000 picoseconds.
Weight::from_parts(49_513_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -187,11 +200,11 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_outgoing_network_fee() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 47_895_000 picoseconds.
Weight::from_parts(49_230_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 48_714_000 picoseconds.
Weight::from_parts(49_777_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -199,11 +212,11 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn remove_network() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 44_052_000 picoseconds.
Weight::from_parts(44_612_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 44_583_000 picoseconds.
Weight::from_parts(45_681_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -214,30 +227,30 @@ impl WeightInfo for () {
/// 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]`.
fn register_network(i: u32, j: u32, ) -> Weight {
fn register_network(_i: u32, j: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `109`
// Estimated: `3574`
// Minimum execution time: 43_624_000 picoseconds.
Weight::from_parts(44_945_690, 0)
// Minimum execution time: 43_753_000 picoseconds.
Weight::from_parts(45_805_520, 0)
.saturating_add(Weight::from_parts(0, 3574))
// Standard Error: 3_439
.saturating_add(Weight::from_parts(15_557, 0).saturating_mul(i.into()))
// Standard Error: 450
.saturating_add(Weight::from_parts(3_508, 0).saturating_mul(j.into()))
// Standard Error: 412
.saturating_add(Weight::from_parts(1_586, 0).saturating_mul(j.into()))
.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`)
/// 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: `294`
// Estimated: `3759`
// Minimum execution time: 48_741_000 picoseconds.
Weight::from_parts(50_426_703, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 49_412_000 picoseconds.
Weight::from_parts(50_617_210, 0)
.saturating_add(Weight::from_parts(0, 3766))
// Standard Error: 3_074
.saturating_add(Weight::from_parts(6_017, 0).saturating_mul(n.into()))
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(1))
}
@ -246,13 +259,13 @@ impl WeightInfo for () {
/// The range of component `n` is `[1, 150]`.
fn update_network_endpoint(n: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 49_090_000 picoseconds.
Weight::from_parts(50_734_447, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Standard Error: 863
.saturating_add(Weight::from_parts(786, 0).saturating_mul(n.into()))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 49_485_000 picoseconds.
Weight::from_parts(50_716_057, 0)
.saturating_add(Weight::from_parts(0, 3766))
// Standard Error: 453
.saturating_add(Weight::from_parts(4_916, 0).saturating_mul(n.into()))
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(1))
}
@ -260,11 +273,23 @@ impl WeightInfo for () {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_finality_delay() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 48_107_000 picoseconds.
Weight::from_parts(48_993_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 48_061_000 picoseconds.
Weight::from_parts(49_072_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.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 update_network_rate_limit_delay() -> Weight {
// Proof Size summary in bytes:
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 49_066_000 picoseconds.
Weight::from_parts(52_137_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(1))
}
@ -272,11 +297,11 @@ impl WeightInfo for () {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_block_distance() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 48_277_000 picoseconds.
Weight::from_parts(49_393_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 48_085_000 picoseconds.
Weight::from_parts(48_838_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(1))
}
@ -284,11 +309,11 @@ impl WeightInfo for () {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_type() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 47_642_000 picoseconds.
Weight::from_parts(49_212_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 47_872_000 picoseconds.
Weight::from_parts(48_972_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(1))
}
@ -296,11 +321,11 @@ impl WeightInfo for () {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_gatekeeper() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 49_440_000 picoseconds.
Weight::from_parts(50_315_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 50_029_000 picoseconds.
Weight::from_parts(50_768_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(1))
}
@ -308,11 +333,11 @@ impl WeightInfo for () {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_network_topic_name() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 49_469_000 picoseconds.
Weight::from_parts(50_532_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 50_151_000 picoseconds.
Weight::from_parts(51_573_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(1))
}
@ -320,11 +345,11 @@ impl WeightInfo for () {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_incoming_network_fee() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 47_858_000 picoseconds.
Weight::from_parts(48_703_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 48_017_000 picoseconds.
Weight::from_parts(49_513_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(1))
}
@ -332,11 +357,11 @@ impl WeightInfo for () {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn update_outgoing_network_fee() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 47_895_000 picoseconds.
Weight::from_parts(49_230_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 48_714_000 picoseconds.
Weight::from_parts(49_777_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(1))
}
@ -344,11 +369,11 @@ impl WeightInfo for () {
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn remove_network() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 44_052_000 picoseconds.
Weight::from_parts(44_612_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 44_583_000 picoseconds.
Weight::from_parts(45_681_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(RocksDbWeight::get().reads(1))
.saturating_add(RocksDbWeight::get().writes(1))
}

View File

@ -1,6 +1,6 @@
[package]
name = "ghost-slow-clap"
version = "0.3.29"
version = "0.3.30"
description = "Applause protocol for the EVM bridge"
license.workspace = true
authors.workspace = true

View File

@ -24,6 +24,7 @@ fn prepare_evm_network(
chain_name: "Ethereum".into(),
default_endpoint: get_rpc_endpoint(),
finality_delay: 69,
rate_limit_delay: 69,
block_distance: 69,
network_type: ghost_networks::NetworkType::Evm,
gatekeeper: get_gatekeeper(),

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-06-17, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-06-19, 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
@ -78,8 +78,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
// Proof Size summary in bytes:
// Measured: `355`
// Estimated: `3820`
// Minimum execution time: 211_154_000 picoseconds.
Weight::from_parts(215_420_000, 0)
// 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))
@ -106,8 +106,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
// Proof Size summary in bytes:
// Measured: `655`
// Estimated: `4120`
// Minimum execution time: 208_453_000 picoseconds.
Weight::from_parts(212_038_000, 0)
// 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))
@ -139,8 +139,8 @@ impl WeightInfo for () {
// Proof Size summary in bytes:
// Measured: `355`
// Estimated: `3820`
// Minimum execution time: 211_154_000 picoseconds.
Weight::from_parts(215_420_000, 0)
// Minimum execution time: 213_817_000 picoseconds.
Weight::from_parts(216_977_000, 0)
.saturating_add(Weight::from_parts(0, 3820))
.saturating_add(RocksDbWeight::get().reads(10))
.saturating_add(RocksDbWeight::get().writes(7))
@ -167,8 +167,8 @@ impl WeightInfo for () {
// Proof Size summary in bytes:
// Measured: `655`
// Estimated: `4120`
// Minimum execution time: 208_453_000 picoseconds.
Weight::from_parts(212_038_000, 0)
// 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))

View File

@ -1,6 +1,6 @@
[package]
name = "casper-runtime"
version = "3.5.24"
version = "3.5.25"
build = "build.rs"
description = "Runtime of the Casper Network"
edition.workspace = true

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-06-18, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-06-19, 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
@ -50,30 +50,30 @@ impl<T: frame_system::Config> ghost_networks::WeightInfo for WeightInfo<T> {
/// 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]`.
fn register_network(i: u32, j: u32, ) -> Weight {
fn register_network(_i: u32, j: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `109`
// Estimated: `3574`
// Minimum execution time: 43_624_000 picoseconds.
Weight::from_parts(44_945_690, 0)
// Minimum execution time: 43_753_000 picoseconds.
Weight::from_parts(45_805_520, 0)
.saturating_add(Weight::from_parts(0, 3574))
// Standard Error: 3_439
.saturating_add(Weight::from_parts(15_557, 0).saturating_mul(i.into()))
// Standard Error: 450
.saturating_add(Weight::from_parts(3_508, 0).saturating_mul(j.into()))
// Standard Error: 412
.saturating_add(Weight::from_parts(1_586, 0).saturating_mul(j.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: `294`
// Estimated: `3759`
// Minimum execution time: 48_741_000 picoseconds.
Weight::from_parts(50_426_703, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 49_412_000 picoseconds.
Weight::from_parts(50_617_210, 0)
.saturating_add(Weight::from_parts(0, 3766))
// Standard Error: 3_074
.saturating_add(Weight::from_parts(6_017, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -82,13 +82,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: `294`
// Estimated: `3759`
// Minimum execution time: 49_090_000 picoseconds.
Weight::from_parts(50_734_447, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Standard Error: 863
.saturating_add(Weight::from_parts(786, 0).saturating_mul(n.into()))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 49_485_000 picoseconds.
Weight::from_parts(50_716_057, 0)
.saturating_add(Weight::from_parts(0, 3766))
// Standard Error: 453
.saturating_add(Weight::from_parts(4_916, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -96,11 +96,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_network_finality_delay() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 48_107_000 picoseconds.
Weight::from_parts(48_993_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 48_061_000 picoseconds.
Weight::from_parts(49_072_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.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: `301`
// Estimated: `3766`
// Minimum execution time: 49_066_000 picoseconds.
Weight::from_parts(52_137_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -108,11 +120,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: `294`
// Estimated: `3759`
// Minimum execution time: 48_277_000 picoseconds.
Weight::from_parts(49_393_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 48_085_000 picoseconds.
Weight::from_parts(48_838_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -120,11 +132,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: `294`
// Estimated: `3759`
// Minimum execution time: 47_642_000 picoseconds.
Weight::from_parts(49_212_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 47_872_000 picoseconds.
Weight::from_parts(48_972_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -132,11 +144,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: `294`
// Estimated: `3759`
// Minimum execution time: 49_440_000 picoseconds.
Weight::from_parts(50_315_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 50_029_000 picoseconds.
Weight::from_parts(50_768_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -144,11 +156,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: `294`
// Estimated: `3759`
// Minimum execution time: 49_469_000 picoseconds.
Weight::from_parts(50_532_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 50_151_000 picoseconds.
Weight::from_parts(51_573_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -156,11 +168,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: `294`
// Estimated: `3759`
// Minimum execution time: 47_858_000 picoseconds.
Weight::from_parts(48_703_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 48_017_000 picoseconds.
Weight::from_parts(49_513_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -168,11 +180,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_outgoing_network_fee() -> Weight {
// Proof Size summary in bytes:
// Measured: `294`
// Estimated: `3759`
// Minimum execution time: 47_895_000 picoseconds.
Weight::from_parts(49_230_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 48_714_000 picoseconds.
Weight::from_parts(49_777_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@ -180,11 +192,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: `294`
// Estimated: `3759`
// Minimum execution time: 44_052_000 picoseconds.
Weight::from_parts(44_612_000, 0)
.saturating_add(Weight::from_parts(0, 3759))
// Measured: `301`
// Estimated: `3766`
// Minimum execution time: 44_583_000 picoseconds.
Weight::from_parts(45_681_000, 0)
.saturating_add(Weight::from_parts(0, 3766))
.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-06-17, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2025-06-19, 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
@ -70,8 +70,8 @@ impl<T: frame_system::Config> ghost_slow_clap::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `355`
// Estimated: `3820`
// Minimum execution time: 211_154_000 picoseconds.
Weight::from_parts(215_420_000, 0)
// 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))
@ -98,8 +98,8 @@ impl<T: frame_system::Config> ghost_slow_clap::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `655`
// Estimated: `4120`
// Minimum execution time: 208_453_000 picoseconds.
Weight::from_parts(212_038_000, 0)
// 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))

View File

@ -178,6 +178,7 @@ fn casper_testnet_evm_networks() -> Vec<(u32, Vec<u8>)> {
chain_name: "ethereum-mainnet".into(),
default_endpoint: "https://nd-422-757-666.p2pify.com/0a9d79d93fb2f4a4b1e04695da2b77a7/".into(),
finality_delay: 40u64,
rate_limit_delay: 1u64,
block_distance: 50u64,
network_type: ghost_networks::NetworkType::Evm,
gatekeeper: "0x4d224452801aced8b2f0aebe155379bb5d594381".into(),
@ -189,6 +190,7 @@ fn casper_testnet_evm_networks() -> Vec<(u32, Vec<u8>)> {
chain_name: "bnb-mainnet".into(),
default_endpoint: "https://bsc-mainnet.core.chainstack.com/35848e183f3e3303c8cfeacbea831cab/".into(),
finality_delay: 20u64,
rate_limit_delay: 1u64,
block_distance: 50u64,
network_type: ghost_networks::NetworkType::Evm,
gatekeeper: "0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82".into(),