syntax = "proto3"; package block_header; import "digest.proto"; message BlockHeader { // specifies the version of the protocol. uint32 version = 1; // the hash of the previous blocks header. digest.Digest prev_hash = 2; // a unique sequential number of the current block. fixed32 block_num = 3; // a commitment to an MMR of the entire chain where each block is a leaf. digest.Digest chain_root = 4; // a commitment to account database. digest.Digest account_root = 5; // a commitment to the nullifier database. digest.Digest nullifier_root = 6; // a commitment to all notes created in the current block. digest.Digest note_root = 7; // a commitment to a set of IDs of transactions which affected accounts in this block. digest.Digest tx_hash = 8; // a hash of a STARK proof attesting to the correct state transition. digest.Digest proof_hash = 9; // the time when the block was created. fixed32 timestamp = 10; }