From 3effd49e67a5cd0b91ebd9540be87efc52a874b9 Mon Sep 17 00:00:00 2001 From: 0xisk <0xisk@proton.me> Date: Tue, 15 Sep 2026 12:01:45 +0200 Subject: [PATCH 1/2] build(deps): bump compact-cli to 0.1.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit compact-builder 0.0.4 spawns the compiler as `script -qc` on Linux, which exits 0 whatever the child did, so a failed `compact compile` was reported as `✔ Compiled` and wrote no artifact. 0.0.5 uses `-qec` and propagates the status. cli 0.0.3 pins builder `^0.0.4`, which on a 0.0.x line resolves only to 0.0.4, so the fix needed a cli release; 0.1.0 was unusable because its `@openzeppelin/compact-deployer` dependency was unpublished, and 0.1.1 lands now that deployer 0.2.0 is on npm. cli 0.1.1 sets `engines.node` to `>=24`, so contracts follows it from `>=22`. `.nvmrc` has been on v24.10.0 all along and CI reads it, so no workflow changes. The bump also pulls in the deployer's own tree (46 packages, ~34 MiB): the midnight-js 4.1.1 / ledger-v8 stack, alongside the 5.0.0-beta.7 / ledger-v9 packages this repo builds against. Nothing here invokes the `compact-deploy` bin, and the root `resolutions` entry for `@midnight-ntwrk/compact-runtime` keeps a single 0.19.0 copy even though the deployer pins 0.16.0. With the exit status honoured, the aggregate `compile` script fails on `crypto/` and `multisig/`, which need `--feature-zkir-v3`. Passing the flag to the aggregate is not an option: `ConfidentialFungibleToken` fails key generation on v3 (`Unsupported test_eq: JubjubScalar == JubjubScalar`). The aggregate now excludes both directories instead. They are compiled by `compile:crypto` and `compile:multisig`, which the turbo `compile` task already depends on. Recompiling them on v2 was worse than redundant: a v2 compile of a keccak256 contract empties the artifact directory before failing, so the aggregate could delete what the per-directory task had just built. `build` moves to `scripts/build.sh`. The builder runs on v2 without those two directories, then `compact-compiler` checks each of them on v3 and the script copies their sources into dist, which the builder would have skipped along with the compile since one exclude list drives both. dist keeps its published shape: `.compact` sources only, no artifacts. `compile:archive` now fails loudly on `archive/ShieldedToken.compact` (`unbound identifier CoinInfo`). That source is archived, excluded from `compile` and `build`, and not run in CI; left as is. --- CHANGELOG.md | 7 +- contracts/package.json | 8 +- contracts/scripts/build.sh | 33 ++ yarn.lock | 657 ++++++++++++++++++++++++++++++++++++- 4 files changed, 685 insertions(+), 20 deletions(-) create mode 100755 contracts/scripts/build.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index 8827eb7a6..ea9ffbdda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **Breaking:** Remove the `ShieldedMultiSig` preset. A rebuild on `EcdsaSignerManager` is tracked in #905. (#885) +### Fixed + +- Bump `@openzeppelin/compact-cli` `^0.0.3` → `^0.1.1`, whose `compact-builder` `0.0.5` fails the build when `compact compile` fails; `0.0.4` reported every failure as `✔ Compiled`. `engines.node` follows the cli to `>=24`. Fixes #894. +- Exclude `crypto/` and `multisig/` from the aggregate `compile` script. They need `--feature-zkir-v3` and are built by `compile:crypto` / `compile:multisig`; recompiling them on v2 emptied their artifact directories. The aggregate cannot move to v3 while `ConfidentialFungibleToken` fails key generation there. `build` moves to `scripts/build.sh`, which runs the builder on v2 without those directories, then compiles them on v3 and copies their sources into `dist`. (#899) + ## 0.4.0-alpha.1 (2026-09-02) ### Added @@ -31,7 +36,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Compiler 0.34.0 emits ZKIR v2 by default, and this release targets v2. Only `crypto/Ecdsa`, `multisig/EcdsaSignerManager` and the `ShieldedMultiSigV2` / `ShieldedMultiSigV3` presets need `--feature-zkir-v3`, because the `Secp256k1` types live in the v3 library; `compile:crypto` and `compile:multisig` pass it. - Under `--feature-zkir-v3`, any impure circuit that reaches `ElGamal.encryptPoint` (notably `ConfidentialFungibleToken`) fails at key generation with `Unsupported test_eq: JubjubScalar == JubjubScalar`, because the ZKIR v3 backend has no `JubjubScalar` equality ([LFDT-Minokawa/compact#757](https://github.com/LFDT-Minokawa/compact/issues/757)). A source-level fix, comparing the derived point instead of the scalar, lands in the next release. - Under `--feature-zkir-v3`, exporting `ElGamal.derivePk` as an impure circuit panics with `ZkStdLibArch must enable jubjub` ([LFDT-Minokawa/compact#616](https://github.com/LFDT-Minokawa/compact/issues/616)). There is no source workaround. -- `@openzeppelin/compact-cli` `0.0.3` pins `@openzeppelin/compact-builder` to `0.0.4`, which reports a failed compile as success on Linux and writes no artifact. This is fixed in `compact-builder` `0.0.5` ([OpenZeppelin/compact-tools#162](https://github.com/OpenZeppelin/compact-tools/pull/162)); a `compact-cli` patch release picking it up follows, after which this repo bumps it. Until then, check that `artifacts//compiler/contract-info.json` exists after a compile. +- `@openzeppelin/compact-cli` `0.0.3` pins `@openzeppelin/compact-builder` to `0.0.4`, which reports a failed compile as success on Linux and writes no artifact. Bumped in Unreleased (#899). ## 0.3.0-alpha.2 (2026-08-11) diff --git a/contracts/package.json b/contracts/package.json index ff6213c2c..41a872ebf 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -24,7 +24,7 @@ "#test-utils/*": "./test-utils/*" }, "scripts": { - "compile": "compact-compiler --exclude '*/archive/*'", + "compile": "compact-compiler --exclude '*/archive/*' --exclude '*/crypto/*' --exclude '*/multisig/*'", "compile:access": "compact-compiler --dir access", "compile:archive": "compact-compiler --dir archive", "compile:crypto": "compact-compiler --dir crypto --feature-zkir-v3", @@ -33,7 +33,7 @@ "compile:token": "compact-compiler --dir token", "compile:utils": "compact-compiler --dir utils", "compile:integration": "compact-compiler --src test/integration/_mocks", - "build": "compact-builder --hierarchical --out dist --clean-dist --exclude '*/archive/*' --exclude 'Mock*' --exclude '*.mock.compact' --copy package.json --copy ../README.md && find dist -type d -empty -delete", + "build": "bash scripts/build.sh", "test": "vitest run --project unit", "test:coverage": "vitest run --project unit --coverage", "test:integration": "vitest run --project integration", @@ -44,10 +44,10 @@ "clean": "git clean -fXd" }, "engines": { - "node": ">=22" + "node": ">=24" }, "dependencies": { - "@openzeppelin/compact-cli": "^0.0.3" + "@openzeppelin/compact-cli": "^0.1.1" }, "devDependencies": { "@midnight-ntwrk/compact-js": "2.5.5-rc.8", diff --git a/contracts/scripts/build.sh b/contracts/scripts/build.sh new file mode 100755 index 000000000..493193ac6 --- /dev/null +++ b/contracts/scripts/build.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# Two-pass dist build. crypto/ and multisig/ need --feature-zkir-v3 and +# ConfidentialFungibleToken cannot generate keys on v3, so one builder pass +# cannot cover both. dist ships .compact sources only; the compiles are a +# validity check. The builder's exclude list also drives its source copy, +# hence the manual copy for the v3 directories. +set -euo pipefail + +V3_DIRS=(crypto multisig) + +builder_excludes=(--exclude '*/archive/*' --exclude 'Mock*' --exclude '*.mock.compact') +for dir in "${V3_DIRS[@]}"; do + builder_excludes+=(--exclude "*/$dir/*") +done + +compact-builder --hierarchical --out dist --clean-dist "${builder_excludes[@]}" \ + --copy package.json --copy ../README.md + +check_out="$(mktemp -d)" +trap 'rm -rf "$check_out"' EXIT + +for dir in "${V3_DIRS[@]}"; do + compact-compiler --dir "$dir" --hierarchical --out "$check_out" --feature-zkir-v3 \ + --exclude 'Mock*' --exclude '*.mock.compact' + find "src/$dir" -type f -name '*.compact' ! -name 'Mock*' ! -name '*.mock.compact' \ + | while read -r file; do + rel="${file#src/}" + mkdir -p "dist/$(dirname "$rel")" + cp "$file" "dist/$rel" + done +done + +find dist -type d -empty -delete diff --git a/yarn.lock b/yarn.lock index f3f6083c1..89e6fb45c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,37 @@ __metadata: version: 8 cacheKey: 10 +"@apollo/client@npm:^4.2.0": + version: 4.3.1 + resolution: "@apollo/client@npm:4.3.1" + dependencies: + "@graphql-typed-document-node/core": "npm:^3.1.1" + "@wry/caches": "npm:^1.0.0" + "@wry/equality": "npm:^0.5.6" + "@wry/trie": "npm:^0.5.0" + graphql-tag: "npm:^2.12.6" + optimism: "npm:^0.18.0" + tslib: "npm:^2.3.0" + peerDependencies: + graphql: ^16.0.0 || ^17.0.0 + graphql-ws: ^5.5.5 || ^6.0.3 + react: ^17.0.0 || ^18.0.0 || >=19.0.0-rc + react-dom: ^17.0.0 || ^18.0.0 || >=19.0.0-rc + rxjs: ^7.3.0 + subscriptions-transport-ws: ^0.9.0 || ^0.11.0 + peerDependenciesMeta: + graphql-ws: + optional: true + react: + optional: true + react-dom: + optional: true + subscriptions-transport-ws: + optional: true + checksum: 10/128a4642e096382c7b0643204a4b0963d8bdb7d1d651178153c7ef285566a793ecd5e65f181e6bdf80644d894e05293d84f4e223a282df7b476866119106d40c + languageName: node + linkType: hard + "@apollo/client@npm:^4.2.5": version: 4.2.12 resolution: "@apollo/client@npm:4.2.12" @@ -195,6 +226,19 @@ __metadata: languageName: node linkType: hard +"@effect/platform@npm:^0.95.0": + version: 0.95.0 + resolution: "@effect/platform@npm:0.95.0" + dependencies: + find-my-way-ts: "npm:^0.1.6" + msgpackr: "npm:^1.11.4" + multipasta: "npm:^0.2.7" + peerDependencies: + effect: ^3.20.0 + checksum: 10/ae3f3bd441f77bb0f3bb71f954d3a06be2565e4d924eba8c7d5c898da32d893f42c4af0e5c6fee5a1ba087ab7d2d1dae8734a4b1e830baeb654fcccd63c996bb + languageName: node + linkType: hard + "@effect/platform@npm:^0.96.0": version: 0.96.2 resolution: "@effect/platform@npm:0.96.2" @@ -389,6 +433,20 @@ __metadata: languageName: node linkType: hard +"@midnight-ntwrk/compact-js@npm:2.5.1": + version: 2.5.1 + resolution: "@midnight-ntwrk/compact-js@npm:2.5.1" + dependencies: + "@effect/platform": "npm:^0.95.0" + "@midnight-ntwrk/compact-runtime": "npm:0.16.0" + "@midnight-ntwrk/ledger-v8": "npm:^8.0.3" + "@midnight-ntwrk/platform-js": "npm:^2.2.4" + effect: "npm:^3.20.0" + tslib: "npm:^2.8.1" + checksum: 10/ee041b88d8fd43dc63f8cbb6b02f2eb0d6445921633b032e1dd3e909c75be8ca8f311cee70d16a9d06795bbb94172d2a6797799ee3870f29a8aa42e7e3e153b6 + languageName: node + linkType: hard + "@midnight-ntwrk/compact-js@npm:2.5.5-rc.8": version: 2.5.5-rc.8 resolution: "@midnight-ntwrk/compact-js@npm:2.5.5-rc.8" @@ -417,13 +475,39 @@ __metadata: languageName: node linkType: hard -"@midnight-ntwrk/ledger-v8@npm:^8.1.0": +"@midnight-ntwrk/dapp-connector-api@npm:4.0.1": + version: 4.0.1 + resolution: "@midnight-ntwrk/dapp-connector-api@npm:4.0.1" + checksum: 10/b5a2fe117390ea40d5d1030a600351400624532169f2beeaa2fa130935c27110e3743fb8f9028d2541ae466e6e168a79efcfd45aaf1bf87a8ca8340bbcf53814 + languageName: node + linkType: hard + +"@midnight-ntwrk/ledger-v8@npm:8.1.0": + version: 8.1.0 + resolution: "@midnight-ntwrk/ledger-v8@npm:8.1.0" + checksum: 10/10d56076b0333a502f157c816f8cfebefc8d50221cb20c6db15abcbf2d0092bdaf7e9bc1bd19a6d9f51455547c713c916cb16d4a7d18e83cba0e172ad6e2a507 + languageName: node + linkType: hard + +"@midnight-ntwrk/ledger-v8@npm:^8.0.3, @midnight-ntwrk/ledger-v8@npm:^8.1.0": version: 8.1.2 resolution: "@midnight-ntwrk/ledger-v8@npm:8.1.2" checksum: 10/f27243ebce72d2e8177245ee0aade6430fdb2bdfd51c4f43394e174f935c655efc4850c76bf1eb015303f366257c0c902da58a94621fde04109e6d03a84970d2 languageName: node linkType: hard +"@midnight-ntwrk/midnight-js-compact@npm:4.1.1": + version: 4.1.1 + resolution: "@midnight-ntwrk/midnight-js-compact@npm:4.1.1" + dependencies: + "@midnight-ntwrk/midnight-js-utils": "npm:4.1.1" + bin: + fetch-compactc: dist/fetch-compact.mjs + run-compactc: dist/run-compactc.cjs + checksum: 10/7446faf9bb885756ecb766235f7378804d82a011718d3e1e9ce797f96f82cf593808192a1ddbdb4c7e4589b5ac3f051ba5fb4547c6c569f31fe28d0b0997abe8 + languageName: node + linkType: hard + "@midnight-ntwrk/midnight-js-compact@npm:5.0.0-beta.8": version: 5.0.0-beta.8 resolution: "@midnight-ntwrk/midnight-js-compact@npm:5.0.0-beta.8" @@ -436,6 +520,18 @@ __metadata: languageName: node linkType: hard +"@midnight-ntwrk/midnight-js-contracts@npm:4.1.1": + version: 4.1.1 + resolution: "@midnight-ntwrk/midnight-js-contracts@npm:4.1.1" + dependencies: + "@midnight-ntwrk/midnight-js-network-id": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-protocol": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-types": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-utils": "npm:4.1.1" + checksum: 10/93791613419dd914cbd4db6c0bc75cebb093962e4162a391d298e2ae705e53c2e87a40fa923fd9a9a6a31cdb91bede0836673beea14d4a594e15da250a1b4feb + languageName: node + linkType: hard + "@midnight-ntwrk/midnight-js-contracts@npm:5.0.0-beta.8": version: 5.0.0-beta.8 resolution: "@midnight-ntwrk/midnight-js-contracts@npm:5.0.0-beta.8" @@ -449,6 +545,21 @@ __metadata: languageName: node linkType: hard +"@midnight-ntwrk/midnight-js-http-client-proof-provider@npm:4.1.1": + version: 4.1.1 + resolution: "@midnight-ntwrk/midnight-js-http-client-proof-provider@npm:4.1.1" + dependencies: + "@midnight-ntwrk/midnight-js-contracts": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-network-id": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-protocol": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-types": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-utils": "npm:4.1.1" + cross-fetch: "npm:^4.1.0" + fetch-retry: "npm:^6.0.0" + checksum: 10/f2dc4acb733d3a87ef1c18ab225c081adfc42e3d7b626ac64ff858e931a2df873ab2161b13110522490c246ef5154a821db5fc24d0fb8ff43fa7e3745aa1defb + languageName: node + linkType: hard + "@midnight-ntwrk/midnight-js-http-client-proof-provider@npm:5.0.0-beta.8": version: 5.0.0-beta.8 resolution: "@midnight-ntwrk/midnight-js-http-client-proof-provider@npm:5.0.0-beta.8" @@ -463,6 +574,27 @@ __metadata: languageName: node linkType: hard +"@midnight-ntwrk/midnight-js-indexer-public-data-provider@npm:4.1.1": + version: 4.1.1 + resolution: "@midnight-ntwrk/midnight-js-indexer-public-data-provider@npm:4.1.1" + dependencies: + "@apollo/client": "npm:^4.2.0" + "@graphql-typed-document-node/core": "npm:^3.2.0" + "@midnight-ntwrk/midnight-js-network-id": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-protocol": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-types": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-utils": "npm:4.1.1" + buffer: "npm:^6.0.3" + cross-fetch: "npm:^4.1.0" + graphql: "npm:^16.14.0" + graphql-ws: "npm:^6.0.8" + isomorphic-ws: "npm:^5.0.0" + rxjs: "npm:^7.8.2" + ws: "npm:^8.20.0" + checksum: 10/89974d6d7e8588b1992ad552a15d7f512a437bfd2fd3e1192e5c52a1663902e6af84e2189ef2a3626f860acf1178303bb971e39b696215a0995a984f6397eef8 + languageName: node + linkType: hard + "@midnight-ntwrk/midnight-js-indexer-public-data-provider@npm:5.0.0-beta.8": version: 5.0.0-beta.8 resolution: "@midnight-ntwrk/midnight-js-indexer-public-data-provider@npm:5.0.0-beta.8" @@ -484,6 +616,23 @@ __metadata: languageName: node linkType: hard +"@midnight-ntwrk/midnight-js-level-private-state-provider@npm:4.1.1": + version: 4.1.1 + resolution: "@midnight-ntwrk/midnight-js-level-private-state-provider@npm:4.1.1" + dependencies: + "@midnight-ntwrk/midnight-js-protocol": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-types": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-utils": "npm:4.1.1" + "@noble/ciphers": "npm:^2.2.0" + "@noble/hashes": "npm:^2.2.0" + abstract-level: "npm:^3.1.1" + buffer: "npm:^6.0.3" + level: "npm:^10.0.0" + superjson: "npm:^2.2.6" + checksum: 10/f28e1b8d53da55d4088f1937d4f30d2029349407119adf78850c0fa997c538f9201d2ad6423bbd203d15ae5656d547f000e805dfe999100f2f30428d5206898f + languageName: node + linkType: hard + "@midnight-ntwrk/midnight-js-level-private-state-provider@npm:5.0.0-beta.8": version: 5.0.0-beta.8 resolution: "@midnight-ntwrk/midnight-js-level-private-state-provider@npm:5.0.0-beta.8" @@ -501,6 +650,13 @@ __metadata: languageName: node linkType: hard +"@midnight-ntwrk/midnight-js-network-id@npm:4.1.1": + version: 4.1.1 + resolution: "@midnight-ntwrk/midnight-js-network-id@npm:4.1.1" + checksum: 10/ac2f06da0d3bdec6ee83fe84312d8d012b398dad8e23896727c8de10df51eefeeff8eff2de29079c534e090f7cc8520f6e0763a324b560dfe1a0f1d55f2ca2a3 + languageName: node + linkType: hard + "@midnight-ntwrk/midnight-js-network-id@npm:5.0.0-beta.8": version: 5.0.0-beta.8 resolution: "@midnight-ntwrk/midnight-js-network-id@npm:5.0.0-beta.8" @@ -508,6 +664,16 @@ __metadata: languageName: node linkType: hard +"@midnight-ntwrk/midnight-js-node-zk-config-provider@npm:4.1.1": + version: 4.1.1 + resolution: "@midnight-ntwrk/midnight-js-node-zk-config-provider@npm:4.1.1" + dependencies: + "@midnight-ntwrk/midnight-js-types": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-utils": "npm:4.1.1" + checksum: 10/716d38a7ff0b6b007a5502364bb66b41b8cb1009a2b927b911861f1a7700860b59de5ebe50b83a0f61af9d40ca7af885ece371918b9e45a37d2b151965c5f80f + languageName: node + linkType: hard + "@midnight-ntwrk/midnight-js-node-zk-config-provider@npm:5.0.0-beta.8": version: 5.0.0-beta.8 resolution: "@midnight-ntwrk/midnight-js-node-zk-config-provider@npm:5.0.0-beta.8" @@ -518,6 +684,19 @@ __metadata: languageName: node linkType: hard +"@midnight-ntwrk/midnight-js-protocol@npm:4.1.1": + version: 4.1.1 + resolution: "@midnight-ntwrk/midnight-js-protocol@npm:4.1.1" + dependencies: + "@midnight-ntwrk/compact-js": "npm:2.5.1" + "@midnight-ntwrk/compact-runtime": "npm:0.16.0" + "@midnight-ntwrk/ledger-v8": "npm:8.1.0" + "@midnight-ntwrk/onchain-runtime-v3": "npm:3.0.0" + "@midnight-ntwrk/platform-js": "npm:2.2.4" + checksum: 10/bfd6195e90b8c0fbc178b32ff9f8223f377d48a55a4a6fdedba424ede77c2234eac75555263b73a61f3ca14d2cc27ed935b3efae15daa6a475a00db4a696e7a1 + languageName: node + linkType: hard + "@midnight-ntwrk/midnight-js-protocol@npm:5.0.0-beta.8": version: 5.0.0-beta.8 resolution: "@midnight-ntwrk/midnight-js-protocol@npm:5.0.0-beta.8" @@ -534,6 +713,18 @@ __metadata: languageName: node linkType: hard +"@midnight-ntwrk/midnight-js-types@npm:4.1.1": + version: 4.1.1 + resolution: "@midnight-ntwrk/midnight-js-types@npm:4.1.1" + dependencies: + "@midnight-ntwrk/midnight-js-protocol": "npm:4.1.1" + effect: "npm:^3.20.0" + pino: "npm:^10.3.1" + rxjs: "npm:^7.8.2" + checksum: 10/a11a994f0838968954f01146c9f5f65f29c8e30fe305401a3f0cef15b6a75802078d2c8c4abe6ef743585a12a05b4d9d30dbe1bb7177699cd2623302fb2b619e + languageName: node + linkType: hard + "@midnight-ntwrk/midnight-js-types@npm:5.0.0-beta.8": version: 5.0.0-beta.8 resolution: "@midnight-ntwrk/midnight-js-types@npm:5.0.0-beta.8" @@ -546,6 +737,17 @@ __metadata: languageName: node linkType: hard +"@midnight-ntwrk/midnight-js-utils@npm:4.1.1": + version: 4.1.1 + resolution: "@midnight-ntwrk/midnight-js-utils@npm:4.1.1" + dependencies: + "@midnight-ntwrk/midnight-js-network-id": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-protocol": "npm:4.1.1" + "@midnight-ntwrk/wallet-sdk-address-format": "npm:^3.1.0" + checksum: 10/73f3ab682bd0ea37b988bc34e8036bc03d748b1df534ea57764c7fc656a235ea3287ca55481d57be956455ff4a8334e805c99d87d95c998f1879b5b7743dc18c + languageName: node + linkType: hard + "@midnight-ntwrk/midnight-js-utils@npm:5.0.0-beta.8": version: 5.0.0-beta.8 resolution: "@midnight-ntwrk/midnight-js-utils@npm:5.0.0-beta.8" @@ -558,6 +760,13 @@ __metadata: languageName: node linkType: hard +"@midnight-ntwrk/onchain-runtime-v3@npm:3.0.0": + version: 3.0.0 + resolution: "@midnight-ntwrk/onchain-runtime-v3@npm:3.0.0" + checksum: 10/873aeb9e631c3678373c62b5aef847de454de94427028fb3d3f28bfdc8b2c02a3c770bd79d9bfef183eb9db6fb8c23e6826636f2e512ffd6eacbcf7cc0651c5d + languageName: node + linkType: hard + "@midnight-ntwrk/onchain-runtime-v3@npm:3.1.1, @midnight-ntwrk/onchain-runtime-v3@npm:^3.0.0": version: 3.1.1 resolution: "@midnight-ntwrk/onchain-runtime-v3@npm:3.1.1" @@ -565,6 +774,17 @@ __metadata: languageName: node linkType: hard +"@midnight-ntwrk/platform-js@npm:2.2.4, @midnight-ntwrk/platform-js@npm:^2.2.4": + version: 2.2.4 + resolution: "@midnight-ntwrk/platform-js@npm:2.2.4" + dependencies: + "@effect/platform": "npm:^0.95.0" + effect: "npm:^3.20.0" + tslib: "npm:^2.8.1" + checksum: 10/1650bb7e54a64740aaaf27f7e84b7bffdb08611c994bbf54208db43a0a11d10ea8994f05d82e848d60d6fcee8a9b3a5db770d306262b99547e71185d52614825 + languageName: node + linkType: hard + "@midnight-ntwrk/platform-js@npm:3.0.0, @midnight-ntwrk/platform-js@npm:^3.0.0": version: 3.0.0 resolution: "@midnight-ntwrk/platform-js@npm:3.0.0" @@ -576,6 +796,37 @@ __metadata: languageName: node linkType: hard +"@midnight-ntwrk/testkit-js@npm:4.1.1": + version: 4.1.1 + resolution: "@midnight-ntwrk/testkit-js@npm:4.1.1" + dependencies: + "@midnight-ntwrk/dapp-connector-api": "npm:4.0.1" + "@midnight-ntwrk/midnight-js-compact": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-contracts": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-http-client-proof-provider": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-indexer-public-data-provider": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-level-private-state-provider": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-network-id": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-node-zk-config-provider": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-protocol": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-types": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-utils": "npm:4.1.1" + "@midnight-ntwrk/wallet-sdk": "npm:1.1.0" + "@midnight-ntwrk/wallet-sdk-prover-client": "npm:^1.2.1" + "@midnight-ntwrk/zkir-v2": "npm:2.1.0" + "@scure/bip39": "npm:^2.2.0" + axios: "npm:^1.16.1" + buffer: "npm:^6.0.3" + cross-fetch: "npm:^4.1.0" + pino: "npm:^10.3.1" + pino-pretty: "npm:^13.1.3" + rxjs: "npm:^7.8.2" + testcontainers: "npm:^12.0.0" + ws: "npm:^8.20.0" + checksum: 10/54950d9f88ae6aac3cbdcb1edab1de1cba8fb7791d50e6e173e9db64ca93bd6a3eab7fe1489fc296100345b651e22f0f082fcc83962a2014b23b0dacef8399a3 + languageName: node + linkType: hard + "@midnight-ntwrk/testkit-js@npm:5.0.0-beta.8": version: 5.0.0-beta.8 resolution: "@midnight-ntwrk/testkit-js@npm:5.0.0-beta.8" @@ -608,6 +859,267 @@ __metadata: languageName: node linkType: hard +"@midnight-ntwrk/wallet-sdk-abstractions@npm:^2.1.0": + version: 2.1.0 + resolution: "@midnight-ntwrk/wallet-sdk-abstractions@npm:2.1.0" + dependencies: + effect: "npm:^3.19.19" + checksum: 10/acd476877ab4d32a2580d0b8c4a22a4458a9f5f3bd61b3220fc8a9da63a5cc61ccb5fd95d47506fe47999e708ade7a37d4eca74707cffe9a6b9b648c9ed28596 + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-address-format@npm:3.1.2, @midnight-ntwrk/wallet-sdk-address-format@npm:^3.1.0, @midnight-ntwrk/wallet-sdk-address-format@npm:^3.1.2": + version: 3.1.2 + resolution: "@midnight-ntwrk/wallet-sdk-address-format@npm:3.1.2" + dependencies: + "@midnight-ntwrk/ledger-v8": "npm:^8.1.0" + "@scure/base": "npm:^2.0.0" + "@subsquid/scale-codec": "npm:^4.0.1" + checksum: 10/f3e2374c1dd8e31310aa464fa2afecca3cca92b923a999bfcba2922225b907e5387b94a70e6a8c06e8fb9d51fd9140a08c827c13f8a9191fd18d597cb5ab7b0c + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-capabilities@npm:3.3.1, @midnight-ntwrk/wallet-sdk-capabilities@npm:^3.3.1": + version: 3.3.1 + resolution: "@midnight-ntwrk/wallet-sdk-capabilities@npm:3.3.1" + dependencies: + "@midnight-ntwrk/ledger-v8": "npm:^8.1.0" + "@midnight-ntwrk/wallet-sdk-abstractions": "npm:^2.1.0" + "@midnight-ntwrk/wallet-sdk-indexer-client": "npm:^1.2.2" + "@midnight-ntwrk/wallet-sdk-node-client": "npm:^1.1.2" + "@midnight-ntwrk/wallet-sdk-prover-client": "npm:^1.2.2" + "@midnight-ntwrk/wallet-sdk-utilities": "npm:^1.2.0" + "@midnight-ntwrk/zkir-v2": "npm:^2.1.0" + effect: "npm:^3.19.19" + rxjs: "npm:^7.8.2" + checksum: 10/95e37f71b8f991287e3036940c9ccfd06a545aa3f8f2f34542591a77fb59e6860c96c2ada96b5cf16e71e7270783e7e88e292fc2ed11fe8ffdef96716f38907a + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-dust-wallet@npm:4.1.0": + version: 4.1.0 + resolution: "@midnight-ntwrk/wallet-sdk-dust-wallet@npm:4.1.0" + dependencies: + "@midnight-ntwrk/ledger-v8": "npm:^8.1.0" + "@midnight-ntwrk/wallet-sdk-abstractions": "npm:^2.1.0" + "@midnight-ntwrk/wallet-sdk-address-format": "npm:^3.1.2" + "@midnight-ntwrk/wallet-sdk-capabilities": "npm:^3.3.1" + "@midnight-ntwrk/wallet-sdk-indexer-client": "npm:^1.2.2" + "@midnight-ntwrk/wallet-sdk-runtime": "npm:^1.0.4" + "@midnight-ntwrk/wallet-sdk-utilities": "npm:^1.2.0" + effect: "npm:^3.19.19" + rxjs: "npm:^7.8.2" + checksum: 10/c310174eb59f80f929507149a588fd1511849b30f328fa43d79d1c96e4c0422ef00db723b85f8c0ee04324d06f38b1e48415ff4b681d7e993b99c5e3e0f4c443 + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-dust-wallet@npm:^4.1.0, @midnight-ntwrk/wallet-sdk-dust-wallet@npm:^4.2.0": + version: 4.2.0 + resolution: "@midnight-ntwrk/wallet-sdk-dust-wallet@npm:4.2.0" + dependencies: + "@midnight-ntwrk/ledger-v8": "npm:^8.1.0" + "@midnight-ntwrk/wallet-sdk-abstractions": "npm:^2.1.0" + "@midnight-ntwrk/wallet-sdk-address-format": "npm:^3.1.2" + "@midnight-ntwrk/wallet-sdk-capabilities": "npm:^3.3.1" + "@midnight-ntwrk/wallet-sdk-indexer-client": "npm:^1.2.3" + "@midnight-ntwrk/wallet-sdk-runtime": "npm:^1.0.5" + "@midnight-ntwrk/wallet-sdk-utilities": "npm:^1.2.0" + effect: "npm:^3.19.19" + rxjs: "npm:^7.8.2" + checksum: 10/a48226ec58a84c9f1a7c2244df5ed1c154ccde4b473a0e318d6664dcf706dfe372aabe4bfe00f2f834f363fa8ef0b1d505e60b085e66b45d96c7aa7b3587f59f + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-facade@npm:4.0.1": + version: 4.0.1 + resolution: "@midnight-ntwrk/wallet-sdk-facade@npm:4.0.1" + dependencies: + "@midnight-ntwrk/ledger-v8": "npm:^8.1.0" + "@midnight-ntwrk/wallet-sdk-abstractions": "npm:^2.1.0" + "@midnight-ntwrk/wallet-sdk-address-format": "npm:^3.1.2" + "@midnight-ntwrk/wallet-sdk-capabilities": "npm:^3.3.1" + "@midnight-ntwrk/wallet-sdk-dust-wallet": "npm:^4.1.0" + "@midnight-ntwrk/wallet-sdk-indexer-client": "npm:^1.2.2" + "@midnight-ntwrk/wallet-sdk-shielded": "npm:^3.0.1" + "@midnight-ntwrk/wallet-sdk-unshielded-wallet": "npm:^3.1.0" + rxjs: "npm:^7.8.2" + checksum: 10/615e1bb2b4703941a0c67289271e126af9714a170c4f54ba8df7a54b2a7a4fd17a8786a6e9d9a25c77c6c4d26eb5b0eb3a60bdd6e377703e58c5f2e69757ebf6 + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-facade@npm:^4.0.1": + version: 4.1.0 + resolution: "@midnight-ntwrk/wallet-sdk-facade@npm:4.1.0" + dependencies: + "@midnight-ntwrk/ledger-v8": "npm:^8.1.0" + "@midnight-ntwrk/wallet-sdk-abstractions": "npm:^2.1.0" + "@midnight-ntwrk/wallet-sdk-address-format": "npm:^3.1.2" + "@midnight-ntwrk/wallet-sdk-capabilities": "npm:^3.3.1" + "@midnight-ntwrk/wallet-sdk-dust-wallet": "npm:^4.2.0" + "@midnight-ntwrk/wallet-sdk-indexer-client": "npm:^1.2.3" + "@midnight-ntwrk/wallet-sdk-shielded": "npm:^3.0.2" + "@midnight-ntwrk/wallet-sdk-unshielded-wallet": "npm:^3.1.0" + rxjs: "npm:^7.8.2" + checksum: 10/392459af3f94e5864a5b921e2d80484b1590a036c3cc342f7fe58e2307c4a4e7a2bc0b07cd1e477df275f175afa0af22e1815316af89208940196493535c8f0e + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-hd@npm:^3.0.2": + version: 3.0.3 + resolution: "@midnight-ntwrk/wallet-sdk-hd@npm:3.0.3" + dependencies: + "@scure/bip32": "npm:^2.0.1" + "@scure/bip39": "npm:^2.0.1" + checksum: 10/21804c08b074e93ef6298d90cd1d3f1d00822b3202072aca2a04edf91f4c23e980f1901f970920f5115516816d4d2b8ee7a4a70f58f8e07f3f0a7014aa91bc79 + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-indexer-client@npm:^1.2.2, @midnight-ntwrk/wallet-sdk-indexer-client@npm:^1.2.3": + version: 1.2.3 + resolution: "@midnight-ntwrk/wallet-sdk-indexer-client@npm:1.2.3" + dependencies: + "@graphql-typed-document-node/core": "npm:^3.2.0" + "@midnight-ntwrk/wallet-sdk-utilities": "npm:^1.2.0" + effect: "npm:^3.19.19" + graphql: "npm:^16.13.0" + graphql-http: "npm:^1.22.4" + graphql-ws: "npm:^6.0.7" + checksum: 10/5b777c9e87bf459b7dba00247d052315d607b12f239ed5f1154824fae19e450b02ce99e6591a3c18b5901a254a2be3ce04e3bc9bc53580b5226f917a4b31c833 + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-node-client@npm:^1.1.2": + version: 1.1.3 + resolution: "@midnight-ntwrk/wallet-sdk-node-client@npm:1.1.3" + dependencies: + "@midnight-ntwrk/wallet-sdk-abstractions": "npm:^2.1.0" + "@midnight-ntwrk/wallet-sdk-utilities": "npm:^1.2.0" + "@polkadot/api": "npm:^16.5.4" + "@polkadot/types": "npm:^16.5.4" + "@polkadot/util": "npm:^14.0.1" + "@types/bn.js": "npm:^5.2.0" + bn.js: "npm:^5.2.3" + effect: "npm:^3.19.19" + peerDependencies: + "@midnight-ntwrk/ledger-v8": ^8.1.0 + "@midnight-ntwrk/wallet-sdk-prover-client": ^1.2.3 + peerDependenciesMeta: + "@midnight-ntwrk/ledger-v8": + optional: true + "@midnight-ntwrk/wallet-sdk-prover-client": + optional: true + checksum: 10/68a846042185b136d580565fc643376dd060a3eb42473f12400107dfe982f81302de8c4fa33657432cf18f3d9dfe34dde3f4bdcc3eda78b6b6c1ccd835160163 + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-prover-client@npm:^1.2.1, @midnight-ntwrk/wallet-sdk-prover-client@npm:^1.2.2": + version: 1.2.3 + resolution: "@midnight-ntwrk/wallet-sdk-prover-client@npm:1.2.3" + dependencies: + "@effect/platform": "npm:^0.96.0" + "@midnight-ntwrk/ledger-v8": "npm:^8.1.0" + "@midnight-ntwrk/wallet-sdk-utilities": "npm:^1.2.0" + "@midnight-ntwrk/zkir-v2": "npm:^2.1.0" + effect: "npm:^3.19.19" + web-worker: "npm:^1.5.0" + checksum: 10/c99f8b8bbc4c2885f8d2575504fc080dacca00af8a85f7010b1ae768b5e109f144757ff8b895046831241da597849ec8e7b97cebf3029dc6c61d6389362321d1 + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-runtime@npm:^1.0.4, @midnight-ntwrk/wallet-sdk-runtime@npm:^1.0.5": + version: 1.0.5 + resolution: "@midnight-ntwrk/wallet-sdk-runtime@npm:1.0.5" + dependencies: + "@midnight-ntwrk/wallet-sdk-abstractions": "npm:^2.1.0" + "@midnight-ntwrk/wallet-sdk-utilities": "npm:^1.2.0" + effect: "npm:^3.19.19" + rxjs: "npm:^7.8.2" + checksum: 10/7315ea2191f9f81596773360d080980367a478d326f7b45524907db854dea8caecdd16a2ece6f70d72ee42c68ed607f6da624384048361625b368f226373371f + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-shielded@npm:3.0.1": + version: 3.0.1 + resolution: "@midnight-ntwrk/wallet-sdk-shielded@npm:3.0.1" + dependencies: + "@midnight-ntwrk/ledger-v8": "npm:^8.1.0" + "@midnight-ntwrk/wallet-sdk-abstractions": "npm:^2.1.0" + "@midnight-ntwrk/wallet-sdk-address-format": "npm:^3.1.2" + "@midnight-ntwrk/wallet-sdk-capabilities": "npm:^3.3.1" + "@midnight-ntwrk/wallet-sdk-indexer-client": "npm:^1.2.2" + "@midnight-ntwrk/wallet-sdk-runtime": "npm:^1.0.4" + "@midnight-ntwrk/wallet-sdk-utilities": "npm:^1.2.0" + effect: "npm:^3.19.19" + rxjs: "npm:^7.8.2" + checksum: 10/c8788cff494c3a1eb126e38b56375d1d040cb592029044cb43d7b4d40c68ea69d01935dbfb1f575d2a4b438af5b1229dd0ef8ddd4841d7b55164e4941c4f2145 + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-shielded@npm:^3.0.1, @midnight-ntwrk/wallet-sdk-shielded@npm:^3.0.2": + version: 3.0.2 + resolution: "@midnight-ntwrk/wallet-sdk-shielded@npm:3.0.2" + dependencies: + "@midnight-ntwrk/ledger-v8": "npm:^8.1.0" + "@midnight-ntwrk/wallet-sdk-abstractions": "npm:^2.1.0" + "@midnight-ntwrk/wallet-sdk-address-format": "npm:^3.1.2" + "@midnight-ntwrk/wallet-sdk-capabilities": "npm:^3.3.1" + "@midnight-ntwrk/wallet-sdk-indexer-client": "npm:^1.2.3" + "@midnight-ntwrk/wallet-sdk-runtime": "npm:^1.0.5" + "@midnight-ntwrk/wallet-sdk-utilities": "npm:^1.2.0" + effect: "npm:^3.19.19" + rxjs: "npm:^7.8.2" + checksum: 10/ce98e211f9f8ba43a648523eb53991f1864e10fab95a157d2378934140e3ecbdb5981bd8059095c5cc5b7a97b622c14b95e3af58de70bc74a8369e8e544367e8 + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-unshielded-wallet@npm:3.1.0, @midnight-ntwrk/wallet-sdk-unshielded-wallet@npm:^3.1.0": + version: 3.1.0 + resolution: "@midnight-ntwrk/wallet-sdk-unshielded-wallet@npm:3.1.0" + dependencies: + "@midnight-ntwrk/ledger-v8": "npm:^8.1.0" + "@midnight-ntwrk/wallet-sdk-abstractions": "npm:^2.1.0" + "@midnight-ntwrk/wallet-sdk-address-format": "npm:^3.1.2" + "@midnight-ntwrk/wallet-sdk-capabilities": "npm:^3.3.1" + "@midnight-ntwrk/wallet-sdk-indexer-client": "npm:^1.2.2" + "@midnight-ntwrk/wallet-sdk-runtime": "npm:^1.0.4" + "@midnight-ntwrk/wallet-sdk-utilities": "npm:^1.2.0" + effect: "npm:^3.19.19" + rxjs: "npm:^7.8.2" + checksum: 10/21cca2a1119e3a4a19d74babb3acdd8690be48a58c4f4a191a8e0dcd79c07d8de11646ad05c02267e4a470ab17f4d43768691b44e0ed67d9317c1c752be0a6c2 + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk-utilities@npm:^1.2.0": + version: 1.2.1 + resolution: "@midnight-ntwrk/wallet-sdk-utilities@npm:1.2.1" + dependencies: + effect: "npm:^3.19.19" + rxjs: "npm:^7.8.2" + checksum: 10/d91ee1c2fa1d52930ec0eebdfb9a47ddeeb057e539ea0d062b025fd51fcd1fc17fe2a681c5eaa20e36075d59a068c711656dc8307e50f86f854ec48d8b4c78fa + languageName: node + linkType: hard + +"@midnight-ntwrk/wallet-sdk@npm:1.1.0": + version: 1.1.0 + resolution: "@midnight-ntwrk/wallet-sdk@npm:1.1.0" + dependencies: + "@midnight-ntwrk/wallet-sdk-abstractions": "npm:^2.1.0" + "@midnight-ntwrk/wallet-sdk-address-format": "npm:^3.1.2" + "@midnight-ntwrk/wallet-sdk-capabilities": "npm:^3.3.1" + "@midnight-ntwrk/wallet-sdk-dust-wallet": "npm:^4.1.0" + "@midnight-ntwrk/wallet-sdk-facade": "npm:^4.0.1" + "@midnight-ntwrk/wallet-sdk-hd": "npm:^3.0.2" + "@midnight-ntwrk/wallet-sdk-indexer-client": "npm:^1.2.2" + "@midnight-ntwrk/wallet-sdk-node-client": "npm:^1.1.2" + "@midnight-ntwrk/wallet-sdk-prover-client": "npm:^1.2.2" + "@midnight-ntwrk/wallet-sdk-runtime": "npm:^1.0.4" + "@midnight-ntwrk/wallet-sdk-shielded": "npm:^3.0.1" + "@midnight-ntwrk/wallet-sdk-unshielded-wallet": "npm:^3.1.0" + "@midnight-ntwrk/wallet-sdk-utilities": "npm:^1.2.0" + checksum: 10/2763ae543a0728a2680df9928e4dfac6a31d871d52a4c927a2d392abc3639eb250b64cefaec27628172f42515fbbaa0cb017058a03bab9103ab393e6da1eed43 + languageName: node + linkType: hard + "@midnight-ntwrk/zkir-v2@npm:2.1.0, @midnight-ntwrk/zkir-v2@npm:^2.1.0": version: 2.1.0 resolution: "@midnight-ntwrk/zkir-v2@npm:2.1.0" @@ -1010,29 +1522,33 @@ __metadata: languageName: node linkType: hard -"@openzeppelin/compact-builder@npm:^0.0.4": - version: 0.0.4 - resolution: "@openzeppelin/compact-builder@npm:0.0.4" +"@openzeppelin/compact-builder@npm:^0.0.5": + version: 0.0.5 + resolution: "@openzeppelin/compact-builder@npm:0.0.5" dependencies: chalk: "npm:^6.0.0" log-symbols: "npm:^7.0.0" ora: "npm:^9.4.1" shell-quote: "npm:^1.10.0" - checksum: 10/2c34de10435f21c112b000b527d81a00edc121433ee70f82e9b7991022568c0061709904eea5f9df4d34f2c22c3f146a6867aac50f339d66863df9951b1ef86b + checksum: 10/b99019cf7784a9a7dcbcb5a28587d7cd16c1dfd20379e92b84a31876d7ddf2154c1b8189d92bed073640bb57ba0ea9b5d4e5113ba663a8d803d1ff7b187b0278 languageName: node linkType: hard -"@openzeppelin/compact-cli@npm:^0.0.3": - version: 0.0.3 - resolution: "@openzeppelin/compact-cli@npm:0.0.3" +"@openzeppelin/compact-cli@npm:^0.1.1": + version: 0.1.1 + resolution: "@openzeppelin/compact-cli@npm:0.1.1" dependencies: - "@openzeppelin/compact-builder": "npm:^0.0.4" + "@openzeppelin/compact-builder": "npm:^0.0.5" + "@openzeppelin/compact-deployer": "npm:^0.2.0" chalk: "npm:^6.0.0" ora: "npm:^9.4.1" + pino: "npm:^9.7.0" + pino-pretty: "npm:^13.0.0" bin: compact-builder: dist/runBuilder.js compact-compiler: dist/runCompiler.js - checksum: 10/a01c265a299c03167cf7e6e180721f802210921ed558a6e926388d022ce6692298deec47684c315640f833a0aadc4dcf829b732fad5cc88c669529e12cd03f61 + compact-deploy: dist/runDeploy.js + checksum: 10/cac5246c564ea7fb63c8e84993d423f1141bf8cae3ef2c4b81ffd521db13c11e370dc8acc4b872a3906224b68fafb6b660b5e033e14a11184ced764ad95d2c50 languageName: node linkType: hard @@ -1053,7 +1569,7 @@ __metadata: "@midnightntwrk/ledger-v9": "npm:1.0.0-rc.3" "@midnightntwrk/wallet-sdk-address-format": "npm:4.0.0-beta.2" "@noble/curves": "npm:^2.2.0" - "@openzeppelin/compact-cli": "npm:^0.0.3" + "@openzeppelin/compact-cli": "npm:^0.1.1" "@openzeppelin/compact-simulator": "npm:^0.4.0" "@tsconfig/node24": "npm:^24.0.5" "@types/node": "npm:26.5.1" @@ -1066,6 +1582,37 @@ __metadata: languageName: unknown linkType: soft +"@openzeppelin/compact-deployer@npm:^0.2.0": + version: 0.2.0 + resolution: "@openzeppelin/compact-deployer@npm:0.2.0" + dependencies: + "@midnight-ntwrk/compact-js": "npm:2.5.1" + "@midnight-ntwrk/compact-runtime": "npm:0.16.0" + "@midnight-ntwrk/ledger-v8": "npm:8.1.0" + "@midnight-ntwrk/midnight-js-contracts": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-http-client-proof-provider": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-indexer-public-data-provider": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-level-private-state-provider": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-network-id": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-node-zk-config-provider": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-types": "npm:4.1.1" + "@midnight-ntwrk/midnight-js-utils": "npm:4.1.1" + "@midnight-ntwrk/testkit-js": "npm:4.1.1" + "@midnight-ntwrk/wallet-sdk-address-format": "npm:3.1.2" + "@midnight-ntwrk/wallet-sdk-capabilities": "npm:3.3.1" + "@midnight-ntwrk/wallet-sdk-dust-wallet": "npm:4.1.0" + "@midnight-ntwrk/wallet-sdk-facade": "npm:4.0.1" + "@midnight-ntwrk/wallet-sdk-shielded": "npm:3.0.1" + "@midnight-ntwrk/wallet-sdk-unshielded-wallet": "npm:3.1.0" + "@scure/bip39": "npm:^1.2.1" + pino: "npm:^9.7.0" + rxjs: "npm:^7.8.1" + smol-toml: "npm:^1.3.4" + zod: "npm:^3.23.8" + checksum: 10/225867952c9bc0a4f70d2401dc5ef82701eedc3136f95b52134bb7c0b1b03c377bdd49877799ac658088c607477fd60c425ac8c84d6e9ae066e2c0794decb3fd + languageName: node + linkType: hard + "@openzeppelin/compact-simulator@npm:^0.4.0": version: 0.4.0 resolution: "@openzeppelin/compact-simulator@npm:0.4.0" @@ -1770,7 +2317,7 @@ __metadata: languageName: node linkType: hard -"@scure/base@npm:^1.1.1, @scure/base@npm:^1.1.7": +"@scure/base@npm:^1.1.1, @scure/base@npm:^1.1.7, @scure/base@npm:~1.2.5": version: 1.2.6 resolution: "@scure/base@npm:1.2.6" checksum: 10/c1a7bd5e0b0c8f94c36fbc220f4a67cc832b00e2d2065c7d8a404ed81ab1c94c5443def6d361a70fc382db3496e9487fb9941728f0584782b274c18a4bed4187 @@ -1788,6 +2335,16 @@ __metadata: languageName: node linkType: hard +"@scure/bip39@npm:^1.2.1": + version: 1.6.0 + resolution: "@scure/bip39@npm:1.6.0" + dependencies: + "@noble/hashes": "npm:~1.8.0" + "@scure/base": "npm:~1.2.5" + checksum: 10/63e60c40fa1bda2c1b50351546fee6d7b0947cc814aa7a4209dcedd3693b5053302c8fca28292f5f50735e11c613265359acdc019127393dbab17e53489fc449 + languageName: node + linkType: hard + "@scure/bip39@npm:^2.0.1": version: 2.2.0 resolution: "@scure/bip39@npm:2.2.0" @@ -1798,7 +2355,7 @@ __metadata: languageName: node linkType: hard -"@scure/bip39@npm:^2.3.0": +"@scure/bip39@npm:^2.2.0, @scure/bip39@npm:^2.3.0": version: 2.4.0 resolution: "@scure/bip39@npm:2.4.0" dependencies: @@ -2940,6 +3497,16 @@ __metadata: languageName: node linkType: hard +"effect@npm:^3.20.0": + version: 3.22.2 + resolution: "effect@npm:3.22.2" + dependencies: + "@standard-schema/spec": "npm:^1.0.0" + fast-check: "npm:^3.23.1" + checksum: 10/2130ab194153fe5714292c8a75468bd7e94b10a559ca7785d3fabec0bb07eb02cb167dc51295abec0e30a1803c5855d6eab3fa057283e52449af7f3bf86b5bc1 + languageName: node + linkType: hard + "effect@npm:^3.21.0, effect@npm:^3.22.1": version: 3.22.1 resolution: "effect@npm:3.22.1" @@ -3385,6 +3952,13 @@ __metadata: languageName: node linkType: hard +"graphql@npm:^16.13.0, graphql@npm:^16.14.0": + version: 16.14.2 + resolution: "graphql@npm:16.14.2" + checksum: 10/cd9a2581508f82621112a4dc625714e81ce725ab0a62502d97c14f61fee180e85276ac64bf9094f4fbf237737832ad4bb970aa26088f9dffece56f8919a49a29 + languageName: node + linkType: hard + "graphql@npm:^17.0.0, graphql@npm:^17.0.1": version: 17.0.2 resolution: "graphql@npm:17.0.2" @@ -4042,7 +4616,7 @@ __metadata: languageName: node linkType: hard -"msgpackr@npm:^1.11.10": +"msgpackr@npm:^1.11.10, msgpackr@npm:^1.11.4": version: 1.12.1 resolution: "msgpackr@npm:1.12.1" dependencies: @@ -4334,6 +4908,15 @@ __metadata: languageName: node linkType: hard +"pino-abstract-transport@npm:^2.0.0": + version: 2.0.0 + resolution: "pino-abstract-transport@npm:2.0.0" + dependencies: + split2: "npm:^4.0.0" + checksum: 10/e5699ecb06c7121055978e988e5cecea5b6892fc2589c64f1f86df5e7386bbbfd2ada268839e911b021c6b3123428aed7c6be3ac7940eee139556c75324c7e83 + languageName: node + linkType: hard + "pino-abstract-transport@npm:^3.0.0": version: 3.0.0 resolution: "pino-abstract-transport@npm:3.0.0" @@ -4343,7 +4926,7 @@ __metadata: languageName: node linkType: hard -"pino-pretty@npm:^13.1.3": +"pino-pretty@npm:^13.0.0, pino-pretty@npm:^13.1.3": version: 13.1.3 resolution: "pino-pretty@npm:13.1.3" dependencies: @@ -4394,6 +4977,27 @@ __metadata: languageName: node linkType: hard +"pino@npm:^9.7.0": + version: 9.14.0 + resolution: "pino@npm:9.14.0" + dependencies: + "@pinojs/redact": "npm:^0.4.0" + atomic-sleep: "npm:^1.0.0" + on-exit-leak-free: "npm:^2.1.0" + pino-abstract-transport: "npm:^2.0.0" + pino-std-serializers: "npm:^7.0.0" + process-warning: "npm:^5.0.0" + quick-format-unescaped: "npm:^4.0.3" + real-require: "npm:^0.2.0" + safe-stable-stringify: "npm:^2.3.1" + sonic-boom: "npm:^4.0.1" + thread-stream: "npm:^3.0.0" + bin: + pino: bin.js + checksum: 10/918e1fc764885150cb2b4fae8249a0ece53275020a7ca389f994fa2fbbb17b6353cd736c2db3a3794fbac0351f8e3d58411fabe127e875e24151a8fa4cd0b2b5 + languageName: node + linkType: hard + "postcss@npm:8.5.10": version: 8.5.10 resolution: "postcss@npm:8.5.10" @@ -4783,6 +5387,13 @@ __metadata: languageName: node linkType: hard +"smol-toml@npm:^1.3.4": + version: 1.8.0 + resolution: "smol-toml@npm:1.8.0" + checksum: 10/eb8aeeebd1c3e5de6069922c9a44bb40b9b3c534e685ccd0aa299b4d7307f1ec49471da57812bdbf1d21a0c09f1dd47eb0e814d0d34c892142187ccce2487ea9 + languageName: node + linkType: hard + "smoldot@npm:2.0.26": version: 2.0.26 resolution: "smoldot@npm:2.0.26" @@ -5103,6 +5714,15 @@ __metadata: languageName: node linkType: hard +"thread-stream@npm:^3.0.0": + version: 3.2.0 + resolution: "thread-stream@npm:3.2.0" + dependencies: + real-require: "npm:^0.2.0" + checksum: 10/6c3af9f19dd3e5f21f532ff9cab14ffac3031d3a9f7a74e9aa9ffd4452c5f19604183d989ad96ee06b0ae1da88923c09dc22dd161cfdadb0f474502679fef619 + languageName: node + linkType: hard + "thread-stream@npm:^4.0.0": version: 4.2.0 resolution: "thread-stream@npm:4.2.0" @@ -5631,3 +6251,10 @@ __metadata: checksum: 10/aa5abd6a89590eadeba040afbc375f53337f12637e5e98330012a12d9886cde7a3ccc28bd91aafab50576035bbb1de39a9a316eecf2411c8b9009c9f94f0db27 languageName: node linkType: hard + +"zod@npm:^3.23.8": + version: 3.25.76 + resolution: "zod@npm:3.25.76" + checksum: 10/f0c963ec40cd96858451d1690404d603d36507c1fc9682f2dae59ab38b578687d542708a7fdbf645f77926f78c9ed558f57c3d3aa226c285f798df0c4da16995 + languageName: node + linkType: hard From 69b223aba09fa178202c82a7862699bc92ddf00d Mon Sep 17 00:00:00 2001 From: 0xisk <0xisk@proton.me> Date: Tue, 22 Sep 2026 13:28:53 +0200 Subject: [PATCH 2/2] build(contracts): pass zkir-v3 to build, drop build.sh The two-pass script assumed the ConfidentialFungibleToken v3 key-generation failure would reach `build`. It does not: `build` excludes mocks, and only a contract with an impure circuit reaching `ElGamal.encryptPoint` trips it. Module files emit no circuits, so all 40 shipped sources build on v3 with key generation. One flag is enough. --- CHANGELOG.md | 2 +- contracts/package.json | 2 +- contracts/scripts/build.sh | 33 --------------------------------- 3 files changed, 2 insertions(+), 35 deletions(-) delete mode 100755 contracts/scripts/build.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index ea9ffbdda..7faaf8aeb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Bump `@openzeppelin/compact-cli` `^0.0.3` → `^0.1.1`, whose `compact-builder` `0.0.5` fails the build when `compact compile` fails; `0.0.4` reported every failure as `✔ Compiled`. `engines.node` follows the cli to `>=24`. Fixes #894. -- Exclude `crypto/` and `multisig/` from the aggregate `compile` script. They need `--feature-zkir-v3` and are built by `compile:crypto` / `compile:multisig`; recompiling them on v2 emptied their artifact directories. The aggregate cannot move to v3 while `ConfidentialFungibleToken` fails key generation there. `build` moves to `scripts/build.sh`, which runs the builder on v2 without those directories, then compiles them on v3 and copies their sources into `dist`. (#899) +- Exclude `crypto/` and `multisig/` from the aggregate `compile` script. They need `--feature-zkir-v3` and are built by `compile:crypto` / `compile:multisig`; recompiling them on v2 emptied their artifact directories. The aggregate cannot move to v3 while `ConfidentialFungibleToken` fails key generation there. `build` passes `--feature-zkir-v3` instead: it excludes mocks, and only the `ConfidentialFungibleToken` mocks hit the v3 key-generation failure. (#899) ## 0.4.0-alpha.1 (2026-09-02) diff --git a/contracts/package.json b/contracts/package.json index 41a872ebf..69e571098 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -33,7 +33,7 @@ "compile:token": "compact-compiler --dir token", "compile:utils": "compact-compiler --dir utils", "compile:integration": "compact-compiler --src test/integration/_mocks", - "build": "bash scripts/build.sh", + "build": "compact-builder --hierarchical --out dist --clean-dist --feature-zkir-v3 --exclude '*/archive/*' --exclude 'Mock*' --exclude '*.mock.compact' --copy package.json --copy ../README.md && find dist -type d -empty -delete", "test": "vitest run --project unit", "test:coverage": "vitest run --project unit --coverage", "test:integration": "vitest run --project integration", diff --git a/contracts/scripts/build.sh b/contracts/scripts/build.sh deleted file mode 100755 index 493193ac6..000000000 --- a/contracts/scripts/build.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -# Two-pass dist build. crypto/ and multisig/ need --feature-zkir-v3 and -# ConfidentialFungibleToken cannot generate keys on v3, so one builder pass -# cannot cover both. dist ships .compact sources only; the compiles are a -# validity check. The builder's exclude list also drives its source copy, -# hence the manual copy for the v3 directories. -set -euo pipefail - -V3_DIRS=(crypto multisig) - -builder_excludes=(--exclude '*/archive/*' --exclude 'Mock*' --exclude '*.mock.compact') -for dir in "${V3_DIRS[@]}"; do - builder_excludes+=(--exclude "*/$dir/*") -done - -compact-builder --hierarchical --out dist --clean-dist "${builder_excludes[@]}" \ - --copy package.json --copy ../README.md - -check_out="$(mktemp -d)" -trap 'rm -rf "$check_out"' EXIT - -for dir in "${V3_DIRS[@]}"; do - compact-compiler --dir "$dir" --hierarchical --out "$check_out" --feature-zkir-v3 \ - --exclude 'Mock*' --exclude '*.mock.compact' - find "src/$dir" -type f -name '*.compact' ! -name 'Mock*' ! -name '*.mock.compact' \ - | while read -r file; do - rel="${file#src/}" - mkdir -p "dist/$(dirname "$rel")" - cp "$file" "dist/$rel" - done -done - -find dist -type d -empty -delete