@typeberry/lib 0.5.4 → 0.5.5-befa219

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.
Files changed (123) hide show
  1. package/bin/lib/scripts/build-lib.js +1 -0
  2. package/package.json +5 -1
  3. package/packages/core/json-parser/descriptors.d.ts.map +1 -1
  4. package/packages/core/json-parser/descriptors.js +3 -0
  5. package/packages/core/json-parser/index.test.js +30 -0
  6. package/packages/core/networking/package.json +1 -1
  7. package/packages/core/pvm-host-calls/ecalli-trace-logger.js +1 -1
  8. package/packages/core/pvm-host-calls/ecalli-trace-logger.test.js +7 -7
  9. package/packages/core/pvm-host-calls/host-call-registers.js +1 -1
  10. package/packages/core/telemetry/package.json +1 -1
  11. package/packages/core/utils/compatibility.d.ts +0 -1
  12. package/packages/core/utils/compatibility.d.ts.map +1 -1
  13. package/packages/core/utils/compatibility.js +1 -2
  14. package/packages/core/utils/compatibility.test.js +6 -10
  15. package/packages/jam/block/index.d.ts +11 -11
  16. package/packages/jam/block/index.d.ts.map +1 -1
  17. package/packages/jam/block/index.js +11 -11
  18. package/packages/jam/block-json/block.d.ts +25 -25
  19. package/packages/jam/database-lmdb/states.test.js +3 -5
  20. package/packages/jam/fuzz-proto/v1/types.d.ts +1 -1
  21. package/packages/jam/jam-host-calls/accumulate/bless.d.ts.map +1 -1
  22. package/packages/jam/jam-host-calls/accumulate/bless.js +6 -10
  23. package/packages/jam/jam-host-calls/accumulate/bless.test.js +32 -72
  24. package/packages/jam/jam-host-calls/accumulate/new.d.ts.map +1 -1
  25. package/packages/jam/jam-host-calls/accumulate/new.js +2 -4
  26. package/packages/jam/jam-host-calls/accumulate/new.test.js +4 -5
  27. package/packages/jam/jam-host-calls/general/fetch.d.ts +1 -57
  28. package/packages/jam/jam-host-calls/general/fetch.d.ts.map +1 -1
  29. package/packages/jam/jam-host-calls/general/fetch.js +6 -29
  30. package/packages/jam/jam-host-calls/general/fetch.test.js +2 -58
  31. package/packages/jam/jamnp-s/protocol/ce-133-work-package-submission.d.ts +4 -4
  32. package/packages/jam/jamnp-s/protocol/ce-135-work-report-distribution.d.ts +13 -13
  33. package/packages/jam/jamnp-s/protocol/up-0-block-announcement.d.ts +1 -1
  34. package/packages/jam/node/package.json +1 -1
  35. package/packages/jam/node/reader.d.ts +25 -25
  36. package/packages/jam/node/workers.d.ts +183 -183
  37. package/packages/jam/safrole/bandersnatch-vrf.d.ts +7 -2
  38. package/packages/jam/safrole/bandersnatch-vrf.d.ts.map +1 -1
  39. package/packages/jam/safrole/bandersnatch-vrf.js +34 -1
  40. package/packages/jam/safrole/bandersnatch-vrf.test.js +15 -0
  41. package/packages/jam/safrole/bandersnatch-wasm.d.ts +1 -0
  42. package/packages/jam/safrole/bandersnatch-wasm.d.ts.map +1 -1
  43. package/packages/jam/safrole/bandersnatch-wasm.js +3 -0
  44. package/packages/jam/state/accumulation-queue.d.ts +26 -26
  45. package/packages/jam/state/assurances.d.ts +26 -26
  46. package/packages/jam/state/privileged-services.d.ts +1 -1
  47. package/packages/jam/state/privileged-services.d.ts.map +1 -1
  48. package/packages/jam/state/privileged-services.js +1 -6
  49. package/packages/jam/state/service.d.ts +1 -1
  50. package/packages/jam/state/service.d.ts.map +1 -1
  51. package/packages/jam/state/statistics.d.ts +0 -8
  52. package/packages/jam/state/statistics.d.ts.map +1 -1
  53. package/packages/jam/state/statistics.js +14 -44
  54. package/packages/jam/state/statistics.test.js +1 -8
  55. package/packages/jam/state/test.utils.d.ts +1 -1
  56. package/packages/jam/state/test.utils.d.ts.map +1 -1
  57. package/packages/jam/state/test.utils.js +4 -22
  58. package/packages/jam/state-json/accounts.d.ts +10 -0
  59. package/packages/jam/state-json/accounts.d.ts.map +1 -1
  60. package/packages/jam/state-json/accounts.js +47 -19
  61. package/packages/jam/state-json/dump.d.ts.map +1 -1
  62. package/packages/jam/state-json/dump.js +5 -9
  63. package/packages/jam/state-json/dump.test.js +2 -10
  64. package/packages/jam/state-json/statistics.d.ts +1 -1
  65. package/packages/jam/state-json/statistics.d.ts.map +1 -1
  66. package/packages/jam/state-json/statistics.js +1 -13
  67. package/packages/jam/state-merkleization/in-memory-state-codec.d.ts +29 -31
  68. package/packages/jam/state-merkleization/in-memory-state-codec.d.ts.map +1 -1
  69. package/packages/jam/state-merkleization/serialize.d.ts +4 -4
  70. package/packages/jam/state-merkleization/serialize.d.ts.map +1 -1
  71. package/packages/jam/state-merkleization/serialize.js +5 -8
  72. package/packages/jam/state-merkleization/serialized-state-view.d.ts.map +1 -1
  73. package/packages/jam/state-merkleization/state-entries.test.js +1 -7
  74. package/packages/jam/state-vectors/index.d.ts +75 -75
  75. package/packages/jam/transition/accumulate/accumulate-data.d.ts.map +1 -1
  76. package/packages/jam/transition/accumulate/accumulate-data.js +6 -1
  77. package/packages/jam/transition/accumulate/accumulate-state.d.ts +1 -2
  78. package/packages/jam/transition/accumulate/accumulate-state.d.ts.map +1 -1
  79. package/packages/jam/transition/accumulate/accumulate-utils.d.ts.map +1 -1
  80. package/packages/jam/transition/accumulate/accumulate-utils.js +2 -6
  81. package/packages/jam/transition/accumulate/accumulate-utils.test.js +2 -4
  82. package/packages/jam/transition/accumulate/accumulate.d.ts +0 -9
  83. package/packages/jam/transition/accumulate/accumulate.d.ts.map +1 -1
  84. package/packages/jam/transition/accumulate/accumulate.js +15 -57
  85. package/packages/jam/transition/accumulate/index.d.ts +0 -1
  86. package/packages/jam/transition/accumulate/index.d.ts.map +1 -1
  87. package/packages/jam/transition/accumulate/index.js +0 -1
  88. package/packages/jam/transition/accumulate/operand.d.ts +7 -7
  89. package/packages/jam/transition/chain-stf.d.ts +3 -5
  90. package/packages/jam/transition/chain-stf.d.ts.map +1 -1
  91. package/packages/jam/transition/chain-stf.js +5 -29
  92. package/packages/jam/transition/disputes/disputes.test.data2.d.ts +3 -3
  93. package/packages/jam/transition/disputes/disputes.test.data2.d.ts.map +1 -1
  94. package/packages/jam/transition/externalities/accumulate-externalities.d.ts.map +1 -1
  95. package/packages/jam/transition/externalities/accumulate-externalities.js +22 -49
  96. package/packages/jam/transition/externalities/accumulate-externalities.test.js +8 -72
  97. package/packages/jam/transition/externalities/fetch-externalities.d.ts +3 -22
  98. package/packages/jam/transition/externalities/fetch-externalities.d.ts.map +1 -1
  99. package/packages/jam/transition/externalities/fetch-externalities.js +3 -55
  100. package/packages/jam/transition/externalities/fetch-externalities.test.js +199 -112
  101. package/packages/jam/transition/statistics.d.ts +0 -7
  102. package/packages/jam/transition/statistics.d.ts.map +1 -1
  103. package/packages/jam/transition/statistics.js +2 -11
  104. package/packages/jam/transition/statistics.test.js +0 -40
  105. package/packages/workers/block-authorship/generator.test.d.ts +2 -0
  106. package/packages/workers/block-authorship/generator.test.d.ts.map +1 -0
  107. package/packages/workers/block-authorship/generator.test.js +200 -0
  108. package/packages/workers/block-authorship/main.d.ts.map +1 -1
  109. package/packages/workers/block-authorship/main.js +31 -1
  110. package/packages/workers/block-authorship/package.json +1 -1
  111. package/packages/workers/block-authorship/protocol.d.ts +50 -50
  112. package/packages/workers/block-authorship/ticket-generator.d.ts +21 -0
  113. package/packages/workers/block-authorship/ticket-generator.d.ts.map +1 -0
  114. package/packages/workers/block-authorship/ticket-generator.js +37 -0
  115. package/packages/workers/block-authorship/ticket-generator.test.d.ts +2 -0
  116. package/packages/workers/block-authorship/ticket-generator.test.d.ts.map +1 -0
  117. package/packages/workers/block-authorship/ticket-generator.test.js +100 -0
  118. package/packages/workers/importer/package.json +1 -1
  119. package/packages/workers/importer/protocol.d.ts +54 -54
  120. package/packages/workers/jam-network/protocol.d.ts +79 -79
  121. package/packages/jam/transition/accumulate/deferred-transfers.d.ts +0 -36
  122. package/packages/jam/transition/accumulate/deferred-transfers.d.ts.map +0 -1
  123. package/packages/jam/transition/accumulate/deferred-transfers.js +0 -94
@@ -0,0 +1,21 @@
1
+ import type { EntropyHash } from "#@typeberry/block";
2
+ import { type SignedTicket } from "#@typeberry/block/tickets.js";
3
+ import type { BandersnatchKey, BandersnatchSecretSeed } from "#@typeberry/crypto";
4
+ import type { BandernsatchWasm } from "#@typeberry/safrole/bandersnatch-wasm.js";
5
+ import { Result } from "#@typeberry/utils";
6
+ export declare enum TicketGeneratorError {
7
+ TicketGenerationFailed = "TicketGenerationFailed",
8
+ ValidatorNotInRing = "ValidatorNotInRing"
9
+ }
10
+ export type ValidatorKey = {
11
+ secret: BandersnatchSecretSeed;
12
+ public: BandersnatchKey;
13
+ };
14
+ /**
15
+ * Generates tickets for all validator keys.
16
+ *
17
+ * Each validator key produces `ticketsPerValidator` tickets using ring VRF proofs.
18
+ * The ring keys define the anonymous set - only members can produce valid proofs.
19
+ */
20
+ export declare function generateTickets(bandersnatch: BandernsatchWasm, ringKeys: BandersnatchKey[], validatorKeys: ValidatorKey[], entropy: EntropyHash, ticketsPerValidator: number): Promise<Result<SignedTicket[], TicketGeneratorError>>;
21
+ //# sourceMappingURL=ticket-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-generator.d.ts","sourceRoot":"","sources":["../../../../../packages/workers/block-authorship/ticket-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI1C,oBAAY,oBAAoB;IAC9B,sBAAsB,2BAA2B;IACjD,kBAAkB,uBAAuB;CAC1C;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,EAAE,eAAe,EAAE,EAC3B,aAAa,EAAE,YAAY,EAAE,EAC7B,OAAO,EAAE,WAAW,EACpB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAkCvD"}
@@ -0,0 +1,37 @@
1
+ import { tryAsTicketAttempt } from "#@typeberry/block/tickets.js";
2
+ import { Logger } from "#@typeberry/logger";
3
+ import bandersnatchVrf from "#@typeberry/safrole/bandersnatch-vrf.js";
4
+ import { Result } from "#@typeberry/utils";
5
+ const logger = Logger.new(import.meta.filename, "tickets-generator");
6
+ export var TicketGeneratorError;
7
+ (function (TicketGeneratorError) {
8
+ TicketGeneratorError["TicketGenerationFailed"] = "TicketGenerationFailed";
9
+ TicketGeneratorError["ValidatorNotInRing"] = "ValidatorNotInRing";
10
+ })(TicketGeneratorError || (TicketGeneratorError = {}));
11
+ /**
12
+ * Generates tickets for all validator keys.
13
+ *
14
+ * Each validator key produces `ticketsPerValidator` tickets using ring VRF proofs.
15
+ * The ring keys define the anonymous set - only members can produce valid proofs.
16
+ */
17
+ export async function generateTickets(bandersnatch, ringKeys, validatorKeys, entropy, ticketsPerValidator) {
18
+ const allTickets = [];
19
+ for (const validatorKey of validatorKeys) {
20
+ const proverIndex = ringKeys.findIndex((k) => k.isEqualTo(validatorKey.public));
21
+ if (proverIndex < 0) {
22
+ logger.warn `Validator public key not found in the ring, skipping ticket generation for this key`;
23
+ continue;
24
+ }
25
+ const ticketResult = await bandersnatchVrf.generateTickets(bandersnatch, ringKeys, proverIndex, validatorKey.secret, entropy, tryAsTicketAttempt(ticketsPerValidator));
26
+ if (ticketResult.isOk) {
27
+ allTickets.push(...ticketResult.ok);
28
+ }
29
+ else {
30
+ logger.warn `Failed to generate tickets for validator, skipping`;
31
+ }
32
+ }
33
+ if (validatorKeys.length > 0 && allTickets.length === 0) {
34
+ return Result.error(TicketGeneratorError.TicketGenerationFailed, () => "Failed to generate tickets for all validators");
35
+ }
36
+ return Result.ok(allTickets);
37
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ticket-generator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-generator.test.d.ts","sourceRoot":"","sources":["../../../../../packages/workers/block-authorship/ticket-generator.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,100 @@
1
+ import assert from "node:assert";
2
+ import { afterEach, beforeEach, describe, it, mock } from "node:test";
3
+ import { tryAsTicketAttempt } from "#@typeberry/block/tickets.js";
4
+ import { Bytes } from "#@typeberry/bytes";
5
+ import { BANDERSNATCH_KEY_BYTES, initWasm, SEED_SIZE } from "#@typeberry/crypto";
6
+ import { HASH_SIZE } from "#@typeberry/hash";
7
+ import bandersnatchVrf from "#@typeberry/safrole/bandersnatch-vrf.js";
8
+ import { Result } from "#@typeberry/utils";
9
+ import { generateTickets, TicketGeneratorError } from "./ticket-generator.js";
10
+ const MOCK_ENTROPY = Bytes.zero(HASH_SIZE).asOpaque();
11
+ const MOCK_BANDERSNATCH = {};
12
+ function createMockRingKeys(count) {
13
+ return Array.from({ length: count }, (_, i) => Bytes.fill(BANDERSNATCH_KEY_BYTES, i).asOpaque());
14
+ }
15
+ function createMockValidatorKeys(count) {
16
+ return Array.from({ length: count }, (_, i) => ({
17
+ secret: Bytes.fill(SEED_SIZE, i).asOpaque(),
18
+ public: Bytes.fill(BANDERSNATCH_KEY_BYTES, i).asOpaque(),
19
+ }));
20
+ }
21
+ describe("Ticket Generator", () => {
22
+ beforeEach(async () => {
23
+ await initWasm();
24
+ mock.method(bandersnatchVrf, "generateTickets", async (_bandersnatch, _ringKeys, _proverIndex, _key, _entropy, ticketsPerValidator) => {
25
+ const tickets = [];
26
+ for (let attempt = 0; attempt < ticketsPerValidator; attempt++) {
27
+ tickets.push({
28
+ attempt: tryAsTicketAttempt(attempt),
29
+ signature: Bytes.zero(784).asOpaque(),
30
+ });
31
+ }
32
+ return Result.ok(tickets);
33
+ });
34
+ });
35
+ afterEach(() => {
36
+ mock.restoreAll();
37
+ });
38
+ describe("generateTickets", () => {
39
+ it("should generate correct total number of tickets", async () => {
40
+ const ringKeys = createMockRingKeys(3);
41
+ const validatorKeys = createMockValidatorKeys(3);
42
+ const ticketsPerValidator = 2;
43
+ const result = await generateTickets(MOCK_BANDERSNATCH, ringKeys, validatorKeys, MOCK_ENTROPY, ticketsPerValidator);
44
+ assert.ok(result.isOk);
45
+ assert.strictEqual(result.ok.length, 6);
46
+ });
47
+ it("should generate tickets with correct attempt values", async () => {
48
+ const ringKeys = createMockRingKeys(2);
49
+ const validatorKeys = createMockValidatorKeys(2);
50
+ const ticketsPerValidator = 2;
51
+ const result = await generateTickets(MOCK_BANDERSNATCH, ringKeys, validatorKeys, MOCK_ENTROPY, ticketsPerValidator);
52
+ assert.ok(result.isOk);
53
+ const tickets = result.ok;
54
+ assert.strictEqual(tickets[0].attempt, tryAsTicketAttempt(0));
55
+ assert.strictEqual(tickets[1].attempt, tryAsTicketAttempt(1));
56
+ assert.strictEqual(tickets[2].attempt, tryAsTicketAttempt(0));
57
+ assert.strictEqual(tickets[3].attempt, tryAsTicketAttempt(1));
58
+ });
59
+ it("should return empty array for no validator keys", async () => {
60
+ const ringKeys = createMockRingKeys(3);
61
+ const ticketsPerValidator = 2;
62
+ const result = await generateTickets(MOCK_BANDERSNATCH, ringKeys, [], MOCK_ENTROPY, ticketsPerValidator);
63
+ assert.ok(result.isOk);
64
+ assert.strictEqual(result.ok.length, 0);
65
+ });
66
+ it("should skip validators not in the ring and return tickets for valid ones", async () => {
67
+ const ticketsPerValidator = 2;
68
+ const ringKeys = createMockRingKeys(3);
69
+ const correctValidatorKeys = createMockValidatorKeys(2);
70
+ const incorrectValidatorKeys = [
71
+ {
72
+ secret: Bytes.fill(SEED_SIZE, 99).asOpaque(),
73
+ public: Bytes.fill(BANDERSNATCH_KEY_BYTES, 99).asOpaque(),
74
+ },
75
+ ];
76
+ const validatorKeys = [...correctValidatorKeys, ...incorrectValidatorKeys];
77
+ const result = await generateTickets(MOCK_BANDERSNATCH, ringKeys, validatorKeys, MOCK_ENTROPY, ticketsPerValidator);
78
+ assert.ok(result.isOk);
79
+ // Only the 2 valid validators should produce tickets
80
+ assert.strictEqual(result.ok.length, 4);
81
+ });
82
+ it("should error when all validators fail", async () => {
83
+ const ticketsPerValidator = 2;
84
+ const ringKeys = createMockRingKeys(3);
85
+ const invalidValidatorKeys = [
86
+ {
87
+ secret: Bytes.fill(SEED_SIZE, 99).asOpaque(),
88
+ public: Bytes.fill(BANDERSNATCH_KEY_BYTES, 99).asOpaque(),
89
+ },
90
+ {
91
+ secret: Bytes.fill(SEED_SIZE, 98).asOpaque(),
92
+ public: Bytes.fill(BANDERSNATCH_KEY_BYTES, 98).asOpaque(),
93
+ },
94
+ ];
95
+ const result = await generateTickets(MOCK_BANDERSNATCH, ringKeys, invalidValidatorKeys, MOCK_ENTROPY, ticketsPerValidator);
96
+ assert.ok(result.isError);
97
+ assert.strictEqual(result.error, TicketGeneratorError.TicketGenerationFailed);
98
+ });
99
+ });
100
+ });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typeberry/importer",
3
- "version": "0.5.4",
3
+ "version": "0.5.5",
4
4
  "description": "A JAM block importer queue.",
5
5
  "main": "index.ts",
6
6
  "dependencies": {
@@ -31,7 +31,7 @@ export declare const protocol: import("@typeberry/workers-api").LousyProtocol<{
31
31
  }>>>;
32
32
  }> | null>;
33
33
  ticketsMarker: import("@typeberry/codec").Descriptor<import("@typeberry/block").TicketsMarker | null, import("@typeberry/codec").ViewOf<import("@typeberry/block").TicketsMarker, {
34
- tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/tickets.js").Ticket[] & import("@typeberry/utils").WithOpaque<"EpochLength">, import("@typeberry/codec").SequenceView<import("@typeberry/block/tickets.js").Ticket, import("@typeberry/codec").ViewOf<import("@typeberry/block/tickets.js").Ticket, {
34
+ 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, {
35
35
  id: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
36
36
  attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[0|1|2]">, import("@typeberry/numbers").U8>;
37
37
  }>>>;
@@ -42,24 +42,24 @@ export declare const protocol: import("@typeberry/workers-api").LousyProtocol<{
42
42
  seal: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<96> & import("@typeberry/utils").WithOpaque<"BandersnatchVrfSignature">, import("@typeberry/bytes").Bytes<96>>;
43
43
  }>>;
44
44
  extrinsic: import("@typeberry/codec").Descriptor<import("@typeberry/block").Extrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block").Extrinsic, {
45
- tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/tickets.js").SignedTicket[] & import("@typeberry/utils").WithOpaque<"Size: [0..chainSpec.maxTicketsPerExtrinsic)">, import("@typeberry/codec").SequenceView<import("@typeberry/block/tickets.js").SignedTicket, import("@typeberry/codec").ViewOf<import("@typeberry/block/tickets.js").SignedTicket, {
45
+ 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, {
46
46
  attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[0|1|2]">, import("@typeberry/numbers").U8>;
47
47
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<784> & import("@typeberry/utils").WithOpaque<"BandersnatchRingSignature">, import("@typeberry/bytes").Bytes<784>>;
48
48
  }>>>;
49
- preimages: import("@typeberry/codec").Descriptor<import("@typeberry/block/preimage.js").Preimage[], import("@typeberry/codec").SequenceView<import("@typeberry/block/preimage.js").Preimage, import("@typeberry/codec").ViewOf<import("@typeberry/block/preimage.js").Preimage, {
49
+ 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, {
50
50
  requester: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"ServiceId[u32]">, import("@typeberry/bytes").Bytes<4>>;
51
51
  blob: import("@typeberry/codec").Descriptor<BytesBlob, BytesBlob>;
52
52
  }>>>;
53
- guarantees: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/guarantees.js").ReportGuarantee[] & import("@typeberry/utils").WithOpaque<"[0..CoresCount)">, import("@typeberry/codec").SequenceView<import("@typeberry/block/guarantees.js").ReportGuarantee, import("@typeberry/codec").ViewOf<import("@typeberry/block/guarantees.js").ReportGuarantee, {
54
- report: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-report.js").WorkReport, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-report.js").WorkReport, {
55
- workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-report.js").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-report.js").WorkPackageSpec, {
53
+ guarantees: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").ReportGuarantee[] & import("@typeberry/utils").WithOpaque<"[0..CoresCount)">, import("@typeberry/codec").SequenceView<import("@typeberry/block").ReportGuarantee, import("@typeberry/codec").ViewOf<import("@typeberry/block").ReportGuarantee, {
54
+ report: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkReport, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkReport, {
55
+ workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkPackageSpec, {
56
56
  hash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
57
57
  length: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/bytes").Bytes<4>>;
58
58
  erasureRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
59
59
  exportsRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
60
60
  exportsCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U16, import("@typeberry/bytes").Bytes<2>>;
61
61
  }>>;
62
- context: import("@typeberry/codec").Descriptor<import("@typeberry/block/refine-context.js").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block/refine-context.js").RefineContext, {
62
+ context: import("@typeberry/codec").Descriptor<import("@typeberry/block").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block").RefineContext, {
63
63
  anchor: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"HeaderHash">, import("@typeberry/bytes").Bytes<32>>;
64
64
  stateRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"StateRootHash">, import("@typeberry/bytes").Bytes<32>>;
65
65
  beefyRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"BeefyHash">, import("@typeberry/bytes").Bytes<32>>;
@@ -71,32 +71,32 @@ export declare const protocol: import("@typeberry/workers-api").LousyProtocol<{
71
71
  authorizerHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"AuthorizerHash">, import("@typeberry/bytes").Bytes<32>>;
72
72
  authorizationGasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
73
73
  authorizationOutput: import("@typeberry/codec").Descriptor<BytesBlob, BytesBlob>;
74
- segmentRootLookup: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/refine-context.js").WorkPackageInfo[], import("@typeberry/codec").SequenceView<import("@typeberry/block/refine-context.js").WorkPackageInfo, import("@typeberry/codec").ViewOf<import("@typeberry/block/refine-context.js").WorkPackageInfo, {
74
+ segmentRootLookup: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").WorkPackageInfo[], import("@typeberry/codec").SequenceView<import("@typeberry/block").WorkPackageInfo, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkPackageInfo, {
75
75
  workPackageHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
76
76
  segmentTreeRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
77
77
  }>>>;
78
- results: import("@typeberry/codec").Descriptor<import("@typeberry/collections").FixedSizeArray<import("@typeberry/block/work-result.js").WorkResult, import("@typeberry/numbers").U8>, import("@typeberry/codec").SequenceView<import("@typeberry/block/work-result.js").WorkResult, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-result.js").WorkResult, {
78
+ results: import("@typeberry/codec").Descriptor<import("@typeberry/collections").FixedSizeArray<import("@typeberry/block").WorkResult, import("@typeberry/numbers").U8>, import("@typeberry/codec").SequenceView<import("@typeberry/block").WorkResult, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkResult, {
79
79
  serviceId: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"ServiceId[u32]">, import("@typeberry/bytes").Bytes<4>>;
80
80
  codeHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"CodeHash">, import("@typeberry/bytes").Bytes<32>>;
81
81
  payloadHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
82
82
  gas: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/bytes").Bytes<8>>;
83
- result: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkExecResult, {
84
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.ok;
83
+ result: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkExecResult, {
84
+ kind: import("@typeberry/block").WorkExecResultKind.ok;
85
85
  okBlob: BytesBlob;
86
86
  } | {
87
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.outOfGas;
87
+ kind: import("@typeberry/block").WorkExecResultKind.outOfGas;
88
88
  } | {
89
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.panic;
89
+ kind: import("@typeberry/block").WorkExecResultKind.panic;
90
90
  } | {
91
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.incorrectNumberOfExports;
91
+ kind: import("@typeberry/block").WorkExecResultKind.incorrectNumberOfExports;
92
92
  } | {
93
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.digestTooBig;
93
+ kind: import("@typeberry/block").WorkExecResultKind.digestTooBig;
94
94
  } | {
95
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.badCode;
95
+ kind: import("@typeberry/block").WorkExecResultKind.badCode;
96
96
  } | {
97
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.codeOversize;
97
+ kind: import("@typeberry/block").WorkExecResultKind.codeOversize;
98
98
  }>;
99
- load: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-result.js").WorkRefineLoad, {
99
+ load: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkRefineLoad, {
100
100
  gasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
101
101
  importedSegments: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
102
102
  extrinsicCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
@@ -106,33 +106,33 @@ export declare const protocol: import("@typeberry/workers-api").LousyProtocol<{
106
106
  }>>>;
107
107
  }>>;
108
108
  slot: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"TimeSlot[u32]">, import("@typeberry/bytes").Bytes<4>>;
109
- credentials: import("@typeberry/codec").Descriptor<(readonly import("@typeberry/block/guarantees.js").Credential[] & import("@typeberry/utils").WithOpaque<"2">) | (readonly import("@typeberry/block/guarantees.js").Credential[] & import("@typeberry/utils").WithOpaque<"3">), import("@typeberry/codec").SequenceView<import("@typeberry/block/guarantees.js").Credential, import("@typeberry/codec").ViewOf<import("@typeberry/block/guarantees.js").Credential, {
109
+ credentials: import("@typeberry/codec").Descriptor<(readonly import("@typeberry/block").Credential[] & import("@typeberry/utils").WithOpaque<"2">) | (readonly import("@typeberry/block").Credential[] & import("@typeberry/utils").WithOpaque<"3">), import("@typeberry/codec").SequenceView<import("@typeberry/block").Credential, import("@typeberry/codec").ViewOf<import("@typeberry/block").Credential, {
110
110
  validatorIndex: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
111
111
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
112
112
  }>>>;
113
113
  }>>>;
114
- assurances: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/assurances.js").AvailabilityAssurance[] & import("@typeberry/utils").WithOpaque<"[0 .. ValidatorsCount)">, import("@typeberry/codec").SequenceView<import("@typeberry/block/assurances.js").AvailabilityAssurance, import("@typeberry/codec").ViewOf<import("@typeberry/block/assurances.js").AvailabilityAssurance, {
114
+ assurances: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").AvailabilityAssurance[] & import("@typeberry/utils").WithOpaque<"[0 .. ValidatorsCount)">, import("@typeberry/codec").SequenceView<import("@typeberry/block").AvailabilityAssurance, import("@typeberry/codec").ViewOf<import("@typeberry/block").AvailabilityAssurance, {
115
115
  anchor: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"HeaderHash">, import("@typeberry/bytes").Bytes<32>>;
116
116
  bitfield: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").BitVec, import("@typeberry/bytes").BitVec>;
117
117
  validatorIndex: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
118
118
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
119
119
  }>>>;
120
- disputes: import("@typeberry/codec").Descriptor<import("@typeberry/block/disputes.js").DisputesExtrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").DisputesExtrinsic, {
121
- verdicts: import("@typeberry/codec").Descriptor<import("@typeberry/block/disputes.js").Verdict[], import("@typeberry/codec").SequenceView<import("@typeberry/block/disputes.js").Verdict, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").Verdict, {
120
+ disputes: import("@typeberry/codec").Descriptor<import("@typeberry/block").DisputesExtrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block").DisputesExtrinsic, {
121
+ verdicts: import("@typeberry/codec").Descriptor<import("@typeberry/block").Verdict[], import("@typeberry/codec").SequenceView<import("@typeberry/block").Verdict, import("@typeberry/codec").ViewOf<import("@typeberry/block").Verdict, {
122
122
  workReportHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkReportHash">, import("@typeberry/bytes").Bytes<32>>;
123
123
  votesEpoch: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"Epoch">, import("@typeberry/bytes").Bytes<4>>;
124
- votes: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/disputes.js").Judgement[] & import("@typeberry/utils").WithOpaque<"Validators super majority">, import("@typeberry/codec").SequenceView<import("@typeberry/block/disputes.js").Judgement, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").Judgement, {
124
+ votes: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").Judgement[] & import("@typeberry/utils").WithOpaque<"Validators super majority">, import("@typeberry/codec").SequenceView<import("@typeberry/block").Judgement, import("@typeberry/codec").ViewOf<import("@typeberry/block").Judgement, {
125
125
  isWorkReportValid: import("@typeberry/codec").Descriptor<boolean, boolean>;
126
126
  index: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
127
127
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
128
128
  }>>>;
129
129
  }>>>;
130
- culprits: import("@typeberry/codec").Descriptor<import("@typeberry/block/disputes.js").Culprit[], import("@typeberry/codec").SequenceView<import("@typeberry/block/disputes.js").Culprit, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").Culprit, {
130
+ culprits: import("@typeberry/codec").Descriptor<import("@typeberry/block").Culprit[], import("@typeberry/codec").SequenceView<import("@typeberry/block").Culprit, import("@typeberry/codec").ViewOf<import("@typeberry/block").Culprit, {
131
131
  workReportHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkReportHash">, import("@typeberry/bytes").Bytes<32>>;
132
132
  key: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"Ed25519Key">, import("@typeberry/bytes").Bytes<32>>;
133
133
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
134
134
  }>>>;
135
- faults: import("@typeberry/codec").Descriptor<import("@typeberry/block/disputes.js").Fault[], import("@typeberry/codec").SequenceView<import("@typeberry/block/disputes.js").Fault, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").Fault, {
135
+ faults: import("@typeberry/codec").Descriptor<import("@typeberry/block").Fault[], import("@typeberry/codec").SequenceView<import("@typeberry/block").Fault, import("@typeberry/codec").ViewOf<import("@typeberry/block").Fault, {
136
136
  workReportHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkReportHash">, import("@typeberry/bytes").Bytes<32>>;
137
137
  wasConsideredValid: import("@typeberry/codec").Descriptor<boolean, boolean>;
138
138
  key: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"Ed25519Key">, import("@typeberry/bytes").Bytes<32>>;
@@ -155,7 +155,7 @@ export declare const protocol: import("@typeberry/workers-api").LousyProtocol<{
155
155
  }>>>;
156
156
  }> | null>;
157
157
  ticketsMarker: import("@typeberry/codec").Descriptor<import("@typeberry/block").TicketsMarker | null, import("@typeberry/codec").ViewOf<import("@typeberry/block").TicketsMarker, {
158
- tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/tickets.js").Ticket[] & import("@typeberry/utils").WithOpaque<"EpochLength">, import("@typeberry/codec").SequenceView<import("@typeberry/block/tickets.js").Ticket, import("@typeberry/codec").ViewOf<import("@typeberry/block/tickets.js").Ticket, {
158
+ 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, {
159
159
  id: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
160
160
  attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[0|1|2]">, import("@typeberry/numbers").U8>;
161
161
  }>>>;
@@ -166,24 +166,24 @@ export declare const protocol: import("@typeberry/workers-api").LousyProtocol<{
166
166
  seal: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<96> & import("@typeberry/utils").WithOpaque<"BandersnatchVrfSignature">, import("@typeberry/bytes").Bytes<96>>;
167
167
  }>>;
168
168
  extrinsic: import("@typeberry/codec").Descriptor<import("@typeberry/block").Extrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block").Extrinsic, {
169
- tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/tickets.js").SignedTicket[] & import("@typeberry/utils").WithOpaque<"Size: [0..chainSpec.maxTicketsPerExtrinsic)">, import("@typeberry/codec").SequenceView<import("@typeberry/block/tickets.js").SignedTicket, import("@typeberry/codec").ViewOf<import("@typeberry/block/tickets.js").SignedTicket, {
169
+ 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, {
170
170
  attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[0|1|2]">, import("@typeberry/numbers").U8>;
171
171
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<784> & import("@typeberry/utils").WithOpaque<"BandersnatchRingSignature">, import("@typeberry/bytes").Bytes<784>>;
172
172
  }>>>;
173
- preimages: import("@typeberry/codec").Descriptor<import("@typeberry/block/preimage.js").Preimage[], import("@typeberry/codec").SequenceView<import("@typeberry/block/preimage.js").Preimage, import("@typeberry/codec").ViewOf<import("@typeberry/block/preimage.js").Preimage, {
173
+ 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, {
174
174
  requester: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"ServiceId[u32]">, import("@typeberry/bytes").Bytes<4>>;
175
175
  blob: import("@typeberry/codec").Descriptor<BytesBlob, BytesBlob>;
176
176
  }>>>;
177
- guarantees: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/guarantees.js").ReportGuarantee[] & import("@typeberry/utils").WithOpaque<"[0..CoresCount)">, import("@typeberry/codec").SequenceView<import("@typeberry/block/guarantees.js").ReportGuarantee, import("@typeberry/codec").ViewOf<import("@typeberry/block/guarantees.js").ReportGuarantee, {
178
- report: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-report.js").WorkReport, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-report.js").WorkReport, {
179
- workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-report.js").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-report.js").WorkPackageSpec, {
177
+ guarantees: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").ReportGuarantee[] & import("@typeberry/utils").WithOpaque<"[0..CoresCount)">, import("@typeberry/codec").SequenceView<import("@typeberry/block").ReportGuarantee, import("@typeberry/codec").ViewOf<import("@typeberry/block").ReportGuarantee, {
178
+ report: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkReport, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkReport, {
179
+ workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkPackageSpec, {
180
180
  hash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
181
181
  length: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/bytes").Bytes<4>>;
182
182
  erasureRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
183
183
  exportsRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
184
184
  exportsCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U16, import("@typeberry/bytes").Bytes<2>>;
185
185
  }>>;
186
- context: import("@typeberry/codec").Descriptor<import("@typeberry/block/refine-context.js").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block/refine-context.js").RefineContext, {
186
+ context: import("@typeberry/codec").Descriptor<import("@typeberry/block").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block").RefineContext, {
187
187
  anchor: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"HeaderHash">, import("@typeberry/bytes").Bytes<32>>;
188
188
  stateRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"StateRootHash">, import("@typeberry/bytes").Bytes<32>>;
189
189
  beefyRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"BeefyHash">, import("@typeberry/bytes").Bytes<32>>;
@@ -195,32 +195,32 @@ export declare const protocol: import("@typeberry/workers-api").LousyProtocol<{
195
195
  authorizerHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"AuthorizerHash">, import("@typeberry/bytes").Bytes<32>>;
196
196
  authorizationGasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
197
197
  authorizationOutput: import("@typeberry/codec").Descriptor<BytesBlob, BytesBlob>;
198
- segmentRootLookup: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/refine-context.js").WorkPackageInfo[], import("@typeberry/codec").SequenceView<import("@typeberry/block/refine-context.js").WorkPackageInfo, import("@typeberry/codec").ViewOf<import("@typeberry/block/refine-context.js").WorkPackageInfo, {
198
+ segmentRootLookup: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").WorkPackageInfo[], import("@typeberry/codec").SequenceView<import("@typeberry/block").WorkPackageInfo, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkPackageInfo, {
199
199
  workPackageHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
200
200
  segmentTreeRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
201
201
  }>>>;
202
- results: import("@typeberry/codec").Descriptor<import("@typeberry/collections").FixedSizeArray<import("@typeberry/block/work-result.js").WorkResult, import("@typeberry/numbers").U8>, import("@typeberry/codec").SequenceView<import("@typeberry/block/work-result.js").WorkResult, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-result.js").WorkResult, {
202
+ results: import("@typeberry/codec").Descriptor<import("@typeberry/collections").FixedSizeArray<import("@typeberry/block").WorkResult, import("@typeberry/numbers").U8>, import("@typeberry/codec").SequenceView<import("@typeberry/block").WorkResult, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkResult, {
203
203
  serviceId: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"ServiceId[u32]">, import("@typeberry/bytes").Bytes<4>>;
204
204
  codeHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"CodeHash">, import("@typeberry/bytes").Bytes<32>>;
205
205
  payloadHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
206
206
  gas: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/bytes").Bytes<8>>;
207
- result: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkExecResult, {
208
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.ok;
207
+ result: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkExecResult, {
208
+ kind: import("@typeberry/block").WorkExecResultKind.ok;
209
209
  okBlob: BytesBlob;
210
210
  } | {
211
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.outOfGas;
211
+ kind: import("@typeberry/block").WorkExecResultKind.outOfGas;
212
212
  } | {
213
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.panic;
213
+ kind: import("@typeberry/block").WorkExecResultKind.panic;
214
214
  } | {
215
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.incorrectNumberOfExports;
215
+ kind: import("@typeberry/block").WorkExecResultKind.incorrectNumberOfExports;
216
216
  } | {
217
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.digestTooBig;
217
+ kind: import("@typeberry/block").WorkExecResultKind.digestTooBig;
218
218
  } | {
219
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.badCode;
219
+ kind: import("@typeberry/block").WorkExecResultKind.badCode;
220
220
  } | {
221
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.codeOversize;
221
+ kind: import("@typeberry/block").WorkExecResultKind.codeOversize;
222
222
  }>;
223
- load: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-result.js").WorkRefineLoad, {
223
+ load: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkRefineLoad, {
224
224
  gasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
225
225
  importedSegments: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
226
226
  extrinsicCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
@@ -230,33 +230,33 @@ export declare const protocol: import("@typeberry/workers-api").LousyProtocol<{
230
230
  }>>>;
231
231
  }>>;
232
232
  slot: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"TimeSlot[u32]">, import("@typeberry/bytes").Bytes<4>>;
233
- credentials: import("@typeberry/codec").Descriptor<(readonly import("@typeberry/block/guarantees.js").Credential[] & import("@typeberry/utils").WithOpaque<"2">) | (readonly import("@typeberry/block/guarantees.js").Credential[] & import("@typeberry/utils").WithOpaque<"3">), import("@typeberry/codec").SequenceView<import("@typeberry/block/guarantees.js").Credential, import("@typeberry/codec").ViewOf<import("@typeberry/block/guarantees.js").Credential, {
233
+ credentials: import("@typeberry/codec").Descriptor<(readonly import("@typeberry/block").Credential[] & import("@typeberry/utils").WithOpaque<"2">) | (readonly import("@typeberry/block").Credential[] & import("@typeberry/utils").WithOpaque<"3">), import("@typeberry/codec").SequenceView<import("@typeberry/block").Credential, import("@typeberry/codec").ViewOf<import("@typeberry/block").Credential, {
234
234
  validatorIndex: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
235
235
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
236
236
  }>>>;
237
237
  }>>>;
238
- assurances: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/assurances.js").AvailabilityAssurance[] & import("@typeberry/utils").WithOpaque<"[0 .. ValidatorsCount)">, import("@typeberry/codec").SequenceView<import("@typeberry/block/assurances.js").AvailabilityAssurance, import("@typeberry/codec").ViewOf<import("@typeberry/block/assurances.js").AvailabilityAssurance, {
238
+ assurances: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").AvailabilityAssurance[] & import("@typeberry/utils").WithOpaque<"[0 .. ValidatorsCount)">, import("@typeberry/codec").SequenceView<import("@typeberry/block").AvailabilityAssurance, import("@typeberry/codec").ViewOf<import("@typeberry/block").AvailabilityAssurance, {
239
239
  anchor: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"HeaderHash">, import("@typeberry/bytes").Bytes<32>>;
240
240
  bitfield: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").BitVec, import("@typeberry/bytes").BitVec>;
241
241
  validatorIndex: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
242
242
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
243
243
  }>>>;
244
- disputes: import("@typeberry/codec").Descriptor<import("@typeberry/block/disputes.js").DisputesExtrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").DisputesExtrinsic, {
245
- verdicts: import("@typeberry/codec").Descriptor<import("@typeberry/block/disputes.js").Verdict[], import("@typeberry/codec").SequenceView<import("@typeberry/block/disputes.js").Verdict, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").Verdict, {
244
+ disputes: import("@typeberry/codec").Descriptor<import("@typeberry/block").DisputesExtrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block").DisputesExtrinsic, {
245
+ verdicts: import("@typeberry/codec").Descriptor<import("@typeberry/block").Verdict[], import("@typeberry/codec").SequenceView<import("@typeberry/block").Verdict, import("@typeberry/codec").ViewOf<import("@typeberry/block").Verdict, {
246
246
  workReportHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkReportHash">, import("@typeberry/bytes").Bytes<32>>;
247
247
  votesEpoch: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"Epoch">, import("@typeberry/bytes").Bytes<4>>;
248
- votes: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/disputes.js").Judgement[] & import("@typeberry/utils").WithOpaque<"Validators super majority">, import("@typeberry/codec").SequenceView<import("@typeberry/block/disputes.js").Judgement, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").Judgement, {
248
+ votes: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").Judgement[] & import("@typeberry/utils").WithOpaque<"Validators super majority">, import("@typeberry/codec").SequenceView<import("@typeberry/block").Judgement, import("@typeberry/codec").ViewOf<import("@typeberry/block").Judgement, {
249
249
  isWorkReportValid: import("@typeberry/codec").Descriptor<boolean, boolean>;
250
250
  index: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
251
251
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
252
252
  }>>>;
253
253
  }>>>;
254
- culprits: import("@typeberry/codec").Descriptor<import("@typeberry/block/disputes.js").Culprit[], import("@typeberry/codec").SequenceView<import("@typeberry/block/disputes.js").Culprit, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").Culprit, {
254
+ culprits: import("@typeberry/codec").Descriptor<import("@typeberry/block").Culprit[], import("@typeberry/codec").SequenceView<import("@typeberry/block").Culprit, import("@typeberry/codec").ViewOf<import("@typeberry/block").Culprit, {
255
255
  workReportHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkReportHash">, import("@typeberry/bytes").Bytes<32>>;
256
256
  key: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"Ed25519Key">, import("@typeberry/bytes").Bytes<32>>;
257
257
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
258
258
  }>>>;
259
- faults: import("@typeberry/codec").Descriptor<import("@typeberry/block/disputes.js").Fault[], import("@typeberry/codec").SequenceView<import("@typeberry/block/disputes.js").Fault, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").Fault, {
259
+ faults: import("@typeberry/codec").Descriptor<import("@typeberry/block").Fault[], import("@typeberry/codec").SequenceView<import("@typeberry/block").Fault, import("@typeberry/codec").ViewOf<import("@typeberry/block").Fault, {
260
260
  workReportHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkReportHash">, import("@typeberry/bytes").Bytes<32>>;
261
261
  wasConsideredValid: import("@typeberry/codec").Descriptor<boolean, boolean>;
262
262
  key: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"Ed25519Key">, import("@typeberry/bytes").Bytes<32>>;
@@ -287,7 +287,7 @@ export declare const protocol: import("@typeberry/workers-api").LousyProtocol<{
287
287
  }>>>;
288
288
  }> | null>;
289
289
  ticketsMarker: import("@typeberry/codec").Descriptor<import("@typeberry/block").TicketsMarker | null, import("@typeberry/codec").ViewOf<import("@typeberry/block").TicketsMarker, {
290
- tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/tickets.js").Ticket[] & import("@typeberry/utils").WithOpaque<"EpochLength">, import("@typeberry/codec").SequenceView<import("@typeberry/block/tickets.js").Ticket, import("@typeberry/codec").ViewOf<import("@typeberry/block/tickets.js").Ticket, {
290
+ 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, {
291
291
  id: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
292
292
  attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[0|1|2]">, import("@typeberry/numbers").U8>;
293
293
  }>>>;
@@ -310,7 +310,7 @@ export declare const protocol: import("@typeberry/workers-api").LousyProtocol<{
310
310
  }>>>;
311
311
  }> | null>;
312
312
  ticketsMarker: import("@typeberry/codec").Descriptor<import("@typeberry/block").TicketsMarker | null, import("@typeberry/codec").ViewOf<import("@typeberry/block").TicketsMarker, {
313
- tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/tickets.js").Ticket[] & import("@typeberry/utils").WithOpaque<"EpochLength">, import("@typeberry/codec").SequenceView<import("@typeberry/block/tickets.js").Ticket, import("@typeberry/codec").ViewOf<import("@typeberry/block/tickets.js").Ticket, {
313
+ 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, {
314
314
  id: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
315
315
  attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[0|1|2]">, import("@typeberry/numbers").U8>;
316
316
  }>>>;
@@ -335,7 +335,7 @@ export declare const protocol: import("@typeberry/workers-api").LousyProtocol<{
335
335
  }>>>;
336
336
  }> | null>;
337
337
  ticketsMarker: import("@typeberry/codec").Descriptor<import("@typeberry/block").TicketsMarker | null, import("@typeberry/codec").ViewOf<import("@typeberry/block").TicketsMarker, {
338
- tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/tickets.js").Ticket[] & import("@typeberry/utils").WithOpaque<"EpochLength">, import("@typeberry/codec").SequenceView<import("@typeberry/block/tickets.js").Ticket, import("@typeberry/codec").ViewOf<import("@typeberry/block/tickets.js").Ticket, {
338
+ 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, {
339
339
  id: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
340
340
  attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[0|1|2]">, import("@typeberry/numbers").U8>;
341
341
  }>>>;
@@ -358,7 +358,7 @@ export declare const protocol: import("@typeberry/workers-api").LousyProtocol<{
358
358
  }>>>;
359
359
  }> | null>;
360
360
  ticketsMarker: import("@typeberry/codec").Descriptor<import("@typeberry/block").TicketsMarker | null, import("@typeberry/codec").ViewOf<import("@typeberry/block").TicketsMarker, {
361
- tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/tickets.js").Ticket[] & import("@typeberry/utils").WithOpaque<"EpochLength">, import("@typeberry/codec").SequenceView<import("@typeberry/block/tickets.js").Ticket, import("@typeberry/codec").ViewOf<import("@typeberry/block/tickets.js").Ticket, {
361
+ 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, {
362
362
  id: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
363
363
  attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[0|1|2]">, import("@typeberry/numbers").U8>;
364
364
  }>>>;