@typeberry/lib 0.5.3-355fdf7 → 0.5.3-fb6e98a

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 (76) 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/numbers/index.d.ts +4 -0
  5. package/packages/core/numbers/index.d.ts.map +1 -1
  6. package/packages/core/numbers/index.js +4 -4
  7. package/packages/core/pvm-host-calls/host-calls-executor.d.ts +23 -17
  8. package/packages/core/pvm-host-calls/host-calls-executor.d.ts.map +1 -1
  9. package/packages/core/pvm-host-calls/host-calls-executor.js +23 -31
  10. package/packages/core/pvm-interpreter/ops/math-consts.d.ts +2 -3
  11. package/packages/core/pvm-interpreter/ops/math-consts.d.ts.map +1 -1
  12. package/packages/core/pvm-interpreter/ops/math-consts.js +2 -3
  13. package/packages/core/pvm-interpreter/ops/math-ops.js +3 -3
  14. package/packages/core/pvm-interpreter/ops/math-utils.js +13 -13
  15. package/packages/core/pvm-interpreter/ops/math-utils.test.js +17 -16
  16. package/packages/jam/block/work-item.d.ts +13 -4
  17. package/packages/jam/block/work-item.d.ts.map +1 -1
  18. package/packages/jam/block/work-result.d.ts +3 -5
  19. package/packages/jam/block/work-result.d.ts.map +1 -1
  20. package/packages/jam/block/work-result.js +6 -0
  21. package/packages/jam/block-json/work-result.d.ts.map +1 -1
  22. package/packages/jam/block-json/work-result.js +6 -6
  23. package/packages/jam/database-lmdb/states.test.js +4 -3
  24. package/packages/jam/executor/index.d.ts +4 -0
  25. package/packages/jam/executor/index.d.ts.map +1 -0
  26. package/packages/jam/executor/index.js +2 -0
  27. package/packages/jam/{transition/accumulate → executor}/pvm-executor.d.ts +19 -16
  28. package/packages/jam/executor/pvm-executor.d.ts.map +1 -0
  29. package/packages/jam/{transition/accumulate → executor}/pvm-executor.js +46 -3
  30. package/packages/jam/in-core/externalities/refine.d.ts +24 -0
  31. package/packages/jam/in-core/externalities/refine.d.ts.map +1 -0
  32. package/packages/jam/in-core/externalities/refine.js +36 -0
  33. package/packages/jam/in-core/in-core.d.ts +60 -0
  34. package/packages/jam/in-core/in-core.d.ts.map +1 -0
  35. package/packages/jam/in-core/in-core.js +294 -0
  36. package/packages/jam/in-core/in-core.test.d.ts +2 -0
  37. package/packages/jam/in-core/in-core.test.d.ts.map +1 -0
  38. package/packages/jam/in-core/in-core.test.js +81 -0
  39. package/packages/jam/in-core/index.d.ts +2 -0
  40. package/packages/jam/in-core/index.d.ts.map +1 -0
  41. package/packages/jam/in-core/index.js +1 -0
  42. package/packages/jam/jam-host-calls/accumulate/bless.test.js +4 -5
  43. package/packages/jam/jamnp-s/protocol/ce-133-work-package-submission.d.ts +3 -3
  44. package/packages/jam/jamnp-s/protocol/ce-133-work-package-submission.d.ts.map +1 -1
  45. package/packages/jam/jamnp-s/protocol/ce-135-work-report-distribution.test.js +2 -2
  46. package/packages/jam/rpc-validation/types.d.ts +7 -3
  47. package/packages/jam/rpc-validation/types.d.ts.map +1 -1
  48. package/packages/jam/rpc-validation/validation.d.ts +254 -36
  49. package/packages/jam/rpc-validation/validation.d.ts.map +1 -1
  50. package/packages/jam/rpc-validation/validation.js +20 -2
  51. package/packages/jam/state/in-memory-state.d.ts.map +1 -1
  52. package/packages/jam/state/in-memory-state.js +2 -3
  53. package/packages/jam/state/test.utils.d.ts.map +1 -1
  54. package/packages/jam/state/test.utils.js +2 -3
  55. package/packages/jam/transition/accumulate/accumulate-data.d.ts.map +1 -1
  56. package/packages/jam/transition/accumulate/accumulate-data.js +1 -2
  57. package/packages/jam/transition/accumulate/accumulate-queue.test.js +2 -2
  58. package/packages/jam/transition/accumulate/accumulate-utils.test.js +2 -2
  59. package/packages/jam/transition/accumulate/accumulate.d.ts.map +1 -1
  60. package/packages/jam/transition/accumulate/accumulate.js +8 -13
  61. package/packages/jam/transition/accumulate/accumulate.test.js +2 -2
  62. package/packages/jam/transition/accumulate/accumulation-result-merge-utils.d.ts.map +1 -1
  63. package/packages/jam/transition/accumulate/accumulation-result-merge-utils.js +1 -2
  64. package/packages/jam/transition/accumulate/accumulation-result-merge-utils.test.js +1 -2
  65. package/packages/jam/transition/accumulate/deferred-transfers.d.ts +1 -1
  66. package/packages/jam/transition/accumulate/deferred-transfers.d.ts.map +1 -1
  67. package/packages/jam/transition/accumulate/deferred-transfers.js +6 -7
  68. package/packages/jam/transition/disputes/disputes.test.data2.js +2 -2
  69. package/packages/jam/transition/externalities/fetch-externalities.d.ts +7 -1
  70. package/packages/jam/transition/externalities/fetch-externalities.d.ts.map +1 -1
  71. package/packages/jam/transition/externalities/fetch-externalities.js +4 -0
  72. package/packages/jam/transition/externalities/fetch-externalities.test.js +2 -2
  73. package/packages/jam/transition/hasher.test.js +2 -2
  74. package/packages/jam/transition/reports/test.utils.d.ts.map +1 -1
  75. package/packages/jam/transition/reports/test.utils.js +2 -2
  76. package/packages/jam/transition/accumulate/pvm-executor.d.ts.map +0 -1
@@ -0,0 +1,81 @@
1
+ import assert from "node:assert";
2
+ import { before, describe, it } from "node:test";
3
+ import { tryAsCoreIndex, tryAsServiceGas, tryAsServiceId, tryAsTimeSlot } from "#@typeberry/block";
4
+ import { RefineContext } from "#@typeberry/block/refine-context.js";
5
+ import { WorkItem } from "#@typeberry/block/work-item.js";
6
+ import { tryAsWorkItemsCount, WorkPackage } from "#@typeberry/block/work-package.js";
7
+ import { Bytes, BytesBlob } from "#@typeberry/bytes";
8
+ import { Encoder } from "#@typeberry/codec";
9
+ import { asKnownSize, FixedSizeArray } from "#@typeberry/collections";
10
+ import { PvmBackend, tinyChainSpec } from "#@typeberry/config";
11
+ import { InMemoryStates } from "#@typeberry/database";
12
+ import { Blake2b, HASH_SIZE, WithHash } from "#@typeberry/hash";
13
+ import { tryAsU16 } from "#@typeberry/numbers";
14
+ import { testState } from "#@typeberry/state/test.utils.js";
15
+ import { InCore, RefineError } from "./in-core.js";
16
+ let blake2b;
17
+ before(async () => {
18
+ blake2b = await Blake2b.createHasher();
19
+ });
20
+ function createWorkItem(serviceId = 1) {
21
+ return WorkItem.create({
22
+ service: tryAsServiceId(serviceId),
23
+ codeHash: Bytes.zero(HASH_SIZE).asOpaque(),
24
+ payload: BytesBlob.empty(),
25
+ refineGasLimit: tryAsServiceGas(1_000_000),
26
+ accumulateGasLimit: tryAsServiceGas(1_000_000),
27
+ importSegments: asKnownSize([]),
28
+ extrinsic: [],
29
+ exportCount: tryAsU16(0),
30
+ });
31
+ }
32
+ function createWorkPackage(anchorHash, stateRoot, lookupAnchorSlot = 0) {
33
+ return WorkPackage.create({
34
+ authorization: BytesBlob.empty(),
35
+ authCodeHost: tryAsServiceId(1),
36
+ authCodeHash: Bytes.zero(HASH_SIZE).asOpaque(),
37
+ parametrization: BytesBlob.empty(),
38
+ context: RefineContext.create({
39
+ anchor: anchorHash,
40
+ stateRoot,
41
+ beefyRoot: Bytes.zero(HASH_SIZE).asOpaque(),
42
+ lookupAnchor: anchorHash,
43
+ lookupAnchorSlot: tryAsTimeSlot(lookupAnchorSlot),
44
+ prerequisites: [],
45
+ }),
46
+ items: FixedSizeArray.new([createWorkItem()], tryAsWorkItemsCount(1)),
47
+ });
48
+ }
49
+ function hashWorkPackage(spec, workPackage) {
50
+ const workPackageHash = blake2b
51
+ .hashBytes(Encoder.encodeObject(WorkPackage.Codec, workPackage, spec))
52
+ .asOpaque();
53
+ return new WithHash(workPackageHash, workPackage);
54
+ }
55
+ describe("InCore", () => {
56
+ it("should return StateMissing error when anchor block state is not in DB", async () => {
57
+ const spec = tinyChainSpec;
58
+ const states = new InMemoryStates(spec);
59
+ const inCore = new InCore(spec, states, PvmBackend.BuiltIn, blake2b);
60
+ const anchorHash = Bytes.fill(HASH_SIZE, 1).asOpaque();
61
+ const stateRoot = Bytes.zero(HASH_SIZE).asOpaque();
62
+ const workPackage = createWorkPackage(anchorHash, stateRoot);
63
+ const result = await inCore.refine(hashWorkPackage(spec, workPackage), tryAsCoreIndex(0), asKnownSize([[]]), asKnownSize([[]]));
64
+ assert.strictEqual(result.isError, true);
65
+ assert.strictEqual(result.error, RefineError.StateMissing);
66
+ });
67
+ it("should refine work package and produce a report when state is set up", async () => {
68
+ const spec = tinyChainSpec;
69
+ const states = new InMemoryStates(spec);
70
+ const inCore = new InCore(spec, states, PvmBackend.BuiltIn, blake2b);
71
+ const anchorHash = Bytes.fill(HASH_SIZE, 1).asOpaque();
72
+ const state = testState();
73
+ await states.insertInitialState(anchorHash, state);
74
+ const correctStateRoot = await states.getStateRoot(state);
75
+ const workPackage = createWorkPackage(anchorHash, correctStateRoot, state.timeslot);
76
+ const result = await inCore.refine(hashWorkPackage(spec, workPackage), tryAsCoreIndex(0), asKnownSize([[]]), asKnownSize([[]]));
77
+ assert.strictEqual(result.isOk, true);
78
+ assert.strictEqual(result.ok.report.coreIndex, 0);
79
+ assert.strictEqual(result.ok.report.results.length, 1);
80
+ });
81
+ });
@@ -0,0 +1,2 @@
1
+ export * from "./in-core.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/in-core/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./in-core.js";
@@ -3,14 +3,13 @@ import { describe, it } from "node:test";
3
3
  import { tryAsServiceGas, tryAsServiceId } from "#@typeberry/block";
4
4
  import { codec, Encoder } from "#@typeberry/codec";
5
5
  import { tinyChainSpec } from "#@typeberry/config";
6
- import { tryAsU64 } from "#@typeberry/numbers";
6
+ import { MAX_VALUE_U32, MAX_VALUE_U64, tryAsU64 } from "#@typeberry/numbers";
7
7
  import { HostCallMemory, HostCallRegisters, PvmExecution } from "#@typeberry/pvm-host-calls";
8
8
  import { tryAsGas } from "#@typeberry/pvm-interface";
9
9
  import { gasCounter } from "#@typeberry/pvm-interpreter/gas.js";
10
10
  import { MemoryBuilder, tryAsMemoryIndex } from "#@typeberry/pvm-interpreter/memory/index.js";
11
11
  import { PAGE_SIZE } from "#@typeberry/pvm-interpreter/memory/memory-consts.js";
12
12
  import { tryAsSbrkIndex } from "#@typeberry/pvm-interpreter/memory/memory-index.js";
13
- import { MAX_VALUE, MAX_VALUE_U64 } from "#@typeberry/pvm-interpreter/ops/math-consts.js";
14
13
  import { codecPerCore, tryAsPerCore } from "#@typeberry/state";
15
14
  import { Compatibility, deepEqual, GpVersion, Result } from "#@typeberry/utils";
16
15
  import { UpdatePrivilegesError } from "../externalities/partial-state.js";
@@ -99,7 +98,7 @@ describe("HostCalls: Bless", () => {
99
98
  tryAsServiceId(5),
100
99
  tryAsPerCore([tryAsServiceId(10), tryAsServiceId(15)], tinyChainSpec),
101
100
  tryAsServiceId(20),
102
- tryAsServiceId(MAX_VALUE),
101
+ tryAsServiceId(MAX_VALUE_U32),
103
102
  new Map(entries),
104
103
  ],
105
104
  ]);
@@ -161,7 +160,7 @@ describe("HostCalls: Bless", () => {
161
160
  tryAsServiceId(5),
162
161
  tryAsPerCore([tryAsServiceId(10), tryAsServiceId(15)], tinyChainSpec),
163
162
  tryAsServiceId(20),
164
- tryAsServiceId(MAX_VALUE),
163
+ tryAsServiceId(MAX_VALUE_U32),
165
164
  new Map(entries),
166
165
  ],
167
166
  ]);
@@ -197,7 +196,7 @@ describe("HostCalls: Bless", () => {
197
196
  tryAsServiceId(5),
198
197
  tryAsPerCore([tryAsServiceId(10), tryAsServiceId(15)], tinyChainSpec),
199
198
  tryAsServiceId(20),
200
- tryAsServiceId(MAX_VALUE),
199
+ tryAsServiceId(MAX_VALUE_U32),
201
200
  new Map(entries),
202
201
  ],
203
202
  ]);
@@ -1,5 +1,5 @@
1
1
  import type { CoreIndex } from "#@typeberry/block";
2
- import { type WorkItemExtrinsics } from "#@typeberry/block/work-item.js";
2
+ import { type WorkPackageExtrinsics } from "#@typeberry/block/work-item.js";
3
3
  import { WorkPackage } from "#@typeberry/block/work-package.js";
4
4
  import type { BytesBlob } from "#@typeberry/bytes";
5
5
  import { type CodecRecord } from "#@typeberry/codec";
@@ -55,7 +55,7 @@ export declare class CoreWorkPackage extends WithDebug {
55
55
  export declare class ServerHandler implements StreamHandler<typeof STREAM_KIND> {
56
56
  private readonly onWorkPackage;
57
57
  kind: 133 & import("@typeberry/numbers").WithBytesRepresentation<1>;
58
- constructor(onWorkPackage: (i: CoreIndex, w: WorkPackage, e: WorkItemExtrinsics) => void);
58
+ constructor(onWorkPackage: (i: CoreIndex, w: WorkPackage, e: WorkPackageExtrinsics) => void);
59
59
  readonly workPackages: Map<import("@typeberry/numbers").U32, CoreWorkPackage>;
60
60
  onStreamMessage(sender: StreamMessageSender, message: BytesBlob): void;
61
61
  onClose(streamId: StreamId): void;
@@ -64,6 +64,6 @@ export declare class ClientHandler implements StreamHandler<typeof STREAM_KIND>
64
64
  kind: 133 & import("@typeberry/numbers").WithBytesRepresentation<1>;
65
65
  onStreamMessage(sender: StreamMessageSender): void;
66
66
  onClose(): void;
67
- sendWorkPackage(sender: StreamMessageSender, coreIndex: CoreIndex, workPackage: WorkPackage, extrinsic: WorkItemExtrinsics): void;
67
+ sendWorkPackage(sender: StreamMessageSender, coreIndex: CoreIndex, workPackage: WorkPackage, extrinsic: WorkPackageExtrinsics): void;
68
68
  }
69
69
  //# sourceMappingURL=ce-133-work-package-submission.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ce-133-work-package-submission.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jamnp-s/protocol/ce-133-work-package-submission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,kBAAkB,EAA2B,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAmB,MAAM,aAAa,CAAC;AAE3G;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,+DAAuB,CAAC;AAEhD,qBAAa,eAAgB,SAAQ,SAAS;aAW1B,SAAS,EAAE,SAAS;aACpB,WAAW,EAAE,WAAW;IAX1C,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAGT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,eAAe,CAAC;IAItE,OAAO;CAMR;AAID,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IAGzD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF1C,IAAI,gEAAe;gBAEU,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,kBAAkB,KAAK,IAAI;IAEzG,SAAgB,YAAY,yDAAwC;IAEpE,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAiBtE,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAGlC;AAED,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IACrE,IAAI,gEAAe;IAEnB,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAKlD,OAAO,IAAI,IAAI;IAEf,eAAe,CACb,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,kBAAkB;CAUhC"}
1
+ {"version":3,"file":"ce-133-work-package-submission.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jamnp-s/protocol/ce-133-work-package-submission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,qBAAqB,EAA2B,MAAM,+BAA+B,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAmB,MAAM,aAAa,CAAC;AAE3G;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,+DAAuB,CAAC;AAEhD,qBAAa,eAAgB,SAAQ,SAAS;aAW1B,SAAS,EAAE,SAAS;aACpB,WAAW,EAAE,WAAW;IAX1C,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAGT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,eAAe,CAAC;IAItE,OAAO;CAMR;AAID,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IAGzD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF1C,IAAI,gEAAe;gBAEU,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,qBAAqB,KAAK,IAAI;IAE5G,SAAgB,YAAY,yDAAwC;IAEpE,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAiBtE,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAGlC;AAED,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IACrE,IAAI,gEAAe;IAEnB,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAKlD,OAAO,IAAI,IAAI;IAEf,eAAe,CACb,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,qBAAqB;CAUnC"}
@@ -5,7 +5,7 @@ import { Credential } from "#@typeberry/block/guarantees.js";
5
5
  import { RefineContext } from "#@typeberry/block/refine-context.js";
6
6
  import { tryAsWorkItemsCount } from "#@typeberry/block/work-package.js";
7
7
  import { WorkPackageSpec, WorkReport } from "#@typeberry/block/work-report.js";
8
- import { WorkExecResult, WorkExecResultKind, WorkRefineLoad, WorkResult } from "#@typeberry/block/work-result.js";
8
+ import { WorkExecResult, WorkRefineLoad, WorkResult } from "#@typeberry/block/work-result.js";
9
9
  import { Bytes, BytesBlob } from "#@typeberry/bytes";
10
10
  import { asKnownSize, FixedSizeArray } from "#@typeberry/collections";
11
11
  import { tinyChainSpec } from "#@typeberry/config";
@@ -36,7 +36,7 @@ const MOCK_WORK_RESULT = WorkResult.create({
36
36
  codeHash: Bytes.zero(HASH_SIZE).asOpaque(),
37
37
  payloadHash: Bytes.zero(HASH_SIZE),
38
38
  gas: tryAsServiceGas(1000n),
39
- result: new WorkExecResult(WorkExecResultKind.ok, BytesBlob.blobFrom(new Uint8Array())),
39
+ result: WorkExecResult.ok(BytesBlob.empty()),
40
40
  load: WorkRefineLoad.create({
41
41
  gasUsed: tryAsServiceGas(10000n),
42
42
  importedSegments: tryAsU32(1),
@@ -1,5 +1,6 @@
1
- import type { ChainSpec } from "#@typeberry/config";
1
+ import type { ChainSpec, PvmBackend } from "#@typeberry/config";
2
2
  import type { BlocksDb, StatesDb } from "#@typeberry/database";
3
+ import type { Blake2b } from "#@typeberry/hash";
3
4
  import type { EnumerableState, State } from "#@typeberry/state";
4
5
  import type WebSocket from "ws";
5
6
  import type { z } from "zod";
@@ -62,11 +63,14 @@ export type SchemaMapUnknown = Record<MethodName, {
62
63
  }>;
63
64
  export type InputOf<M extends MethodName> = z.infer<SchemaMap[M]["input"]>;
64
65
  export type OutputOf<M extends MethodName> = z.infer<SchemaMap[M]["output"]>;
65
- export type GenericHandler<I, O> = (input: I, context: {
66
+ export interface HandlerContext {
66
67
  db: DatabaseContext;
67
68
  chainSpec: ChainSpec;
69
+ pvmBackend: PvmBackend;
70
+ blake2b: Blake2b;
68
71
  subscription: SubscriptionHandlerApi;
69
- }) => Promise<O>;
72
+ }
73
+ export type GenericHandler<I, O> = (input: I, context: HandlerContext) => Promise<O>;
70
74
  export type Handler<M extends MethodName> = GenericHandler<InputOf<M>, OutputOf<M>>;
71
75
  export type HandlerMap = {
72
76
  [N in MethodName]: Handler<N>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/rpc-validation/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/rpc-validation/types.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export declare const JSON_RPC_VERSION = "2.0";
3
3
  export declare namespace validation {
4
4
  const hash: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
5
5
  const slot: z.ZodNumber;
6
+ const coreIndex: z.ZodNumber;
6
7
  const blobArray: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
7
8
  const serviceId: z.ZodNumber;
8
9
  const preimageLength: z.ZodNumber;
@@ -11,6 +12,10 @@ export declare namespace validation {
11
12
  header_hash: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
12
13
  slot: z.ZodNumber;
13
14
  }, z.z.core.$strip>;
15
+ const refineResult: z.ZodObject<{
16
+ report: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
17
+ exports: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
18
+ }, z.z.core.$strip>;
14
19
  const parameters: z.ZodObject<{
15
20
  V1: z.ZodObject<{
16
21
  deposit_per_account: z.ZodNumber;
@@ -60,6 +65,212 @@ export declare namespace validation {
60
65
  input: z.ZodTuple<[z.ZodString], null>;
61
66
  output: z.ZodBoolean;
62
67
  };
68
+ /** Non-standard typeberry extension methods. */
69
+ const customSchemas: {
70
+ typeberry_refineWorkPackage: {
71
+ input: z.ZodTuple<[z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodArray<z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>>], null>;
72
+ output: z.ZodObject<{
73
+ report: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
74
+ exports: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
75
+ }, z.z.core.$strip>;
76
+ };
77
+ };
78
+ /** JIP-2 (standardized) methods */
79
+ const jip2Schemas: {
80
+ beefyRoot: {
81
+ input: z.ZodTuple<[], null>;
82
+ output: z.ZodAny;
83
+ };
84
+ submitPreimage: {
85
+ input: z.ZodTuple<[], null>;
86
+ output: z.ZodAny;
87
+ };
88
+ submitWorkPackage: {
89
+ input: z.ZodTuple<[], null>;
90
+ output: z.ZodAny;
91
+ };
92
+ workReport: {
93
+ input: z.ZodTuple<[], null>;
94
+ output: z.ZodAny;
95
+ };
96
+ submitWorkPackageBundle: {
97
+ input: z.ZodTuple<[], null>;
98
+ output: z.ZodAny;
99
+ };
100
+ workPackageStatus: {
101
+ input: z.ZodTuple<[], null>;
102
+ output: z.ZodAny;
103
+ };
104
+ subscribeWorkPackageStatus: {
105
+ input: z.ZodTuple<[], null>;
106
+ output: z.ZodAny;
107
+ };
108
+ fetchWorkPackageSegments: {
109
+ input: z.ZodTuple<[], null>;
110
+ output: z.ZodAny;
111
+ };
112
+ fetchSegments: {
113
+ input: z.ZodTuple<[], null>;
114
+ output: z.ZodAny;
115
+ };
116
+ syncState: {
117
+ input: z.ZodTuple<[], null>;
118
+ output: z.ZodAny;
119
+ };
120
+ subscribeSyncStatus: {
121
+ input: z.ZodTuple<[], null>;
122
+ output: z.ZodAny;
123
+ };
124
+ bestBlock: {
125
+ input: z.ZodTuple<[], null>;
126
+ output: z.ZodObject<{
127
+ header_hash: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
128
+ slot: z.ZodNumber;
129
+ }, z.z.core.$strip>;
130
+ };
131
+ finalizedBlock: {
132
+ input: z.ZodTuple<[], null>;
133
+ output: z.ZodObject<{
134
+ header_hash: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
135
+ slot: z.ZodNumber;
136
+ }, z.z.core.$strip>;
137
+ };
138
+ listServices: {
139
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
140
+ output: z.ZodArray<z.ZodNumber>;
141
+ };
142
+ parameters: {
143
+ input: z.ZodTuple<[], null>;
144
+ output: z.ZodObject<{
145
+ V1: z.ZodObject<{
146
+ deposit_per_account: z.ZodNumber;
147
+ deposit_per_item: z.ZodNumber;
148
+ deposit_per_byte: z.ZodNumber;
149
+ min_turnaround_period: z.ZodNumber;
150
+ epoch_period: z.ZodNumber;
151
+ max_accumulate_gas: z.ZodNumber;
152
+ max_is_authorized_gas: z.ZodNumber;
153
+ max_refine_gas: z.ZodNumber;
154
+ block_gas_limit: z.ZodNumber;
155
+ recent_block_count: z.ZodNumber;
156
+ max_work_items: z.ZodNumber;
157
+ max_dependencies: z.ZodNumber;
158
+ max_tickets_per_block: z.ZodNumber;
159
+ max_lookup_anchor_age: z.ZodNumber;
160
+ tickets_attempts_number: z.ZodNumber;
161
+ auth_window: z.ZodNumber;
162
+ auth_queue_len: z.ZodNumber;
163
+ rotation_period: z.ZodNumber;
164
+ max_extrinsics: z.ZodNumber;
165
+ availability_timeout: z.ZodNumber;
166
+ val_count: z.ZodNumber;
167
+ max_input: z.ZodNumber;
168
+ max_refine_code_size: z.ZodNumber;
169
+ basic_piece_len: z.ZodNumber;
170
+ max_imports: z.ZodNumber;
171
+ max_is_authorized_code_size: z.ZodNumber;
172
+ max_exports: z.ZodNumber;
173
+ max_refine_memory: z.ZodNumber;
174
+ max_is_authorized_memory: z.ZodNumber;
175
+ segment_piece_count: z.ZodNumber;
176
+ max_report_elective_data: z.ZodNumber;
177
+ transfer_memo_size: z.ZodNumber;
178
+ epoch_tail_start: z.ZodNumber;
179
+ core_count: z.ZodNumber;
180
+ slot_period_sec: z.ZodNumber;
181
+ max_authorizer_code_size: z.ZodNumber;
182
+ max_service_code_size: z.ZodNumber;
183
+ }, z.z.core.$strip>;
184
+ }, z.z.core.$strip>;
185
+ };
186
+ parent: {
187
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
188
+ output: z.ZodObject<{
189
+ header_hash: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
190
+ slot: z.ZodNumber;
191
+ }, z.z.core.$strip>;
192
+ };
193
+ serviceData: {
194
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber], null>;
195
+ output: z.ZodUnion<readonly [z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNull]>;
196
+ };
197
+ servicePreimage: {
198
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
199
+ output: z.ZodUnion<readonly [z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNull]>;
200
+ };
201
+ serviceRequest: {
202
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber], null>;
203
+ output: z.ZodUnion<readonly [z.ZodReadonly<z.ZodArray<z.ZodNumber>>, z.ZodNull]>;
204
+ };
205
+ serviceValue: {
206
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
207
+ output: z.ZodUnion<readonly [z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNull]>;
208
+ };
209
+ stateRoot: {
210
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
211
+ output: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
212
+ };
213
+ statistics: {
214
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
215
+ output: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
216
+ };
217
+ subscribeBestBlock: {
218
+ input: z.ZodTuple<[], null>;
219
+ output: z.ZodString;
220
+ };
221
+ subscribeFinalizedBlock: {
222
+ input: z.ZodTuple<[], null>;
223
+ output: z.ZodString;
224
+ };
225
+ subscribeServiceData: {
226
+ input: z.ZodTuple<[z.ZodNumber, z.ZodBoolean], null>;
227
+ output: z.ZodString;
228
+ };
229
+ subscribeServicePreimage: {
230
+ input: z.ZodTuple<[z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodBoolean], null>;
231
+ output: z.ZodString;
232
+ };
233
+ subscribeServiceRequest: {
234
+ input: z.ZodTuple<[z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber, z.ZodBoolean], null>;
235
+ output: z.ZodString;
236
+ };
237
+ subscribeServiceValue: {
238
+ input: z.ZodTuple<[z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodBoolean], null>;
239
+ output: z.ZodString;
240
+ };
241
+ subscribeStatistics: {
242
+ input: z.ZodTuple<[z.ZodBoolean], null>;
243
+ output: z.ZodString;
244
+ };
245
+ unsubscribeBestBlock: {
246
+ input: z.ZodTuple<[z.ZodString], null>;
247
+ output: z.ZodBoolean;
248
+ };
249
+ unsubscribeFinalizedBlock: {
250
+ input: z.ZodTuple<[z.ZodString], null>;
251
+ output: z.ZodBoolean;
252
+ };
253
+ unsubscribeServiceData: {
254
+ input: z.ZodTuple<[z.ZodString], null>;
255
+ output: z.ZodBoolean;
256
+ };
257
+ unsubscribeServicePreimage: {
258
+ input: z.ZodTuple<[z.ZodString], null>;
259
+ output: z.ZodBoolean;
260
+ };
261
+ unsubscribeServiceRequest: {
262
+ input: z.ZodTuple<[z.ZodString], null>;
263
+ output: z.ZodBoolean;
264
+ };
265
+ unsubscribeServiceValue: {
266
+ input: z.ZodTuple<[z.ZodString], null>;
267
+ output: z.ZodBoolean;
268
+ };
269
+ unsubscribeStatistics: {
270
+ input: z.ZodTuple<[z.ZodString], null>;
271
+ output: z.ZodBoolean;
272
+ };
273
+ };
63
274
  const schemas: {
64
275
  readonly beefyRoot: {
65
276
  input: z.ZodTuple<[], null>;
@@ -106,26 +317,26 @@ export declare namespace validation {
106
317
  output: z.ZodAny;
107
318
  };
108
319
  readonly bestBlock: {
109
- readonly input: z.ZodTuple<[], null>;
110
- readonly output: z.ZodObject<{
320
+ input: z.ZodTuple<[], null>;
321
+ output: z.ZodObject<{
111
322
  header_hash: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
112
323
  slot: z.ZodNumber;
113
324
  }, z.z.core.$strip>;
114
325
  };
115
326
  readonly finalizedBlock: {
116
- readonly input: z.ZodTuple<[], null>;
117
- readonly output: z.ZodObject<{
327
+ input: z.ZodTuple<[], null>;
328
+ output: z.ZodObject<{
118
329
  header_hash: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
119
330
  slot: z.ZodNumber;
120
331
  }, z.z.core.$strip>;
121
332
  };
122
333
  readonly listServices: {
123
- readonly input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
124
- readonly output: z.ZodArray<z.ZodNumber>;
334
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
335
+ output: z.ZodArray<z.ZodNumber>;
125
336
  };
126
337
  readonly parameters: {
127
- readonly input: z.ZodTuple<[], null>;
128
- readonly output: z.ZodObject<{
338
+ input: z.ZodTuple<[], null>;
339
+ output: z.ZodObject<{
129
340
  V1: z.ZodObject<{
130
341
  deposit_per_account: z.ZodNumber;
131
342
  deposit_per_item: z.ZodNumber;
@@ -168,63 +379,63 @@ export declare namespace validation {
168
379
  }, z.z.core.$strip>;
169
380
  };
170
381
  readonly parent: {
171
- readonly input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
172
- readonly output: z.ZodObject<{
382
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
383
+ output: z.ZodObject<{
173
384
  header_hash: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
174
385
  slot: z.ZodNumber;
175
386
  }, z.z.core.$strip>;
176
387
  };
177
388
  readonly serviceData: {
178
- readonly input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber], null>;
179
- readonly output: z.ZodUnion<readonly [z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNull]>;
389
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber], null>;
390
+ output: z.ZodUnion<readonly [z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNull]>;
180
391
  };
181
392
  readonly servicePreimage: {
182
- readonly input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
183
- readonly output: z.ZodUnion<readonly [z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNull]>;
393
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
394
+ output: z.ZodUnion<readonly [z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNull]>;
184
395
  };
185
396
  readonly serviceRequest: {
186
- readonly input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber], null>;
187
- readonly output: z.ZodUnion<readonly [z.ZodReadonly<z.ZodArray<z.ZodNumber>>, z.ZodNull]>;
397
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber], null>;
398
+ output: z.ZodUnion<readonly [z.ZodReadonly<z.ZodArray<z.ZodNumber>>, z.ZodNull]>;
188
399
  };
189
400
  readonly serviceValue: {
190
- readonly input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
191
- readonly output: z.ZodUnion<readonly [z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNull]>;
401
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
402
+ output: z.ZodUnion<readonly [z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNull]>;
192
403
  };
193
404
  readonly stateRoot: {
194
- readonly input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
195
- readonly output: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
405
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
406
+ output: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
196
407
  };
197
408
  readonly statistics: {
198
- readonly input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
199
- readonly output: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
409
+ input: z.ZodTuple<[z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>], null>;
410
+ output: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
200
411
  };
201
412
  readonly subscribeBestBlock: {
202
- readonly input: z.ZodTuple<[], null>;
203
- readonly output: z.ZodString;
413
+ input: z.ZodTuple<[], null>;
414
+ output: z.ZodString;
204
415
  };
205
416
  readonly subscribeFinalizedBlock: {
206
- readonly input: z.ZodTuple<[], null>;
207
- readonly output: z.ZodString;
417
+ input: z.ZodTuple<[], null>;
418
+ output: z.ZodString;
208
419
  };
209
420
  readonly subscribeServiceData: {
210
- readonly input: z.ZodTuple<[z.ZodNumber, z.ZodBoolean], null>;
211
- readonly output: z.ZodString;
421
+ input: z.ZodTuple<[z.ZodNumber, z.ZodBoolean], null>;
422
+ output: z.ZodString;
212
423
  };
213
424
  readonly subscribeServicePreimage: {
214
- readonly input: z.ZodTuple<[z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodBoolean], null>;
215
- readonly output: z.ZodString;
425
+ input: z.ZodTuple<[z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodBoolean], null>;
426
+ output: z.ZodString;
216
427
  };
217
428
  readonly subscribeServiceRequest: {
218
- readonly input: z.ZodTuple<[z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber, z.ZodBoolean], null>;
219
- readonly output: z.ZodString;
429
+ input: z.ZodTuple<[z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodNumber, z.ZodBoolean], null>;
430
+ output: z.ZodString;
220
431
  };
221
432
  readonly subscribeServiceValue: {
222
- readonly input: z.ZodTuple<[z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodBoolean], null>;
223
- readonly output: z.ZodString;
433
+ input: z.ZodTuple<[z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodBoolean], null>;
434
+ output: z.ZodString;
224
435
  };
225
436
  readonly subscribeStatistics: {
226
- readonly input: z.ZodTuple<[z.ZodBoolean], null>;
227
- readonly output: z.ZodString;
437
+ input: z.ZodTuple<[z.ZodBoolean], null>;
438
+ output: z.ZodString;
228
439
  };
229
440
  readonly unsubscribeBestBlock: {
230
441
  input: z.ZodTuple<[z.ZodString], null>;
@@ -254,6 +465,13 @@ export declare namespace validation {
254
465
  input: z.ZodTuple<[z.ZodString], null>;
255
466
  output: z.ZodBoolean;
256
467
  };
468
+ readonly typeberry_refineWorkPackage: {
469
+ input: z.ZodTuple<[z.ZodNumber, z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>, z.ZodArray<z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>>], null>;
470
+ output: z.ZodObject<{
471
+ report: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
472
+ exports: z.ZodCodec<z.ZodBase64, z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>>;
473
+ }, z.z.core.$strip>;
474
+ };
257
475
  };
258
476
  const jsonRpcRequest: z.ZodObject<{
259
477
  jsonrpc: z.ZodLiteral<"2.0">;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/rpc-validation/validation.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,yBAAiB,UAAU,CAAC;IAInB,MAAM,IAAI,gGAOhB,CAAC;IACK,MAAM,IAAI,aAAM,CAAC;IACjB,MAAM,SAAS,gGAGpB,CAAC;IACI,MAAM,SAAS,aAAM,CAAC;IACtB,MAAM,cAAc,aAAM,CAAC;IAC3B,MAAM,MAAM,sBAAc,CAAC;IAC3B,MAAM,eAAe;;;uBAG1B,CAAC;IAEI,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAwCrB,CAAC;IAEI,MAAM,oBAAoB;;;KAGhC,CAAC;IAEK,MAAM,iBAAiB;;;KAG7B,CAAC;IAEK,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2F8D,CAAC;IAE5E,MAAM,cAAc;;;;;uBAKzB,CAAC;IAEI,MAAM,mBAAmB;;;;uBAAoC,CAAC;CACtE;AAED,eAAO,MAAM,oBAAoB;;;;;;;;CAQqE,CAAC"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/rpc-validation/validation.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,yBAAiB,UAAU,CAAC;IAMnB,MAAM,IAAI,gGAOhB,CAAC;IACK,MAAM,IAAI,aAAM,CAAC;IACjB,MAAM,SAAS,aAAM,CAAC;IACtB,MAAM,SAAS,gGAGpB,CAAC;IACI,MAAM,SAAS,aAAM,CAAC;IACtB,MAAM,cAAc,aAAM,CAAC;IAC3B,MAAM,MAAM,sBAAc,CAAC;IAC3B,MAAM,eAAe;;;uBAG1B,CAAC;IAEI,MAAM,YAAY;;;uBAGvB,CAAC;IAEI,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAwCrB,CAAC;IAEI,MAAM,oBAAoB;;;KAGhC,CAAC;IAEK,MAAM,iBAAiB;;;KAG7B,CAAC;IAEF,gDAAgD;IACzC,MAAM,aAAa;;;;;;;;KAKzB,CAAC;IAEF,mCAAmC;IAC5B,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2FvB,CAAC;IAEK,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAG8D,CAAC;IAE5E,MAAM,cAAc;;;;;uBAKzB,CAAC;IAEI,MAAM,mBAAmB;;;;uBAAoC,CAAC;CACtE;AAED,eAAO,MAAM,oBAAoB;;;;;;;;CAQqE,CAAC"}