-
Notifications
You must be signed in to change notification settings - Fork 8
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: compact data inclusion #125
Conversation
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.
Thanks a bunch!
ethereum/core/src/types/update.rs
Outdated
attested_beacon_header: update.attested_header.beacon().clone(), | ||
finalized_beacon_header: update.finalized_header.beacon().clone(), | ||
finalized_execution_state_root: *update.finalized_header.execution().state_root(), | ||
finality_branch: update.finality_branch, | ||
sync_aggregate: update.sync_aggregate, | ||
signature_slot: update.signature_slot, |
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.
Nit: Here, you own the Update
passed as an argument. It's ok to move
its fields into your output structure without clone
, and Rust will let you. In fact that's what you do with the finality_branch
, sync_aggregate
, etc.
Except here you're accessing the initial few fields through by-reference getters, which force you into a clone. Consider modifying the visibility of those structures so you can take the contents where needed.
/// A compact representation of a `Update` struct. | ||
#[derive(Debug, Clone, Eq, PartialEq, Getters)] | ||
#[getset(get = "pub")] | ||
pub struct CompactUpdate { |
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.
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.
Created #128
88bffe1
to
0ec9234
Compare
* 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
* 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]>
* 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]>
* 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]>
* 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]>
* 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]>
* 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]>
* 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>
This PR introduces the notion of compact data type that are leveraged to serve as data structure payload for our programs. This allows for less data to read inside a program and also less computation required to deserialize it.
Changelog
CompactStore
that only contains the slot of the latest known finalized beacon header and the sync committee that should correspond to the update we want to verify.CompactUpdate
data type that isolates the necessary data to verify anUpdate
against aLightClientStore
.StorageInclusionProver
and the inclusion program to use it.test_utils
toethereum-lc-core
to make the utils methods available in all crates.Performances
The time to generate a SNARK proof for the inclusion program on this branch is
699.338789278s
=11min 39s