@typeberry/lib 0.5.9 → 0.5.10-44bf91a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/packages/core/codec/encoder.d.ts +1 -1
- package/packages/core/codec/encoder.d.ts.map +1 -1
- package/packages/core/codec/encoder.js +3 -2
- package/packages/core/pvm-interface/pvm.d.ts +2 -0
- package/packages/core/pvm-interface/pvm.d.ts.map +1 -1
- package/packages/jam/block/block.d.ts +3 -3
- package/packages/jam/block/header.d.ts +6 -6
- package/packages/jam/block/test-helpers.d.ts +2 -2
- package/packages/jam/block/tickets.d.ts +5 -6
- package/packages/jam/block/tickets.d.ts.map +1 -1
- package/packages/jam/block/tickets.js +2 -10
- package/packages/jam/block/work-item-segment.d.ts +23 -6
- package/packages/jam/block/work-item-segment.d.ts.map +1 -1
- package/packages/jam/block/work-item-segment.js +24 -7
- package/packages/jam/block/work-item.d.ts +3 -3
- package/packages/jam/block/work-item.d.ts.map +1 -1
- package/packages/jam/block/work-item.js +7 -3
- package/packages/jam/block/work-package.d.ts +2 -2
- package/packages/jam/block/work-package.d.ts.map +1 -1
- package/packages/jam/block/work-package.js +2 -6
- package/packages/jam/block-json/block.d.ts +2 -2
- package/packages/jam/block-json/block.js +1 -1
- package/packages/jam/block-json/common.d.ts +1 -2
- package/packages/jam/block-json/common.d.ts.map +1 -1
- package/packages/jam/block-json/common.js +2 -2
- package/packages/jam/block-json/extrinsic.js +1 -1
- package/packages/jam/block-json/header.d.ts +1 -2
- package/packages/jam/block-json/header.d.ts.map +1 -1
- package/packages/jam/block-json/header.js +32 -34
- package/packages/jam/block-json/tickets-extrinsic.d.ts +1 -2
- package/packages/jam/block-json/tickets-extrinsic.d.ts.map +1 -1
- package/packages/jam/block-json/tickets-extrinsic.js +5 -7
- package/packages/jam/block-json/work-result.js +2 -2
- package/packages/jam/database/blocks.d.ts +3 -0
- package/packages/jam/database/blocks.d.ts.map +1 -1
- package/packages/jam/database/blocks.js +5 -0
- package/packages/jam/database-lmdb/blocks.d.ts +1 -0
- package/packages/jam/database-lmdb/blocks.d.ts.map +1 -1
- package/packages/jam/database-lmdb/blocks.js +5 -0
- package/packages/jam/database-lmdb/states.js +1 -1
- package/packages/jam/executor/pvm-executor.d.ts +2 -2
- package/packages/jam/executor/pvm-executor.d.ts.map +1 -1
- package/packages/jam/fuzz-proto/v1/types.d.ts +1 -1
- package/packages/jam/in-core/externalities/refine.d.ts +42 -11
- package/packages/jam/in-core/externalities/refine.d.ts.map +1 -1
- package/packages/jam/in-core/externalities/refine.js +95 -11
- package/packages/jam/in-core/externalities/refine.test.d.ts +2 -0
- package/packages/jam/in-core/externalities/refine.test.d.ts.map +1 -0
- package/packages/jam/in-core/externalities/refine.test.js +263 -0
- package/packages/jam/in-core/in-core.d.ts +1 -1
- package/packages/jam/in-core/in-core.d.ts.map +1 -1
- package/packages/jam/in-core/in-core.js +17 -10
- package/packages/jam/jam-host-calls/accumulate/bless.js +9 -9
- package/packages/jam/jam-host-calls/externalities/partial-state.d.ts +1 -1
- package/packages/jam/jam-host-calls/externalities/refine-externalities.d.ts +3 -1
- package/packages/jam/jam-host-calls/externalities/refine-externalities.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/externalities/refine-externalities.test.d.ts +2 -0
- package/packages/jam/jam-host-calls/externalities/refine-externalities.test.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/externalities/refine-externalities.test.js +5 -0
- package/packages/jam/jam-host-calls/general/fetch.d.ts +159 -98
- package/packages/jam/jam-host-calls/general/fetch.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/general/fetch.js +110 -16
- package/packages/jam/jam-host-calls/general/fetch.test.js +87 -56
- package/packages/jam/jam-host-calls/refine/export.d.ts +1 -1
- package/packages/jam/jam-host-calls/refine/export.js +1 -1
- package/packages/jam/jam-host-calls/refine/export.test.js +3 -0
- package/packages/jam/jam-host-calls/refine/historical-lookup.d.ts +1 -1
- package/packages/jam/jam-host-calls/refine/historical-lookup.js +1 -1
- package/packages/jam/jamnp-s/protocol/ce-131-ce-132-safrole-ticket-distribution.d.ts +1 -1
- package/packages/jam/jamnp-s/protocol/ce-131-ce-132-safrole-ticket-distribution.test.js +1 -1
- package/packages/jam/jamnp-s/protocol/ce-133-work-package-submission.d.ts +1 -1
- package/packages/jam/jamnp-s/protocol/up-0-block-announcement.d.ts +1 -1
- package/packages/jam/jamnp-s/tasks/ticket-distribution.test.js +1 -1
- package/packages/jam/node/main-fuzz.d.ts.map +1 -1
- package/packages/jam/node/main-fuzz.js +1 -0
- package/packages/jam/node/main-importer.d.ts +1 -0
- package/packages/jam/node/main-importer.d.ts.map +1 -1
- package/packages/jam/node/main-importer.js +1 -0
- package/packages/jam/node/main.d.ts.map +1 -1
- package/packages/jam/node/main.js +1 -0
- package/packages/jam/node/reader.d.ts +2 -2
- package/packages/jam/node/workers.d.ts +22 -22
- package/packages/jam/safrole/bandersnatch-vrf.d.ts +1 -2
- package/packages/jam/safrole/bandersnatch-vrf.d.ts.map +1 -1
- package/packages/jam/safrole/bandersnatch-vrf.js +2 -2
- package/packages/jam/safrole/bandersnatch-vrf.test.js +2 -3
- package/packages/jam/safrole/safrole.test.js +72 -80
- package/packages/jam/state/safrole-data.d.ts +1 -1
- package/packages/jam/state/test.utils.js +1 -1
- package/packages/jam/state-json/dump.js +2 -2
- package/packages/jam/state-json/safrole.d.ts +2 -2
- package/packages/jam/state-json/safrole.d.ts.map +1 -1
- package/packages/jam/state-json/safrole.js +4 -4
- package/packages/jam/state-merkleization/in-memory-state-codec.d.ts +1 -1
- package/packages/jam/state-vectors/index.d.ts +7 -8
- package/packages/jam/state-vectors/index.d.ts.map +1 -1
- package/packages/jam/state-vectors/index.js +4 -6
- package/packages/jam/transition/accumulate/accumulate.js +2 -2
- package/packages/jam/transition/accumulate/accumulation-result-merge-utils.js +48 -39
- package/packages/jam/transition/externalities/accumulate-externalities.d.ts +2 -2
- package/packages/jam/transition/externalities/accumulate-externalities.d.ts.map +1 -1
- package/packages/jam/transition/externalities/accumulate-externalities.js +20 -7
- package/packages/jam/transition/externalities/accumulate-externalities.test.js +74 -4
- package/packages/jam/transition/externalities/accumulate-fetch-externalities.d.ts +19 -0
- package/packages/jam/transition/externalities/accumulate-fetch-externalities.d.ts.map +1 -0
- package/packages/jam/transition/externalities/accumulate-fetch-externalities.js +45 -0
- package/packages/jam/transition/externalities/accumulate-fetch-externalities.test.d.ts +2 -0
- package/packages/jam/transition/externalities/accumulate-fetch-externalities.test.d.ts.map +1 -0
- package/packages/jam/transition/externalities/accumulate-fetch-externalities.test.js +192 -0
- package/packages/jam/transition/externalities/fetch-externalities.d.ts +3 -39
- package/packages/jam/transition/externalities/fetch-externalities.d.ts.map +1 -1
- package/packages/jam/transition/externalities/fetch-externalities.js +2 -88
- package/packages/jam/transition/externalities/index.d.ts +2 -0
- package/packages/jam/transition/externalities/index.d.ts.map +1 -1
- package/packages/jam/transition/externalities/index.js +2 -0
- package/packages/jam/transition/externalities/refine-fetch-externalities.d.ts +23 -0
- package/packages/jam/transition/externalities/refine-fetch-externalities.d.ts.map +1 -0
- package/packages/jam/transition/externalities/refine-fetch-externalities.js +48 -0
- package/packages/jam/transition/externalities/refine-fetch-externalities.test.d.ts +2 -0
- package/packages/jam/transition/externalities/refine-fetch-externalities.test.d.ts.map +1 -0
- package/packages/jam/transition/externalities/refine-fetch-externalities.test.js +32 -0
- package/packages/jam/transition/hasher.test.js +1 -1
- package/packages/workers/block-authorship/main.d.ts.map +1 -1
- package/packages/workers/block-authorship/main.js +1 -1
- package/packages/workers/block-authorship/protocol.d.ts +4 -4
- package/packages/workers/block-authorship/ticket-generator.d.ts +1 -2
- package/packages/workers/block-authorship/ticket-generator.d.ts.map +1 -1
- package/packages/workers/block-authorship/ticket-generator.js +2 -2
- package/packages/workers/block-authorship/ticket-generator.test.js +10 -11
- package/packages/workers/comms-authorship-network/protocol.d.ts +1 -1
- package/packages/workers/comms-authorship-network/tickets-message.d.ts +1 -1
- package/packages/workers/importer/importer.d.ts +1 -0
- package/packages/workers/importer/importer.d.ts.map +1 -1
- package/packages/workers/importer/importer.js +7 -2
- package/packages/workers/importer/main.d.ts.map +1 -1
- package/packages/workers/importer/main.js +2 -0
- package/packages/workers/importer/protocol.d.ts +12 -9
- package/packages/workers/importer/protocol.d.ts.map +1 -1
- package/packages/workers/importer/protocol.js +8 -3
- package/packages/workers/jam-network/protocol.d.ts +10 -10
- package/packages/jam/transition/externalities/fetch-externalities.test.d.ts +0 -2
- package/packages/jam/transition/externalities/fetch-externalities.test.d.ts.map +0 -1
- package/packages/jam/transition/externalities/fetch-externalities.test.js +0 -254
|
@@ -125,20 +125,12 @@ describe("Safrole", () => {
|
|
|
125
125
|
const safrole = new Safrole(tinyChainSpec, blake2b, state, bwasm);
|
|
126
126
|
const timeslot = tryAsTimeSlot(2);
|
|
127
127
|
const entropy = Bytes.zero(HASH_SIZE).asOpaque();
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
},
|
|
135
|
-
]);
|
|
136
|
-
}
|
|
137
|
-
catch {
|
|
138
|
-
// Expected: invalid ticket attempt throws during creation
|
|
139
|
-
// Skip this test as the validation now happens earlier
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
128
|
+
const extrinsic = asKnownSize([
|
|
129
|
+
{
|
|
130
|
+
attempt: tryAsTicketAttempt(tinyChainSpec.ticketsPerValidator + 2),
|
|
131
|
+
signature: Bytes.zero(BANDERSNATCH_PROOF_BYTES).asOpaque(),
|
|
132
|
+
},
|
|
133
|
+
]);
|
|
142
134
|
const input = {
|
|
143
135
|
slot: timeslot,
|
|
144
136
|
entropy,
|
|
@@ -177,7 +169,7 @@ describe("Safrole", () => {
|
|
|
177
169
|
const entropy = Bytes.zero(HASH_SIZE).asOpaque();
|
|
178
170
|
const extrinsic = asKnownSize([
|
|
179
171
|
{
|
|
180
|
-
attempt: tryAsTicketAttempt(0
|
|
172
|
+
attempt: tryAsTicketAttempt(0),
|
|
181
173
|
signature: Bytes.zero(BANDERSNATCH_PROOF_BYTES).asOpaque(),
|
|
182
174
|
},
|
|
183
175
|
]);
|
|
@@ -222,11 +214,11 @@ describe("Safrole", () => {
|
|
|
222
214
|
const entropy = Bytes.zero(HASH_SIZE).asOpaque();
|
|
223
215
|
const extrinsic = asKnownSize([
|
|
224
216
|
{
|
|
225
|
-
attempt: tryAsTicketAttempt(0
|
|
217
|
+
attempt: tryAsTicketAttempt(0),
|
|
226
218
|
signature: Bytes.zero(BANDERSNATCH_PROOF_BYTES).asOpaque(),
|
|
227
219
|
},
|
|
228
220
|
{
|
|
229
|
-
attempt: tryAsTicketAttempt(0
|
|
221
|
+
attempt: tryAsTicketAttempt(0),
|
|
230
222
|
signature: Bytes.zero(BANDERSNATCH_PROOF_BYTES).asOpaque(),
|
|
231
223
|
},
|
|
232
224
|
]);
|
|
@@ -271,11 +263,11 @@ describe("Safrole", () => {
|
|
|
271
263
|
const entropy = Bytes.zero(HASH_SIZE).asOpaque();
|
|
272
264
|
const extrinsic = asKnownSize([
|
|
273
265
|
{
|
|
274
|
-
attempt: tryAsTicketAttempt(0
|
|
266
|
+
attempt: tryAsTicketAttempt(0),
|
|
275
267
|
signature: Bytes.fill(BANDERSNATCH_PROOF_BYTES, 1).asOpaque(),
|
|
276
268
|
},
|
|
277
269
|
{
|
|
278
|
-
attempt: tryAsTicketAttempt(0
|
|
270
|
+
attempt: tryAsTicketAttempt(0),
|
|
279
271
|
signature: Bytes.zero(BANDERSNATCH_PROOF_BYTES).asOpaque(),
|
|
280
272
|
},
|
|
281
273
|
]);
|
|
@@ -310,51 +302,51 @@ describe("Safrole", () => {
|
|
|
310
302
|
nextValidatorData: validators,
|
|
311
303
|
ticketsAccumulator: asKnownSize([
|
|
312
304
|
Ticket.create({
|
|
313
|
-
attempt: tryAsTicketAttempt(0
|
|
305
|
+
attempt: tryAsTicketAttempt(0),
|
|
314
306
|
id: Bytes.fill(HASH_SIZE, 1),
|
|
315
307
|
}),
|
|
316
308
|
Ticket.create({
|
|
317
|
-
attempt: tryAsTicketAttempt(0
|
|
309
|
+
attempt: tryAsTicketAttempt(0),
|
|
318
310
|
id: Bytes.fill(HASH_SIZE, 2),
|
|
319
311
|
}),
|
|
320
312
|
Ticket.create({
|
|
321
|
-
attempt: tryAsTicketAttempt(0
|
|
313
|
+
attempt: tryAsTicketAttempt(0),
|
|
322
314
|
id: Bytes.fill(HASH_SIZE, 3),
|
|
323
315
|
}),
|
|
324
316
|
Ticket.create({
|
|
325
|
-
attempt: tryAsTicketAttempt(0
|
|
317
|
+
attempt: tryAsTicketAttempt(0),
|
|
326
318
|
id: Bytes.fill(HASH_SIZE, 4),
|
|
327
319
|
}),
|
|
328
320
|
Ticket.create({
|
|
329
|
-
attempt: tryAsTicketAttempt(0
|
|
321
|
+
attempt: tryAsTicketAttempt(0),
|
|
330
322
|
id: Bytes.fill(HASH_SIZE, 5),
|
|
331
323
|
}),
|
|
332
324
|
Ticket.create({
|
|
333
|
-
attempt: tryAsTicketAttempt(0
|
|
325
|
+
attempt: tryAsTicketAttempt(0),
|
|
334
326
|
id: Bytes.fill(HASH_SIZE, 6),
|
|
335
327
|
}),
|
|
336
328
|
Ticket.create({
|
|
337
|
-
attempt: tryAsTicketAttempt(0
|
|
329
|
+
attempt: tryAsTicketAttempt(0),
|
|
338
330
|
id: Bytes.fill(HASH_SIZE, 7),
|
|
339
331
|
}),
|
|
340
332
|
Ticket.create({
|
|
341
|
-
attempt: tryAsTicketAttempt(0
|
|
333
|
+
attempt: tryAsTicketAttempt(0),
|
|
342
334
|
id: Bytes.fill(HASH_SIZE, 8),
|
|
343
335
|
}),
|
|
344
336
|
Ticket.create({
|
|
345
|
-
attempt: tryAsTicketAttempt(0
|
|
337
|
+
attempt: tryAsTicketAttempt(0),
|
|
346
338
|
id: Bytes.fill(HASH_SIZE, 9),
|
|
347
339
|
}),
|
|
348
340
|
Ticket.create({
|
|
349
|
-
attempt: tryAsTicketAttempt(0
|
|
341
|
+
attempt: tryAsTicketAttempt(0),
|
|
350
342
|
id: Bytes.fill(HASH_SIZE, 10),
|
|
351
343
|
}),
|
|
352
344
|
Ticket.create({
|
|
353
|
-
attempt: tryAsTicketAttempt(0
|
|
345
|
+
attempt: tryAsTicketAttempt(0),
|
|
354
346
|
id: Bytes.fill(HASH_SIZE, 11),
|
|
355
347
|
}),
|
|
356
348
|
Ticket.create({
|
|
357
|
-
attempt: tryAsTicketAttempt(0
|
|
349
|
+
attempt: tryAsTicketAttempt(0),
|
|
358
350
|
id: Bytes.fill(HASH_SIZE, 12),
|
|
359
351
|
}),
|
|
360
352
|
]),
|
|
@@ -368,51 +360,51 @@ describe("Safrole", () => {
|
|
|
368
360
|
const extrinsic = asKnownSize([]);
|
|
369
361
|
const tickets = asKnownSize([
|
|
370
362
|
Ticket.create({
|
|
371
|
-
attempt: tryAsTicketAttempt(0
|
|
363
|
+
attempt: tryAsTicketAttempt(0),
|
|
372
364
|
id: Bytes.fill(HASH_SIZE, 1),
|
|
373
365
|
}),
|
|
374
366
|
Ticket.create({
|
|
375
|
-
attempt: tryAsTicketAttempt(0
|
|
367
|
+
attempt: tryAsTicketAttempt(0),
|
|
376
368
|
id: Bytes.fill(HASH_SIZE, 12),
|
|
377
369
|
}),
|
|
378
370
|
Ticket.create({
|
|
379
|
-
attempt: tryAsTicketAttempt(0
|
|
371
|
+
attempt: tryAsTicketAttempt(0),
|
|
380
372
|
id: Bytes.fill(HASH_SIZE, 2),
|
|
381
373
|
}),
|
|
382
374
|
Ticket.create({
|
|
383
|
-
attempt: tryAsTicketAttempt(0
|
|
375
|
+
attempt: tryAsTicketAttempt(0),
|
|
384
376
|
id: Bytes.fill(HASH_SIZE, 11),
|
|
385
377
|
}),
|
|
386
378
|
Ticket.create({
|
|
387
|
-
attempt: tryAsTicketAttempt(0
|
|
379
|
+
attempt: tryAsTicketAttempt(0),
|
|
388
380
|
id: Bytes.fill(HASH_SIZE, 3),
|
|
389
381
|
}),
|
|
390
382
|
Ticket.create({
|
|
391
|
-
attempt: tryAsTicketAttempt(0
|
|
383
|
+
attempt: tryAsTicketAttempt(0),
|
|
392
384
|
id: Bytes.fill(HASH_SIZE, 10),
|
|
393
385
|
}),
|
|
394
386
|
Ticket.create({
|
|
395
|
-
attempt: tryAsTicketAttempt(0
|
|
387
|
+
attempt: tryAsTicketAttempt(0),
|
|
396
388
|
id: Bytes.fill(HASH_SIZE, 4),
|
|
397
389
|
}),
|
|
398
390
|
Ticket.create({
|
|
399
|
-
attempt: tryAsTicketAttempt(0
|
|
391
|
+
attempt: tryAsTicketAttempt(0),
|
|
400
392
|
id: Bytes.fill(HASH_SIZE, 9),
|
|
401
393
|
}),
|
|
402
394
|
Ticket.create({
|
|
403
|
-
attempt: tryAsTicketAttempt(0
|
|
395
|
+
attempt: tryAsTicketAttempt(0),
|
|
404
396
|
id: Bytes.fill(HASH_SIZE, 5),
|
|
405
397
|
}),
|
|
406
398
|
Ticket.create({
|
|
407
|
-
attempt: tryAsTicketAttempt(0
|
|
399
|
+
attempt: tryAsTicketAttempt(0),
|
|
408
400
|
id: Bytes.fill(HASH_SIZE, 8),
|
|
409
401
|
}),
|
|
410
402
|
Ticket.create({
|
|
411
|
-
attempt: tryAsTicketAttempt(0
|
|
403
|
+
attempt: tryAsTicketAttempt(0),
|
|
412
404
|
id: Bytes.fill(HASH_SIZE, 6),
|
|
413
405
|
}),
|
|
414
406
|
Ticket.create({
|
|
415
|
-
attempt: tryAsTicketAttempt(0
|
|
407
|
+
attempt: tryAsTicketAttempt(0),
|
|
416
408
|
id: Bytes.fill(HASH_SIZE, 7),
|
|
417
409
|
}),
|
|
418
410
|
]);
|
|
@@ -429,51 +421,51 @@ describe("Safrole", () => {
|
|
|
429
421
|
deepEqual(result.ok.ticketsMark, TicketsMarker.create({
|
|
430
422
|
tickets: asKnownSize([
|
|
431
423
|
Ticket.create({
|
|
432
|
-
attempt: tryAsTicketAttempt(0
|
|
424
|
+
attempt: tryAsTicketAttempt(0),
|
|
433
425
|
id: Bytes.fill(HASH_SIZE, 1),
|
|
434
426
|
}),
|
|
435
427
|
Ticket.create({
|
|
436
|
-
attempt: tryAsTicketAttempt(0
|
|
428
|
+
attempt: tryAsTicketAttempt(0),
|
|
437
429
|
id: Bytes.fill(HASH_SIZE, 12),
|
|
438
430
|
}),
|
|
439
431
|
Ticket.create({
|
|
440
|
-
attempt: tryAsTicketAttempt(0
|
|
432
|
+
attempt: tryAsTicketAttempt(0),
|
|
441
433
|
id: Bytes.fill(HASH_SIZE, 2),
|
|
442
434
|
}),
|
|
443
435
|
Ticket.create({
|
|
444
|
-
attempt: tryAsTicketAttempt(0
|
|
436
|
+
attempt: tryAsTicketAttempt(0),
|
|
445
437
|
id: Bytes.fill(HASH_SIZE, 11),
|
|
446
438
|
}),
|
|
447
439
|
Ticket.create({
|
|
448
|
-
attempt: tryAsTicketAttempt(0
|
|
440
|
+
attempt: tryAsTicketAttempt(0),
|
|
449
441
|
id: Bytes.fill(HASH_SIZE, 3),
|
|
450
442
|
}),
|
|
451
443
|
Ticket.create({
|
|
452
|
-
attempt: tryAsTicketAttempt(0
|
|
444
|
+
attempt: tryAsTicketAttempt(0),
|
|
453
445
|
id: Bytes.fill(HASH_SIZE, 10),
|
|
454
446
|
}),
|
|
455
447
|
Ticket.create({
|
|
456
|
-
attempt: tryAsTicketAttempt(0
|
|
448
|
+
attempt: tryAsTicketAttempt(0),
|
|
457
449
|
id: Bytes.fill(HASH_SIZE, 4),
|
|
458
450
|
}),
|
|
459
451
|
Ticket.create({
|
|
460
|
-
attempt: tryAsTicketAttempt(0
|
|
452
|
+
attempt: tryAsTicketAttempt(0),
|
|
461
453
|
id: Bytes.fill(HASH_SIZE, 9),
|
|
462
454
|
}),
|
|
463
455
|
Ticket.create({
|
|
464
|
-
attempt: tryAsTicketAttempt(0
|
|
456
|
+
attempt: tryAsTicketAttempt(0),
|
|
465
457
|
id: Bytes.fill(HASH_SIZE, 5),
|
|
466
458
|
}),
|
|
467
459
|
Ticket.create({
|
|
468
|
-
attempt: tryAsTicketAttempt(0
|
|
460
|
+
attempt: tryAsTicketAttempt(0),
|
|
469
461
|
id: Bytes.fill(HASH_SIZE, 8),
|
|
470
462
|
}),
|
|
471
463
|
Ticket.create({
|
|
472
|
-
attempt: tryAsTicketAttempt(0
|
|
464
|
+
attempt: tryAsTicketAttempt(0),
|
|
473
465
|
id: Bytes.fill(HASH_SIZE, 6),
|
|
474
466
|
}),
|
|
475
467
|
Ticket.create({
|
|
476
|
-
attempt: tryAsTicketAttempt(0
|
|
468
|
+
attempt: tryAsTicketAttempt(0),
|
|
477
469
|
id: Bytes.fill(HASH_SIZE, 7),
|
|
478
470
|
}),
|
|
479
471
|
]),
|
|
@@ -502,7 +494,7 @@ describe("Safrole", () => {
|
|
|
502
494
|
const entropy = Bytes.zero(HASH_SIZE).asOpaque();
|
|
503
495
|
const extrinsic = asKnownSize([
|
|
504
496
|
{
|
|
505
|
-
attempt: tryAsTicketAttempt(0
|
|
497
|
+
attempt: tryAsTicketAttempt(0),
|
|
506
498
|
signature: Bytes.zero(BANDERSNATCH_PROOF_BYTES).asOpaque(),
|
|
507
499
|
},
|
|
508
500
|
]);
|
|
@@ -616,51 +608,51 @@ describe("Safrole", () => {
|
|
|
616
608
|
nextValidatorData: validators,
|
|
617
609
|
ticketsAccumulator: asKnownSize([
|
|
618
610
|
Ticket.create({
|
|
619
|
-
attempt: tryAsTicketAttempt(0
|
|
611
|
+
attempt: tryAsTicketAttempt(0),
|
|
620
612
|
id: Bytes.fill(HASH_SIZE, 1),
|
|
621
613
|
}),
|
|
622
614
|
Ticket.create({
|
|
623
|
-
attempt: tryAsTicketAttempt(0
|
|
615
|
+
attempt: tryAsTicketAttempt(0),
|
|
624
616
|
id: Bytes.fill(HASH_SIZE, 2),
|
|
625
617
|
}),
|
|
626
618
|
Ticket.create({
|
|
627
|
-
attempt: tryAsTicketAttempt(0
|
|
619
|
+
attempt: tryAsTicketAttempt(0),
|
|
628
620
|
id: Bytes.fill(HASH_SIZE, 3),
|
|
629
621
|
}),
|
|
630
622
|
Ticket.create({
|
|
631
|
-
attempt: tryAsTicketAttempt(0
|
|
623
|
+
attempt: tryAsTicketAttempt(0),
|
|
632
624
|
id: Bytes.fill(HASH_SIZE, 4),
|
|
633
625
|
}),
|
|
634
626
|
Ticket.create({
|
|
635
|
-
attempt: tryAsTicketAttempt(0
|
|
627
|
+
attempt: tryAsTicketAttempt(0),
|
|
636
628
|
id: Bytes.fill(HASH_SIZE, 5),
|
|
637
629
|
}),
|
|
638
630
|
Ticket.create({
|
|
639
|
-
attempt: tryAsTicketAttempt(0
|
|
631
|
+
attempt: tryAsTicketAttempt(0),
|
|
640
632
|
id: Bytes.fill(HASH_SIZE, 6),
|
|
641
633
|
}),
|
|
642
634
|
Ticket.create({
|
|
643
|
-
attempt: tryAsTicketAttempt(0
|
|
635
|
+
attempt: tryAsTicketAttempt(0),
|
|
644
636
|
id: Bytes.fill(HASH_SIZE, 7),
|
|
645
637
|
}),
|
|
646
638
|
Ticket.create({
|
|
647
|
-
attempt: tryAsTicketAttempt(0
|
|
639
|
+
attempt: tryAsTicketAttempt(0),
|
|
648
640
|
id: Bytes.fill(HASH_SIZE, 8),
|
|
649
641
|
}),
|
|
650
642
|
Ticket.create({
|
|
651
|
-
attempt: tryAsTicketAttempt(0
|
|
643
|
+
attempt: tryAsTicketAttempt(0),
|
|
652
644
|
id: Bytes.fill(HASH_SIZE, 9),
|
|
653
645
|
}),
|
|
654
646
|
Ticket.create({
|
|
655
|
-
attempt: tryAsTicketAttempt(0
|
|
647
|
+
attempt: tryAsTicketAttempt(0),
|
|
656
648
|
id: Bytes.fill(HASH_SIZE, 10),
|
|
657
649
|
}),
|
|
658
650
|
Ticket.create({
|
|
659
|
-
attempt: tryAsTicketAttempt(0
|
|
651
|
+
attempt: tryAsTicketAttempt(0),
|
|
660
652
|
id: Bytes.fill(HASH_SIZE, 11),
|
|
661
653
|
}),
|
|
662
654
|
Ticket.create({
|
|
663
|
-
attempt: tryAsTicketAttempt(0
|
|
655
|
+
attempt: tryAsTicketAttempt(0),
|
|
664
656
|
id: Bytes.fill(HASH_SIZE, 12),
|
|
665
657
|
}),
|
|
666
658
|
]),
|
|
@@ -709,51 +701,51 @@ describe("Safrole", () => {
|
|
|
709
701
|
const extrinsic = asKnownSize([]);
|
|
710
702
|
const tickets = tryAsPerEpochBlock([
|
|
711
703
|
Ticket.create({
|
|
712
|
-
attempt: tryAsTicketAttempt(0
|
|
704
|
+
attempt: tryAsTicketAttempt(0),
|
|
713
705
|
id: Bytes.fill(HASH_SIZE, 1),
|
|
714
706
|
}),
|
|
715
707
|
Ticket.create({
|
|
716
|
-
attempt: tryAsTicketAttempt(0
|
|
708
|
+
attempt: tryAsTicketAttempt(0),
|
|
717
709
|
id: Bytes.fill(HASH_SIZE, 2),
|
|
718
710
|
}),
|
|
719
711
|
Ticket.create({
|
|
720
|
-
attempt: tryAsTicketAttempt(0
|
|
712
|
+
attempt: tryAsTicketAttempt(0),
|
|
721
713
|
id: Bytes.fill(HASH_SIZE, 3),
|
|
722
714
|
}),
|
|
723
715
|
Ticket.create({
|
|
724
|
-
attempt: tryAsTicketAttempt(0
|
|
716
|
+
attempt: tryAsTicketAttempt(0),
|
|
725
717
|
id: Bytes.fill(HASH_SIZE, 4),
|
|
726
718
|
}),
|
|
727
719
|
Ticket.create({
|
|
728
|
-
attempt: tryAsTicketAttempt(0
|
|
720
|
+
attempt: tryAsTicketAttempt(0),
|
|
729
721
|
id: Bytes.fill(HASH_SIZE, 5),
|
|
730
722
|
}),
|
|
731
723
|
Ticket.create({
|
|
732
|
-
attempt: tryAsTicketAttempt(0
|
|
724
|
+
attempt: tryAsTicketAttempt(0),
|
|
733
725
|
id: Bytes.fill(HASH_SIZE, 6),
|
|
734
726
|
}),
|
|
735
727
|
Ticket.create({
|
|
736
|
-
attempt: tryAsTicketAttempt(0
|
|
728
|
+
attempt: tryAsTicketAttempt(0),
|
|
737
729
|
id: Bytes.fill(HASH_SIZE, 7),
|
|
738
730
|
}),
|
|
739
731
|
Ticket.create({
|
|
740
|
-
attempt: tryAsTicketAttempt(0
|
|
732
|
+
attempt: tryAsTicketAttempt(0),
|
|
741
733
|
id: Bytes.fill(HASH_SIZE, 8),
|
|
742
734
|
}),
|
|
743
735
|
Ticket.create({
|
|
744
|
-
attempt: tryAsTicketAttempt(0
|
|
736
|
+
attempt: tryAsTicketAttempt(0),
|
|
745
737
|
id: Bytes.fill(HASH_SIZE, 9),
|
|
746
738
|
}),
|
|
747
739
|
Ticket.create({
|
|
748
|
-
attempt: tryAsTicketAttempt(0
|
|
740
|
+
attempt: tryAsTicketAttempt(0),
|
|
749
741
|
id: Bytes.fill(HASH_SIZE, 10),
|
|
750
742
|
}),
|
|
751
743
|
Ticket.create({
|
|
752
|
-
attempt: tryAsTicketAttempt(0
|
|
744
|
+
attempt: tryAsTicketAttempt(0),
|
|
753
745
|
id: Bytes.fill(HASH_SIZE, 11),
|
|
754
746
|
}),
|
|
755
747
|
Ticket.create({
|
|
756
|
-
attempt: tryAsTicketAttempt(0
|
|
748
|
+
attempt: tryAsTicketAttempt(0),
|
|
757
749
|
id: Bytes.fill(HASH_SIZE, 12),
|
|
758
750
|
}),
|
|
759
751
|
], tinyChainSpec);
|
|
@@ -46,7 +46,7 @@ export declare class SafroleData {
|
|
|
46
46
|
sealingKeySeries: import("@typeberry/codec").Descriptor<SafroleSealingKeys, SafroleSealingKeys>;
|
|
47
47
|
ticketsAccumulator: import("@typeberry/codec").Descriptor<readonly Ticket[] & import("@typeberry/utils").WithOpaque<"0...EpochLength">, import("@typeberry/codec").SequenceView<Ticket, import("@typeberry/codec").ViewOf<Ticket, {
|
|
48
48
|
id: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
|
|
49
|
-
attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[
|
|
49
|
+
attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[u8]">, import("@typeberry/numbers").U32>;
|
|
50
50
|
}>>>;
|
|
51
51
|
}>>;
|
|
52
52
|
static create({ nextValidatorData, epochRoot, sealingKeySeries, ticketsAccumulator }: CodecRecord<SafroleData>): SafroleData;
|
|
@@ -275,7 +275,7 @@ export const testState = () => {
|
|
|
275
275
|
};
|
|
276
276
|
const emptyHash = () => b32("0x0000000000000000000000000000000000000000000000000000000000000000");
|
|
277
277
|
const testAuth = () => b32("0x0b27478648cd19b4f812f897a26976ecf312eac28508b4368d0c63ea949c7cb0");
|
|
278
|
-
const attempt = (x) => tryAsTicketAttempt(x
|
|
278
|
+
const attempt = (x) => tryAsTicketAttempt(x);
|
|
279
279
|
const b32 = (s) => Bytes.parseBytes(s, HASH_SIZE).asOpaque();
|
|
280
280
|
const repeat = (len, factory) => Array.from({ length: len }, factory);
|
|
281
281
|
const activityRecord = (blocks, tickets, preimages, preimagesSize, guarantees, assurances) => {
|
|
@@ -20,8 +20,8 @@ export const fullStateDumpFromJson = (spec) => json.object({
|
|
|
20
20
|
beta: json.nullable(recentBlocksHistoryFromJson),
|
|
21
21
|
gamma: {
|
|
22
22
|
gamma_k: json.array(validatorDataFromJson),
|
|
23
|
-
gamma_a: json.array(ticketFromJson
|
|
24
|
-
gamma_s: TicketsOrKeys.fromJson(
|
|
23
|
+
gamma_a: json.array(ticketFromJson),
|
|
24
|
+
gamma_s: TicketsOrKeys.fromJson(),
|
|
25
25
|
gamma_z: json.fromString((v) => Bytes.parseBytes(v, BANDERSNATCH_RING_ROOT_BYTES).asOpaque()),
|
|
26
26
|
},
|
|
27
27
|
psi: disputesRecordsFromJson,
|
|
@@ -3,9 +3,9 @@ import type { ChainSpec } from "#@typeberry/config";
|
|
|
3
3
|
import type { BandersnatchKey } from "#@typeberry/crypto";
|
|
4
4
|
import { type FromJson } from "#@typeberry/json-parser";
|
|
5
5
|
import { type SafroleSealingKeys } from "#@typeberry/state";
|
|
6
|
-
export declare const ticketFromJson:
|
|
6
|
+
export declare const ticketFromJson: FromJson<Ticket>;
|
|
7
7
|
export declare class TicketsOrKeys {
|
|
8
|
-
static fromJson(
|
|
8
|
+
static fromJson(): FromJson<TicketsOrKeys>;
|
|
9
9
|
keys?: BandersnatchKey[];
|
|
10
10
|
tickets?: Ticket[];
|
|
11
11
|
static toSafroleSealingKeys(data: TicketsOrKeys, chainSpec: ChainSpec): SafroleSealingKeys;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safrole.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/state-json/safrole.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,KAAK,QAAQ,EAAQ,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,KAAK,kBAAkB,EAA0B,MAAM,kBAAkB,CAAC;AAEnF,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"safrole.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/state-json/safrole.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,KAAK,QAAQ,EAAQ,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,KAAK,kBAAkB,EAA0B,MAAM,kBAAkB,CAAC;AAEnF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAM3C,CAAC;AAEF,qBAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC;IAO1C,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,GAAG,kBAAkB;CAW3F"}
|
|
@@ -3,15 +3,15 @@ import { Ticket } from "#@typeberry/block/tickets.js";
|
|
|
3
3
|
import { fromJson } from "#@typeberry/block-json";
|
|
4
4
|
import { json } from "#@typeberry/json-parser";
|
|
5
5
|
import { SafroleSealingKeysData } from "#@typeberry/state";
|
|
6
|
-
export const ticketFromJson =
|
|
6
|
+
export const ticketFromJson = json.object({
|
|
7
7
|
id: fromJson.bytes32(),
|
|
8
|
-
attempt: fromJson.ticketAttempt
|
|
8
|
+
attempt: fromJson.ticketAttempt,
|
|
9
9
|
}, Ticket.create);
|
|
10
10
|
export class TicketsOrKeys {
|
|
11
|
-
static fromJson(
|
|
11
|
+
static fromJson() {
|
|
12
12
|
return {
|
|
13
13
|
keys: json.optional(json.array(fromJson.bytes32())),
|
|
14
|
-
tickets: json.optional(json.array(ticketFromJson
|
|
14
|
+
tickets: json.optional(json.array(ticketFromJson)),
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
keys;
|
|
@@ -58,7 +58,7 @@ export declare const inMemoryStateCodec: (spec: ChainSpec) => Descriptor<InMemor
|
|
|
58
58
|
sealingKeySeries: Descriptor<import("@typeberry/state").SafroleSealingKeys, import("@typeberry/state").SafroleSealingKeys>;
|
|
59
59
|
ticketsAccumulator: Descriptor<readonly Ticket[] & import("@typeberry/utils").WithOpaque<"0...EpochLength">, import("@typeberry/codec").SequenceView<Ticket, import("@typeberry/codec").ViewOf<Ticket, {
|
|
60
60
|
id: Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
|
|
61
|
-
attempt: Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[
|
|
61
|
+
attempt: Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[u8]">, import("@typeberry/numbers").U32>;
|
|
62
62
|
}>>>;
|
|
63
63
|
disputesRecords: Descriptor<import("@typeberry/state").DisputesRecords, import("@typeberry/state").DisputesRecords>;
|
|
64
64
|
entropy: Descriptor<import("@typeberry/collections").FixedSizeArray<import("@typeberry/hash").Blake2bHash & import("@typeberry/utils").WithOpaque<"EntropyHash">, 4>, import("@typeberry/collections").FixedSizeArray<import("@typeberry/hash").Blake2bHash & import("@typeberry/utils").WithOpaque<"EntropyHash">, 4>>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Block, type BlockView, Header, type StateRootHash } from "#@typeberry/block";
|
|
2
2
|
import type { BytesBlob } from "#@typeberry/bytes";
|
|
3
|
-
import { type ChainSpec } from "#@typeberry/config";
|
|
4
3
|
import { type TruncatedHash } from "#@typeberry/hash";
|
|
5
4
|
import { type FromJson } from "#@typeberry/json-parser";
|
|
6
5
|
export declare class StateKeyVal {
|
|
@@ -33,7 +32,7 @@ export declare class TestState {
|
|
|
33
32
|
keyvals: StateKeyVal[];
|
|
34
33
|
}
|
|
35
34
|
export declare class StateTransitionGenesis {
|
|
36
|
-
static fromJson
|
|
35
|
+
static fromJson: FromJson<StateTransitionGenesis>;
|
|
37
36
|
static Codec: import("@typeberry/codec").Descriptor<{
|
|
38
37
|
header: Header & import("@typeberry/codec").CodecRecord<Header>;
|
|
39
38
|
state: {
|
|
@@ -80,7 +79,7 @@ export declare class StateTransition {
|
|
|
80
79
|
ticketsMarker: import("@typeberry/codec").Descriptor<import("@typeberry/block").TicketsMarker | null, import("@typeberry/codec").ViewOf<import("@typeberry/block").TicketsMarker, {
|
|
81
80
|
tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").Ticket[] & import("@typeberry/utils").WithOpaque<"EpochLength">, import("@typeberry/codec").SequenceView<import("@typeberry/block").Ticket, import("@typeberry/codec").ViewOf<import("@typeberry/block").Ticket, {
|
|
82
81
|
id: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
|
|
83
|
-
attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[
|
|
82
|
+
attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[u8]">, import("@typeberry/numbers").U32>;
|
|
84
83
|
}>>>;
|
|
85
84
|
}> | null>;
|
|
86
85
|
bandersnatchBlockAuthorIndex: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
|
|
@@ -90,7 +89,7 @@ export declare class StateTransition {
|
|
|
90
89
|
}>>;
|
|
91
90
|
extrinsic: import("@typeberry/codec").Descriptor<import("@typeberry/block").Extrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block").Extrinsic, {
|
|
92
91
|
tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").SignedTicket[] & import("@typeberry/utils").WithOpaque<"Size: [0..chainSpec.maxTicketsPerExtrinsic)">, import("@typeberry/codec").SequenceView<import("@typeberry/block").SignedTicket, import("@typeberry/codec").ViewOf<import("@typeberry/block").SignedTicket, {
|
|
93
|
-
attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[
|
|
92
|
+
attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[u8]">, import("@typeberry/numbers").U32>;
|
|
94
93
|
signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<784> & import("@typeberry/utils").WithOpaque<"BandersnatchRingSignature">, import("@typeberry/bytes").Bytes<784>>;
|
|
95
94
|
}>>>;
|
|
96
95
|
preimages: import("@typeberry/codec").Descriptor<import("@typeberry/block").Preimage[], import("@typeberry/codec").SequenceView<import("@typeberry/block").Preimage, import("@typeberry/codec").ViewOf<import("@typeberry/block").Preimage, {
|
|
@@ -214,7 +213,7 @@ export declare class StateTransition {
|
|
|
214
213
|
ticketsMarker: import("@typeberry/codec").Descriptor<import("@typeberry/block").TicketsMarker | null, import("@typeberry/codec").ViewOf<import("@typeberry/block").TicketsMarker, {
|
|
215
214
|
tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").Ticket[] & import("@typeberry/utils").WithOpaque<"EpochLength">, import("@typeberry/codec").SequenceView<import("@typeberry/block").Ticket, import("@typeberry/codec").ViewOf<import("@typeberry/block").Ticket, {
|
|
216
215
|
id: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
|
|
217
|
-
attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[
|
|
216
|
+
attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[u8]">, import("@typeberry/numbers").U32>;
|
|
218
217
|
}>>>;
|
|
219
218
|
}> | null>;
|
|
220
219
|
bandersnatchBlockAuthorIndex: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
|
|
@@ -224,7 +223,7 @@ export declare class StateTransition {
|
|
|
224
223
|
}>>;
|
|
225
224
|
extrinsic: import("@typeberry/codec").Descriptor<import("@typeberry/block").Extrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block").Extrinsic, {
|
|
226
225
|
tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").SignedTicket[] & import("@typeberry/utils").WithOpaque<"Size: [0..chainSpec.maxTicketsPerExtrinsic)">, import("@typeberry/codec").SequenceView<import("@typeberry/block").SignedTicket, import("@typeberry/codec").ViewOf<import("@typeberry/block").SignedTicket, {
|
|
227
|
-
attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[
|
|
226
|
+
attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[u8]">, import("@typeberry/numbers").U32>;
|
|
228
227
|
signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<784> & import("@typeberry/utils").WithOpaque<"BandersnatchRingSignature">, import("@typeberry/bytes").Bytes<784>>;
|
|
229
228
|
}>>>;
|
|
230
229
|
preimages: import("@typeberry/codec").Descriptor<import("@typeberry/block").Preimage[], import("@typeberry/codec").SequenceView<import("@typeberry/block").Preimage, import("@typeberry/codec").ViewOf<import("@typeberry/block").Preimage, {
|
|
@@ -348,7 +347,7 @@ export declare class StateTransition {
|
|
|
348
347
|
ticketsMarker: import("@typeberry/codec").Descriptor<import("@typeberry/block").TicketsMarker | null, import("@typeberry/codec").ViewOf<import("@typeberry/block").TicketsMarker, {
|
|
349
348
|
tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").Ticket[] & import("@typeberry/utils").WithOpaque<"EpochLength">, import("@typeberry/codec").SequenceView<import("@typeberry/block").Ticket, import("@typeberry/codec").ViewOf<import("@typeberry/block").Ticket, {
|
|
350
349
|
id: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
|
|
351
|
-
attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[
|
|
350
|
+
attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[u8]">, import("@typeberry/numbers").U32>;
|
|
352
351
|
}>>>;
|
|
353
352
|
}> | null>;
|
|
354
353
|
bandersnatchBlockAuthorIndex: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
|
|
@@ -358,7 +357,7 @@ export declare class StateTransition {
|
|
|
358
357
|
}>>;
|
|
359
358
|
extrinsic: import("@typeberry/codec").Descriptor<import("@typeberry/block").Extrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block").Extrinsic, {
|
|
360
359
|
tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").SignedTicket[] & import("@typeberry/utils").WithOpaque<"Size: [0..chainSpec.maxTicketsPerExtrinsic)">, import("@typeberry/codec").SequenceView<import("@typeberry/block").SignedTicket, import("@typeberry/codec").ViewOf<import("@typeberry/block").SignedTicket, {
|
|
361
|
-
attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[
|
|
360
|
+
attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[u8]">, import("@typeberry/numbers").U32>;
|
|
362
361
|
signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<784> & import("@typeberry/utils").WithOpaque<"BandersnatchRingSignature">, import("@typeberry/bytes").Bytes<784>>;
|
|
363
362
|
}>>>;
|
|
364
363
|
preimages: import("@typeberry/codec").Descriptor<import("@typeberry/block").Preimage[], import("@typeberry/codec").SequenceView<import("@typeberry/block").Preimage, import("@typeberry/codec").ViewOf<import("@typeberry/block").Preimage, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/state-vectors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAErF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/state-vectors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAErF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,KAAK,QAAQ,EAAQ,MAAM,wBAAwB,CAAC;AAE7D,qBAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAGpC;IACF,GAAG,EAAG,aAAa,CAAC;IACpB,KAAK,EAAG,SAAS,CAAC;CACnB;AAED,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAGlC;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;SAQT;IAEH,UAAU,EAAG,aAAa,CAAC;IAC3B,OAAO,EAAG,WAAW,EAAE,CAAC;CACzB;AAED,qBAAa,sBAAsB;IACjC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAG/C;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;SAGT;IAEH,MAAM,EAAG,MAAM,CAAC;IAChB,KAAK,EAAG,SAAS,CAAC;CACnB;AAED,qBAAa,eAAe;IAC1B,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,CAIxC;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAIT;IAEH,SAAS,EAAG,SAAS,CAAC;IACtB,UAAU,EAAG,SAAS,CAAC;IACvB,KAAK,EAAG,SAAS,CAAC;CACnB"}
|
|
@@ -28,12 +28,10 @@ export class TestState {
|
|
|
28
28
|
keyvals;
|
|
29
29
|
}
|
|
30
30
|
export class StateTransitionGenesis {
|
|
31
|
-
static fromJson
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
};
|
|
36
|
-
}
|
|
31
|
+
static fromJson = {
|
|
32
|
+
header: headerFromJson,
|
|
33
|
+
state: TestState.fromJson,
|
|
34
|
+
};
|
|
37
35
|
static Codec = codec.object({
|
|
38
36
|
header: Header.Codec,
|
|
39
37
|
state: TestState.Codec,
|
|
@@ -11,7 +11,7 @@ import { MAX_VALUE_U64, sumU64, tryAsU32 } from "#@typeberry/numbers";
|
|
|
11
11
|
import { accumulationOutputComparator, hashComparator, ServiceAccountInfo, tryAsPerCore, } from "#@typeberry/state";
|
|
12
12
|
import { assertEmpty, Compatibility, GpVersion, Result, TestSuite } from "#@typeberry/utils";
|
|
13
13
|
import { AccumulateExternalities } from "../externalities/accumulate-externalities.js";
|
|
14
|
-
import {
|
|
14
|
+
import { AccumulateFetchExternalities } from "../externalities/accumulate-fetch-externalities.js";
|
|
15
15
|
import { AccumulateData } from "./accumulate-data.js";
|
|
16
16
|
import { AccumulateQueue, pruneQueue } from "./accumulate-queue.js";
|
|
17
17
|
import { GAS_TO_INVOKE_WORK_REPORT, } from "./accumulate-state.js";
|
|
@@ -86,7 +86,7 @@ export class Accumulate {
|
|
|
86
86
|
}
|
|
87
87
|
const nextServiceId = generateNextServiceId({ serviceId, entropy, timeslot: slot }, this.chainSpec, this.blake2b);
|
|
88
88
|
const partialState = new AccumulateExternalities(this.chainSpec, this.blake2b, updatedState, serviceId, nextServiceId, slot);
|
|
89
|
-
const fetchExternalities =
|
|
89
|
+
const fetchExternalities = new AccumulateFetchExternalities(entropy, transfers, operands, this.chainSpec);
|
|
90
90
|
const externalities = {
|
|
91
91
|
partialState,
|
|
92
92
|
serviceExternalities: partialState,
|