forked from matter-labs/zksync-era
-
Notifications
You must be signed in to change notification settings - Fork 1
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(main): eigen client m0 implementation #347
Open
juan518munoz
wants to merge
64
commits into
eigen-client-extra-features
Choose a base branch
from
eigen-client-m0-implementation
base: eigen-client-extra-features
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
feat(main): eigen client m0 implementation #347
juan518munoz
wants to merge
64
commits into
eigen-client-extra-features
from
eigen-client-m0-implementation
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## What ❔ Ignores RUSTSEC advisory for `derivative` crate being unmaintained ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
## What ❔ Closes matter-labs#3245 ## Why ❔ See matter-labs#3245 for more details. TLDR better compatibility with ETH spec. ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
## What ❔ - Moves some of functionality of the `utils` crate to `basic_types`, such as conversions, `div_ceil_u256`, and `serde_wrappers`. - Inlines time-related utils at call sites (mostly the state keeper). ## Why ❔ - `utils` has moderately heavyweight deps (`tokio`, `reqwest`), which are not necessary for basic functionality. - Basic functionality better fits in `basic_types` by domain. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
…3198) ## What ❔ Migrate build core and prover release workflows to new re-usable workflows ## Why ❔ Improve CI ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
## What ❔ <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> This PR accomplishes two things: 1. Improves the precision with which the loadtest contract can be configured by splitting writes into two categories—initial and repeated—since the cost associated with each is different. 2. Introduces a set of standards which can be used to determine appropriate loadtest configurations. SQL queries are provided to assist in the calculations. ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> Currently, the loadtests do not produce activity that closely emulates mainnet activity. ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. (See matter-labs/zksync-era-workflows#229) - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`. --------- Co-authored-by: Roman Brodetski <[email protected]>
## What ❔ Fixes RocksDB termination in a unit test. ## Why ❔ Without such a termination, the test sporadically fails with the "terminate called without an active exception" message. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
…atter-labs#3241) ## What ❔ <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`. ref ZKD-1855 --------- Co-authored-by: EmilLuta <[email protected]>
## What ❔ Fix invalid `if` usage for `use_dummy_inclusion_data` flag. ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
## What ❔ Update workflows ## Why ❔ For optimize CI/CD time ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
…bs#3200) ## What ❔ Implements a background task to remove bogus stale keys for the Merkle tree. ## Why ❔ These keys could have been produced during L1 batch reverts before matter-labs#3178. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
…atter-labs#3251) ## What ❔ - Supports the Vyper toolchain for EVM bytecodes in the contract verifier. - Adds some more unit tests for the verifier (e.g., testing multi-file inputs, Yul contracts, abstract contract errors etc.). ## Why ❔ Part of preparations to support EVM bytecodes throughout the codebase. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
* Add `deploy-timestamp-asserter` command to `zkstack` that works similarly to `deploy-multicall3` and others. The command deploys `TimestampAsserter` contract and updates it's address in `contracts.yaml`; * Update `contracts` submodule to the version that has the required function added. Sister [PR](matter-labs/era-contracts#1058) in the `era-contracts` repo
* initial commit * impl TODO query for concurrent dispatcher
matter-labs#3240) ## What ❔ - Introduces `build` and `wait` subcommands for server, EN and contract verifier. - Uses these commands in CI (integration tests job). ## Why ❔ These commands help preventing races between compilation and test logic. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`. ci: Eliminate races between compilation and test logic in integration tests
## What ❔ Ports VM changes to vm_fast that are needed for gateway version. Code changes are mostly copied from vm_latest ## Why ❔ vm_fast should support new protocol version ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
…3254) ## What ❔ Restored previously deleted intructions on how to enable p2p syncing. It should remain until we deprecate JSON RPC syncing.
…#3134) ## What ❔ <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> Update docs to mention foundry zksync, and other changes to the CLI. ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`. --------- Co-authored-by: Daniyar Itegulov <[email protected]> Co-authored-by: Devashish Dixit <[email protected]> Co-authored-by: Artur Puzio <[email protected]> Co-authored-by: Sarah Schwartz <[email protected]> Co-authored-by: Antonio <[email protected]>
Removed the default gossip outbound peers list, obsoleted in favor of seed_peers. Bumped EN image version in docker file.
…#3211) if for any reason p2p syncing is behind, json RPC syncing will activate. This is a protective measure for while we deploy changes to the consensus algorithm. Fixes BFT-516
## What ❔ Uses default experimental VM config when initializing the main node. ## Why ❔ Currently, the experimental VM config is required in certain cases, which may lead to panics during node initialization. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
## What ❔ - Docker build script checked for wrong forge version (foundry-zksync reports a forge version 0.0.2) - Dev setup guide stated the wrong command to install foundry-zksync (current one wouldn't work)
…3258) ## What ❔ Moves bytecode hashing logic to `zksync_basic_types`. ## Why ❔ It belongs there by domain and further simplifies the dependency graph. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
## What ❔ Fix new version of reusable workflow ## Why ❔ It was broke publishing releases ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
## What ❔ Fix for contract verifier workflow ## Why ❔ It's broken ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
matter-labs#3282) ## What ❔ Breaking change: config option `min_provers` is a number now! Add `apply_min_to_namespace` to specify which namespace is primary now, `min_*` is applied only to primary namespace. Add `min_replicas` for SimpleScaler. <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ To allow Witness Generators and Proof Compressors to always run, if needed. This will remove pod start delay of about 2 minutes when new job appears in the queue. <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`. ref ZKD-1855
…er-labs#3275) ## What ❔ * [x] Convert `docs` core project documentation to [mdBook project](https://rust-lang.github.io/mdBook/) * [x] Convert `prover/docs` prover project documentation to [mdBook project](https://rust-lang.github.io/mdBook/) * [x] Add CI workflows to build, test, and deploy versioned documentation for these projects using https://github.com/matter-labs/deploy-mdbooks action <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ Fixes matter-labs#3185 To improve documentation visibility and usability in ZKsync era repository. <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Tests Deployed documentation examples are available in the fork: * For core project: https://antonbaliasnikov.github.io/zksync-era/core/latest/ * For prover project: https://antonbaliasnikov.github.io/zksync-era/prover/latest/ ## Design decisions It was chosen to use two different workflow files for documentation deployments to keep CI reliable and easy to support regardless of a bit of boilerplate code. [Solution with the unified workflow](https://github.com/antonbaliasnikov/zksync-era/blob/main/.github/deploy-docs.yml) for both projects was implemented but rejected as it is overcomplicated and more difficult to support in the long term. ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
## What ❔ Add more tags for prover subsystem docker images ## Why ❔ Backward compatible ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
…-labs#3289) ## What ❔ Update `deploy-mdbooks` action version. <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ To fix displaying of Mermaid diagrams. <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
## What ❔ Revert latest tag for docker image on prover subsystem ## Why ❔ It was present ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
## What ❔ Extracts test contracts to a separate crate with a reasonable build pipeline. ## Why ❔ For now, test contracts are distributed across multiple crates (e.g., loaded using hardcoded paths in the workspace). This is not maintainable and makes the codebase harder to publish and use. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zk_supervisor fmt` and `zk_supervisor lint`.
## What ❔ Migrate release workflows to new build templates ## Why ❔ For optimize speed of CI/CD ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
🤖 I have created a release *beep* *boop* --- ## [17.1.0](matter-labs/zksync-era@prover-v17.0.0...prover-v17.1.0) (2024-11-18) ### Features * Add min_replicas for SimpleScaler, apply_min_to_namespace config ([matter-labs#3282](matter-labs#3282)) ([bc00c4a](matter-labs@bc00c4a)) * allow vm2 tracers to stop execution ([matter-labs#3183](matter-labs#3183)) ([9dae839](matter-labs@9dae839)) * **contract-verifier:** Support Solidity contracts with EVM bytecode in contract verifier ([matter-labs#3225](matter-labs#3225)) ([8a3a82c](matter-labs@8a3a82c)) * **prover:** Add cluster name autodetection ([matter-labs#3227](matter-labs#3227)) ([bd32aec](matter-labs@bd32aec)) * **prover:** Add queue metric to report autoscaler view of the queue. ([matter-labs#3206](matter-labs#3206)) ([2721396](matter-labs@2721396)) * ProverJobProcessor & circuit prover ([matter-labs#3287](matter-labs#3287)) ([98823f9](matter-labs@98823f9)) * **prover:** Move prover_autoscaler config into crate ([matter-labs#3222](matter-labs#3222)) ([1b33b5e](matter-labs@1b33b5e)) ### Bug Fixes * **prover:** Remove unneeded dependencies, add default for graceful_shutdown_timeout ([matter-labs#3242](matter-labs#3242)) ([1bfff0e](matter-labs@1bfff0e)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
…labs#3301) CI is broken due to contracts not being recursively inited. This PR fixes it.
## What ❔ Add a `sealed_at` column to the `l1_batches` table and extend the tee_prover metrics. ## Why ❔ The duration metric of sealed -> TEE proven is of special interest for Interop. It should not regress and should be optimized in future development. ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`. --------- Signed-off-by: Harald Hoyer <[email protected]>
## What ❔ <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`. --------- Signed-off-by: Danil <[email protected]>
## What ❔ Make prover e2e test mandatory for merging the PRs Fix prover e2e test ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`. fix ZKD-2081
🤖 I have created a release *beep* *boop* --- ## [25.2.0](matter-labs/zksync-era@core-v25.1.0...core-v25.2.0) (2024-11-19) ### Features * add more metrics for the tee_prover ([matter-labs#3276](matter-labs#3276)) ([8b62434](matter-labs@8b62434)) * **api-server:** add `yParity` for non-legacy txs ([matter-labs#3246](matter-labs#3246)) ([6ea36d1](matter-labs@6ea36d1)) * **consensus:** fallback json rpc syncing for consensus ([matter-labs#3211](matter-labs#3211)) ([726203b](matter-labs@726203b)) * **contract-verifier:** Adapt contract verifier API for EVM bytecodes ([matter-labs#3234](matter-labs#3234)) ([4509179](matter-labs@4509179)) * **contract-verifier:** Support Solidity contracts with EVM bytecode in contract verifier ([matter-labs#3225](matter-labs#3225)) ([8a3a82c](matter-labs@8a3a82c)) * **contract-verifier:** Support Vyper toolchain for EVM bytecodes ([matter-labs#3251](matter-labs#3251)) ([75f7db9](matter-labs@75f7db9)) * **en:** Support Merkle tree recovery with pruning enabled ([matter-labs#3172](matter-labs#3172)) ([7b8640a](matter-labs@7b8640a)) * ProverJobProcessor & circuit prover ([matter-labs#3287](matter-labs#3287)) ([98823f9](matter-labs@98823f9)) * **prover:** Move prover_autoscaler config into crate ([matter-labs#3222](matter-labs#3222)) ([1b33b5e](matter-labs@1b33b5e)) * **vm_executor:** Add new histogram metric for gas per tx in vm_executor ([matter-labs#3215](matter-labs#3215)) ([3606fc1](matter-labs@3606fc1)) * **vm:** add gateway changes to fast vm ([matter-labs#3236](matter-labs#3236)) ([f3a2517](matter-labs@f3a2517)) ### Bug Fixes * **merkle-tree:** Repair stale keys for tree in background ([matter-labs#3200](matter-labs#3200)) ([363b4f0](matter-labs@363b4f0)) * **tracer:** Add error to flat tracer ([matter-labs#3306](matter-labs#3306)) ([7c93c47](matter-labs@7c93c47)) * use_dummy_inclusion_data condition ([matter-labs#3244](matter-labs#3244)) ([6e3c36e](matter-labs@6e3c36e)) * **vm:** Do not require experimental VM config ([matter-labs#3270](matter-labs#3270)) ([54e4b00](matter-labs@54e4b00)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: zksync-era-bot <[email protected]>
* initial commit * initial commit * fix ambiguous job name & add docker restart command * fix integration test command * update readme, remove fetching lambda repo * reorganize readme instructions * Fix concurrent dispatcher (#338) * Add shutdown to dispatch batches * Add JoinSet * Format code * Fix unbounded channel breaking authenticated dispersal * Fix pr comments * feat(eigen-client-m0-implementation): optimize concurrent dispatcher (#345) * initial commit * optimize dispatch_batches fn * remove commented code * remove needless variables * optimize inclusion_poller fn * break loop if dispatch fail * remove client_lock variable * switch to retriable err * replace arbitrary value with config --------- Co-authored-by: Gianbelinche <[email protected]>
## What ❔ Fix docker tag in core reusable template ## Why ❔ EN alpha part was missed in tag ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [x] Tests for the changes have been added / updated. - [x] Documentation comments have been added / updated. - [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev lint`.
Metrics were not exported for circuit prover. Prometheus exporter will export metrics.
* initial commit * add get_all_blobs * get_all_blobs fmt * add colored output * update contracts submodule * add proxy to get_all_blobs * fixes * update cargo lock * fix readme * initial impl move get all blobs to rust * remove get_all_blob js implementation * Simplify get all blobs toml * Add parameters * Add get all blobs steps on readme * Make loop for getting blobs * Add log for blocks proccessed * Add constants * update contracts submodule --------- Co-authored-by: Gianbelinche <[email protected]>
…atter-labs#2980) ## What ❔ `/tee/proof_inputs` endpoint no longer returns batches that have no corresponding object file in Google Cloud Storage for an extended period. ## Why ❔ TEE's `proof-data-handler` on `mainnet` was flooded with warnings. Since the recent `mainnet`'s `24.25.0` redeployment, we've been [flooded with warnings][warnings] for the `proof-data-handler` on `mainnet` (the warnings are actually _not_ fatal in this context): ``` Failed request with a fatal error (...) Blobs for batch numbers 490520 to 490555 not found in the object store. Marked as unpicked. ``` The issue is caused [by the code][code] behind the `/tee/proof_inputs` [endpoint][endpoint_proof_inputs] (which is equivalent to the `/proof_generation_data` [endpoint][endpoint_proof_generation_data]) – it finds the next batch to send to the [requesting][requesting] `tee-prover` by looking for the first batch that has a corresponding object in the Google object store. As it skips over batches that don’t have the objects, [it logs][logging] `Failed request with a fatal error` for each one (unless the skipped batch was successfully proven, in which case it doesn’t log the error). This happens with every request the `tee-prover` sends, which is why we're getting so much noise in the logs. One possible solution is to flag the problematic batches as `permanently_ignored`, like [Thomas did before][Thomas] on `mainnet`. [warnings]: https://grafana.matterlabs.dev/goto/TjlaXQgHg?orgId=1 [code]: https://github.com/matter-labs/zksync-era/blob/3f406c7d0c0e76d798c2d838abde57ca692822c0/core/node/proof_data_handler/src/tee_request_processor.rs#L35-L79 [endpoint_proof_inputs]: https://github.com/matter-labs/zksync-era/blob/3f406c7d0c0e76d798c2d838abde57ca692822c0/core/node/proof_data_handler/src/lib.rs#L96 [endpoint_proof_generation_data]: https://github.com/matter-labs/zksync-era/blob/3f406c7d0c0e76d798c2d838abde57ca692822c0/core/node/proof_data_handler/src/lib.rs#L67 [requesting]: https://github.com/matter-labs/zksync-era/blob/3f406c7d0c0e76d798c2d838abde57ca692822c0/core/bin/zksync_tee_prover/src/tee_prover.rs#L93 [logging]: https://github.com/matter-labs/zksync-era/blob/3f406c7d0c0e76d798c2d838abde57ca692822c0/core/lib/object_store/src/retries.rs#L56 [Thomas]: https://matter-labs-workspace.slack.com/archives/C05ANUCGCKV/p1725284962312929 ## Checklist - [x] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [x] Code has been formatted via `zk fmt` and `zk lint`.
…tter-labs#3291) Resolves matter-labs#3257 - Adds resolver multiplexer: implementation of resolver that would go through list of resolvers, trying to find one that works. - Adds GH resolver: implementation of resolver that is able to fetch releases from GH dynamically - Adds a task to periodically (1h) update the list of supported compiler versions. - GH resolver has a temporary kill switch: it can be disabled by setting `DISABLE_GITHUB_RESOLVER` env variable (in case we notice any problems).⚠️ This PR doesn't contain any new tests, because I'm not sure if we want to rely on the availability of GH API. Mocking relevant parts (e.g. creating an alternative mock client for octocrab) would be _very_ troublesome, so idk if it's justified. Happy to discuss. I've checked the functionality manually though.
…nt-m0-extra-merge-main
Extra Features
…main Merge Extra features with main to M0
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What ❔
Add needed features for Eigen client M0 implementation:
Why ❔
Extend data availability functionality
Checklist
zkstack dev fmt
andzkstack dev lint
.