@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
@@ -301,6 +301,7 @@ function createDistPackageJson(packageMap) {
301
301
  exports: {},
302
302
  imports: buildImportsField(packageMap),
303
303
  dependencies: Object.fromEntries(filteredDeps),
304
+ repository: sourcePackageJson.repository,
304
305
  author: sourcePackageJson.author,
305
306
  license: sourcePackageJson.license,
306
307
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typeberry/lib",
3
- "version": "0.5.4",
3
+ "version": "0.5.5-befa219",
4
4
  "description": "Typeberry Library",
5
5
  "main": "./bin/lib/index.js",
6
6
  "types": "./bin/lib/index.d.ts",
@@ -267,6 +267,10 @@
267
267
  "@typeberry/native": "0.0.4-4c0cd28",
268
268
  "hash-wasm": "4.12.0"
269
269
  },
270
+ "repository": {
271
+ "type": "git",
272
+ "url": "https://github.com/FluffyLabs/typeberry"
273
+ },
270
274
  "author": "Fluffy Labs",
271
275
  "license": "MPL-2.0"
272
276
  }
@@ -1 +1 @@
1
- {"version":3,"file":"descriptors.d.ts","sourceRoot":"","sources":["../../../../../packages/core/json-parser/descriptors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEhF,yBAAiB,IAAI,CAAC;IACpB,kDAAkD;IAClD,SAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAElG;IAED,kDAAkD;IAClD,SAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAElG;IAED,4DAA4D;IAC5D,SAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAUnG;IAED,mDAAmD;IACnD,SAAgB,UAAU,CAAC,KAAK,SAAS,MAAM,uCAE9C;IAED,+DAA+D;IAC/D,SAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAEjG;IAED,wFAAwF;IACxF,SAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAEtE;IAED,sEAAsE;IACtE,SAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,CAEjE;IAED,6CAA6C;IAC7C,SAAgB,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAErE;IAED,kDAAkD;IAClD,SAAgB,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAWpF;IAED,uCAAuC;IACvC,SAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAWrG;IAED,0FAA0F;IAC1F,SAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,EACzC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EACrB,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAC7B,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAKpC;CACF"}
1
+ {"version":3,"file":"descriptors.d.ts","sourceRoot":"","sources":["../../../../../packages/core/json-parser/descriptors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEhF,yBAAiB,IAAI,CAAC;IACpB,kDAAkD;IAClD,SAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAElG;IAED,kDAAkD;IAClD,SAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAElG;IAED,4DAA4D;IAC5D,SAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAUnG;IAED,mDAAmD;IACnD,SAAgB,UAAU,CAAC,KAAK,SAAS,MAAM,uCAE9C;IAED,+DAA+D;IAC/D,SAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAEjG;IAED,wFAAwF;IACxF,SAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAEtE;IAED,sEAAsE;IACtE,SAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,CAEjE;IAED,6CAA6C;IAC7C,SAAgB,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAErE;IAED,kDAAkD;IAClD,SAAgB,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAWpF;IAED,uCAAuC;IACvC,SAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAcrG;IAED,0FAA0F;IAC1F,SAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,EACzC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EACrB,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAC7B,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAKpC;CACF"}
@@ -69,6 +69,9 @@ export var json;
69
69
  if (typeof inJson !== "object" || inJson === null) {
70
70
  throw new Error("Expected map for parsing");
71
71
  }
72
+ if (Array.isArray(inJson)) {
73
+ throw new Error("Expected map, got array");
74
+ }
72
75
  const result = new Map();
73
76
  for (const [key, value] of Object.entries(inJson)) {
74
77
  result.set(parseFromJson(key, K, `${context}.key`), parseFromJson(value, V, `${context}.value`));
@@ -135,4 +135,34 @@ test("JSON parser", async (t) => {
135
135
  assert.strictEqual(result.k, undefined);
136
136
  assert.strictEqual(result.v, true);
137
137
  });
138
+ await t.test("map", () => {
139
+ const j = `{"k": { "a": "b", "c": "d" } }`;
140
+ class TestClass {
141
+ static fromJson = {
142
+ k: json.map("string", "string"),
143
+ };
144
+ k = new Map();
145
+ }
146
+ const result = parseFromJson(JSON.parse(j), TestClass.fromJson);
147
+ assert.deepStrictEqual(result.k, new Map([
148
+ ["a", "b"],
149
+ ["c", "d"],
150
+ ]));
151
+ });
152
+ await t.test("map type mismatch", () => {
153
+ const j = `{"k": [["a", "b"], ["c", "d"]]}`;
154
+ class TestClass {
155
+ static fromJson = {
156
+ k: json.map("string", "string"),
157
+ };
158
+ k = new Map();
159
+ }
160
+ try {
161
+ parseFromJson(JSON.parse(j), TestClass.fromJson);
162
+ assert.fail("Expected error to be thrown");
163
+ }
164
+ catch (e) {
165
+ assert.strictEqual(`${e}`, "Error: [<root>.k] Error while parsing the value: Error: Expected map, got array");
166
+ }
167
+ });
138
168
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typeberry/networking",
3
- "version": "0.5.4",
3
+ "version": "0.5.5",
4
4
  "description": "QUIC-based p2p networking.",
5
5
  "license": "MPL-2.0",
6
6
  "author": "Fluffy Labs",
@@ -107,7 +107,7 @@ export class EcalliTraceLogger {
107
107
  */
108
108
  logSetReg(index, value) {
109
109
  const paddedIdx = index.toString().padStart(2, "0");
110
- this.output(`setreg r${paddedIdx} <- ${value.toString(16)}`);
110
+ this.output(`setreg r${paddedIdx} <- 0x${value.toString(16)}`);
111
111
  }
112
112
  /**
113
113
  * Log gas overwrite operation.
@@ -47,7 +47,7 @@ describe("IoTraceLogger", () => {
47
47
  [9, 0x10000n],
48
48
  ]));
49
49
  logger.logStart(0, tryAsSmallGas(10000), regs);
50
- assert.strictEqual(lines[0], "start pc=0 gas=10000 r07=10 r09=10000");
50
+ assert.strictEqual(lines[0], "start pc=0 gas=10000 r07=0x10 r09=0x10000");
51
51
  });
52
52
  it("handles no non-zero registers", () => {
53
53
  const lines = [];
@@ -66,7 +66,7 @@ describe("IoTraceLogger", () => {
66
66
  [3, 0x1000n],
67
67
  ]));
68
68
  logger.logEcalli(tryAsHostCallIndex(10), 42, tryAsSmallGas(10000), regs);
69
- assert.strictEqual(lines[0], "ecalli=10 pc=42 gas=10000 r01=1 r03=1000");
69
+ assert.strictEqual(lines[0], "ecalli=10 pc=42 gas=10000 r01=0x1 r03=0x1000");
70
70
  });
71
71
  it("omits zero registers", () => {
72
72
  const lines = [];
@@ -76,7 +76,7 @@ describe("IoTraceLogger", () => {
76
76
  [1, 1n],
77
77
  ]));
78
78
  logger.logEcalli(tryAsHostCallIndex(5), 0, tryAsSmallGas(5000), regs);
79
- assert.strictEqual(lines[0], "ecalli=5 pc=0 gas=5000 r01=1");
79
+ assert.strictEqual(lines[0], "ecalli=5 pc=0 gas=5000 r01=0x1");
80
80
  });
81
81
  it("handles no non-zero registers", () => {
82
82
  const lines = [];
@@ -107,13 +107,13 @@ describe("IoTraceLogger", () => {
107
107
  const lines = [];
108
108
  const logger = EcalliTraceLogger.new((line) => lines.push(line));
109
109
  logger.logSetReg(0, 0x100n);
110
- assert.strictEqual(lines[0], "setreg r00 <- 100");
110
+ assert.strictEqual(lines[0], "setreg r00 <- 0x100");
111
111
  });
112
112
  it("formats two-digit register index", () => {
113
113
  const lines = [];
114
114
  const logger = EcalliTraceLogger.new((line) => lines.push(line));
115
115
  logger.logSetReg(12, 0x4n);
116
- assert.strictEqual(lines[0], "setreg r12 <- 4");
116
+ assert.strictEqual(lines[0], "setreg r12 <- 0x4");
117
117
  });
118
118
  });
119
119
  describe("logSetGas", () => {
@@ -136,7 +136,7 @@ describe("IoTraceLogger", () => {
136
136
  assert.strictEqual(lines.length, 4);
137
137
  assert.strictEqual(lines[0], "memread 0x00001000 len=1 -> 0xcd");
138
138
  assert.strictEqual(lines[1], "memwrite 0x00002000 len=1 <- 0xab");
139
- assert.strictEqual(lines[2], "setreg r00 <- 100");
139
+ assert.strictEqual(lines[2], "setreg r00 <- 0x100");
140
140
  assert.strictEqual(lines[3], "setgas <- 9950");
141
141
  });
142
142
  it("sorts reads by address", () => {
@@ -163,7 +163,7 @@ describe("IoTraceLogger", () => {
163
163
  const logger = EcalliTraceLogger.new((line) => lines.push(line));
164
164
  const regs = createRegisters(new Map([[0, 0x100n]]));
165
165
  logger.logHalt(42, tryAsSmallGas(9920), regs);
166
- assert.strictEqual(lines[0], "HALT pc=42 gas=9920 r00=100");
166
+ assert.strictEqual(lines[0], "HALT pc=42 gas=9920 r00=0x100");
167
167
  });
168
168
  it("logs OOG", () => {
169
169
  const lines = [];
@@ -38,7 +38,7 @@ export class HostCallRegisters {
38
38
  const entries = [];
39
39
  for (const [idx, value] of values.entries()) {
40
40
  if (value !== 0n) {
41
- entries.push(`r${idx.toString().padStart(2, "0")}=${value.toString(16)}`);
41
+ entries.push(`r${idx.toString().padStart(2, "0")}=0x${value.toString(16)}`);
42
42
  }
43
43
  }
44
44
  return entries.join(" ");
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typeberry/telemetry",
3
- "version": "0.5.4",
3
+ "version": "0.5.5",
4
4
  "description": "OpenTelemetry initialization utilities for Typeberry",
5
5
  "license": "MPL-2.0",
6
6
  "author": "Fluffy Labs",
@@ -1,5 +1,4 @@
1
1
  export declare enum GpVersion {
2
- V0_7_0 = "0.7.0",
3
2
  V0_7_1 = "0.7.1",
4
3
  V0_7_2 = "0.7.2"
5
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compatibility.d.ts","sourceRoot":"","sources":["../../../../../packages/core/utils/compatibility.ts"],"names":[],"mappings":"AAEA,oBAAY,SAAS;IACnB,MAAM,UAAU;IAChB,MAAM,UAAU;IAChB,MAAM,UAAU;CACjB;AAED,oBAAY,SAAS;IACnB,SAAS,cAAc;CACxB;AAKD,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAEhD,eAAO,IAAI,eAAe,WAAyD,CAAC;AACpF,eAAO,IAAI,aAAa,WAAqD,CAAC;AA8B9E,qBAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;IAInC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS;IAIrC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,SAAS,EAAE;IAOjC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS;IASpD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS;IAQ1C;;;;;;OAMG;IACH,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,EAC/B,QAAQ,EACR,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,CAAC,CAAC;QACZ,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;KACzC,GAAG,CAAC;CASN"}
1
+ {"version":3,"file":"compatibility.d.ts","sourceRoot":"","sources":["../../../../../packages/core/utils/compatibility.ts"],"names":[],"mappings":"AAEA,oBAAY,SAAS;IACnB,MAAM,UAAU;IAChB,MAAM,UAAU;CACjB;AAED,oBAAY,SAAS;IACnB,SAAS,cAAc;CACxB;AAKD,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAEhD,eAAO,IAAI,eAAe,WAAyD,CAAC;AACpF,eAAO,IAAI,aAAa,WAAqD,CAAC;AA8B9E,qBAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;IAInC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS;IAIrC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,SAAS,EAAE;IAOjC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS;IASpD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS;IAQ1C;;;;;;OAMG;IACH,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,EAC/B,QAAQ,EACR,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,CAAC,CAAC;QACZ,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;KACzC,GAAG,CAAC;CASN"}
@@ -1,7 +1,6 @@
1
1
  import { env } from "./env.js";
2
2
  export var GpVersion;
3
3
  (function (GpVersion) {
4
- GpVersion["V0_7_0"] = "0.7.0";
5
4
  GpVersion["V0_7_1"] = "0.7.1";
6
5
  GpVersion["V0_7_2"] = "0.7.2";
7
6
  })(GpVersion || (GpVersion = {}));
@@ -10,7 +9,7 @@ export var TestSuite;
10
9
  TestSuite["W3F_DAVXY"] = "w3f-davxy";
11
10
  })(TestSuite || (TestSuite = {}));
12
11
  // NOTE: Also acts as a supported versions
13
- const ALL_VERSIONS_IN_ORDER = [GpVersion.V0_7_0, GpVersion.V0_7_1, GpVersion.V0_7_2];
12
+ const ALL_VERSIONS_IN_ORDER = [GpVersion.V0_7_1, GpVersion.V0_7_2];
14
13
  export const DEFAULT_SUITE = TestSuite.W3F_DAVXY;
15
14
  export const DEFAULT_VERSION = GpVersion.V0_7_2;
16
15
  export let CURRENT_VERSION = parseCurrentVersion(env.GP_VERSION) ?? DEFAULT_VERSION;
@@ -15,22 +15,21 @@ describe("GrayPaper compatibility", { concurrency: false }, () => {
15
15
  assert.equal(Compatibility.is(defaultVersion), true);
16
16
  });
17
17
  it("Should check with env variable if env variable was set", () => {
18
- const gpVersion = GpVersion.V0_7_0;
18
+ const gpVersion = GpVersion.V0_7_2;
19
19
  Compatibility.override(gpVersion);
20
20
  assert.equal(Compatibility.is(gpVersion), true);
21
21
  });
22
22
  it("Should check an order of versions (isGreaterOrEqual)", () => {
23
- const gpVersion = GpVersion.V0_7_0;
23
+ const gpVersion = GpVersion.V0_7_1;
24
24
  Compatibility.override(gpVersion);
25
- assert.equal(Compatibility.isGreaterOrEqual(GpVersion.V0_7_0), true);
26
- assert.equal(Compatibility.isGreaterOrEqual(GpVersion.V0_7_1), false);
25
+ assert.equal(Compatibility.isGreaterOrEqual(GpVersion.V0_7_1), true);
27
26
  assert.equal(Compatibility.isGreaterOrEqual(GpVersion.V0_7_2), false);
28
27
  });
29
28
  it("Should order values by versions and get the one for highest version matching", () => {
30
29
  const gpVersion = GpVersion.V0_7_1;
31
30
  Compatibility.override(gpVersion);
32
31
  const record = {
33
- [GpVersion.V0_7_0]: "low",
32
+ [GpVersion.V0_7_1]: "low",
34
33
  [GpVersion.V0_7_2]: "high",
35
34
  };
36
35
  const result = Compatibility.selectIfGreaterOrEqual({ fallback: "default", versions: record });
@@ -40,7 +39,6 @@ describe("GrayPaper compatibility", { concurrency: false }, () => {
40
39
  const gpVersion = GpVersion.V0_7_1;
41
40
  Compatibility.override(gpVersion);
42
41
  const record = {
43
- [GpVersion.V0_7_0]: "low",
44
42
  [GpVersion.V0_7_1]: "mid",
45
43
  [GpVersion.V0_7_2]: "high",
46
44
  };
@@ -51,7 +49,6 @@ describe("GrayPaper compatibility", { concurrency: false }, () => {
51
49
  const gpVersion = GpVersion.V0_7_2;
52
50
  Compatibility.override(gpVersion);
53
51
  const record = {
54
- [GpVersion.V0_7_0]: "low",
55
52
  [GpVersion.V0_7_1]: "mid",
56
53
  [GpVersion.V0_7_2]: "high",
57
54
  };
@@ -59,17 +56,16 @@ describe("GrayPaper compatibility", { concurrency: false }, () => {
59
56
  assert.equal(result, "high");
60
57
  });
61
58
  it("Should return default if no version is greater or equal", () => {
62
- const gpVersion = GpVersion.V0_7_0;
59
+ const gpVersion = GpVersion.V0_7_1;
63
60
  Compatibility.override(gpVersion);
64
61
  const record = {
65
- [GpVersion.V0_7_1]: "mid",
66
62
  [GpVersion.V0_7_2]: "high",
67
63
  };
68
64
  const result = Compatibility.selectIfGreaterOrEqual({ fallback: "default", versions: record });
69
65
  assert.equal(result, "default");
70
66
  });
71
67
  it("Should return default if record is empty", () => {
72
- const gpVersion = GpVersion.V0_7_0;
68
+ const gpVersion = GpVersion.V0_7_1;
73
69
  Compatibility.override(gpVersion);
74
70
  const result = Compatibility.selectIfGreaterOrEqual({ fallback: "default", versions: {} });
75
71
  assert.equal(result, "default");
@@ -1,18 +1,18 @@
1
- export * as assurances from "./assurances.js";
1
+ export * from "./assurances.js";
2
2
  export * from "./block.js";
3
- export * as codecUtils from "./codec-utils.js";
3
+ export * from "./codec-utils.js";
4
4
  export * from "./common.js";
5
- export * as disputes from "./disputes.js";
6
- export * as guarantees from "./guarantees.js";
5
+ export * from "./disputes.js";
6
+ export * from "./guarantees.js";
7
7
  export * from "./hash.js";
8
8
  export * from "./header.js";
9
- export * as preimage from "./preimage.js";
10
- export * as refineContext from "./refine-context.js";
11
- export * as tickets from "./tickets.js";
9
+ export * from "./preimage.js";
10
+ export * from "./refine-context.js";
11
+ export * from "./tickets.js";
12
12
  export * from "./utils.js";
13
- export * as workItem from "./work-item.js";
13
+ export * from "./work-item.js";
14
14
  export * from "./work-item-segment.js";
15
- export * as workPackage from "./work-package.js";
16
- export * as workReport from "./work-report.js";
17
- export * as workResult from "./work-result.js";
15
+ export * from "./work-package.js";
16
+ export * from "./work-report.js";
17
+ export * from "./work-result.js";
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/block/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,cAAc,aAAa,CAAC;AAC5B,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/block/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
@@ -1,17 +1,17 @@
1
- export * as assurances from "./assurances.js";
1
+ export * from "./assurances.js";
2
2
  export * from "./block.js";
3
- export * as codecUtils from "./codec-utils.js";
3
+ export * from "./codec-utils.js";
4
4
  export * from "./common.js";
5
- export * as disputes from "./disputes.js";
6
- export * as guarantees from "./guarantees.js";
5
+ export * from "./disputes.js";
6
+ export * from "./guarantees.js";
7
7
  export * from "./hash.js";
8
8
  export * from "./header.js";
9
- export * as preimage from "./preimage.js";
10
- export * as refineContext from "./refine-context.js";
11
- export * as tickets from "./tickets.js";
9
+ export * from "./preimage.js";
10
+ export * from "./refine-context.js";
11
+ export * from "./tickets.js";
12
12
  export * from "./utils.js";
13
- export * as workItem from "./work-item.js";
13
+ export * from "./work-item.js";
14
14
  export * from "./work-item-segment.js";
15
- export * as workPackage from "./work-package.js";
16
- export * as workReport from "./work-report.js";
17
- export * as workResult from "./work-result.js";
15
+ export * from "./work-package.js";
16
+ export * from "./work-report.js";
17
+ export * from "./work-result.js";
@@ -16,7 +16,7 @@ export declare const blockViewFromJson: (spec: ChainSpec) => import("@typeberry/
16
16
  }>>>;
17
17
  }> | null>;
18
18
  ticketsMarker: import("@typeberry/codec").Descriptor<import("@typeberry/block").TicketsMarker | null, import("@typeberry/codec").ViewOf<import("@typeberry/block").TicketsMarker, {
19
- tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/tickets.js").Ticket[] & import("@typeberry/utils").WithOpaque<"EpochLength">, import("@typeberry/codec").SequenceView<import("@typeberry/block/tickets.js").Ticket, import("@typeberry/codec").ViewOf<import("@typeberry/block/tickets.js").Ticket, {
19
+ tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").Ticket[] & import("@typeberry/utils").WithOpaque<"EpochLength">, import("@typeberry/codec").SequenceView<import("@typeberry/block").Ticket, import("@typeberry/codec").ViewOf<import("@typeberry/block").Ticket, {
20
20
  id: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
21
21
  attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[0|1|2]">, import("@typeberry/numbers").U8>;
22
22
  }>>>;
@@ -27,24 +27,24 @@ export declare const blockViewFromJson: (spec: ChainSpec) => import("@typeberry/
27
27
  seal: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<96> & import("@typeberry/utils").WithOpaque<"BandersnatchVrfSignature">, import("@typeberry/bytes").Bytes<96>>;
28
28
  }>>;
29
29
  extrinsic: import("@typeberry/codec").Descriptor<import("@typeberry/block").Extrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block").Extrinsic, {
30
- tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/tickets.js").SignedTicket[] & import("@typeberry/utils").WithOpaque<"Size: [0..chainSpec.maxTicketsPerExtrinsic)">, import("@typeberry/codec").SequenceView<import("@typeberry/block/tickets.js").SignedTicket, import("@typeberry/codec").ViewOf<import("@typeberry/block/tickets.js").SignedTicket, {
30
+ tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").SignedTicket[] & import("@typeberry/utils").WithOpaque<"Size: [0..chainSpec.maxTicketsPerExtrinsic)">, import("@typeberry/codec").SequenceView<import("@typeberry/block").SignedTicket, import("@typeberry/codec").ViewOf<import("@typeberry/block").SignedTicket, {
31
31
  attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[0|1|2]">, import("@typeberry/numbers").U8>;
32
32
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<784> & import("@typeberry/utils").WithOpaque<"BandersnatchRingSignature">, import("@typeberry/bytes").Bytes<784>>;
33
33
  }>>>;
34
- preimages: import("@typeberry/codec").Descriptor<import("@typeberry/block/preimage.js").Preimage[], import("@typeberry/codec").SequenceView<import("@typeberry/block/preimage.js").Preimage, import("@typeberry/codec").ViewOf<import("@typeberry/block/preimage.js").Preimage, {
34
+ preimages: import("@typeberry/codec").Descriptor<import("@typeberry/block").Preimage[], import("@typeberry/codec").SequenceView<import("@typeberry/block").Preimage, import("@typeberry/codec").ViewOf<import("@typeberry/block").Preimage, {
35
35
  requester: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"ServiceId[u32]">, import("@typeberry/bytes").Bytes<4>>;
36
36
  blob: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").BytesBlob, import("@typeberry/bytes").BytesBlob>;
37
37
  }>>>;
38
- guarantees: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/guarantees.js").ReportGuarantee[] & import("@typeberry/utils").WithOpaque<"[0..CoresCount)">, import("@typeberry/codec").SequenceView<import("@typeberry/block/guarantees.js").ReportGuarantee, import("@typeberry/codec").ViewOf<import("@typeberry/block/guarantees.js").ReportGuarantee, {
39
- report: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-report.js").WorkReport, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-report.js").WorkReport, {
40
- workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-report.js").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-report.js").WorkPackageSpec, {
38
+ guarantees: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").ReportGuarantee[] & import("@typeberry/utils").WithOpaque<"[0..CoresCount)">, import("@typeberry/codec").SequenceView<import("@typeberry/block").ReportGuarantee, import("@typeberry/codec").ViewOf<import("@typeberry/block").ReportGuarantee, {
39
+ report: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkReport, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkReport, {
40
+ workPackageSpec: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkPackageSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkPackageSpec, {
41
41
  hash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
42
42
  length: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/bytes").Bytes<4>>;
43
43
  erasureRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
44
44
  exportsRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
45
45
  exportsCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U16, import("@typeberry/bytes").Bytes<2>>;
46
46
  }>>;
47
- context: import("@typeberry/codec").Descriptor<import("@typeberry/block/refine-context.js").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block/refine-context.js").RefineContext, {
47
+ context: import("@typeberry/codec").Descriptor<import("@typeberry/block").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block").RefineContext, {
48
48
  anchor: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"HeaderHash">, import("@typeberry/bytes").Bytes<32>>;
49
49
  stateRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"StateRootHash">, import("@typeberry/bytes").Bytes<32>>;
50
50
  beefyRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"BeefyHash">, import("@typeberry/bytes").Bytes<32>>;
@@ -56,32 +56,32 @@ export declare const blockViewFromJson: (spec: ChainSpec) => import("@typeberry/
56
56
  authorizerHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"AuthorizerHash">, import("@typeberry/bytes").Bytes<32>>;
57
57
  authorizationGasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
58
58
  authorizationOutput: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").BytesBlob, import("@typeberry/bytes").BytesBlob>;
59
- 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, {
59
+ 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, {
60
60
  workPackageHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkPackageHash">, import("@typeberry/bytes").Bytes<32>>;
61
61
  segmentTreeRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExportsRootHash">, import("@typeberry/bytes").Bytes<32>>;
62
62
  }>>>;
63
- 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, {
63
+ 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, {
64
64
  serviceId: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"ServiceId[u32]">, import("@typeberry/bytes").Bytes<4>>;
65
65
  codeHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"CodeHash">, import("@typeberry/bytes").Bytes<32>>;
66
66
  payloadHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
67
67
  gas: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/bytes").Bytes<8>>;
68
- result: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkExecResult, {
69
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.ok;
68
+ result: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkExecResult, {
69
+ kind: import("@typeberry/block").WorkExecResultKind.ok;
70
70
  okBlob: import("@typeberry/bytes").BytesBlob;
71
71
  } | {
72
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.outOfGas;
72
+ kind: import("@typeberry/block").WorkExecResultKind.outOfGas;
73
73
  } | {
74
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.panic;
74
+ kind: import("@typeberry/block").WorkExecResultKind.panic;
75
75
  } | {
76
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.incorrectNumberOfExports;
76
+ kind: import("@typeberry/block").WorkExecResultKind.incorrectNumberOfExports;
77
77
  } | {
78
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.digestTooBig;
78
+ kind: import("@typeberry/block").WorkExecResultKind.digestTooBig;
79
79
  } | {
80
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.badCode;
80
+ kind: import("@typeberry/block").WorkExecResultKind.badCode;
81
81
  } | {
82
- kind: import("@typeberry/block/work-result.js").WorkExecResultKind.codeOversize;
82
+ kind: import("@typeberry/block").WorkExecResultKind.codeOversize;
83
83
  }>;
84
- load: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-result.js").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-result.js").WorkRefineLoad, {
84
+ load: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkRefineLoad, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkRefineLoad, {
85
85
  gasUsed: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/numbers").U64>;
86
86
  importedSegments: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
87
87
  extrinsicCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/numbers").U32>;
@@ -91,33 +91,33 @@ export declare const blockViewFromJson: (spec: ChainSpec) => import("@typeberry/
91
91
  }>>>;
92
92
  }>>;
93
93
  slot: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"TimeSlot[u32]">, import("@typeberry/bytes").Bytes<4>>;
94
- credentials: import("@typeberry/codec").Descriptor<(readonly import("@typeberry/block/guarantees.js").Credential[] & import("@typeberry/utils").WithOpaque<"2">) | (readonly import("@typeberry/block/guarantees.js").Credential[] & import("@typeberry/utils").WithOpaque<"3">), import("@typeberry/codec").SequenceView<import("@typeberry/block/guarantees.js").Credential, import("@typeberry/codec").ViewOf<import("@typeberry/block/guarantees.js").Credential, {
94
+ credentials: import("@typeberry/codec").Descriptor<(readonly import("@typeberry/block").Credential[] & import("@typeberry/utils").WithOpaque<"2">) | (readonly import("@typeberry/block").Credential[] & import("@typeberry/utils").WithOpaque<"3">), import("@typeberry/codec").SequenceView<import("@typeberry/block").Credential, import("@typeberry/codec").ViewOf<import("@typeberry/block").Credential, {
95
95
  validatorIndex: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
96
96
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
97
97
  }>>>;
98
98
  }>>>;
99
- assurances: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/assurances.js").AvailabilityAssurance[] & import("@typeberry/utils").WithOpaque<"[0 .. ValidatorsCount)">, import("@typeberry/codec").SequenceView<import("@typeberry/block/assurances.js").AvailabilityAssurance, import("@typeberry/codec").ViewOf<import("@typeberry/block/assurances.js").AvailabilityAssurance, {
99
+ assurances: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").AvailabilityAssurance[] & import("@typeberry/utils").WithOpaque<"[0 .. ValidatorsCount)">, import("@typeberry/codec").SequenceView<import("@typeberry/block").AvailabilityAssurance, import("@typeberry/codec").ViewOf<import("@typeberry/block").AvailabilityAssurance, {
100
100
  anchor: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"HeaderHash">, import("@typeberry/bytes").Bytes<32>>;
101
101
  bitfield: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").BitVec, import("@typeberry/bytes").BitVec>;
102
102
  validatorIndex: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
103
103
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
104
104
  }>>>;
105
- disputes: import("@typeberry/codec").Descriptor<import("@typeberry/block/disputes.js").DisputesExtrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").DisputesExtrinsic, {
106
- verdicts: import("@typeberry/codec").Descriptor<import("@typeberry/block/disputes.js").Verdict[], import("@typeberry/codec").SequenceView<import("@typeberry/block/disputes.js").Verdict, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").Verdict, {
105
+ disputes: import("@typeberry/codec").Descriptor<import("@typeberry/block").DisputesExtrinsic, import("@typeberry/codec").ViewOf<import("@typeberry/block").DisputesExtrinsic, {
106
+ verdicts: import("@typeberry/codec").Descriptor<import("@typeberry/block").Verdict[], import("@typeberry/codec").SequenceView<import("@typeberry/block").Verdict, import("@typeberry/codec").ViewOf<import("@typeberry/block").Verdict, {
107
107
  workReportHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkReportHash">, import("@typeberry/bytes").Bytes<32>>;
108
108
  votesEpoch: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"Epoch">, import("@typeberry/bytes").Bytes<4>>;
109
- votes: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/disputes.js").Judgement[] & import("@typeberry/utils").WithOpaque<"Validators super majority">, import("@typeberry/codec").SequenceView<import("@typeberry/block/disputes.js").Judgement, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").Judgement, {
109
+ votes: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").Judgement[] & import("@typeberry/utils").WithOpaque<"Validators super majority">, import("@typeberry/codec").SequenceView<import("@typeberry/block").Judgement, import("@typeberry/codec").ViewOf<import("@typeberry/block").Judgement, {
110
110
  isWorkReportValid: import("@typeberry/codec").Descriptor<boolean, boolean>;
111
111
  index: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"ValidatorIndex[u16]">, import("@typeberry/bytes").Bytes<2>>;
112
112
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
113
113
  }>>>;
114
114
  }>>>;
115
- culprits: import("@typeberry/codec").Descriptor<import("@typeberry/block/disputes.js").Culprit[], import("@typeberry/codec").SequenceView<import("@typeberry/block/disputes.js").Culprit, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").Culprit, {
115
+ culprits: import("@typeberry/codec").Descriptor<import("@typeberry/block").Culprit[], import("@typeberry/codec").SequenceView<import("@typeberry/block").Culprit, import("@typeberry/codec").ViewOf<import("@typeberry/block").Culprit, {
116
116
  workReportHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkReportHash">, import("@typeberry/bytes").Bytes<32>>;
117
117
  key: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"Ed25519Key">, import("@typeberry/bytes").Bytes<32>>;
118
118
  signature: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<64> & import("@typeberry/utils").WithOpaque<"Ed25519Signature">, import("@typeberry/bytes").Bytes<64>>;
119
119
  }>>>;
120
- faults: import("@typeberry/codec").Descriptor<import("@typeberry/block/disputes.js").Fault[], import("@typeberry/codec").SequenceView<import("@typeberry/block/disputes.js").Fault, import("@typeberry/codec").ViewOf<import("@typeberry/block/disputes.js").Fault, {
120
+ faults: import("@typeberry/codec").Descriptor<import("@typeberry/block").Fault[], import("@typeberry/codec").SequenceView<import("@typeberry/block").Fault, import("@typeberry/codec").ViewOf<import("@typeberry/block").Fault, {
121
121
  workReportHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"WorkReportHash">, import("@typeberry/bytes").Bytes<32>>;
122
122
  wasConsideredValid: import("@typeberry/codec").Descriptor<boolean, boolean>;
123
123
  key: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"Ed25519Key">, import("@typeberry/bytes").Bytes<32>>;
@@ -6,13 +6,13 @@ import { Bytes, BytesBlob } from "#@typeberry/bytes";
6
6
  import { SortedSet } from "#@typeberry/collections";
7
7
  import { tinyChainSpec } from "#@typeberry/config";
8
8
  import { Blake2b, HASH_SIZE } from "#@typeberry/hash";
9
- import { MAX_VALUE_U32, tryAsU32, tryAsU64 } from "#@typeberry/numbers";
9
+ import { tryAsU32, tryAsU64 } from "#@typeberry/numbers";
10
10
  import { InMemoryState, LookupHistoryItem, PrivilegedServices, ServiceAccountInfo, tryAsLookupHistorySlots, tryAsPerCore, UpdateService, } from "#@typeberry/state";
11
11
  import { testState } from "#@typeberry/state/test.utils.js";
12
12
  import { StateEntries } from "#@typeberry/state-merkleization";
13
13
  import { InMemoryTrie, leafComparator } from "#@typeberry/trie";
14
14
  import { getBlake2bTrieHasher } from "#@typeberry/trie/hasher.js";
15
- import { Compatibility, deepEqual, GpVersion, OK, Result } from "#@typeberry/utils";
15
+ import { deepEqual, OK, Result } from "#@typeberry/utils";
16
16
  import { LmdbRoot } from "./root.js";
17
17
  import { LmdbStates } from "./states.js";
18
18
  let blake2bTrieHasher;
@@ -73,9 +73,7 @@ describe("LMDB States database", () => {
73
73
  manager: tryAsServiceId(1),
74
74
  assigners: tryAsPerCore(new Array(spec.coresCount).fill(tryAsServiceId(2)), spec),
75
75
  delegator: tryAsServiceId(3),
76
- registrar: Compatibility.isGreaterOrEqual(GpVersion.V0_7_1)
77
- ? tryAsServiceId(4)
78
- : tryAsServiceId(MAX_VALUE_U32),
76
+ registrar: tryAsServiceId(4),
79
77
  autoAccumulateServices: new Map(),
80
78
  }),
81
79
  updated: new Map([
@@ -138,7 +138,7 @@ export declare class Initialize extends WithDebug {
138
138
  }>>>;
139
139
  }> | null>;
140
140
  ticketsMarker: import("@typeberry/codec").Descriptor<import("@typeberry/block").TicketsMarker | null, import("@typeberry/codec").ViewOf<import("@typeberry/block").TicketsMarker, {
141
- tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/tickets.js").Ticket[] & import("@typeberry/utils").WithOpaque<"EpochLength">, import("@typeberry/codec").SequenceView<import("@typeberry/block/tickets.js").Ticket, import("@typeberry/codec").ViewOf<import("@typeberry/block/tickets.js").Ticket, {
141
+ tickets: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").Ticket[] & import("@typeberry/utils").WithOpaque<"EpochLength">, import("@typeberry/codec").SequenceView<import("@typeberry/block").Ticket, import("@typeberry/codec").ViewOf<import("@typeberry/block").Ticket, {
142
142
  id: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
143
143
  attempt: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<1> & import("@typeberry/utils").WithOpaque<"TicketAttempt[0|1|2]">, U8>;
144
144
  }>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"bless.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jam-host-calls/accumulate/bless.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAmC,MAAM,kBAAkB,CAAC;AAEpG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACpG,OAAO,EAAE,YAAY,EAAsC,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,0BAA0B,CAAC;AAU3E,OAAO,EAAE,KAAK,YAAY,EAAyB,MAAM,mCAAmC,CAAC;AAkB7F;;;;GAIG;AACH,qBAAa,KAAM,YAAW,eAAe;aAQzB,gBAAgB,EAAE,SAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAT5B,KAAK,iIAA0B;IAC/B,YAAY,4HAAqB;IACjC,eAAe,uEAE8B;gBAG3B,gBAAgB,EAAE,SAAS,EAC1B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS;IAGjC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC;CAoFrH"}
1
+ {"version":3,"file":"bless.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jam-host-calls/accumulate/bless.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAmB,MAAM,kBAAkB,CAAC;AAEpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACpG,OAAO,EAAE,YAAY,EAAsC,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,0BAA0B,CAAC;AAG3E,OAAO,EAAE,KAAK,YAAY,EAAyB,MAAM,mCAAmC,CAAC;AAkB7F;;;;GAIG;AACH,qBAAa,KAAM,YAAW,eAAe;aAMzB,gBAAgB,EAAE,SAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP5B,KAAK,iIAA0B;IAC/B,YAAY,4HAAqB;IACjC,eAAe,uEAAgD;gBAG7C,gBAAgB,EAAE,SAAS,EAC1B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS;IAGjC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC;CAkFrH"}
@@ -1,10 +1,10 @@
1
- import { tryAsServiceGas, tryAsServiceId } from "#@typeberry/block";
1
+ import { tryAsServiceGas } from "#@typeberry/block";
2
2
  import { codec, Decoder, tryAsExactBytes } from "#@typeberry/codec";
3
3
  import { tryAsU64 } from "#@typeberry/numbers";
4
4
  import { PvmExecution, traceRegisters, tryAsHostCallIndex } from "#@typeberry/pvm-host-calls";
5
5
  import { tryAsSmallGas } from "#@typeberry/pvm-interface";
6
6
  import { tryAsPerCore } from "#@typeberry/state";
7
- import { asOpaqueType, assertNever, Compatibility, GpVersion, lazyInspect, safeAllocUint8Array, } from "#@typeberry/utils";
7
+ import { asOpaqueType, assertNever, lazyInspect, safeAllocUint8Array } from "#@typeberry/utils";
8
8
  import { UpdatePrivilegesError } from "../externalities/partial-state.js";
9
9
  import { HostCallResult } from "../general/results.js";
10
10
  import { logger } from "../logger.js";
@@ -25,9 +25,7 @@ export class Bless {
25
25
  chainSpec;
26
26
  index = tryAsHostCallIndex(14);
27
27
  basicGasCost = tryAsSmallGas(10);
28
- tracedRegisters = Compatibility.isGreaterOrEqual(GpVersion.V0_7_1)
29
- ? traceRegisters(IN_OUT_REG, 8, 9, 10, 11, 12)
30
- : traceRegisters(IN_OUT_REG, 8, 9, 10, 11);
28
+ tracedRegisters = traceRegisters(IN_OUT_REG, 8, 9, 10, 11, 12);
31
29
  constructor(currentServiceId, partialState, chainSpec) {
32
30
  this.currentServiceId = currentServiceId;
33
31
  this.partialState = partialState;
@@ -41,13 +39,11 @@ export class Bless {
41
39
  // `v`: manages validator keys
42
40
  const delegator = getServiceId(regs.get(9));
43
41
  // `r`: manages creation of new services with id within protected range
44
- const registrar = Compatibility.isGreaterOrEqual(GpVersion.V0_7_1)
45
- ? getServiceId(regs.get(10))
46
- : tryAsServiceId(2 ** 32 - 1);
42
+ const registrar = getServiceId(regs.get(10));
47
43
  // `o`: memory offset
48
- const sourceStart = Compatibility.isGreaterOrEqual(GpVersion.V0_7_1) ? regs.get(11) : regs.get(10);
44
+ const sourceStart = regs.get(11);
49
45
  // `n`: number of items in the auto-accumulate dictionary
50
- const numberOfItems = Compatibility.isGreaterOrEqual(GpVersion.V0_7_1) ? regs.get(12) : regs.get(11);
46
+ const numberOfItems = regs.get(12);
51
47
  /*
52
48
  * `z`: array of key-value pairs serviceId -> gas that auto-accumulate every block
53
49
  * https://graypaper.fluffylabs.dev/#/7e6ff6a/368100368100?v=0.6.7