1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
use crate::response::Transaction; #[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)] #[serde(rename_all = "camelCase")] pub struct Block { #[serde(rename = "blockID")] pub block_id: String, #[serde(rename = "block_header")] pub block_header: BlockHeader, #[serde(default)] pub transactions: Vec<Transaction>, } #[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)] #[serde(rename_all = "camelCase")] pub struct BlockHeader { #[serde(rename = "raw_data")] pub raw_data: RawData, #[serde(rename = "witness_signature")] pub witness_signature: String, } #[derive(Default, Debug, Clone, PartialEq, serde_derive::Serialize, serde_derive::Deserialize)] #[serde(rename_all = "camelCase")] pub struct RawData { pub number: i64, pub tx_trie_root: String, #[serde(rename = "witness_address")] pub witness_address: String, pub parent_hash: String, pub timestamp: i64, }