-
Notifications
You must be signed in to change notification settings - Fork 6
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
Conversation
9894034
to
3b138a4
Compare
f116966
to
035ba31
Compare
There was a problem hiding this 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?
match bcs::from_bytes::<Request>(&request_bytes) { | ||
Ok(Request::ProveInclusion(inclusion_data)) => { |
There was a problem hiding this comment.
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.
aptos/proof-server/src/bin/client.rs
Outdated
debug!("Successfully connected to the proof server"); | ||
break; | ||
} | ||
Err(e) if retries < 10 => { |
There was a problem hiding this comment.
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
minReplicas: 1 | ||
maxReplicas: 2 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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/
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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; |
There was a problem hiding this comment.
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.
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. |
e8cfe97
to
d1fb106
Compare
886c011
to
2894b3b
Compare
1a4420c
to
397da74
Compare
Signed-off-by: Thomas Chataigner <[email protected]>
397da74
to
32b55eb
Compare
There was a problem hiding this 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
minReplicas: 1 | ||
maxReplicas: 2 |
There was a problem hiding this comment.
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.
There was a problem hiding this 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
There was a problem hiding this 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!!
* 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]>
* 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(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>
* 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>
* 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]>
* 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]>
* 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]>
* 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]>
* 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]>
This PR introduces container and docker publishing for the Light Clients.
single
andsplit
. 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 theHorizontalPodAutoscaler
.Dockerfile
: There is a dedicatedDockerfile
in thedocker
folder that is used to build an image containing the two binaries forclient
andproof_server
.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.k8s configuration
: I have created 3 sets of files, one for theproof_server
and one for eachclient
. This is only a base to what would be used in the future to deploy in an automated fashion our LC with terraform.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.