diff --git a/buildkite/src/Constants/ContainerImages.dhall b/buildkite/src/Constants/ContainerImages.dhall index f687849ca59..9c06bf956f3 100644 --- a/buildkite/src/Constants/ContainerImages.dhall +++ b/buildkite/src/Constants/ContainerImages.dhall @@ -4,10 +4,10 @@ -- NOTE: minaToolchainBookworm is also used for building Ubuntu Jammy packages in CI { toolchainBase = "codaprotocol/ci-toolchain-base:v3", - minaToolchainBuster = "gcr.io/o1labs-192920/mina-toolchain@sha256:563fd7adda282fb3b6765c1811a3566e0fa0560f5d1c5270003483030d82d394", - minaToolchainBullseye = "gcr.io/o1labs-192920/mina-toolchain@sha256:49891eb46089f937f054afa464ce9868529981b92b30740cce32ef60957a1098", - minaToolchainBookworm = "gcr.io/o1labs-192920/mina-toolchain@sha256:49891eb46089f937f054afa464ce9868529981b92b30740cce32ef60957a1098", - minaToolchain = "gcr.io/o1labs-192920/mina-toolchain@sha256:49891eb46089f937f054afa464ce9868529981b92b30740cce32ef60957a1098", + minaToolchainBuster = "gcr.io/o1labs-192920/mina-toolchain@sha256:71173ebccf6af3e24d27262a5071f3dd0bd2c40b9de1c258422fdb9419507d3c", + minaToolchainBullseye = "gcr.io/o1labs-192920/mina-toolchain@sha256:9c4062e76fcd910ad60d3f1f58e2395f6a5e70f16fbef422442aedb70112ac73", + minaToolchainBookworm = "gcr.io/o1labs-192920/mina-toolchain@sha256:9c4062e76fcd910ad60d3f1f58e2395f6a5e70f16fbef422442aedb70112ac73", + minaToolchain = "gcr.io/o1labs-192920/mina-toolchain@sha256:9c4062e76fcd910ad60d3f1f58e2395f6a5e70f16fbef422442aedb70112ac73", delegationBackendToolchain = "gcr.io/o1labs-192920/delegation-backend-production@sha256:12ffd0a9016819c720687f440c7a46b8815f8d3ad06d306d342ee5f8dd4375f5", elixirToolchain = "elixir:1.10-alpine", nodeToolchain = "node:14.13.1-stretch-slim", diff --git a/dockerfiles/stages/1-build-deps b/dockerfiles/stages/1-build-deps index 8cef1afb96f..5202a830a59 100644 --- a/dockerfiles/stages/1-build-deps +++ b/dockerfiles/stages/1-build-deps @@ -20,11 +20,15 @@ ARG GO_VERSION=1.19.11 ARG GO_CAPNP_VERSION=v3.0.0-alpha.5 # Rust Version passed into rustup-init, can also be "stable", "nightly" or similar -ARG RUST_VERSION=1.63.0 +# This should stay in line with: +# - src/lib/crypto/kimchi_bindings/stubs/rust-toolchain.toml +# - src/lib/crypto/proof-systems/rust-toolchain.toml +ARG RUST_VERSION=1.72 # Nightly Rust Version used for WebAssembly builds -ARG RUST_NIGHTLY=2022-09-12 +# - src/lib/snarkyjs/src/bindings/kimchi/wasm/rust-toolchain.toml +ARG RUST_NIGHTLY=2023-09-01 # wasm-pack version -ARG WASM_PACK_VERSION=v0.10.3 +ARG WASM_PACK_VERSION=v0.12.1 # Rocksdb commit tag/branch to clone ARG ROCKSDB_VERSION=v5.18.4 diff --git a/nix/rust.nix b/nix/rust.nix index 51726d84501..4e8f9e24fad 100644 --- a/nix/rust.nix +++ b/nix/rust.nix @@ -8,10 +8,16 @@ let # override stdenv.targetPlatform here, if neccesary }; toolchainHashes = { - "1.67.0" = "sha256-riZUc+R9V35c/9e8KJUE+8pzpXyl0lRXt3ZkKlxoY0g="; - "nightly-2023-02-05" = - "sha256-MM8fdvveBEWzpwjH7u6C0F7qSWGPIMpfZWLgVxSqtxY="; - # copy this line with the correct toolchain name + "1.72" = "sha256-dxE7lmCFWlq0nl/wKcmYvpP9zqQbBitAQgZ1zx9Ooik="; + "nightly-2023-09-01" = "sha256-nfYc8EgbYl75yIIHmEEmpux4ZpwaIyuC+g6Hf4y1Hyk="; + # copy the placeholder line with the correct toolchain name when adding a new toolchain + # That is, + # 1. Put the correct version name; + # + # 2. Put the hash you get in line "got" from the error you obtain, which looks like + # error: hash mismatch in fixed-output derivation '/nix/store/XXXXX' + # specified: sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + # got: sha256-Q9UgzzvxLi4x9aWUJTn+/5EXekC98ODRU1TwhUs9RnY= "placeholder" = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; }; # rust-toolchain.toml -> { rustc, cargo, rust-analyzer, ... } @@ -150,8 +156,9 @@ in checkInputs = [ final.nodejs ]; - # other tests require it to be ran in the wasm-bindgen monorepo - cargoTestFlags = [ "--test=interface-types" ]; + # other tests, like --test=wasm-bindgen, require it to be ran in the + # wasm-bindgen monorepo + cargoTestFlags = [ "--test=interface-types --test=reference" ]; }; in rustPlatform.buildRustPackage { @@ -200,4 +207,3 @@ in cargoLock.lockFile = ../src/app/trace-tool/Cargo.lock; }; } - diff --git a/src/lib/crypto/kimchi_bindings/stubs/rust-toolchain.toml b/src/lib/crypto/kimchi_bindings/stubs/rust-toolchain.toml index 8ecda82d680..5a82cfe5ab4 100644 --- a/src/lib/crypto/kimchi_bindings/stubs/rust-toolchain.toml +++ b/src/lib/crypto/kimchi_bindings/stubs/rust-toolchain.toml @@ -11,4 +11,4 @@ # 4. figure out the hashes of the (now obsolete) docker images used in CI rules that are failing, grep for these hashes and replace them with the new hashes [toolchain] -channel = "1.67.0" +channel = "1.72" diff --git a/src/lib/crypto/kimchi_bindings/stubs/src/arkworks/bigint_256.rs b/src/lib/crypto/kimchi_bindings/stubs/src/arkworks/bigint_256.rs index 90570304d3c..e9f54f65219 100644 --- a/src/lib/crypto/kimchi_bindings/stubs/src/arkworks/bigint_256.rs +++ b/src/lib/crypto/kimchi_bindings/stubs/src/arkworks/bigint_256.rs @@ -239,12 +239,12 @@ mod tests { #[test] fn biguint() { let x = 10000.to_biguint().unwrap(); - println!("biguint.to_string: {}", x.to_string()); + println!("biguint.to_string: {}", x); let y = CamlBigInteger256::try_from(x.clone()).unwrap(); println!("camlbigint.to_string: {}", y.to_string()); //assert!(&y.to_string() == "10000"); let x2: BigUint = y.into(); assert!(x2 == x); - println!("biguint.to_string: {}", x2.to_string()); + println!("biguint.to_string: {}", x2); } } diff --git a/src/lib/crypto/proof-systems b/src/lib/crypto/proof-systems index a2a1c8d3b9a..970c3ef8ef3 160000 --- a/src/lib/crypto/proof-systems +++ b/src/lib/crypto/proof-systems @@ -1 +1 @@ -Subproject commit a2a1c8d3b9aee9e90438e15e6f652bcc30b0432c +Subproject commit 970c3ef8ef3b9a3f5d01aea51ed892ecd53b42b8 diff --git a/src/lib/snarkyjs b/src/lib/snarkyjs index 8a5df31be90..a7e2cc77ad5 160000 --- a/src/lib/snarkyjs +++ b/src/lib/snarkyjs @@ -1 +1 @@ -Subproject commit 8a5df31be90e07eb8f5b3f5785e8ad9b9f534503 +Subproject commit a7e2cc77ad586d589629f4781f7d7b5303915142