multiversx_sdk/data/
network_config.rs

1use serde::{Deserialize, Serialize};
2
3// NetworkConfig holds the network configuration parameters
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct NetworkConfig {
6    #[serde(rename = "erd_chain_id")]
7    pub chain_id: String,
8    #[serde(rename = "erd_address_hrp", default = "default_hrp")]
9    pub address_hrp: String,
10    #[serde(rename = "erd_denomination")]
11    pub denomination: i32,
12    #[serde(rename = "erd_gas_per_data_byte")]
13    pub gas_per_data_byte: u64,
14    #[serde(rename = "erd_latest_tag_software_version")]
15    pub latest_tag_software_version: String,
16    #[serde(rename = "erd_meta_consensus_group_size")]
17    pub meta_consensus_group_size: u64,
18    #[serde(rename = "erd_min_gas_limit")]
19    pub min_gas_limit: u64,
20    #[serde(rename = "erd_min_gas_price")]
21    pub min_gas_price: u64,
22    #[serde(rename = "erd_min_transaction_version")]
23    pub min_transaction_version: u32,
24    #[serde(rename = "erd_num_metachain_nodes")]
25    pub num_metachain_nodes: u64,
26    #[serde(rename = "erd_num_nodes_in_shard")]
27    pub num_nodes_in_shard: u64,
28    #[serde(rename = "erd_num_shards_without_meta")]
29    pub num_shards_without_meta: u32,
30    #[serde(rename = "erd_round_duration")]
31    pub round_duration: i64,
32    #[serde(rename = "erd_shard_consensus_group_size")]
33    pub shard_consensus_group_size: u64,
34    #[serde(rename = "erd_start_time")]
35    pub start_time: i64,
36}
37
38#[derive(Debug, Clone, Serialize, Deserialize)]
39pub struct NetworkConfigData {
40    pub config: NetworkConfig,
41}
42
43// NetworkConfigResponse holds the network config endpoint response
44#[derive(Debug, Clone, Serialize, Deserialize)]
45pub struct NetworkConfigResponse {
46    pub error: String,
47    pub code: String,
48    pub data: Option<NetworkConfigData>,
49}
50
51fn default_hrp() -> String {
52    "erd".to_string()
53}