Skip to content

Commit 673466e

Browse files
committed
add VoteTally decrypting doc
1 parent f7a0592 commit 673466e

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

chain-impl-mockchain/doc/format.abnf

+37
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ FRAGMENT-SPEC = %x00 INITIAL
4444
/ %x07 POOL-UPDATE
4545
/ %x08 UPDATE-PROPOSAL
4646
/ %x09 UPDATE-VOTE
47+
/ %x0a VOTE-PLAN
48+
/ %x0b VOTE-CAST
49+
/ %x0c VOTE-TALLY
50+
/ %x0d MINT-TOKEN
51+
/ %x0e EVM
52+
/ %x0f EVM-MAPPING
4753

4854
; ####################
4955
; FRAGMENT only present in genesis block
@@ -139,6 +145,37 @@ CHANGES = SIZE-ELEMENT-16BIT ; number of changes
139145

140146
PROPOSAL-ID = FRAGMENT-ID
141147

148+
; ####################
149+
; FRAGMENT Vote plan, vote cast, vote tally
150+
; ####################
151+
152+
VOTE-PLAN = PLAN-CERT IOW BFT-SIGNATURE
153+
VOTE-CAST = CAST-CERT IOW BFT-SIGNATURE
154+
VOTE-TALLY = TALLY-CERT IOW BFT-SIGNATURE
155+
156+
PLAN-CERT = VOTE-START VOTE-END COMMITTE-END PROPOSALS PAYLOAD-TYPE
157+
158+
VOTE-START = BLOCK-DATE
159+
VOTE-END = BLOCK-DATE
160+
COMMITTE-END = BLOCK-DATE
161+
PROPOSALS = SIZE-ELEMENT-8BIT *PROPOSAL-ELEMENT
162+
PROPOSAL-ELEMENT = TODO
163+
164+
CAST-CERT = TODO
165+
166+
TALLY-CERT = VOTE-PLAN-ID PAYLOAD
167+
PAYLOAD = %x01 ; Public payload
168+
/ %x02 PRIVATE-PAYLOAD ; Private payload
169+
PRIVATE-PAYLOAD = SIZE-ELEMENT-8BIT *PAYLOAD-ELEMENT
170+
PAYLOAD-ELEMENT = MEMBERS-SIZE OPTIONS-SIZE *MEMBER-ELEMENT *OPTION-ELEMENT
171+
MEMBERS-SIZE = SIZE-ELEMENT-8BIT
172+
OPTIONS-SIZE = SIZE-ELEMENT-8BIT
173+
MEMBER-ELEMENT = *SHARE-ELEMENT ; size is equal to the OPTIONS-SIZE value
174+
SHARE-ELEMENT = SIZE-ELEMENT-64BIT SIZE-ELEMENT-65BIT
175+
OPTION-ELEMENT = U64
176+
177+
VOTE-PLAN-ID = 32OCTET
178+
142179
; ####################
143180
; TRANSACTION CONSTRUCTION
144181
;

0 commit comments

Comments
 (0)