Skip to content

Commit c2f50c2

Browse files
committed
Add some size constraints to sequences
1 parent f041922 commit c2f50c2

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

codec/schema.asn

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ TypesModule DEFINITIONS ::= BEGIN
44

55
validators-count INTEGER ::= 6
66
epoch-length INTEGER ::= 12
7-
core-count INTEGER ::= 2
7+
cores-count INTEGER ::= 2
88

99
-- (validators-count * 2/3 + 1)
1010
validators-super-majority INTEGER ::= 5
11-
-- (core-count + 7) / 8
11+
-- (cores-count + 7) / 8
1212
avail-bitfield-bytes INTEGER ::= 1
1313

1414
-- Generic Primitive Types
1515

1616
U8 ::= INTEGER (0..255)
17-
U16 ::= INTEGER(0..65535)
17+
U16 ::= INTEGER (0..65535)
1818
U32 ::= INTEGER (0..4294967295)
1919
U64 ::= INTEGER (0..18446744073709551615)
2020

@@ -30,6 +30,7 @@ ServiceId ::= U32
3030
Gas ::= U64
3131
ValidatorIndex ::= U16
3232
CoreIndex ::= U16
33+
TicketAttempt ::= INTEGER (0..1)
3334

3435
BandersnatchKey ::= ByteArray32
3536
Ed25519Key ::= ByteArray32
@@ -81,7 +82,7 @@ WorkPackage ::= SEQUENCE {
8182
auth-code-host ServiceId,
8283
authorizer Authorizer,
8384
context RefineContext,
84-
items SEQUENCE OF WorkItem
85+
items SEQUENCE (SIZE(1..4)) OF WorkItem
8586
}
8687

8788
-- Work Report
@@ -115,22 +116,22 @@ WorkReport ::= SEQUENCE {
115116
core-index CoreIndex,
116117
authorizer-hash OpaqueHash,
117118
auth-output ByteSequence,
118-
results SEQUENCE OF WorkResult
119+
results SEQUENCE (SIZE(1..4)) OF WorkResult
119120
}
120121

121122
-- Header
122123

123124
EpochMark ::= SEQUENCE {
124125
entropy OpaqueHash,
125-
validators SEQUENCE SIZE(validators-count) OF BandersnatchKey
126+
validators SEQUENCE (SIZE(validators-count)) OF BandersnatchKey
126127
}
127128

128129
TicketBody ::= SEQUENCE {
129130
id OpaqueHash,
130-
attempt U8
131+
attempt TicketAttempt
131132
}
132133

133-
TicketsMark ::= SEQUENCE SIZE(epoch-length) OF TicketBody
134+
TicketsMark ::= SEQUENCE (SIZE(epoch-length)) OF TicketBody
134135

135136
Header ::= SEQUENCE {
136137
parent OpaqueHash,
@@ -148,11 +149,11 @@ Header ::= SEQUENCE {
148149
-- Tickets
149150

150151
TicketEnvelope ::= SEQUENCE {
151-
attempt U8,
152+
attempt TicketAttempt,
152153
signature BandersnatchRingSignature
153154
}
154155

155-
TicketsExtrinsic ::= SEQUENCE OF TicketEnvelope
156+
TicketsExtrinsic ::= SEQUENCE (SIZE(0..16)) OF TicketEnvelope
156157

157158
-- Disputes
158159

@@ -165,7 +166,7 @@ Judgement ::= SEQUENCE {
165166
Verdict ::= SEQUENCE {
166167
target OpaqueHash,
167168
age U32,
168-
votes SEQUENCE SIZE(validators-super-majority) OF Judgement
169+
votes SEQUENCE (SIZE(validators-super-majority)) OF Judgement
169170
}
170171

171172
Culprit ::= SEQUENCE {
@@ -205,7 +206,7 @@ AvailAssurance ::= SEQUENCE {
205206
signature Ed25519Signature
206207
}
207208

208-
AssurancesExtrinsic ::= SEQUENCE OF AvailAssurance
209+
AssurancesExtrinsic ::= SEQUENCE (SIZE(0..validators-count)) OF AvailAssurance
209210

210211
-- Guarantees
211212

@@ -220,7 +221,7 @@ ReportGuarantee ::= SEQUENCE {
220221
signatures SEQUENCE OF ValidatorSignature
221222
}
222223

223-
GuaranteesExtrinsic ::= SEQUENCE OF ReportGuarantee
224+
GuaranteesExtrinsic ::= SEQUENCE SIZE(0..cores-count) OF ReportGuarantee
224225

225226
-- Block
226227

0 commit comments

Comments
 (0)