@typeberry/lib 0.5.9 → 0.5.10
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/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/fuzz-proto/v1/types.d.ts +1 -1
- package/packages/jam/in-core/externalities/refine.d.ts +27 -6
- package/packages/jam/in-core/externalities/refine.d.ts.map +1 -1
- package/packages/jam/in-core/externalities/refine.js +40 -7
- 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 +163 -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 +14 -5
- package/packages/jam/jam-host-calls/externalities/refine-externalities.d.ts +2 -0
- 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/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/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
|
@@ -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,
|
|
@@ -40,7 +40,7 @@ describe("TransitionHasher", () => {
|
|
|
40
40
|
}
|
|
41
41
|
function prepareTickets() {
|
|
42
42
|
return rawTickets.map(({ attempt, signature }) => SignedTicket.create({
|
|
43
|
-
attempt: tryAsTicketAttempt(attempt
|
|
43
|
+
attempt: tryAsTicketAttempt(attempt),
|
|
44
44
|
signature: Bytes.parseBytes(signature, BANDERSNATCH_PROOF_BYTES).asOpaque(),
|
|
45
45
|
}));
|
|
46
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../../packages/workers/block-authorship/main.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAgB3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAK9E,KAAK,MAAM,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC;AAkBlD,wBAAsB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../../packages/workers/block-authorship/main.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAgB3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAK9E,KAAK,MAAM,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC;AAkBlD,wBAAsB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,iBA+OpG"}
|
|
@@ -152,7 +152,7 @@ export async function main(config, comms, networkingComms) {
|
|
|
152
152
|
// After epoch change, it has been shifted to index 2.
|
|
153
153
|
const ticketEntropy = isNewEpoch ? state.entropy[1] : state.entropy[2];
|
|
154
154
|
logger.info `Epoch ${epoch}, slot ${slotInEpoch}/${chainSpec.contestLength}. Generating tickets for ${validatorKeys.length} validators...`;
|
|
155
|
-
const ticketsResult = await generateTickets(bandersnatch, ringKeys, validatorKeys, ticketEntropy, chainSpec.ticketsPerValidator
|
|
155
|
+
const ticketsResult = await generateTickets(bandersnatch, ringKeys, validatorKeys, ticketEntropy, chainSpec.ticketsPerValidator);
|
|
156
156
|
if (ticketsResult.isError) {
|
|
157
157
|
logger.warn `Failed to generate tickets for epoch ${epoch}: ${ticketsResult.error}`;
|
|
158
158
|
}
|