rebrand: kusama → dicle

- Replace all kusama/Kusama references with dicle/Dicle
- Rename weight files from ksm_size to dcl_size
- Update papi-tests files from ksm to dcl
- Remove chain-specs/kusama.json files
- cargo check --workspace successful (Finished output)
- Update MAINNET_ROADMAP.md: FAZ 8 completed
This commit is contained in:
2026-01-07 09:40:42 +03:00
parent 1d055178a3
commit c343223ccd
194 changed files with 918 additions and 11068 deletions
@@ -16,7 +16,7 @@
//! approval-voting throughput test
//!
//! Approval Voting benchmark based on Kusama parameters and scale.
//! Approval Voting benchmark based on Dicle parameters and scale.
//!
//! Subsystems involved:
//! - approval-distribution
@@ -530,7 +530,7 @@ where
.iter()
.any(|v| keystore.has_keys(&[(v.to_raw_vec(), AuthorityDiscoveryId::ID)]));
// We could've checked discovery_keys but on Kusama validators.len() < discovery_keys.len().
// We could've checked discovery_keys but on Dicle validators.len() < discovery_keys.len().
let is_present_validator = session_info
.validators
.iter()
@@ -16,7 +16,7 @@
//! dispute-coordinator throughput test
//!
//! Dispute Coordinator benchmark based on Kusama parameters and scale.
//! Dispute Coordinator benchmark based on Dicle parameters and scale.
//!
//! Subsystems involved:
//! - dispute-coordinator
@@ -54,7 +54,7 @@ const CLEANED_VOTES_WATERMARK_KEY: &[u8; 23] = b"cleaned-votes-watermark";
///
/// 300 is with session duration of 1 hour and 30 teyrchains around <3_000_000 key purges in the
/// worst case. Which is already quite a lot, at the same time we have around 21_000 sessions on
/// Kusama. This means at 300 purged sessions per session, cleaning everything up will take
/// Dicle. This means at 300 purged sessions per session, cleaning everything up will take
/// around 3 days. Depending on how severe disk usage becomes, we might want to bump the batch
/// size, at the cost of risking issues at session boundaries (performance).
#[cfg(test)]
@@ -186,7 +186,7 @@ impl Default for TestState {
fn default() -> TestState {
let p1 = Pair::from_string("//Polka", None).unwrap();
let p2 = Pair::from_string("//Hez", None).unwrap();
let p3 = Pair::from_string("//Kusama", None).unwrap();
let p3 = Pair::from_string("//Dicle", None).unwrap();
let validators = vec![
(Sr25519Keyring::Alice.pair(), Sr25519Keyring::Alice.to_seed()),
(Sr25519Keyring::Bob.pair(), Sr25519Keyring::Bob.to_seed()),
@@ -198,7 +198,7 @@ impl Default for TestState {
// Two more keys needed so disputes are not confirmed already with only 3 statements.
(p1, "//Polka".into()),
(p2, "//Hez".into()),
(p3, "//Kusama".into()),
(p3, "//Dicle".into()),
];
let validator_public = validators
+1 -1
View File
@@ -30,7 +30,7 @@ struct MetricsInner {
/// The following metrics track how many disputes/votes the runtime will have to process. These
/// will count all recent statements meaning every dispute from last sessions: 10 min on
/// Pezkuwichain, 60 min on Kusama and 4 hours on Pezkuwi. The metrics are updated only when
/// Pezkuwichain, 60 min on Dicle and 4 hours on Pezkuwi. The metrics are updated only when
/// the node authors a block, so values vary across nodes.
inherent_data_dispute_statement_sets: prometheus::Counter<prometheus::U64>,
inherent_data_dispute_statements: prometheus::CounterVec<prometheus::U64>,
@@ -16,7 +16,7 @@
//! availability-read regression tests
//!
//! Availability read benchmark based on Kusama parameters and scale.
//! Availability read benchmark based on Dicle parameters and scale.
//!
//! Subsystems involved:
//! - availability-distribution
@@ -16,7 +16,7 @@
//! availability-read regression tests
//!
//! Availability read benchmark based on Kusama parameters and scale.
//! Availability read benchmark based on Dicle parameters and scale.
//!
//! Subsystems involved:
//! - availability-recovery
@@ -90,7 +90,7 @@ const COST_INVALID_REQUEST: Rep = Rep::CostMajor("Peer sent unparsable request")
/// PoV size limit in bytes for which prefer fetching from backers. (conservative, Pezkuwi for now)
pub(crate) const CONSERVATIVE_FETCH_CHUNKS_THRESHOLD: usize = 1 * 1024 * 1024;
/// PoV size limit in bytes for which prefer fetching from backers. (Kusama and all testnets)
/// PoV size limit in bytes for which prefer fetching from backers. (Dicle and all testnets)
pub const FETCH_CHUNKS_THRESHOLD: usize = 4 * 1024 * 1024;
#[derive(Clone, PartialEq)]
@@ -72,7 +72,7 @@ use collation::{
};
use error::{Error, FetchError, HoldOffError, Result, SecondingError};
const ASSET_HUB_PARA_ID: ParaId = ParaId::new(1000); // Asset Hub's para id is 1000 on both Kusama and Pezkuwi.
const ASSET_HUB_PARA_ID: ParaId = ParaId::new(1000); // Asset Hub's para id is 1000 on both Dicle and Pezkuwi.
#[cfg(test)]
mod tests;
@@ -98,7 +98,7 @@ const BENEFIT_NOTIFY_GOOD: Rep =
///
/// This is to protect from a single slow collator preventing collations from happening.
///
/// With a collation size of 5MB and bandwidth of 500Mbit/s (requirement for Kusama validators),
/// With a collation size of 5MB and bandwidth of 500Mbit/s (requirement for Dicle validators),
/// the transfer should be possible within 0.1 seconds. 400 milliseconds should therefore be
/// plenty, even with multiple heads and should be low enough for later collators to still be able
/// to finish on time.
@@ -83,7 +83,7 @@ const TRY_RERESOLVE_AUTHORITIES: Duration = Duration::from_secs(2);
/// Duration after which we consider low connectivity a problem.
///
/// Especially at startup low connectivity is expected (authority discovery cache needs to be
/// populated). Authority discovery on Kusama takes around 8 minutes, so warning after 10 minutes
/// populated). Authority discovery on Dicle takes around 8 minutes, so warning after 10 minutes
/// should be fine:
///
/// https://github.com/pezkuwichain/pezkuwi-sdk/blob/main/bizinikiwi/client/authority-discovery/src/lib.rs#L88
@@ -16,7 +16,7 @@
//! statement-distribution regression tests
//!
//! Statement distribution benchmark based on Kusama parameters and scale.
//! Statement distribution benchmark based on Dicle parameters and scale.
use pezkuwi_subsystem_bench::{
configuration::TestConfiguration,
@@ -325,7 +325,7 @@ impl RequestManager {
// found out that this requests take around 100ms to fulfill, so it
// would make sense to try to request things as early as we can, given
// we would need to request it for each candidate, around 25 right now
// on kusama.
// on dicle.
if response_manager.len() >= 2 * MAX_PARALLEL_ATTESTED_CANDIDATE_REQUESTS as usize {
return None;
}
+1 -1
View File
@@ -135,7 +135,7 @@ macro_rules! new_session_window_size {
}
/// It would be nice to draw this from the chain state, but we have no tools for it right now.
/// On Pezkuwi this is 1 day, and on Kusama it's 6 hours.
/// On Pezkuwi this is 1 day, and on Dicle it's 6 hours.
///
/// Number of sessions we want to consider in disputes.
pub const DISPUTE_WINDOW: SessionWindowSize = new_session_window_size!(6);
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -35,7 +35,7 @@ macro_rules! identify_chain {
) => {
match $chain {
Chain::Pezkuwi => Err("Pezkuwi runtimes are currently not supported"),
Chain::Kusama => Err("Kusama runtimes are currently not supported"),
Chain::Dicle => Err("Dicle runtimes are currently not supported"),
Chain::Pezkuwichain => {
#[cfg(feature = "pezkuwichain-native")]
{
@@ -252,7 +252,7 @@ fn pezkuwichain_sign_call(
.into()
}
/// Generates inherent data for benchmarking Pezkuwi, Kusama, Zagros and Pezkuwichain.
/// Generates inherent data for benchmarking Pezkuwi, Dicle, Zagros and Pezkuwichain.
///
/// Not to be used outside of benchmarking since it returns mocked values.
pub fn benchmark_inherent_data(
+4 -4
View File
@@ -232,7 +232,7 @@ where
let disable_grandpa = config.disable_grandpa;
let name = config.network.node_name.clone();
let backoff_authoring_blocks = if !force_authoring_backoff
&& (config.chain_spec.is_pezkuwi() || config.chain_spec.is_kusama())
&& (config.chain_spec.is_pezkuwi() || config.chain_spec.is_dicle())
{
// the block authoring backoff is disabled by default on production networks
None
@@ -359,8 +359,8 @@ where
IncomingRequest::get_config_receiver::<_, Network>(&req_protocol_names);
net_config.add_request_response_protocol(cfg);
let grandpa_hard_forks = if config.chain_spec.is_kusama() {
grandpa_support::kusama_hard_forks()
let grandpa_hard_forks = if config.chain_spec.is_dicle() {
grandpa_support::dicle_hard_forks()
} else {
Vec::new()
};
@@ -422,7 +422,7 @@ where
stagnant_check_mode: chain_selection_subsystem::StagnantCheckMode::PruneOnly,
};
// Kusama + testnets get a higher threshold, we are conservative on Pezkuwi for now.
// Dicle + testnets get a higher threshold, we are conservative on Pezkuwi for now.
let fetch_chunks_threshold =
if config.chain_spec.is_pezkuwi() { None } else { Some(FETCH_CHUNKS_THRESHOLD) };
+2 -2
View File
@@ -163,8 +163,8 @@ where
.build(),
);
let grandpa_hard_forks = if config.chain_spec.is_kusama() {
grandpa_support::kusama_hard_forks()
let grandpa_hard_forks = if config.chain_spec.is_dicle() {
grandpa_support::dicle_hard_forks()
} else {
Vec::new()
};
+2 -2
View File
@@ -78,8 +78,8 @@ pub fn pezkuwi_config() -> Result<GenericChainSpec, String> {
GenericChainSpec::from_json_bytes(&include_bytes!("../chain-specs/pezkuwi.json")[..])
}
pub fn kusama_config() -> Result<GenericChainSpec, String> {
GenericChainSpec::from_json_bytes(&include_bytes!("../chain-specs/kusama.json")[..])
pub fn dicle_config() -> Result<GenericChainSpec, String> {
GenericChainSpec::from_json_bytes(&include_bytes!("../chain-specs/dicle.json")[..])
}
pub fn zagros_config() -> Result<ZagrosChainSpec, String> {
+1 -1
View File
@@ -64,7 +64,7 @@ where
/// w3f validators and randomly selected validators from the latest session (at
/// #1500988).
#[cfg(feature = "full-node")]
pub(crate) fn kusama_hard_forks() -> Vec<pezsc_consensus_grandpa::AuthoritySetHardFork<Block>> {
pub(crate) fn dicle_hard_forks() -> Vec<pezsc_consensus_grandpa::AuthoritySetHardFork<Block>> {
use pezsp_core::crypto::Ss58Codec;
use std::str::FromStr;
+11 -11
View File
@@ -220,7 +220,7 @@ pub enum Error {
DatabasePathRequired,
#[cfg(feature = "full-node")]
#[error("Expected at least one of pezkuwi, kusama, zagros or pezkuwichain runtime feature")]
#[error("Expected at least one of pezkuwi, dicle, zagros or pezkuwichain runtime feature")]
NoRuntime,
#[cfg(feature = "full-node")]
@@ -249,8 +249,8 @@ pub enum Error {
pub enum Chain {
/// Pezkuwi.
Pezkuwi,
/// Kusama.
Kusama,
/// Dicle.
Dicle,
/// Pezkuwichain or one of its derivations.
Pezkuwichain,
/// Zagros.
@@ -264,8 +264,8 @@ pub trait IdentifyVariant {
/// Returns if this is a configuration for the `Pezkuwi` network.
fn is_pezkuwi(&self) -> bool;
/// Returns if this is a configuration for the `Kusama` network.
fn is_kusama(&self) -> bool;
/// Returns if this is a configuration for the `Dicle` network.
fn is_dicle(&self) -> bool;
/// Returns if this is a configuration for the `Zagros` network.
fn is_zagros(&self) -> bool;
@@ -287,8 +287,8 @@ impl IdentifyVariant for Box<dyn ChainSpec> {
fn is_pezkuwi(&self) -> bool {
self.id().starts_with("pezkuwi") || self.id().starts_with("hez")
}
fn is_kusama(&self) -> bool {
self.id().starts_with("kusama") || self.id().starts_with("ksm")
fn is_dicle(&self) -> bool {
self.id().starts_with("dicle") || self.id().starts_with("dcl")
}
fn is_zagros(&self) -> bool {
self.id().starts_with("zagros") || self.id().starts_with("wnd")
@@ -305,8 +305,8 @@ impl IdentifyVariant for Box<dyn ChainSpec> {
fn identify_chain(&self) -> Chain {
if self.is_pezkuwi() {
Chain::Pezkuwi
} else if self.is_kusama() {
Chain::Kusama
} else if self.is_dicle() {
Chain::Dicle
} else if self.is_zagros() {
Chain::Zagros
} else if self.is_pezkuwichain() || self.is_versi() {
@@ -421,7 +421,7 @@ pub fn new_chain_ops(
if config.chain_spec.is_pezkuwichain() || config.chain_spec.is_versi() {
chain_ops!(config, None)
} else if config.chain_spec.is_kusama() {
} else if config.chain_spec.is_dicle() {
chain_ops!(config, None)
} else if config.chain_spec.is_zagros() {
return chain_ops!(config, None);
@@ -432,7 +432,7 @@ pub fn new_chain_ops(
/// Build a full node.
///
/// The actual "flavor", aka if it will use `Pezkuwi`, `Pezkuwichain` or `Kusama` is determined
/// The actual "flavor", aka if it will use `Pezkuwi`, `Pezkuwichain` or `Dicle` is determined
/// based on [`IdentifyVariant`] using the chain spec.
#[cfg(feature = "full-node")]
pub fn build_full<OverseerGenerator: OverseerGen>(
@@ -38,12 +38,12 @@ pub struct PeerLatency {
pub std_dev: f64,
}
// Based on Kusama `max_validators`
// Based on Dicle `max_validators`
fn default_n_validators() -> usize {
300
}
// Based on Kusama cores
// Based on Dicle cores
fn default_n_cores() -> usize {
60
}
@@ -53,7 +53,7 @@ fn default_pov_size() -> usize {
5 * 1024
}
// Default bandwidth in bytes, based stats from Kusama validators
// Default bandwidth in bytes, based stats from Dicle validators
fn default_bandwidth() -> usize {
42 * 1024 * 1024
}