@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
@@ -1,5 +1,5 @@
1
- import type { EntropyHash } from "#@typeberry/block";
2
- import type { SignedTicket } from "#@typeberry/block/tickets.js";
1
+ import type { EntropyHash, TicketAttempt } from "#@typeberry/block";
2
+ import { SignedTicket } from "#@typeberry/block/tickets.js";
3
3
  import { BytesBlob } from "#@typeberry/bytes";
4
4
  import type { BandersnatchKey, BandersnatchSecretSeed } from "#@typeberry/crypto";
5
5
  import { type BandersnatchRingRoot, type BandersnatchVrfSignature } from "#@typeberry/crypto/bandersnatch.js";
@@ -13,6 +13,7 @@ declare const FUNCTIONS: {
13
13
  getRingCommitment: typeof getRingCommitment;
14
14
  generateSeal: typeof generateSeal;
15
15
  getVrfOutputHash: typeof getVrfOutputHash;
16
+ generateTickets: typeof generateTickets;
16
17
  };
17
18
  export default FUNCTIONS;
18
19
  declare function verifyHeaderSeals(bandersnatch: BandernsatchWasm, authorKey: BandersnatchKey, signature: BandersnatchVrfSignature, payload: BytesBlob, encodedUnsealedHeader: BytesBlob, entropySignature: BandersnatchVrfSignature, entropyPayloadPrefix: BytesBlob): Promise<Result<[EntropyHash, EntropyHash], null>>;
@@ -25,4 +26,8 @@ declare function verifyTickets(bandersnatch: BandernsatchWasm, numberOfValidator
25
26
  declare function generateSeal(bandersnatch: BandernsatchWasm, authorKey: BandersnatchSecretSeed, input: BytesBlob, auxData: BytesBlob): Promise<Result<BandersnatchVrfSignature, null>>;
26
27
  export type VrfOutputHash = Opaque<OpaqueHash, "VRF Output Hash">;
27
28
  declare function getVrfOutputHash(bandersnatch: BandernsatchWasm, authorKey: BandersnatchSecretSeed, input: BytesBlob): Promise<Result<VrfOutputHash, null>>;
29
+ /**
30
+ * Generates signed tickets for all attempts at once using batch ring VRF.
31
+ */
32
+ declare function generateTickets(bandersnatch: BandernsatchWasm, ringKeys: BandersnatchKey[], proverKeyIndex: number, key: BandersnatchSecretSeed, entropy: EntropyHash, ticketsPerValidator: TicketAttempt): Promise<Result<SignedTicket[], null>>;
28
33
  //# sourceMappingURL=bandersnatch-vrf.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bandersnatch-vrf.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/safrole/bandersnatch-vrf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAS,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC9B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAwB/D,QAAA,MAAM,SAAS;;;;;;;CAOd,CAAC;AAKF,eAAe,SAAS,CAAC;AAEzB,iBAAe,iBAAiB,CAC9B,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,wBAAwB,EACnC,OAAO,EAAE,SAAS,EAClB,qBAAqB,EAAE,SAAS,EAChC,gBAAgB,EAAE,wBAAwB,EAC1C,oBAAoB,EAAE,SAAS,GAC9B,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC,CAkBnD;AAED,iBAAe,UAAU,CACvB,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,wBAAwB,EACnC,OAAO,EAAE,SAAS,EAClB,qBAAqB,EAAE,SAAS,GAC/B,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAapC;AAED,iBAAS,iBAAiB,CACxB,YAAY,EAAE,gBAAgB,EAC9B,UAAU,EAAE,eAAe,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAmB7C;AAkBD,iBAAe,aAAa,CAC1B,YAAY,EAAE,gBAAgB,EAC9B,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,EAAE,CAAC,CAqB3D;AAED,iBAAe,YAAY,CACzB,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,sBAAsB,EACjC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,SAAS,GACjB,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAQjD;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAElE,iBAAe,gBAAgB,CAC7B,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,sBAAsB,EACjC,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAQtC"}
1
+ {"version":3,"file":"bandersnatch-vrf.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/safrole/bandersnatch-vrf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAsB,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAS,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC9B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAwB/D,QAAA,MAAM,SAAS;;;;;;;;CAQd,CAAC;AAKF,eAAe,SAAS,CAAC;AAEzB,iBAAe,iBAAiB,CAC9B,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,wBAAwB,EACnC,OAAO,EAAE,SAAS,EAClB,qBAAqB,EAAE,SAAS,EAChC,gBAAgB,EAAE,wBAAwB,EAC1C,oBAAoB,EAAE,SAAS,GAC9B,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC,CAkBnD;AAED,iBAAe,UAAU,CACvB,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,wBAAwB,EACnC,OAAO,EAAE,SAAS,EAClB,qBAAqB,EAAE,SAAS,GAC/B,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAapC;AAED,iBAAS,iBAAiB,CACxB,YAAY,EAAE,gBAAgB,EAC9B,UAAU,EAAE,eAAe,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAmB7C;AAkBD,iBAAe,aAAa,CAC1B,YAAY,EAAE,gBAAgB,EAC9B,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,EAAE,CAAC,CAqB3D;AAED,iBAAe,YAAY,CACzB,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,sBAAsB,EACjC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,SAAS,GACjB,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAQjD;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAElE,iBAAe,gBAAgB,CAC7B,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,sBAAsB,EACjC,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAQtC;AAKD;;GAEG;AACH,iBAAe,eAAe,CAC5B,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,EAAE,eAAe,EAAE,EAC3B,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,sBAAsB,EAC3B,OAAO,EAAE,WAAW,EACpB,mBAAmB,EAAE,aAAa,GACjC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC,CA0CvC"}
@@ -1,5 +1,6 @@
1
+ import { SignedTicket, tryAsTicketAttempt } from "#@typeberry/block/tickets.js";
1
2
  import { Bytes, BytesBlob } from "#@typeberry/bytes";
2
- import { BANDERSNATCH_RING_ROOT_BYTES, BANDERSNATCH_VRF_SIGNATURE_BYTES, } from "#@typeberry/crypto/bandersnatch.js";
3
+ import { BANDERSNATCH_PROOF_BYTES, BANDERSNATCH_RING_ROOT_BYTES, BANDERSNATCH_VRF_SIGNATURE_BYTES, } from "#@typeberry/crypto/bandersnatch.js";
3
4
  import { HASH_SIZE } from "#@typeberry/hash";
4
5
  import { Result } from "#@typeberry/utils";
5
6
  import { JAM_TICKET_SEAL } from "./constants.js";
@@ -25,6 +26,7 @@ const FUNCTIONS = {
25
26
  getRingCommitment,
26
27
  generateSeal,
27
28
  getVrfOutputHash,
29
+ generateTickets,
28
30
  };
29
31
  // NOTE [ToDr] We export the entire object to allow mocking in tests.
30
32
  // Ideally we would just export functions and figure out how to mock
@@ -99,3 +101,34 @@ async function getVrfOutputHash(bandersnatch, authorKey, input) {
99
101
  }
100
102
  return Result.ok(Bytes.fromBlob(result.subarray(1), HASH_SIZE).asOpaque());
101
103
  }
104
+ // One byte for result discriminator and the rest is the ring VRF signature.
105
+ const GENERATE_RESULT_ENTRY_LENGTH = 1 + BANDERSNATCH_PROOF_BYTES;
106
+ /**
107
+ * Generates signed tickets for all attempts at once using batch ring VRF.
108
+ */
109
+ async function generateTickets(bandersnatch, ringKeys, proverKeyIndex, key, entropy, ticketsPerValidator) {
110
+ // Build VRF inputs: JAM_TICKET_SEAL || entropy || attempt_byte for each attempt
111
+ const vrfInputParts = [];
112
+ for (let attempt = 0; attempt < ticketsPerValidator; attempt++) {
113
+ vrfInputParts.push(BytesBlob.blobFromParts([JAM_TICKET_SEAL, entropy.raw, Uint8Array.of(attempt)]).raw);
114
+ }
115
+ const attemptLength = 1;
116
+ const vrfInputDataLen = JAM_TICKET_SEAL.length + entropy.length + attemptLength;
117
+ const inputsData = BytesBlob.blobFromParts(vrfInputParts).raw;
118
+ const ringKeysData = BytesBlob.blobFromParts(ringKeys.map((k) => k.raw)).raw;
119
+ const result = await bandersnatch.batchGenerateRingVrf(ringKeysData, proverKeyIndex, key.raw, inputsData, vrfInputDataLen);
120
+ const tickets = [];
121
+ for (let attempt = 0; attempt < ticketsPerValidator; attempt++) {
122
+ const offset = attempt * GENERATE_RESULT_ENTRY_LENGTH;
123
+ const resultByte = result[offset];
124
+ if (resultByte === ResultValues.Error) {
125
+ return Result.error(null, () => `Ring VRF proof generation failed for attempt ${attempt}`);
126
+ }
127
+ const signature = Bytes.fromBlob(new Uint8Array(result.subarray(offset + 1, offset + GENERATE_RESULT_ENTRY_LENGTH)), BANDERSNATCH_PROOF_BYTES).asOpaque();
128
+ tickets.push(SignedTicket.create({
129
+ attempt: tryAsTicketAttempt(attempt),
130
+ signature,
131
+ }));
132
+ }
133
+ return Result.ok(tickets);
134
+ }
@@ -155,4 +155,19 @@ describe("Bandersnatch verification", () => {
155
155
  deepEqual(verificationResult, Result.ok(BytesBlob.parseBlob("0x000b0e5c06e70a23d6cfed372763de718b0c21119ea51f7afe1e69b0000de620")));
156
156
  });
157
157
  });
158
+ describe("generateTickets", () => {
159
+ it("should generate tickets that pass verification (consistency check)", async () => {
160
+ // Generate tickets and verify them - checks consistency between generate and verify
161
+ const secrets = [0, 1, 2].map((i) => Bytes.fill(SEED_SIZE, i).asOpaque());
162
+ const ringKeys = secrets.map((secret) => deriveBandersnatchPublicKey(secret));
163
+ const proverIndex = 0;
164
+ const entropy = Bytes.fill(HASH_SIZE, 123).asOpaque();
165
+ const genResult = await bandersnatchVrf.generateTickets(await bandersnatchWasm, ringKeys, proverIndex, secrets[proverIndex], entropy, tryAsTicketAttempt(2));
166
+ assert.ok(genResult.isOk);
167
+ const commitment = await bandersnatchVrf.getRingCommitment(await bandersnatchWasm, ringKeys);
168
+ assert.ok(commitment.isOk);
169
+ const verifyResult = await bandersnatchVrf.verifyTickets(await bandersnatchWasm, ringKeys.length, commitment.ok, genResult.ok, entropy);
170
+ assert.ok(verifyResult.every((r) => r.isValid), "Generated tickets should pass verification");
171
+ });
172
+ });
158
173
  });
@@ -7,5 +7,6 @@ export declare class BandernsatchWasm {
7
7
  batchVerifyTicket(ringSize: number, commitment: Uint8Array, ticketsData: Uint8Array, contextLength: number): Promise<Uint8Array<ArrayBufferLike>>;
8
8
  generateSeal(authorKey: Uint8Array, input: Uint8Array, auxData: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
9
9
  getVrfOutputHash(authorKey: Uint8Array, input: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
10
+ batchGenerateRingVrf(ringKeys: Uint8Array, proverKeyIndex: number, secretSeed: Uint8Array, inputsData: Uint8Array, vrfInputDataLen: number): Promise<Uint8Array<ArrayBufferLike>>;
10
11
  }
11
12
  //# sourceMappingURL=bandersnatch-wasm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bandersnatch-wasm.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/safrole/bandersnatch-wasm.ts"],"names":[],"mappings":"AAEA,qBAAa,gBAAgB;IAC3B,OAAO;WAEM,GAAG;IAKV,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU;IAIjG,iBAAiB,CACrB,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,UAAU,EAC7B,cAAc,EAAE,UAAU,EAC1B,WAAW,EAAE,UAAU,EACvB,oBAAoB,EAAE,UAAU;IAY5B,iBAAiB,CAAC,IAAI,EAAE,UAAU;IAIlC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM;IAI1G,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU;IAI1E,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU;CAGhE"}
1
+ {"version":3,"file":"bandersnatch-wasm.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/safrole/bandersnatch-wasm.ts"],"names":[],"mappings":"AAEA,qBAAa,gBAAgB;IAC3B,OAAO;WAEM,GAAG;IAKV,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU;IAIjG,iBAAiB,CACrB,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,UAAU,EAC7B,cAAc,EAAE,UAAU,EAC1B,WAAW,EAAE,UAAU,EACvB,oBAAoB,EAAE,UAAU;IAY5B,iBAAiB,CAAC,IAAI,EAAE,UAAU;IAIlC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM;IAI1G,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU;IAI1E,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU;IAIzD,oBAAoB,CACxB,QAAQ,EAAE,UAAU,EACpB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,MAAM;CAI1B"}
@@ -23,4 +23,7 @@ export class BandernsatchWasm {
23
23
  async getVrfOutputHash(authorKey, input) {
24
24
  return bandersnatchWasm.vrfOutputHash(authorKey, input);
25
25
  }
26
+ async batchGenerateRingVrf(ringKeys, proverKeyIndex, secretSeed, inputsData, vrfInputDataLen) {
27
+ return bandersnatchWasm.batchGenerateRingVrf(ringKeys, proverKeyIndex, secretSeed, inputsData, vrfInputDataLen);
28
+ }
26
29
  }
@@ -25,14 +25,14 @@ export declare class NotYetAccumulatedReport extends WithDebug {
25
25
  readonly dependencies: KnownSizeArray<WorkPackageHash, `[0..${MAX_REPORT_DEPENDENCIES})`>;
26
26
  static Codec: import("@typeberry/codec").Descriptor<NotYetAccumulatedReport, import("@typeberry/codec").ViewOf<NotYetAccumulatedReport, {
27
27
  report: import("@typeberry/codec").Descriptor<WorkReport, import("@typeberry/codec").ViewOf<WorkReport, {
28
- workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-report.js").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-report.js").WorkPackageSpec, {
28
+ workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkPackageSpec, {
29
29
  hash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
30
30
  length: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/bytes").Bytes<4>>;
31
31
  erasureRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
32
32
  exportsRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
33
33
  exportsCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U16, import("@typeberry/bytes").Bytes<2>>;
34
34
  }>>;
35
- context: import("@typeberry/codec").Descriptor<import("@typeberry/block/refine-context.js").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block/refine-context.js").RefineContext, {
35
+ context: import("@typeberry/codec").Descriptor<import("@typeberry/block").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block").RefineContext, {
36
36
  anchor: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"HeaderHash">, import("@typeberry/bytes").Bytes<32>>;
37
37
  stateRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"StateRootHash">, import("@typeberry/bytes").Bytes<32>>;
38
38
  beefyRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"BeefyHash">, import("@typeberry/bytes").Bytes<32>>;
@@ -44,32 +44,32 @@ export declare class NotYetAccumulatedReport extends WithDebug {
44
44
  authorizerHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"AuthorizerHash">, import("@typeberry/bytes").Bytes<32>>;
45
45
  authorizationGasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
46
46
  authorizationOutput: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").BytesBlob, import("@typeberry/bytes").BytesBlob>;
47
- 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, {
47
+ 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, {
48
48
  workPackageHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
49
49
  segmentTreeRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
50
50
  }>>>;
51
- 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, {
51
+ 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, {
52
52
  serviceId: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"ServiceId[u32]">, import("@typeberry/bytes").Bytes<4>>;
53
53
  codeHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"CodeHash">, import("@typeberry/bytes").Bytes<32>>;
54
54
  payloadHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
55
55
  gas: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/bytes").Bytes<8>>;
56
- result: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkExecResult, {
57
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.ok;
56
+ result: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkExecResult, {
57
+ kind: import("@typeberry/block").WorkExecResultKind.ok;
58
58
  okBlob: import("@typeberry/bytes").BytesBlob;
59
59
  } | {
60
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.outOfGas;
60
+ kind: import("@typeberry/block").WorkExecResultKind.outOfGas;
61
61
  } | {
62
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.panic;
62
+ kind: import("@typeberry/block").WorkExecResultKind.panic;
63
63
  } | {
64
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.incorrectNumberOfExports;
64
+ kind: import("@typeberry/block").WorkExecResultKind.incorrectNumberOfExports;
65
65
  } | {
66
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.digestTooBig;
66
+ kind: import("@typeberry/block").WorkExecResultKind.digestTooBig;
67
67
  } | {
68
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.badCode;
68
+ kind: import("@typeberry/block").WorkExecResultKind.badCode;
69
69
  } | {
70
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.codeOversize;
70
+ kind: import("@typeberry/block").WorkExecResultKind.codeOversize;
71
71
  }>;
72
- load: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-result.js").WorkRefineLoad, {
72
+ load: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkRefineLoad, {
73
73
  gasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
74
74
  importedSegments: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
75
75
  extrinsicCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
@@ -89,14 +89,14 @@ export declare class NotYetAccumulatedReport extends WithDebug {
89
89
  export type AccumulationQueue = PerEpochBlock<readonly NotYetAccumulatedReport[]>;
90
90
  export declare const accumulationQueueCodec: import("@typeberry/codec").Descriptor<readonly (readonly NotYetAccumulatedReport[])[] & import("@typeberry/utils").WithOpaque<"EpochLength">, import("@typeberry/codec").SequenceView<readonly NotYetAccumulatedReport[], import("@typeberry/codec").SequenceView<NotYetAccumulatedReport, import("@typeberry/codec").ViewOf<NotYetAccumulatedReport, {
91
91
  report: import("@typeberry/codec").Descriptor<WorkReport, import("@typeberry/codec").ViewOf<WorkReport, {
92
- workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-report.js").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-report.js").WorkPackageSpec, {
92
+ workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkPackageSpec, {
93
93
  hash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
94
94
  length: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/bytes").Bytes<4>>;
95
95
  erasureRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
96
96
  exportsRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
97
97
  exportsCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U16, import("@typeberry/bytes").Bytes<2>>;
98
98
  }>>;
99
- context: import("@typeberry/codec").Descriptor<import("@typeberry/block/refine-context.js").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block/refine-context.js").RefineContext, {
99
+ context: import("@typeberry/codec").Descriptor<import("@typeberry/block").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block").RefineContext, {
100
100
  anchor: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"HeaderHash">, import("@typeberry/bytes").Bytes<32>>;
101
101
  stateRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"StateRootHash">, import("@typeberry/bytes").Bytes<32>>;
102
102
  beefyRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"BeefyHash">, import("@typeberry/bytes").Bytes<32>>;
@@ -108,32 +108,32 @@ export declare const accumulationQueueCodec: import("@typeberry/codec").Descript
108
108
  authorizerHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"AuthorizerHash">, import("@typeberry/bytes").Bytes<32>>;
109
109
  authorizationGasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
110
110
  authorizationOutput: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").BytesBlob, import("@typeberry/bytes").BytesBlob>;
111
- 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, {
111
+ 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, {
112
112
  workPackageHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
113
113
  segmentTreeRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
114
114
  }>>>;
115
- 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, {
115
+ 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, {
116
116
  serviceId: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"ServiceId[u32]">, import("@typeberry/bytes").Bytes<4>>;
117
117
  codeHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"CodeHash">, import("@typeberry/bytes").Bytes<32>>;
118
118
  payloadHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
119
119
  gas: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/bytes").Bytes<8>>;
120
- result: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkExecResult, {
121
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.ok;
120
+ result: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkExecResult, {
121
+ kind: import("@typeberry/block").WorkExecResultKind.ok;
122
122
  okBlob: import("@typeberry/bytes").BytesBlob;
123
123
  } | {
124
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.outOfGas;
124
+ kind: import("@typeberry/block").WorkExecResultKind.outOfGas;
125
125
  } | {
126
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.panic;
126
+ kind: import("@typeberry/block").WorkExecResultKind.panic;
127
127
  } | {
128
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.incorrectNumberOfExports;
128
+ kind: import("@typeberry/block").WorkExecResultKind.incorrectNumberOfExports;
129
129
  } | {
130
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.digestTooBig;
130
+ kind: import("@typeberry/block").WorkExecResultKind.digestTooBig;
131
131
  } | {
132
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.badCode;
132
+ kind: import("@typeberry/block").WorkExecResultKind.badCode;
133
133
  } | {
134
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.codeOversize;
134
+ kind: import("@typeberry/block").WorkExecResultKind.codeOversize;
135
135
  }>;
136
- load: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-result.js").WorkRefineLoad, {
136
+ load: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkRefineLoad, {
137
137
  gasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
138
138
  importedSegments: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
139
139
  extrinsicCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
@@ -17,14 +17,14 @@ export declare class AvailabilityAssignment extends WithDebug {
17
17
  readonly timeout: TimeSlot;
18
18
  static Codec: import("@typeberry/codec").Descriptor<AvailabilityAssignment, import("@typeberry/codec").ViewOf<AvailabilityAssignment, {
19
19
  workReport: import("@typeberry/codec").Descriptor<WorkReport, import("@typeberry/codec").ViewOf<WorkReport, {
20
- workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-report.js").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-report.js").WorkPackageSpec, {
20
+ workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkPackageSpec, {
21
21
  hash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
22
22
  length: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/bytes").Bytes<4>>;
23
23
  erasureRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
24
24
  exportsRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
25
25
  exportsCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U16, import("@typeberry/bytes").Bytes<2>>;
26
26
  }>>;
27
- context: import("@typeberry/codec").Descriptor<import("@typeberry/block/refine-context.js").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block/refine-context.js").RefineContext, {
27
+ context: import("@typeberry/codec").Descriptor<import("@typeberry/block").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block").RefineContext, {
28
28
  anchor: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"HeaderHash">, import("@typeberry/bytes").Bytes<32>>;
29
29
  stateRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"StateRootHash">, import("@typeberry/bytes").Bytes<32>>;
30
30
  beefyRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"BeefyHash">, import("@typeberry/bytes").Bytes<32>>;
@@ -36,32 +36,32 @@ export declare class AvailabilityAssignment extends WithDebug {
36
36
  authorizerHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"AuthorizerHash">, import("@typeberry/bytes").Bytes<32>>;
37
37
  authorizationGasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
38
38
  authorizationOutput: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").BytesBlob, import("@typeberry/bytes").BytesBlob>;
39
- 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, {
39
+ 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, {
40
40
  workPackageHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
41
41
  segmentTreeRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
42
42
  }>>>;
43
- 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, {
43
+ 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, {
44
44
  serviceId: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"ServiceId[u32]">, import("@typeberry/bytes").Bytes<4>>;
45
45
  codeHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"CodeHash">, import("@typeberry/bytes").Bytes<32>>;
46
46
  payloadHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
47
47
  gas: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/bytes").Bytes<8>>;
48
- result: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkExecResult, {
49
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.ok;
48
+ result: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkExecResult, {
49
+ kind: import("@typeberry/block").WorkExecResultKind.ok;
50
50
  okBlob: import("@typeberry/bytes").BytesBlob;
51
51
  } | {
52
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.outOfGas;
52
+ kind: import("@typeberry/block").WorkExecResultKind.outOfGas;
53
53
  } | {
54
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.panic;
54
+ kind: import("@typeberry/block").WorkExecResultKind.panic;
55
55
  } | {
56
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.incorrectNumberOfExports;
56
+ kind: import("@typeberry/block").WorkExecResultKind.incorrectNumberOfExports;
57
57
  } | {
58
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.digestTooBig;
58
+ kind: import("@typeberry/block").WorkExecResultKind.digestTooBig;
59
59
  } | {
60
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.badCode;
60
+ kind: import("@typeberry/block").WorkExecResultKind.badCode;
61
61
  } | {
62
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.codeOversize;
62
+ kind: import("@typeberry/block").WorkExecResultKind.codeOversize;
63
63
  }>;
64
- load: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-result.js").WorkRefineLoad, {
64
+ load: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkRefineLoad, {
65
65
  gasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
66
66
  importedSegments: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
67
67
  extrinsicCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
@@ -77,14 +77,14 @@ export declare class AvailabilityAssignment extends WithDebug {
77
77
  }
78
78
  export declare const availabilityAssignmentsCodec: import("@typeberry/codec").Descriptor<readonly (AvailabilityAssignment | null)[] & import("@typeberry/utils").WithOpaque<"number of cores">, import("@typeberry/codec").SequenceView<AvailabilityAssignment | null, import("@typeberry/codec").ViewOf<AvailabilityAssignment, {
79
79
  workReport: import("@typeberry/codec").Descriptor<WorkReport, import("@typeberry/codec").ViewOf<WorkReport, {
80
- workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-report.js").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-report.js").WorkPackageSpec, {
80
+ workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkPackageSpec, {
81
81
  hash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
82
82
  length: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/bytes").Bytes<4>>;
83
83
  erasureRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
84
84
  exportsRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
85
85
  exportsCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U16, import("@typeberry/bytes").Bytes<2>>;
86
86
  }>>;
87
- context: import("@typeberry/codec").Descriptor<import("@typeberry/block/refine-context.js").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block/refine-context.js").RefineContext, {
87
+ context: import("@typeberry/codec").Descriptor<import("@typeberry/block").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block").RefineContext, {
88
88
  anchor: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"HeaderHash">, import("@typeberry/bytes").Bytes<32>>;
89
89
  stateRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"StateRootHash">, import("@typeberry/bytes").Bytes<32>>;
90
90
  beefyRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"BeefyHash">, import("@typeberry/bytes").Bytes<32>>;
@@ -96,32 +96,32 @@ export declare const availabilityAssignmentsCodec: import("@typeberry/codec").De
96
96
  authorizerHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"AuthorizerHash">, import("@typeberry/bytes").Bytes<32>>;
97
97
  authorizationGasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
98
98
  authorizationOutput: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").BytesBlob, import("@typeberry/bytes").BytesBlob>;
99
- 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, {
99
+ 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, {
100
100
  workPackageHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
101
101
  segmentTreeRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
102
102
  }>>>;
103
- 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, {
103
+ 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, {
104
104
  serviceId: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"ServiceId[u32]">, import("@typeberry/bytes").Bytes<4>>;
105
105
  codeHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"CodeHash">, import("@typeberry/bytes").Bytes<32>>;
106
106
  payloadHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
107
107
  gas: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/bytes").Bytes<8>>;
108
- result: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkExecResult, {
109
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.ok;
108
+ result: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkExecResult, {
109
+ kind: import("@typeberry/block").WorkExecResultKind.ok;
110
110
  okBlob: import("@typeberry/bytes").BytesBlob;
111
111
  } | {
112
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.outOfGas;
112
+ kind: import("@typeberry/block").WorkExecResultKind.outOfGas;
113
113
  } | {
114
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.panic;
114
+ kind: import("@typeberry/block").WorkExecResultKind.panic;
115
115
  } | {
116
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.incorrectNumberOfExports;
116
+ kind: import("@typeberry/block").WorkExecResultKind.incorrectNumberOfExports;
117
117
  } | {
118
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.digestTooBig;
118
+ kind: import("@typeberry/block").WorkExecResultKind.digestTooBig;
119
119
  } | {
120
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.badCode;
120
+ kind: import("@typeberry/block").WorkExecResultKind.badCode;
121
121
  } | {
122
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.codeOversize;
122
+ kind: import("@typeberry/block").WorkExecResultKind.codeOversize;
123
123
  }>;
124
- load: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-result.js").WorkRefineLoad, {
124
+ load: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkRefineLoad, {
125
125
  gasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
126
126
  importedSegments: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
127
127
  extrinsicCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
@@ -1,4 +1,4 @@
1
- import { type ServiceGas, type ServiceId } from "#@typeberry/block";
1
+ import type { ServiceGas, ServiceId } from "#@typeberry/block";
2
2
  import { type CodecRecord } from "#@typeberry/codec";
3
3
  import { type PerCore } from "./common.js";
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"privileged-services.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/state/privileged-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,KAAK,WAAW,EAAS,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAGzD;;GAEG;AACH,qBAAa,kBAAkB;IAmB3B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS;IAC3B,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS;IAC7B,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;IACtC,2FAA2F;IAC3F,QAAQ,CAAC,sBAAsB,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC;IAnC7D,sEAAsE;IACtE,MAAM,CAAC,KAAK;;;;;;QAUT;IAEH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC;IAIhD,OAAO;CAoBR"}
1
+ {"version":3,"file":"privileged-services.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/state/privileged-services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,KAAK,WAAW,EAAS,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAEzD;;GAEG;AACH,qBAAa,kBAAkB;IAiB3B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS;IAC3B,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS;IAC7B,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;IACtC,2FAA2F;IAC3F,QAAQ,CAAC,sBAAsB,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC;IAjC7D,sEAAsE;IACtE,MAAM,CAAC,KAAK;;;;;;QAQT;IAEH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC;IAIhD,OAAO;CAoBR"}
@@ -1,8 +1,5 @@
1
- import { tryAsServiceId } from "#@typeberry/block";
2
1
  import { codec } from "#@typeberry/codec";
3
- import { Compatibility, GpVersion } from "#@typeberry/utils";
4
2
  import { codecPerCore } from "./common.js";
5
- import { ignoreValueWithDefault } from "./service.js";
6
3
  /**
7
4
  * https://graypaper.fluffylabs.dev/#/ab2cdbd/114402114402?v=0.7.2
8
5
  */
@@ -17,9 +14,7 @@ export class PrivilegedServices {
17
14
  manager: codec.u32.asOpaque(),
18
15
  assigners: codecPerCore(codec.u32.asOpaque()),
19
16
  delegator: codec.u32.asOpaque(),
20
- registrar: Compatibility.isGreaterOrEqual(GpVersion.V0_7_1)
21
- ? codec.u32.asOpaque()
22
- : ignoreValueWithDefault(tryAsServiceId(2 ** 32 - 1)),
17
+ registrar: codec.u32.asOpaque(),
23
18
  autoAccumulateServices: codec.dictionary(codec.u32.asOpaque(), codec.u64.asOpaque(), {
24
19
  sortKeys: (a, b) => a - b,
25
20
  }),
@@ -26,7 +26,7 @@ export declare const ELECTIVE_BYTE_BALANCE = 1n;
26
26
  /** 0-byte read, return given default value */
27
27
  export declare const ignoreValueWithDefault: <T>(defaultValue: T) => Descriptor<T, T>;
28
28
  /** Encode and decode object with leading version number. */
29
- export declare const codecWithVersion: <T>(val: Descriptor<T>) => Descriptor<T>;
29
+ export declare const codecWithVersion: <T, V>(val: Descriptor<T, V>) => Descriptor<T, V>;
30
30
  /**
31
31
  * Service account details.
32
32
  *
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/state/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/state/service.ts"],"names":[],"mappings":"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"}
@@ -97,10 +97,6 @@ export declare class ServiceStatistics {
97
97
  accumulateCount: U32;
98
98
  /** `a.1` */
99
99
  accumulateGasUsed: ServiceGas;
100
- /** `t.0` @deprecated since 0.7.1 */
101
- onTransfersCount: U32;
102
- /** `t.1` @deprecated since 0.7.1 */
103
- onTransfersGasUsed: ServiceGas;
104
100
  static Codec: Descriptor<ServiceStatistics, import("@typeberry/codec").ViewOf<ServiceStatistics, {
105
101
  providedCount: Descriptor<U16, U32>;
106
102
  providedSize: Descriptor<U32, U32>;
@@ -112,8 +108,6 @@ export declare class ServiceStatistics {
112
108
  exports: Descriptor<U16, U32>;
113
109
  accumulateCount: Descriptor<U32, U32>;
114
110
  accumulateGasUsed: Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">>;
115
- onTransfersCount: Descriptor<U32, U32>;
116
- onTransfersGasUsed: Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">>;
117
111
  }>>;
118
112
  static create(v: CodecRecord<ServiceStatistics>): ServiceStatistics;
119
113
  private constructor();
@@ -163,8 +157,6 @@ export declare class StatisticsData {
163
157
  exports: Descriptor<U16, U32>;
164
158
  accumulateCount: Descriptor<U32, U32>;
165
159
  accumulateGasUsed: Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">>;
166
- onTransfersCount: Descriptor<U32, U32>;
167
- onTransfersGasUsed: Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">>;
168
160
  }>>>;
169
161
  }>>;
170
162
  static create(v: CodecRecord<StatisticsData>): StatisticsData;
@@ -1 +1 @@
1
- {"version":3,"file":"statistics.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/state/statistics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statistics.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/state/statistics.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,WAAW,EAAS,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAgC,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAEzD;;;;GAIG;AACH,qBAAa,mBAAmB;IAsB5B,sDAAsD;IAC/C,MAAM,EAAE,GAAG;IAClB,yDAAyD;IAClD,OAAO,EAAE,GAAG;IACnB,2DAA2D;IACpD,SAAS,EAAE,GAAG;IACrB,mFAAmF;IAC5E,aAAa,EAAE,GAAG;IACzB,yDAAyD;IAClD,UAAU,EAAE,GAAG;IACtB,mEAAmE;IAC5D,UAAU,EAAE,GAAG;IAhCxB,MAAM,CAAC,KAAK;;;;;;;QAOT;IAEH,MAAM,CAAC,MAAM,CAAC,EACZ,MAAM,EACN,OAAO,EACP,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,GACX,EAAE,WAAW,CAAC,mBAAmB,CAAC;IAInC,OAAO;IAeP,MAAM,CAAC,KAAK;CAIb;AAaD;;;;;;GAMG;AACH,qBAAa,cAAc;IA0BvB,UAAU;IACH,oBAAoB,EAAE,GAAG;IAChC,UAAU;IACH,UAAU,EAAE,GAAG;IACtB,UAAU;IACH,OAAO,EAAE,GAAG;IACnB,UAAU;IACH,OAAO,EAAE,GAAG;IACnB,UAAU;IACH,aAAa,EAAE,GAAG;IACzB,UAAU;IACH,cAAc,EAAE,GAAG;IAC1B,UAAU;IACH,UAAU,EAAE,GAAG;IACtB,UAAU;IACH,OAAO,EAAE,UAAU;IAxC5B,MAAM,CAAC,KAAK;;;;;;;;;QAST;IAEH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC;IAa5C,OAAO;IAmBP,MAAM,CAAC,KAAK;CAMb;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IA8B1B,YAAY;IACL,aAAa,EAAE,GAAG;IACzB,YAAY;IACL,YAAY,EAAE,GAAG;IACxB,YAAY;IACL,eAAe,EAAE,GAAG;IAC3B,YAAY;IACL,iBAAiB,EAAE,UAAU;IACpC,UAAU;IACH,OAAO,EAAE,GAAG;IACnB,UAAU;IACH,OAAO,EAAE,GAAG;IACnB,UAAU;IACH,aAAa,EAAE,GAAG;IACzB,UAAU;IACH,cAAc,EAAE,GAAG;IAC1B,YAAY;IACL,eAAe,EAAE,GAAG;IAC3B,YAAY;IACL,iBAAiB,EAAE,UAAU;IAhDtC,MAAM,CAAC,KAAK;;;;;;;;;;;QAWT;IAEH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC;IAe/C,OAAO;IAuBP,MAAM,CAAC,KAAK;CAMb;AAED,oFAAoF;AACpF,qBAAa,cAAc;aAeP,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC;aAC1C,QAAQ,EAAE,YAAY,CAAC,mBAAmB,CAAC;aAC3C,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;aAC9B,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAjB7D,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAOT;IAEH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC;IAI5C,OAAO;CAMR;AAED,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC"}