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

feat: docker & k8s #12

Merged
merged 26 commits into from
Aug 30, 2024
Merged

feat: docker & k8s #12

merged 26 commits into from
Aug 30, 2024

Conversation

tchataigner
Copy link
Contributor

@tchataigner tchataigner commented Jun 11, 2024

This PR introduces container and docker publishing for the Light Clients.

  1. I revamped our binaries to only encompass one binary for the proof server. It has two modes, single and split. This allows us to keep the flow we had previously or up only one server that handles everything. This is particularly useful when it comes to k8s configuration as it allows us to use the HorizontalPodAutoscaler.
  2. Dockerfile: There is a dedicated Dockerfile in the docker folder that is used to build an image containing the two binaries for client and proof_server.
  3. docker-compose.yml: This is a configuration file to create a local cluster of containers that emulates the Light Client running. This will be taxing on the machine running the compose configuration.
  4. k8s configuration: I have created 3 sets of files, one for the proof_server and one for each client. This is only a base to what would be used in the future to deploy in an automated fashion our LC with terraform.
  5. Minor proof-server update: We now generate the proving and verifying keys before the proof server starts to listen to connection. I also added a small method in the client to test connection to the proof server before actually starting the initialization of the client.
  6. A docker publish workflow to be called on a branch to publish the docker image of the desired LC.

@tchataigner tchataigner requested a review from huitseeker June 11, 2024 17:54
@tchataigner tchataigner force-pushed the feature/server-proof-container branch from 9894034 to 3b138a4 Compare July 30, 2024 10:08
@tchataigner tchataigner changed the base branch from main to dev July 30, 2024 10:08
@tchataigner tchataigner force-pushed the feature/server-proof-container branch 3 times, most recently from f116966 to 035ba31 Compare August 22, 2024 09:52
@tchataigner tchataigner requested review from samuelburnham and huitseeker and removed request for huitseeker August 22, 2024 10:44
Copy link
Contributor

@huitseeker huitseeker left a comment

Choose a reason for hiding this comment

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

I'm not sure I understand why the clients need a deployment?

Comment on lines 107 to 108
match bcs::from_bytes::<Request>(&request_bytes) {
Ok(Request::ProveInclusion(inclusion_data)) => {
Copy link
Contributor

Choose a reason for hiding this comment

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

Here I would recommend using let-else syntax to deal with the error case close to the point of deserialization (rather than looking 100 lines below).
Then we can pattern-match on the request.

debug!("Successfully connected to the proof server");
break;
}
Err(e) if retries < 10 => {
Copy link
Contributor

Choose a reason for hiding this comment

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

Consider using backoff with its tokio feature here:
https://docs.rs/backoff/latest/backoff/#async

docker/k8s/proof-server/proof-server-hpa.yaml Show resolved Hide resolved
Comment on lines 10 to 11
minReplicas: 1
maxReplicas: 2
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we want to ensure at least 2 replicas (1 active + 1 spare)

  minReplicas: 2

The max can be larger (5? 10?): My point is if the customer wants to stagger requests, that's ok.

Copy link
Contributor

Choose a reason for hiding this comment

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

This one is worth insisting on.

- name: CONTAINER_PORT
value: "8080" # Internal port for the server
ports:
- containerPort: 8080 # Ensure this matches CONTAINER_PORT
Copy link
Contributor

Choose a reason for hiding this comment

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

That's good, but we probably want to set up a health, and more importantly a readiness probe on each server, so that we can route queries only to available healthy provers? Once we have that (which we might want to open an issue for?), this would look like:

readinessProbe:
  httpGet:
    path: /health
    port: 8080
  initialDelaySeconds: 10
  periodSeconds: 5
livenessProbe:
  httpGet:
    path: /health
    port: 8080
  initialDelaySeconds: 15
  periodSeconds: 10

Copy link
Contributor Author

@tchataigner tchataigner Aug 23, 2024

Choose a reason for hiding this comment

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

From what I understood of how HPA works, it seems that the scaling and the routing are both handled by it. We can pass some custom parameters to the configuration to set a "readiness" timer as per the documentation:

Due to technical constraints, the HorizontalPodAutoscaler controller cannot exactly determine the first time a pod becomes ready when determining whether to set aside certain CPU metrics. Instead, it considers a Pod "not yet ready" if it's unready and transitioned to ready within a short, configurable window of time since it started. This value is configured with the --horizontal-pod-autoscaler-initial-readiness-delay flag, and its default is 30 seconds.

Then the HPA will know when the Pod is ready to be used as a valid replica.

Copy link
Contributor

@huitseeker huitseeker Aug 23, 2024

Choose a reason for hiding this comment

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

Right. I'm not trying to drive the HPA by suggesting to add these readiness and health endpoints.

I'm trying to drive the "available replica count", which will drive the service's routing decisions (you're right that the HPA will make scaling decisions considering metrics from all pods, including those that are "not ready." This can lead to a situation where the HPA scales up or down based on metrics from pods that are not actively serving traffic).

But driving the service, since it is user-facing, is still important.

Readiness and health are K8s-wide concepts (hence more general than the HPA):

  • Liveness Probes: These are used to indicate if a pod is running. If a liveness probe fails, Kubernetes will kill the pod and attempt to restart it.
  • Readiness Probes: These are used to indicate when a pod is ready to start serving traffic. If a readiness probe fails, the pod is removed from the Service's load balancer, meaning it will not receive any traffic until it is ready again.

See https://kubernetes.io/docs/concepts/configuration/liveness-readiness-startup-probes/

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Got it thank you! I wasn't familiar with those concepts. I'll try a first implementation.

///
/// A result indicating whether the connection was successful.
pub(crate) async fn test_endpoint(&self) -> Result<(), ClientError> {
// Try to connect to the proof server
Copy link
Contributor

Choose a reason for hiding this comment

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

Same remark as above on the backoff.

/// A result indicating whether the connection was successful.
pub(crate) async fn test_endpoint(&self) -> Result<(), ClientError> {
// Try to connect to the proof server
let mut retries = 0;
Copy link
Contributor

Choose a reason for hiding this comment

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

Same as above on the backoff, and since this is the 3d snippet, we may want to generalize to a utility function.

@tchataigner
Copy link
Contributor Author

I'm not sure I understand why the clients need a deployment?

I thought that it would be useful to have k8s configuration for it. However, it is true that users should have their own logic to interact with the proof servers. I'll remove it.

@tchataigner tchataigner force-pushed the feature/server-proof-container branch from e8cfe97 to d1fb106 Compare August 24, 2024 13:16
@tchataigner tchataigner requested review from huitseeker and removed request for huitseeker August 26, 2024 10:28
@tchataigner tchataigner force-pushed the feature/server-proof-container branch from 886c011 to 2894b3b Compare August 27, 2024 13:06
@tchataigner tchataigner requested a review from huitseeker August 28, 2024 15:02
@tchataigner tchataigner force-pushed the feature/server-proof-container branch from 1a4420c to 397da74 Compare August 29, 2024 07:41
@tchataigner tchataigner force-pushed the feature/server-proof-container branch from 397da74 to 32b55eb Compare August 29, 2024 15:03
Copy link
Contributor

@huitseeker huitseeker left a comment

Choose a reason for hiding this comment

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

This looks good, but I opened #197 for my OCD

aptos/proof-server/src/bin/proof_server.rs Outdated Show resolved Hide resolved
aptos/proof-server/src/bin/proof_server.rs Outdated Show resolved Hide resolved
aptos/proof-server/src/bin/proof_server.rs Outdated Show resolved Hide resolved
aptos/proof-server/src/bin/proof_server.rs Outdated Show resolved Hide resolved
Comment on lines 10 to 11
minReplicas: 1
maxReplicas: 2
Copy link
Contributor

Choose a reason for hiding this comment

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

This one is worth insisting on.

@tchataigner tchataigner requested a review from huitseeker August 30, 2024 09:30
@tchataigner tchataigner enabled auto-merge (squash) August 30, 2024 16:42
Copy link
Contributor

@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.

I've skimmed things and this looks good and looks like the feedback has been addressed, approving to unblock

@tchataigner tchataigner merged commit da581a5 into dev Aug 30, 2024
10 checks passed
@tchataigner tchataigner deleted the feature/server-proof-container branch August 30, 2024 16:47
Copy link
Contributor

@huitseeker huitseeker left a comment

Choose a reason for hiding this comment

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

This looks great, thanks!!

tchataigner added a commit that referenced this pull request Sep 27, 2024
* 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]>
tchataigner added a commit that referenced this pull request Sep 27, 2024
* 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]>
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.

3 participants