From ec093f93547e75ee2c67bb736e8fc0b9aaecddb3 Mon Sep 17 00:00:00 2001 From: Randall Date: Thu, 15 May 2025 09:23:37 -0700 Subject: [PATCH 1/3] post-hoc version bump --- src/program/version.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/program/version.js b/src/program/version.js index 34e5dc1..10ed3d0 100644 --- a/src/program/version.js +++ b/src/program/version.js @@ -1 +1 @@ -export const VERSION = "0.17.20" +export const VERSION = "0.17.21" From da3848a53d018795fc8502052e54248d02c780d9 Mon Sep 17 00:00:00 2001 From: Randall Date: Wed, 30 Apr 2025 08:22:53 -0700 Subject: [PATCH 2/3] include mStruct fieldName in invalid-data diagnostic --- src/statements/DataDefinition.js | 2 +- test/struct.test.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/statements/DataDefinition.js b/src/statements/DataDefinition.js index 77bc660..dc68fbd 100644 --- a/src/statements/DataDefinition.js +++ b/src/statements/DataDefinition.js @@ -527,7 +527,7 @@ export class DataDefinition { ${ir} }, () -> { - __core__trace("Warning: invalid ${mStructName} data", + __core__trace("Warning: invalid data in ${mStructName}.${f.encodedFieldName}", () -> { false } diff --git a/test/struct.test.js b/test/struct.test.js index 904cce4..314920d 100644 --- a/test/struct.test.js +++ b/test/struct.test.js @@ -171,7 +171,7 @@ describe("mStruct Pair[Int, Int]", () => { runner([map([[$a, int(0)]])], False) }) - it("issues warnings from unoptimized version (missing field and invalid ‹struct-name›)", () => { + it("issues warnings from unoptimized version (missing field by-name, and invalid ‹struct-name›)", () => { const [result] = runner([map([[$a, int(0)]])], False) const logs = result.logs.map((l) => l.message) if (!logs.some((x) => x.match(/field not found: b/))) { @@ -181,7 +181,7 @@ describe("mStruct Pair[Int, Int]", () => { logs.map((l) => `unoptimized> ${l}`).join("\n") ) } - if (!logs.some((x) => x.match(/invalid Pair data/))) { + if (!logs.some((x) => x.match(/invalid data in Pair.b/))) { throw new Error( "Expected warning about invalid Pair, got logs:\n" + logs.map((l) => `unoptimized> ${l}`).join("\n") From 3af20fc249a82d00873af77a64c4de316ba0a1fb Mon Sep 17 00:00:00 2001 From: Randall Date: Wed, 30 Apr 2025 08:23:12 -0700 Subject: [PATCH 3/3] support PubKey in type-schema --- src/typecheck/hashes.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/typecheck/hashes.js b/src/typecheck/hashes.js index 21f59cf..22f49af 100644 --- a/src/typecheck/hashes.js +++ b/src/typecheck/hashes.js @@ -115,6 +115,10 @@ export const PubKeyType = new GenericType({ genTypeMembers: (self) => ({ ...genCommonTypeMembers(self), new: new FuncType([ByteArrayType], self) + }), + genTypeSchema: (self) => ({ + kind: /** @type {const} */ ("internal"), + name: "PubKey" }) })