From 79e80bc2767bac131a0cdf936aac7972e3a01fea Mon Sep 17 00:00:00 2001 From: Jarred Parr Date: Fri, 7 Mar 2025 08:28:14 -0700 Subject: [PATCH 1/5] Renaming Sequencer in Docs (#2720) * init * update link * fix docs link * better link * fix other docs link --- README.md | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 4dbe498290..f9a1c30984 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,18 @@ -# Espresso Sequencer +# Espresso Network -[![Build](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/build.yml/badge.svg)](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/build.yml) -[![Test](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/test.yml/badge.svg)](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/test.yml) -[![Docs rust](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/doc-rust.yml/badge.svg)](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/doc-rust.yml) -[![Contracts](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/contracts.yml/badge.svg)](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/contracts.yml) -[![Lint](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/lint.yml/badge.svg)](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/lint.yml) -[![Audit](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/audit.yml/badge.svg)](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/audit.yml) -[![Ubuntu](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/ubuntu-install-without-nix.yml/badge.svg)](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/ubuntu-install-without-nix.yml) -[![Build without lockfile](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/build-without-lockfile.yml/badge.svg)](https://github.com/EspressoSystems/espresso-sequencer/actions/workflows/build-without-lockfile.yml) -[![Coverage Status](https://coveralls.io/repos/github/EspressoSystems/espresso-sequencer/badge.svg?branch=main)](https://coveralls.io/github/EspressoSystems/espresso-sequencer?branch=main) +[![Build](https://github.com/EspressoSystems/espresso-network/actions/workflows/build.yml/badge.svg)](https://github.com/EspressoSystems/espresso-network/actions/workflows/build.yml) +[![Test](https://github.com/EspressoSystems/espresso-network/actions/workflows/test.yml/badge.svg)](https://github.com/EspressoSystems/espresso-network/actions/workflows/test.yml) +[![Docs rust](https://github.com/EspressoSystems/espresso-network/actions/workflows/doc-rust.yml/badge.svg)](https://github.com/EspressoSystems/espresso-network/actions/workflows/doc-rust.yml) +[![Contracts](https://github.com/EspressoSystems/espresso-network/actions/workflows/contracts.yml/badge.svg)](https://github.com/EspressoSystems/espresso-network/actions/workflows/contracts.yml) +[![Lint](https://github.com/EspressoSystems/espresso-network/actions/workflows/lint.yml/badge.svg)](https://github.com/EspressoSystems/espresso-network/actions/workflows/lint.yml) +[![Audit](https://github.com/EspressoSystems/espresso-network/actions/workflows/audit.yml/badge.svg)](https://github.com/EspressoSystems/espresso-network/actions/workflows/audit.yml) +[![Ubuntu](https://github.com/EspressoSystems/espresso-network/actions/workflows/ubuntu-install-without-nix.yml/badge.svg)](https://github.com/EspressoSystems/espresso-network/actions/workflows/ubuntu-install-without-nix.yml) +[![Build without lockfile](https://github.com/EspressoSystems/espresso-network/actions/workflows/build-without-lockfile.yml/badge.svg)](https://github.com/EspressoSystems/espresso-network/actions/workflows/build-without-lockfile.yml) +[![Coverage Status](https://coveralls.io/repos/github/EspressoSystems/espresso-network/badge.svg?branch=main)](https://coveralls.io/github/EspressoSystems/espresso-network?branch=main) -The Espresso Sequencer offers rollups credible neutrality and enhanced interoperability, without compromising on scale. -Consisting of a data availability solution and a decentralized network of nodes that sequences transactions, layer-2 -rollups can leverage the Espresso Sequencer to give developers and end users fast confirmations, low (and fair) fees, -and robust infrastructure. +The Espresso Network is the global confirmation layer for rollups in the Ethereum ecosystem. Espresso's [global confirmation layer(GCL)](https://docs.espressosys.com/network) provides agreement on inputs to a collection of composable blockchains, providing a high trust, fast, and verifiable way to process inputs on any chain, providing fast confirmations in return. -[Official Documentation](https://docs.espressosys.com/sequencer/espresso-sequencer-architecture/readme) +[Official Documentation](https://docs.espressosys.com/network/) ### Architecture @@ -36,7 +33,7 @@ a dockerized Espresso Sequencer network with an example Layer 2 rollup applicati # Development -- Obtain code: `git clone git@github.com:EspressoSystems/espresso-sequencer`. +- Obtain code: `git clone git@github.com:EspressoSystems/espresso-network`. - Make sure [nix](https://nixos.org/download.html) is installed. - Activate the environment with `nix-shell`, or `nix develop`, or `direnv allow` if using [direnv](https://direnv.net/). - For installation without nix please see [ubuntu.md](./doc/ubuntu.md). From 1161ba2fa9255be6b983f8a7e0703e5aa0dcd03f Mon Sep 17 00:00:00 2001 From: Jarred Parr Date: Fri, 7 Mar 2025 08:28:27 -0700 Subject: [PATCH 2/5] Update CODEOWNERS (#2726) * update CODEOWNERS * add morew hotshot members --- CODEOWNERS | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/CODEOWNERS b/CODEOWNERS index 14c5ed8923..ebe3f7d986 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -2,8 +2,4 @@ # later match takes precedence, they will be requested for review when someone # opens a pull request. -* @nomaxg @philippecamacho @ImJeremyHe @sveitser @jbearer @tbro @imabdulbasit - -# Dependabot PRs -*.toml @nomaxg @philippecamacho @ImJeremyHe @sveitser -*.lock @nomaxg @philippecamacho @ImJeremyHe @sveitser +* @sveitser @jbearer @tbro @imabdulbasit @ss-es @pls148 @bfish713 @rob-maron @lukaszrzasik From 2ee151328da8753aece506dad42782529b083e8e Mon Sep 17 00:00:00 2001 From: Chengyu Lin Date: Fri, 7 Mar 2025 10:39:16 -0500 Subject: [PATCH 3/5] Fix new vid panic on empty payload (#2733) * fix panic on empty payload * better fix * typo --- hotshot-types/src/data/ns_table.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hotshot-types/src/data/ns_table.rs b/hotshot-types/src/data/ns_table.rs index c645c36957..1f9ac59b6f 100644 --- a/hotshot-types/src/data/ns_table.rs +++ b/hotshot-types/src/data/ns_table.rs @@ -29,10 +29,15 @@ pub fn parse_ns_table(payload_byte_len: usize, bytes: &[u8]) -> Vec if num_entries != bytes.len().saturating_sub(NUM_NSS_BYTE_LEN) / NS_ID_BYTE_LEN.saturating_add(NS_OFFSET_BYTE_LEN) + || (num_entries == 0 && payload_byte_len != 0) { tracing::warn!("Failed to parse the metadata as namespace table. Use a single namespace table instead."); return vec![(0..payload_byte_len)]; } + // Early breaks for empty payload and namespace table + if num_entries == 0 { + return vec![(0..payload_byte_len)]; + } let mut l = 0; for i in 0..num_entries { let offset = NUM_NSS_BYTE_LEN + i * (NS_ID_BYTE_LEN + NS_OFFSET_BYTE_LEN) + NS_ID_BYTE_LEN; From c4cca68b163b12e8a76535f5d0ddfdba2666dabe Mon Sep 17 00:00:00 2001 From: Mathis Date: Fri, 7 Mar 2025 17:07:01 +0100 Subject: [PATCH 4/5] CI: features cleanup (#2735) * CI: features cleanup - Move commands to justfile - Use matrix: run without `--tests` or with - Only check pairs of features. This tests that each feature works with each other feature. This should cover most problems while hopefully keeping runtime reasable. - Fix sqlite-unbundled feature in nix-shell. * fix typo --- .github/workflows/cargo-features.yml | 27 +++++++++++++-------------- flake.nix | 3 +++ justfile | 25 +++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 14 deletions(-) diff --git a/.github/workflows/cargo-features.yml b/.github/workflows/cargo-features.yml index 208ba94fe8..9f6f115717 100644 --- a/.github/workflows/cargo-features.yml +++ b/.github/workflows/cargo-features.yml @@ -20,8 +20,14 @@ concurrency: jobs: cargo-features: runs-on: ubuntu-latest + strategy: + matrix: + command: + - just check-features-ci + - just check-features-ci --tests steps: - uses: taiki-e/install-action@cargo-hack + - uses: taiki-e/install-action@just - name: Checkout Repository uses: actions/checkout@v4 @@ -29,25 +35,18 @@ jobs: - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@main with: - tool-cache: false android: true - dotnet: true - haskell: true + tool-cache: false + dotnet: false + haskell: false large-packages: false docker-images: false swap-storage: false # Note: this job doesn't use a cache on purpose because it mostly compiles # the crates in this repo over and over again with different feature - # combinations. Adding caching would not speed it up much and further - # contribute to our cache usage. - - # Includes checks for `--no-default-features` and `--all-features` as well - # as each individual feature enabled. - - name: Check compilation for feature combinations - run: | - cargo hack check --feature-powerset --exclude hotshot --exclude hotshot-builder-api --exclude hotshot-task-impls --exclude hotshot-macros --exclude hotshot-events-service --exclude hotshot-utils --exclude hotshot-orchestrator --exclude hotshot-query-service --exclude hotshot-stake-table --exclude hotshot-state-prover --exclude hotshot-task --exclude hotshot-testing --exclude hotshot-types --exclude hotshot-libp2p-networking --exclude hotshot-contract-adapter --exclude hotshot-example-types --exclude vid - - - name: Check compilation for feature combinations (--tests) + # combinations. The target directory gets really large. Adding caching + # would not speed it up much and further contribute to our cache usage. + - name: Check compilation feature combinations run: | - cargo hack check --feature-powerset --tests --exclude hotshot --exclude hotshot-builder-api --exclude hotshot-task-impls --exclude hotshot-macros --exclude hotshot-events-service --exclude hotshot-utils --exclude hotshot-orchestrator --exclude hotshot-query-service --exclude hotshot-stake-table --exclude hotshot-state-prover --exclude hotshot-task --exclude hotshot-testing --exclude hotshot-types --exclude hotshot-libp2p-networking --exclude hotshot-contract-adapter --exclude hotshot-example-types --exclude vid + ${{ matrix.command }} diff --git a/flake.nix b/flake.nix index f6f5f83242..32619e684a 100644 --- a/flake.nix +++ b/flake.nix @@ -254,6 +254,9 @@ # Add rust binaries to PATH for native demo export PATH="$PWD/$CARGO_TARGET_DIR/debug:$PATH" + + # Needed to compile with the sqlite-unbundled feature + export LIBCLANG_PATH="${pkgs.llvmPackages.libclang.lib}/lib"; '' + self.checks.${system}.pre-commit-check.shellHook; RUST_SRC_PATH = "${stableToolchain}/lib/rustlib/src/rust/library"; FOUNDRY_SOLC = "${solc}/bin/solc"; diff --git a/justfile b/justfile index 8ecf0302c4..739b4b544f 100644 --- a/justfile +++ b/justfile @@ -89,6 +89,31 @@ clippy: check-features *args: cargo hack check --each-feature {{args}} +check-features-ci *args: + # check each pair of features plus `default` and `--no-default-features` + cargo hack check --feature-powerset \ + --depth 2 \ + --exclude contract-bindings-alloy \ + --exclude contract-bindings-ethers \ + --exclude hotshot \ + --exclude hotshot-builder-api \ + --exclude hotshot-contract-adapter \ + --exclude hotshot-events-service \ + --exclude hotshot-example-types \ + --exclude hotshot-libp2p-networking \ + --exclude hotshot-macros \ + --exclude hotshot-orchestrator \ + --exclude hotshot-query-service \ + --exclude hotshot-stake-table \ + --exclude hotshot-state-prover \ + --exclude hotshot-task \ + --exclude hotshot-task-impls \ + --exclude hotshot-testing \ + --exclude hotshot-types \ + --exclude hotshot-utils \ + --exclude vid \ + {{args}} + # Helpful shortcuts for local development dev-orchestrator: target/release/orchestrator -p 8080 -n 1 From ccde27cf5753eb486bc58861b9f3c0795460c7b5 Mon Sep 17 00:00:00 2001 From: Mathis Date: Fri, 7 Mar 2025 17:24:51 +0100 Subject: [PATCH 5/5] Remove foundry patch (#2736) * Remove foundry patch The patch in alloy is now included in foundry. - Create a separate dev shell with the legacy version of foundry that we need to generate ethers bindings. - Switch to foundry.nix overlay because the nixpkgs version is likely to lag a lot because foundry doesn't properly version their code. - Enable the optimizer. This used to be the default but this was changed in foundry recently. * CI: nuke contracts rust cache if nix files change I think this sometimes leads to weird compilation errors. * use glob * revert change to use openssl 3.0 in dev env This causes some issues when linking against libcurl which is needed by some of our rust code. So we need to do something smarter. This will break the script to build docker containers locally with nix but shouldn't break anything else. We could use openssl_3 in the nix dev env everywhere but this would lead to a huge number of nix derivations missing the upstream binary cache and therefore would be really annoying. I think this will unblock the CI and we can figure out what to do from here. * foundry: allow internal reverts This is described here: https://book.getfoundry.sh/cheatcodes/expect-revert#error --- .github/workflows/contracts.yml | 2 +- contract-bindings-alloy/src/erc1967proxy.rs | 9 ++ contract-bindings-alloy/src/feecontract.rs | 53 +++++++ contract-bindings-alloy/src/iplonkverifier.rs | 52 +++++++ contract-bindings-alloy/src/lib.rs | 18 +-- contract-bindings-alloy/src/lightclient.rs | 132 ++++++++++++++++ .../src/lightclientarbitrum.rs | 132 ++++++++++++++++ .../src/lightclientmock.rs | 146 ++++++++++++++++++ .../src/permissionedstaketable.rs | 40 +++++ contract-bindings-alloy/src/plonkverifier.rs | 55 +++++++ contract-bindings-alloy/src/plonkverifier2.rs | 57 +++++++ contracts/test/PlonkVerifier.t.sol | 6 +- contracts/test/PolynomialEval.t.sol | 1 + flake.lock | 103 +++++++++--- flake.nix | 50 +++--- foundry.toml | 3 + justfile | 2 +- 17 files changed, 807 insertions(+), 54 deletions(-) diff --git a/.github/workflows/contracts.yml b/.github/workflows/contracts.yml index 29f9684974..241c570f00 100644 --- a/.github/workflows/contracts.yml +++ b/.github/workflows/contracts.yml @@ -45,7 +45,7 @@ jobs: - uses: Swatinem/rust-cache@v2 name: Enable Rust Caching with: - prefix-key: v2-rust + prefix-key: v2-rust-${{ hashFiles('flake.*') }} - name: Check toolchain versions run: nix develop --accept-flake-config -c ./scripts/show-toolchain-versions diff --git a/contract-bindings-alloy/src/erc1967proxy.rs b/contract-bindings-alloy/src/erc1967proxy.rs index 2f9998b31e..e4b265f08a 100644 --- a/contract-bindings-alloy/src/erc1967proxy.rs +++ b/contract-bindings-alloy/src/erc1967proxy.rs @@ -123,6 +123,7 @@ pub mod ERC1967Proxy { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct AddressEmptyCode { + #[allow(missing_docs)] pub target: alloy::sol_types::private::Address, } #[allow( @@ -189,6 +190,7 @@ pub mod ERC1967Proxy { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct ERC1967InvalidImplementation { + #[allow(missing_docs)] pub implementation: alloy::sol_types::private::Address, } #[allow( @@ -479,7 +481,9 @@ pub mod ERC1967Proxy { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct constructorCall { + #[allow(missing_docs)] pub implementation: alloy::sol_types::private::Address, + #[allow(missing_docs)] pub _data: alloy::sol_types::private::Bytes, } const _: () = { @@ -550,9 +554,13 @@ pub mod ERC1967Proxy { }; ///Container for all the [`ERC1967Proxy`](self) custom errors. pub enum ERC1967ProxyErrors { + #[allow(missing_docs)] AddressEmptyCode(AddressEmptyCode), + #[allow(missing_docs)] ERC1967InvalidImplementation(ERC1967InvalidImplementation), + #[allow(missing_docs)] ERC1967NonPayable(ERC1967NonPayable), + #[allow(missing_docs)] FailedInnerCall(FailedInnerCall), } #[automatically_derived] @@ -710,6 +718,7 @@ pub mod ERC1967Proxy { } ///Container for all the [`ERC1967Proxy`](self) events. pub enum ERC1967ProxyEvents { + #[allow(missing_docs)] Upgraded(Upgraded), } #[automatically_derived] diff --git a/contract-bindings-alloy/src/feecontract.rs b/contract-bindings-alloy/src/feecontract.rs index 0eedfa5680..87689f8538 100644 --- a/contract-bindings-alloy/src/feecontract.rs +++ b/contract-bindings-alloy/src/feecontract.rs @@ -474,6 +474,7 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct AddressEmptyCode { + #[allow(missing_docs)] pub target: alloy::sol_types::private::Address, } #[allow( @@ -660,6 +661,7 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct ERC1967InvalidImplementation { + #[allow(missing_docs)] pub implementation: alloy::sol_types::private::Address, } #[allow( @@ -1148,6 +1150,7 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct OwnableInvalidOwner { + #[allow(missing_docs)] pub owner: alloy::sol_types::private::Address, } #[allow( @@ -1214,6 +1217,7 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct OwnableUnauthorizedAccount { + #[allow(missing_docs)] pub account: alloy::sol_types::private::Address, } #[allow( @@ -1340,6 +1344,7 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct UUPSUnsupportedProxiableUUID { + #[allow(missing_docs)] pub slot: alloy::sol_types::private::FixedBytes<32>, } #[allow( @@ -2095,6 +2100,7 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct UPGRADE_INTERFACE_VERSIONReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::String, } #[allow( @@ -2201,12 +2207,14 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct balancesCall { + #[allow(missing_docs)] pub user: alloy::sol_types::private::Address, } ///Container type for the return parameters of the [`balances(address)`](balancesCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct balancesReturn { + #[allow(missing_docs)] pub amount: alloy::sol_types::private::primitives::aliases::U256, } #[allow( @@ -2317,6 +2325,7 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct depositCall { + #[allow(missing_docs)] pub user: alloy::sol_types::private::Address, } ///Container type for the return parameters of the [`deposit(address)`](depositCall) function. @@ -2435,8 +2444,11 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct getVersionReturn { + #[allow(missing_docs)] pub majorVersion: u8, + #[allow(missing_docs)] pub minorVersion: u8, + #[allow(missing_docs)] pub patchVersion: u8, } #[allow( @@ -2555,6 +2567,7 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct initializeCall { + #[allow(missing_docs)] pub multisig: alloy::sol_types::private::Address, } ///Container type for the return parameters of the [`initialize(address)`](initializeCall) function. @@ -2673,6 +2686,7 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct maxDepositAmountReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::primitives::aliases::U256, } #[allow( @@ -2783,6 +2797,7 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct minDepositAmountReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::primitives::aliases::U256, } #[allow( @@ -2893,6 +2908,7 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct ownerReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::Address, } #[allow( @@ -3003,6 +3019,7 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct proxiableUUIDReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::FixedBytes<32>, } #[allow( @@ -3217,6 +3234,7 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct transferOwnershipCall { + #[allow(missing_docs)] pub newOwner: alloy::sol_types::private::Address, } ///Container type for the return parameters of the [`transferOwnership(address)`](transferOwnershipCall) function. @@ -3331,7 +3349,9 @@ pub mod FeeContract { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct upgradeToAndCallCall { + #[allow(missing_docs)] pub newImplementation: alloy::sol_types::private::Address, + #[allow(missing_docs)] pub data: alloy::sol_types::private::Bytes, } ///Container type for the return parameters of the [`upgradeToAndCall(address,bytes)`](upgradeToAndCallCall) function. @@ -3456,17 +3476,29 @@ pub mod FeeContract { }; ///Container for all the [`FeeContract`](self) function calls. pub enum FeeContractCalls { + #[allow(missing_docs)] UPGRADE_INTERFACE_VERSION(UPGRADE_INTERFACE_VERSIONCall), + #[allow(missing_docs)] balances(balancesCall), + #[allow(missing_docs)] deposit(depositCall), + #[allow(missing_docs)] getVersion(getVersionCall), + #[allow(missing_docs)] initialize(initializeCall), + #[allow(missing_docs)] maxDepositAmount(maxDepositAmountCall), + #[allow(missing_docs)] minDepositAmount(minDepositAmountCall), + #[allow(missing_docs)] owner(ownerCall), + #[allow(missing_docs)] proxiableUUID(proxiableUUIDCall), + #[allow(missing_docs)] renounceOwnership(renounceOwnershipCall), + #[allow(missing_docs)] transferOwnership(transferOwnershipCall), + #[allow(missing_docs)] upgradeToAndCall(upgradeToAndCallCall), } #[automatically_derived] @@ -3784,20 +3816,35 @@ pub mod FeeContract { } ///Container for all the [`FeeContract`](self) custom errors. pub enum FeeContractErrors { + #[allow(missing_docs)] AddressEmptyCode(AddressEmptyCode), + #[allow(missing_docs)] DepositTooLarge(DepositTooLarge), + #[allow(missing_docs)] DepositTooSmall(DepositTooSmall), + #[allow(missing_docs)] ERC1967InvalidImplementation(ERC1967InvalidImplementation), + #[allow(missing_docs)] ERC1967NonPayable(ERC1967NonPayable), + #[allow(missing_docs)] FailedInnerCall(FailedInnerCall), + #[allow(missing_docs)] FunctionDoesNotExist(FunctionDoesNotExist), + #[allow(missing_docs)] InvalidInitialization(InvalidInitialization), + #[allow(missing_docs)] InvalidUserAddress(InvalidUserAddress), + #[allow(missing_docs)] NoFunctionCalled(NoFunctionCalled), + #[allow(missing_docs)] NotInitializing(NotInitializing), + #[allow(missing_docs)] OwnableInvalidOwner(OwnableInvalidOwner), + #[allow(missing_docs)] OwnableUnauthorizedAccount(OwnableUnauthorizedAccount), + #[allow(missing_docs)] UUPSUnauthorizedCallContext(UUPSUnauthorizedCallContext), + #[allow(missing_docs)] UUPSUnsupportedProxiableUUID(UUPSUnsupportedProxiableUUID), } #[automatically_derived] @@ -4209,11 +4256,17 @@ pub mod FeeContract { } ///Container for all the [`FeeContract`](self) events. pub enum FeeContractEvents { + #[allow(missing_docs)] Deposit(Deposit), + #[allow(missing_docs)] Initialized(Initialized), + #[allow(missing_docs)] Log(Log), + #[allow(missing_docs)] OwnershipTransferred(OwnershipTransferred), + #[allow(missing_docs)] Upgrade(Upgrade), + #[allow(missing_docs)] Upgraded(Upgraded), } #[automatically_derived] diff --git a/contract-bindings-alloy/src/iplonkverifier.rs b/contract-bindings-alloy/src/iplonkverifier.rs index d4af84cd19..39e61d1e74 100644 --- a/contract-bindings-alloy/src/iplonkverifier.rs +++ b/contract-bindings-alloy/src/iplonkverifier.rs @@ -256,7 +256,9 @@ pub mod BN254 { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct G1Point { + #[allow(missing_docs)] pub x: ::RustType, + #[allow(missing_docs)] pub y: ::RustType, } #[allow( @@ -1283,28 +1285,51 @@ pub mod IPlonkVerifier { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct PlonkProof { + #[allow(missing_docs)] pub wire0: ::RustType, + #[allow(missing_docs)] pub wire1: ::RustType, + #[allow(missing_docs)] pub wire2: ::RustType, + #[allow(missing_docs)] pub wire3: ::RustType, + #[allow(missing_docs)] pub wire4: ::RustType, + #[allow(missing_docs)] pub prodPerm: ::RustType, + #[allow(missing_docs)] pub split0: ::RustType, + #[allow(missing_docs)] pub split1: ::RustType, + #[allow(missing_docs)] pub split2: ::RustType, + #[allow(missing_docs)] pub split3: ::RustType, + #[allow(missing_docs)] pub split4: ::RustType, + #[allow(missing_docs)] pub zeta: ::RustType, + #[allow(missing_docs)] pub zetaOmega: ::RustType, + #[allow(missing_docs)] pub wireEval0: ::RustType, + #[allow(missing_docs)] pub wireEval1: ::RustType, + #[allow(missing_docs)] pub wireEval2: ::RustType, + #[allow(missing_docs)] pub wireEval3: ::RustType, + #[allow(missing_docs)] pub wireEval4: ::RustType, + #[allow(missing_docs)] pub sigmaEval0: ::RustType, + #[allow(missing_docs)] pub sigmaEval1: ::RustType, + #[allow(missing_docs)] pub sigmaEval2: ::RustType, + #[allow(missing_docs)] pub sigmaEval3: ::RustType, + #[allow(missing_docs)] pub prodPermZetaOmegaEval: ::RustType, } #[allow( @@ -1830,27 +1855,49 @@ pub mod IPlonkVerifier { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct VerifyingKey { + #[allow(missing_docs)] pub domainSize: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub numInputs: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub sigma0: ::RustType, + #[allow(missing_docs)] pub sigma1: ::RustType, + #[allow(missing_docs)] pub sigma2: ::RustType, + #[allow(missing_docs)] pub sigma3: ::RustType, + #[allow(missing_docs)] pub sigma4: ::RustType, + #[allow(missing_docs)] pub q1: ::RustType, + #[allow(missing_docs)] pub q2: ::RustType, + #[allow(missing_docs)] pub q3: ::RustType, + #[allow(missing_docs)] pub q4: ::RustType, + #[allow(missing_docs)] pub qM12: ::RustType, + #[allow(missing_docs)] pub qM34: ::RustType, + #[allow(missing_docs)] pub qO: ::RustType, + #[allow(missing_docs)] pub qC: ::RustType, + #[allow(missing_docs)] pub qH1: ::RustType, + #[allow(missing_docs)] pub qH2: ::RustType, + #[allow(missing_docs)] pub qH3: ::RustType, + #[allow(missing_docs)] pub qH4: ::RustType, + #[allow(missing_docs)] pub qEcc: ::RustType, + #[allow(missing_docs)] pub g2LSB: alloy::sol_types::private::FixedBytes<32>, + #[allow(missing_docs)] pub g2MSB: alloy::sol_types::private::FixedBytes<32>, } #[allow( @@ -2419,14 +2466,18 @@ pub mod IPlonkVerifier { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct verifyCall { + #[allow(missing_docs)] pub verifyingKey: ::RustType, + #[allow(missing_docs)] pub publicInput: [alloy::sol_types::private::primitives::aliases::U256; 8usize], + #[allow(missing_docs)] pub proof: ::RustType, } ///Container type for the return parameters of the [`verify((uint256,uint256,(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),bytes32,bytes32),uint256[8],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))`](verifyCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct verifyReturn { + #[allow(missing_docs)] pub _0: bool, } #[allow( @@ -2557,6 +2608,7 @@ pub mod IPlonkVerifier { }; ///Container for all the [`IPlonkVerifier`](self) function calls. pub enum IPlonkVerifierCalls { + #[allow(missing_docs)] verify(verifyCall), } #[automatically_derived] diff --git a/contract-bindings-alloy/src/lib.rs b/contract-bindings-alloy/src/lib.rs index ec4b26153a..256939ee1c 100644 --- a/contract-bindings-alloy/src/lib.rs +++ b/contract-bindings-alloy/src/lib.rs @@ -3,12 +3,12 @@ //! This is autogenerated code. //! Do not manually edit these files. //! These files may be overwritten by the codegen system at any time. -pub mod erc1967proxy; -pub mod feecontract; -pub mod iplonkverifier; -pub mod lightclient; -pub mod lightclientarbitrum; -pub mod lightclientmock; -pub mod permissionedstaketable; -pub mod plonkverifier; -pub mod plonkverifier2; +pub mod r#erc1967proxy; +pub mod r#feecontract; +pub mod r#iplonkverifier; +pub mod r#lightclient; +pub mod r#lightclientarbitrum; +pub mod r#lightclientmock; +pub mod r#permissionedstaketable; +pub mod r#plonkverifier; +pub mod r#plonkverifier2; diff --git a/contract-bindings-alloy/src/lightclient.rs b/contract-bindings-alloy/src/lightclient.rs index a2e27b0672..c9f47e3da6 100644 --- a/contract-bindings-alloy/src/lightclient.rs +++ b/contract-bindings-alloy/src/lightclient.rs @@ -256,7 +256,9 @@ pub mod BN254 { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct G1Point { + #[allow(missing_docs)] pub x: ::RustType, + #[allow(missing_docs)] pub y: ::RustType, } #[allow( @@ -568,28 +570,51 @@ pub mod IPlonkVerifier { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct PlonkProof { + #[allow(missing_docs)] pub wire0: ::RustType, + #[allow(missing_docs)] pub wire1: ::RustType, + #[allow(missing_docs)] pub wire2: ::RustType, + #[allow(missing_docs)] pub wire3: ::RustType, + #[allow(missing_docs)] pub wire4: ::RustType, + #[allow(missing_docs)] pub prodPerm: ::RustType, + #[allow(missing_docs)] pub split0: ::RustType, + #[allow(missing_docs)] pub split1: ::RustType, + #[allow(missing_docs)] pub split2: ::RustType, + #[allow(missing_docs)] pub split3: ::RustType, + #[allow(missing_docs)] pub split4: ::RustType, + #[allow(missing_docs)] pub zeta: ::RustType, + #[allow(missing_docs)] pub zetaOmega: ::RustType, + #[allow(missing_docs)] pub wireEval0: ::RustType, + #[allow(missing_docs)] pub wireEval1: ::RustType, + #[allow(missing_docs)] pub wireEval2: ::RustType, + #[allow(missing_docs)] pub wireEval3: ::RustType, + #[allow(missing_docs)] pub wireEval4: ::RustType, + #[allow(missing_docs)] pub sigmaEval0: ::RustType, + #[allow(missing_docs)] pub sigmaEval1: ::RustType, + #[allow(missing_docs)] pub sigmaEval2: ::RustType, + #[allow(missing_docs)] pub sigmaEval3: ::RustType, + #[allow(missing_docs)] pub prodPermZetaOmegaEval: ::RustType, } #[allow( @@ -2371,8 +2396,11 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct LightClientState { + #[allow(missing_docs)] pub viewNum: u64, + #[allow(missing_docs)] pub blockHeight: u64, + #[allow(missing_docs)] pub blockCommRoot: ::RustType, } #[allow( @@ -2586,9 +2614,13 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct StakeTableState { + #[allow(missing_docs)] pub threshold: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub blsKeyComm: ::RustType, + #[allow(missing_docs)] pub schnorrKeyComm: ::RustType, + #[allow(missing_docs)] pub amountComm: ::RustType, } #[allow( @@ -2819,6 +2851,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct AddressEmptyCode { + #[allow(missing_docs)] pub target: alloy::sol_types::private::Address, } #[allow( @@ -2885,6 +2918,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct ERC1967InvalidImplementation { + #[allow(missing_docs)] pub implementation: alloy::sol_types::private::Address, } #[allow( @@ -3673,6 +3707,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct OwnableInvalidOwner { + #[allow(missing_docs)] pub owner: alloy::sol_types::private::Address, } #[allow( @@ -3739,6 +3774,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct OwnableUnauthorizedAccount { + #[allow(missing_docs)] pub account: alloy::sol_types::private::Address, } #[allow( @@ -3925,6 +3961,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct UUPSUnsupportedProxiableUUID { + #[allow(missing_docs)] pub slot: alloy::sol_types::private::FixedBytes<32>, } #[allow( @@ -4831,6 +4868,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct UPGRADE_INTERFACE_VERSIONReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::String, } #[allow( @@ -4941,6 +4979,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct currentBlockNumberReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::primitives::aliases::U256, } #[allow( @@ -5159,8 +5198,11 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct finalizedStateReturn { + #[allow(missing_docs)] pub viewNum: u64, + #[allow(missing_docs)] pub blockHeight: u64, + #[allow(missing_docs)] pub blockCommRoot: ::RustType, } #[allow( @@ -5287,9 +5329,13 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct genesisStakeTableStateReturn { + #[allow(missing_docs)] pub threshold: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub blsKeyComm: ::RustType, + #[allow(missing_docs)] pub schnorrKeyComm: ::RustType, + #[allow(missing_docs)] pub amountComm: ::RustType, } #[allow( @@ -5425,8 +5471,11 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct genesisStateReturn { + #[allow(missing_docs)] pub viewNum: u64, + #[allow(missing_docs)] pub blockHeight: u64, + #[allow(missing_docs)] pub blockCommRoot: ::RustType, } #[allow( @@ -5549,13 +5598,16 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct getHotShotCommitmentCall { + #[allow(missing_docs)] pub hotShotBlockHeight: alloy::sol_types::private::primitives::aliases::U256, } ///Container type for the return parameters of the [`getHotShotCommitment(uint256)`](getHotShotCommitmentCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct getHotShotCommitmentReturn { + #[allow(missing_docs)] pub hotShotBlockCommRoot: ::RustType, + #[allow(missing_docs)] pub hotshotBlockHeight: u64, } #[allow( @@ -5679,6 +5731,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct getStateHistoryCountReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::primitives::aliases::U256, } #[allow( @@ -5789,8 +5842,11 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct getVersionReturn { + #[allow(missing_docs)] pub majorVersion: u8, + #[allow(missing_docs)] pub minorVersion: u8, + #[allow(missing_docs)] pub patchVersion: u8, } #[allow( @@ -5909,9 +5965,13 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct initializeCall { + #[allow(missing_docs)] pub _genesis: ::RustType, + #[allow(missing_docs)] pub _genesisStakeTableState: ::RustType, + #[allow(missing_docs)] pub _stateHistoryRetentionPeriod: u32, + #[allow(missing_docs)] pub owner: alloy::sol_types::private::Address, } ///Container type for the return parameters of the [`initialize((uint64,uint64,uint256),(uint256,uint256,uint256,uint256),uint32,address)`](initializeCall) function. @@ -6062,6 +6122,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct isPermissionedProverEnabledReturn { + #[allow(missing_docs)] pub _0: bool, } #[allow( @@ -6168,13 +6229,16 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct lagOverEscapeHatchThresholdCall { + #[allow(missing_docs)] pub blockNumber: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub blockThreshold: alloy::sol_types::private::primitives::aliases::U256, } ///Container type for the return parameters of the [`lagOverEscapeHatchThreshold(uint256,uint256)`](lagOverEscapeHatchThresholdCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct lagOverEscapeHatchThresholdReturn { + #[allow(missing_docs)] pub _0: bool, } #[allow( @@ -6300,7 +6364,9 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct newFinalizedStateCall { + #[allow(missing_docs)] pub newState: ::RustType, + #[allow(missing_docs)] pub proof: ::RustType, } ///Container type for the return parameters of the [`newFinalizedState((uint64,uint64,uint256),((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))`](newFinalizedStateCall) function. @@ -6424,6 +6490,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct ownerReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::Address, } #[allow( @@ -6534,6 +6601,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct permissionedProverReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::Address, } #[allow( @@ -6644,6 +6712,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct proxiableUUIDReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::FixedBytes<32>, } #[allow( @@ -6858,6 +6927,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct setPermissionedProverCall { + #[allow(missing_docs)] pub prover: alloy::sol_types::private::Address, } ///Container type for the return parameters of the [`setPermissionedProver(address)`](setPermissionedProverCall) function. @@ -6972,6 +7042,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct setstateHistoryRetentionPeriodCall { + #[allow(missing_docs)] pub historySeconds: u32, } ///Container type for the return parameters of the [`setstateHistoryRetentionPeriod(uint32)`](setstateHistoryRetentionPeriodCall) function. @@ -7088,15 +7159,20 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct stateHistoryCommitmentsCall { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::primitives::aliases::U256, } ///Container type for the return parameters of the [`stateHistoryCommitments(uint256)`](stateHistoryCommitmentsCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct stateHistoryCommitmentsReturn { + #[allow(missing_docs)] pub l1BlockHeight: u64, + #[allow(missing_docs)] pub l1BlockTimestamp: u64, + #[allow(missing_docs)] pub hotShotBlockHeight: u64, + #[allow(missing_docs)] pub hotShotBlockCommRoot: ::RustType, } #[allow( @@ -7236,6 +7312,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct stateHistoryFirstIndexReturn { + #[allow(missing_docs)] pub _0: u64, } #[allow( @@ -7346,6 +7423,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct stateHistoryRetentionPeriodReturn { + #[allow(missing_docs)] pub _0: u32, } #[allow( @@ -7452,6 +7530,7 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct transferOwnershipCall { + #[allow(missing_docs)] pub newOwner: alloy::sol_types::private::Address, } ///Container type for the return parameters of the [`transferOwnership(address)`](transferOwnershipCall) function. @@ -7566,7 +7645,9 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct upgradeToAndCallCall { + #[allow(missing_docs)] pub newImplementation: alloy::sol_types::private::Address, + #[allow(missing_docs)] pub data: alloy::sol_types::private::Bytes, } ///Container type for the return parameters of the [`upgradeToAndCall(address,bytes)`](upgradeToAndCallCall) function. @@ -7691,29 +7772,53 @@ pub mod LightClient { }; ///Container for all the [`LightClient`](self) function calls. pub enum LightClientCalls { + #[allow(missing_docs)] UPGRADE_INTERFACE_VERSION(UPGRADE_INTERFACE_VERSIONCall), + #[allow(missing_docs)] currentBlockNumber(currentBlockNumberCall), + #[allow(missing_docs)] disablePermissionedProverMode(disablePermissionedProverModeCall), + #[allow(missing_docs)] finalizedState(finalizedStateCall), + #[allow(missing_docs)] genesisStakeTableState(genesisStakeTableStateCall), + #[allow(missing_docs)] genesisState(genesisStateCall), + #[allow(missing_docs)] getHotShotCommitment(getHotShotCommitmentCall), + #[allow(missing_docs)] getStateHistoryCount(getStateHistoryCountCall), + #[allow(missing_docs)] getVersion(getVersionCall), + #[allow(missing_docs)] initialize(initializeCall), + #[allow(missing_docs)] isPermissionedProverEnabled(isPermissionedProverEnabledCall), + #[allow(missing_docs)] lagOverEscapeHatchThreshold(lagOverEscapeHatchThresholdCall), + #[allow(missing_docs)] newFinalizedState(newFinalizedStateCall), + #[allow(missing_docs)] owner(ownerCall), + #[allow(missing_docs)] permissionedProver(permissionedProverCall), + #[allow(missing_docs)] proxiableUUID(proxiableUUIDCall), + #[allow(missing_docs)] renounceOwnership(renounceOwnershipCall), + #[allow(missing_docs)] setPermissionedProver(setPermissionedProverCall), + #[allow(missing_docs)] setstateHistoryRetentionPeriod(setstateHistoryRetentionPeriodCall), + #[allow(missing_docs)] stateHistoryCommitments(stateHistoryCommitmentsCall), + #[allow(missing_docs)] stateHistoryFirstIndex(stateHistoryFirstIndexCall), + #[allow(missing_docs)] stateHistoryRetentionPeriod(stateHistoryRetentionPeriodCall), + #[allow(missing_docs)] transferOwnership(transferOwnershipCall), + #[allow(missing_docs)] upgradeToAndCall(upgradeToAndCallCall), } #[automatically_derived] @@ -8367,25 +8472,45 @@ pub mod LightClient { } ///Container for all the [`LightClient`](self) custom errors. pub enum LightClientErrors { + #[allow(missing_docs)] AddressEmptyCode(AddressEmptyCode), + #[allow(missing_docs)] ERC1967InvalidImplementation(ERC1967InvalidImplementation), + #[allow(missing_docs)] ERC1967NonPayable(ERC1967NonPayable), + #[allow(missing_docs)] FailedInnerCall(FailedInnerCall), + #[allow(missing_docs)] InsufficientSnapshotHistory(InsufficientSnapshotHistory), + #[allow(missing_docs)] InvalidAddress(InvalidAddress), + #[allow(missing_docs)] InvalidArgs(InvalidArgs), + #[allow(missing_docs)] InvalidHotShotBlockForCommitmentCheck(InvalidHotShotBlockForCommitmentCheck), + #[allow(missing_docs)] InvalidInitialization(InvalidInitialization), + #[allow(missing_docs)] InvalidMaxStateHistory(InvalidMaxStateHistory), + #[allow(missing_docs)] InvalidProof(InvalidProof), + #[allow(missing_docs)] NoChangeRequired(NoChangeRequired), + #[allow(missing_docs)] NotInitializing(NotInitializing), + #[allow(missing_docs)] OutdatedState(OutdatedState), + #[allow(missing_docs)] OwnableInvalidOwner(OwnableInvalidOwner), + #[allow(missing_docs)] OwnableUnauthorizedAccount(OwnableUnauthorizedAccount), + #[allow(missing_docs)] ProverNotPermissioned(ProverNotPermissioned), + #[allow(missing_docs)] UUPSUnauthorizedCallContext(UUPSUnauthorizedCallContext), + #[allow(missing_docs)] UUPSUnsupportedProxiableUUID(UUPSUnsupportedProxiableUUID), + #[allow(missing_docs)] WrongStakeTableUsed(WrongStakeTableUsed), } #[automatically_derived] @@ -8974,12 +9099,19 @@ pub mod LightClient { } ///Container for all the [`LightClient`](self) events. pub enum LightClientEvents { + #[allow(missing_docs)] Initialized(Initialized), + #[allow(missing_docs)] NewState(NewState), + #[allow(missing_docs)] OwnershipTransferred(OwnershipTransferred), + #[allow(missing_docs)] PermissionedProverNotRequired(PermissionedProverNotRequired), + #[allow(missing_docs)] PermissionedProverRequired(PermissionedProverRequired), + #[allow(missing_docs)] Upgrade(Upgrade), + #[allow(missing_docs)] Upgraded(Upgraded), } #[automatically_derived] diff --git a/contract-bindings-alloy/src/lightclientarbitrum.rs b/contract-bindings-alloy/src/lightclientarbitrum.rs index 1edab7451d..63a5ce6fb1 100644 --- a/contract-bindings-alloy/src/lightclientarbitrum.rs +++ b/contract-bindings-alloy/src/lightclientarbitrum.rs @@ -256,7 +256,9 @@ pub mod BN254 { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct G1Point { + #[allow(missing_docs)] pub x: ::RustType, + #[allow(missing_docs)] pub y: ::RustType, } #[allow( @@ -568,28 +570,51 @@ pub mod IPlonkVerifier { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct PlonkProof { + #[allow(missing_docs)] pub wire0: ::RustType, + #[allow(missing_docs)] pub wire1: ::RustType, + #[allow(missing_docs)] pub wire2: ::RustType, + #[allow(missing_docs)] pub wire3: ::RustType, + #[allow(missing_docs)] pub wire4: ::RustType, + #[allow(missing_docs)] pub prodPerm: ::RustType, + #[allow(missing_docs)] pub split0: ::RustType, + #[allow(missing_docs)] pub split1: ::RustType, + #[allow(missing_docs)] pub split2: ::RustType, + #[allow(missing_docs)] pub split3: ::RustType, + #[allow(missing_docs)] pub split4: ::RustType, + #[allow(missing_docs)] pub zeta: ::RustType, + #[allow(missing_docs)] pub zetaOmega: ::RustType, + #[allow(missing_docs)] pub wireEval0: ::RustType, + #[allow(missing_docs)] pub wireEval1: ::RustType, + #[allow(missing_docs)] pub wireEval2: ::RustType, + #[allow(missing_docs)] pub wireEval3: ::RustType, + #[allow(missing_docs)] pub wireEval4: ::RustType, + #[allow(missing_docs)] pub sigmaEval0: ::RustType, + #[allow(missing_docs)] pub sigmaEval1: ::RustType, + #[allow(missing_docs)] pub sigmaEval2: ::RustType, + #[allow(missing_docs)] pub sigmaEval3: ::RustType, + #[allow(missing_docs)] pub prodPermZetaOmegaEval: ::RustType, } #[allow( @@ -1264,8 +1289,11 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct LightClientState { + #[allow(missing_docs)] pub viewNum: u64, + #[allow(missing_docs)] pub blockHeight: u64, + #[allow(missing_docs)] pub blockCommRoot: ::RustType, } #[allow( @@ -1479,9 +1507,13 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct StakeTableState { + #[allow(missing_docs)] pub threshold: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub blsKeyComm: ::RustType, + #[allow(missing_docs)] pub schnorrKeyComm: ::RustType, + #[allow(missing_docs)] pub amountComm: ::RustType, } #[allow( @@ -2963,6 +2995,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct AddressEmptyCode { + #[allow(missing_docs)] pub target: alloy::sol_types::private::Address, } #[allow( @@ -3029,6 +3062,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct ERC1967InvalidImplementation { + #[allow(missing_docs)] pub implementation: alloy::sol_types::private::Address, } #[allow( @@ -3817,6 +3851,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct OwnableInvalidOwner { + #[allow(missing_docs)] pub owner: alloy::sol_types::private::Address, } #[allow( @@ -3883,6 +3918,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct OwnableUnauthorizedAccount { + #[allow(missing_docs)] pub account: alloy::sol_types::private::Address, } #[allow( @@ -4069,6 +4105,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct UUPSUnsupportedProxiableUUID { + #[allow(missing_docs)] pub slot: alloy::sol_types::private::FixedBytes<32>, } #[allow( @@ -4921,6 +4958,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct UPGRADE_INTERFACE_VERSIONReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::String, } #[allow( @@ -5031,6 +5069,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct currentBlockNumberReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::primitives::aliases::U256, } #[allow( @@ -5249,8 +5288,11 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct finalizedStateReturn { + #[allow(missing_docs)] pub viewNum: u64, + #[allow(missing_docs)] pub blockHeight: u64, + #[allow(missing_docs)] pub blockCommRoot: ::RustType, } #[allow( @@ -5377,9 +5419,13 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct genesisStakeTableStateReturn { + #[allow(missing_docs)] pub threshold: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub blsKeyComm: ::RustType, + #[allow(missing_docs)] pub schnorrKeyComm: ::RustType, + #[allow(missing_docs)] pub amountComm: ::RustType, } #[allow( @@ -5515,8 +5561,11 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct genesisStateReturn { + #[allow(missing_docs)] pub viewNum: u64, + #[allow(missing_docs)] pub blockHeight: u64, + #[allow(missing_docs)] pub blockCommRoot: ::RustType, } #[allow( @@ -5639,13 +5688,16 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct getHotShotCommitmentCall { + #[allow(missing_docs)] pub hotShotBlockHeight: alloy::sol_types::private::primitives::aliases::U256, } ///Container type for the return parameters of the [`getHotShotCommitment(uint256)`](getHotShotCommitmentCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct getHotShotCommitmentReturn { + #[allow(missing_docs)] pub hotShotBlockCommRoot: ::RustType, + #[allow(missing_docs)] pub hotshotBlockHeight: u64, } #[allow( @@ -5769,6 +5821,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct getStateHistoryCountReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::primitives::aliases::U256, } #[allow( @@ -5879,8 +5932,11 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct getVersionReturn { + #[allow(missing_docs)] pub majorVersion: u8, + #[allow(missing_docs)] pub minorVersion: u8, + #[allow(missing_docs)] pub patchVersion: u8, } #[allow( @@ -5999,10 +6055,14 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct initializeCall { + #[allow(missing_docs)] pub _genesis: ::RustType, + #[allow(missing_docs)] pub _genesisStakeTableState: ::RustType, + #[allow(missing_docs)] pub _stateHistoryRetentionPeriod: u32, + #[allow(missing_docs)] pub owner: alloy::sol_types::private::Address, } ///Container type for the return parameters of the [`initialize((uint64,uint64,uint256),(uint256,uint256,uint256,uint256),uint32,address)`](initializeCall) function. @@ -6155,6 +6215,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct isPermissionedProverEnabledReturn { + #[allow(missing_docs)] pub _0: bool, } #[allow( @@ -6261,13 +6322,16 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct lagOverEscapeHatchThresholdCall { + #[allow(missing_docs)] pub blockNumber: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub blockThreshold: alloy::sol_types::private::primitives::aliases::U256, } ///Container type for the return parameters of the [`lagOverEscapeHatchThreshold(uint256,uint256)`](lagOverEscapeHatchThresholdCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct lagOverEscapeHatchThresholdReturn { + #[allow(missing_docs)] pub _0: bool, } #[allow( @@ -6393,7 +6457,9 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct newFinalizedStateCall { + #[allow(missing_docs)] pub newState: ::RustType, + #[allow(missing_docs)] pub proof: ::RustType, } ///Container type for the return parameters of the [`newFinalizedState((uint64,uint64,uint256),((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))`](newFinalizedStateCall) function. @@ -6520,6 +6586,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct ownerReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::Address, } #[allow( @@ -6630,6 +6697,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct permissionedProverReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::Address, } #[allow( @@ -6740,6 +6808,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct proxiableUUIDReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::FixedBytes<32>, } #[allow( @@ -6954,6 +7023,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct setPermissionedProverCall { + #[allow(missing_docs)] pub prover: alloy::sol_types::private::Address, } ///Container type for the return parameters of the [`setPermissionedProver(address)`](setPermissionedProverCall) function. @@ -7068,6 +7138,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct setstateHistoryRetentionPeriodCall { + #[allow(missing_docs)] pub historySeconds: u32, } ///Container type for the return parameters of the [`setstateHistoryRetentionPeriod(uint32)`](setstateHistoryRetentionPeriodCall) function. @@ -7184,15 +7255,20 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct stateHistoryCommitmentsCall { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::primitives::aliases::U256, } ///Container type for the return parameters of the [`stateHistoryCommitments(uint256)`](stateHistoryCommitmentsCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct stateHistoryCommitmentsReturn { + #[allow(missing_docs)] pub l1BlockHeight: u64, + #[allow(missing_docs)] pub l1BlockTimestamp: u64, + #[allow(missing_docs)] pub hotShotBlockHeight: u64, + #[allow(missing_docs)] pub hotShotBlockCommRoot: ::RustType, } #[allow( @@ -7332,6 +7408,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct stateHistoryFirstIndexReturn { + #[allow(missing_docs)] pub _0: u64, } #[allow( @@ -7442,6 +7519,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct stateHistoryRetentionPeriodReturn { + #[allow(missing_docs)] pub _0: u32, } #[allow( @@ -7548,6 +7626,7 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct transferOwnershipCall { + #[allow(missing_docs)] pub newOwner: alloy::sol_types::private::Address, } ///Container type for the return parameters of the [`transferOwnership(address)`](transferOwnershipCall) function. @@ -7662,7 +7741,9 @@ pub mod LightClientArbitrum { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct upgradeToAndCallCall { + #[allow(missing_docs)] pub newImplementation: alloy::sol_types::private::Address, + #[allow(missing_docs)] pub data: alloy::sol_types::private::Bytes, } ///Container type for the return parameters of the [`upgradeToAndCall(address,bytes)`](upgradeToAndCallCall) function. @@ -7787,29 +7868,53 @@ pub mod LightClientArbitrum { }; ///Container for all the [`LightClientArbitrum`](self) function calls. pub enum LightClientArbitrumCalls { + #[allow(missing_docs)] UPGRADE_INTERFACE_VERSION(UPGRADE_INTERFACE_VERSIONCall), + #[allow(missing_docs)] currentBlockNumber(currentBlockNumberCall), + #[allow(missing_docs)] disablePermissionedProverMode(disablePermissionedProverModeCall), + #[allow(missing_docs)] finalizedState(finalizedStateCall), + #[allow(missing_docs)] genesisStakeTableState(genesisStakeTableStateCall), + #[allow(missing_docs)] genesisState(genesisStateCall), + #[allow(missing_docs)] getHotShotCommitment(getHotShotCommitmentCall), + #[allow(missing_docs)] getStateHistoryCount(getStateHistoryCountCall), + #[allow(missing_docs)] getVersion(getVersionCall), + #[allow(missing_docs)] initialize(initializeCall), + #[allow(missing_docs)] isPermissionedProverEnabled(isPermissionedProverEnabledCall), + #[allow(missing_docs)] lagOverEscapeHatchThreshold(lagOverEscapeHatchThresholdCall), + #[allow(missing_docs)] newFinalizedState(newFinalizedStateCall), + #[allow(missing_docs)] owner(ownerCall), + #[allow(missing_docs)] permissionedProver(permissionedProverCall), + #[allow(missing_docs)] proxiableUUID(proxiableUUIDCall), + #[allow(missing_docs)] renounceOwnership(renounceOwnershipCall), + #[allow(missing_docs)] setPermissionedProver(setPermissionedProverCall), + #[allow(missing_docs)] setstateHistoryRetentionPeriod(setstateHistoryRetentionPeriodCall), + #[allow(missing_docs)] stateHistoryCommitments(stateHistoryCommitmentsCall), + #[allow(missing_docs)] stateHistoryFirstIndex(stateHistoryFirstIndexCall), + #[allow(missing_docs)] stateHistoryRetentionPeriod(stateHistoryRetentionPeriodCall), + #[allow(missing_docs)] transferOwnership(transferOwnershipCall), + #[allow(missing_docs)] upgradeToAndCall(upgradeToAndCallCall), } #[automatically_derived] @@ -8460,25 +8565,45 @@ pub mod LightClientArbitrum { } ///Container for all the [`LightClientArbitrum`](self) custom errors. pub enum LightClientArbitrumErrors { + #[allow(missing_docs)] AddressEmptyCode(AddressEmptyCode), + #[allow(missing_docs)] ERC1967InvalidImplementation(ERC1967InvalidImplementation), + #[allow(missing_docs)] ERC1967NonPayable(ERC1967NonPayable), + #[allow(missing_docs)] FailedInnerCall(FailedInnerCall), + #[allow(missing_docs)] InsufficientSnapshotHistory(InsufficientSnapshotHistory), + #[allow(missing_docs)] InvalidAddress(InvalidAddress), + #[allow(missing_docs)] InvalidArgs(InvalidArgs), + #[allow(missing_docs)] InvalidHotShotBlockForCommitmentCheck(InvalidHotShotBlockForCommitmentCheck), + #[allow(missing_docs)] InvalidInitialization(InvalidInitialization), + #[allow(missing_docs)] InvalidMaxStateHistory(InvalidMaxStateHistory), + #[allow(missing_docs)] InvalidProof(InvalidProof), + #[allow(missing_docs)] NoChangeRequired(NoChangeRequired), + #[allow(missing_docs)] NotInitializing(NotInitializing), + #[allow(missing_docs)] OutdatedState(OutdatedState), + #[allow(missing_docs)] OwnableInvalidOwner(OwnableInvalidOwner), + #[allow(missing_docs)] OwnableUnauthorizedAccount(OwnableUnauthorizedAccount), + #[allow(missing_docs)] ProverNotPermissioned(ProverNotPermissioned), + #[allow(missing_docs)] UUPSUnauthorizedCallContext(UUPSUnauthorizedCallContext), + #[allow(missing_docs)] UUPSUnsupportedProxiableUUID(UUPSUnsupportedProxiableUUID), + #[allow(missing_docs)] WrongStakeTableUsed(WrongStakeTableUsed), } #[automatically_derived] @@ -9067,12 +9192,19 @@ pub mod LightClientArbitrum { } ///Container for all the [`LightClientArbitrum`](self) events. pub enum LightClientArbitrumEvents { + #[allow(missing_docs)] Initialized(Initialized), + #[allow(missing_docs)] NewState(NewState), + #[allow(missing_docs)] OwnershipTransferred(OwnershipTransferred), + #[allow(missing_docs)] PermissionedProverNotRequired(PermissionedProverNotRequired), + #[allow(missing_docs)] PermissionedProverRequired(PermissionedProverRequired), + #[allow(missing_docs)] Upgrade(Upgrade), + #[allow(missing_docs)] Upgraded(Upgraded), } #[automatically_derived] diff --git a/contract-bindings-alloy/src/lightclientmock.rs b/contract-bindings-alloy/src/lightclientmock.rs index 6d30b708d7..6b3fd406cd 100644 --- a/contract-bindings-alloy/src/lightclientmock.rs +++ b/contract-bindings-alloy/src/lightclientmock.rs @@ -256,7 +256,9 @@ pub mod BN254 { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct G1Point { + #[allow(missing_docs)] pub x: ::RustType, + #[allow(missing_docs)] pub y: ::RustType, } #[allow( @@ -568,28 +570,51 @@ pub mod IPlonkVerifier { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct PlonkProof { + #[allow(missing_docs)] pub wire0: ::RustType, + #[allow(missing_docs)] pub wire1: ::RustType, + #[allow(missing_docs)] pub wire2: ::RustType, + #[allow(missing_docs)] pub wire3: ::RustType, + #[allow(missing_docs)] pub wire4: ::RustType, + #[allow(missing_docs)] pub prodPerm: ::RustType, + #[allow(missing_docs)] pub split0: ::RustType, + #[allow(missing_docs)] pub split1: ::RustType, + #[allow(missing_docs)] pub split2: ::RustType, + #[allow(missing_docs)] pub split3: ::RustType, + #[allow(missing_docs)] pub split4: ::RustType, + #[allow(missing_docs)] pub zeta: ::RustType, + #[allow(missing_docs)] pub zetaOmega: ::RustType, + #[allow(missing_docs)] pub wireEval0: ::RustType, + #[allow(missing_docs)] pub wireEval1: ::RustType, + #[allow(missing_docs)] pub wireEval2: ::RustType, + #[allow(missing_docs)] pub wireEval3: ::RustType, + #[allow(missing_docs)] pub wireEval4: ::RustType, + #[allow(missing_docs)] pub sigmaEval0: ::RustType, + #[allow(missing_docs)] pub sigmaEval1: ::RustType, + #[allow(missing_docs)] pub sigmaEval2: ::RustType, + #[allow(missing_docs)] pub sigmaEval3: ::RustType, + #[allow(missing_docs)] pub prodPermZetaOmegaEval: ::RustType, } #[allow( @@ -1265,8 +1290,11 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct LightClientState { + #[allow(missing_docs)] pub viewNum: u64, + #[allow(missing_docs)] pub blockHeight: u64, + #[allow(missing_docs)] pub blockCommRoot: ::RustType, } #[allow( @@ -1480,9 +1508,13 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct StakeTableState { + #[allow(missing_docs)] pub threshold: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub blsKeyComm: ::RustType, + #[allow(missing_docs)] pub schnorrKeyComm: ::RustType, + #[allow(missing_docs)] pub amountComm: ::RustType, } #[allow( @@ -1712,9 +1744,13 @@ pub mod LightClient { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct StateHistoryCommitment { + #[allow(missing_docs)] pub l1BlockHeight: u64, + #[allow(missing_docs)] pub l1BlockTimestamp: u64, + #[allow(missing_docs)] pub hotShotBlockHeight: u64, + #[allow(missing_docs)] pub hotShotBlockCommRoot: ::RustType, } #[allow( @@ -3369,6 +3405,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct AddressEmptyCode { + #[allow(missing_docs)] pub target: alloy::sol_types::private::Address, } #[allow( @@ -3435,6 +3472,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct ERC1967InvalidImplementation { + #[allow(missing_docs)] pub implementation: alloy::sol_types::private::Address, } #[allow( @@ -4223,6 +4261,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct OwnableInvalidOwner { + #[allow(missing_docs)] pub owner: alloy::sol_types::private::Address, } #[allow( @@ -4289,6 +4328,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct OwnableUnauthorizedAccount { + #[allow(missing_docs)] pub account: alloy::sol_types::private::Address, } #[allow( @@ -4475,6 +4515,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct UUPSUnsupportedProxiableUUID { + #[allow(missing_docs)] pub slot: alloy::sol_types::private::FixedBytes<32>, } #[allow( @@ -5323,9 +5364,12 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct constructorCall { + #[allow(missing_docs)] pub genesis: ::RustType, + #[allow(missing_docs)] pub genesisStakeTableState: ::RustType, + #[allow(missing_docs)] pub maxHistorySeconds: u32, } const _: () = { @@ -5416,6 +5460,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct UPGRADE_INTERFACE_VERSIONReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::String, } #[allow( @@ -5526,6 +5571,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct currentBlockNumberReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::primitives::aliases::U256, } #[allow( @@ -5744,8 +5790,11 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct finalizedStateReturn { + #[allow(missing_docs)] pub viewNum: u64, + #[allow(missing_docs)] pub blockHeight: u64, + #[allow(missing_docs)] pub blockCommRoot: ::RustType, } #[allow( @@ -5872,9 +5921,13 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct genesisStakeTableStateReturn { + #[allow(missing_docs)] pub threshold: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub blsKeyComm: ::RustType, + #[allow(missing_docs)] pub schnorrKeyComm: ::RustType, + #[allow(missing_docs)] pub amountComm: ::RustType, } #[allow( @@ -6010,8 +6063,11 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct genesisStateReturn { + #[allow(missing_docs)] pub viewNum: u64, + #[allow(missing_docs)] pub blockHeight: u64, + #[allow(missing_docs)] pub blockCommRoot: ::RustType, } #[allow( @@ -6134,13 +6190,16 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct getHotShotCommitmentCall { + #[allow(missing_docs)] pub hotShotBlockHeight: alloy::sol_types::private::primitives::aliases::U256, } ///Container type for the return parameters of the [`getHotShotCommitment(uint256)`](getHotShotCommitmentCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct getHotShotCommitmentReturn { + #[allow(missing_docs)] pub hotShotBlockCommRoot: ::RustType, + #[allow(missing_docs)] pub hotshotBlockHeight: u64, } #[allow( @@ -6264,6 +6323,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct getStateHistoryCountReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::primitives::aliases::U256, } #[allow( @@ -6374,8 +6434,11 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct getVersionReturn { + #[allow(missing_docs)] pub majorVersion: u8, + #[allow(missing_docs)] pub minorVersion: u8, + #[allow(missing_docs)] pub patchVersion: u8, } #[allow( @@ -6494,10 +6557,14 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct initializeCall { + #[allow(missing_docs)] pub _genesis: ::RustType, + #[allow(missing_docs)] pub _genesisStakeTableState: ::RustType, + #[allow(missing_docs)] pub _stateHistoryRetentionPeriod: u32, + #[allow(missing_docs)] pub owner: alloy::sol_types::private::Address, } ///Container type for the return parameters of the [`initialize((uint64,uint64,uint256),(uint256,uint256,uint256,uint256),uint32,address)`](initializeCall) function. @@ -6650,6 +6717,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct isPermissionedProverEnabledReturn { + #[allow(missing_docs)] pub _0: bool, } #[allow( @@ -6756,13 +6824,16 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct lagOverEscapeHatchThresholdCall { + #[allow(missing_docs)] pub blockNumber: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub threshold: alloy::sol_types::private::primitives::aliases::U256, } ///Container type for the return parameters of the [`lagOverEscapeHatchThreshold(uint256,uint256)`](lagOverEscapeHatchThresholdCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct lagOverEscapeHatchThresholdReturn { + #[allow(missing_docs)] pub _0: bool, } #[allow( @@ -6888,7 +6959,9 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct newFinalizedStateCall { + #[allow(missing_docs)] pub newState: ::RustType, + #[allow(missing_docs)] pub proof: ::RustType, } ///Container type for the return parameters of the [`newFinalizedState((uint64,uint64,uint256),((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))`](newFinalizedStateCall) function. @@ -7015,6 +7088,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct ownerReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::Address, } #[allow( @@ -7125,6 +7199,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct permissionedProverReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::Address, } #[allow( @@ -7235,6 +7310,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct proxiableUUIDReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::FixedBytes<32>, } #[allow( @@ -7449,6 +7525,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct setFinalizedStateCall { + #[allow(missing_docs)] pub state: ::RustType, } ///Container type for the return parameters of the [`setFinalizedState((uint64,uint64,uint256))`](setFinalizedStateCall) function. @@ -7564,6 +7641,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct setHotShotDownSinceCall { + #[allow(missing_docs)] pub l1Height: alloy::sol_types::private::primitives::aliases::U256, } ///Container type for the return parameters of the [`setHotShotDownSince(uint256)`](setHotShotDownSinceCall) function. @@ -7786,6 +7864,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct setPermissionedProverCall { + #[allow(missing_docs)] pub prover: alloy::sol_types::private::Address, } ///Container type for the return parameters of the [`setPermissionedProver(address)`](setPermissionedProverCall) function. @@ -7900,6 +7979,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct setStateHistoryCall { + #[allow(missing_docs)] pub _stateHistoryCommitments: alloy::sol_types::private::Vec< ::RustType, >, @@ -8024,6 +8104,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct setstateHistoryRetentionPeriodCall { + #[allow(missing_docs)] pub historySeconds: u32, } ///Container type for the return parameters of the [`setstateHistoryRetentionPeriod(uint32)`](setstateHistoryRetentionPeriodCall) function. @@ -8140,15 +8221,20 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct stateHistoryCommitmentsCall { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::primitives::aliases::U256, } ///Container type for the return parameters of the [`stateHistoryCommitments(uint256)`](stateHistoryCommitmentsCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct stateHistoryCommitmentsReturn { + #[allow(missing_docs)] pub l1BlockHeight: u64, + #[allow(missing_docs)] pub l1BlockTimestamp: u64, + #[allow(missing_docs)] pub hotShotBlockHeight: u64, + #[allow(missing_docs)] pub hotShotBlockCommRoot: ::RustType, } #[allow( @@ -8288,6 +8374,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct stateHistoryFirstIndexReturn { + #[allow(missing_docs)] pub _0: u64, } #[allow( @@ -8398,6 +8485,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct stateHistoryRetentionPeriodReturn { + #[allow(missing_docs)] pub _0: u32, } #[allow( @@ -8504,6 +8592,7 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct transferOwnershipCall { + #[allow(missing_docs)] pub newOwner: alloy::sol_types::private::Address, } ///Container type for the return parameters of the [`transferOwnership(address)`](transferOwnershipCall) function. @@ -8618,7 +8707,9 @@ pub mod LightClientMock { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct upgradeToAndCallCall { + #[allow(missing_docs)] pub newImplementation: alloy::sol_types::private::Address, + #[allow(missing_docs)] pub data: alloy::sol_types::private::Bytes, } ///Container type for the return parameters of the [`upgradeToAndCall(address,bytes)`](upgradeToAndCallCall) function. @@ -8743,33 +8834,61 @@ pub mod LightClientMock { }; ///Container for all the [`LightClientMock`](self) function calls. pub enum LightClientMockCalls { + #[allow(missing_docs)] UPGRADE_INTERFACE_VERSION(UPGRADE_INTERFACE_VERSIONCall), + #[allow(missing_docs)] currentBlockNumber(currentBlockNumberCall), + #[allow(missing_docs)] disablePermissionedProverMode(disablePermissionedProverModeCall), + #[allow(missing_docs)] finalizedState(finalizedStateCall), + #[allow(missing_docs)] genesisStakeTableState(genesisStakeTableStateCall), + #[allow(missing_docs)] genesisState(genesisStateCall), + #[allow(missing_docs)] getHotShotCommitment(getHotShotCommitmentCall), + #[allow(missing_docs)] getStateHistoryCount(getStateHistoryCountCall), + #[allow(missing_docs)] getVersion(getVersionCall), + #[allow(missing_docs)] initialize(initializeCall), + #[allow(missing_docs)] isPermissionedProverEnabled(isPermissionedProverEnabledCall), + #[allow(missing_docs)] lagOverEscapeHatchThreshold(lagOverEscapeHatchThresholdCall), + #[allow(missing_docs)] newFinalizedState(newFinalizedStateCall), + #[allow(missing_docs)] owner(ownerCall), + #[allow(missing_docs)] permissionedProver(permissionedProverCall), + #[allow(missing_docs)] proxiableUUID(proxiableUUIDCall), + #[allow(missing_docs)] renounceOwnership(renounceOwnershipCall), + #[allow(missing_docs)] setFinalizedState(setFinalizedStateCall), + #[allow(missing_docs)] setHotShotDownSince(setHotShotDownSinceCall), + #[allow(missing_docs)] setHotShotUp(setHotShotUpCall), + #[allow(missing_docs)] setPermissionedProver(setPermissionedProverCall), + #[allow(missing_docs)] setStateHistory(setStateHistoryCall), + #[allow(missing_docs)] setstateHistoryRetentionPeriod(setstateHistoryRetentionPeriodCall), + #[allow(missing_docs)] stateHistoryCommitments(stateHistoryCommitmentsCall), + #[allow(missing_docs)] stateHistoryFirstIndex(stateHistoryFirstIndexCall), + #[allow(missing_docs)] stateHistoryRetentionPeriod(stateHistoryRetentionPeriodCall), + #[allow(missing_docs)] transferOwnership(transferOwnershipCall), + #[allow(missing_docs)] upgradeToAndCall(upgradeToAndCallCall), } #[automatically_derived] @@ -9514,25 +9633,45 @@ pub mod LightClientMock { } ///Container for all the [`LightClientMock`](self) custom errors. pub enum LightClientMockErrors { + #[allow(missing_docs)] AddressEmptyCode(AddressEmptyCode), + #[allow(missing_docs)] ERC1967InvalidImplementation(ERC1967InvalidImplementation), + #[allow(missing_docs)] ERC1967NonPayable(ERC1967NonPayable), + #[allow(missing_docs)] FailedInnerCall(FailedInnerCall), + #[allow(missing_docs)] InsufficientSnapshotHistory(InsufficientSnapshotHistory), + #[allow(missing_docs)] InvalidAddress(InvalidAddress), + #[allow(missing_docs)] InvalidArgs(InvalidArgs), + #[allow(missing_docs)] InvalidHotShotBlockForCommitmentCheck(InvalidHotShotBlockForCommitmentCheck), + #[allow(missing_docs)] InvalidInitialization(InvalidInitialization), + #[allow(missing_docs)] InvalidMaxStateHistory(InvalidMaxStateHistory), + #[allow(missing_docs)] InvalidProof(InvalidProof), + #[allow(missing_docs)] NoChangeRequired(NoChangeRequired), + #[allow(missing_docs)] NotInitializing(NotInitializing), + #[allow(missing_docs)] OutdatedState(OutdatedState), + #[allow(missing_docs)] OwnableInvalidOwner(OwnableInvalidOwner), + #[allow(missing_docs)] OwnableUnauthorizedAccount(OwnableUnauthorizedAccount), + #[allow(missing_docs)] ProverNotPermissioned(ProverNotPermissioned), + #[allow(missing_docs)] UUPSUnauthorizedCallContext(UUPSUnauthorizedCallContext), + #[allow(missing_docs)] UUPSUnsupportedProxiableUUID(UUPSUnsupportedProxiableUUID), + #[allow(missing_docs)] WrongStakeTableUsed(WrongStakeTableUsed), } #[automatically_derived] @@ -10121,12 +10260,19 @@ pub mod LightClientMock { } ///Container for all the [`LightClientMock`](self) events. pub enum LightClientMockEvents { + #[allow(missing_docs)] Initialized(Initialized), + #[allow(missing_docs)] NewState(NewState), + #[allow(missing_docs)] OwnershipTransferred(OwnershipTransferred), + #[allow(missing_docs)] PermissionedProverNotRequired(PermissionedProverNotRequired), + #[allow(missing_docs)] PermissionedProverRequired(PermissionedProverRequired), + #[allow(missing_docs)] Upgrade(Upgrade), + #[allow(missing_docs)] Upgraded(Upgraded), } #[automatically_derived] diff --git a/contract-bindings-alloy/src/permissionedstaketable.rs b/contract-bindings-alloy/src/permissionedstaketable.rs index fd58dff88e..d8aa26a865 100644 --- a/contract-bindings-alloy/src/permissionedstaketable.rs +++ b/contract-bindings-alloy/src/permissionedstaketable.rs @@ -139,9 +139,13 @@ pub mod BN254 { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct G2Point { + #[allow(missing_docs)] pub x0: ::RustType, + #[allow(missing_docs)] pub x1: ::RustType, + #[allow(missing_docs)] pub y0: ::RustType, + #[allow(missing_docs)] pub y1: ::RustType, } #[allow( @@ -467,7 +471,9 @@ pub mod EdOnBN254 { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct EdOnBN254Point { + #[allow(missing_docs)] pub x: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub y: alloy::sol_types::private::primitives::aliases::U256, } #[allow( @@ -1381,8 +1387,11 @@ pub mod PermissionedStakeTable { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct NodeInfo { + #[allow(missing_docs)] pub blsVK: ::RustType, + #[allow(missing_docs)] pub schnorrVK: ::RustType, + #[allow(missing_docs)] pub isDA: bool, } #[allow( @@ -1715,6 +1724,7 @@ pub mod PermissionedStakeTable { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct OwnableInvalidOwner { + #[allow(missing_docs)] pub owner: alloy::sol_types::private::Address, } #[allow( @@ -1781,6 +1791,7 @@ pub mod PermissionedStakeTable { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct OwnableUnauthorizedAccount { + #[allow(missing_docs)] pub account: alloy::sol_types::private::Address, } #[allow( @@ -1847,6 +1858,7 @@ pub mod PermissionedStakeTable { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct StakerAlreadyExists { + #[allow(missing_docs)] pub _0: ::RustType, } #[allow( @@ -1912,6 +1924,7 @@ pub mod PermissionedStakeTable { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct StakerNotFound { + #[allow(missing_docs)] pub _0: ::RustType, } #[allow( @@ -2298,6 +2311,7 @@ pub mod PermissionedStakeTable { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct constructorCall { + #[allow(missing_docs)] pub initialStakers: alloy::sol_types::private::Vec<::RustType>, } @@ -2363,12 +2377,14 @@ pub mod PermissionedStakeTable { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct _hashBlsKeyCall { + #[allow(missing_docs)] pub blsVK: ::RustType, } ///Container type for the return parameters of the [`_hashBlsKey((uint256,uint256,uint256,uint256))`](_hashBlsKeyCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct _hashBlsKeyReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::FixedBytes<32>, } #[allow( @@ -2590,6 +2606,7 @@ pub mod PermissionedStakeTable { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct initializedAtBlockReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::primitives::aliases::U256, } #[allow( @@ -2696,12 +2713,14 @@ pub mod PermissionedStakeTable { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct isStakerCall { + #[allow(missing_docs)] pub staker: ::RustType, } ///Container type for the return parameters of the [`isStaker((uint256,uint256,uint256,uint256))`](isStakerCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct isStakerReturn { + #[allow(missing_docs)] pub _0: bool, } #[allow( @@ -2815,6 +2834,7 @@ pub mod PermissionedStakeTable { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct ownerReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::Address, } #[allow( @@ -3029,6 +3049,7 @@ pub mod PermissionedStakeTable { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct transferOwnershipCall { + #[allow(missing_docs)] pub newOwner: alloy::sol_types::private::Address, } ///Container type for the return parameters of the [`transferOwnership(address)`](transferOwnershipCall) function. @@ -3143,8 +3164,10 @@ pub mod PermissionedStakeTable { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct updateCall { + #[allow(missing_docs)] pub stakersToRemove: alloy::sol_types::private::Vec<::RustType>, + #[allow(missing_docs)] pub newStakers: alloy::sol_types::private::Vec<::RustType>, } @@ -3272,13 +3295,21 @@ pub mod PermissionedStakeTable { }; ///Container for all the [`PermissionedStakeTable`](self) function calls. pub enum PermissionedStakeTableCalls { + #[allow(missing_docs)] _hashBlsKey(_hashBlsKeyCall), + #[allow(missing_docs)] initialize(initializeCall), + #[allow(missing_docs)] initializedAtBlock(initializedAtBlockCall), + #[allow(missing_docs)] isStaker(isStakerCall), + #[allow(missing_docs)] owner(ownerCall), + #[allow(missing_docs)] renounceOwnership(renounceOwnershipCall), + #[allow(missing_docs)] transferOwnership(transferOwnershipCall), + #[allow(missing_docs)] update(updateCall), } #[automatically_derived] @@ -3502,11 +3533,17 @@ pub mod PermissionedStakeTable { } ///Container for all the [`PermissionedStakeTable`](self) custom errors. pub enum PermissionedStakeTableErrors { + #[allow(missing_docs)] InvalidInitialization(InvalidInitialization), + #[allow(missing_docs)] NotInitializing(NotInitializing), + #[allow(missing_docs)] OwnableInvalidOwner(OwnableInvalidOwner), + #[allow(missing_docs)] OwnableUnauthorizedAccount(OwnableUnauthorizedAccount), + #[allow(missing_docs)] StakerAlreadyExists(StakerAlreadyExists), + #[allow(missing_docs)] StakerNotFound(StakerNotFound), } #[automatically_derived] @@ -3706,8 +3743,11 @@ pub mod PermissionedStakeTable { } ///Container for all the [`PermissionedStakeTable`](self) events. pub enum PermissionedStakeTableEvents { + #[allow(missing_docs)] Initialized(Initialized), + #[allow(missing_docs)] OwnershipTransferred(OwnershipTransferred), + #[allow(missing_docs)] StakersUpdated(StakersUpdated), } #[automatically_derived] diff --git a/contract-bindings-alloy/src/plonkverifier.rs b/contract-bindings-alloy/src/plonkverifier.rs index 363d08a96a..edc97722de 100644 --- a/contract-bindings-alloy/src/plonkverifier.rs +++ b/contract-bindings-alloy/src/plonkverifier.rs @@ -256,7 +256,9 @@ pub mod BN254 { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct G1Point { + #[allow(missing_docs)] pub x: ::RustType, + #[allow(missing_docs)] pub y: ::RustType, } #[allow( @@ -569,28 +571,51 @@ pub mod IPlonkVerifier { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct PlonkProof { + #[allow(missing_docs)] pub wire0: ::RustType, + #[allow(missing_docs)] pub wire1: ::RustType, + #[allow(missing_docs)] pub wire2: ::RustType, + #[allow(missing_docs)] pub wire3: ::RustType, + #[allow(missing_docs)] pub wire4: ::RustType, + #[allow(missing_docs)] pub prodPerm: ::RustType, + #[allow(missing_docs)] pub split0: ::RustType, + #[allow(missing_docs)] pub split1: ::RustType, + #[allow(missing_docs)] pub split2: ::RustType, + #[allow(missing_docs)] pub split3: ::RustType, + #[allow(missing_docs)] pub split4: ::RustType, + #[allow(missing_docs)] pub zeta: ::RustType, + #[allow(missing_docs)] pub zetaOmega: ::RustType, + #[allow(missing_docs)] pub wireEval0: ::RustType, + #[allow(missing_docs)] pub wireEval1: ::RustType, + #[allow(missing_docs)] pub wireEval2: ::RustType, + #[allow(missing_docs)] pub wireEval3: ::RustType, + #[allow(missing_docs)] pub wireEval4: ::RustType, + #[allow(missing_docs)] pub sigmaEval0: ::RustType, + #[allow(missing_docs)] pub sigmaEval1: ::RustType, + #[allow(missing_docs)] pub sigmaEval2: ::RustType, + #[allow(missing_docs)] pub sigmaEval3: ::RustType, + #[allow(missing_docs)] pub prodPermZetaOmegaEval: ::RustType, } #[allow( @@ -1116,27 +1141,49 @@ pub mod IPlonkVerifier { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct VerifyingKey { + #[allow(missing_docs)] pub domainSize: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub numInputs: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub sigma0: ::RustType, + #[allow(missing_docs)] pub sigma1: ::RustType, + #[allow(missing_docs)] pub sigma2: ::RustType, + #[allow(missing_docs)] pub sigma3: ::RustType, + #[allow(missing_docs)] pub sigma4: ::RustType, + #[allow(missing_docs)] pub q1: ::RustType, + #[allow(missing_docs)] pub q2: ::RustType, + #[allow(missing_docs)] pub q3: ::RustType, + #[allow(missing_docs)] pub q4: ::RustType, + #[allow(missing_docs)] pub qM12: ::RustType, + #[allow(missing_docs)] pub qM34: ::RustType, + #[allow(missing_docs)] pub qO: ::RustType, + #[allow(missing_docs)] pub qC: ::RustType, + #[allow(missing_docs)] pub qH1: ::RustType, + #[allow(missing_docs)] pub qH2: ::RustType, + #[allow(missing_docs)] pub qH3: ::RustType, + #[allow(missing_docs)] pub qH4: ::RustType, + #[allow(missing_docs)] pub qEcc: ::RustType, + #[allow(missing_docs)] pub g2LSB: alloy::sol_types::private::FixedBytes<32>, + #[allow(missing_docs)] pub g2MSB: alloy::sol_types::private::FixedBytes<32>, } #[allow( @@ -2769,14 +2816,18 @@ pub mod PlonkVerifier { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct verifyCall { + #[allow(missing_docs)] pub verifyingKey: ::RustType, + #[allow(missing_docs)] pub publicInput: [alloy::sol_types::private::primitives::aliases::U256; 7usize], + #[allow(missing_docs)] pub proof: ::RustType, } ///Container type for the return parameters of the [`verify((uint256,uint256,(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),bytes32,bytes32),uint256[7],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))`](verifyCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct verifyReturn { + #[allow(missing_docs)] pub _0: bool, } #[allow( @@ -2909,6 +2960,7 @@ pub mod PlonkVerifier { }; ///Container for all the [`PlonkVerifier`](self) function calls. pub enum PlonkVerifierCalls { + #[allow(missing_docs)] verify(verifyCall), } #[automatically_derived] @@ -2988,8 +3040,11 @@ pub mod PlonkVerifier { } ///Container for all the [`PlonkVerifier`](self) custom errors. pub enum PlonkVerifierErrors { + #[allow(missing_docs)] InvalidPlonkArgs(InvalidPlonkArgs), + #[allow(missing_docs)] UnsupportedDegree(UnsupportedDegree), + #[allow(missing_docs)] WrongPlonkVK(WrongPlonkVK), } #[automatically_derived] diff --git a/contract-bindings-alloy/src/plonkverifier2.rs b/contract-bindings-alloy/src/plonkverifier2.rs index 12cc4014ac..c7ab4bb3cc 100644 --- a/contract-bindings-alloy/src/plonkverifier2.rs +++ b/contract-bindings-alloy/src/plonkverifier2.rs @@ -256,7 +256,9 @@ pub mod BN254 { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct G1Point { + #[allow(missing_docs)] pub x: ::RustType, + #[allow(missing_docs)] pub y: ::RustType, } #[allow( @@ -569,28 +571,51 @@ pub mod IPlonkVerifier { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct PlonkProof { + #[allow(missing_docs)] pub wire0: ::RustType, + #[allow(missing_docs)] pub wire1: ::RustType, + #[allow(missing_docs)] pub wire2: ::RustType, + #[allow(missing_docs)] pub wire3: ::RustType, + #[allow(missing_docs)] pub wire4: ::RustType, + #[allow(missing_docs)] pub prodPerm: ::RustType, + #[allow(missing_docs)] pub split0: ::RustType, + #[allow(missing_docs)] pub split1: ::RustType, + #[allow(missing_docs)] pub split2: ::RustType, + #[allow(missing_docs)] pub split3: ::RustType, + #[allow(missing_docs)] pub split4: ::RustType, + #[allow(missing_docs)] pub zeta: ::RustType, + #[allow(missing_docs)] pub zetaOmega: ::RustType, + #[allow(missing_docs)] pub wireEval0: ::RustType, + #[allow(missing_docs)] pub wireEval1: ::RustType, + #[allow(missing_docs)] pub wireEval2: ::RustType, + #[allow(missing_docs)] pub wireEval3: ::RustType, + #[allow(missing_docs)] pub wireEval4: ::RustType, + #[allow(missing_docs)] pub sigmaEval0: ::RustType, + #[allow(missing_docs)] pub sigmaEval1: ::RustType, + #[allow(missing_docs)] pub sigmaEval2: ::RustType, + #[allow(missing_docs)] pub sigmaEval3: ::RustType, + #[allow(missing_docs)] pub prodPermZetaOmegaEval: ::RustType, } #[allow( @@ -1116,27 +1141,49 @@ pub mod IPlonkVerifier { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct VerifyingKey { + #[allow(missing_docs)] pub domainSize: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub numInputs: alloy::sol_types::private::primitives::aliases::U256, + #[allow(missing_docs)] pub sigma0: ::RustType, + #[allow(missing_docs)] pub sigma1: ::RustType, + #[allow(missing_docs)] pub sigma2: ::RustType, + #[allow(missing_docs)] pub sigma3: ::RustType, + #[allow(missing_docs)] pub sigma4: ::RustType, + #[allow(missing_docs)] pub q1: ::RustType, + #[allow(missing_docs)] pub q2: ::RustType, + #[allow(missing_docs)] pub q3: ::RustType, + #[allow(missing_docs)] pub q4: ::RustType, + #[allow(missing_docs)] pub qM12: ::RustType, + #[allow(missing_docs)] pub qM34: ::RustType, + #[allow(missing_docs)] pub qO: ::RustType, + #[allow(missing_docs)] pub qC: ::RustType, + #[allow(missing_docs)] pub qH1: ::RustType, + #[allow(missing_docs)] pub qH2: ::RustType, + #[allow(missing_docs)] pub qH3: ::RustType, + #[allow(missing_docs)] pub qH4: ::RustType, + #[allow(missing_docs)] pub qEcc: ::RustType, + #[allow(missing_docs)] pub g2LSB: alloy::sol_types::private::FixedBytes<32>, + #[allow(missing_docs)] pub g2MSB: alloy::sol_types::private::FixedBytes<32>, } #[allow( @@ -2669,6 +2716,7 @@ pub mod PlonkVerifier2 { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct P_MODReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::primitives::aliases::U256, } #[allow( @@ -2779,6 +2827,7 @@ pub mod PlonkVerifier2 { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct R_MODReturn { + #[allow(missing_docs)] pub _0: alloy::sol_types::private::primitives::aliases::U256, } #[allow( @@ -2885,14 +2934,18 @@ pub mod PlonkVerifier2 { #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct verifyCall { + #[allow(missing_docs)] pub vk: ::RustType, + #[allow(missing_docs)] pub publicInput: [alloy::sol_types::private::primitives::aliases::U256; 7usize], + #[allow(missing_docs)] pub proof: ::RustType, } ///Container type for the return parameters of the [`verify((uint256,uint256,(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),bytes32,bytes32),uint256[7],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))`](verifyCall) function. #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)] #[derive(Clone)] pub struct verifyReturn { + #[allow(missing_docs)] pub success: bool, } #[allow( @@ -3023,8 +3076,11 @@ pub mod PlonkVerifier2 { }; ///Container for all the [`PlonkVerifier2`](self) function calls. pub enum PlonkVerifier2Calls { + #[allow(missing_docs)] P_MOD(P_MODCall), + #[allow(missing_docs)] R_MOD(R_MODCall), + #[allow(missing_docs)] verify(verifyCall), } #[automatically_derived] @@ -3144,6 +3200,7 @@ pub mod PlonkVerifier2 { } ///Container for all the [`PlonkVerifier2`](self) custom errors. pub enum PlonkVerifier2Errors { + #[allow(missing_docs)] UnsupportedDegree(UnsupportedDegree), } #[automatically_derived] diff --git a/contracts/test/PlonkVerifier.t.sol b/contracts/test/PlonkVerifier.t.sol index c541471c40..07da9808e7 100644 --- a/contracts/test/PlonkVerifier.t.sol +++ b/contracts/test/PlonkVerifier.t.sol @@ -230,6 +230,7 @@ contract PlonkVerifier_validateProof_Test is PlonkVerifierCommonTest { /// @dev Randomly pick a coordinate of a point among points in a proof /// mutate it to another value so that the point is no longer valid, /// test if our check will revert. + /// forge-config: default.allow_internal_expect_revert = true function testFuzz_RevertIfProofContainsInvalidGroup(uint256 nthPoint, bool testX) external { // a valid proof IPlonkVerifier.PlonkProof memory proof = dummyProof(42); @@ -251,12 +252,13 @@ contract PlonkVerifier_validateProof_Test is PlonkVerifierCommonTest { } } - vm.expectRevert(); + vm.expectRevert("Bn254: invalid G1 point"); V._validateProof(proof); } /// @dev Randomly pick field in a proof mutate it to invalid value /// test if our check will revert. + /// forge-config: default.allow_internal_expect_revert = true function testFuzz_RevertIfProofContainsInvalidField(uint256 nthField) external { // a valid proof IPlonkVerifier.PlonkProof memory proof = dummyProof(42); @@ -271,7 +273,7 @@ contract PlonkVerifier_validateProof_Test is PlonkVerifierCommonTest { mstore(add(start, mul(nthField, 0x20)), invalidField) } - vm.expectRevert(); + vm.expectRevert(bytes("Bn254: invalid scalar field")); V._validateProof(proof); } } diff --git a/contracts/test/PolynomialEval.t.sol b/contracts/test/PolynomialEval.t.sol index e4ebba1523..2a7c3c8898 100644 --- a/contracts/test/PolynomialEval.t.sol +++ b/contracts/test/PolynomialEval.t.sol @@ -31,6 +31,7 @@ contract PolynomialEval_newEvalDomain_Test is Test { } /// @dev Test revert if domainSize is not among {2^16 ~ 2^20, 2^5} + /// forge-config: default.allow_internal_expect_revert = true function testFuzz_unsupportedDomainSize_reverts(uint256 domainSize) external { vm.assume( domainSize != 2 ** 16 && domainSize != 2 ** 17 && domainSize != 2 ** 18 diff --git a/flake.lock b/flake.lock index 5648cdfb01..9c6891b0fe 100644 --- a/flake.lock +++ b/flake.lock @@ -51,6 +51,21 @@ } }, "flake-utils_2": { + "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_3": { "inputs": { "systems": "systems_2" }, @@ -68,7 +83,7 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_4": { "inputs": { "systems": "systems_3" }, @@ -86,6 +101,26 @@ "type": "github" } }, + "foundry-nix": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1740993113, + "narHash": "sha256-XY6CUZft7wjB/cbLyi/xeOZHh2mizSAT0EaYo9wuRXI=", + "owner": "shazow", + "repo": "foundry.nix", + "rev": "ed2a08376f14c0caf2b97418c91a66872e5ab3e2", + "type": "github" + }, + "original": { + "owner": "shazow", + "ref": "monthly", + "repo": "foundry.nix", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -109,24 +144,22 @@ }, "nixpkgs": { "locked": { - "lastModified": 1736798957, - "narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=", + "lastModified": 1666753130, + "narHash": "sha256-Wff1dGPFSneXJLI2c0kkdWTgxnQ416KE6X4KnFkgPYQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", + "rev": "f540aeda6f677354f1e7144ab04352f61aaa0118", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, "nixpkgs-cross-overlay": { "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_2", + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs_3", "rust-overlay": "rust-overlay", "treefmt-nix": "treefmt-nix" }, @@ -144,7 +177,39 @@ "type": "github" } }, + "nixpkgs-legacy-foundry": { + "locked": { + "lastModified": 1736798957, + "narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", + "type": "github" + } + }, "nixpkgs_2": { + "locked": { + "lastModified": 1741246872, + "narHash": "sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "10069ef4cf863633f57238f179a0297de84bd8d3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1733550349, "narHash": "sha256-NcGumB4Lr6KSDq+nIqXtNA8QwAQKDSZT7N9OTGWbTrs=", @@ -160,7 +225,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1730768919, "narHash": "sha256-8AKquNnnSaJRXZxc5YmF/WfmxiHX6MMZZasRP6RRQkE=", @@ -176,7 +241,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1736320768, "narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=", @@ -192,7 +257,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1682516527, "narHash": "sha256-1joLG1A4mwhMrj4XVp0mBTNIHphVQSEMIlZ50t0Udxk=", @@ -211,7 +276,7 @@ "inputs": { "flake-compat": "flake-compat_2", "gitignore": "gitignore", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1735882644, @@ -231,8 +296,10 @@ "inputs": { "flake-compat": "flake-compat", "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", + "foundry-nix": "foundry-nix", + "nixpkgs": "nixpkgs_2", "nixpkgs-cross-overlay": "nixpkgs-cross-overlay", + "nixpkgs-legacy-foundry": "nixpkgs-legacy-foundry", "pre-commit-hooks": "pre-commit-hooks", "rust-overlay": "rust-overlay_2", "solc-bin": "solc-bin" @@ -261,7 +328,7 @@ }, "rust-overlay_2": { "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1740104932, @@ -279,8 +346,8 @@ }, "solc-bin": { "inputs": { - "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_5" + "flake-utils": "flake-utils_4", + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1733347147, diff --git a/flake.nix b/flake.nix index 32619e684a..5f856b271f 100644 --- a/flake.nix +++ b/flake.nix @@ -13,6 +13,10 @@ }; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + inputs.nixpkgs-legacy-foundry.url = "github:NixOS/nixpkgs/9abb87b552b7f55ac8916b6fc9e5cb486656a2f3"; + + inputs.foundry-nix.url = "github:shazow/foundry.nix/monthly"; # Use monthly branch for permanent releases + inputs.rust-overlay.url = "github:oxalica/rust-overlay"; inputs.nixpkgs-cross-overlay.url = @@ -29,6 +33,8 @@ outputs = { self , nixpkgs + , nixpkgs-legacy-foundry + , foundry-nix , rust-overlay , nixpkgs-cross-overlay , flake-utils @@ -61,6 +67,7 @@ overlays = [ (import rust-overlay) + foundry-nix.overlay solc-bin.overlays.default (final: prev: { solhint = @@ -186,7 +193,7 @@ buildInputs = [ # Rust dependencies pkg-config - openssl_3 # match ubuntu 24.04 that we use on CI and as base image in docker + openssl curl protobuf # to compile libp2p-autonat stableToolchain @@ -216,25 +223,7 @@ coreutils # Ethereum contracts, solidity, ... - # TODO: remove alloy patch when forge includes this fix: https://github.com/alloy-rs/core/pull/864 - # foundry - (foundry.overrideAttrs { - # Set the resolve limit to 128 by replacing the value in the vendored dependencies. - postPatch = '' - pushd $cargoDepsCopy/alloy-sol-macro-expander - - oldHash=$(sha256sum src/expand/mod.rs | cut -d " " -f 1) - - substituteInPlace src/expand/mod.rs \ - --replace-warn \ - 'const RESOLVE_LIMIT: usize = 32;' 'const RESOLVE_LIMIT: usize = 128;' - - substituteInPlace .cargo-checksum.json \ - --replace-warn $oldHash $(sha256sum src/expand/mod.rs | cut -d " " -f 1) - - popd - ''; - }) + foundry-bin solc nodePackages.prettier solhint @@ -261,6 +250,21 @@ RUST_SRC_PATH = "${stableToolchain}/lib/rustlib/src/rust/library"; FOUNDRY_SOLC = "${solc}/bin/solc"; }); + # A shell with foundry v0.3.0 which can still build ethers-rs bindings. + # Can be removed when we are no longer using the ethers-rs bindings. + devShells.legacyFoundry = + let + overlays = [ + solc-bin.overlays.default + ]; + pkgs = import nixpkgs-legacy-foundry { inherit system overlays; }; + in + mkShell { + packages = with pkgs; [ + solc + foundry + ]; + }; devShells.crossShell = crossShell { config = "x86_64-unknown-linux-musl"; }; devShells.armCrossShell = @@ -275,7 +279,7 @@ buildInputs = [ # Rust dependencies pkg-config - openssl_3 + openssl curl protobuf # to compile libp2p-autonat toolchain @@ -289,7 +293,7 @@ buildInputs = [ # Rust dependencies pkg-config - openssl_3 + openssl curl protobuf # to compile libp2p-autonat toolchain @@ -312,7 +316,7 @@ buildInputs = [ # Rust dependencies pkg-config - openssl_3 + openssl curl protobuf # to compile libp2p-autonat stableToolchain diff --git a/foundry.toml b/foundry.toml index e80e9a402e..9d3bfc1697 100644 --- a/foundry.toml +++ b/foundry.toml @@ -22,6 +22,9 @@ extra_output = ["storageLayout"] fs_permissions = [{ access = "read-write", path = "./contracts/script/"}, { access = "read-write", path = "contracts/out"}] ignored_warnings_from = ['contracts/lib'] +# Without the optimizer we hit stack too deep errors. +optimizer = true + # See more config options https://github.com/foundry-rs/foundry/tree/master/config [rpc_endpoints] diff --git a/justfile b/justfile index 739b4b544f..b53f445648 100644 --- a/justfile +++ b/justfile @@ -141,7 +141,7 @@ gen-bindings: git submodule update --init --recursive # Generate the ethers bindings - forge bind --contracts ./contracts/src/ --ethers --crate-name contract-bindings-ethers --bindings-path contract-bindings-ethers --select "{{REGEXP}}" --overwrite --force + nix develop .#legacyFoundry -c forge bind --contracts ./contracts/src/ --ethers --crate-name contract-bindings-ethers --bindings-path contract-bindings-ethers --select "{{REGEXP}}" --overwrite --force # Foundry doesn't include bytecode in the bindings for LightClient.sol, since it links with # libraries. However, this bytecode is still needed to link and deploy the contract. Copy it to