#![deny(missing_docs)]
#![deny(unused_crate_dependencies)]
use fxhash::FxHashMap;
use serde::{Deserialize, Serialize};
use serde_json::Value;
#[allow(missing_docs)]
#[derive(Debug, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ChainSpec {
	#[serde(default)]
	pub name: String,
	#[serde(default)]
	pub id: String,
	#[serde(default)]
	pub chain_type: String,
	#[serde(default)]
	pub boot_nodes: Vec<String>,
	pub telemetry_endpoints: Option<Value>,
	pub protocol_id: Option<String>,
				pub properties: Option<Value>,
	#[serde(default, flatten)]
	pub extensions: Value,
	#[serde(default)]
	pub consensus_engine: (),
	#[serde(default)]
	pub genesis: Genesis,
	#[serde(default)]
	pub code_substitutes: Value,
}
#[allow(missing_docs)]
#[derive(Debug, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Genesis {
	#[serde(default)]
	pub raw: Raw,
}
#[allow(missing_docs)]
#[derive(Debug, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Raw {
	#[serde(default)]
	pub top: FxHashMap<String, String>,
	#[serde(default)]
	pub children_default: FxHashMap<String, FxHashMap<String, String>>,
}