diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 252f8cc45..7501d4b24 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -242,7 +242,7 @@ jobs: unzip bitwuzla.zip && rm bitwuzla.zip echo BITWUZLA_PATH="$PWD/Bitwuzla-Win64-x86_64-static/bin" >> "$GITHUB_ENV" # evm - go install github.com/ethereum/go-ethereum/cmd/evm@latest + go install github.com/ethereum/go-ethereum/cmd/evm@v1.16.1 echo EVM_PATH="$(cygpath -u "$(go env GOPATH)/bin")" >> "$GITHUB_ENV" # cvc5 curl --retry 5 -fsSL https://github.com/cvc5/cvc5/releases/download/cvc5-1.3.0/cvc5-Win64-x86_64-static.zip -o cvc5.zip diff --git a/.github/workflows/check-dependencies.yml b/.github/workflows/check-dependencies.yml index a212cb64a..5c28620e1 100644 --- a/.github/workflows/check-dependencies.yml +++ b/.github/workflows/check-dependencies.yml @@ -21,12 +21,13 @@ jobs: - name: lookup nix versions id: nixpkgs run: | - NIXPKGS_REV="$(jq -r '.nodes.nixpkgs_2.locked.rev' < flake.lock)" + NIXPKGS_REV="$(jq -r '.nodes.nixpkgs.locked.rev' < flake.lock)" VERSIONS="$(nix eval -I "nixpkgs=https://github.com/NixOS/nixpkgs/archive/$NIXPKGS_REV.tar.gz" --impure --json \ - --expr 'let pkgs = (import {}); in { "secp256k1" = pkgs.secp256k1.version; "ff" = pkgs.libff.version; }')" + --expr 'let pkgs = (import {}); in { "secp256k1" = pkgs.secp256k1.version; "ff" = pkgs.libff.version; "geth" = pkgs.go-ethereum.version; }')" LIBFF_REV="$(jq .ff -r <<<"$VERSIONS")" LIBSECP256K1_REV="$(jq .secp256k1 -r <<<"$VERSIONS")" - { echo "nixpkgs=$NIXPKGS_REV"; echo "libff=$LIBFF_REV"; echo "libsecp256k1=$LIBSECP256K1_REV"; } >> "$GITHUB_OUTPUT" + GETH_VERSION="$(jq .geth -r <<<"$VERSIONS")" + { echo "nixpkgs=$NIXPKGS_REV"; echo "libff=$LIBFF_REV"; echo "libsecp256k1=$LIBSECP256K1_REV"; echo "geth=$GETH_VERSION"; } >> "$GITHUB_OUTPUT" - name: lookup local versions id: local run: | @@ -36,6 +37,7 @@ jobs: SOLIDITY_REV_BUILD="$(grep -A2 'repository: argotorg/solidity' .github/workflows/build.yml | grep 'ref:' | tr -d ' ' | cut -f2 -d:)" SOLC_VERSION_FLAKE="$(grep -oP 'solc_\K[0-9_]+' flake.nix | head -1 | tr '_' '.')" SOLC_VERSION_BUILD="$(grep -oP 'solidity/releases/download/v\K[0-9.]+' .github/workflows/build.yml)" + GETH_VERSION_BUILD="$(grep -oP 'go-ethereum/cmd/evm@v\K[0-9.]+' .github/workflows/build.yml)" { echo "libff=$LIBFF_REV" echo "libsecp256k1=$LIBSECP256K1_REV" @@ -43,6 +45,7 @@ jobs: echo "solidity_rev_build=$SOLIDITY_REV_BUILD" echo "solc_version_flake=$SOLC_VERSION_FLAKE" echo "solc_version_build=$SOLC_VERSION_BUILD" + echo "geth=$GETH_VERSION_BUILD" } >> "$GITHUB_OUTPUT" - name: compare versions run: | @@ -54,6 +57,10 @@ jobs: echo "libsecp256k1 versions do not match! nix=$LIBSECP256K1_NIXPKGS local=$LIBSECP256K1_LOCAL" exit 1 fi + if [ "$GETH_NIXPKGS" != "$GETH_LOCAL" ]; then + echo "go-ethereum versions do not match! nix=$GETH_NIXPKGS local=$GETH_LOCAL" + exit 1 + fi if [ "$SOLIDITY_REV_FLAKE" != "$SOLIDITY_REV_BUILD" ]; then echo "solidity repo revisions do not match! flake.lock=$SOLIDITY_REV_FLAKE build.yml=$SOLIDITY_REV_BUILD" exit 1 @@ -67,6 +74,8 @@ jobs: LIBFF_LOCAL: ${{ steps.local.outputs.libff }} LIBSECP256K1_NIXPKGS: ${{ steps.nixpkgs.outputs.libsecp256k1 }} LIBSECP256K1_LOCAL: ${{ steps.local.outputs.libsecp256k1 }} + GETH_NIXPKGS: ${{ steps.nixpkgs.outputs.geth }} + GETH_LOCAL: ${{ steps.local.outputs.geth }} SOLIDITY_REV_FLAKE: ${{ steps.local.outputs.solidity_rev_flake }} SOLIDITY_REV_BUILD: ${{ steps.local.outputs.solidity_rev_build }} SOLC_VERSION_FLAKE: ${{ steps.local.outputs.solc_version_flake }} diff --git a/flake.lock b/flake.lock index a13fe8ddc..356500a12 100644 --- a/flake.lock +++ b/flake.lock @@ -2,8 +2,12 @@ "nodes": { "empty-smt-solver": { "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { "lastModified": 1751304960, @@ -38,57 +42,6 @@ "type": "github" } }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { - "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_4": { - "inputs": { - "systems": "systems_3" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "forge-std": { "flake": false, "locked": { @@ -107,8 +60,12 @@ }, "foundry": { "inputs": { - "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_2" + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { "lastModified": 1752867797, @@ -126,38 +83,6 @@ } }, "nixpkgs": { - "locked": { - "lastModified": 1751180975, - "narHash": "sha256-BKk4yDiXr4LdF80OTVqYJ53Q74rOcA/82EClXug8xsY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "a48741b083d4f36dd79abd9f760c84da6b4dc0e5", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1751180975, - "narHash": "sha256-BKk4yDiXr4LdF80OTVqYJ53Q74rOcA/82EClXug8xsY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "a48741b083d4f36dd79abd9f760c84da6b4dc0e5", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1755175540, "narHash": "sha256-V0j2S1r25QnbqBLzN2Rg/dKKil789bI3P3id7bDPVc4=", @@ -176,10 +101,10 @@ "root": { "inputs": { "empty-smt-solver": "empty-smt-solver", - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils", "forge-std": "forge-std", "foundry": "foundry", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs", "solc-pkgs": "solc-pkgs", "solidity": "solidity" } @@ -198,7 +123,9 @@ }, "solc-pkgs": { "inputs": { - "flake-utils": "flake-utils_4", + "flake-utils": [ + "flake-utils" + ], "nixpkgs": [ "nixpkgs" ], @@ -249,36 +176,6 @@ "repo": "default", "type": "github" } - }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 797cfb0da..8752b5688 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,11 @@ inputs = { flake-utils.url = "github:numtide/flake-utils"; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; - foundry.url = "github:shazow/foundry.nix/stable"; + foundry = { + url = "github:shazow/foundry.nix/stable"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "flake-utils"; + }; solidity = { url = "github:argotorg/solidity/fd3a22656ebe9c91a96ebd846ab7699b5f2e053c"; flake = false; @@ -15,11 +19,13 @@ }; empty-smt-solver = { url = "github:msooseth/empty-smt-solver/74bd120fdb730fde8e44243305e669e5e8a3e02a"; - flake = true; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "flake-utils"; }; solc-pkgs = { url = "github:hellwolf/solc.nix"; inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "flake-utils"; }; };