diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 705e0694..c57e9b00 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -43,4 +43,4 @@ runs: if: ${{ inputs.skip-compact != 'true' }} uses: midnightntwrk/setup-compact-action@836895c8fffbbea6bd986af2b17e8941ff29d1f8 # v1 with: - compact-version: "0.29.0" + compact-version: "0.30.0" diff --git a/README.md b/README.md index 24d64d78..71d9bf5e 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ Import modules through `node_modules` rather than directly to avoid state confli ```typescript // MyContract.compact -pragma language_version >= 0.18.0; +pragma language_version >= 0.22.0; import CompactStandardLibrary; import "./compact-contracts/node_modules/@openzeppelin/compact-contracts/src/access/Ownable" diff --git a/contracts/src/access/AccessControl.compact b/contracts/src/access/AccessControl.compact index 021d2e43..e3143e60 100644 --- a/contracts/src/access/AccessControl.compact +++ b/contracts/src/access/AccessControl.compact @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Compact Contracts v0.0.1-alpha.1 (access/AccessControl.compact) -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; /** * @module AccessControl diff --git a/contracts/src/access/Ownable.compact b/contracts/src/access/Ownable.compact index 5c15f5a5..f8584e00 100644 --- a/contracts/src/access/Ownable.compact +++ b/contracts/src/access/Ownable.compact @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Compact Contracts v0.0.1-alpha.1 (access/Ownable.compact) -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; /** * @module Ownable diff --git a/contracts/src/access/ZOwnablePK.compact b/contracts/src/access/ZOwnablePK.compact index 6d8b34f9..e2840ecc 100644 --- a/contracts/src/access/ZOwnablePK.compact +++ b/contracts/src/access/ZOwnablePK.compact @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Compact Contracts v0.0.1-alpha.1 (access/ZOwnablePK.compact) -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; /** * @module ZOwnablePK diff --git a/contracts/src/access/test/mocks/MockAccessControl.compact b/contracts/src/access/test/mocks/MockAccessControl.compact index 273121cc..5715d49f 100644 --- a/contracts/src/access/test/mocks/MockAccessControl.compact +++ b/contracts/src/access/test/mocks/MockAccessControl.compact @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; import CompactStandardLibrary; diff --git a/contracts/src/access/test/mocks/MockOwnable.compact b/contracts/src/access/test/mocks/MockOwnable.compact index ebbc6110..448dfb5d 100644 --- a/contracts/src/access/test/mocks/MockOwnable.compact +++ b/contracts/src/access/test/mocks/MockOwnable.compact @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; import CompactStandardLibrary; diff --git a/contracts/src/access/test/mocks/MockZOwnablePK.compact b/contracts/src/access/test/mocks/MockZOwnablePK.compact index e0e5e18a..a834dcad 100644 --- a/contracts/src/access/test/mocks/MockZOwnablePK.compact +++ b/contracts/src/access/test/mocks/MockZOwnablePK.compact @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; import CompactStandardLibrary; import "../../ZOwnablePK" prefix ZOwnablePK_; diff --git a/contracts/src/archive/ShieldedToken.compact b/contracts/src/archive/ShieldedToken.compact index 599b0a41..79a47d79 100644 --- a/contracts/src/archive/ShieldedToken.compact +++ b/contracts/src/archive/ShieldedToken.compact @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Compact Contracts v0.0.1-alpha.1 (archive/ShieldedToken.compact) -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; /** * @module ShieldedToken (archived until further notice, DO NOT USE IN PRODUCTION) diff --git a/contracts/src/archive/test/mocks/MockShieldedToken.compact b/contracts/src/archive/test/mocks/MockShieldedToken.compact index 68c0fc35..1990d135 100644 --- a/contracts/src/archive/test/mocks/MockShieldedToken.compact +++ b/contracts/src/archive/test/mocks/MockShieldedToken.compact @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; import CompactStandardLibrary; import "../../ShieldedToken" prefix ShieldedToken_; diff --git a/contracts/src/archive/test/utils/address.ts b/contracts/src/archive/test/utils/address.ts index cbba8b7b..31ed9143 100644 --- a/contracts/src/archive/test/utils/address.ts +++ b/contracts/src/archive/test/utils/address.ts @@ -2,7 +2,7 @@ import { convertFieldToBytes, encodeCoinPublicKey, } from '@midnight-ntwrk/compact-runtime'; -import { encodeContractAddress } from '@midnight-ntwrk/ledger-v7'; +import { encodeContractAddress } from '@midnight-ntwrk/ledger-v8'; import type * as Compact from '../../../../artifacts/MockShieldedToken/contract/index.js'; const PREFIX_ADDRESS = '0200'; diff --git a/contracts/src/security/Initializable.compact b/contracts/src/security/Initializable.compact index ae1b93c9..b58f7357 100644 --- a/contracts/src/security/Initializable.compact +++ b/contracts/src/security/Initializable.compact @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Compact Contracts v0.0.1-alpha.1 (security/Initializable.compact) -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; /** * @module Initializable diff --git a/contracts/src/security/Pausable.compact b/contracts/src/security/Pausable.compact index 3f118450..dc09ca09 100644 --- a/contracts/src/security/Pausable.compact +++ b/contracts/src/security/Pausable.compact @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Compact Contracts v0.0.1-alpha.1 (security/Pausable.compact) -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; /** * @module Pausable diff --git a/contracts/src/security/test/mocks/MockInitializable.compact b/contracts/src/security/test/mocks/MockInitializable.compact index ca5dd3fc..afb446fd 100644 --- a/contracts/src/security/test/mocks/MockInitializable.compact +++ b/contracts/src/security/test/mocks/MockInitializable.compact @@ -1,4 +1,4 @@ -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; import CompactStandardLibrary; import "../../Initializable" prefix Initializable_; diff --git a/contracts/src/security/test/mocks/MockPausable.compact b/contracts/src/security/test/mocks/MockPausable.compact index da9d79a9..8da52957 100644 --- a/contracts/src/security/test/mocks/MockPausable.compact +++ b/contracts/src/security/test/mocks/MockPausable.compact @@ -1,4 +1,4 @@ -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; import CompactStandardLibrary; import "../../Pausable" prefix Pausable_; diff --git a/contracts/src/token/FungibleToken.compact b/contracts/src/token/FungibleToken.compact index 8f604ef4..686693e2 100644 --- a/contracts/src/token/FungibleToken.compact +++ b/contracts/src/token/FungibleToken.compact @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Compact Contracts v0.0.1-alpha.1 (token/FungibleToken.compact) -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; /** * @module FungibleToken diff --git a/contracts/src/token/MultiToken.compact b/contracts/src/token/MultiToken.compact index 649b8076..ff4fcc94 100644 --- a/contracts/src/token/MultiToken.compact +++ b/contracts/src/token/MultiToken.compact @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Compact Contracts v0.0.1-alpha.1 (token/MultiToken.compact) -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; /** * @module MultiToken diff --git a/contracts/src/token/NonFungibleToken.compact b/contracts/src/token/NonFungibleToken.compact index 13fa4f97..3cba3eef 100644 --- a/contracts/src/token/NonFungibleToken.compact +++ b/contracts/src/token/NonFungibleToken.compact @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Compact Contracts v0.0.1-alpha.1 (token/NonFungibleToken.compact) -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; /** * @module NonFungibleToken diff --git a/contracts/src/token/test/mocks/MockFungibleToken.compact b/contracts/src/token/test/mocks/MockFungibleToken.compact index 2b86c588..82108d1a 100644 --- a/contracts/src/token/test/mocks/MockFungibleToken.compact +++ b/contracts/src/token/test/mocks/MockFungibleToken.compact @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; import CompactStandardLibrary; diff --git a/contracts/src/token/test/mocks/MockMultiToken.compact b/contracts/src/token/test/mocks/MockMultiToken.compact index 37d89fd1..cafd242d 100644 --- a/contracts/src/token/test/mocks/MockMultiToken.compact +++ b/contracts/src/token/test/mocks/MockMultiToken.compact @@ -1,4 +1,4 @@ -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; import CompactStandardLibrary; import "../../MultiToken" prefix MultiToken_; diff --git a/contracts/src/token/test/mocks/MockNonFungibleToken.compact b/contracts/src/token/test/mocks/MockNonFungibleToken.compact index a7515486..65c2112e 100644 --- a/contracts/src/token/test/mocks/MockNonFungibleToken.compact +++ b/contracts/src/token/test/mocks/MockNonFungibleToken.compact @@ -1,4 +1,4 @@ -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; import CompactStandardLibrary; diff --git a/contracts/src/utils/Utils.compact b/contracts/src/utils/Utils.compact index 8e4342e3..752a590d 100644 --- a/contracts/src/utils/Utils.compact +++ b/contracts/src/utils/Utils.compact @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // OpenZeppelin Compact Contracts v0.0.1-alpha.1 (utils/Utils.compact) -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; /** * @module Utils. diff --git a/contracts/src/utils/test/mocks/MockUtils.compact b/contracts/src/utils/test/mocks/MockUtils.compact index 3f13ffac..cd80246c 100644 --- a/contracts/src/utils/test/mocks/MockUtils.compact +++ b/contracts/src/utils/test/mocks/MockUtils.compact @@ -1,4 +1,4 @@ -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; import CompactStandardLibrary; diff --git a/contracts/test-utils/address.ts b/contracts/test-utils/address.ts index 38dae723..3a53a4a2 100644 --- a/contracts/test-utils/address.ts +++ b/contracts/test-utils/address.ts @@ -4,7 +4,7 @@ import { encodeCoinPublicKey, isContractAddress, } from '@midnight-ntwrk/compact-runtime'; -import { encodeContractAddress } from '@midnight-ntwrk/ledger-v7'; +import { encodeContractAddress } from '@midnight-ntwrk/ledger-v8'; type ZswapCoinPublicKey = { bytes: Uint8Array }; @@ -78,9 +78,9 @@ const baseGeneratePubKeyPair = ( str: string, asEither: boolean, ): [ - string, - ZswapCoinPublicKey | Either, -] => { + string, + ZswapCoinPublicKey | Either, + ] => { const pk = toHexPadded(str); const zpk = asEither ? createEitherTestUser(str) : encodeToPK(str); return [pk, zpk]; diff --git a/package.json b/package.json index c59411a3..b458c982 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "openzeppelin-compact", "description": "Secure Smart Contract library written in Compact for Midnight", "private": true, - "packageManager": "yarn@4.12.0", + "packageManager": "yarn@4.13.0", "workspaces": [ "contracts/", "packages/*" @@ -22,11 +22,11 @@ "glob": "~10.5.0" }, "dependencies": { - "@midnight-ntwrk/compact-runtime": "0.14.0" + "@midnight-ntwrk/compact-runtime": "0.15.0" }, "devDependencies": { "@biomejs/biome": "^2.4.7", - "@midnight-ntwrk/ledger-v7": "7.0.0", + "@midnight-ntwrk/ledger-v8": "8.0.2", "@midnight-ntwrk/zswap": "^4.0.0", "@types/node": "24.10.0", "ts-node": "^10.9.2", diff --git a/packages/compact/README.md b/packages/compact/README.md index e0e85cd7..b0c3d086 100644 --- a/packages/compact/README.md +++ b/packages/compact/README.md @@ -182,6 +182,51 @@ yarn test yarn clean ``` +### Testing unreleased versions of the Compact compiler + +These steps assume the `compact` cli is already installed. + +Clone the Compact repo and `cd` into the new directory +```bash +git clone https://github.com/LFDT-Minokawa/compact.git +``` + +Fetch tags (if local repo hasn't been updated in awhile) +```bash +git fetch -t +``` + +Checkout tagged commit +```bash +git checkout v0.30.0-rc.1 +``` + +Build the compactc-binary package locally. + +> **Note:** The default `nix build` target does not output all required binary files. Use the `compactc-binary` attribute explicitly as shown below to ensure the full set of binaries is produced. + +```bash +nix build .#compactc-binary +``` + +Run `install-local.sh` + +The script installs a locally built version of the Compact toolchain into a subdirectory of the Compact devtool's artifact directory + + **Usage**: ./install-local.sh [platform] + + **Steps**: + 1. Validates that the provided repo path exists and is a directory + 2. Reads the git tag at HEAD from that repo (strips the leading v) — fails if HEAD isn't tagged + 3. Detects the current platform (aarch64-darwin, x86_64-linux, etc.) from uname, or accepts one as the second argument — fails if unsupported + 4. Creates ~/.compact/versions/// and copies the built binaries from /result/bin/ into it + 5. Runs compact update to register the newly installed version with the toolchain manager + +Update `packages/compact/src/versions.ts` with the current compact and language version (eg `compact compile --language-version`) + +Rebuild compact package +`yarn build` + ## Output Example ```bash diff --git a/packages/compact/install-local.sh b/packages/compact/install-local.sh new file mode 100755 index 00000000..f5fc1299 --- /dev/null +++ b/packages/compact/install-local.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +set -euo pipefail + +REPO_PATH="${1:?Error: path to compact repo is required as the first argument}" + +if [[ ! -d "$REPO_PATH" ]]; then + echo "Error: '$REPO_PATH' is not a directory" >&2 + exit 1 +fi + +GIT_TAG=$(git -C "$REPO_PATH" describe --tags --exact-match 2>/dev/null | sed 's/^v//') + +if [[ -z "$GIT_TAG" ]]; then + echo "Error: no git tag found at HEAD in '$REPO_PATH'" >&2 + exit 1 +fi + +detect_platform() { + local arch os + arch=$(uname -m) + os=$(uname -s) + + case "$arch" in + arm64|aarch64) arch="aarch64" ;; + x86_64) arch="x86_64" ;; + *) echo "Error: unsupported architecture: $arch" >&2; exit 1 ;; + esac + + case "$os" in + Darwin) os="darwin" ;; + Linux) os="linux" ;; + *) echo "Error: unsupported OS: $os" >&2; exit 1 ;; + esac + + echo "${arch}-${os}" +} + +PLATFORM="${2:-$(detect_platform)}" + +case "$PLATFORM" in + aarch64-linux|aarch64-darwin|x86_64-linux|x86_64-darwin) ;; + *) echo "Error: unsupported platform '$PLATFORM'. Must be one of: aarch64-linux, aarch64-darwin, x86_64-linux, x86_64-darwin" >&2; exit 1 ;; +esac + +# compact-compiler tool requires the destination path version to match the reported compact version from the binary +REPORTED_COMPACT_VERSION=$("$REPO_PATH/result/bin/compactc" --version | tail -n1) +DEST="$HOME/.compact/versions/$REPORTED_COMPACT_VERSION/$PLATFORM" +mkdir -p "$DEST" +cp -r "$REPO_PATH/result/bin/." "$DEST/" +echo "Installed $GIT_TAG ($PLATFORM) to $DEST" +compact update $REPORTED_COMPACT_VERSION \ No newline at end of file diff --git a/packages/compact/src/versions.ts b/packages/compact/src/versions.ts index 827db1bd..6d83c2aa 100644 --- a/packages/compact/src/versions.ts +++ b/packages/compact/src/versions.ts @@ -1,2 +1,2 @@ -export const COMPACT_VERSION = '0.29.0'; -export const LANGUAGE_VERSION = '0.21.0'; +export const COMPACT_VERSION = '0.30.0'; +export const LANGUAGE_VERSION = '0.22.0'; diff --git a/packages/simulator/package.json b/packages/simulator/package.json index 2d539ac5..ca37a516 100644 --- a/packages/simulator/package.json +++ b/packages/simulator/package.json @@ -29,7 +29,7 @@ "clean": "git clean -fXd" }, "devDependencies": { - "@midnight-ntwrk/ledger-v7": "7.0.0", + "@midnight-ntwrk/ledger-v8": "8.0.2", "@midnight-ntwrk/zswap": "^4.0.0", "@tsconfig/node24": "^24.0.4", "@types/node": "24.10.0", @@ -38,6 +38,6 @@ "vitest": "^4.0.16" }, "dependencies": { - "@midnight-ntwrk/compact-runtime": "0.14.0" + "@midnight-ntwrk/compact-runtime": "0.15.0" } } diff --git a/packages/simulator/test/fixtures/sample-contracts/SampleZOwnable.compact b/packages/simulator/test/fixtures/sample-contracts/SampleZOwnable.compact index 6137167f..3a6daf55 100644 --- a/packages/simulator/test/fixtures/sample-contracts/SampleZOwnable.compact +++ b/packages/simulator/test/fixtures/sample-contracts/SampleZOwnable.compact @@ -1,7 +1,7 @@ // Sample contract for testing // DO NOT USE IN PRODUCTION!!! -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; import { Either, diff --git a/packages/simulator/test/fixtures/sample-contracts/Simple.compact b/packages/simulator/test/fixtures/sample-contracts/Simple.compact index 769fc0a9..394d224b 100644 --- a/packages/simulator/test/fixtures/sample-contracts/Simple.compact +++ b/packages/simulator/test/fixtures/sample-contracts/Simple.compact @@ -1,7 +1,7 @@ // Sample contract for testing // DO NOT USE IN PRODUCTION!!! -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; import { ZswapCoinPublicKey, ContractAddress, Either, Maybe } from CompactStandardLibrary; diff --git a/packages/simulator/test/fixtures/sample-contracts/Witness.compact b/packages/simulator/test/fixtures/sample-contracts/Witness.compact index fea28bab..fa0c93b0 100644 --- a/packages/simulator/test/fixtures/sample-contracts/Witness.compact +++ b/packages/simulator/test/fixtures/sample-contracts/Witness.compact @@ -1,7 +1,7 @@ // Sample contract for testing // DO NOT USE IN PRODUCTION!!! -pragma language_version >= 0.21.0; +pragma language_version >= 0.22.0; import { ZswapCoinPublicKey, ContractAddress, Either, Maybe } from CompactStandardLibrary; diff --git a/packages/simulator/test/fixtures/utils/address.ts b/packages/simulator/test/fixtures/utils/address.ts index 125be771..987d64d5 100644 --- a/packages/simulator/test/fixtures/utils/address.ts +++ b/packages/simulator/test/fixtures/utils/address.ts @@ -2,7 +2,7 @@ import { convertFieldToBytes, encodeCoinPublicKey, } from '@midnight-ntwrk/compact-runtime'; -import { encodeContractAddress } from '@midnight-ntwrk/ledger-v7'; +import { encodeContractAddress } from '@midnight-ntwrk/ledger-v8'; import type * as Compact from '../artifacts/SampleZOwnable/contract/index.js'; const PREFIX_ADDRESS = '0200'; @@ -71,12 +71,12 @@ const baseGeneratePubKeyPair = ( str: string, asEither: boolean, ): [ - string, - ( - | Compact.ZswapCoinPublicKey - | Compact.Either - ), -] => { + string, + ( + | Compact.ZswapCoinPublicKey + | Compact.Either + ), + ] => { const pk = toHexPadded(str); const zpk = asEither ? createEitherTestUser(str) : encodeToPK(str); return [pk, zpk]; diff --git a/yarn.lock b/yarn.lock index b2e7cf6c..16699750 100644 --- a/yarn.lock +++ b/yarn.lock @@ -334,28 +334,28 @@ __metadata: languageName: node linkType: hard -"@midnight-ntwrk/compact-runtime@npm:0.14.0": - version: 0.14.0 - resolution: "@midnight-ntwrk/compact-runtime@npm:0.14.0" +"@midnight-ntwrk/compact-runtime@npm:0.15.0": + version: 0.15.0 + resolution: "@midnight-ntwrk/compact-runtime@npm:0.15.0" dependencies: - "@midnight-ntwrk/onchain-runtime-v2": "npm:^2.0.0" + "@midnight-ntwrk/onchain-runtime-v3": "npm:^3.0.0" "@types/object-inspect": "npm:^1.8.1" object-inspect: "npm:^1.12.3" - checksum: 10/bba44d09770b172b7a5ba193f59d2ec57ca0dff2e3fd538326942e102e8cbe0b0cc1cb736e1f469afc74258517e7d25fc4dfa7f89a299aed900efc89f1eed3a7 + checksum: 10/12ac86a114a404386037547a6eb021694537c0636d24d281b101c5be75e3f5703bad9e0bbcc7ea2a39a96e167d200860049a9957dbb4dbdeb585c3fba696909c languageName: node linkType: hard -"@midnight-ntwrk/ledger-v7@npm:7.0.0": - version: 7.0.0 - resolution: "@midnight-ntwrk/ledger-v7@npm:7.0.0" - checksum: 10/cd04c6cdfb2e15192c10c3beb4a3b65f5c6419eedb0f52f65d67cb50ae6ecb492a1fa96e76479f2db2796d89512d4290cf26de4424e47378c90c743529ddb82a +"@midnight-ntwrk/ledger-v8@npm:8.0.2": + version: 8.0.2 + resolution: "@midnight-ntwrk/ledger-v8@npm:8.0.2" + checksum: 10/2c4b9a8cadbd22da8fc23652f598467b670a062b515a5a67de9a03ac09b597bf93ee36d1122f196933cf5c6897eca55d383e683959449d21fb9dd7f831bf3656 languageName: node linkType: hard -"@midnight-ntwrk/onchain-runtime-v2@npm:^2.0.0": - version: 2.0.0 - resolution: "@midnight-ntwrk/onchain-runtime-v2@npm:2.0.0" - checksum: 10/71b2b5e2270ce36fbdb63c0bd531f09f2de9151b286b6c7389966279750080b300893aef973621e438a934f9274277181cdf9bdc1350abc0e244fa892a145b19 +"@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 @@ -409,8 +409,8 @@ __metadata: version: 0.0.0-use.local resolution: "@openzeppelin-compact/contracts-simulator@workspace:packages/simulator" dependencies: - "@midnight-ntwrk/compact-runtime": "npm:0.14.0" - "@midnight-ntwrk/ledger-v7": "npm:7.0.0" + "@midnight-ntwrk/compact-runtime": "npm:0.15.0" + "@midnight-ntwrk/ledger-v8": "npm:8.0.2" "@midnight-ntwrk/zswap": "npm:^4.0.0" "@tsconfig/node24": "npm:^24.0.4" "@types/node": "npm:24.10.0" @@ -1529,8 +1529,8 @@ __metadata: resolution: "openzeppelin-compact@workspace:." dependencies: "@biomejs/biome": "npm:^2.4.7" - "@midnight-ntwrk/compact-runtime": "npm:0.14.0" - "@midnight-ntwrk/ledger-v7": "npm:7.0.0" + "@midnight-ntwrk/compact-runtime": "npm:0.15.0" + "@midnight-ntwrk/ledger-v8": "npm:8.0.2" "@midnight-ntwrk/zswap": "npm:^4.0.0" "@types/node": "npm:24.10.0" ts-node: "npm:^10.9.2"