2024-01-31 23:09:03 +01:00
|
|
|
; VERSION 0.1
|
|
|
|
; ------------ BLOCK ----------------------
|
|
|
|
BLOCK = HEADER CONTENT
|
|
|
|
; ------------ HEADER ---------------------
|
2024-02-02 01:16:14 +04:00
|
|
|
VERSION = %x01
|
2024-02-09 15:12:12 +01:00
|
|
|
HEADER = VERSION HEADER-FIELDS MOCK-LEADER-PROOF ORPHAN-PROOFS
|
2024-02-02 01:16:14 +04:00
|
|
|
HEADER-FIELDS = CONTENT-SIZE CONTENT-ID BLOCK-DATE PARENT-ID
|
|
|
|
CONTENT-SIZE = U32
|
|
|
|
BLOCK-DATE = BLOCK-SLOT
|
|
|
|
BLOCK-SLOT = U64
|
|
|
|
PARENT-ID = HEADER-ID
|
2024-02-06 22:21:16 +04:00
|
|
|
MOCK-LEADER-PROOF = COMMITMENT NULLIFIER EVOLVE-COMMITMENT
|
|
|
|
EVOLVE-COMMITMENT = COMMITMENT
|
2024-02-09 15:12:12 +01:00
|
|
|
ORPHAN-PROOFS = ORPHAN-PROOF-CNT *ORPHAN-PROOF
|
|
|
|
ORPHAN-PROOF-CNT = U32
|
|
|
|
; note this is not recursive, only the header leadership proof will be processed (orphan proofs are ignored)
|
|
|
|
ORPHAN-PROOF = HEADER
|
2024-01-31 23:09:03 +01:00
|
|
|
|
|
|
|
; ------------ CONTENT --------------------
|
|
|
|
CONTENT = *OCTET
|
|
|
|
|
|
|
|
; ------------- MISC ----------------------
|
|
|
|
U32 = 4OCTET ; unsigned integer 32 bit (BE)
|
|
|
|
U64 = 8OCTET ; unsigned integer 32 bit (BE)
|
|
|
|
HEADER-ID = 32OCTET
|
|
|
|
CONTENT-ID = 32OCTET
|
2024-02-02 01:16:14 +04:00
|
|
|
COMMITMENT = 32OCTET
|
|
|
|
NULLIFIER = 32OCTET
|