Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: Adapt to Sphinx (Refactor proof handling) #161

Merged
merged 11 commits into from
Aug 20, 2024
Merged

Conversation

huitseeker
Copy link
Member

@huitseeker huitseeker commented Aug 15, 2024

Summary

This is the companion PR of argumentcomputer/sphinx#150

In Detail

  • Update Sphinx dependencies from tag v1.0.0 to branch forward_ports_43 across all components.
  • Modification of all instances of SphinxProof in favor of SphinxProofWithPublicValues.
  • Inclusion of the run() method call chained after the prove and execute functions across system (enacting builder pattern).
  • Removal and integration of separate prove_plonk and verify_plonk functions into main proving and verification functions using the method .plonk() where required.
  • Direct passing of stdin as an argument in the execute function across applications.
  • Update of the Rust Toolchain from "nightly-2024-07-30" to "nightly-2024-08-13" in both Aptos and Ethereum components.
  • Addition of bytes function for supporting different proof types in the fixture-generator.
  • Updating proof creation and validation in the fixture generation process with revised function calls.
  • Revisions in client and server operations to support SphinxProofWithPublicValues and updated function calls.
  • Update of tokio version from "1.39.0" to "1.39.2" and Hex dependency addition at version 0.4.3.

Note

This is a companion PR, what you want to look at the CI result of the penultimate commit. The last commit's failure is expected.

@huitseeker huitseeker changed the title refactor: Refactor proof handling across all components refactor: Adapt to Sphinx (Refactor proof handling) Aug 15, 2024
@huitseeker huitseeker force-pushed the adapt-forward_ports_43 branch 2 times, most recently from da9be1f to c47b4bd Compare August 15, 2024 22:47
@huitseeker huitseeker marked this pull request as ready for review August 15, 2024 23:19
Copy link
Member

@wwared wwared left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks good! Except I'm not 100% sure that the bytes() method in the fixture-generator is correct with the pr.raw_proof/pr.encoded_proof thing

Specifically, I'll try to generate some new fixtures with this updated branch to ensure those are working fine (I'm not sure but I think CI doesn't check this, since we only generate fixtures on a nightly job? I'll report back with results either way)

fixture-generator/src/bin/main.rs Outdated Show resolved Hide resolved
@wwared wwared requested a review from storojs72 August 16, 2024 14:55
@huitseeker
Copy link
Member Author

Except I'm not 100% sure that the bytes() method in the fixture-generator is correct with the pr.raw_proof/pr.encoded_proof thing

True, I can revert to the encoded proof if this is needed, it's an easy fix.

@wwared
Copy link
Member

wwared commented Aug 16, 2024

@samuelburnham: We will need to update the cycle-count-regression CI check due to output format changes, see #164. It's failing for aptos in this PR and the ethereum one is currently only passing because this PR has not yet been rebased on top of #163 so it's not running any tests. This is a lower priority/non-blocking issue that we can solve later on and merge with the failing CI checks if we need to

@wwared wwared force-pushed the adapt-forward_ports_43 branch 2 times, most recently from c326636 to a9ecdc0 Compare August 19, 2024 14:37
huitseeker and others added 10 commits August 20, 2024 18:01
- Update Sphinx dependencies from tag v1.0.0 to branch forward_ports_43 across all components.
- Modification of all instances of `SphinxProof` in favor of `SphinxProofWithPublicValues`.
- Inclusion of the run() method call chained after the `prove` and `execute` functions across system (enacting builder pattern).
- Removal and integration of separate `prove_plonk` and `verify_plonk` functions into main proving and verification functions using the method `.plonk()` where required.
- Direct passing of `stdin` as an argument in the `execute` function across applications.
- Update of the Rust Toolchain from "nightly-2024-07-30" to "nightly-2024-08-13" in both Aptos and Ethereum components.
- Addition of `bytes` function for supporting different proof types in the fixture-generator.
- Updating proof creation and validation in the fixture generation process with revised function calls.
- Revisions in client and server operations to support `SphinxProofWithPublicValues` and updated function calls.
- Update of `tokio` version from `"1.39.0"` to `"1.39.2"` and Hex dependency addition at version `0.4.3`.
@storojs72
Copy link
Member

I have updated Move tests, so now only cycle-count-regression stuff is broken. As we can tackle this in subsequent PRs, I think this one is good to merge once CI finishes

Copy link
Member

@wwared wwared left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

Copy link
Member

@tchataigner tchataigner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will just test the binaries flow before we merge it

Copy link
Member

@tchataigner tchataigner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we are good to go. I also checked for performances and we have a nice 10% gain on proof generation.

cc @huitseeker

@wwared wwared merged commit cb6f3ff into dev Aug 20, 2024
8 of 10 checks passed
@wwared wwared deleted the adapt-forward_ports_43 branch August 20, 2024 17:19
tchataigner pushed a commit that referenced this pull request Sep 27, 2024
* refactor: Refactor proof handling across all components

- Update Sphinx dependencies from tag v1.0.0 to branch forward_ports_43 across all components.
- Modification of all instances of `SphinxProof` in favor of `SphinxProofWithPublicValues`.
- Inclusion of the run() method call chained after the `prove` and `execute` functions across system (enacting builder pattern).
- Removal and integration of separate `prove_plonk` and `verify_plonk` functions into main proving and verification functions using the method `.plonk()` where required.
- Direct passing of `stdin` as an argument in the `execute` function across applications.
- Update of the Rust Toolchain from "nightly-2024-07-30" to "nightly-2024-08-13" in both Aptos and Ethereum components.
- Addition of `bytes` function for supporting different proof types in the fixture-generator.
- Updating proof creation and validation in the fixture generation process with revised function calls.
- Revisions in client and server operations to support `SphinxProofWithPublicValues` and updated function calls.
- Update of `tokio` version from `"1.39.0"` to `"1.39.2"` and Hex dependency addition at version `0.4.3`.

* fix: Adapt fixture-generator to prepend vkey hash

* fix: Fix small typo

* chore: Update forge dependencies

* fix: Update Move verifier constants and vkey logic

* chore: clippy

* fix: Fix the script.move version header logic

* chore: Update inclusion fixtures

* chore: Update fixtures

* chore: Update all solidity fixtures

* feat: Update Move codebase

---------

Co-authored-by: wwared <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>
tchataigner pushed a commit that referenced this pull request Sep 27, 2024
* refactor: Refactor proof handling across all components

- Update Sphinx dependencies from tag v1.0.0 to branch forward_ports_43 across all components.
- Modification of all instances of `SphinxProof` in favor of `SphinxProofWithPublicValues`.
- Inclusion of the run() method call chained after the `prove` and `execute` functions across system (enacting builder pattern).
- Removal and integration of separate `prove_plonk` and `verify_plonk` functions into main proving and verification functions using the method `.plonk()` where required.
- Direct passing of `stdin` as an argument in the `execute` function across applications.
- Update of the Rust Toolchain from "nightly-2024-07-30" to "nightly-2024-08-13" in both Aptos and Ethereum components.
- Addition of `bytes` function for supporting different proof types in the fixture-generator.
- Updating proof creation and validation in the fixture generation process with revised function calls.
- Revisions in client and server operations to support `SphinxProofWithPublicValues` and updated function calls.
- Update of `tokio` version from `"1.39.0"` to `"1.39.2"` and Hex dependency addition at version `0.4.3`.

* fix: Adapt fixture-generator to prepend vkey hash

* fix: Fix small typo

* chore: Update forge dependencies

* fix: Update Move verifier constants and vkey logic

* chore: clippy

* fix: Fix the script.move version header logic

* chore: Update inclusion fixtures

* chore: Update fixtures

* chore: Update all solidity fixtures

* feat: Update Move codebase

---------

Co-authored-by: wwared <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>
tchataigner added a commit that referenced this pull request Sep 27, 2024
* chore(aptos): Release `aptos-v1.1.0`

* refactor: update lock files

* ci: Add `cargo-deny` workflow (#79)

* ci: Add `cargo-deny` workflow (WIP)

* chore: use workspace dependencies

* chore: Refactor uneeded dependencies in aptos core Cargo.toml

- Removed `move-core-types` from workspace dependencies and the aptos feature in Cargo.toml file
- Stripped `reqwest` from the dev-dependencies within the aptos/core module

* fix: update deny.toml exceptions

- Modified various Cargo.toml files within the aptos project to standardize the `edition` field and reference the workspace.
- Added the "BUSL-1.1" license to multiple packages throughout the aptos codebase, including `proof-server`, `aptos-lc-core`, `aptos-programs`, `fixture-generator`, and `light-client`.
- Updated the deny.toml file, removing redundant sections and updating the list of exceptions to allow `aptos-lc-core` to use the "BUSL-1.1" license.
- Set edition 2021 in the workspace package configuration within the main aptos project's Cargo.toml.

* chore: add exception for number_range

* ci: fix deny action

* ci: Use `ssh-key` input for `cargo-deny-action`

* Test regular `cargo-deny` CLI

* Ignore `aptos` advisories

---------

Co-authored-by: François Garillot <[email protected]>

* ci: Update licenses (#86)

* ci: Update fixtures in nightly job (#92)

* ci: Update fixtures on a nightly job

* Parallelize and test flow

* Test E2E

* Prep for review

* Set to 1 retention day instead of the default (90)

* chore: Update fixtures (#94)

Co-authored-by: samuelburnham <[email protected]>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: Update fixtures (#95)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#98)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#107)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#114)

Co-authored-by: tchataigner <[email protected]>

* feat: Wrapper contract with additional LC protocol-specific checks  (#111)

* feat: Add stub for Wrapper contract

* feat: Refactoring

* feat: Add logic for updating the signer hash

* chore: Fix compiler warnings

* chore: Add access control to signer hash setter

* feat: Include block_id, key and value into inclusion program output

* chore: Update wrapper contract testing

* feat: Use block hash as unique block identifier

* chore: Requested changes

* chore: Update fixtures (#116)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#120)

Co-authored-by: tchataigner <[email protected]>

* feat: Lookahead Move verifier (#119)

* feat: Restructured fixture generator

* feat: Add epoch change fixture generating using ethereum program

* chore: Bind foundry/forge dependencies to particular versions

* chore: Update CI to generate Move fixtures as well

* feat: Add initial Move wrapper that implements lookahead verification

* feat: Generating inclusion proof fixture using Ethereum program

* chore: Update Move fixtures

* feat: Update core verifier

* feat: Update Move wrapper contract

* chore: Update Move Readme

* chore: Properly update submodules

* ci: Update fixture CI workflow

* chore: Move fixture-generator to root of the repository

* docs: Update documentation about on-chain verification (Aptos / Ethereum)

* chore: Move test utilities to separate module

* chore: Addressing review comments related to Move wrapper contract

* chore: Address review comments

* chore: Fix inclusion program output format (#122)

* feat: Avoid committing merkle value length (inclusion program)

* feat: Adapt Move wrapper

* chore: Update fixtures (#124)

Co-authored-by: tchataigner <[email protected]>

* Revert "chore: Update fixtures (#124)" (#129)

This reverts commit 73bd552.

* fix: fixtures (#130)

* fix: fixture generation

* ci: Fix `fixtures.yml`

* Test `fixtures.yml`

* Fixup and test `fixtures.yml`

* fix: update fixtures

* Fixup

* Prep for review

---------

Co-authored-by: Samuel Burnham <[email protected]>

* chore: Update `aptos` Rust version to `nightly-2024-07-30` (#139)

Co-authored-by: tchataigner <[email protected]>

* feat: port patches 1.0.1 (#141)

* chore(ethereum): Release 1.0.1 (#140)

* chore(ethereum): Release 1.0.1

* fix: add execution payload proof verification

* fix: remove non-necessary mut

* docs: update snark bench

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Thomas Chataigner <[email protected]>

* chore(aptos): Release 1.0.1 (#135)

* chore(aptos): Release 1.0.1

* feat: bootstrap client (#75)

* feat: fetch checkpoint and bootstrap

Signed-off-by: Thomas Chataigner <[email protected]>

* docs: started doc for client

* docs: rust doc

* chore: clean deps + fmt + xclippy

* refactor: simplify readability for serde methods

* refactor: apply suggestion from review

Co-authored-by: wwared <[email protected]>

* refactor: rename const var & check no leftover bytes

* fix: fix base length for LightClientHeader

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: wwared <[email protected]>

* ci: Add `cargo-deny` workflow (#79)

* ci: Add `cargo-deny` workflow (WIP)

* chore: use workspace dependencies

* chore: Refactor uneeded dependencies in aptos core Cargo.toml

- Removed `move-core-types` from workspace dependencies and the aptos feature in Cargo.toml file
- Stripped `reqwest` from the dev-dependencies within the aptos/core module

* fix: update deny.toml exceptions

- Modified various Cargo.toml files within the aptos project to standardize the `edition` field and reference the workspace.
- Added the "BUSL-1.1" license to multiple packages throughout the aptos codebase, including `proof-server`, `aptos-lc-core`, `aptos-programs`, `fixture-generator`, and `light-client`.
- Updated the deny.toml file, removing redundant sections and updating the list of exceptions to allow `aptos-lc-core` to use the "BUSL-1.1" license.
- Set edition 2021 in the workspace package configuration within the main aptos project's Cargo.toml.

* chore: add exception for number_range

* ci: fix deny action

* ci: Use `ssh-key` input for `cargo-deny-action`

* Test regular `cargo-deny` CLI

* Ignore `aptos` advisories

---------

Co-authored-by: François Garillot <[email protected]>

* ci: Update licenses (#86)

* ci: Update fixtures in nightly job (#92)

* ci: Update fixtures on a nightly job

* Parallelize and test flow

* Test E2E

* Prep for review

* Set to 1 retention day instead of the default (90)

* chore: Update fixtures (#94)

Co-authored-by: samuelburnham <[email protected]>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: Update fixtures (#95)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#98)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#107)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#114)

Co-authored-by: tchataigner <[email protected]>

* feat: Wrapper contract with additional LC protocol-specific checks  (#111)

* feat: Add stub for Wrapper contract

* feat: Refactoring

* feat: Add logic for updating the signer hash

* chore: Fix compiler warnings

* chore: Add access control to signer hash setter

* feat: Include block_id, key and value into inclusion program output

* chore: Update wrapper contract testing

* feat: Use block hash as unique block identifier

* chore: Requested changes

* chore: Update fixtures (#116)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#120)

Co-authored-by: tchataigner <[email protected]>

* feat: Lookahead Move verifier (#119)

* feat: Restructured fixture generator

* feat: Add epoch change fixture generating using ethereum program

* chore: Bind foundry/forge dependencies to particular versions

* chore: Update CI to generate Move fixtures as well

* feat: Add initial Move wrapper that implements lookahead verification

* feat: Generating inclusion proof fixture using Ethereum program

* chore: Update Move fixtures

* feat: Update core verifier

* feat: Update Move wrapper contract

* chore: Update Move Readme

* chore: Properly update submodules

* ci: Update fixture CI workflow

* chore: Move fixture-generator to root of the repository

* docs: Update documentation about on-chain verification (Aptos / Ethereum)

* chore: Move test utilities to separate module

* chore: Addressing review comments related to Move wrapper contract

* chore: Address review comments

* feat: update deps to fit release branch

* chore: Update fixtures (#124)

Co-authored-by: tchataigner <[email protected]>

* feat: compact data inclusion (#125)

* feat: compact data

* feat: more clippy rules

* refactor: move test utils to core

* fix: needed feature for eth-lc-core

* refactor: refactor visibility to move

* Revert "chore: Update fixtures (#124)" (#129)

This reverts commit 73bd552.

* fix: fixtures (#130)

* fix: fixture generation

* ci: Fix `fixtures.yml`

* Test `fixtures.yml`

* Fixup and test `fixtures.yml`

* fix: update fixtures

* Fixup

* Prep for review

---------

Co-authored-by: Samuel Burnham <[email protected]>

* docs: update doc (#132)

* docs: update doc

* refactor: apply suggestions

Co-authored-by: wwared <[email protected]>

* refactor: second batch of suggestion

Co-authored-by: wwared <[email protected]>

---------

Co-authored-by: wwared <[email protected]>

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: wwared <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>

* update licenses (#142)

* update licenses

* Update Rust licenses

* Remove MIT

* Update license

* Update Ethereum license

* rename Yatima -> Argument

* chore: modify forgotten file

---------

Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>

* chore: Rename to argument (#144)

* chore: Update deny.toml for new defaults (#145)

Co-authored-by: wwared <[email protected]>

* ci: simplify URL for dependencies

* ci: remove token setup for no-longer-private repos

* chore: Update fixtures (#155)

Co-authored-by: tchataigner <[email protected]>

* chore: Update `aptos` Rust version to `nightly-2024-08-13` (#158)

Co-authored-by: tchataigner <[email protected]>

* chore: Update sphinx dependencies to use 'dev' branch (#165)

- Upgraded the dependency versions of `sphinx-derive`, `sphinx-sdk`, `sphinx-zkvm`, `sphinx-helper`, and `sphinx-prover` across multiple programs and modules from release `v1.0.0` to development branch `dev`.

* chore: update dependencies, fix optional deps (#168)

* chore: update dependencies

* chore: make opt deps more obvious

* chore: Add dependabot configuration for Rust packages

- Updated the Dependabot configuration for better package management
- Limited the scope of updates for Rust dependencies to minor and patch only
- Set a maximum limit for open pull-requests for the Cargo package ecosystem

* fix: Use `Box::pin` for large futures in ethereum's client binary (#177)

* chore: Add `large_futures` clippy lint to xclippy

* fix: Use `Box::pin` to heap allocate large futures

---------

Co-authored-by: wwared <[email protected]>

* refactor: Adapt to Sphinx (Refactor proof handling) (#161)

* refactor: Refactor proof handling across all components

- Update Sphinx dependencies from tag v1.0.0 to branch forward_ports_43 across all components.
- Modification of all instances of `SphinxProof` in favor of `SphinxProofWithPublicValues`.
- Inclusion of the run() method call chained after the `prove` and `execute` functions across system (enacting builder pattern).
- Removal and integration of separate `prove_plonk` and `verify_plonk` functions into main proving and verification functions using the method `.plonk()` where required.
- Direct passing of `stdin` as an argument in the `execute` function across applications.
- Update of the Rust Toolchain from "nightly-2024-07-30" to "nightly-2024-08-13" in both Aptos and Ethereum components.
- Addition of `bytes` function for supporting different proof types in the fixture-generator.
- Updating proof creation and validation in the fixture generation process with revised function calls.
- Revisions in client and server operations to support `SphinxProofWithPublicValues` and updated function calls.
- Update of `tokio` version from `"1.39.0"` to `"1.39.2"` and Hex dependency addition at version `0.4.3`.

* fix: Adapt fixture-generator to prepend vkey hash

* fix: Fix small typo

* chore: Update forge dependencies

* fix: Update Move verifier constants and vkey logic

* chore: clippy

* fix: Fix the script.move version header logic

* chore: Update inclusion fixtures

* chore: Update fixtures

* chore: Update all solidity fixtures

* feat: Update Move codebase

---------

Co-authored-by: wwared <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>

* refactor: update lock files

* chore: Remove superfluous nightly versions (#185)

* chore: Remove superfluous nightly versions

* Use `rust-toolchain.toml` version in CI

* ci: Use custom runner for `bench.yml` (#187)

* ci: Use custom runner for `bench.yml`

* Address review

* Address review

* ci: Fix cycle regression checker (#188)

* ci: Fix cycle regression checker

* Test workflow

* Prep for review

* feat: Update E2E Aptos bench (#196)

* chore: Add script for searching optimal values of sphinx envvars

* chore: Tune default values of sphinx envvars evaluated on r7iz.metal-16xl

* chore: Update Cargo.lock

* chore: Add section to docs about optimal parameters detection

* docs: Update e2e bench documentation

* feat: docker & k8s (#12)

* feat: docker & k8s

Signed-off-by: Thomas Chataigner <[email protected]>

* feat: wip docker

* feat: wip docker flexible lc

* feat: simplify k8s conf

* feat: refactor aptos proof server to one bin

* feat: one server bin eth + k8s aptos

* feat: ethereum client configuration

* chore: lint

* ci: revise docker publish

* refactor: base review integrated

* chore: lint

* refactor: router for proof server + health check

* refactor: ethereum health check

* refactor: probes

* refactor: multiple routes eth proof server

* refactor: fix compilation

* refactor: accept octet stream

* refactor: change handling request proof server

* refactor: all routes working

* refactor: not using serde json

* refactor: only one request

* refactor: health does not count as increment

* fix: fix middleware

* refactor: working aptos proof_server

* chore: use let-else more effectively (#197)

* refactor: replicas

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: François Garillot <[email protected]>

* chore: Update fixtures (#198)

Co-authored-by: tchataigner <[email protected]>

* chore: Update `aptos` Rust version to `nightly-2024-08-29` (#200)

* chore: authorize too long first paragraph

* chore: Update `aptos` Rust version to `nightly-2024-08-29`

---------

Co-authored-by: Thomas Chataigner <[email protected]>

* chore: Update fixtures (#203)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#206)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#208)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#212)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#215)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#218)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#222)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#223)

Co-authored-by: tchataigner <[email protected]>

* chore: Update `aptos` Rust version to `nightly-2024-09-13` (#227)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#229)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#230)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#232)

Co-authored-by: tchataigner <[email protected]>

* feat: helm chart (#228)

* feat: wip helm

* refactor: remove client from dockerfile

* feat: helm icon

* refactor: refactor helm & introduce eksctl conf

* refactor: helm with node selector

* refactor: external IP for cluster

* refactor: use published docker image

* refactor: fix command

* refactor: remove secondary dep

* refactor: proper comp config dockerfile

* refactor: remove not needed file

* refactor: always pull image

* refactor: pull image for docker compose

* refactor: docker compose file

* refactor: proper command

* refactor: liveness & readiness

* refactor: fix middleware

* refactor: pas s rust flags

* fix: fix stack overflow

* fix: stack limit as str & change build target

* refactor: lint

* fix: docker file

* refactor: change target for build

* refactor: idle time limit load balancer + docs

* refactor: lint

* docs: review typo fix

Co-authored-by: Samuel Burnham <[email protected]>

* refactor: integrate review

---------

Co-authored-by: Samuel Burnham <[email protected]>

* chore: Update fixtures (#235)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#238)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#242)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#245)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#248)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#252)

Co-authored-by: tchataigner <[email protected]>

* feat: aptos cleanup (#253)

* refactor: update sphinx dep & SNARK proof benchmarks

* refactor: base makefile SNARK

* fix: fix inclusion bench

* refactor: snark proving sig

* fix: fix inclusion bench

* fix: proof server bench

* docs: refer to docker

* docs: proper instance

* docs: snark proof single bench

* refactor: lint

* docs: refactor linebreaks

* refactor: refer aptos in docker folder

* refactor: update git org

* fix: deny (#250)

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: Thomas Chataigner <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Artem Storozhuk <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: wwared <[email protected]>
Co-authored-by: John Chandler Burnham <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: argument-ci-bot[bot] <178725181+argument-ci-bot[bot]@users.noreply.github.com>
tchataigner added a commit that referenced this pull request Sep 27, 2024
* chore(aptos): Release `aptos-v1.1.0`

* refactor: update lock files

* ci: Add `cargo-deny` workflow (#79)

* ci: Add `cargo-deny` workflow (WIP)

* chore: use workspace dependencies

* chore: Refactor uneeded dependencies in aptos core Cargo.toml

- Removed `move-core-types` from workspace dependencies and the aptos feature in Cargo.toml file
- Stripped `reqwest` from the dev-dependencies within the aptos/core module

* fix: update deny.toml exceptions

- Modified various Cargo.toml files within the aptos project to standardize the `edition` field and reference the workspace.
- Added the "BUSL-1.1" license to multiple packages throughout the aptos codebase, including `proof-server`, `aptos-lc-core`, `aptos-programs`, `fixture-generator`, and `light-client`.
- Updated the deny.toml file, removing redundant sections and updating the list of exceptions to allow `aptos-lc-core` to use the "BUSL-1.1" license.
- Set edition 2021 in the workspace package configuration within the main aptos project's Cargo.toml.

* chore: add exception for number_range

* ci: fix deny action

* ci: Use `ssh-key` input for `cargo-deny-action`

* Test regular `cargo-deny` CLI

* Ignore `aptos` advisories

---------

Co-authored-by: François Garillot <[email protected]>

* ci: Update licenses (#86)

* ci: Update fixtures in nightly job (#92)

* ci: Update fixtures on a nightly job

* Parallelize and test flow

* Test E2E

* Prep for review

* Set to 1 retention day instead of the default (90)

* chore: Update fixtures (#94)

Co-authored-by: samuelburnham <[email protected]>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: Update fixtures (#95)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#98)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#107)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#114)

Co-authored-by: tchataigner <[email protected]>

* feat: Wrapper contract with additional LC protocol-specific checks  (#111)

* feat: Add stub for Wrapper contract

* feat: Refactoring

* feat: Add logic for updating the signer hash

* chore: Fix compiler warnings

* chore: Add access control to signer hash setter

* feat: Include block_id, key and value into inclusion program output

* chore: Update wrapper contract testing

* feat: Use block hash as unique block identifier

* chore: Requested changes

* chore: Update fixtures (#116)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#120)

Co-authored-by: tchataigner <[email protected]>

* feat: Lookahead Move verifier (#119)

* feat: Restructured fixture generator

* feat: Add epoch change fixture generating using ethereum program

* chore: Bind foundry/forge dependencies to particular versions

* chore: Update CI to generate Move fixtures as well

* feat: Add initial Move wrapper that implements lookahead verification

* feat: Generating inclusion proof fixture using Ethereum program

* chore: Update Move fixtures

* feat: Update core verifier

* feat: Update Move wrapper contract

* chore: Update Move Readme

* chore: Properly update submodules

* ci: Update fixture CI workflow

* chore: Move fixture-generator to root of the repository

* docs: Update documentation about on-chain verification (Aptos / Ethereum)

* chore: Move test utilities to separate module

* chore: Addressing review comments related to Move wrapper contract

* chore: Address review comments

* chore: Fix inclusion program output format (#122)

* feat: Avoid committing merkle value length (inclusion program)

* feat: Adapt Move wrapper

* chore: Update fixtures (#124)

Co-authored-by: tchataigner <[email protected]>

* Revert "chore: Update fixtures (#124)" (#129)

This reverts commit 73bd552.

* fix: fixtures (#130)

* fix: fixture generation

* ci: Fix `fixtures.yml`

* Test `fixtures.yml`

* Fixup and test `fixtures.yml`

* fix: update fixtures

* Fixup

* Prep for review

---------

Co-authored-by: Samuel Burnham <[email protected]>

* chore: Update `aptos` Rust version to `nightly-2024-07-30` (#139)

Co-authored-by: tchataigner <[email protected]>

* feat: port patches 1.0.1 (#141)

* chore(ethereum): Release 1.0.1 (#140)

* chore(ethereum): Release 1.0.1

* fix: add execution payload proof verification

* fix: remove non-necessary mut

* docs: update snark bench

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Thomas Chataigner <[email protected]>

* chore(aptos): Release 1.0.1 (#135)

* chore(aptos): Release 1.0.1

* feat: bootstrap client (#75)

* feat: fetch checkpoint and bootstrap

Signed-off-by: Thomas Chataigner <[email protected]>

* docs: started doc for client

* docs: rust doc

* chore: clean deps + fmt + xclippy

* refactor: simplify readability for serde methods

* refactor: apply suggestion from review

Co-authored-by: wwared <[email protected]>

* refactor: rename const var & check no leftover bytes

* fix: fix base length for LightClientHeader

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: wwared <[email protected]>

* ci: Add `cargo-deny` workflow (#79)

* ci: Add `cargo-deny` workflow (WIP)

* chore: use workspace dependencies

* chore: Refactor uneeded dependencies in aptos core Cargo.toml

- Removed `move-core-types` from workspace dependencies and the aptos feature in Cargo.toml file
- Stripped `reqwest` from the dev-dependencies within the aptos/core module

* fix: update deny.toml exceptions

- Modified various Cargo.toml files within the aptos project to standardize the `edition` field and reference the workspace.
- Added the "BUSL-1.1" license to multiple packages throughout the aptos codebase, including `proof-server`, `aptos-lc-core`, `aptos-programs`, `fixture-generator`, and `light-client`.
- Updated the deny.toml file, removing redundant sections and updating the list of exceptions to allow `aptos-lc-core` to use the "BUSL-1.1" license.
- Set edition 2021 in the workspace package configuration within the main aptos project's Cargo.toml.

* chore: add exception for number_range

* ci: fix deny action

* ci: Use `ssh-key` input for `cargo-deny-action`

* Test regular `cargo-deny` CLI

* Ignore `aptos` advisories

---------

Co-authored-by: François Garillot <[email protected]>

* ci: Update licenses (#86)

* ci: Update fixtures in nightly job (#92)

* ci: Update fixtures on a nightly job

* Parallelize and test flow

* Test E2E

* Prep for review

* Set to 1 retention day instead of the default (90)

* chore: Update fixtures (#94)

Co-authored-by: samuelburnham <[email protected]>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: Update fixtures (#95)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#98)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#107)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#114)

Co-authored-by: tchataigner <[email protected]>

* feat: Wrapper contract with additional LC protocol-specific checks  (#111)

* feat: Add stub for Wrapper contract

* feat: Refactoring

* feat: Add logic for updating the signer hash

* chore: Fix compiler warnings

* chore: Add access control to signer hash setter

* feat: Include block_id, key and value into inclusion program output

* chore: Update wrapper contract testing

* feat: Use block hash as unique block identifier

* chore: Requested changes

* chore: Update fixtures (#116)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#120)

Co-authored-by: tchataigner <[email protected]>

* feat: Lookahead Move verifier (#119)

* feat: Restructured fixture generator

* feat: Add epoch change fixture generating using ethereum program

* chore: Bind foundry/forge dependencies to particular versions

* chore: Update CI to generate Move fixtures as well

* feat: Add initial Move wrapper that implements lookahead verification

* feat: Generating inclusion proof fixture using Ethereum program

* chore: Update Move fixtures

* feat: Update core verifier

* feat: Update Move wrapper contract

* chore: Update Move Readme

* chore: Properly update submodules

* ci: Update fixture CI workflow

* chore: Move fixture-generator to root of the repository

* docs: Update documentation about on-chain verification (Aptos / Ethereum)

* chore: Move test utilities to separate module

* chore: Addressing review comments related to Move wrapper contract

* chore: Address review comments

* feat: update deps to fit release branch

* chore: Update fixtures (#124)

Co-authored-by: tchataigner <[email protected]>

* feat: compact data inclusion (#125)

* feat: compact data

* feat: more clippy rules

* refactor: move test utils to core

* fix: needed feature for eth-lc-core

* refactor: refactor visibility to move

* Revert "chore: Update fixtures (#124)" (#129)

This reverts commit 73bd552.

* fix: fixtures (#130)

* fix: fixture generation

* ci: Fix `fixtures.yml`

* Test `fixtures.yml`

* Fixup and test `fixtures.yml`

* fix: update fixtures

* Fixup

* Prep for review

---------

Co-authored-by: Samuel Burnham <[email protected]>

* docs: update doc (#132)

* docs: update doc

* refactor: apply suggestions

Co-authored-by: wwared <[email protected]>

* refactor: second batch of suggestion

Co-authored-by: wwared <[email protected]>

---------

Co-authored-by: wwared <[email protected]>

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: wwared <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>

* update licenses (#142)

* update licenses

* Update Rust licenses

* Remove MIT

* Update license

* Update Ethereum license

* rename Yatima -> Argument

* chore: modify forgotten file

---------

Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>

* chore: Rename to argument (#144)

* chore: Update deny.toml for new defaults (#145)

Co-authored-by: wwared <[email protected]>

* ci: simplify URL for dependencies

* ci: remove token setup for no-longer-private repos

* chore: Update fixtures (#155)

Co-authored-by: tchataigner <[email protected]>

* chore: Update `aptos` Rust version to `nightly-2024-08-13` (#158)

Co-authored-by: tchataigner <[email protected]>

* chore: Update sphinx dependencies to use 'dev' branch (#165)

- Upgraded the dependency versions of `sphinx-derive`, `sphinx-sdk`, `sphinx-zkvm`, `sphinx-helper`, and `sphinx-prover` across multiple programs and modules from release `v1.0.0` to development branch `dev`.

* chore: update dependencies, fix optional deps (#168)

* chore: update dependencies

* chore: make opt deps more obvious

* chore: Add dependabot configuration for Rust packages

- Updated the Dependabot configuration for better package management
- Limited the scope of updates for Rust dependencies to minor and patch only
- Set a maximum limit for open pull-requests for the Cargo package ecosystem

* fix: Use `Box::pin` for large futures in ethereum's client binary (#177)

* chore: Add `large_futures` clippy lint to xclippy

* fix: Use `Box::pin` to heap allocate large futures

---------

Co-authored-by: wwared <[email protected]>

* refactor: Adapt to Sphinx (Refactor proof handling) (#161)

* refactor: Refactor proof handling across all components

- Update Sphinx dependencies from tag v1.0.0 to branch forward_ports_43 across all components.
- Modification of all instances of `SphinxProof` in favor of `SphinxProofWithPublicValues`.
- Inclusion of the run() method call chained after the `prove` and `execute` functions across system (enacting builder pattern).
- Removal and integration of separate `prove_plonk` and `verify_plonk` functions into main proving and verification functions using the method `.plonk()` where required.
- Direct passing of `stdin` as an argument in the `execute` function across applications.
- Update of the Rust Toolchain from "nightly-2024-07-30" to "nightly-2024-08-13" in both Aptos and Ethereum components.
- Addition of `bytes` function for supporting different proof types in the fixture-generator.
- Updating proof creation and validation in the fixture generation process with revised function calls.
- Revisions in client and server operations to support `SphinxProofWithPublicValues` and updated function calls.
- Update of `tokio` version from `"1.39.0"` to `"1.39.2"` and Hex dependency addition at version `0.4.3`.

* fix: Adapt fixture-generator to prepend vkey hash

* fix: Fix small typo

* chore: Update forge dependencies

* fix: Update Move verifier constants and vkey logic

* chore: clippy

* fix: Fix the script.move version header logic

* chore: Update inclusion fixtures

* chore: Update fixtures

* chore: Update all solidity fixtures

* feat: Update Move codebase

---------

Co-authored-by: wwared <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>

* refactor: update lock files

* chore: Remove superfluous nightly versions (#185)

* chore: Remove superfluous nightly versions

* Use `rust-toolchain.toml` version in CI

* ci: Use custom runner for `bench.yml` (#187)

* ci: Use custom runner for `bench.yml`

* Address review

* Address review

* ci: Fix cycle regression checker (#188)

* ci: Fix cycle regression checker

* Test workflow

* Prep for review

* feat: Update E2E Aptos bench (#196)

* chore: Add script for searching optimal values of sphinx envvars

* chore: Tune default values of sphinx envvars evaluated on r7iz.metal-16xl

* chore: Update Cargo.lock

* chore: Add section to docs about optimal parameters detection

* docs: Update e2e bench documentation

* feat: docker & k8s (#12)

* feat: docker & k8s

Signed-off-by: Thomas Chataigner <[email protected]>

* feat: wip docker

* feat: wip docker flexible lc

* feat: simplify k8s conf

* feat: refactor aptos proof server to one bin

* feat: one server bin eth + k8s aptos

* feat: ethereum client configuration

* chore: lint

* ci: revise docker publish

* refactor: base review integrated

* chore: lint

* refactor: router for proof server + health check

* refactor: ethereum health check

* refactor: probes

* refactor: multiple routes eth proof server

* refactor: fix compilation

* refactor: accept octet stream

* refactor: change handling request proof server

* refactor: all routes working

* refactor: not using serde json

* refactor: only one request

* refactor: health does not count as increment

* fix: fix middleware

* refactor: working aptos proof_server

* chore: use let-else more effectively (#197)

* refactor: replicas

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: François Garillot <[email protected]>

* chore: Update fixtures (#198)

Co-authored-by: tchataigner <[email protected]>

* chore: Update `aptos` Rust version to `nightly-2024-08-29` (#200)

* chore: authorize too long first paragraph

* chore: Update `aptos` Rust version to `nightly-2024-08-29`

---------

Co-authored-by: Thomas Chataigner <[email protected]>

* chore: Update fixtures (#203)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#206)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#208)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#212)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#215)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#218)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#222)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#223)

Co-authored-by: tchataigner <[email protected]>

* chore: Update `aptos` Rust version to `nightly-2024-09-13` (#227)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#229)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#230)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#232)

Co-authored-by: tchataigner <[email protected]>

* feat: helm chart (#228)

* feat: wip helm

* refactor: remove client from dockerfile

* feat: helm icon

* refactor: refactor helm & introduce eksctl conf

* refactor: helm with node selector

* refactor: external IP for cluster

* refactor: use published docker image

* refactor: fix command

* refactor: remove secondary dep

* refactor: proper comp config dockerfile

* refactor: remove not needed file

* refactor: always pull image

* refactor: pull image for docker compose

* refactor: docker compose file

* refactor: proper command

* refactor: liveness & readiness

* refactor: fix middleware

* refactor: pas s rust flags

* fix: fix stack overflow

* fix: stack limit as str & change build target

* refactor: lint

* fix: docker file

* refactor: change target for build

* refactor: idle time limit load balancer + docs

* refactor: lint

* docs: review typo fix

Co-authored-by: Samuel Burnham <[email protected]>

* refactor: integrate review

---------

Co-authored-by: Samuel Burnham <[email protected]>

* chore: Update fixtures (#235)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#238)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#242)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#245)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#248)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#252)

Co-authored-by: tchataigner <[email protected]>

* feat: aptos cleanup (#253)

* refactor: update sphinx dep & SNARK proof benchmarks

* refactor: base makefile SNARK

* fix: fix inclusion bench

* refactor: snark proving sig

* fix: fix inclusion bench

* fix: proof server bench

* docs: refer to docker

* docs: proper instance

* docs: snark proof single bench

* refactor: lint

* docs: refactor linebreaks

* refactor: refer aptos in docker folder

* refactor: update git org

* fix: deny (#250)

* ci: Refactor release workflow (#236)

* ci: Refactor release workflow

* Support manual release on `workflow_dispatch`

* Fix token

* feat: Implement Solidity contract for Kadena (#247)

* chore: forge init

* forge install: forge-std

v1.9.2

* feat: Add Foundry project stub for Kadena LC

* chore: Update forge dependencies

* feat: Update fixture-generator

* chore: Update Cargo.lock

* chore: Add Kadena-specific fixtures

* feat: Use encoded proof in Kadena-Solidity fixtures

* chore: Pick changes to SPV program (replace subject to its hash in the output)

* feat: Draft Wrapper contract logic

* feat: Finalize fixtures parsing

* feat: Finalize post-processing logic

* feat: Handle fork edge cases

* chore: Update Cargo.lock of fixture-generator

* ci: Add job for running Solidity unit tests from Kadena workspace

* chore: Address feedback (no fork case handling)

* ci: Unified solidity testing job

* chore: Address feedback

* ci: refactor solidity tests

* chore: Address feedback

* ci: Fix solidity unit tests

* ci: Fine-grained control over Solidity and Move tests

* feat: integrate review

* Attempt fix

* fix: attempt

* ci: Fix job outputs

---------

Co-authored-by: Thomas Chataigner <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>

* ci: Fix `release-pr.yml` version (#255)

* refactor: fix fixture generator Cargo.toml

* refactor: lint fixture generator

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Artem Storozhuk <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: wwared <[email protected]>
Co-authored-by: John Chandler Burnham <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: argument-ci-bot[bot] <178725181+argument-ci-bot[bot]@users.noreply.github.com>
tchataigner added a commit that referenced this pull request Sep 27, 2024
* chore(ethereum): Release `ethereum-v1.1.0`

* fix: Use `Box::pin` for large futures in ethereum's client binary (#177)

* chore: Add `large_futures` clippy lint to xclippy

* fix: Use `Box::pin` to heap allocate large futures

---------

Co-authored-by: wwared <[email protected]>

* refactor: Adapt to Sphinx (Refactor proof handling) (#161)

* refactor: Refactor proof handling across all components

- Update Sphinx dependencies from tag v1.0.0 to branch forward_ports_43 across all components.
- Modification of all instances of `SphinxProof` in favor of `SphinxProofWithPublicValues`.
- Inclusion of the run() method call chained after the `prove` and `execute` functions across system (enacting builder pattern).
- Removal and integration of separate `prove_plonk` and `verify_plonk` functions into main proving and verification functions using the method `.plonk()` where required.
- Direct passing of `stdin` as an argument in the `execute` function across applications.
- Update of the Rust Toolchain from "nightly-2024-07-30" to "nightly-2024-08-13" in both Aptos and Ethereum components.
- Addition of `bytes` function for supporting different proof types in the fixture-generator.
- Updating proof creation and validation in the fixture generation process with revised function calls.
- Revisions in client and server operations to support `SphinxProofWithPublicValues` and updated function calls.
- Update of `tokio` version from `"1.39.0"` to `"1.39.2"` and Hex dependency addition at version `0.4.3`.

* fix: Adapt fixture-generator to prepend vkey hash

* fix: Fix small typo

* chore: Update forge dependencies

* fix: Update Move verifier constants and vkey logic

* chore: clippy

* fix: Fix the script.move version header logic

* chore: Update inclusion fixtures

* chore: Update fixtures

* chore: Update all solidity fixtures

* feat: Update Move codebase

---------

Co-authored-by: wwared <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>

* chore: Update dependencies (#178)

* fix: Pass stdin as a ref (#183)

Co-authored-by: wwared <[email protected]>

* chore: Remove superfluous nightly versions (#185)

* chore: Remove superfluous nightly versions

* Use `rust-toolchain.toml` version in CI

* ci: Use custom runner for `bench.yml` (#187)

* ci: Use custom runner for `bench.yml`

* Address review

* Address review

* ci: Fix cycle regression checker (#188)

* ci: Fix cycle regression checker

* Test workflow

* Prep for review

* chore: Update fixtures (#160)

Co-authored-by: tchataigner <[email protected]>

* feat: docker & k8s (#12)

* feat: docker & k8s

Signed-off-by: Thomas Chataigner <[email protected]>

* feat: wip docker

* feat: wip docker flexible lc

* feat: simplify k8s conf

* feat: refactor aptos proof server to one bin

* feat: one server bin eth + k8s aptos

* feat: ethereum client configuration

* chore: lint

* ci: revise docker publish

* refactor: base review integrated

* chore: lint

* refactor: router for proof server + health check

* refactor: ethereum health check

* refactor: probes

* refactor: multiple routes eth proof server

* refactor: fix compilation

* refactor: accept octet stream

* refactor: change handling request proof server

* refactor: all routes working

* refactor: not using serde json

* refactor: only one request

* refactor: health does not count as increment

* fix: fix middleware

* refactor: working aptos proof_server

* chore: use let-else more effectively (#197)

* refactor: replicas

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: François Garillot <[email protected]>

* chore: Update fixtures (#198)

Co-authored-by: tchataigner <[email protected]>

* chore: Update `ethereum` Rust version to `nightly-2024-08-29` (#199)

* refactor: lint

* chore: Update `ethereum` Rust version to `nightly-2024-08-29`

* chore: authorize too long first paragraph

---------

Co-authored-by: Thomas Chataigner <[email protected]>

* chore: Update fixtures (#203)

Co-authored-by: tchataigner <[email protected]>

* feat: Initial Pact contract (#205)

* wip: Initial pact skeleton

* chore: Add function for inclusion event processing

* chore: Add correct proof version handling

* chore: Refactoring

* chore: Add test.repl

---------

Co-authored-by: wwared <[email protected]>

* chore: Update fixtures (#206)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#208)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#212)

Co-authored-by: tchataigner <[email protected]>

* fix: ethereum lc (#214)

* fix: fix forward endpoint

* fix: fix not used update

* fix: boxed store

* chore: Update fixtures (#215)

Co-authored-by: tchataigner <[email protected]>

* feat: fixture raw proof (#216)

* feat: revamp fixture generate

* feat: generate fixtures

* refactor: add fixture test

* fix: remove proof version check

* chore: Update fixtures (#218)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#222)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#223)

Co-authored-by: tchataigner <[email protected]>

* chore: Update `ethereum` Rust version to `nightly-2024-09-13` (#224)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#229)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#230)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#232)

Co-authored-by: tchataigner <[email protected]>

* feat: helm chart (#228)

* feat: wip helm

* refactor: remove client from dockerfile

* feat: helm icon

* refactor: refactor helm & introduce eksctl conf

* refactor: helm with node selector

* refactor: external IP for cluster

* refactor: use published docker image

* refactor: fix command

* refactor: remove secondary dep

* refactor: proper comp config dockerfile

* refactor: remove not needed file

* refactor: always pull image

* refactor: pull image for docker compose

* refactor: docker compose file

* refactor: proper command

* refactor: liveness & readiness

* refactor: fix middleware

* refactor: pas s rust flags

* fix: fix stack overflow

* fix: stack limit as str & change build target

* refactor: lint

* fix: docker file

* refactor: change target for build

* refactor: idle time limit load balancer + docs

* refactor: lint

* docs: review typo fix

Co-authored-by: Samuel Burnham <[email protected]>

* refactor: integrate review

---------

Co-authored-by: Samuel Burnham <[email protected]>

* chore: Update fixtures (#235)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#238)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#242)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#245)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#248)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#252)

Co-authored-by: tchataigner <[email protected]>

* feat: eth cleanup (#254)

* refactor: makefile 32xl

* docs: update benchamrks + fixed a few commands

* docs: refactor linebreaks

* refactor: latest sphinx + compile programs

* refactor: argumentcomputer

* refactor: xclippy

* fix: deny (#250)

* refactor: fix aptos deps

* ci: Refactor release workflow (#236)

* ci: Refactor release workflow

* Support manual release on `workflow_dispatch`

* Fix token

* refactor: fix fixture generator

* ci: Fix `release-pr.yml` version (#255)

* refactor: deny file

* update licenses (#142)

* update licenses

* Update Rust licenses

* Remove MIT

* Update license

* Update Ethereum license

* rename Yatima -> Argument

* chore: modify forgotten file

---------

Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: argument-ci-bot[bot] <178725181+argument-ci-bot[bot]@users.noreply.github.com>
Co-authored-by: John Chandler Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>
tchataigner added a commit that referenced this pull request Sep 28, 2024
* chore(ethereum): Release `ethereum-v1.1.0`

* fix: Use `Box::pin` for large futures in ethereum's client binary (#177)

* chore: Add `large_futures` clippy lint to xclippy

* fix: Use `Box::pin` to heap allocate large futures

---------

Co-authored-by: wwared <[email protected]>

* refactor: Adapt to Sphinx (Refactor proof handling) (#161)

* refactor: Refactor proof handling across all components

- Update Sphinx dependencies from tag v1.0.0 to branch forward_ports_43 across all components.
- Modification of all instances of `SphinxProof` in favor of `SphinxProofWithPublicValues`.
- Inclusion of the run() method call chained after the `prove` and `execute` functions across system (enacting builder pattern).
- Removal and integration of separate `prove_plonk` and `verify_plonk` functions into main proving and verification functions using the method `.plonk()` where required.
- Direct passing of `stdin` as an argument in the `execute` function across applications.
- Update of the Rust Toolchain from "nightly-2024-07-30" to "nightly-2024-08-13" in both Aptos and Ethereum components.
- Addition of `bytes` function for supporting different proof types in the fixture-generator.
- Updating proof creation and validation in the fixture generation process with revised function calls.
- Revisions in client and server operations to support `SphinxProofWithPublicValues` and updated function calls.
- Update of `tokio` version from `"1.39.0"` to `"1.39.2"` and Hex dependency addition at version `0.4.3`.

* fix: Adapt fixture-generator to prepend vkey hash

* fix: Fix small typo

* chore: Update forge dependencies

* fix: Update Move verifier constants and vkey logic

* chore: clippy

* fix: Fix the script.move version header logic

* chore: Update inclusion fixtures

* chore: Update fixtures

* chore: Update all solidity fixtures

* feat: Update Move codebase

---------

Co-authored-by: wwared <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>

* chore: Update dependencies (#178)

* fix: Pass stdin as a ref (#183)

Co-authored-by: wwared <[email protected]>

* chore: Remove superfluous nightly versions (#185)

* chore: Remove superfluous nightly versions

* Use `rust-toolchain.toml` version in CI

* ci: Use custom runner for `bench.yml` (#187)

* ci: Use custom runner for `bench.yml`

* Address review

* Address review

* ci: Fix cycle regression checker (#188)

* ci: Fix cycle regression checker

* Test workflow

* Prep for review

* chore: Update fixtures (#160)

Co-authored-by: tchataigner <[email protected]>

* feat: docker & k8s (#12)

* feat: docker & k8s

Signed-off-by: Thomas Chataigner <[email protected]>

* feat: wip docker

* feat: wip docker flexible lc

* feat: simplify k8s conf

* feat: refactor aptos proof server to one bin

* feat: one server bin eth + k8s aptos

* feat: ethereum client configuration

* chore: lint

* ci: revise docker publish

* refactor: base review integrated

* chore: lint

* refactor: router for proof server + health check

* refactor: ethereum health check

* refactor: probes

* refactor: multiple routes eth proof server

* refactor: fix compilation

* refactor: accept octet stream

* refactor: change handling request proof server

* refactor: all routes working

* refactor: not using serde json

* refactor: only one request

* refactor: health does not count as increment

* fix: fix middleware

* refactor: working aptos proof_server

* chore: use let-else more effectively (#197)

* refactor: replicas

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: François Garillot <[email protected]>

* chore: Update fixtures (#198)

Co-authored-by: tchataigner <[email protected]>

* chore: Update `ethereum` Rust version to `nightly-2024-08-29` (#199)

* refactor: lint

* chore: Update `ethereum` Rust version to `nightly-2024-08-29`

* chore: authorize too long first paragraph

---------

Co-authored-by: Thomas Chataigner <[email protected]>

* chore: Update fixtures (#203)

Co-authored-by: tchataigner <[email protected]>

* feat: Initial Pact contract (#205)

* wip: Initial pact skeleton

* chore: Add function for inclusion event processing

* chore: Add correct proof version handling

* chore: Refactoring

* chore: Add test.repl

---------

Co-authored-by: wwared <[email protected]>

* chore: Update fixtures (#206)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#208)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#212)

Co-authored-by: tchataigner <[email protected]>

* fix: ethereum lc (#214)

* fix: fix forward endpoint

* fix: fix not used update

* fix: boxed store

* chore: Update fixtures (#215)

Co-authored-by: tchataigner <[email protected]>

* feat: fixture raw proof (#216)

* feat: revamp fixture generate

* feat: generate fixtures

* refactor: add fixture test

* fix: remove proof version check

* chore: Update fixtures (#218)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#222)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#223)

Co-authored-by: tchataigner <[email protected]>

* chore: Update `ethereum` Rust version to `nightly-2024-09-13` (#224)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#229)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#230)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#232)

Co-authored-by: tchataigner <[email protected]>

* feat: helm chart (#228)

* feat: wip helm

* refactor: remove client from dockerfile

* feat: helm icon

* refactor: refactor helm & introduce eksctl conf

* refactor: helm with node selector

* refactor: external IP for cluster

* refactor: use published docker image

* refactor: fix command

* refactor: remove secondary dep

* refactor: proper comp config dockerfile

* refactor: remove not needed file

* refactor: always pull image

* refactor: pull image for docker compose

* refactor: docker compose file

* refactor: proper command

* refactor: liveness & readiness

* refactor: fix middleware

* refactor: pas s rust flags

* fix: fix stack overflow

* fix: stack limit as str & change build target

* refactor: lint

* fix: docker file

* refactor: change target for build

* refactor: idle time limit load balancer + docs

* refactor: lint

* docs: review typo fix

Co-authored-by: Samuel Burnham <[email protected]>

* refactor: integrate review

---------

Co-authored-by: Samuel Burnham <[email protected]>

* chore: Update fixtures (#235)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#238)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#242)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#245)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#248)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#252)

Co-authored-by: tchataigner <[email protected]>

* feat: eth cleanup (#254)

* refactor: makefile 32xl

* docs: update benchamrks + fixed a few commands

* docs: refactor linebreaks

* refactor: latest sphinx + compile programs

* refactor: argumentcomputer

* refactor: xclippy

* fix: deny (#250)

* refactor: fix aptos deps

* ci: Refactor release workflow (#236)

* ci: Refactor release workflow

* Support manual release on `workflow_dispatch`

* Fix token

* refactor: fix fixture generator

* ci: Fix `release-pr.yml` version (#255)

* refactor: deny file

* update licenses (#142)

* update licenses

* Update Rust licenses

* Remove MIT

* Update license

* Update Ethereum license

* rename Yatima -> Argument

* chore: modify forgotten file

---------

Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: argument-ci-bot[bot] <178725181+argument-ci-bot[bot]@users.noreply.github.com>
Co-authored-by: John Chandler Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>
tchataigner added a commit that referenced this pull request Sep 28, 2024
* chore(ethereum): Release `ethereum-v1.1.0`

* fix: Use `Box::pin` for large futures in ethereum's client binary (#177)

* chore: Add `large_futures` clippy lint to xclippy

* fix: Use `Box::pin` to heap allocate large futures

---------

Co-authored-by: wwared <[email protected]>

* refactor: Adapt to Sphinx (Refactor proof handling) (#161)

* refactor: Refactor proof handling across all components

- Update Sphinx dependencies from tag v1.0.0 to branch forward_ports_43 across all components.
- Modification of all instances of `SphinxProof` in favor of `SphinxProofWithPublicValues`.
- Inclusion of the run() method call chained after the `prove` and `execute` functions across system (enacting builder pattern).
- Removal and integration of separate `prove_plonk` and `verify_plonk` functions into main proving and verification functions using the method `.plonk()` where required.
- Direct passing of `stdin` as an argument in the `execute` function across applications.
- Update of the Rust Toolchain from "nightly-2024-07-30" to "nightly-2024-08-13" in both Aptos and Ethereum components.
- Addition of `bytes` function for supporting different proof types in the fixture-generator.
- Updating proof creation and validation in the fixture generation process with revised function calls.
- Revisions in client and server operations to support `SphinxProofWithPublicValues` and updated function calls.
- Update of `tokio` version from `"1.39.0"` to `"1.39.2"` and Hex dependency addition at version `0.4.3`.

* fix: Adapt fixture-generator to prepend vkey hash

* fix: Fix small typo

* chore: Update forge dependencies

* fix: Update Move verifier constants and vkey logic

* chore: clippy

* fix: Fix the script.move version header logic

* chore: Update inclusion fixtures

* chore: Update fixtures

* chore: Update all solidity fixtures

* feat: Update Move codebase

---------

Co-authored-by: wwared <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>

* chore: Update dependencies (#178)

* fix: Pass stdin as a ref (#183)

Co-authored-by: wwared <[email protected]>

* chore: Remove superfluous nightly versions (#185)

* chore: Remove superfluous nightly versions

* Use `rust-toolchain.toml` version in CI

* ci: Use custom runner for `bench.yml` (#187)

* ci: Use custom runner for `bench.yml`

* Address review

* Address review

* ci: Fix cycle regression checker (#188)

* ci: Fix cycle regression checker

* Test workflow

* Prep for review

* chore: Update fixtures (#160)

Co-authored-by: tchataigner <[email protected]>

* feat: docker & k8s (#12)

* feat: docker & k8s

Signed-off-by: Thomas Chataigner <[email protected]>

* feat: wip docker

* feat: wip docker flexible lc

* feat: simplify k8s conf

* feat: refactor aptos proof server to one bin

* feat: one server bin eth + k8s aptos

* feat: ethereum client configuration

* chore: lint

* ci: revise docker publish

* refactor: base review integrated

* chore: lint

* refactor: router for proof server + health check

* refactor: ethereum health check

* refactor: probes

* refactor: multiple routes eth proof server

* refactor: fix compilation

* refactor: accept octet stream

* refactor: change handling request proof server

* refactor: all routes working

* refactor: not using serde json

* refactor: only one request

* refactor: health does not count as increment

* fix: fix middleware

* refactor: working aptos proof_server

* chore: use let-else more effectively (#197)

* refactor: replicas

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: François Garillot <[email protected]>

* chore: Update fixtures (#198)

Co-authored-by: tchataigner <[email protected]>

* chore: Update `ethereum` Rust version to `nightly-2024-08-29` (#199)

* refactor: lint

* chore: Update `ethereum` Rust version to `nightly-2024-08-29`

* chore: authorize too long first paragraph

---------

Co-authored-by: Thomas Chataigner <[email protected]>

* chore: Update fixtures (#203)

Co-authored-by: tchataigner <[email protected]>

* feat: Initial Pact contract (#205)

* wip: Initial pact skeleton

* chore: Add function for inclusion event processing

* chore: Add correct proof version handling

* chore: Refactoring

* chore: Add test.repl

---------

Co-authored-by: wwared <[email protected]>

* chore: Update fixtures (#206)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#208)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#212)

Co-authored-by: tchataigner <[email protected]>

* fix: ethereum lc (#214)

* fix: fix forward endpoint

* fix: fix not used update

* fix: boxed store

* chore: Update fixtures (#215)

Co-authored-by: tchataigner <[email protected]>

* feat: fixture raw proof (#216)

* feat: revamp fixture generate

* feat: generate fixtures

* refactor: add fixture test

* fix: remove proof version check

* chore: Update fixtures (#218)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#222)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#223)

Co-authored-by: tchataigner <[email protected]>

* chore: Update `ethereum` Rust version to `nightly-2024-09-13` (#224)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#229)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#230)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#232)

Co-authored-by: tchataigner <[email protected]>

* feat: helm chart (#228)

* feat: wip helm

* refactor: remove client from dockerfile

* feat: helm icon

* refactor: refactor helm & introduce eksctl conf

* refactor: helm with node selector

* refactor: external IP for cluster

* refactor: use published docker image

* refactor: fix command

* refactor: remove secondary dep

* refactor: proper comp config dockerfile

* refactor: remove not needed file

* refactor: always pull image

* refactor: pull image for docker compose

* refactor: docker compose file

* refactor: proper command

* refactor: liveness & readiness

* refactor: fix middleware

* refactor: pas s rust flags

* fix: fix stack overflow

* fix: stack limit as str & change build target

* refactor: lint

* fix: docker file

* refactor: change target for build

* refactor: idle time limit load balancer + docs

* refactor: lint

* docs: review typo fix

Co-authored-by: Samuel Burnham <[email protected]>

* refactor: integrate review

---------

Co-authored-by: Samuel Burnham <[email protected]>

* chore: Update fixtures (#235)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#238)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#242)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#245)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#248)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#252)

Co-authored-by: tchataigner <[email protected]>

* feat: eth cleanup (#254)

* refactor: makefile 32xl

* docs: update benchamrks + fixed a few commands

* docs: refactor linebreaks

* refactor: latest sphinx + compile programs

* refactor: argumentcomputer

* refactor: xclippy

* fix: deny (#250)

* refactor: fix aptos deps

* ci: Refactor release workflow (#236)

* ci: Refactor release workflow

* Support manual release on `workflow_dispatch`

* Fix token

* refactor: fix fixture generator

* ci: Fix `release-pr.yml` version (#255)

* refactor: deny file

* update licenses (#142)

* update licenses

* Update Rust licenses

* Remove MIT

* Update license

* Update Ethereum license

* rename Yatima -> Argument

* chore: modify forgotten file

---------

Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: argument-ci-bot[bot] <178725181+argument-ci-bot[bot]@users.noreply.github.com>
Co-authored-by: John Chandler Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>
tchataigner added a commit that referenced this pull request Sep 28, 2024
* chore(ethereum): Release `ethereum-v1.1.0`

* fix: Use `Box::pin` for large futures in ethereum's client binary (#177)

* chore: Add `large_futures` clippy lint to xclippy

* fix: Use `Box::pin` to heap allocate large futures

---------

Co-authored-by: wwared <[email protected]>

* refactor: Adapt to Sphinx (Refactor proof handling) (#161)

* refactor: Refactor proof handling across all components

- Update Sphinx dependencies from tag v1.0.0 to branch forward_ports_43 across all components.
- Modification of all instances of `SphinxProof` in favor of `SphinxProofWithPublicValues`.
- Inclusion of the run() method call chained after the `prove` and `execute` functions across system (enacting builder pattern).
- Removal and integration of separate `prove_plonk` and `verify_plonk` functions into main proving and verification functions using the method `.plonk()` where required.
- Direct passing of `stdin` as an argument in the `execute` function across applications.
- Update of the Rust Toolchain from "nightly-2024-07-30" to "nightly-2024-08-13" in both Aptos and Ethereum components.
- Addition of `bytes` function for supporting different proof types in the fixture-generator.
- Updating proof creation and validation in the fixture generation process with revised function calls.
- Revisions in client and server operations to support `SphinxProofWithPublicValues` and updated function calls.
- Update of `tokio` version from `"1.39.0"` to `"1.39.2"` and Hex dependency addition at version `0.4.3`.

* fix: Adapt fixture-generator to prepend vkey hash

* fix: Fix small typo

* chore: Update forge dependencies

* fix: Update Move verifier constants and vkey logic

* chore: clippy

* fix: Fix the script.move version header logic

* chore: Update inclusion fixtures

* chore: Update fixtures

* chore: Update all solidity fixtures

* feat: Update Move codebase

---------

Co-authored-by: wwared <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>

* chore: Update dependencies (#178)

* fix: Pass stdin as a ref (#183)

Co-authored-by: wwared <[email protected]>

* chore: Remove superfluous nightly versions (#185)

* chore: Remove superfluous nightly versions

* Use `rust-toolchain.toml` version in CI

* ci: Use custom runner for `bench.yml` (#187)

* ci: Use custom runner for `bench.yml`

* Address review

* Address review

* ci: Fix cycle regression checker (#188)

* ci: Fix cycle regression checker

* Test workflow

* Prep for review

* chore: Update fixtures (#160)

Co-authored-by: tchataigner <[email protected]>

* feat: docker & k8s (#12)

* feat: docker & k8s

Signed-off-by: Thomas Chataigner <[email protected]>

* feat: wip docker

* feat: wip docker flexible lc

* feat: simplify k8s conf

* feat: refactor aptos proof server to one bin

* feat: one server bin eth + k8s aptos

* feat: ethereum client configuration

* chore: lint

* ci: revise docker publish

* refactor: base review integrated

* chore: lint

* refactor: router for proof server + health check

* refactor: ethereum health check

* refactor: probes

* refactor: multiple routes eth proof server

* refactor: fix compilation

* refactor: accept octet stream

* refactor: change handling request proof server

* refactor: all routes working

* refactor: not using serde json

* refactor: only one request

* refactor: health does not count as increment

* fix: fix middleware

* refactor: working aptos proof_server

* chore: use let-else more effectively (#197)

* refactor: replicas

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: François Garillot <[email protected]>

* chore: Update fixtures (#198)

Co-authored-by: tchataigner <[email protected]>

* chore: Update `ethereum` Rust version to `nightly-2024-08-29` (#199)

* refactor: lint

* chore: Update `ethereum` Rust version to `nightly-2024-08-29`

* chore: authorize too long first paragraph

---------

Co-authored-by: Thomas Chataigner <[email protected]>

* chore: Update fixtures (#203)

Co-authored-by: tchataigner <[email protected]>

* feat: Initial Pact contract (#205)

* wip: Initial pact skeleton

* chore: Add function for inclusion event processing

* chore: Add correct proof version handling

* chore: Refactoring

* chore: Add test.repl

---------

Co-authored-by: wwared <[email protected]>

* chore: Update fixtures (#206)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#208)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#212)

Co-authored-by: tchataigner <[email protected]>

* fix: ethereum lc (#214)

* fix: fix forward endpoint

* fix: fix not used update

* fix: boxed store

* chore: Update fixtures (#215)

Co-authored-by: tchataigner <[email protected]>

* feat: fixture raw proof (#216)

* feat: revamp fixture generate

* feat: generate fixtures

* refactor: add fixture test

* fix: remove proof version check

* chore: Update fixtures (#218)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#222)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#223)

Co-authored-by: tchataigner <[email protected]>

* chore: Update `ethereum` Rust version to `nightly-2024-09-13` (#224)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#229)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#230)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#232)

Co-authored-by: tchataigner <[email protected]>

* feat: helm chart (#228)

* feat: wip helm

* refactor: remove client from dockerfile

* feat: helm icon

* refactor: refactor helm & introduce eksctl conf

* refactor: helm with node selector

* refactor: external IP for cluster

* refactor: use published docker image

* refactor: fix command

* refactor: remove secondary dep

* refactor: proper comp config dockerfile

* refactor: remove not needed file

* refactor: always pull image

* refactor: pull image for docker compose

* refactor: docker compose file

* refactor: proper command

* refactor: liveness & readiness

* refactor: fix middleware

* refactor: pas s rust flags

* fix: fix stack overflow

* fix: stack limit as str & change build target

* refactor: lint

* fix: docker file

* refactor: change target for build

* refactor: idle time limit load balancer + docs

* refactor: lint

* docs: review typo fix

Co-authored-by: Samuel Burnham <[email protected]>

* refactor: integrate review

---------

Co-authored-by: Samuel Burnham <[email protected]>

* chore: Update fixtures (#235)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#238)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#242)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#245)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#248)

Co-authored-by: tchataigner <[email protected]>

* chore: Update fixtures (#252)

Co-authored-by: tchataigner <[email protected]>

* feat: eth cleanup (#254)

* refactor: makefile 32xl

* docs: update benchamrks + fixed a few commands

* docs: refactor linebreaks

* refactor: latest sphinx + compile programs

* refactor: argumentcomputer

* refactor: xclippy

* fix: deny (#250)

* refactor: fix aptos deps

* ci: Refactor release workflow (#236)

* ci: Refactor release workflow

* Support manual release on `workflow_dispatch`

* Fix token

* refactor: fix fixture generator

* ci: Fix `release-pr.yml` version (#255)

* refactor: deny file

* update licenses (#142)

* update licenses

* Update Rust licenses

* Remove MIT

* Update license

* Update Ethereum license

* rename Yatima -> Argument

* chore: modify forgotten file

---------

Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: argument-ci-bot[bot] <178725181+argument-ci-bot[bot]@users.noreply.github.com>
Co-authored-by: John Chandler Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>
tchataigner added a commit that referenced this pull request Sep 28, 2024
* chore(ethereum): Release `ethereum-v1.1.0`

* fix: Use `Box::pin` for large futures in ethereum's client binary (#177)

* chore: Add `large_futures` clippy lint to xclippy

* fix: Use `Box::pin` to heap allocate large futures

---------



* refactor: Adapt to Sphinx (Refactor proof handling) (#161)

* refactor: Refactor proof handling across all components

- Update Sphinx dependencies from tag v1.0.0 to branch forward_ports_43 across all components.
- Modification of all instances of `SphinxProof` in favor of `SphinxProofWithPublicValues`.
- Inclusion of the run() method call chained after the `prove` and `execute` functions across system (enacting builder pattern).
- Removal and integration of separate `prove_plonk` and `verify_plonk` functions into main proving and verification functions using the method `.plonk()` where required.
- Direct passing of `stdin` as an argument in the `execute` function across applications.
- Update of the Rust Toolchain from "nightly-2024-07-30" to "nightly-2024-08-13" in both Aptos and Ethereum components.
- Addition of `bytes` function for supporting different proof types in the fixture-generator.
- Updating proof creation and validation in the fixture generation process with revised function calls.
- Revisions in client and server operations to support `SphinxProofWithPublicValues` and updated function calls.
- Update of `tokio` version from `"1.39.0"` to `"1.39.2"` and Hex dependency addition at version `0.4.3`.

* fix: Adapt fixture-generator to prepend vkey hash

* fix: Fix small typo

* chore: Update forge dependencies

* fix: Update Move verifier constants and vkey logic

* chore: clippy

* fix: Fix the script.move version header logic

* chore: Update inclusion fixtures

* chore: Update fixtures

* chore: Update all solidity fixtures

* feat: Update Move codebase

---------




* chore: Update dependencies (#178)

* fix: Pass stdin as a ref (#183)



* chore: Remove superfluous nightly versions (#185)

* chore: Remove superfluous nightly versions

* Use `rust-toolchain.toml` version in CI

* ci: Use custom runner for `bench.yml` (#187)

* ci: Use custom runner for `bench.yml`

* Address review

* Address review

* ci: Fix cycle regression checker (#188)

* ci: Fix cycle regression checker

* Test workflow

* Prep for review

* chore: Update fixtures (#160)



* feat: docker & k8s (#12)

* feat: docker & k8s



* feat: wip docker

* feat: wip docker flexible lc

* feat: simplify k8s conf

* feat: refactor aptos proof server to one bin

* feat: one server bin eth + k8s aptos

* feat: ethereum client configuration

* chore: lint

* ci: revise docker publish

* refactor: base review integrated

* chore: lint

* refactor: router for proof server + health check

* refactor: ethereum health check

* refactor: probes

* refactor: multiple routes eth proof server

* refactor: fix compilation

* refactor: accept octet stream

* refactor: change handling request proof server

* refactor: all routes working

* refactor: not using serde json

* refactor: only one request

* refactor: health does not count as increment

* fix: fix middleware

* refactor: working aptos proof_server

* chore: use let-else more effectively (#197)

* refactor: replicas

---------




* chore: Update fixtures (#198)



* chore: Update `ethereum` Rust version to `nightly-2024-08-29` (#199)

* refactor: lint

* chore: Update `ethereum` Rust version to `nightly-2024-08-29`

* chore: authorize too long first paragraph

---------



* chore: Update fixtures (#203)



* feat: Initial Pact contract (#205)

* wip: Initial pact skeleton

* chore: Add function for inclusion event processing

* chore: Add correct proof version handling

* chore: Refactoring

* chore: Add test.repl

---------



* chore: Update fixtures (#206)



* chore: Update fixtures (#208)



* chore: Update fixtures (#212)



* fix: ethereum lc (#214)

* fix: fix forward endpoint

* fix: fix not used update

* fix: boxed store

* chore: Update fixtures (#215)



* feat: fixture raw proof (#216)

* feat: revamp fixture generate

* feat: generate fixtures

* refactor: add fixture test

* fix: remove proof version check

* chore: Update fixtures (#218)



* chore: Update fixtures (#222)



* chore: Update fixtures (#223)



* chore: Update `ethereum` Rust version to `nightly-2024-09-13` (#224)



* chore: Update fixtures (#229)



* chore: Update fixtures (#230)



* chore: Update fixtures (#232)



* feat: helm chart (#228)

* feat: wip helm

* refactor: remove client from dockerfile

* feat: helm icon

* refactor: refactor helm & introduce eksctl conf

* refactor: helm with node selector

* refactor: external IP for cluster

* refactor: use published docker image

* refactor: fix command

* refactor: remove secondary dep

* refactor: proper comp config dockerfile

* refactor: remove not needed file

* refactor: always pull image

* refactor: pull image for docker compose

* refactor: docker compose file

* refactor: proper command

* refactor: liveness & readiness

* refactor: fix middleware

* refactor: pas s rust flags

* fix: fix stack overflow

* fix: stack limit as str & change build target

* refactor: lint

* fix: docker file

* refactor: change target for build

* refactor: idle time limit load balancer + docs

* refactor: lint

* docs: review typo fix



* refactor: integrate review

---------



* chore: Update fixtures (#235)



* chore: Update fixtures (#238)



* chore: Update fixtures (#242)



* chore: Update fixtures (#245)



* chore: Update fixtures (#248)



* chore: Update fixtures (#252)



* feat: eth cleanup (#254)

* refactor: makefile 32xl

* docs: update benchamrks + fixed a few commands

* docs: refactor linebreaks

* refactor: latest sphinx + compile programs

* refactor: argumentcomputer

* refactor: xclippy

* fix: deny (#250)

* refactor: fix aptos deps

* ci: Refactor release workflow (#236)

* ci: Refactor release workflow

* Support manual release on `workflow_dispatch`

* Fix token

* refactor: fix fixture generator

* ci: Fix `release-pr.yml` version (#255)

* refactor: deny file

* update licenses (#142)

* update licenses

* Update Rust licenses

* Remove MIT

* Update license

* Update Ethereum license

* rename Yatima -> Argument

* chore: modify forgotten file

---------




---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: argument-ci-bot[bot] <178725181+argument-ci-bot[bot]@users.noreply.github.com>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: John Chandler Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants