feat: add pezkuwichain mainnet configuration

Mainnet Configuration:
- Add pezkuwichain_mainnet_config() in chain_spec.rs with HEZ token properties
- Add "pezkuwichain-mainnet" CLI option in command.rs
- Update relay chain name to "pezkuwichain-mainnet" in asset_hubs.rs

Asset Hub Genesis (asset-hub-pezkuwichain):
- Add wUSDT asset (ID: 1000, 6 decimals) for wrapped USDT
- Update treasury, founder, presale accounts to secure mainnet wallets
- Update collator addresses (Azad, Beritan, Civan, Dildar)

People Chain Genesis (people-pezkuwichain):
- Add PezkuwichainGenesis runtime type for mainnet
- Update founder account to secure mainnet wallet
- Update collator addresses (Erin, Firaz, Goran, Hevi)

Token Configuration:
- HEZ: 18 decimals, SS58 format 42
- PEZ: Asset ID 1, 12 decimals
- wHEZ: Asset ID 2, 12 decimals
- wUSDT: Asset ID 1000, 6 decimals
This commit is contained in:
2026-01-25 19:42:43 +03:00
parent 25477b2bb9
commit 75f86b4ebe
7 changed files with 111 additions and 38 deletions
+2
View File
@@ -149,6 +149,8 @@ impl BizinikiwiCli for Cli {
"paseo" => Box::new(pezkuwi_service::chain_spec::paseo_config()?),
"pezkuwichain" => Box::new(pezkuwi_service::chain_spec::pezkuwichain_config()?),
#[cfg(feature = "pezkuwichain-native")]
"pezkuwichain-mainnet" => Box::new(pezkuwi_service::chain_spec::pezkuwichain_mainnet_config()?),
#[cfg(feature = "pezkuwichain-native")]
"dev" | "pezkuwichain-dev" => Box::new(pezkuwi_service::chain_spec::pezkuwichain_development_config()?),
#[cfg(feature = "pezkuwichain-native")]
"pezkuwichain-local" => Box::new(pezkuwi_service::chain_spec::pezkuwichain_local_testnet_config()?),
+32
View File
@@ -94,6 +94,26 @@ pub fn pezkuwichain_config() -> Result<PezkuwichainChainSpec, String> {
PezkuwichainChainSpec::from_json_bytes(&include_bytes!("../chain-specs/pezkuwichain.json")[..])
}
/// PezkuwiChain Mainnet config with real validators and HEZ token distribution
#[cfg(feature = "pezkuwichain-native")]
pub fn pezkuwichain_mainnet_config() -> Result<PezkuwichainChainSpec, String> {
Ok(PezkuwichainChainSpec::builder(
pezkuwichain::WASM_BINARY.ok_or("Pezkuwichain WASM not available")?,
Default::default(),
)
.with_name("PezkuwiChain Mainnet")
.with_id("pezkuwichain_mainnet")
.with_chain_type(ChainType::Live)
.with_genesis_config_preset_name("genesis")
.with_telemetry_endpoints(
TelemetryEndpoints::new(vec![(PEZKUWICHAIN_STAGING_TELEMETRY_URL.to_string(), 0)])
.expect("Pezkuwichain Mainnet telemetry url is valid; qed"),
)
.with_protocol_id(DEFAULT_PROTOCOL_ID)
.with_properties(pezkuwichain_chain_spec_properties())
.build())
}
/// Zagros staging testnet config.
#[cfg(feature = "zagros-native")]
pub fn zagros_staging_testnet_config() -> Result<ZagrosChainSpec, String> {
@@ -143,6 +163,18 @@ pub fn versi_chain_spec_properties() -> serde_json::map::Map<String, serde_json:
.clone()
}
/// PezkuwiChain mainnet chain spec properties (HEZ token)
pub fn pezkuwichain_chain_spec_properties() -> serde_json::map::Map<String, serde_json::Value> {
serde_json::json!({
"ss58Format": 42,
"tokenDecimals": 18,
"tokenSymbol": "HEZ",
})
.as_object()
.expect("Map given; qed")
.clone()
}
/// Versi staging testnet config.
#[cfg(feature = "pezkuwichain-native")]
pub fn versi_staging_testnet_config() -> Result<PezkuwichainChainSpec, String> {