1use serde::{Serialize, Deserialize};
2use cyfs_base::*;
5
6type PreBalance = (ObjectId, i64);
7#[derive(Serialize, Deserialize, RawEncode, RawDecode)]
8pub struct GenesisCoinConfig {
9 pub coin_id: u8,
10 pub pre_balance: Vec<PreBalance>
11}
12
13#[derive(Serialize, Deserialize, RawEncode, RawDecode)]
14pub struct GenesisPriceConfig {
15}
16
17#[derive(Serialize, Deserialize, RawEncode, RawDecode)]
18#[cyfs(optimize_option)]
19pub struct GenesisConfig {
20 pub chain_type: Option<String>,
21 pub coinbase: ObjectId,
22 pub interval: u32,
23 pub bfc_spv_node: String,
24 pub coins: Vec<GenesisCoinConfig>,
25 pub price: GenesisPriceConfig,
26 pub miner_key_path: Option<String>,
27 pub mg_path: Option<String>,
28 pub miner_desc_path: Option<String>,
29 pub sub_chain_tx: Option<String>,
30}
31