Compare commits

...

5 Commits

Author SHA1 Message Date
8a321ab5e1
apply last changes for the runtime
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2026-09-06 16:28:33 +03:00
6b353d1169
adjust reference machine read/write; fix script for genesis; remove legacy stuff
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2026-09-06 16:26:52 +03:00
90371a1412
finalizing the runtime
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2026-09-06 02:58:22 +03:00
1b0c4bbb31
remove legacy code
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2026-09-06 02:56:48 +03:00
589e88f6eb
update default weight for pallets
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
2026-09-06 02:52:29 +03:00
21 changed files with 511 additions and 330 deletions

28
Cargo.lock generated
View File

@ -1195,7 +1195,7 @@ dependencies = [
[[package]]
name = "casper-runtime"
version = "4.0.3"
version = "4.0.5"
dependencies = [
"casper-runtime-constants",
"frame-benchmarking",
@ -1281,7 +1281,7 @@ dependencies = [
[[package]]
name = "casper-runtime-constants"
version = "0.4.3"
version = "0.4.4"
dependencies = [
"frame-support",
"ghost-core-primitives",
@ -3628,7 +3628,7 @@ dependencies = [
[[package]]
name = "ghost-cli"
version = "0.9.2"
version = "0.9.3"
dependencies = [
"cfg-if",
"clap 4.5.4",
@ -3684,7 +3684,7 @@ dependencies = [
[[package]]
name = "ghost-exodus"
version = "0.0.3"
version = "0.0.7"
dependencies = [
"chacha20poly1305",
"frame-benchmarking",
@ -3733,7 +3733,7 @@ dependencies = [
[[package]]
name = "ghost-governance"
version = "0.3.2"
version = "0.3.5"
dependencies = [
"frame-benchmarking",
"frame-support",
@ -3775,7 +3775,7 @@ dependencies = [
[[package]]
name = "ghost-machine-primitives"
version = "0.9.2"
version = "0.9.3"
dependencies = [
"lazy_static",
"sc-sysinfo",
@ -3784,7 +3784,7 @@ dependencies = [
[[package]]
name = "ghost-metrics"
version = "0.9.2"
version = "0.9.3"
dependencies = [
"assert_cmd",
"bs58 0.5.1",
@ -3839,7 +3839,7 @@ dependencies = [
[[package]]
name = "ghost-networks"
version = "0.2.8"
version = "0.2.9"
dependencies = [
"frame-benchmarking",
"frame-support",
@ -3862,7 +3862,7 @@ dependencies = [
[[package]]
name = "ghost-node"
version = "0.9.2"
version = "0.9.3"
dependencies = [
"assert_cmd",
"color-eyre",
@ -3878,7 +3878,7 @@ dependencies = [
[[package]]
name = "ghost-nomination-pools"
version = "25.0.0"
version = "25.0.1"
dependencies = [
"frame-support",
"frame-system",
@ -3945,7 +3945,7 @@ dependencies = [
[[package]]
name = "ghost-rpc"
version = "0.9.2"
version = "0.9.3"
dependencies = [
"ghost-core-primitives",
"jsonrpsee",
@ -3974,7 +3974,7 @@ dependencies = [
[[package]]
name = "ghost-service"
version = "0.9.2"
version = "0.9.3"
dependencies = [
"assert_matches",
"async-trait",
@ -4070,7 +4070,7 @@ dependencies = [
[[package]]
name = "ghost-sudo"
version = "0.0.2"
version = "0.0.3"
dependencies = [
"docify",
"frame-benchmarking",
@ -4109,7 +4109,7 @@ dependencies = [
[[package]]
name = "ghost-weaver"
version = "0.0.2"
version = "0.0.4"
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.9.2"
version = "0.9.3"
edition = "2021"
homepage = "https://ghostchain.io"
repository = "https://git.ghostchain.io/ghostchain/ghost-node"

View File

@ -1,9 +1,11 @@
use crate::cli::{Cli, Subcommand};
use frame_benchmarking_cli::{BenchmarkCmd, ExtrinsicFactory};
use futures::future::TryFutureExt;
use sc_cli::SubstrateCli;
use service::{self, IdentifyVariant};
#[cfg(feature = "runtime-benchmarks")]
use frame_benchmarking_cli::{BenchmarkCmd, ExtrinsicFactory};
pub use crate::{error::Error, service::BlockId};
#[cfg(feature = "pyroscope")]
use pyroscope_pprofrs::{pprof_backend, PprofConfig};

View File

@ -1,6 +1,6 @@
[package]
name = "ghost-exodus"
version = "0.0.6"
version = "0.0.7"
description = "Threshold signature generation with DKG included"
license.workspace = true
authors.workspace = true

View File

@ -1,4 +1,50 @@
use frame_support::weights::Weight;
// This file is part of Ghost Network.
// Ghost Network is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// 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
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Ghost Network. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `ghost_exodus`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2026-09-05, 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
// Executed Command:
// ./target/release/ghost
// benchmark
// pallet
// --chain=casper-dev
// --steps=50
// --repeat=20
// --pallet=ghost_exodus
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --header=./file_header.txt
// --output=./runtime/casper/src/weights/ghost_exodus.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{
traits::Get,
weights::{Weight, constants::RocksDbWeight},
};
use core::marker::PhantomData;
pub trait WeightInfo {
fn register_round0_package() -> Weight;
@ -15,38 +61,294 @@ pub trait WeightInfo {
fn register_evm_bridge_out_exodus() -> Weight;
}
/// Weight functions for `ghost_exodus`.
impl WeightInfo for () {
fn register_round0_package() -> Weight {
Default::default()
}
fn register_round1_package(_package_len: u32) -> Weight {
Default::default()
}
fn register_encrypted_round2_packages(_packages: u32,) -> Weight {
Default::default()
}
fn register_round3_complaints(_indices: u32) -> Weight {
Default::default()
}
fn register_round4_justifications(_packages: u32) -> Weight {
Default::default()
}
fn register_round5_verifying_package() -> Weight {
Default::default()
}
fn register_round6_public_share_package(_packages: u32) -> Weight {
Default::default()
}
fn register_nonce_commitment() -> Weight {
Default::default()
}
fn register_group_commitment() -> Weight {
Default::default()
}
fn register_signature_share() -> Weight {
Default::default()
}
fn register_evm_bridge_out_exodus() -> Weight {
Default::default()
}
/// Storage: `GhostNetworks::NetworkCurves` (r:1 w:0)
/// Proof: `GhostNetworks::NetworkCurves` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationDkgState` (r:1 w:1)
/// Proof: `GhostExodus::QualificationDkgState` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationAuthorities` (r:1 w:0)
/// Proof: `GhostExodus::QualificationAuthorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusActivity` (r:1 w:1)
/// Proof: `GhostExodus::ExodusActivity` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::Round0Packages` (r:0 w:1)
/// Proof: `GhostExodus::Round0Packages` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn register_round0_package() -> Weight {
// Proof Size summary in bytes:
// Measured: `351`
// Estimated: `3816`
// Minimum execution time: 239_348_000 picoseconds.
Weight::from_parts(241_125_000, 0)
.saturating_add(Weight::from_parts(0, 3816))
.saturating_add(RocksDbWeight::get().reads(4))
.saturating_add(RocksDbWeight::get().writes(3))
}
/// Storage: `GhostNetworks::NetworkCurves` (r:1 w:0)
/// Proof: `GhostNetworks::NetworkCurves` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationDkgState` (r:1 w:0)
/// Proof: `GhostExodus::QualificationDkgState` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationAuthorities` (r:1 w:0)
/// Proof: `GhostExodus::QualificationAuthorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusActivity` (r:1 w:1)
/// Proof: `GhostExodus::ExodusActivity` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::Round0Packages` (r:1 w:0)
/// Proof: `GhostExodus::Round0Packages` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::Round1Packages` (r:1 w:1)
/// Proof: `GhostExodus::Round1Packages` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// The range of component `c` is `[4, 300]`.
fn register_round1_package(c: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `391 + c * (32 ±0)`
// Estimated: `3856 + c * (32 ±0)`
// Minimum execution time: 1_372_279_000 picoseconds.
Weight::from_parts(1_268_130_469, 0)
.saturating_add(Weight::from_parts(0, 3856))
// Standard Error: 17_178
.saturating_add(Weight::from_parts(32_976_202, 0).saturating_mul(c.into()))
.saturating_add(RocksDbWeight::get().reads(6))
.saturating_add(RocksDbWeight::get().writes(2))
.saturating_add(Weight::from_parts(0, 32).saturating_mul(c.into()))
}
/// Storage: `GhostNetworks::NetworkCurves` (r:1 w:0)
/// Proof: `GhostNetworks::NetworkCurves` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationDkgState` (r:1 w:0)
/// Proof: `GhostExodus::QualificationDkgState` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationAuthorities` (r:1 w:0)
/// Proof: `GhostExodus::QualificationAuthorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusActivity` (r:1 w:1)
/// Proof: `GhostExodus::ExodusActivity` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::Round2Packages` (r:1 w:1)
/// Proof: `GhostExodus::Round2Packages` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// The range of component `c` is `[1, 37]`.
fn register_encrypted_round2_packages(c: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `317 + c * (257 ±0)`
// Estimated: `3783 + c * (257 ±0)`
// Minimum execution time: 253_301_000 picoseconds.
Weight::from_parts(255_449_282, 0)
.saturating_add(Weight::from_parts(0, 3783))
// Standard Error: 25_029
.saturating_add(Weight::from_parts(6_615_251, 0).saturating_mul(c.into()))
.saturating_add(RocksDbWeight::get().reads(5))
.saturating_add(RocksDbWeight::get().writes(2))
.saturating_add(Weight::from_parts(0, 257).saturating_mul(c.into()))
}
/// Storage: `GhostNetworks::NetworkCurves` (r:1 w:0)
/// Proof: `GhostNetworks::NetworkCurves` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationDkgState` (r:1 w:0)
/// Proof: `GhostExodus::QualificationDkgState` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationAuthorities` (r:1 w:0)
/// Proof: `GhostExodus::QualificationAuthorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusActivity` (r:1 w:1)
/// Proof: `GhostExodus::ExodusActivity` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::Complaints` (r:1 w:1)
/// Proof: `GhostExodus::Complaints` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// The range of component `c` is `[1, 37]`.
fn register_round3_complaints(c: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `317 + c * (257 ±0)`
// Estimated: `3783 + c * (257 ±0)`
// Minimum execution time: 238_882_000 picoseconds.
Weight::from_parts(242_930_556, 0)
.saturating_add(Weight::from_parts(0, 3783))
// Standard Error: 13_070
.saturating_add(Weight::from_parts(426_492, 0).saturating_mul(c.into()))
.saturating_add(RocksDbWeight::get().reads(5))
.saturating_add(RocksDbWeight::get().writes(2))
.saturating_add(Weight::from_parts(0, 257).saturating_mul(c.into()))
}
/// Storage: `GhostNetworks::NetworkCurves` (r:1 w:0)
/// Proof: `GhostNetworks::NetworkCurves` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationDkgState` (r:1 w:0)
/// Proof: `GhostExodus::QualificationDkgState` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationAuthorities` (r:1 w:0)
/// Proof: `GhostExodus::QualificationAuthorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusActivity` (r:1 w:1)
/// Proof: `GhostExodus::ExodusActivity` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::Justifications` (r:1 w:1)
/// Proof: `GhostExodus::Justifications` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// The range of component `c` is `[1, 37]`.
fn register_round4_justifications(c: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `317 + c * (257 ±0)`
// Estimated: `3783 + c * (257 ±0)`
// Minimum execution time: 250_894_000 picoseconds.
Weight::from_parts(252_272_982, 0)
.saturating_add(Weight::from_parts(0, 3783))
// Standard Error: 17_703
.saturating_add(Weight::from_parts(4_110_522, 0).saturating_mul(c.into()))
.saturating_add(RocksDbWeight::get().reads(5))
.saturating_add(RocksDbWeight::get().writes(2))
.saturating_add(Weight::from_parts(0, 257).saturating_mul(c.into()))
}
/// Storage: `GhostNetworks::NetworkCurves` (r:1 w:0)
/// Proof: `GhostNetworks::NetworkCurves` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationDkgState` (r:1 w:0)
/// Proof: `GhostExodus::QualificationDkgState` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationAuthorities` (r:1 w:0)
/// Proof: `GhostExodus::QualificationAuthorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusActivity` (r:1 w:1)
/// Proof: `GhostExodus::ExodusActivity` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::Verifications` (r:1 w:1)
/// Proof: `GhostExodus::Verifications` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::VerifyingKeyConsensus` (r:1 w:1)
/// Proof: `GhostExodus::VerifyingKeyConsensus` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn register_round5_verifying_package() -> Weight {
// Proof Size summary in bytes:
// Measured: `448`
// Estimated: `3913`
// Minimum execution time: 265_392_000 picoseconds.
Weight::from_parts(268_799_000, 0)
.saturating_add(Weight::from_parts(0, 3913))
.saturating_add(RocksDbWeight::get().reads(6))
.saturating_add(RocksDbWeight::get().writes(3))
}
/// Storage: `GhostNetworks::NetworkCurves` (r:1 w:0)
/// Proof: `GhostNetworks::NetworkCurves` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationDkgState` (r:1 w:0)
/// Proof: `GhostExodus::QualificationDkgState` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationAuthorities` (r:1 w:0)
/// Proof: `GhostExodus::QualificationAuthorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusActivity` (r:1 w:1)
/// Proof: `GhostExodus::ExodusActivity` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::VerifyingKeyConsensus` (r:1 w:0)
/// Proof: `GhostExodus::VerifyingKeyConsensus` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::VerifyingShares` (r:1 w:1)
/// Proof: `GhostExodus::VerifyingShares` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::VerifyingSharesParticipants` (r:1 w:1)
/// Proof: `GhostExodus::VerifyingSharesParticipants` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// The range of component `c` is `[1, 9]`.
fn register_round6_public_share_package(c: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `0 + c * (770 ±0)`
// Estimated: `1551 + c * (1019 ±27)`
// Minimum execution time: 282_654_000 picoseconds.
Weight::from_parts(286_257_905, 0)
.saturating_add(Weight::from_parts(0, 1551))
// Standard Error: 92_951
.saturating_add(Weight::from_parts(2_838_516, 0).saturating_mul(c.into()))
.saturating_add(RocksDbWeight::get().reads(7))
.saturating_add(RocksDbWeight::get().writes(3))
.saturating_add(Weight::from_parts(0, 1019).saturating_mul(c.into()))
}
/// Storage: `GhostNetworks::NetworkCurves` (r:1 w:0)
/// Proof: `GhostNetworks::NetworkCurves` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationDkgState` (r:1 w:0)
/// Proof: `GhostExodus::QualificationDkgState` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ActiveDkgAuthorities` (r:1 w:0)
/// Proof: `GhostExodus::ActiveDkgAuthorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ActiveAuthorities` (r:1 w:0)
/// Proof: `GhostExodus::ActiveAuthorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusRequests` (r:1 w:1)
/// Proof: `GhostExodus::ExodusRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::RoastSessions` (r:1 w:1)
/// Proof: `GhostExodus::RoastSessions` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusActivity` (r:1 w:1)
/// Proof: `GhostExodus::ExodusActivity` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::RoastSessionStates` (r:1 w:1)
/// Proof: `GhostExodus::RoastSessionStates` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::NonceCommitments` (r:0 w:1)
/// Proof: `GhostExodus::NonceCommitments` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn register_nonce_commitment() -> Weight {
// Proof Size summary in bytes:
// Measured: `588`
// Estimated: `4053`
// Minimum execution time: 296_169_000 picoseconds.
Weight::from_parts(298_267_000, 0)
.saturating_add(Weight::from_parts(0, 4053))
.saturating_add(RocksDbWeight::get().reads(8))
.saturating_add(RocksDbWeight::get().writes(5))
}
/// Storage: `GhostNetworks::NetworkCurves` (r:1 w:0)
/// Proof: `GhostNetworks::NetworkCurves` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationDkgState` (r:1 w:0)
/// Proof: `GhostExodus::QualificationDkgState` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ActiveDkgAuthorities` (r:1 w:0)
/// Proof: `GhostExodus::ActiveDkgAuthorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ActiveAuthorities` (r:1 w:0)
/// Proof: `GhostExodus::ActiveAuthorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::RoastSessions` (r:1 w:0)
/// Proof: `GhostExodus::RoastSessions` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusActivity` (r:1 w:1)
/// Proof: `GhostExodus::ExodusActivity` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusRequests` (r:1 w:0)
/// Proof: `GhostExodus::ExodusRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::GroupCommitters` (r:1 w:1)
/// Proof: `GhostExodus::GroupCommitters` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::RoastSessionStates` (r:1 w:1)
/// Proof: `GhostExodus::RoastSessionStates` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::GroupCommitmentsConsensus` (r:1 w:1)
/// Proof: `GhostExodus::GroupCommitmentsConsensus` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn register_group_commitment() -> Weight {
// Proof Size summary in bytes:
// Measured: `968`
// Estimated: `4433`
// Minimum execution time: 332_972_000 picoseconds.
Weight::from_parts(336_569_000, 0)
.saturating_add(Weight::from_parts(0, 4433))
.saturating_add(RocksDbWeight::get().reads(10))
.saturating_add(RocksDbWeight::get().writes(4))
}
/// Storage: `GhostNetworks::NetworkCurves` (r:1 w:0)
/// Proof: `GhostNetworks::NetworkCurves` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationDkgState` (r:1 w:0)
/// Proof: `GhostExodus::QualificationDkgState` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ActiveDkgAuthorities` (r:1 w:0)
/// Proof: `GhostExodus::ActiveDkgAuthorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ActiveAuthorities` (r:1 w:0)
/// Proof: `GhostExodus::ActiveAuthorities` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::RoastSessions` (r:1 w:1)
/// Proof: `GhostExodus::RoastSessions` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusActivity` (r:1 w:1)
/// Proof: `GhostExodus::ExodusActivity` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::GroupCommitmentsConsensus` (r:1 w:1)
/// Proof: `GhostExodus::GroupCommitmentsConsensus` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusRequests` (r:1 w:1)
/// Proof: `GhostExodus::ExodusRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusSignedGovernance` (r:1 w:1)
/// Proof: `GhostExodus::ExodusSignedGovernance` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::RoastSessionStates` (r:1 w:1)
/// Proof: `GhostExodus::RoastSessionStates` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::NonceCommitments` (r:1 w:0)
/// Proof: `GhostExodus::NonceCommitments` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::VerifyingShares` (r:1 w:0)
/// Proof: `GhostExodus::VerifyingShares` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ActiveVerifyingKey` (r:1 w:0)
/// Proof: `GhostExodus::ActiveVerifyingKey` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::SignatureScalars` (r:1 w:1)
/// Proof: `GhostExodus::SignatureScalars` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::GroupCommitters` (r:0 w:1)
/// Proof: `GhostExodus::GroupCommitters` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn register_signature_share() -> Weight {
// Proof Size summary in bytes:
// Measured: `11259`
// Estimated: `14724`
// Minimum execution time: 3_842_259_000 picoseconds.
Weight::from_parts(3_853_670_000, 0)
.saturating_add(Weight::from_parts(0, 14724))
.saturating_add(RocksDbWeight::get().reads(14))
.saturating_add(RocksDbWeight::get().writes(8))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:0)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::GatekeeperAmounts` (r:1 w:1)
/// Proof: `GhostNetworks::GatekeeperAmounts` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::NetworkImbalance` (r:1 w:1)
/// Proof: `GhostNetworks::NetworkImbalance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationDkgState` (r:1 w:0)
/// Proof: `GhostExodus::QualificationDkgState` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::CurrentExodus` (r:1 w:1)
/// Proof: `GhostExodus::CurrentExodus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusRequests` (r:0 w:1)
/// Proof: `GhostExodus::ExodusRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn register_evm_bridge_out_exodus() -> Weight {
// Proof Size summary in bytes:
// Measured: `447`
// Estimated: `3912`
// Minimum execution time: 138_303_000 picoseconds.
Weight::from_parts(139_968_000, 0)
.saturating_add(Weight::from_parts(0, 3912))
.saturating_add(RocksDbWeight::get().reads(5))
.saturating_add(RocksDbWeight::get().writes(4))
}
}

View File

@ -1,6 +1,6 @@
[package]
name = "ghost-governance"
version = "0.3.4"
version = "0.3.5"
description = "Full-chain and cross-chain governance pallet with early adopter share claims"
license.workspace = true
authors.workspace = true

View File

@ -16,7 +16,7 @@
//! Autogenerated weights for `ghost_governance`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2026-09-02, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2026-09-05, 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
@ -65,11 +65,11 @@ impl WeightInfo for () {
// Proof Size summary in bytes:
// Measured: `283`
// Estimated: `3748`
// Minimum execution time: 216_452_000 picoseconds.
Weight::from_parts(217_152_474, 0)
// Minimum execution time: 216_605_000 picoseconds.
Weight::from_parts(217_612_486, 0)
.saturating_add(Weight::from_parts(0, 3748))
// Standard Error: 17_182
.saturating_add(Weight::from_parts(1_614_265, 0).saturating_mul(p.into()))
// Standard Error: 23_409
.saturating_add(Weight::from_parts(1_544_250, 0).saturating_mul(p.into()))
.saturating_add(RocksDbWeight::get().reads(4))
.saturating_add(RocksDbWeight::get().writes(4))
}

View File

@ -1,6 +1,6 @@
[package]
name = "ghost-weaver"
version = "0.0.3"
version = "0.0.4"
description = "Weaving a secure cryptographic tapestry across different external chains."
license.workspace = true
authors.workspace = true

View File

@ -16,7 +16,7 @@
//! Autogenerated weights for `ghost_weaver`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2026-09-02, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2026-09-05, 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
@ -69,11 +69,11 @@ impl WeightInfo for () {
// Proof Size summary in bytes:
// Measured: `223 + a * (32 ±0)`
// Estimated: `3687 + a * (32 ±0)`
// Minimum execution time: 215_336_000 picoseconds.
Weight::from_parts(218_119_120, 0)
// Minimum execution time: 209_842_000 picoseconds.
Weight::from_parts(214_884_530, 0)
.saturating_add(Weight::from_parts(0, 3687))
// Standard Error: 1_412
.saturating_add(Weight::from_parts(47_848, 0).saturating_mul(a.into()))
// Standard Error: 1_520
.saturating_add(Weight::from_parts(45_535, 0).saturating_mul(a.into()))
.saturating_add(RocksDbWeight::get().reads(5))
.saturating_add(RocksDbWeight::get().writes(1))
.saturating_add(Weight::from_parts(0, 32).saturating_mul(a.into()))
@ -95,11 +95,11 @@ impl WeightInfo for () {
// Proof Size summary in bytes:
// Measured: `518 + a * (32 ±0)`
// Estimated: `3982 + a * (32 ±0)`
// Minimum execution time: 244_811_000 picoseconds.
Weight::from_parts(250_046_200, 0)
// Minimum execution time: 241_362_000 picoseconds.
Weight::from_parts(244_695_658, 0)
.saturating_add(Weight::from_parts(0, 3982))
// Standard Error: 1_958
.saturating_add(Weight::from_parts(26_347, 0).saturating_mul(a.into()))
// Standard Error: 1_644
.saturating_add(Weight::from_parts(30_947, 0).saturating_mul(a.into()))
.saturating_add(RocksDbWeight::get().reads(6))
.saturating_add(RocksDbWeight::get().writes(2))
.saturating_add(Weight::from_parts(0, 32).saturating_mul(a.into()))
@ -116,14 +116,15 @@ impl WeightInfo for () {
/// Proof: `GhostNetworks::NetworkImbalance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `System::Account` (r:1 w:0)
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
/// The range of component `a` is `[1, 300]`.
fn pull_utxo_thread(_a: u32, ) -> Weight {
/// The range of component `a` is `[1, 144]`.
fn pull_utxo_thread(a: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `358`
// Estimated: `3823`
// Minimum execution time: 650_006_000 picoseconds.
Weight::from_parts(663_001_690, 0)
.saturating_add(Weight::from_parts(0, 3823))
// Minimum execution time: 174_434_000 picoseconds.
Weight::from_parts(173_218_259, 0)
// Standard Error: 4_108
.saturating_add(Weight::from_parts(3_390_809, 0).saturating_mul(a.into()))
.saturating_add(RocksDbWeight::get().reads(6))
.saturating_add(RocksDbWeight::get().writes(3))
}
@ -143,8 +144,8 @@ impl WeightInfo for () {
// Proof Size summary in bytes:
// Measured: `358`
// Estimated: `3823`
// Minimum execution time: 138_199_000 picoseconds.
Weight::from_parts(162_645_000, 0)
// Minimum execution time: 131_682_000 picoseconds.
Weight::from_parts(132_731_000, 0)
.saturating_add(Weight::from_parts(0, 3823))
.saturating_add(RocksDbWeight::get().reads(6))
.saturating_add(RocksDbWeight::get().writes(3))

View File

@ -1,11 +1,11 @@
[
{
"metric": "Blake2256",
"minimum": 257.00
"minimum": 310.00
},
{
"metric": "Sr25519Verify",
"minimum": 0.145339297
"minimum": 0.225267591
},
{
"metric": "MemCopy",
@ -13,10 +13,10 @@
},
{
"metric": "DiskSeqWrite",
"minimum": 950.00
"minimum": 3600.00
},
{
"metric": "DiskRndWrite",
"minimum": 420.00
"minimum": 880.00
}
]

View File

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

View File

@ -1,7 +1,7 @@
use pallet_staking::Forcing;
use sp_staking::StakerStatus;
use casper_runtime_constants::currency::CSPR;
use casper_runtime_constants::currency::{STRH, STNK, CSPR};
use primitives::{AccountId, AccountPublic};
use authority_discovery_primitives::AuthorityId as AuthorityDiscoveryId;
@ -180,18 +180,16 @@ fn get_authority_keys_from_seed(
fn casper_staging_initial_authorities() -> Vec<AuthorityInitiation> {
vec![
// sfFXZmnDVnkQ781J2gbqUpi7K5KgMWMdM4eeii74xxGgKYnNN
// sfErNwRgZ6ypB7wY8M2smXMZjxqUkc2TgUcNvC1JNQJFXS8bw
AuthorityInitiationBuilder::default()
.with_stash(AccountId::new(hex!("507045c82be367f95408466cd054ca39bfa52697a3ef22809af14cf9de304f02")))
.with_account(AccountId::new(hex!("507045c82be367f95408466cd054ca39bfa52697a3ef22809af14cf9de304f02")))
.with_babe_id(BabeId::unchecked_from(hex!("daaaaab6a6e574099e24ae9bb75b543610edef9d374fa85a378edb573b47615f")))
.with_grandpa_id(GrandpaId::unchecked_from(hex!("55446f9a7aa99ced06b317c80ce90d56b84e56526775683af2525969e8da0b64")))
.with_authority_id(AuthorityDiscoveryId::unchecked_from(hex!("12c14850562021eb99f58f90ab624fb6cfaf3ac9228a92f8b60115fe6a6af15a")))
.with_weaver_id(WeaverId::unchecked_from(hex!("0e9e698c7b2bf5ce3861cb4bc4ddf9e200237c282025b093ada850d764d12a35")))
.with_exodus_id(ExodusId::unchecked_from(hex!("0e9e698c7b2bf5ce3861cb4bc4ddf9e200237c282025b093ada850d764d12a35")))
.build(),
// TODO: revisit
.with_stash(AccountId::new(hex!("507045c82be367f95408466cd054ca39bfa52697a3ef22809af14cf9de304f02")))
.with_account(AccountId::new(hex!("328d3b7c3046ef7700937d99fb2e98ce2591682c2b5dcf3f562e4da157650237")))
.with_babe_id(BabeId::unchecked_from(hex!("daaaaab6a6e574099e24ae9bb75b543610edef9d374fa85a378edb573b47615f")))
.with_grandpa_id(GrandpaId::unchecked_from(hex!("55446f9a7aa99ced06b317c80ce90d56b84e56526775683af2525969e8da0b64")))
.with_authority_id(AuthorityDiscoveryId::unchecked_from(hex!("12c14850562021eb99f58f90ab624fb6cfaf3ac9228a92f8b60115fe6a6af15a")))
.with_weaver_id(WeaverId::unchecked_from(hex!("681cbbab1f95d0ee4183a8c60081380b59920e1a9189d872c8fc8b38dcdd020b")))
.with_exodus_id(ExodusId::unchecked_from(hex!("7277c176a3eb110ea2e259d09994c1bce303ca028b8daccc5b10d8d8f1baea40")))
.build(),
]
}
@ -259,10 +257,10 @@ pub fn testnet_config_genesis(
.collect::<Vec<_>>(),
},
"staking": {
// "minNominatorBond": 42 * CSPR,
// "minValidatorBond": 6900 * STRH,
// "maxNominatorsCount": 3000u32,
// "maxValidatorsCount": 500u32,
"minNominatorBond": 42 * CSPR,
"minValidatorBond": 6900 * STRH,
"maxNominatorCount": 3000u32,
"maxValidatorCount": 500u32,
"minimumValidatorCount": if cfg!(feature = "runtime-benchmarks") {
1u32
@ -270,9 +268,9 @@ pub fn testnet_config_genesis(
4u32
},
// "validatorCount": 50u32,
"validatorCount": 37u32,
"forceEra": Forcing::NotForcing,
// "slashRewardFraction": Perbill::from_percent(10),
"slashRewardFraction": Perbill::from_percent(80),
"stakers": initial_authorities
.iter()
.map(|x| (
@ -284,14 +282,14 @@ pub fn testnet_config_genesis(
.collect::<Vec<_>>(),
},
"babe": { "epochConfig": Some(crate::BABE_GENESIS_EPOCH_CONFIG) },
// "ghostNominationPools": {
// "minJoinBond": 10 * STNK,
// "minCreateBond": 20 * CSPR,
// "maxPools": 256u32,
// "maxMembersPerPool": 1024u32,
// "maxMembers": 20000u32,
// "globalMaxCommission": Perbill::from_percent(15),
// },
"ghostNominationPools": {
"minJoinBond": 10 * STNK,
"minCreateBond": 50 * CSPR,
"maxPools": 256u32,
"maxMembersPerPool": 1024u32,
"maxMembers": 20000u32,
"globalMaxCommission": Perbill::from_percent(15),
},
"ghostSudo": { "key": sudo },
"ghostNetworks": { "networks": initial_networks },
"ghostGovernance": { "networkClaims": initial_claims },

View File

@ -508,7 +508,7 @@ impl pallet_staking::Config for Runtime {
type HistoryDepth = StakingHistoryDepth;
type MaxControllersInDeprecationBatch = ConstU32<5314>;
type BenchmarkingConfig = runtime_common::StakingBenchmarkingConfig;
type EventListeners = NominationPools;
type EventListeners = GhostNominationPools;
type WeightInfo = weights::pallet_staking::WeightInfo<Runtime>;
}
@ -810,7 +810,7 @@ impl InstanceFilter<RuntimeCall> for ProxyType {
),
ProxyType::NominationPools => matches!(
c,
RuntimeCall::NominationPools { .. } | RuntimeCall::Utility { .. }
RuntimeCall::GhostNominationPools { .. } | RuntimeCall::Utility { .. }
),
}
}
@ -860,7 +860,7 @@ impl ghost_nomination_pools::Config for Runtime {
type PalletId = PoolsPalletId;
type MaxPointsToBalance = MaxPointsToBalance;
type AdminOrigin = EnsureRoot<Self::AccountId>;
type WeightInfo = (); // TODO: weights::ghost_nomination_pools::WeightInfo<Runtime>;
type WeightInfo = weights::ghost_nomination_pools::WeightInfo<Runtime>;
}
impl ghost_networks::Config for Runtime {
@ -873,7 +873,7 @@ impl ghost_networks::Config for Runtime {
type UpdateOrigin = EnsureRoot<Self::AccountId>;
type RemoveOrigin = EnsureRoot<Self::AccountId>;
type WeightInfo = ();
type WeightInfo = weights::ghost_networks::WeightInfo<Runtime>;
}
parameter_types! {
@ -889,7 +889,7 @@ impl ghost_governance::Config for Runtime {
type MinimumDonation = ConstU128<{ 6_900 * STRH }>;
type MaxProofDepth = ConstU32<20>;
type WeightInfo = ();
type WeightInfo = weights::ghost_governance::WeightInfo<Runtime>;
}
impl ghost_sudo::Config for Runtime {
@ -930,7 +930,7 @@ impl ghost_weaver::Config for Runtime {
type AttestationDelay = AttestationDelay;
type UnsignedPriority = WeaverUnsignedPriority;
type WeightInfo = ();
type WeightInfo = weights::ghost_weaver::WeightInfo<Runtime>;
}
impl ghost_exodus::Config for Runtime {
@ -952,7 +952,7 @@ impl ghost_exodus::Config for Runtime {
type RemovalLimit = ExodusRemovalLimit;
type MaxCursorLen = ExodusMaxCursorLen;
type WeightInfo = ();
type WeightInfo = weights::ghost_exodus::WeightInfo<Runtime>;
}
construct_runtime! {
@ -995,7 +995,7 @@ construct_runtime! {
// Provides a semi-sorted list of nominators for staking.
VoterList: pallet_bags_list::<Instance1> = 33,
NominationPools: ghost_nomination_pools = 34,
GhostNominationPools: ghost_nomination_pools = 34,
// Ghosts stuff. Start indicies at 50 to leave room.
GhostNetworks: ghost_networks = 50,
@ -1141,15 +1141,15 @@ sp_api::impl_runtime_apis! {
Balance,
> for Runtime {
fn pending_rewards(member: AccountId) -> Balance {
NominationPools::api_pending_rewards(member).unwrap_or_default()
GhostNominationPools::api_pending_rewards(member).unwrap_or_default()
}
fn points_to_balance(pool_id: ghost_nomination_pools::PoolId, points: Balance) -> Balance {
NominationPools::api_points_to_balance(pool_id, points)
GhostNominationPools::api_points_to_balance(pool_id, points)
}
fn balance_to_points(pool_id: ghost_nomination_pools::PoolId, new_funds: Balance) -> Balance {
NominationPools::api_balance_to_points(pool_id, new_funds)
GhostNominationPools::api_balance_to_points(pool_id, new_funds)
}
}

View File

@ -16,7 +16,7 @@
//! Autogenerated weights for `ghost_exodus`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2026-09-02, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2026-09-05, 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,8 +60,8 @@ impl<T: frame_system::Config> ghost_exodus::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `351`
// Estimated: `3816`
// Minimum execution time: 242_659_000 picoseconds.
Weight::from_parts(245_035_000, 0)
// Minimum execution time: 239_348_000 picoseconds.
Weight::from_parts(241_125_000, 0)
.saturating_add(Weight::from_parts(0, 3816))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(3))
@ -83,11 +83,11 @@ impl<T: frame_system::Config> ghost_exodus::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `391 + c * (32 ±0)`
// Estimated: `3856 + c * (32 ±0)`
// Minimum execution time: 1_386_041_000 picoseconds.
Weight::from_parts(1_278_057_546, 0)
// Minimum execution time: 1_372_279_000 picoseconds.
Weight::from_parts(1_268_130_469, 0)
.saturating_add(Weight::from_parts(0, 3856))
// Standard Error: 21_926
.saturating_add(Weight::from_parts(32_899_480, 0).saturating_mul(c.into()))
// Standard Error: 17_178
.saturating_add(Weight::from_parts(32_976_202, 0).saturating_mul(c.into()))
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
.saturating_add(Weight::from_parts(0, 32).saturating_mul(c.into()))
@ -107,11 +107,11 @@ impl<T: frame_system::Config> ghost_exodus::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `317 + c * (257 ±0)`
// Estimated: `3783 + c * (257 ±0)`
// Minimum execution time: 258_583_000 picoseconds.
Weight::from_parts(261_056_370, 0)
// Minimum execution time: 253_301_000 picoseconds.
Weight::from_parts(255_449_282, 0)
.saturating_add(Weight::from_parts(0, 3783))
// Standard Error: 24_642
.saturating_add(Weight::from_parts(6_610_853, 0).saturating_mul(c.into()))
// Standard Error: 25_029
.saturating_add(Weight::from_parts(6_615_251, 0).saturating_mul(c.into()))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(2))
.saturating_add(Weight::from_parts(0, 257).saturating_mul(c.into()))
@ -131,11 +131,11 @@ impl<T: frame_system::Config> ghost_exodus::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `317 + c * (257 ±0)`
// Estimated: `3783 + c * (257 ±0)`
// Minimum execution time: 243_338_000 picoseconds.
Weight::from_parts(247_264_694, 0)
// Minimum execution time: 238_882_000 picoseconds.
Weight::from_parts(242_930_556, 0)
.saturating_add(Weight::from_parts(0, 3783))
// Standard Error: 13_513
.saturating_add(Weight::from_parts(429_554, 0).saturating_mul(c.into()))
// Standard Error: 13_070
.saturating_add(Weight::from_parts(426_492, 0).saturating_mul(c.into()))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(2))
.saturating_add(Weight::from_parts(0, 257).saturating_mul(c.into()))
@ -155,11 +155,11 @@ impl<T: frame_system::Config> ghost_exodus::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `317 + c * (257 ±0)`
// Estimated: `3783 + c * (257 ±0)`
// Minimum execution time: 254_121_000 picoseconds.
Weight::from_parts(255_457_326, 0)
// Minimum execution time: 250_894_000 picoseconds.
Weight::from_parts(252_272_982, 0)
.saturating_add(Weight::from_parts(0, 3783))
// Standard Error: 19_314
.saturating_add(Weight::from_parts(4_177_481, 0).saturating_mul(c.into()))
// Standard Error: 17_703
.saturating_add(Weight::from_parts(4_110_522, 0).saturating_mul(c.into()))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(2))
.saturating_add(Weight::from_parts(0, 257).saturating_mul(c.into()))
@ -180,8 +180,8 @@ impl<T: frame_system::Config> ghost_exodus::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `448`
// Estimated: `3913`
// Minimum execution time: 269_749_000 picoseconds.
Weight::from_parts(272_870_000, 0)
// Minimum execution time: 265_392_000 picoseconds.
Weight::from_parts(268_799_000, 0)
.saturating_add(Weight::from_parts(0, 3913))
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(3))
@ -205,11 +205,11 @@ impl<T: frame_system::Config> ghost_exodus::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0 + c * (770 ±0)`
// Estimated: `1551 + c * (1019 ±27)`
// Minimum execution time: 287_511_000 picoseconds.
Weight::from_parts(289_294_964, 0)
// Minimum execution time: 282_654_000 picoseconds.
Weight::from_parts(286_257_905, 0)
.saturating_add(Weight::from_parts(0, 1551))
// Standard Error: 87_193
.saturating_add(Weight::from_parts(3_008_267, 0).saturating_mul(c.into()))
// Standard Error: 92_951
.saturating_add(Weight::from_parts(2_838_516, 0).saturating_mul(c.into()))
.saturating_add(T::DbWeight::get().reads(7))
.saturating_add(T::DbWeight::get().writes(3))
.saturating_add(Weight::from_parts(0, 1019).saturating_mul(c.into()))
@ -234,11 +234,11 @@ impl<T: frame_system::Config> ghost_exodus::WeightInfo for WeightInfo<T> {
/// Proof: `GhostExodus::NonceCommitments` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn register_nonce_commitment() -> Weight {
// Proof Size summary in bytes:
// Measured: `481`
// Estimated: `3946`
// Minimum execution time: 300_309_000 picoseconds.
Weight::from_parts(308_158_000, 0)
.saturating_add(Weight::from_parts(0, 3946))
// Measured: `588`
// Estimated: `4053`
// Minimum execution time: 296_169_000 picoseconds.
Weight::from_parts(298_267_000, 0)
.saturating_add(Weight::from_parts(0, 4053))
.saturating_add(T::DbWeight::get().reads(8))
.saturating_add(T::DbWeight::get().writes(5))
}
@ -266,8 +266,8 @@ impl<T: frame_system::Config> ghost_exodus::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `968`
// Estimated: `4433`
// Minimum execution time: 339_169_000 picoseconds.
Weight::from_parts(342_236_000, 0)
// Minimum execution time: 332_972_000 picoseconds.
Weight::from_parts(336_569_000, 0)
.saturating_add(Weight::from_parts(0, 4433))
.saturating_add(T::DbWeight::get().reads(10))
.saturating_add(T::DbWeight::get().writes(4))
@ -288,8 +288,8 @@ impl<T: frame_system::Config> ghost_exodus::WeightInfo for WeightInfo<T> {
/// Proof: `GhostExodus::GroupCommitmentsConsensus` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusRequests` (r:1 w:1)
/// Proof: `GhostExodus::ExodusRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusSignedRotations` (r:1 w:1)
/// Proof: `GhostExodus::ExodusSignedRotations` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusSignedGovernance` (r:1 w:1)
/// Proof: `GhostExodus::ExodusSignedGovernance` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::RoastSessionStates` (r:1 w:1)
/// Proof: `GhostExodus::RoastSessionStates` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::NonceCommitments` (r:1 w:0)
@ -304,12 +304,34 @@ impl<T: frame_system::Config> ghost_exodus::WeightInfo for WeightInfo<T> {
/// Proof: `GhostExodus::GroupCommitters` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn register_signature_share() -> Weight {
// Proof Size summary in bytes:
// Measured: `11152`
// Estimated: `14617`
// Minimum execution time: 3_861_608_000 picoseconds.
Weight::from_parts(3_871_495_000, 0)
.saturating_add(Weight::from_parts(0, 14617))
// Measured: `11259`
// Estimated: `14724`
// Minimum execution time: 3_842_259_000 picoseconds.
Weight::from_parts(3_853_670_000, 0)
.saturating_add(Weight::from_parts(0, 14724))
.saturating_add(T::DbWeight::get().reads(14))
.saturating_add(T::DbWeight::get().writes(8))
}
/// Storage: `GhostNetworks::Networks` (r:1 w:0)
/// Proof: `GhostNetworks::Networks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::GatekeeperAmounts` (r:1 w:1)
/// Proof: `GhostNetworks::GatekeeperAmounts` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostNetworks::NetworkImbalance` (r:1 w:1)
/// Proof: `GhostNetworks::NetworkImbalance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::QualificationDkgState` (r:1 w:0)
/// Proof: `GhostExodus::QualificationDkgState` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::CurrentExodus` (r:1 w:1)
/// Proof: `GhostExodus::CurrentExodus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `GhostExodus::ExodusRequests` (r:0 w:1)
/// Proof: `GhostExodus::ExodusRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn register_evm_bridge_out_exodus() -> Weight {
// Proof Size summary in bytes:
// Measured: `447`
// Estimated: `3912`
// Minimum execution time: 138_303_000 picoseconds.
Weight::from_parts(139_968_000, 0)
.saturating_add(Weight::from_parts(0, 3912))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(4))
}
}

View File

@ -16,7 +16,7 @@
//! Autogenerated weights for `ghost_governance`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2026-09-02, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2026-09-05, 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> ghost_governance::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `283`
// Estimated: `3748`
// Minimum execution time: 216_452_000 picoseconds.
Weight::from_parts(217_152_474, 0)
// Minimum execution time: 216_605_000 picoseconds.
Weight::from_parts(217_612_486, 0)
.saturating_add(Weight::from_parts(0, 3748))
// Standard Error: 17_182
.saturating_add(Weight::from_parts(1_614_265, 0).saturating_mul(p.into()))
// Standard Error: 23_409
.saturating_add(Weight::from_parts(1_544_250, 0).saturating_mul(p.into()))
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(4))
}

View File

@ -16,7 +16,7 @@
//! Autogenerated weights for `ghost_weaver`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2026-09-02, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2026-09-05, 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,11 +61,11 @@ impl<T: frame_system::Config> ghost_weaver::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `223 + a * (32 ±0)`
// Estimated: `3687 + a * (32 ±0)`
// Minimum execution time: 215_336_000 picoseconds.
Weight::from_parts(218_119_120, 0)
// Minimum execution time: 209_842_000 picoseconds.
Weight::from_parts(214_884_530, 0)
.saturating_add(Weight::from_parts(0, 3687))
// Standard Error: 1_412
.saturating_add(Weight::from_parts(47_848, 0).saturating_mul(a.into()))
// Standard Error: 1_520
.saturating_add(Weight::from_parts(45_535, 0).saturating_mul(a.into()))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(1))
.saturating_add(Weight::from_parts(0, 32).saturating_mul(a.into()))
@ -87,11 +87,11 @@ impl<T: frame_system::Config> ghost_weaver::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `518 + a * (32 ±0)`
// Estimated: `3982 + a * (32 ±0)`
// Minimum execution time: 244_811_000 picoseconds.
Weight::from_parts(250_046_200, 0)
// Minimum execution time: 241_362_000 picoseconds.
Weight::from_parts(244_695_658, 0)
.saturating_add(Weight::from_parts(0, 3982))
// Standard Error: 1_958
.saturating_add(Weight::from_parts(26_347, 0).saturating_mul(a.into()))
// Standard Error: 1_644
.saturating_add(Weight::from_parts(30_947, 0).saturating_mul(a.into()))
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(2))
.saturating_add(Weight::from_parts(0, 32).saturating_mul(a.into()))
@ -108,14 +108,16 @@ impl<T: frame_system::Config> ghost_weaver::WeightInfo for WeightInfo<T> {
/// Proof: `GhostNetworks::NetworkImbalance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `System::Account` (r:1 w:0)
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
/// The range of component `a` is `[1, 300]`.
fn pull_utxo_thread(_a: u32, ) -> Weight {
/// The range of component `a` is `[1, 144]`.
fn pull_utxo_thread(a: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `358`
// Estimated: `3823`
// Minimum execution time: 650_006_000 picoseconds.
Weight::from_parts(663_001_690, 0)
// Minimum execution time: 174_434_000 picoseconds.
Weight::from_parts(173_218_259, 0)
.saturating_add(Weight::from_parts(0, 3823))
// Standard Error: 4_108
.saturating_add(Weight::from_parts(3_390_809, 0).saturating_mul(a.into()))
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(3))
}
@ -131,12 +133,12 @@ impl<T: frame_system::Config> ghost_weaver::WeightInfo for WeightInfo<T> {
/// Proof: `GhostNetworks::NetworkImbalance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `System::Account` (r:1 w:0)
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
fn pull_evm_thread(_a: u32) -> Weight {
fn pull_evm_thread() -> Weight {
// Proof Size summary in bytes:
// Measured: `358`
// Estimated: `3823`
// Minimum execution time: 138_199_000 picoseconds.
Weight::from_parts(162_645_000, 0)
// Minimum execution time: 131_682_000 picoseconds.
Weight::from_parts(132_731_000, 0)
.saturating_add(Weight::from_parts(0, 3823))
.saturating_add(T::DbWeight::get().reads(6))
.saturating_add(T::DbWeight::get().writes(3))

View File

@ -14,9 +14,9 @@ pub mod pallet_staking;
pub mod pallet_timestamp;
pub mod pallet_treasury;
pub mod pallet_utility;
// pub mod ghost_governance;
// pub mod ghost_networks;
// pub mod ghost_weaver;
// pub mod ghost_exodus;
// pub mod ghost_nomination_pools;
pub mod ghost_governance;
pub mod ghost_networks;
pub mod ghost_weaver;
pub mod ghost_exodus;
pub mod ghost_nomination_pools;
pub mod ghost_sudo;

View File

@ -252,7 +252,7 @@ if [[ $HARD_RESET = true ]]; then
git pull origin main
echo "[+] starting build in 3 seconds..."
sleep 3
cargo build --release
cargo build --release --locked
printf "[?] are you ready to continue?"
read anything
@ -359,7 +359,7 @@ if [[ ! -z $RELEASE ]]; then
cd $PROJECT_FOLDER
echo "[+] starting build in 3 seconds..."
sleep 3
cargo build $RELEASE $FEATURES
cargo build --locked $RELEASE $FEATURES
fi
fi
@ -590,7 +590,7 @@ if [ "$GENERATE_GENESIS" = true ]; then
echo " .with_grandpa_id(GrandpaId::unchecked_from(hex!(\"$GRAN_HEX\")))"
echo " .with_authority_id(AuthorityDiscoveryId::unchecked_from(hex!(\"$AUDI_HEX\")))"
echo " .with_weaver_id(WeaverId::unchecked_from(hex!(\"$WEVR_HEX\")))"
echo " .with_exodus_id(WeaverId::unchecked_from(hex!(\"$EXDS_HEX\")))"
echo " .with_exodus_id(ExodusId::unchecked_from(hex!(\"$EXDS_HEX\")))"
echo " .build(),"
echo ""

View File

@ -1,140 +0,0 @@
### TEMPLATE ###
Local identity : ./PATH_TO_GHOST/ghost key inspect-node-key --bin --file PATH_TO_NODE_KEY
Public key (hex) wallet : ./PATH_TO_GHOST/ghost key inspect $(cat PATH_TO_WALLET_KEY)
==================================================================================================================
Public key (hex) for stash : ./PATH_TO_GHOST/ghost key inspect --scheme=sr25519 $(cat PATH_TO_STASH_KEY)
Public key (hex) for audi : ./PATH_TO_GHOST/ghost key inspect --scheme=sr25519 "$(cat PATH_TO_SESSION_KEY)//audi"
Public key (hex) for babe : ./PATH_TO_GHOST/ghost key inspect --scheme=sr25519 "$(cat PATH_TO_SESSION_KEY)//babe"
Public key (hex) for slow : ./PATH_TO_GHOST/ghost key inspect --scheme=sr25519 "$(cat PATH_TO_SESSION_KEY)//slow"
Public key (hex) for gran : ./PATH_TO_GHOST/ghost key inspect --scheme=ed25519 "$(cat PATH_TO_SESSION_KEY)//gran"
### str3tch aka Pierre ###
Local identity : 12D3KooWFMiBom4mrJ57CaJZBxKWD1eDLYUyWLZzcjTaQW5crcNQ
Public key (hex) wallet : 0x328d3b7c3046ef7700937d99fb2e98ce2591682c2b5dcf3f562e4da157650237
===============================================================================================
Public key (hex) for stash : 0x507045c82be367f95408466cd054ca39bfa52697a3ef22809af14cf9de304f02
Public key (hex) for audi : 0x12c14850562021eb99f58f90ab624fb6cfaf3ac9228a92f8b60115fe6a6af15a
Public key (hex) for babe : 0xdaaaaab6a6e574099e24ae9bb75b543610edef9d374fa85a378edb573b47615f
Public key (hex) for slow : 0x0e9e698c7b2bf5ce3861cb4bc4ddf9e200237c282025b093ada850d764d12a35
Public key (hex) for gran : 0x55446f9a7aa99ced06b317c80ce90d56b84e56526775683af2525969e8da0b64
### ghost_7 ###
Local identity : 12D3KooWNZYbA3Ty1h8BqfMjzKVeJ83UTJxKUXj9zqnSirJZ51KR
Public key (hex) wallet : 0x3666e4e19f87bb8680495f31864ce1f1c69d4178002cc01911aef2cc7313f203
===============================================================================================
Public key (hex) for stash : 0xa0ba0196e6ee7e6b5b0553035c5cb5c04e9725001b5732839d0529cbc00c9600
Public key (hex) for audi : 0x90db5ed339a559ed157995a48d781f44c7df972dfba4bc855e4b59fa46438e17
Public key (hex) for babe : 0x6c4dd88b43e2011cf9a6a73d53446336ac9e04cdd4ca23587df63187ac455e49
Public key (hex) for slow : 0x3481cdcbcf37a4669c29a78cf9ceb39383a10ef0a18b36b92d149fdd0c24ae00
Public key (hex) for gran : 0x8f9ea20bf4a807a8e710f7559dece86e94672b5b361de157bdaa5c1f37849f8d
### Neptune ###
Local identity : 12D3KooWF9SWxz9dmy6vfndQhoxqCa7PESaoFWEiF8Jkqh4xKDRf
Public key (hex) wallet : 0xac871e8bab00dd56ba3a1c0bd289357203dcaf10010b0b04ad7472870cd22a3c
===============================================================================================
Public key (hex) for stash : 0x8a0d0b66e827bf20e79f9a499317e73925ce4f422371067edfab690e43857f13
Public key (hex) for audi : 0x2cf69452e9f2a8457119139408884941ed50f590c0fc0f2b044c4d82c69e4245
Public key (hex) for babe : 0xe0f0a776ecc9fa5e1f22e2fa001fe3fba5aea52b9444bc894b45589d42132475
Public key (hex) for slow : 0x0e6fa6934f9e99fa84874f2ed9318825a0d5443a0ced984acfbd24ece72ba55e
Public key (hex) for gran : 0xb63c5a0cf342b9b04931bc8ed74d7d0165ab99ab5f8a4514797d4b299a4501fe
### Neptune 2 ###
Local identity : 12D3KooWPQXpz8UM9uBsB7pcv12pLCLbYdk8W3SHrZBgiju2fbAs
Public key (hex) wallet : 0x425ccd7bda4f5c76788ba23bc0381d7a2e496179c93301208c57501c80a4232a
===============================================================================================
Public key (hex) for stash : 0x6c0283f4c688f0e75ad546c790bbd5961c1a6931543aa589f368f8272c44b758
Public key (hex) for audi : 0x00946618c353e4c6546b87f9ca1089b846b0ea4658ee8e6d9d1200c24cb5ee27
Public key (hex) for babe : 0x74fa7381a7a74b316afb6793a00387eed9d95d46a69866cbb316b5d9c918af0e
Public key (hex) for slow : 0x520e74f8c5853ec8577932327ad3247656db25b74c79ad09adb431b271002401
Public key (hex) for gran : 0x236d2fa03f4ed8cb65de7e514d7540159b328f1c170dd402b094ad7fbf547218
### Doctor K ###
Local identity : 12D3KooWP3h5dSdqcpvsCr7fp1jyfqDj291QDZ68a4gY6VQ8T1nW
Public key (hex) wallet : 0x927a98dcf8f721103005f168476c24b91d7d10d580f457006a908e10e62c7729
===============================================================================================
Public key (hex) for stash : 0xb24feb55b2cac4b365a9245c2a97525b01bd1a594d2d42b91f6bc38c9c2e6517
Public key (hex) for audi : 0xa8e828d10cf7b74481b6e746e5532d4740ea8014a0d3d856540a59847f8a6b76
Public key (hex) for babe : 0x3c944c704cae203619b9e7a5a4b6742736da6a8e76c762291bebdc7652cfec2f
Public key (hex) for slow : 0x2645f1f6820dd3a917eebbdab033088d8862477c1c14759b218685f9a0893377
Public key (hex) for gran : 0x0aa3a88f6b777c95c3dfe7e997b76798413f16aa325f34824cae0c9102b281d5
### starman ###
Local identity : 12D3KooWMikWyNweALKadEN8KMEhLs5JnNqCBecydAtP8d5UzVgs
Public key (hex) wallet : 0xac9e227e30a63ce6eeb55cfbb1fb832aa7e1d3fad2bcb3f663de4a91d744fd50
===============================================================================================
Public key (hex) for stash : 0x44376f8fa786be1f16fcb45232cfb07300cea845b2fc6e30dde61952de3e5e33
Public key (hex) for audi : 0x3271915dc67eba8ad2759a30c2537702f4fbf45647cba565e3a464ab75b91f05
Public key (hex) for babe : 0xec981eb1ef1ddbc8ded2db16198cb03667b4b39a8ea58f28ad469ddfaf256161
Public key (hex) for slow : 0x6e9426dc78fba9eeb264dcab98be86daf3d8cf510ecfb2acddec370295ff8176
Public key (hex) for gran : 0x15b9a867891cf449584b108e512d60b945b1a065bec1703c4c5709ee5093c03d
### Kitsune1 ###
Local identity : 12D3KooWR5JJQ9mALPpnSxfZm5M23AByitSfxpei9ZDghU1NLNeW
Public key (hex) wallet : 0x46c78fcacffd80abc9cca4917ef8369a37e21a1691ca11e7a3b53f80be745313
===============================================================================================
Public key (hex) for stash : 0x4a5596e97c602e7846d54fae81dcdc5a553b7422231e32f9567ac30a6b7c743a
Public key (hex) for audi : 0x241bfc05caa2d3e53e671df7261599c13f069a37f6cc4be10b5d49502c3a1e1c
Public key (hex) for babe : 0xceb63298b1b7a1277fddf6eee735dbbf9921fd5ebaac0132eee1963e22cf5935
Public key (hex) for slow : 0x7ce0c80ee65fb00e229d8c8fa5484144eca3d45d733165fbffcdb4de24c14951
Public key (hex) for gran : 0x95f73a6271b517f2016fa91411bdeeb990158066c95f106a79697446ba9f78b4
### ajruecker (scientio) ###
Local identity : 12D3KooWEiC9wp3rHF8JcDiadqtwdWvtUXLBbZhKuao1SwPy2m52
Public key (hex) wallet : 0xfa5e5a295ec74c3dda81118d9240db1552b28f831838465ae0712e97e78a6728
===============================================================================================
Public key (hex) for stash : 0x2021a16182e3af39a79d20021a1b8755d589c04292d361d6b387411f7e975602
Public key (hex) for audi : 0x9eb1063afcaf568e7a62458ef33237a41ca500c89e084f7a5dd75bf5d89b105a
Public key (hex) for babe : 0x64e9968f3af2e1a86ee8d4be9ad77a1d66f50138527988bf93ede25baaf2e671
Public key (hex) for slow : 0x2e77fde21162d1f21ca371846d70c3b75931329074101ee668e614336d25c120
Public key (hex) for gran : 0x45e28f333bf0d4a9956ae20341cd07db8d471c4b482ed15d5cf7edd70201670d
### Kitsune_2 ###
Local identity : 12D3KooWDs4i6VoK4dpwGSUVtZENzSmsbQk3tF63gYT745x7eAb2
Public key (hex) wallet : 0x4078ddb1ba1388f768fe6aa40ba9124a72692ecbcc83dc088fa86c735e4dc128
===============================================================================================
Public key (hex) for stash : 0xb624cb291f7464773f3b449ee2252165f3934ace08b1e10611a53e174766fc73
Public key (hex) for audi : 0xc2403683be24a92ae8489e28fb502e2bab16d815c4f6c865c50ffb34430a8d7c
Public key (hex) for babe : 0xca72b6ea2c83f9e429479bf51c324ea90cbf01e08d2850ced2590c8796cfe222
Public key (hex) for slow : 0xeabb3463e300f357b9886683d5a240a395f6bd41182057f03b0e9697a8b3465e
Public key (hex) for gran : 0x4ec8584ca9da16d8c60e1770e98fbca8bec648e13c69601e3dfdc1330bf1f999
### Proxmio ###
Local identity : 12D3KooWHZDmyvNFF31PCVVrwDSmUPyC7kgvfpC6wTTDevFcX4dH
Public key (hex) wallet : 0x5e1456904c40192cd3a18183df7dffea90d97739830a902cabb702ecdae4f649
===============================================================================================
Public key (hex) for stash : 0xda6875e9df9a7894e065ef5befcde567dec4dc2c0b73a6ad5514dcca26a90702
Public key (hex) for audi : 0x1496150847d512e0491899eba72ee36f76b882ae29fccf18201fd9fbd5bfd300
Public key (hex) for babe : 0x8006e3f6e3d92c4c5f2e2f001452e4993e6d5c2b1136f2ae6060c6e9c9523b4a
Public key (hex) for slow : 0xaaa41b6ade4c30b5792aa6e5604c444e424900ddf649b23eed4bd0d7f5d3a34f
Public key (hex) for gran : 0x86ee138c9e7e67c1c2e157c0ba888761a122d8b9aa6a8653e886ac329e34255d
### Osiris-3 ###
Local identity : 12D3KooWSDL7dwYgExExi7vuxzMJFyLrsyx4oLJCejv9Q2gste93
Public key (hex) wallet : 0x64f685baa838323c0ef8c45259a3036b3e2bc54edf6553ce323e25b5e37a3721
===============================================================================================
Public key (hex) for stash : 0x40eef1c6c8d8242ccbd3f03144bd4ea1a7374cbd8219e2849d3a3ee78f1da045
Public key (hex) for audi : 0x8c3e730f6e6ecfb96581091e71556175384f077bee31b0199f13321df018427d
Public key (hex) for babe : 0x3a145fb664353e473f1937058c881b14ed150285f3cec1aff348c5209d56d96d
Public key (hex) for slow : 0xceb294227950d177b63e6c1d10a66131f5da3792428b03f5b83be84a33db215f
Public key (hex) for gran : 0x0c0891a518270014530061bd217606269686abdf3c1d237a3c6a3db308fc2d0d
### Ogenkido ###
Local identity : 12D3KooW9zt8De3STX4TC8mALfDn8oJw1Qw6dBhRwu2aTabroBBr
Public key (hex) wallet : 0xa0a87a75dba18037aa2e7b8036ce951e8d8356104758e15c9f44e2fd7d1bbc41
===============================================================================================
Public key (hex) for stash : 0x422e16b0c58f03af378d1638fe56127f337abf1d1a4a740c3371714616abd43d
Public key (hex) for audi : 0x52fe2b63b03a0d439923967278442418a2d1f0d250bcab26f85f12ea212cbd3e
Public key (hex) for babe : 0x78f612068566eb6cc5cb5d9f1fda92c5dc3e3888eb61eb1af27af6855365ba3c
Public key (hex) for slow : 0x027dd852bf20bef53545afd1e08bf8760abb6b1af1df6c17e73f4cf88210ee46
Public key (hex) for gran : 0xdba3613933d60ca248ee024deac42bc9c8c2d9fe8734b6052cd9a148978cbedb
### Youconnect ###
Local identity : 12D3KooWJXBYA7cUQLLenEfT7hmCjBJ6fyikDy8YhNz4aLfwbBC8
Public key (hex) wallet : 0x6e4429a8fa85cfe2a60488af446d57e719207831b2579b937325645e110bb666
===============================================================================================
Public key (hex) for stash : 0x3a6626211a2dd35683fd7cb5f2f343d75f2b698d6c48c2d6eb1cdbe116e32315
Public key (hex) for audi : 0x86676ad3cd2d970b86dee2f25d4318f9bba40455111f16300e114e7f00c58706
Public key (hex) for babe : 0x6c0aec49974aaff08ff962a2d8d7857227d027ed27a272cbc4acaa1ee937db0f
Public key (hex) for slow : 0x009712519ba7dad1c682c871b94573ccaba8b7d530f7194fb16bf553fd7ae67d
Public key (hex) for gran : 0x935becdfb2e0d4fcd46ba82e680cfc447180de6b85ec42d17f1396a520b0c04f

View File

@ -1,5 +0,0 @@
pub fn legacy_endowments() -> Vec<(primitives::AccountId, u128)> {
vec![
// nothing there
]
}

View File

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