From 3b954ca928e85362dffadb012ae17e14589cc58f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Mon, 1 Jun 2026 23:10:07 +0200 Subject: [PATCH 1/3] Bump typeberry-native --- bin/lib/package.json | 2 +- package-lock.json | 28 +++++++++++------------ packages/core/crypto/package.json | 2 +- packages/core/erasure-coding/package.json | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/bin/lib/package.json b/bin/lib/package.json index bfdf24d05..f28cad4bc 100644 --- a/bin/lib/package.json +++ b/bin/lib/package.json @@ -46,7 +46,7 @@ "@fluffylabs/anan-as": "^1.4.0", "@noble/ed25519": "2.2.3", "hash-wasm": "4.12.0", - "@typeberry/native": "0.3.0-5dae93e", + "@typeberry/native": "0.4.0-9b05cc1", "eventemitter3": "^5.0.1", "@opentelemetry/api": "1.9.0", "@typeberry/block": "*", diff --git a/package-lock.json b/package-lock.json index ed67ac91c..1ff8663a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -228,7 +228,7 @@ "@typeberry/json-parser": "*", "@typeberry/logger": "*", "@typeberry/mmr": "*", - "@typeberry/native": "0.3.0-5dae93e", + "@typeberry/native": "0.4.0-9b05cc1", "@typeberry/numbers": "*", "@typeberry/ordering": "*", "@typeberry/pvm-host-calls": "*", @@ -5261,9 +5261,9 @@ "license": "MIT" }, "node_modules/@typeberry/bandersnatch-native-darwin-arm64": { - "version": "0.3.0-5dae93e", - "resolved": "https://registry.npmjs.org/@typeberry/bandersnatch-native-darwin-arm64/-/bandersnatch-native-darwin-arm64-0.3.0-5dae93e.tgz", - "integrity": "sha512-JH4lAeVlkzvbkbGr28lgjIidJK6eDMGykBHu2NaheuTDZD5WmLqI7culeJhr05Y7aIB4xj2ld36eG3kyb9iW5A==", + "version": "0.4.0-9b05cc1", + "resolved": "https://registry.npmjs.org/@typeberry/bandersnatch-native-darwin-arm64/-/bandersnatch-native-darwin-arm64-0.4.0-9b05cc1.tgz", + "integrity": "sha512-4aurNPf4O+8Ks9zP2p/DlRytB6D5H5huAwKhastmvnlTChxsFySq52r55zbY75gMRJ/xxnZAaUqJZWBUDnlUXg==", "cpu": [ "arm64" ], @@ -5277,9 +5277,9 @@ } }, "node_modules/@typeberry/bandersnatch-native-linux-x64-gnu": { - "version": "0.3.0-5dae93e", - "resolved": "https://registry.npmjs.org/@typeberry/bandersnatch-native-linux-x64-gnu/-/bandersnatch-native-linux-x64-gnu-0.3.0-5dae93e.tgz", - "integrity": "sha512-b7CZYTrOrmSbaXx32HB8Ts5zTCdLSBouK40dwcdMHvobBELvqFcSP7gx1IDf86Ls3+dvrIbBQ6k+Sd/z74Gg6g==", + "version": "0.4.0-9b05cc1", + "resolved": "https://registry.npmjs.org/@typeberry/bandersnatch-native-linux-x64-gnu/-/bandersnatch-native-linux-x64-gnu-0.4.0-9b05cc1.tgz", + "integrity": "sha512-G9iqUrSBxboQjYqBl/4nqC7iBhf6UHBE+8b+tkEN7D537Be5vKagBZQpHrvDlVxUFKlK2GU934ojg1glmdXQpw==", "cpu": [ "x64" ], @@ -5436,16 +5436,16 @@ "link": true }, "node_modules/@typeberry/native": { - "version": "0.3.0-5dae93e", - "resolved": "https://registry.npmjs.org/@typeberry/native/-/native-0.3.0-5dae93e.tgz", - "integrity": "sha512-/HHVRkIbSEo2RDfnSu/sTdTPFTLYJ8hqUQ5at6U11TgiSQbmg5RavqRI3fzYhTMt9HCI4tLeTvEGJ7Hja/LM9w==", + "version": "0.4.0-9b05cc1", + "resolved": "https://registry.npmjs.org/@typeberry/native/-/native-0.4.0-9b05cc1.tgz", + "integrity": "sha512-U557PP7A5frn9dZPgtwJIZoxBMHH55+CtWJt/W51zzy784ricvUUlCqzyrJOj/X1OEICGYdVqOklTDaFw/7Pcw==", "license": "MPL-2.0", "engines": { "node": ">=18" }, "optionalDependencies": { - "@typeberry/bandersnatch-native-darwin-arm64": "0.3.0-5dae93e", - "@typeberry/bandersnatch-native-linux-x64-gnu": "0.3.0-5dae93e" + "@typeberry/bandersnatch-native-darwin-arm64": "0.4.0-9b05cc1", + "@typeberry/bandersnatch-native-linux-x64-gnu": "0.4.0-9b05cc1" } }, "node_modules/@typeberry/networking": { @@ -10340,7 +10340,7 @@ "@noble/ed25519": "2.2.3", "@typeberry/bytes": "*", "@typeberry/hash": "*", - "@typeberry/native": "0.3.0-5dae93e", + "@typeberry/native": "0.4.0-9b05cc1", "@typeberry/numbers": "*", "@typeberry/utils": "*" } @@ -10354,7 +10354,7 @@ "@typeberry/bytes": "*", "@typeberry/collections": "*", "@typeberry/config": "*", - "@typeberry/native": "0.3.0-5dae93e", + "@typeberry/native": "0.4.0-9b05cc1", "@typeberry/utils": "*" } }, diff --git a/packages/core/crypto/package.json b/packages/core/crypto/package.json index 418dfbe7f..056d609e2 100644 --- a/packages/core/crypto/package.json +++ b/packages/core/crypto/package.json @@ -10,7 +10,7 @@ "@noble/ed25519": "2.2.3", "@typeberry/bytes": "*", "@typeberry/hash": "*", - "@typeberry/native": "0.3.0-5dae93e", + "@typeberry/native": "0.4.0-9b05cc1", "@typeberry/numbers": "*", "@typeberry/utils": "*" }, diff --git a/packages/core/erasure-coding/package.json b/packages/core/erasure-coding/package.json index 57d870500..42cc5847a 100644 --- a/packages/core/erasure-coding/package.json +++ b/packages/core/erasure-coding/package.json @@ -15,7 +15,7 @@ "@typeberry/bytes": "*", "@typeberry/collections": "*", "@typeberry/config": "*", - "@typeberry/native": "0.3.0-5dae93e", + "@typeberry/native": "0.4.0-9b05cc1", "@typeberry/utils": "*" } } From 06f5aab09c8ab4731edf0c8795dd72dd7d7c57ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Mon, 1 Jun 2026 23:23:54 +0200 Subject: [PATCH 2/3] Fix tests --- packages/jam/safrole/bandersnatch-vrf.test.ts | 25 +++++++----------- packages/jam/safrole/bandersnatch-vrf.ts | 18 +++++++------ packages/jam/safrole/safrole.test.ts | 26 +++++++++---------- packages/jam/safrole/safrole.ts | 12 ++++----- packages/workers/block-authorship/main.ts | 12 +++++---- 5 files changed, 45 insertions(+), 48 deletions(-) diff --git a/packages/jam/safrole/bandersnatch-vrf.test.ts b/packages/jam/safrole/bandersnatch-vrf.test.ts index 81caddf8a..e1ac0a6f3 100644 --- a/packages/jam/safrole/bandersnatch-vrf.test.ts +++ b/packages/jam/safrole/bandersnatch-vrf.test.ts @@ -111,12 +111,9 @@ describe("Bandersnatch verification", () => { entropy, ); - assert.strictEqual( - result.every((x) => x.isValid), - true, - ); + assert.strictEqual(result.isValid, true); assert.deepStrictEqual( - result.map((x) => x.entropyHash.toString()), + result.tickets.map((x) => x.toString()), expectedIds.map((x) => x.toString()), ); }); @@ -150,10 +147,12 @@ describe("Bandersnatch verification", () => { "0xbb30a42c1e62f0afda5f0a4e8a562f7a13a24cea00ee81917b86b89e801314aa", HASH_SIZE, ).asOpaque(); + // Batch verification fails as a whole when any signature is invalid, + // and in that case all returned entropy hashes are zeroed out. const expectedIds = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x13fecb426e0a73b84b58b9a0832b11582dc971e79c5399e69f0baf1a244c7787", - "0x3a5d10abc80dda33fe3f40b3bb2e3eefd3e97dda3d617a860c9d94eb70b832ad", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", ].map((x) => Bytes.parseBytes(x, HASH_SIZE)); const result = await bandersnatchVrf.verifyTickets( @@ -164,12 +163,9 @@ describe("Bandersnatch verification", () => { entropy, ); + assert.strictEqual(result.isValid, false); assert.deepStrictEqual( - result.map((x) => x.isValid), - [false, true, true], - ); - assert.deepStrictEqual( - result.map((x) => x.entropyHash.toString()), + result.tickets.map((x) => x.toString()), expectedIds.map((x) => x.toString()), ); }); @@ -326,10 +322,7 @@ describe("Bandersnatch verification", () => { entropy, ); - assert.ok( - verifyResult.every((r) => r.isValid), - "Generated tickets should pass verification", - ); + assert.ok(verifyResult.isValid, "Generated tickets should pass verification"); }); }); }); diff --git a/packages/jam/safrole/bandersnatch-vrf.ts b/packages/jam/safrole/bandersnatch-vrf.ts index 6668463d0..ebd41df7d 100644 --- a/packages/jam/safrole/bandersnatch-vrf.ts +++ b/packages/jam/safrole/bandersnatch-vrf.ts @@ -136,16 +136,13 @@ async function getRingCommitmentNoCache( return Result.ok(Bytes.fromBlob(commitmentResult.subarray(1), BANDERSNATCH_RING_ROOT_BYTES).asOpaque()); } -// One byte for result discriminator (`ResultValues`) and the rest is entropy hash. -const TICKET_RESULT_LENGTH = 1 + HASH_SIZE; - async function verifyTickets( bandersnatch: BandernsatchWasm, numberOfValidators: number, epochRoot: BandersnatchRingRoot, tickets: readonly SignedTicket[], entropy: EntropyHash, -): Promise<{ isValid: boolean; entropyHash: EntropyHash }[]> { +): Promise<{ isValid: boolean; tickets: EntropyHash[] }> { const contextLength = entropy.length + JAM_TICKET_SEAL.length + 1; const ticketsData = BytesBlob.blobFromParts( @@ -162,10 +159,15 @@ async function verifyTickets( ticketsData, contextLength, ); - return Array.from(BytesBlob.blobFrom(verificationResult).chunks(TICKET_RESULT_LENGTH)).map((result) => ({ - isValid: result.raw[RESULT_INDEX] === ResultValues.Ok, - entropyHash: Bytes.fromBlob(result.raw.subarray(1, TICKET_RESULT_LENGTH), HASH_SIZE).asOpaque(), - })); + const isValid = verificationResult[RESULT_INDEX] === ResultValues.Ok; + // NOTE: in case of failure, the hashes will be all zeros, but we can safely + // keep the same code path. + const chunks = BytesBlob.blobFrom(verificationResult.subarray(1)).chunks(HASH_SIZE); + const results: EntropyHash[] = []; + for (const entropyHash of chunks) { + results.push(Bytes.fromBlob(entropyHash.raw, HASH_SIZE).asOpaque()); + } + return { isValid, tickets: results }; } async function generateSeal( diff --git a/packages/jam/safrole/safrole.test.ts b/packages/jam/safrole/safrole.test.ts index dccd4dfca..b49609247 100644 --- a/packages/jam/safrole/safrole.test.ts +++ b/packages/jam/safrole/safrole.test.ts @@ -92,10 +92,10 @@ describe("Safrole", () => { beforeEach(async () => { mock.method(bandersnatchVrf, "verifyTickets", () => - Promise.resolve([ - { isValid: true, entropyHash: Bytes.zero(HASH_SIZE) }, - { isValid: true, entropyHash: Bytes.fill(HASH_SIZE, 1) }, - ]), + Promise.resolve({ + isValid: true, + tickets: [Bytes.zero(HASH_SIZE), Bytes.fill(HASH_SIZE, 1)], + }), ); blake2b = await Blake2b.createHasher(); }); @@ -186,7 +186,7 @@ describe("Safrole", () => { it("should return bad ticket proof error", async () => { mock.method(bandersnatchVrf, "verifyTickets", () => - Promise.resolve([{ isValid: false, entropyHash: Bytes.zero(HASH_SIZE) }]), + Promise.resolve({ isValid: false, tickets: [Bytes.zero(HASH_SIZE)] }), ); const punishSet = SortedSet.fromArray(hashComparator); const state: SafroleState = { @@ -237,10 +237,10 @@ describe("Safrole", () => { it("should return duplicated ticket error", async () => { mock.method(bandersnatchVrf, "verifyTickets", () => - Promise.resolve([ - { isValid: true, entropyHash: Bytes.zero(HASH_SIZE) }, - { isValid: true, entropyHash: Bytes.zero(HASH_SIZE) }, - ]), + Promise.resolve({ + isValid: true, + tickets: [Bytes.zero(HASH_SIZE), Bytes.zero(HASH_SIZE)], + }), ); const punishSet = SortedSet.fromArray(hashComparator); const state: SafroleState = { @@ -295,10 +295,10 @@ describe("Safrole", () => { it("should return bad ticket order error", async () => { mock.method(bandersnatchVrf, "verifyTickets", () => - Promise.resolve([ - { isValid: true, entropyHash: Bytes.fill(HASH_SIZE, 1) }, - { isValid: true, entropyHash: Bytes.zero(HASH_SIZE) }, - ]), + Promise.resolve({ + isValid: true, + tickets: [Bytes.fill(HASH_SIZE, 1), Bytes.zero(HASH_SIZE)], + }), ); const punishSet = SortedSet.fromArray(hashComparator); const state: SafroleState = { diff --git a/packages/jam/safrole/safrole.ts b/packages/jam/safrole/safrole.ts index bd9c83d31..3ed4814f9 100644 --- a/packages/jam/safrole/safrole.ts +++ b/packages/jam/safrole/safrole.ts @@ -392,7 +392,7 @@ export class Safrole { // TODO [ToDr] Verify that ticket attempt is in correct range. const verificationResult = extrinsic.length === 0 - ? [] + ? { isValid: true, tickets: [] } : await bandersnatchVrf.verifyTickets( await this.bandersnatch, validators.length, @@ -401,15 +401,15 @@ export class Safrole { entropy, ); + if (!verificationResult.isValid) { + return Result.error(SafroleErrorCode.BadTicketProof, () => "Safrole: invalid ticket proof in extrinsic"); + } + const tickets: Ticket[] = extrinsic.map((ticket, i) => ({ - id: verificationResult[i].entropyHash, + id: verificationResult.tickets[i], attempt: ticket.attempt, })); - if (!verificationResult.every((x) => x.isValid)) { - return Result.error(SafroleErrorCode.BadTicketProof, () => "Safrole: invalid ticket proof in extrinsic"); - } - /** * Verify if tickets are sorted and unique * diff --git a/packages/workers/block-authorship/main.ts b/packages/workers/block-authorship/main.ts index 413f4a3d8..bd2b2afee 100644 --- a/packages/workers/block-authorship/main.ts +++ b/packages/workers/block-authorship/main.ts @@ -317,13 +317,15 @@ export async function main(config: Config, comms: GeneratorInternal, networkingC tickets, getTicketEntropy(epochIndex, state), ); - if (results.length !== tickets.length) { - logger.error`verifyTickets returned ${results.length} results for ${tickets.length} tickets`; + if (results.tickets.length !== tickets.length) { + logger.error`verifyTickets returned ${results.tickets.length} results for ${tickets.length} tickets`; return false; } - const verified = tickets - .map((ticket, i) => ({ ticket, id: results[i].entropyHash })) - .filter((_, i) => results[i].isValid); + // Batch verification: either the whole batch is valid or none of the tickets are. + if (!results.isValid) { + return false; + } + const verified = tickets.map((ticket, i) => ({ ticket, id: results.tickets[i] })); addToPool(epochIndex, verified); return verified.length > 0; } From 4807a989157eceafd1d08414599b76f7aeff71b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Mon, 8 Jun 2026 10:24:43 +0200 Subject: [PATCH 3/3] Bump to 0.5.1 --- bin/lib/package.json | 2 +- package-lock.json | 795 +--------------------- packages/core/crypto/package.json | 2 +- packages/core/erasure-coding/package.json | 2 +- 4 files changed, 17 insertions(+), 784 deletions(-) diff --git a/bin/lib/package.json b/bin/lib/package.json index f28cad4bc..8b5381dd2 100644 --- a/bin/lib/package.json +++ b/bin/lib/package.json @@ -46,7 +46,7 @@ "@fluffylabs/anan-as": "^1.4.0", "@noble/ed25519": "2.2.3", "hash-wasm": "4.12.0", - "@typeberry/native": "0.4.0-9b05cc1", + "@typeberry/native": "0.5.1", "eventemitter3": "^5.0.1", "@opentelemetry/api": "1.9.0", "@typeberry/block": "*", diff --git a/package-lock.json b/package-lock.json index 1ff8663a0..8e18b5da2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -184,25 +184,6 @@ "@types/minimist": "1.2.5" } }, - "bin/jam-cli": { - "name": "@typeberry/jam-cli", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/config": "0.0.1", - "@typeberry/jam": "0.0.1", - "@typeberry/logger": "0.0.1", - "@typeberry/utils": "0.0.1", - "minimist": "^1.2.8" - }, - "bin": { - "jam-cli": "index.ts" - }, - "devDependencies": { - "@types/minimist": "^1.2.5" - } - }, "bin/lib": { "name": "@typeberry/lib", "version": "0.8.3", @@ -228,7 +209,7 @@ "@typeberry/json-parser": "*", "@typeberry/logger": "*", "@typeberry/mmr": "*", - "@typeberry/native": "0.4.0-9b05cc1", + "@typeberry/native": "0.5.1", "@typeberry/numbers": "*", "@typeberry/ordering": "*", "@typeberry/pvm-host-calls": "*", @@ -349,59 +330,6 @@ "minimist": "^1.2.8" } }, - "bin/typeberry": { - "name": "@typeberry/typeberry", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0" - }, - "configs": { - "name": "@typeberry/configs", - "version": "0.1.2", - "extraneous": true, - "license": "MPL-2.0" - }, - "extensions/ipc": { - "name": "@typeberry/ext-ipc", - "version": "0.1.2", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "*", - "@typeberry/bytes": "*", - "@typeberry/codec": "*", - "@typeberry/collections": "*", - "@typeberry/config": "*", - "@typeberry/fuzz-proto": "*", - "@typeberry/hash": "*", - "@typeberry/jamnp-s": "*", - "@typeberry/logger": "*", - "@typeberry/networking": "*", - "@typeberry/numbers": "*", - "@typeberry/state-machine": "*", - "@typeberry/state-merkleization": "*", - "@typeberry/utils": "*" - } - }, - "extensions/rpc": { - "name": "@typeberry/ext-rpc", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@types/ws": "^8.18.1", - "ws": "^8.18.2" - }, - "bin": { - "ext-rpc": "index.ts" - } - }, - "mmr": { - "name": "@typeberry/mmr", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0" - }, "node_modules/@arrows/array": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/@arrows/array/-/array-1.4.1.tgz", @@ -5261,9 +5189,9 @@ "license": "MIT" }, "node_modules/@typeberry/bandersnatch-native-darwin-arm64": { - "version": "0.4.0-9b05cc1", - "resolved": "https://registry.npmjs.org/@typeberry/bandersnatch-native-darwin-arm64/-/bandersnatch-native-darwin-arm64-0.4.0-9b05cc1.tgz", - "integrity": "sha512-4aurNPf4O+8Ks9zP2p/DlRytB6D5H5huAwKhastmvnlTChxsFySq52r55zbY75gMRJ/xxnZAaUqJZWBUDnlUXg==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@typeberry/bandersnatch-native-darwin-arm64/-/bandersnatch-native-darwin-arm64-0.5.1.tgz", + "integrity": "sha512-5W8MLvUT8vRIRINX5Lfba+aKUkhzoaIsAzBOIIrANx3efq6lrVnHbv3Kvd+hO59zhnndkCUcSnLSg5TOK5bGbw==", "cpu": [ "arm64" ], @@ -5277,9 +5205,9 @@ } }, "node_modules/@typeberry/bandersnatch-native-linux-x64-gnu": { - "version": "0.4.0-9b05cc1", - "resolved": "https://registry.npmjs.org/@typeberry/bandersnatch-native-linux-x64-gnu/-/bandersnatch-native-linux-x64-gnu-0.4.0-9b05cc1.tgz", - "integrity": "sha512-G9iqUrSBxboQjYqBl/4nqC7iBhf6UHBE+8b+tkEN7D537Be5vKagBZQpHrvDlVxUFKlK2GU934ojg1glmdXQpw==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@typeberry/bandersnatch-native-linux-x64-gnu/-/bandersnatch-native-linux-x64-gnu-0.5.1.tgz", + "integrity": "sha512-U0IVy1xamcbvX6ScOK7uhX5ZojS+HQKRNB25JxZIwGCNOrVJgg7ipX/C8HNBzsnW0TG6bmIuy8LLDwlfZwDSsA==", "cpu": [ "x64" ], @@ -5436,16 +5364,16 @@ "link": true }, "node_modules/@typeberry/native": { - "version": "0.4.0-9b05cc1", - "resolved": "https://registry.npmjs.org/@typeberry/native/-/native-0.4.0-9b05cc1.tgz", - "integrity": "sha512-U557PP7A5frn9dZPgtwJIZoxBMHH55+CtWJt/W51zzy784ricvUUlCqzyrJOj/X1OEICGYdVqOklTDaFw/7Pcw==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@typeberry/native/-/native-0.5.1.tgz", + "integrity": "sha512-KLSWKS8y7sC5r5c1qzljvpb3pg20DmwRpJ8ABS0eWr5kdFXgHNyW6VHgNiY5RMifkO+9u7XD9pkaKU+dhNHsGw==", "license": "MPL-2.0", "engines": { "node": ">=18" }, "optionalDependencies": { - "@typeberry/bandersnatch-native-darwin-arm64": "0.4.0-9b05cc1", - "@typeberry/bandersnatch-native-linux-x64-gnu": "0.4.0-9b05cc1" + "@typeberry/bandersnatch-native-darwin-arm64": "0.5.1", + "@typeberry/bandersnatch-native-linux-x64-gnu": "0.5.1" } }, "node_modules/@typeberry/networking": { @@ -10215,73 +10143,6 @@ "url": "https://github.com/sponsors/colinhacks" } }, - "packages/blake2b": { - "name": "@typeberry/blake2b", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "blake2b": "^2.1.4" - }, - "devDependencies": { - "@types/blake2b": "^2.1.3" - } - }, - "packages/block": { - "name": "@typeberry/block", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/bytes": "0.0.1", - "@typeberry/codec": "0.0.1", - "@typeberry/collections": "0.0.1", - "@typeberry/config": "0.0.1", - "@typeberry/hash": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/bytes": { - "name": "@typeberry/bytes", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/ordering": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/codec": { - "name": "@typeberry/codec", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/bytes": "0.0.1", - "@typeberry/logger": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/collections": { - "name": "@typeberry/collections", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/bytes": "0.0.1", - "@typeberry/hash": "0.0.1", - "@typeberry/ordering": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/config": { - "name": "@typeberry/config", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0" - }, "packages/configs": { "name": "@typeberry/configs", "version": "0.8.3", @@ -10318,12 +10179,6 @@ "@typeberry/utils": "*" } }, - "packages/core/compatibility": { - "name": "@typeberry/compatibility", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0" - }, "packages/core/concurrent": { "name": "@typeberry/concurrent", "version": "0.8.3", @@ -10340,7 +10195,7 @@ "@noble/ed25519": "2.2.3", "@typeberry/bytes": "*", "@typeberry/hash": "*", - "@typeberry/native": "0.4.0-9b05cc1", + "@typeberry/native": "0.5.1", "@typeberry/numbers": "*", "@typeberry/utils": "*" } @@ -10354,7 +10209,7 @@ "@typeberry/bytes": "*", "@typeberry/collections": "*", "@typeberry/config": "*", - "@typeberry/native": "0.4.0-9b05cc1", + "@typeberry/native": "0.5.1", "@typeberry/utils": "*" } }, @@ -10373,20 +10228,6 @@ "version": "0.8.3", "license": "MPL-2.0" }, - "packages/core/key-derivation": { - "name": "@typeberry/key-derivation", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "devDependencies": { - "@typeberry/bytes": "0.0.1", - "@typeberry/hash": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/utils": "0.0.1", - "bandersnatch-wasm": "github:fluffylabs/bandersnatch#e5e0364f70355e80c7f9f468bbaa937d4d3cf3b2", - "ed25519-wasm": "github:fluffylabs/ed25519-wasm#a69da16025aa39c1b63842189fe841583213c07b" - } - }, "packages/core/listener": { "name": "@typeberry/listener", "version": "0.8.3", @@ -10439,17 +10280,6 @@ "version": "0.8.3", "license": "MPL-2.0" }, - "packages/core/pvm-debugger-adapter": { - "name": "@typeberry/pvm-debugger-adapter", - "version": "0.4.0", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/pvm-interface": "*", - "@typeberry/pvm-interpreter": "*", - "@typeberry/utils": "*" - } - }, "packages/core/pvm-host-calls": { "name": "@typeberry/pvm-host-calls", "version": "0.8.3", @@ -10511,16 +10341,6 @@ "@typeberry/utils": "*" } }, - "packages/core/state-machine": { - "name": "@typeberry/state-machine", - "version": "0.1.3", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/logger": "*", - "@typeberry/utils": "*" - } - }, "packages/core/telemetry": { "name": "@typeberry/telemetry", "version": "0.8.3", @@ -10552,74 +10372,6 @@ "version": "0.8.3", "license": "MPL-2.0" }, - "packages/crypto": { - "name": "@typeberry/crypto", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "0.0.1", - "@typeberry/bytes": "0.0.1", - "@typeberry/utils": "0.0.1", - "ed25519-wasm": "github:fluffylabs/ed25519-wasm#a69da16025aa39c1b63842189fe841583213c07b" - } - }, - "packages/database": { - "name": "@typeberry/database", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "0.0.1", - "@typeberry/bytes": "0.0.1", - "@typeberry/codec": "0.0.1", - "@typeberry/collections": "0.0.1", - "@typeberry/config": "0.0.1", - "@typeberry/hash": "0.0.1", - "@typeberry/trie": "0.0.1" - } - }, - "packages/database-lmdb": { - "name": "@typeberry/database-lmdb", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "0.0.1", - "@typeberry/bytes": "0.0.1", - "@typeberry/codec": "0.0.1", - "@typeberry/hash": "0.0.1", - "lmdb": "^3.1.3" - } - }, - "packages/disputes": { - "name": "@typeberry/disputes", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "0.0.1", - "@typeberry/bytes": "0.0.1", - "@typeberry/codec": "0.0.1", - "@typeberry/collections": "0.0.1", - "@typeberry/config": "0.0.1", - "@typeberry/crypto": "0.0.1", - "@typeberry/hash": "0.0.1", - "@typeberry/safrole": "0.0.1", - "@typeberry/state": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/erasure-coding": { - "name": "@typeberry/erasure-coding", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/utils": "0.0.1", - "reed-solomon-wasm": "github:fluffylabs/reed-solomon-wasm#8d814552c9770fcdce30b44f193d4f48c75bad19" - } - }, "packages/extensions/ipc": { "name": "@typeberry/ext-ipc", "version": "0.8.3", @@ -10641,27 +10393,6 @@ "@typeberry/utils": "*" } }, - "packages/hash": { - "name": "@typeberry/hash", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/bytes": "0.0.1", - "@typeberry/utils": "0.0.1", - "blake2b": "^2.1.4", - "hash-wasm": "^4.12.0" - }, - "devDependencies": { - "@types/blake2b": "^2.1.3" - } - }, - "packages/jam-codec": { - "name": "@typeberry/jam-codec", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0" - }, "packages/jam/block": { "name": "@typeberry/block", "version": "0.8.3", @@ -10715,35 +10446,6 @@ "@typeberry/utils": "*" } }, - "packages/jam/config/net": { - "name": "@typeberry/config-net", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block-json": "0.0.1", - "@typeberry/bytes": "0.0.1", - "@typeberry/json-parser": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/jam/config/node": { - "name": "@typeberry/config-node", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block-json": "0.0.1", - "@typeberry/bytes": "0.0.1", - "@typeberry/config": "0.0.1", - "@typeberry/configs": "0.0.1", - "@typeberry/jamnp-s": "0.0.1", - "@typeberry/json-parser": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, "packages/jam/database": { "name": "@typeberry/database", "version": "0.8.3", @@ -10782,24 +10484,6 @@ "lmdb": "3.1.3" } }, - "packages/jam/disputes": { - "name": "@typeberry/disputes", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "0.0.1", - "@typeberry/bytes": "0.0.1", - "@typeberry/codec": "0.0.1", - "@typeberry/collections": "0.0.1", - "@typeberry/config": "0.0.1", - "@typeberry/crypto": "0.0.1", - "@typeberry/hash": "0.0.1", - "@typeberry/safrole": "0.0.1", - "@typeberry/state": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, "packages/jam/executor": { "name": "@typeberry/executor", "version": "0.8.3", @@ -10925,38 +10609,6 @@ "@typeberry/workers-api-node": "*" } }, - "packages/jam/pvm-host-calls": { - "name": "@typeberry/pvm-host-calls", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/jam-host-calls": "0.0.1", - "@typeberry/logger": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/pvm-interpreter": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/jam/pvm-jam-host-calls": { - "name": "@typeberry/jam-host-calls", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "0.0.1", - "@typeberry/bytes": "0.0.1", - "@typeberry/codec": "0.0.1", - "@typeberry/collections": "0.0.1", - "@typeberry/config": "0.0.1", - "@typeberry/hash": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/pvm-host-calls": "0.0.1", - "@typeberry/pvm-interpreter": "0.0.1", - "@typeberry/state": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, "packages/jam/rpc-client": { "name": "@typeberry/rpc-client", "version": "0.8.3", @@ -11055,13 +10707,6 @@ "@typeberry/utils": "*" } }, - "packages/jam/state-persistence": { - "name": "@typeberry/state-persistence", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "devDependencies": {} - }, "packages/jam/state-vectors": { "name": "@typeberry/state-vectors", "version": "0.8.3", @@ -11121,18 +10766,6 @@ "@typeberry/utils": "*" } }, - "packages/json-parser": { - "name": "@typeberry/json-parser", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0" - }, - "packages/logger": { - "name": "@typeberry/logger", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0" - }, "packages/misc/benchmark": { "name": "@typeberry/benchmark", "version": "0.8.3", @@ -11143,226 +10776,6 @@ "chalk": "4.1.2" } }, - "packages/misc/builder": { - "name": "@typeberry/builder", - "version": "0.5.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@rollup/plugin-commonjs": "28.0.3", - "@rollup/plugin-json": "6.1.0", - "@rollup/plugin-node-resolve": "15.2.3", - "rollup": "^4.50.1", - "rollup-plugin-dts": "6.2.3", - "rollup-plugin-typescript2": "0.36.0" - } - }, - "packages/mmr": { - "name": "@typeberry/mmr", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/bytes": "0.0.1", - "@typeberry/hash": "0.0.1" - } - }, - "packages/numbers": { - "name": "@typeberry/numbers", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/utils": "0.0.1" - } - }, - "packages/ordering": { - "name": "@typeberry/ordering", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0" - }, - "packages/pvm-host-call-extension": { - "name": "@typeberry/pvm-host-call-extension", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/logger": "0.0.1", - "@typeberry/pvm": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/pvm/debugger-adapter": { - "name": "@typeberry/pvm-debugger-adapter", - "version": "0.1.0", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/numbers": "0.0.1", - "@typeberry/pvm-interpreter": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/pvm/host-calls": { - "name": "@typeberry/pvm-host-calls", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/jam-host-calls": "0.0.1", - "@typeberry/logger": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/pvm-interpreter": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/pvm/host-calls-jam": { - "name": "@typeberry/jam-host-calls", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "0.0.1", - "@typeberry/bytes": "0.0.1", - "@typeberry/codec": "0.0.1", - "@typeberry/collections": "0.0.1", - "@typeberry/config": "0.0.1", - "@typeberry/hash": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/pvm-host-calls": "0.0.1", - "@typeberry/pvm-interpreter": "0.0.1", - "@typeberry/state": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/pvm/interpreter": { - "name": "@typeberry/pvm-interpreter", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/bytes": "0.0.1", - "@typeberry/codec": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/safrole": { - "name": "@typeberry/safrole", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "0.0.1", - "@typeberry/bytes": "0.0.1", - "@typeberry/codec": "0.0.1", - "@typeberry/collections": "0.0.1", - "@typeberry/config": "0.0.1", - "@typeberry/hash": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/ordering": "0.0.1", - "@typeberry/state": "0.0.1", - "@typeberry/utils": "0.0.1", - "bandersnatch-wasm": "github:fluffylabs/bandersnatch#8ce8843" - } - }, - "packages/shuffling": { - "name": "@typeberry/shuffling", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/bytes": "0.0.1", - "@typeberry/hash": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/state": { - "name": "@typeberry/state", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "0.0.1", - "@typeberry/bytes": "0.0.1", - "@typeberry/codec": "0.0.1", - "@typeberry/collections": "0.0.1", - "@typeberry/config": "0.0.1", - "@typeberry/hash": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/state-machine": { - "name": "@typeberry/state-machine", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/logger": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/statistics": { - "name": "@typeberry/statistics", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "0.0.1", - "@typeberry/config": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/stubs": { - "name": "@typeberry/stubs", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0" - }, - "packages/transition": { - "name": "@typeberry/transition", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "0.0.1", - "@typeberry/bytes": "0.0.1", - "@typeberry/codec": "0.0.1", - "@typeberry/collections": "0.0.1", - "@typeberry/config": "0.0.1", - "@typeberry/crypto": "0.0.1", - "@typeberry/hash": "0.0.1", - "@typeberry/mmr": "0.0.1", - "@typeberry/numbers": "0.0.1", - "@typeberry/pvm-host-calls": "0.0.1", - "@typeberry/pvm-interpreter": "0.0.1", - "@typeberry/shuffling": "0.0.1", - "@typeberry/state": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/trie": { - "name": "@typeberry/trie", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/bytes": "0.0.1", - "@typeberry/collections": "0.0.1", - "@typeberry/hash": "0.0.1", - "@typeberry/utils": "0.0.1" - } - }, - "packages/utils": { - "name": "@typeberry/utils", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0" - }, "packages/workers/api": { "name": "@typeberry/workers-api", "version": "0.8.3", @@ -11420,30 +10833,6 @@ "@typeberry/workers-api-node": "*" } }, - "packages/workers/block-generator": { - "name": "@typeberry/block-generator", - "version": "0.5.0", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@opentelemetry/api": "1.9.0", - "@typeberry/block": "*", - "@typeberry/bytes": "*", - "@typeberry/codec": "*", - "@typeberry/collections": "*", - "@typeberry/config": "*", - "@typeberry/crypto": "*", - "@typeberry/database": "*", - "@typeberry/hash": "*", - "@typeberry/logger": "*", - "@typeberry/state-merkleization": "*", - "@typeberry/telemetry": "*", - "@typeberry/transition": "*", - "@typeberry/utils": "*", - "@typeberry/workers-api": "*", - "@typeberry/workers-api-node": "*" - } - }, "packages/workers/comms-authorship-network": { "name": "@typeberry/comms-authorship-network", "version": "0.8.3", @@ -11455,15 +10844,6 @@ "@typeberry/workers-api": "*" } }, - "packages/workers/generic": { - "name": "@typeberry/generic-worker", - "version": "0.1.3", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/state-machine": "*" - } - }, "packages/workers/importer": { "name": "@typeberry/importer", "version": "0.8.3", @@ -11511,153 +10891,6 @@ "@typeberry/workers-api": "*", "@typeberry/workers-api-node": "*" } - }, - "tools/benchmark": { - "name": "@typeberry/benchmark", - "version": "0.1.2", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/logger": "*", - "benny": "3.7.1", - "chalk": "4.1.2" - } - }, - "tools/builder": { - "name": "@typeberry/builder", - "version": "0.1.2", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@rollup/plugin-commonjs": "28.0.3", - "@rollup/plugin-json": "6.1.0", - "@rollup/plugin-node-resolve": "15.2.3", - "rollup": "^4.50.1", - "rollup-plugin-dts": "6.2.3", - "rollup-plugin-typescript2": "0.36.0" - } - }, - "tools/ipc2rpc": { - "name": "@typeberry/ipc2rpc", - "version": "0.1.2", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "*", - "@typeberry/bytes": "*", - "@typeberry/config": "*", - "@typeberry/ext-ipc": "*", - "@typeberry/hash": "*", - "@typeberry/jamnp-s": "*", - "@typeberry/logger": "*", - "@typeberry/networking": "*", - "json-rpc-2.0": "1.7.0" - } - }, - "tools/pvm-builder": { - "name": "@typeberry/pvm-builder", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@rollup/plugin-commonjs": "^26.0.1", - "@rollup/plugin-node-resolve": "^15.2.3", - "rollup": "^4.20.0", - "rollup-plugin-typescript2": "^0.36.0" - } - }, - "tools/typeberry-builder": { - "name": "@typeberry/typeberry-builder", - "version": "0.0.1", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/jam": "0.0.1", - "@typeberry/logger": "0.0.1", - "@typeberry/node": "^0.0.1", - "ts-loader": "^9.5.2", - "tsx": "^4.20.3", - "webpack": "^5.99.9" - } - }, - "workers/block-generator": { - "name": "@typeberry/block-generator", - "version": "0.1.2", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "*", - "@typeberry/bytes": "*", - "@typeberry/codec": "*", - "@typeberry/collections": "*", - "@typeberry/config": "*", - "@typeberry/crypto": "*", - "@typeberry/database": "*", - "@typeberry/database-lmdb": "*", - "@typeberry/generic-worker": "*", - "@typeberry/hash": "*", - "@typeberry/logger": "*", - "@typeberry/state-machine": "*", - "@typeberry/state-merkleization": "*", - "@typeberry/transition": "*", - "@typeberry/utils": "*" - } - }, - "workers/generic": { - "name": "@typeberry/generic-worker", - "version": "0.1.2", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/state-machine": "*" - } - }, - "workers/importer": { - "name": "@typeberry/importer", - "version": "0.1.2", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "*", - "@typeberry/bytes": "*", - "@typeberry/codec": "*", - "@typeberry/collections": "*", - "@typeberry/config": "*", - "@typeberry/crypto": "*", - "@typeberry/database": "*", - "@typeberry/database-lmdb": "*", - "@typeberry/generic-worker": "*", - "@typeberry/hash": "*", - "@typeberry/logger": "*", - "@typeberry/numbers": "*", - "@typeberry/ordering": "*", - "@typeberry/state-machine": "*", - "@typeberry/state-merkleization": "*", - "@typeberry/transition": "*", - "@typeberry/utils": "*" - } - }, - "workers/jam-network": { - "name": "@typeberry/jam-network", - "version": "0.1.2", - "extraneous": true, - "license": "MPL-2.0", - "dependencies": { - "@typeberry/block": "*", - "@typeberry/bytes": "*", - "@typeberry/codec": "*", - "@typeberry/config": "*", - "@typeberry/config-node": "*", - "@typeberry/crypto": "*", - "@typeberry/database": "*", - "@typeberry/database-lmdb": "*", - "@typeberry/generic-worker": "*", - "@typeberry/hash": "*", - "@typeberry/jamnp-s": "*", - "@typeberry/logger": "*", - "@typeberry/state-machine": "*", - "@typeberry/utils": "*" - } } } } diff --git a/packages/core/crypto/package.json b/packages/core/crypto/package.json index 056d609e2..4feaa4806 100644 --- a/packages/core/crypto/package.json +++ b/packages/core/crypto/package.json @@ -10,7 +10,7 @@ "@noble/ed25519": "2.2.3", "@typeberry/bytes": "*", "@typeberry/hash": "*", - "@typeberry/native": "0.4.0-9b05cc1", + "@typeberry/native": "0.5.1", "@typeberry/numbers": "*", "@typeberry/utils": "*" }, diff --git a/packages/core/erasure-coding/package.json b/packages/core/erasure-coding/package.json index 42cc5847a..22a9ff890 100644 --- a/packages/core/erasure-coding/package.json +++ b/packages/core/erasure-coding/package.json @@ -15,7 +15,7 @@ "@typeberry/bytes": "*", "@typeberry/collections": "*", "@typeberry/config": "*", - "@typeberry/native": "0.4.0-9b05cc1", + "@typeberry/native": "0.5.1", "@typeberry/utils": "*" } }