1use chia_streamable_macro::streamable;
2
3use crate::Bytes32;
4use crate::Coin;
5use crate::PoolTarget;
6use chia_bls::G2Element;
7
8#[streamable]
9pub struct TransactionsInfo {
10 generator_root: Bytes32, generator_refs_root: Bytes32, aggregated_signature: G2Element,
14 fees: u64, cost: u64, reward_claims_incorporated: Vec<Coin>, }
18
19#[streamable]
20pub struct FoliageTransactionBlock {
21 prev_transaction_block_hash: Bytes32,
23 timestamp: u64,
24 filter_hash: Bytes32,
25 additions_root: Bytes32,
26 removals_root: Bytes32,
27 transactions_info_hash: Bytes32,
28}
29
30#[streamable]
31pub struct FoliageBlockData {
32 unfinished_reward_block_hash: Bytes32,
34 pool_target: PoolTarget,
35 pool_signature: Option<G2Element>, farmer_reward_puzzle_hash: Bytes32,
37 extension_data: Bytes32, }
39
40#[streamable]
41pub struct Foliage {
42 prev_block_hash: Bytes32,
46 reward_block_hash: Bytes32,
47 foliage_block_data: FoliageBlockData,
48 foliage_block_data_signature: G2Element,
49 foliage_transaction_block_hash: Option<Bytes32>,
50 foliage_transaction_block_signature: Option<G2Element>,
51}