@typeberry/lib 0.5.3 → 0.5.4-472e282

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 (221) hide show
  1. package/package.json +8 -4
  2. package/packages/core/hash/hash.d.ts.map +1 -1
  3. package/packages/core/hash/hash.js +1 -0
  4. package/packages/core/networking/certificate.d.ts.map +1 -1
  5. package/packages/core/networking/certificate.js +1 -0
  6. package/packages/core/networking/package.json +1 -1
  7. package/packages/core/networking/setup.d.ts.map +1 -1
  8. package/packages/core/networking/setup.js +16 -12
  9. package/packages/core/numbers/index.d.ts +4 -0
  10. package/packages/core/numbers/index.d.ts.map +1 -1
  11. package/packages/core/numbers/index.js +4 -4
  12. package/packages/core/pvm-host-calls/host-calls-executor.d.ts +23 -17
  13. package/packages/core/pvm-host-calls/host-calls-executor.d.ts.map +1 -1
  14. package/packages/core/pvm-host-calls/host-calls-executor.js +23 -31
  15. package/packages/core/pvm-interpreter/ops/math-consts.d.ts +2 -3
  16. package/packages/core/pvm-interpreter/ops/math-consts.d.ts.map +1 -1
  17. package/packages/core/pvm-interpreter/ops/math-consts.js +2 -3
  18. package/packages/core/pvm-interpreter/ops/math-ops.js +3 -3
  19. package/packages/core/pvm-interpreter/ops/math-utils.js +13 -13
  20. package/packages/core/pvm-interpreter/ops/math-utils.test.js +17 -16
  21. package/packages/core/telemetry/package.json +1 -1
  22. package/packages/core/utils/compatibility.d.ts +0 -1
  23. package/packages/core/utils/compatibility.d.ts.map +1 -1
  24. package/packages/core/utils/compatibility.js +1 -2
  25. package/packages/core/utils/compatibility.test.js +6 -10
  26. package/packages/extensions/ipc/jamnp/handler.d.ts +5 -4
  27. package/packages/extensions/ipc/jamnp/handler.d.ts.map +1 -1
  28. package/packages/extensions/ipc/jamnp/handler.js +59 -34
  29. package/packages/extensions/ipc/jamnp/stream.d.ts +6 -4
  30. package/packages/extensions/ipc/jamnp/stream.d.ts.map +1 -1
  31. package/packages/jam/block/index.d.ts +11 -11
  32. package/packages/jam/block/index.d.ts.map +1 -1
  33. package/packages/jam/block/index.js +11 -11
  34. package/packages/jam/block/work-item.d.ts +13 -4
  35. package/packages/jam/block/work-item.d.ts.map +1 -1
  36. package/packages/jam/block/work-package.d.ts +3 -1
  37. package/packages/jam/block/work-package.d.ts.map +1 -1
  38. package/packages/jam/block/work-package.js +6 -2
  39. package/packages/jam/block/work-result.d.ts +3 -5
  40. package/packages/jam/block/work-result.d.ts.map +1 -1
  41. package/packages/jam/block/work-result.js +6 -0
  42. package/packages/jam/block-json/block.d.ts +125 -0
  43. package/packages/jam/block-json/block.d.ts.map +1 -1
  44. package/packages/jam/block-json/block.js +9 -2
  45. package/packages/jam/block-json/work-result.d.ts.map +1 -1
  46. package/packages/jam/block-json/work-result.js +6 -6
  47. package/packages/jam/database-lmdb/states.test.js +2 -3
  48. package/packages/jam/executor/index.d.ts +4 -0
  49. package/packages/jam/executor/index.d.ts.map +1 -0
  50. package/packages/jam/executor/index.js +2 -0
  51. package/packages/jam/{transition/accumulate → executor}/pvm-executor.d.ts +19 -16
  52. package/packages/jam/executor/pvm-executor.d.ts.map +1 -0
  53. package/packages/jam/{transition/accumulate → executor}/pvm-executor.js +46 -3
  54. package/packages/jam/fuzz-proto/v1/handler.d.ts +1 -1
  55. package/packages/jam/fuzz-proto/v1/handler.d.ts.map +1 -1
  56. package/packages/jam/fuzz-proto/v1/handler.js +43 -19
  57. package/packages/jam/fuzz-proto/v1/types.d.ts +1 -1
  58. package/packages/jam/in-core/externalities/refine.d.ts +24 -0
  59. package/packages/jam/in-core/externalities/refine.d.ts.map +1 -0
  60. package/packages/jam/in-core/externalities/refine.js +36 -0
  61. package/packages/jam/in-core/in-core.d.ts +60 -0
  62. package/packages/jam/in-core/in-core.d.ts.map +1 -0
  63. package/packages/jam/in-core/in-core.js +294 -0
  64. package/packages/jam/in-core/in-core.test.d.ts +2 -0
  65. package/packages/jam/in-core/in-core.test.d.ts.map +1 -0
  66. package/packages/jam/in-core/in-core.test.js +81 -0
  67. package/packages/jam/in-core/index.d.ts +2 -0
  68. package/packages/jam/in-core/index.d.ts.map +1 -0
  69. package/packages/jam/in-core/index.js +1 -0
  70. package/packages/jam/jam-host-calls/accumulate/bless.d.ts.map +1 -1
  71. package/packages/jam/jam-host-calls/accumulate/bless.js +6 -10
  72. package/packages/jam/jam-host-calls/accumulate/bless.test.js +32 -73
  73. package/packages/jam/jam-host-calls/accumulate/new.d.ts.map +1 -1
  74. package/packages/jam/jam-host-calls/accumulate/new.js +2 -4
  75. package/packages/jam/jam-host-calls/accumulate/new.test.js +4 -5
  76. package/packages/jam/jam-host-calls/general/fetch.d.ts +1 -57
  77. package/packages/jam/jam-host-calls/general/fetch.d.ts.map +1 -1
  78. package/packages/jam/jam-host-calls/general/fetch.js +6 -29
  79. package/packages/jam/jam-host-calls/general/fetch.test.js +2 -58
  80. package/packages/jam/jamnp-s/peers.d.ts.map +1 -1
  81. package/packages/jam/jamnp-s/peers.js +10 -0
  82. package/packages/jam/jamnp-s/protocol/ce-128-block-request.d.ts +1 -1
  83. package/packages/jam/jamnp-s/protocol/ce-128-block-request.d.ts.map +1 -1
  84. package/packages/jam/jamnp-s/protocol/ce-128-block-request.js +10 -8
  85. package/packages/jam/jamnp-s/protocol/ce-129-state-request.d.ts.map +1 -1
  86. package/packages/jam/jamnp-s/protocol/ce-129-state-request.js +11 -9
  87. package/packages/jam/jamnp-s/protocol/ce-131-ce-132-safrole-ticket-distribution.d.ts +3 -3
  88. package/packages/jam/jamnp-s/protocol/ce-131-ce-132-safrole-ticket-distribution.d.ts.map +1 -1
  89. package/packages/jam/jamnp-s/protocol/ce-131-ce-132-safrole-ticket-distribution.js +2 -2
  90. package/packages/jam/jamnp-s/protocol/ce-133-work-package-submission.d.ts +9 -9
  91. package/packages/jam/jamnp-s/protocol/ce-133-work-package-submission.d.ts.map +1 -1
  92. package/packages/jam/jamnp-s/protocol/ce-133-work-package-submission.js +2 -2
  93. package/packages/jam/jamnp-s/protocol/ce-134-work-package-sharing.d.ts.map +1 -1
  94. package/packages/jam/jamnp-s/protocol/ce-134-work-package-sharing.js +8 -6
  95. package/packages/jam/jamnp-s/protocol/ce-135-work-report-distribution.d.ts +16 -16
  96. package/packages/jam/jamnp-s/protocol/ce-135-work-report-distribution.d.ts.map +1 -1
  97. package/packages/jam/jamnp-s/protocol/ce-135-work-report-distribution.js +2 -2
  98. package/packages/jam/jamnp-s/protocol/ce-135-work-report-distribution.test.js +2 -2
  99. package/packages/jam/jamnp-s/protocol/stream.d.ts +13 -7
  100. package/packages/jam/jamnp-s/protocol/stream.d.ts.map +1 -1
  101. package/packages/jam/jamnp-s/protocol/stream.js +5 -4
  102. package/packages/jam/jamnp-s/protocol/test-utils.d.ts +1 -1
  103. package/packages/jam/jamnp-s/protocol/test-utils.d.ts.map +1 -1
  104. package/packages/jam/jamnp-s/protocol/test-utils.js +9 -12
  105. package/packages/jam/jamnp-s/protocol/up-0-block-announcement.d.ts +2 -2
  106. package/packages/jam/jamnp-s/protocol/up-0-block-announcement.d.ts.map +1 -1
  107. package/packages/jam/jamnp-s/protocol/up-0-block-announcement.js +1 -1
  108. package/packages/jam/jamnp-s/stream-manager.d.ts.map +1 -1
  109. package/packages/jam/jamnp-s/stream-manager.js +7 -5
  110. package/packages/jam/jamnp-s/stream-manager.test.js +8 -5
  111. package/packages/jam/jamnp-s/tasks/sync.js +1 -1
  112. package/packages/jam/node/jam-config.d.ts +4 -1
  113. package/packages/jam/node/jam-config.d.ts.map +1 -1
  114. package/packages/jam/node/jam-config.js +6 -2
  115. package/packages/jam/node/main.d.ts.map +1 -1
  116. package/packages/jam/node/main.js +5 -4
  117. package/packages/jam/node/package.json +1 -1
  118. package/packages/jam/node/reader.d.ts +25 -25
  119. package/packages/jam/node/workers.d.ts +183 -183
  120. package/packages/jam/rpc-validation/types.d.ts +7 -3
  121. package/packages/jam/rpc-validation/types.d.ts.map +1 -1
  122. package/packages/jam/rpc-validation/validation.d.ts +254 -36
  123. package/packages/jam/rpc-validation/validation.d.ts.map +1 -1
  124. package/packages/jam/rpc-validation/validation.js +20 -2
  125. package/packages/jam/state/accumulation-queue.d.ts +26 -26
  126. package/packages/jam/state/assurances.d.ts +26 -26
  127. package/packages/jam/state/in-memory-state.d.ts.map +1 -1
  128. package/packages/jam/state/in-memory-state.js +2 -3
  129. package/packages/jam/state/privileged-services.d.ts +1 -1
  130. package/packages/jam/state/privileged-services.d.ts.map +1 -1
  131. package/packages/jam/state/privileged-services.js +1 -6
  132. package/packages/jam/state/service.d.ts +1 -1
  133. package/packages/jam/state/service.d.ts.map +1 -1
  134. package/packages/jam/state/statistics.d.ts +0 -8
  135. package/packages/jam/state/statistics.d.ts.map +1 -1
  136. package/packages/jam/state/statistics.js +14 -44
  137. package/packages/jam/state/statistics.test.js +1 -8
  138. package/packages/jam/state/test.utils.d.ts +1 -1
  139. package/packages/jam/state/test.utils.d.ts.map +1 -1
  140. package/packages/jam/state/test.utils.js +6 -25
  141. package/packages/jam/state-json/accounts.d.ts +10 -0
  142. package/packages/jam/state-json/accounts.d.ts.map +1 -1
  143. package/packages/jam/state-json/accounts.js +47 -19
  144. package/packages/jam/state-json/dump.d.ts.map +1 -1
  145. package/packages/jam/state-json/dump.js +5 -9
  146. package/packages/jam/state-json/dump.test.js +2 -10
  147. package/packages/jam/state-json/statistics.d.ts +1 -1
  148. package/packages/jam/state-json/statistics.d.ts.map +1 -1
  149. package/packages/jam/state-json/statistics.js +1 -13
  150. package/packages/jam/state-merkleization/in-memory-state-codec.d.ts +29 -31
  151. package/packages/jam/state-merkleization/in-memory-state-codec.d.ts.map +1 -1
  152. package/packages/jam/state-merkleization/serialize.d.ts +4 -4
  153. package/packages/jam/state-merkleization/serialize.d.ts.map +1 -1
  154. package/packages/jam/state-merkleization/serialize.js +5 -8
  155. package/packages/jam/state-merkleization/serialized-state-view.d.ts.map +1 -1
  156. package/packages/jam/state-merkleization/state-entries.test.js +1 -7
  157. package/packages/jam/state-vectors/index.d.ts +377 -5
  158. package/packages/jam/state-vectors/index.d.ts.map +1 -1
  159. package/packages/jam/state-vectors/index.js +3 -3
  160. package/packages/jam/transition/accumulate/accumulate-data.d.ts.map +1 -1
  161. package/packages/jam/transition/accumulate/accumulate-data.js +1 -2
  162. package/packages/jam/transition/accumulate/accumulate-queue.test.js +2 -2
  163. package/packages/jam/transition/accumulate/accumulate-state.d.ts +1 -2
  164. package/packages/jam/transition/accumulate/accumulate-state.d.ts.map +1 -1
  165. package/packages/jam/transition/accumulate/accumulate-utils.d.ts.map +1 -1
  166. package/packages/jam/transition/accumulate/accumulate-utils.js +2 -6
  167. package/packages/jam/transition/accumulate/accumulate-utils.test.js +4 -6
  168. package/packages/jam/transition/accumulate/accumulate.d.ts.map +1 -1
  169. package/packages/jam/transition/accumulate/accumulate.js +19 -33
  170. package/packages/jam/transition/accumulate/accumulate.test.js +2 -2
  171. package/packages/jam/transition/accumulate/accumulation-result-merge-utils.d.ts.map +1 -1
  172. package/packages/jam/transition/accumulate/accumulation-result-merge-utils.js +1 -2
  173. package/packages/jam/transition/accumulate/accumulation-result-merge-utils.test.js +1 -2
  174. package/packages/jam/transition/accumulate/index.d.ts +0 -1
  175. package/packages/jam/transition/accumulate/index.d.ts.map +1 -1
  176. package/packages/jam/transition/accumulate/index.js +0 -1
  177. package/packages/jam/transition/accumulate/operand.d.ts +7 -7
  178. package/packages/jam/transition/chain-stf.d.ts +3 -5
  179. package/packages/jam/transition/chain-stf.d.ts.map +1 -1
  180. package/packages/jam/transition/chain-stf.js +5 -29
  181. package/packages/jam/transition/disputes/disputes.test.data2.d.ts +3 -3
  182. package/packages/jam/transition/disputes/disputes.test.data2.d.ts.map +1 -1
  183. package/packages/jam/transition/disputes/disputes.test.data2.js +2 -2
  184. package/packages/jam/transition/externalities/accumulate-externalities.d.ts.map +1 -1
  185. package/packages/jam/transition/externalities/accumulate-externalities.js +22 -49
  186. package/packages/jam/transition/externalities/accumulate-externalities.test.js +8 -72
  187. package/packages/jam/transition/externalities/fetch-externalities.d.ts +8 -21
  188. package/packages/jam/transition/externalities/fetch-externalities.d.ts.map +1 -1
  189. package/packages/jam/transition/externalities/fetch-externalities.js +5 -53
  190. package/packages/jam/transition/externalities/fetch-externalities.test.js +201 -114
  191. package/packages/jam/transition/hasher.test.js +2 -2
  192. package/packages/jam/transition/reports/error.d.ts +3 -1
  193. package/packages/jam/transition/reports/error.d.ts.map +1 -1
  194. package/packages/jam/transition/reports/error.js +2 -0
  195. package/packages/jam/transition/reports/test.utils.d.ts.map +1 -1
  196. package/packages/jam/transition/reports/test.utils.js +2 -2
  197. package/packages/jam/transition/reports/verify-basic.d.ts.map +1 -1
  198. package/packages/jam/transition/reports/verify-basic.js +10 -0
  199. package/packages/jam/transition/reports/verify-basic.test.js +29 -0
  200. package/packages/jam/transition/statistics.d.ts +0 -7
  201. package/packages/jam/transition/statistics.d.ts.map +1 -1
  202. package/packages/jam/transition/statistics.js +2 -11
  203. package/packages/jam/transition/statistics.test.js +0 -40
  204. package/packages/workers/block-authorship/generator.test.d.ts +2 -0
  205. package/packages/workers/block-authorship/generator.test.d.ts.map +1 -0
  206. package/packages/workers/block-authorship/generator.test.js +200 -0
  207. package/packages/workers/block-authorship/main.d.ts.map +1 -1
  208. package/packages/workers/block-authorship/main.js +23 -4
  209. package/packages/workers/block-authorship/package.json +1 -1
  210. package/packages/workers/block-authorship/protocol.d.ts +53 -51
  211. package/packages/workers/block-authorship/protocol.d.ts.map +1 -1
  212. package/packages/workers/block-authorship/protocol.js +6 -3
  213. package/packages/workers/importer/importer.d.ts.map +1 -1
  214. package/packages/workers/importer/importer.js +0 -1
  215. package/packages/workers/importer/package.json +1 -1
  216. package/packages/workers/importer/protocol.d.ts +54 -54
  217. package/packages/workers/jam-network/protocol.d.ts +79 -79
  218. package/packages/jam/transition/accumulate/deferred-transfers.d.ts +0 -36
  219. package/packages/jam/transition/accumulate/deferred-transfers.d.ts.map +0 -1
  220. package/packages/jam/transition/accumulate/deferred-transfers.js +0 -95
  221. package/packages/jam/transition/accumulate/pvm-executor.d.ts.map +0 -1
@@ -2,6 +2,7 @@ import assert from "node:assert";
2
2
  import { describe, it } from "node:test";
3
3
  import { createDisconnectedPeer, TestManualStream } from "#@typeberry/networking/testing.js";
4
4
  import { OK } from "#@typeberry/utils";
5
+ import { tryAsStreamId, } from "./protocol/stream.js";
5
6
  import { StreamManager } from "./stream-manager.js";
6
7
  // Test StreamHandler implementation
7
8
  class TestStreamHandler {
@@ -25,7 +26,7 @@ describe("StreamManager", () => {
25
26
  describe("stream management", () => {
26
27
  it("should return null for unknown stream ID", () => {
27
28
  const manager = new StreamManager();
28
- const peer = manager.getPeer(123);
29
+ const peer = manager.getPeer(tryAsStreamId("peer1:123"));
29
30
  assert.strictEqual(peer, null);
30
31
  });
31
32
  it("should open new stream and call work function", async () => {
@@ -38,7 +39,7 @@ describe("StreamManager", () => {
38
39
  manager.withNewStream(peer, 1, (h, sender) => {
39
40
  workCalled = true;
40
41
  assert.strictEqual(h, handler);
41
- assert.strictEqual(typeof sender.streamId, "number");
42
+ assert.strictEqual(typeof sender.streamId, "string");
42
43
  senderFlush = sender.flush();
43
44
  return OK;
44
45
  });
@@ -88,17 +89,19 @@ describe("StreamManager", () => {
88
89
  describe("incoming streams", () => {
89
90
  it("should handle incoming stream with valid kind", async () => {
90
91
  const manager = new StreamManager();
91
- const peer = createDisconnectedPeer("peer1");
92
+ const peerId = "peer1";
93
+ const peer = createDisconnectedPeer(peerId);
92
94
  const handler = createTestHandler(1);
93
95
  manager.registerIncomingHandlers(handler);
94
- const stream = new TestManualStream(42);
96
+ const quicStreamId = 42;
97
+ const stream = new TestManualStream(quicStreamId);
95
98
  // Simulate incoming stream with kind byte
96
99
  const kindData = new Uint8Array([1, 0x41, 0x42]); // kind=1, followed by some data
97
100
  stream._simulateIncomingData(kindData);
98
101
  stream._incomingData.close();
99
102
  await manager.onIncomingStream(peer, stream);
100
103
  // Check that peer is tracked
101
- const retrievedPeer = manager.getPeer(42);
104
+ const retrievedPeer = manager.getPeer(tryAsStreamId(`${peerId}:${quicStreamId}`));
102
105
  assert.strictEqual(retrievedPeer, peer);
103
106
  });
104
107
  it("should throw error for stream without kind byte", async () => {
@@ -48,7 +48,7 @@ export class SyncTask {
48
48
  // server mode
49
49
  streamManager.registerIncomingHandlers(up0Handler);
50
50
  streamManager.registerIncomingHandlers(new ce128.ServerHandler(spec, (streamId, hash, direction, maxBlocks) => {
51
- const peer = getPeerForStream(streamId);
51
+ const peer = streamManager.getPeer(streamId);
52
52
  if (peer !== null) {
53
53
  return syncTask.handleGetBlockSequence(peer, hash, direction, maxBlocks);
54
54
  }
@@ -14,6 +14,8 @@ export declare const DEFAULT_DEV_CONFIG: {
14
14
  export declare class JamConfig {
15
15
  /** Whether we should be authoring blocks. */
16
16
  readonly isAuthoring: boolean;
17
+ /** Fast forward mode - generate blocks as fast as possible without waiting for real time. */
18
+ readonly isFastForward: boolean;
17
19
  /** Node name. */
18
20
  readonly nodeName: string;
19
21
  /** Node starting configuration. */
@@ -28,8 +30,9 @@ export declare class JamConfig {
28
30
  readonly ancestry: [HeaderHash, TimeSlot][];
29
31
  /** Validator index for dev mode authorship. Use "all" to author as all validators. */
30
32
  readonly devValidatorIndex: U16 | "all" | null;
31
- static new({ isAuthoring, nodeName, nodeConfig, pvmBackend, devConfig, networkConfig, ancestry, devValidatorIndex, }: {
33
+ static new({ isAuthoring, isFastForward, nodeName, nodeConfig, pvmBackend, devConfig, networkConfig, ancestry, devValidatorIndex, }: {
32
34
  isAuthoring?: boolean;
35
+ isFastForward?: boolean;
33
36
  nodeName: string;
34
37
  nodeConfig: NodeConfiguration;
35
38
  pvmBackend: PvmBackend;
@@ -1 +1 @@
1
- {"version":3,"file":"jam-config.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/node/jam-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,EAGb,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAC;AAEF;;GAEG;AACH,qBAAa,SAAS;IAkClB,6CAA6C;aAC7B,WAAW,EAAE,OAAO;IACpC,iBAAiB;aACD,QAAQ,EAAE,MAAM;IAChC,mCAAmC;aACnB,IAAI,EAAE,iBAAiB;IACvC,4BAA4B;aACZ,UAAU,EAAE,UAAU;IACtC,wCAAwC;aACxB,GAAG,EAAE,SAAS,GAAG,IAAI;IACrC,0BAA0B;aACV,OAAO,EAAE,aAAa,GAAG,IAAI;IAC7C,iDAAiD;aACjC,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE;IAClD,sFAAsF;aACtE,iBAAiB,EAAE,GAAG,GAAG,KAAK,GAAG,IAAI;IAhDvD,MAAM,CAAC,GAAG,CAAC,EACT,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAgB,EAChB,aAAoB,EACpB,QAAa,EACb,iBAAwB,GACzB,EAAE;QACD,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,iBAAiB,CAAC;QAC9B,UAAU,EAAE,UAAU,CAAC;QACvB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;QAC7B,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;QACrC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QACpC,sFAAsF;QACtF,iBAAiB,CAAC,EAAE,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;KACxC;IAaD,OAAO;CAkBR;AAED,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GAAG;IAC1B,uCAAuC;IACvC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,kCAAkC;IAClC,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,SAAS,GAAG;IAGtB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,wCAAwC;IACxC,cAAc,EAAE,cAAc,CAAC;IAC/B,2CAA2C;IAC3C,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,aAAa,GAAG;IAC1B,2BAA2B;IAC3B,GAAG,EAAE,iBAAiB,CAAC;IACvB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB,CAAC"}
1
+ {"version":3,"file":"jam-config.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/node/jam-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,EAGb,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAC;AAEF;;GAEG;AACH,qBAAa,SAAS;IAqClB,6CAA6C;aAC7B,WAAW,EAAE,OAAO;IACpC,6FAA6F;aAC7E,aAAa,EAAE,OAAO;IACtC,iBAAiB;aACD,QAAQ,EAAE,MAAM;IAChC,mCAAmC;aACnB,IAAI,EAAE,iBAAiB;IACvC,4BAA4B;aACZ,UAAU,EAAE,UAAU;IACtC,wCAAwC;aACxB,GAAG,EAAE,SAAS,GAAG,IAAI;IACrC,0BAA0B;aACV,OAAO,EAAE,aAAa,GAAG,IAAI;IAC7C,iDAAiD;aACjC,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE;IAClD,sFAAsF;aACtE,iBAAiB,EAAE,GAAG,GAAG,KAAK,GAAG,IAAI;IArDvD,MAAM,CAAC,GAAG,CAAC,EACT,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAgB,EAChB,aAAoB,EACpB,QAAa,EACb,iBAAwB,GACzB,EAAE;QACD,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,iBAAiB,CAAC;QAC9B,UAAU,EAAE,UAAU,CAAC;QACvB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;QAC7B,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;QACrC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QACpC,sFAAsF;QACtF,iBAAiB,CAAC,EAAE,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;KACxC;IAcD,OAAO;CAoBR;AAED,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GAAG;IAC1B,uCAAuC;IACvC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,kCAAkC;IAClC,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,SAAS,GAAG;IAGtB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,wCAAwC;IACxC,cAAc,EAAE,cAAc,CAAC;IAC/B,2CAA2C;IAC3C,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,aAAa,GAAG;IAC1B,2BAA2B;IAC3B,GAAG,EAAE,iBAAiB,CAAC;IACvB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB,CAAC"}
@@ -9,6 +9,7 @@ export const DEFAULT_DEV_CONFIG = {
9
9
  */
10
10
  export class JamConfig {
11
11
  isAuthoring;
12
+ isFastForward;
12
13
  nodeName;
13
14
  node;
14
15
  pvmBackend;
@@ -16,12 +17,14 @@ export class JamConfig {
16
17
  network;
17
18
  ancestry;
18
19
  devValidatorIndex;
19
- static new({ isAuthoring, nodeName, nodeConfig, pvmBackend, devConfig = null, networkConfig = null, ancestry = [], devValidatorIndex = null, }) {
20
- return new JamConfig(isAuthoring ?? false, nodeName, nodeConfig, pvmBackend, devConfig, networkConfig, ancestry, devValidatorIndex);
20
+ static new({ isAuthoring, isFastForward, nodeName, nodeConfig, pvmBackend, devConfig = null, networkConfig = null, ancestry = [], devValidatorIndex = null, }) {
21
+ return new JamConfig(isAuthoring ?? false, isFastForward ?? false, nodeName, nodeConfig, pvmBackend, devConfig, networkConfig, ancestry, devValidatorIndex);
21
22
  }
22
23
  constructor(
23
24
  /** Whether we should be authoring blocks. */
24
25
  isAuthoring,
26
+ /** Fast forward mode - generate blocks as fast as possible without waiting for real time. */
27
+ isFastForward,
25
28
  /** Node name. */
26
29
  nodeName,
27
30
  /** Node starting configuration. */
@@ -37,6 +40,7 @@ export class JamConfig {
37
40
  /** Validator index for dev mode authorship. Use "all" to author as all validators. */
38
41
  devValidatorIndex) {
39
42
  this.isAuthoring = isAuthoring;
43
+ this.isFastForward = isFastForward;
40
44
  this.nodeName = nodeName;
41
45
  this.node = node;
42
46
  this.pvmBackend = pvmBackend;
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/node/main.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAc,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,mBAAmB,CAAC;AAe/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAkC,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAK1E,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAYhE,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAChE,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,oBAAoB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAEF,wBAAsB,IAAI,CACxB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAClC,SAAS,EAAE,SAAS,GAAG,IAAI,GAC1B,OAAO,CAAC,OAAO,CAAC,CAsJlB"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/node/main.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAc,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,mBAAmB,CAAC;AAe/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAkC,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAK1E,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAYhE,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAChE,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,oBAAoB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAEF,wBAAsB,IAAI,CACxB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAClC,SAAS,EAAE,SAAS,GAAG,IAAI,GAC1B,OAAO,CAAC,OAAO,CAAC,CAuJlB"}
@@ -92,7 +92,7 @@ export async function main(config, withRelPath, telemetry) {
92
92
  },
93
93
  ],
94
94
  };
95
- const closeAuthorship = await initAuthorship(importer, config.isAuthoring, rootDb, baseConfig, authorshipKeys, isInMemory);
95
+ const closeAuthorship = await initAuthorship(importer, config.isAuthoring, config.isFastForward, rootDb, baseConfig, authorshipKeys, isInMemory);
96
96
  // Networking initialization
97
97
  const closeNetwork = await initNetwork(importer, rootDb, baseConfig, genesisHeaderHash, config.network, bestHeader, isInMemory);
98
98
  const api = {
@@ -128,22 +128,23 @@ export async function main(config, withRelPath, telemetry) {
128
128
  };
129
129
  return api;
130
130
  }
131
- const initAuthorship = async (importer, isAuthoring, rootDb, baseConfig, authorshipKeys, isInMemory) => {
131
+ const initAuthorship = async (importer, isAuthoring, isFastForward, rootDb, baseConfig, authorshipKeys, isInMemory) => {
132
132
  if (!isAuthoring) {
133
133
  logger.log `✍️ Authorship off: disabled`;
134
134
  return () => Promise.resolve();
135
135
  }
136
136
  logger.info `✍️ Starting block generator.`;
137
+ const workerParams = { ...authorshipKeys, isFastForward };
137
138
  const { generator, finish } = isInMemory
138
139
  ? await startBlockGenerator(DirectWorkerConfig.new({
139
140
  ...baseConfig,
140
141
  blocksDb: rootDb.getBlocksDb(),
141
142
  statesDb: rootDb.getStatesDb(),
142
- workerParams: authorshipKeys,
143
+ workerParams,
143
144
  }))
144
145
  : await spawnBlockGeneratorWorker(LmdbWorkerConfig.new({
145
146
  ...baseConfig,
146
- workerParams: authorshipKeys,
147
+ workerParams,
147
148
  }));
148
149
  // relay blocks from generator to importer
149
150
  generator.setOnBlock(async (block) => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typeberry/node",
3
- "version": "0.5.3",
3
+ "version": "0.5.4",
4
4
  "description": "The main typeberry node.",
5
5
  "main": "index.ts",
6
6
  "dependencies": {
@@ -28,7 +28,7 @@ export declare function startBlocksReader(options: BlocksImporterConfig, logger:
28
28
  }>>>;
29
29
  }> | null>;
30
30
  ticketsMarker: import("@typeberry/codec").Descriptor<import("@typeberry/block").TicketsMarker | null, import("@typeberry/codec").ViewOf<import("@typeberry/block").TicketsMarker, {
31
- 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, {
31
+ 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, {
32
32
  id: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
33
33
  attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[0|1|2]">, import("@typeberry/numbers").U8>;
34
34
  }>>>;
@@ -39,24 +39,24 @@ export declare function startBlocksReader(options: BlocksImporterConfig, logger:
39
39
  seal: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<96> & import("@typeberry/utils").WithOpaque<"BandersnatchVrfSignature">, import("@typeberry/bytes").Bytes<96>>;
40
40
  }>>;
41
41
  extrinsic: import("@typeberry/codec").Descriptor<import("@typeberry/block").Extrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block").Extrinsic, {
42
- 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, {
42
+ 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, {
43
43
  attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[0|1|2]">, import("@typeberry/numbers").U8>;
44
44
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<784> & import("@typeberry/utils").WithOpaque<"BandersnatchRingSignature">, import("@typeberry/bytes").Bytes<784>>;
45
45
  }>>>;
46
- 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, {
46
+ 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, {
47
47
  requester: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"ServiceId[u32]">, import("@typeberry/bytes").Bytes<4>>;
48
48
  blob: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").BytesBlob, import("@typeberry/bytes").BytesBlob>;
49
49
  }>>>;
50
- 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, {
51
- report: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-report.js").WorkReport, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-report.js").WorkReport, {
52
- workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-report.js").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-report.js").WorkPackageSpec, {
50
+ 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, {
51
+ report: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkReport, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkReport, {
52
+ workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkPackageSpec, {
53
53
  hash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
54
54
  length: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/bytes").Bytes<4>>;
55
55
  erasureRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
56
56
  exportsRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
57
57
  exportsCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U16, import("@typeberry/bytes").Bytes<2>>;
58
58
  }>>;
59
- context: import("@typeberry/codec").Descriptor<import("@typeberry/block/refine-context.js").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block/refine-context.js").RefineContext, {
59
+ context: import("@typeberry/codec").Descriptor<import("@typeberry/block").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block").RefineContext, {
60
60
  anchor: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"HeaderHash">, import("@typeberry/bytes").Bytes<32>>;
61
61
  stateRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"StateRootHash">, import("@typeberry/bytes").Bytes<32>>;
62
62
  beefyRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"BeefyHash">, import("@typeberry/bytes").Bytes<32>>;
@@ -68,32 +68,32 @@ export declare function startBlocksReader(options: BlocksImporterConfig, logger:
68
68
  authorizerHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"AuthorizerHash">, import("@typeberry/bytes").Bytes<32>>;
69
69
  authorizationGasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
70
70
  authorizationOutput: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").BytesBlob, import("@typeberry/bytes").BytesBlob>;
71
- 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, {
71
+ 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, {
72
72
  workPackageHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
73
73
  segmentTreeRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
74
74
  }>>>;
75
- 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, {
75
+ 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, {
76
76
  serviceId: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"ServiceId[u32]">, import("@typeberry/bytes").Bytes<4>>;
77
77
  codeHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"CodeHash">, import("@typeberry/bytes").Bytes<32>>;
78
78
  payloadHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
79
79
  gas: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/bytes").Bytes<8>>;
80
- result: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkExecResult, {
81
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.ok;
80
+ result: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkExecResult, {
81
+ kind: import("@typeberry/block").WorkExecResultKind.ok;
82
82
  okBlob: import("@typeberry/bytes").BytesBlob;
83
83
  } | {
84
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.outOfGas;
84
+ kind: import("@typeberry/block").WorkExecResultKind.outOfGas;
85
85
  } | {
86
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.panic;
86
+ kind: import("@typeberry/block").WorkExecResultKind.panic;
87
87
  } | {
88
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.incorrectNumberOfExports;
88
+ kind: import("@typeberry/block").WorkExecResultKind.incorrectNumberOfExports;
89
89
  } | {
90
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.digestTooBig;
90
+ kind: import("@typeberry/block").WorkExecResultKind.digestTooBig;
91
91
  } | {
92
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.badCode;
92
+ kind: import("@typeberry/block").WorkExecResultKind.badCode;
93
93
  } | {
94
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.codeOversize;
94
+ kind: import("@typeberry/block").WorkExecResultKind.codeOversize;
95
95
  }>;
96
- load: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-result.js").WorkRefineLoad, {
96
+ load: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkRefineLoad, {
97
97
  gasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
98
98
  importedSegments: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
99
99
  extrinsicCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
@@ -103,33 +103,33 @@ export declare function startBlocksReader(options: BlocksImporterConfig, logger:
103
103
  }>>>;
104
104
  }>>;
105
105
  slot: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"TimeSlot[u32]">, import("@typeberry/bytes").Bytes<4>>;
106
- 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, {
106
+ 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, {
107
107
  validatorIndex: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
108
108
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
109
109
  }>>>;
110
110
  }>>>;
111
- 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, {
111
+ 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, {
112
112
  anchor: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"HeaderHash">, import("@typeberry/bytes").Bytes<32>>;
113
113
  bitfield: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").BitVec, import("@typeberry/bytes").BitVec>;
114
114
  validatorIndex: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
115
115
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
116
116
  }>>>;
117
- disputes: import("@typeberry/codec").Descriptor<import("@typeberry/block/disputes.js").DisputesExtrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").DisputesExtrinsic, {
118
- 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, {
117
+ disputes: import("@typeberry/codec").Descriptor<import("@typeberry/block").DisputesExtrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block").DisputesExtrinsic, {
118
+ 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, {
119
119
  workReportHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkReportHash">, import("@typeberry/bytes").Bytes<32>>;
120
120
  votesEpoch: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"Epoch">, import("@typeberry/bytes").Bytes<4>>;
121
- 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, {
121
+ 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, {
122
122
  isWorkReportValid: import("@typeberry/codec").Descriptor<boolean, boolean>;
123
123
  index: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
124
124
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
125
125
  }>>>;
126
126
  }>>>;
127
- 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, {
127
+ 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, {
128
128
  workReportHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkReportHash">, import("@typeberry/bytes").Bytes<32>>;
129
129
  key: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"Ed25519Key">, import("@typeberry/bytes").Bytes<32>>;
130
130
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
131
131
  }>>>;
132
- 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, {
132
+ 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, {
133
133
  workReportHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkReportHash">, import("@typeberry/bytes").Bytes<32>>;
134
134
  wasConsideredValid: import("@typeberry/codec").Descriptor<boolean, boolean>;
135
135
  key: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"Ed25519Key">, import("@typeberry/bytes").Bytes<32>>;