Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Update from upstream #226

Merged
merged 359 commits into from
Jul 24, 2024
Merged

Update from upstream #226

merged 359 commits into from
Jul 24, 2024
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Jun 3, 2024

  1. docs: fix SQLx CLI installation (matter-labs#2133)

    ## What ❔
    
    Updates the installing instructions for SQLx CLI
    
    ## Why ❔
    
    Problems when compiling `clap_lex`:
    `error[E0599]: no method named `as_encoded_bytes` found for reference
    `&OsStr` in the current scope`
    `error[E0599]: no function or associated item named
    `from_encoded_bytes_unchecked` found for struct `OsStr` in the current
    scope`
    matias-gonz authored Jun 3, 2024
    Configuration menu
    Copy the full SHA
    f179681 View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2024

  1. feat(node-framework): Add Main Node Client layer (matter-labs#2132)

    Note: healthchecks for `Main Node` and `Eth` client layers will be added
    in the next PR(there is a general principle of change.)
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    AnastasiiaVashchuk authored Jun 4, 2024
    Configuration menu
    Copy the full SHA
    927d842 View commit details
    Browse the repository at this point in the history
  2. chore(main): release prover 14.5.0 (matter-labs#2109)

    🤖 I have created a release *beep* *boop*
    ---
    
    
    ##
    [14.5.0](matter-labs/zksync-era@prover-v14.4.0...prover-v14.5.0)
    (2024-06-04)
    
    
    ### Features
    
    * update VKs and bump cargo.lock
    ([matter-labs#2112](matter-labs#2112))
    ([6510317](matter-labs@6510317))
    * use semver for metrics, move constants to prover workspace
    ([matter-labs#2098](matter-labs#2098))
    ([7a50a9f](matter-labs@7a50a9f))
    
    
    ### Bug Fixes
    
    * **block-reverter:** Fix reverting snapshot files
    ([matter-labs#2064](matter-labs#2064))
    ([17a7e78](matter-labs@17a7e78))
    * **house-keeper:** Fix queue size queries
    ([matter-labs#2106](matter-labs#2106))
    ([183502a](matter-labs@183502a))
    
    ---
    This PR was generated with [Release
    Please](https://github.com/googleapis/release-please). See
    [documentation](https://github.com/googleapis/release-please#release-please).
    zksync-era-bot authored Jun 4, 2024
    Configuration menu
    Copy the full SHA
    3e7cbe4 View commit details
    Browse the repository at this point in the history
  3. refactor(en): Fetch old l1 batch hashes from L1 – metrics (matter-lab…

    …s#2131)
    
    ## What ❔
    
    Adds a couple of metrics / logs for tree data fetcher related to
    fetching data from L1. Follow-up after matter-labs#2000.
    
    ## Why ❔
    
    These metrics / logs would allow to track tree data fetcher health more
    thoroughly.
    
    ## 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 fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 4, 2024
    Configuration menu
    Copy the full SHA
    af39ca3 View commit details
    Browse the repository at this point in the history
  4. feat(vm-runner): shadow protective reads using VM runner (matter-labs…

    …#2017)
    
    ## What ❔
    
    Adds a new component `vm_runner_protective_reads` that computes
    protective reads independently and asynchronously from state keeper.
    
    For now, the component does not actually save anything; instead, it
    computes protective reads and compares them against what state keeper
    has already written to the DB. So, in short, this is just the first
    stepping stone aka a sanity check that the VM runner mechanism works as
    intended.
    
    ## Why ❔
    
    In the future, we want to be able to save protective reads
    asynchronously thus saving time on L1 batch sealing.
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    itegulov authored Jun 4, 2024
    Configuration menu
    Copy the full SHA
    1402dd0 View commit details
    Browse the repository at this point in the history
  5. fix(en): Remove L1 client health check (matter-labs#2136)

    ## What ❔
    
    Removes L1 client health check from EN.
    
    ## Why ❔
    
    Doesn't bring that much value and leads to L1 client getting
    rate-limited for our GCS ENs.
    
    ## Checklist
    
    - [x] PR title corresponds to the body of PR (we generate changelog
    entries from PRs).
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 4, 2024
    Configuration menu
    Copy the full SHA
    49198f6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    095bc24 View commit details
    Browse the repository at this point in the history
  7. refactor: Deprecated eth_block, eth_hash and deadline_block in Transa…

    …ction (matter-labs#2091)
    
    These fields are unused and don't affect the execution. eth_hash and
    deadline_block are not even stored, so they have been removed
    completely. eth_block is stored in db and is part of the block signed by
    consensus, therefore removing it will require a protocol upgrade and a
    hard fork.
    pompon0 authored Jun 4, 2024
    Configuration menu
    Copy the full SHA
    5554660 View commit details
    Browse the repository at this point in the history
  8. docs: update post-boojum and 4844-related docs (matter-labs#2117)

    ## What ❔
    
    Update the `pubdata.md` doc, and copy the 4844-related docs. 
    
    ## Why ❔
    
    The docs in `pubdata.md` were outdated, and lacking the EIP-4844
    details.
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    dimazhornyk authored Jun 4, 2024
    Configuration menu
    Copy the full SHA
    2b8d9a3 View commit details
    Browse the repository at this point in the history
  9. chore: save l2 l1 logs only if there are some (matter-labs#2139)

    ## What ❔
    
    save l2 l1 logs for miniblock only if there are some
    
    ## Why ❔
    
    We save l2 l1 logs using `COPY` and it appears it has some constant
    overhead of ~40ms regardless whether there is some data to copy or not.
    By checking if l2_l1_logs.is_empty we can save this 40ms.
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    perekopskiy authored Jun 4, 2024
    Configuration menu
    Copy the full SHA
    0329ed6 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2024

  1. feat(en): Allow recovery from specific snapshot (matter-labs#2137)

    ## What ❔
    
    Allows recovering a node from a specific snapshot specified at the start
    of recovery.
    
    ## Why ❔
    
    Useful at least for testing recovery and pruning end-to-end on the
    testnet. There, L1 batches are produced very slowly, so it makes sense
    to recover from an earlier snapshot in order to meaningfully test
    pruning.
    
    ## 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 fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    ac61fed View commit details
    Browse the repository at this point in the history
  2. feat!: updated boojum and nightly rust compiler (matter-labs#2126)

    ## What ❔
    
    * Updated boojum version, which allows us to update nightly rust
    compiler.
    
    ## Why ❔
    
    * Our rust nightly is quite old (around 1 year)
    mm-zk authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    9e39f13 View commit details
    Browse the repository at this point in the history
  3. fix(en): Fix transient error detection in consistency checker (matter…

    …-labs#2140)
    
    ## What ❔
    
    Considers a subset of contract call errors as transient.
    
    ## Why ❔
    
    Currently, consistency checker considers all contract call errors fatal,
    which leads to EN terminating when it shouldn't.
    
    ## Checklist
    
    - [x] PR title corresponds to the body of PR (we generate changelog
    entries from PRs).
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    38fdfe0 View commit details
    Browse the repository at this point in the history
  4. chore(docs): Fix healthcheck command in EN docker-compose example (ma…

    …tter-labs#2148)
    
    ## What ❔
    
    - Tweaking postgres `healthcheck` command in EN Docker Compose example
    to work from shells other than bash
    - Minor formatting fixes to the aforementioned Docker Compose example
    files
    - EN bump to the latest stable in the aforementioned Docker Compose
    example files
    
    ## Why ❔
    
    Fixes:
    **zkSync-Community-Hub/zksync-developers#526 (comment)
    
    ## 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.
    - [ ] Documentation comments have been added / updated.
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    hatemosphere authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    006ea16 View commit details
    Browse the repository at this point in the history
  5. feat: added debug_proof to prover_cli (matter-labs#2052)

    ## What ❔
    
    * Prover_cli has a new command - `debug-proof`, that prints a lot more
    detailed information about any basic proof file.
    
    ## Why ❔
    
    * This will speed up debugging  of the failed proofs.
    * Small caveat - the cli has to be compiled with `verbose_circuits`
    feature - which will include the whole zkevm_test_harness and all the
    other crypto libraries.
    
    
    How to use:
    * Simply download the .bin file with the proof, and run `./prover_cli
    debug-proof file.bin`
    
    Part of EVM-639
    mm-zk authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    b1ad01b View commit details
    Browse the repository at this point in the history
  6. feat: Added workflow dispatch to zk-environment, to allow building te… (

    matter-labs#2147)
    
    …st images.
    
    ## What ❔
    
    * Added workflow_dispatch to zk_enviroinment
    
    ## Why ❔
    
    * This way, you can build the 'experimental' docker images to test
    things before merging into 'main' branch.
    * It will build only zk_environment basic (not GPU specific ones), and
    it will NOT mark it as latest.
    mm-zk authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    351e13d View commit details
    Browse the repository at this point in the history
  7. refactor(object-store): Refactor object store to fit into node framew…

    …ork (matter-labs#2138)
    
    ## What ❔
    
    Refactors `ObjectStore` and `ObjectStoreFactory` to fit it into the node
    framework:
    
    - Consistently uses `Arc<dyn ObjectStore>` in DI
    - Clearly documents `ObjectStoreFactory` as one possible `ObjectStore`
    producer
    - Expose GCS, file-based and mock object stores directly and remove
    ability to create mock object stores from `ObjectStoreFactory`
    - Refactors retries as `ObjectStore` "middleware"
    
    ## Why ❔
    
    Currently, object store APIs don't fit into the node framework well,
    leading to suboptimal DevEx.
    
    ## 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 fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    5c03964 View commit details
    Browse the repository at this point in the history
  8. feat(api): Rework zks_getProtocolVersion (matter-labs#2146)

    ## What ❔
    
    - renames fields in method's response
    - removes `verification_keys_hashes` completely
    
    ## Why ❔
    
    - more meaningfully field names and camelCase for consistency
    - `verification_keys_hashes` doesn't make sense in the context of minor
    protocol version
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    perekopskiy authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    800b8f4 View commit details
    Browse the repository at this point in the history
  9. feat: Add metrics for transaction execution result in state keeper (m…

    …atter-labs#2021)
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    AnastasiiaVashchuk authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    dde0fc4 View commit details
    Browse the repository at this point in the history
  10. chore: add historical verification keys for 0.24.1 and 0.24.0 (matter…

    …-labs#2144)
    
    ## What ❔
    
    * Update historical_keys dir with the proper keys.
    
    ## Why ❔
    
    * To maintain a clear history, and a small unittest to verify that they
    are correct.
    mm-zk authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    6c726eb View commit details
    Browse the repository at this point in the history
  11. feat(toolbox): add zk_toolbox ci (matter-labs#1985)

    ## What ❔
    
    - Adds zk_toolbox CI with ecosystem initialization
    - Add zk_supervisor integration-tests command
    - Make paths in ecosystem config absolute
    
    ## Why ❔
    
    - Improve CI flow
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    aon authored Jun 5, 2024
    Configuration menu
    Copy the full SHA
    4ab4922 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2024

  1. perf(en): Parallelize persistence and chunk processing during tree re…

    …covery (matter-labs#2050)
    
    ## What ❔
    
    Persists chunks during tree recovery in parallel to processing
    subsequent chunks.
    
    ## Why ❔
    
    - Could speed up tree recovery ~2x on the mainnet (both persistence and
    processing of a single chunk of 200k entries take ~3s).
    - Significantly easier to implement and reason about than alternatives.
    - May be used together with alternatives.
    
    ## 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 fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    b08a667 View commit details
    Browse the repository at this point in the history
  2. fix(vm-runner): add config value for the first processed batch (matte…

    …r-labs#2158)
    
    ## What ❔
    
    Adds a new config value that regulate which batch to consider as the
    last processed on a fresh start.
    
    Also renames config values to be more idiomatic due to several from
    DevOps and other people :)
    
    ## Why ❔
    
    We don't want to wait half a year for VM to process all testnet/mainnet
    batches.
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    itegulov authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    f666717 View commit details
    Browse the repository at this point in the history
  3. refactor: Added intermediate representations for rlp structs (matter-…

    …labs#2143)
    
    Added a bunch of intermediate representations for rlp structs. I need
    these to be able to verify L1 batches for
    https://linear.app/matterlabs/issue/BFT-471/implement-stateless-l1-batch-verification
    pompon0 authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    fe7e9c4 View commit details
    Browse the repository at this point in the history
  4. chore: Update README.md (matter-labs#2156)

    Added .md to match other md names
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    alexanderblv authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    adde8a5 View commit details
    Browse the repository at this point in the history
  5. feat: faster & cleaner VK generation (matter-labs#2084)

    ## What ❔
    
    * VK generation tool now allows specifying --jobs - to run multiple jobs
    in parallel
    * Added a progress bar
    
    ## Why ❔
    
    * To make it easier (and faster) to generate new verification keys.
    
    Fixes: EVM-642
    mm-zk authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    89c8cac View commit details
    Browse the repository at this point in the history
  6. feat(node): Move some stuff around (matter-labs#2151)

    ## What ❔
    
    Moves some easily movable stuff from `zksync_external_node` binary, e.g.
    
    - rustc metrics
    - main node healthcheck
    - validate chain ids task
    
    Note: this PR does not aim to be exhaustive. There will be more PRs like
    this in the future.
    
    ## Why ❔
    
    - Makes logic shareable (e.g. we can now use rustc metrics for main node
    too)
    - Less logic in binary makes it easier to switch to the framework.
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    popzxc authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    bad5a6c View commit details
    Browse the repository at this point in the history
  7. feat(prover): Add file based config for fri prover gateway (matter-la…

    …bs#2150)
    
    ## What ❔
    
    Add file based config for fri prover gateway
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    matias-gonz authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    81ffc6a View commit details
    Browse the repository at this point in the history
  8. feat(prover): file based configs for witness generator (matter-labs#2161

    )
    
    ## What ❔
    
    File based configs for witness generator
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    matias-gonz authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    24b8f93 View commit details
    Browse the repository at this point in the history
  9. fix(prover): config (matter-labs#2165)

    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    e5daf8e View commit details
    Browse the repository at this point in the history
  10. chore: upgrade calldata (matter-labs#2159)

    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    
    ---------
    
    Co-authored-by: Stanislav Bezkorovainyi <[email protected]>
    kelemeno and StanislavBreadless authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    500d462 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    0cad504 View commit details
    Browse the repository at this point in the history
  12. chore: more upgrade data related to params (matter-labs#2166)

    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    
    ---------
    
    Co-authored-by: Stanislav Bezkorovainyi <[email protected]>
    kelemeno and StanislavBreadless authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    253cc83 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2024

  1. feat(object-store): Allow caching object store objects locally (matte…

    …r-labs#2153)
    
    ## What ❔
    
    Implements an optional caching layer for object store that persists
    objects fetched from an external store (e.g., a GCS one) to a
    configurable local directory.
    
    ## Why ❔
    
    Allows to speed up repeated snapshot recovery w/o sacrificing generality
    (i.e. switching to a file-backed store and downloading all snapshot data
    manually).
    
    ## 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 fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 7, 2024
    Configuration menu
    Copy the full SHA
    6c6e65c View commit details
    Browse the repository at this point in the history
  2. refactor(prover): Add config package (matter-labs#2167)

    ## What ❔
    
    Add config package
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    matias-gonz authored Jun 7, 2024
    Configuration menu
    Copy the full SHA
    79fcf59 View commit details
    Browse the repository at this point in the history
  3. feat(contract-verifier): Add zkVM solc 1.0.1 (matter-labs#2180)

    ## What ❔
    
    Add zkVM solc 1.0.1
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    perekopskiy authored Jun 7, 2024
    Configuration menu
    Copy the full SHA
    8468716 View commit details
    Browse the repository at this point in the history
  4. fix(config): Fix object store (matter-labs#2183)

    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    
    ---------
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jun 7, 2024
    Configuration menu
    Copy the full SHA
    551cdc2 View commit details
    Browse the repository at this point in the history
  5. feat(sync-layer): adapt MiniMerkleTree to manage priority queue (matt…

    …er-labs#2068)
    
    ## What ❔
    
    Enables the MiniMerkleTree to be used for priority queue to efficiently
    calculate merkle proofs for priority transactions.
    
    ## Why ❔
    
    As part of the preparation for the priority queue migration to sync
    layer.
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    ly0va authored Jun 7, 2024
    Configuration menu
    Copy the full SHA
    3e72364 View commit details
    Browse the repository at this point in the history
  6. fix(ci): Run_retried instead of curl --retry (matter-labs#2162)

    Curl is unable to retry some transient errors, so it's more reliable to
    use run_retried which retries any error
    
    Signed-off-by: tomg10 <[email protected]>
    tomg10 authored Jun 7, 2024
    Configuration menu
    Copy the full SHA
    70eb588 View commit details
    Browse the repository at this point in the history
  7. fix(prover_cli): Fix the issues with home path (matter-labs#2104)

    In this PR: [Pull Request
    matter-labs#2022](https://github.com/matter-labs/zksync-era/pull/2022/files), the
    logic was changed to stop using the $ZKSYNC_HOME environment variable to
    construct paths relative to the root of zksync-era.
    But the prover is a separate workspace, so it fails to create the path
    to the contract with the functions in the main workspace..
    
    ## 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`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    ColoCarletti authored Jun 7, 2024
    Configuration menu
    Copy the full SHA
    1e18af2 View commit details
    Browse the repository at this point in the history
  8. fix(prover_cli): Fix delete command (matter-labs#2119)

    Changes: 
    
    - Get database url from the `prover_cli` config.
     - Remove the deletion of archived jobs.
    
    ---------
    
    Co-authored-by: Ivan Litteri <[email protected]>
    ColoCarletti and ilitteri authored Jun 7, 2024
    Configuration menu
    Copy the full SHA
    214f981 View commit details
    Browse the repository at this point in the history
  9. fix(config): Split object stores (matter-labs#2187)

    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    
    ---------
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jun 7, 2024
    Configuration menu
    Copy the full SHA
    9bcdabc View commit details
    Browse the repository at this point in the history
  10. fix(api): Fix getting pending block (matter-labs#2186)

    ## What ❔
    
    Fixes getting data for the pending block in `eth_getBlockByNumber` and a
    couple of other methods.
    
    ## Why ❔
    
    Getting a pending block should always return `null`, but right now it
    actually doesn't. Caused by non-atomic reads from Postgres in the method
    implementation: first, a pending block number is resolved, and then a
    block with this number is fetched. Between these two reads, a block with
    this number may be inserted to Postgres.
    
    While it's somewhat unlikely that anyone will query a pending block,
    it's still a correctness issue.
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 7, 2024
    Configuration menu
    Copy the full SHA
    93315ba View commit details
    Browse the repository at this point in the history
  11. fix(config): Add necessary config (matter-labs#2190)

    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jun 7, 2024
    Configuration menu
    Copy the full SHA
    9e2d187 View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2024

  1. chore: removed consensus column from the miniblocks table (matter-lab…

    …s#2020)
    
    unused for ~4 months
    removal requested by @RomanBrodetski
    pompon0 authored Jun 8, 2024
    Configuration menu
    Copy the full SHA
    6609397 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2024

  1. test(api): Fix latency of API server unit tests (matter-labs#2188)

    ## What ❔
    
    Fixes the latency of API server unit tests caused by the lack of
    buffering when reading contracts.
    
    ## Why ❔
    
    Lack of buffering is a logical error on its own. In this case, it leads
    t slow test runs, i.e., degrades DevEx.
    
    ## 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 fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 10, 2024
    Configuration menu
    Copy the full SHA
    3a86bda View commit details
    Browse the repository at this point in the history
  2. perf(pruning): Use more efficient query to delete past storage logs (m…

    …atter-labs#2179)
    
    ## What ❔
    
    Uses an SQL query for deleting past storage logs which promises to be
    more efficient than the one currently used.
    
    ## Why ❔
    
    The current DB query used for this purpose has fluctuating, but overall
    slow, performance.
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 10, 2024
    Configuration menu
    Copy the full SHA
    4c18755 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2024

  1. fix(db): Optimize get_l2_blocks_to_execute_for_l1_batch (matter-lab…

    …s#2199)
    
    ## What ❔
    
    Optimize `get_l2_blocks_to_execute_for_l1_batch`
    
    ## Why ❔
    
    `transactions.l1_batch_number` is not indexed
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    perekopskiy authored Jun 11, 2024
    Configuration menu
    Copy the full SHA
    06ec5f3 View commit details
    Browse the repository at this point in the history
  2. chore(eth-sender): refactor of eth-sender gas fees (matter-labs#2085)

    I've added more detailed logs.. I've also generally split the
    calculations and metrics for fees for blob and non-blob transactions as
    they are radically different.
    
    ---------
    
    Signed-off-by: tomg10 <[email protected]>
    tomg10 authored Jun 11, 2024
    Configuration menu
    Copy the full SHA
    6d6b57e View commit details
    Browse the repository at this point in the history
  3. feat(contract-verifier): Add zksolc v1.5.0 (matter-labs#2201)

    ## What ❔
    
    Add zksolc v1.5.0
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    perekopskiy authored Jun 11, 2024
    Configuration menu
    Copy the full SHA
    8c71733 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3538e9c View commit details
    Browse the repository at this point in the history
  5. chore(vm-runner): check stop receiver in VM runner main loop (matter-…

    …labs#2209)
    
    ## What ❔
    
    Ditto
    
    ## Why ❔
    
    Faster interruption
    
    ## 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.
    - [ ] Documentation comments have been added / updated.
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    itegulov authored Jun 11, 2024
    Configuration menu
    Copy the full SHA
    b43a881 View commit details
    Browse the repository at this point in the history
  6. fix: Treat 502s and 503s as transient for GCS OS (matter-labs#2202)

    A refactoring introduced lately caused multiple restarts in provers
    (namely BWGs) when GCS was unavailable (502 or 503). This is a sporadic,
    once in a while, but still invalides tens of minutes of work and makes
    proving fickle and slow. This PR addresses the issue and restores old
    behavior pre-refactoring, treating 502s and 503s as transient errors.
    EmilLuta authored Jun 11, 2024
    Configuration menu
    Copy the full SHA
    0a12c52 View commit details
    Browse the repository at this point in the history
  7. feat(vm-runner): add basic metrics (matter-labs#2203)

    ## What ❔
    
    This PR just adds some basic VM runner-specific metrics. Note that VM
    runner already inherits VM-related metrics from state keeper.
    
    I decided to split `storage_load`/`vm_run`/`output_handle` into 3
    different metrics as opposed to a single metric with 3 stages as the
    stages happen asynchronously and don't represent a continuous execution.
    Lmk if you disagree though.
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    itegulov authored Jun 11, 2024
    Configuration menu
    Copy the full SHA
    dd154f3 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2024

  1. fix(en): Fix reorg detection in presence of tree data fetcher (matter…

    …-labs#2197)
    
    ## What ❔
    
    Fixes reorg detection logic so that it accounts for the tree data
    fetcher:
    
    - **In tree data fetcher:** Tries to detect reorgs, so that root hashes
    are not written for diverging L1 batches.
    - **In reorg detector:** Checks last L2 block correspondence during
    binary searching a diverging L1 batch.
    
    ## Why ❔
    
    Reorg detection may be broken if tree data fetcher is enabled:
    
    - The tree data fetcher doesn't check that fetched L1 batch root hashes
    correspond to local L1 batches, i.e. it can fetch a root hash after a
    revert.
    - Hence, the logic in reorg detector which binary-searches the diverged
    L1 batch is broken because the latest L1 batch isn't guaranteed to
    diverge if there's a divergence.
    
    ## 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 fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    20da566 View commit details
    Browse the repository at this point in the history
  2. feat(merkle-tree): Rework tree rollback (matter-labs#2207)

    ## What ❔
    
    Reworks tree rollback so that it's supported on the distributed external
    node, including the case when a node runs multiple trees.
    
    - Desync with Postgres is now detected on metadata calculator
    initialization, and the tree is truncated correspondingly.
    - The old approach is left intact as a safety guard.
    
    ## Why ❔
    
    Right now, reorg logic on EN relies on a node running a single tree, and
    block reverter being a singleton. Both these assumptions are bogus in
    case of a distributed EN.
    
    ## 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 fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    c3b9c38 View commit details
    Browse the repository at this point in the history
  3. feat(proof_data_handler): add new endpoints to the TEE prover interfa…

    …ce API (matter-labs#1993)
    
    ## What ❔
    
    This PR introduces three new endpoints to the prover interface API:
    1. `/tee/proof_inputs` - for fetching input data for the TEE verifier.
    It is intended for TEE workers to obtain a batch to process.
    2. `/tee/submit_proofs/<l1_batch_number>` - for submitting TEE proof.
    3. `/tee/register_attestation` - for registering TEE attestation.
    
    The first two introduced API endpoints correspond to the existing,
    analogous `/proof_generation_data` and `/submit_proof/<l1_batch_number>`
    endpoints used for the ZK proofs.
    
    The state of batches (e.g., _proven_, _taken_, etc.) is tracked in the
    database. The `TeeVerifierInputProducer` generates serialized TEE prover
    inputs, which are then stored in the object store.
    
    To run the unit tests, you need to use the following command: `zk test
    rust --package zksync_proof_data_handler --lib tests`. Running `cargo
    test` directly fails because the `zk` command sets up an additional
    database for testing purposes.
    
    To test it manually, run the ZK server with the command:
    ```
    zk server --components proof_data_handler --use-node-framework
    ```
    and then send an HTTP request:
    - to get TEE verifier input data:
      ```
    curl -X POST -H "Content-Type: application/json" --data-raw "{}" -vvv
    http://127.0.0.1:3320/tee/proof_inputs
      ```
      To inspect the database for the TEE verifier input data jobs, run:
      ```
      $ PGPASSWORD='notsecurepassword' psql -h 127.0.0.1 -p 5432 -U postgres
      # \c zksync_local
      # SELECT * FROM tee_verifier_input_producer_jobs;
      ```
    - register TEE attestation:
      ```
    curl -X POST -H "Content-Type: application/json" --data-raw '{
    "attestation": [ 4, 3, 2, 1, 0 ], "pubkey": [ 5, 6, 7, 8, 9 ] }' -vvv
    http://127.0.0.1:3320/tee/register_attestation
      ```
      To inspect the database for the TEE attestations, run:
      ```
      $ PGPASSWORD='notsecurepassword' psql -h 127.0.0.1 -p 5432 -U postgres
      # \c zksync_local
      # SELECT * FROM tee_attestations;
      ```
    - to submit TEE proof:
      ```
    curl -X POST -H "Content-Type: application/json" --data-raw '{
    "signature": [ 0, 1, 2, 3, 4 ], "pubkey": [ 5, 6, 7, 8, 9 ], "proof": [
    10, 11, 12, 13, 14 ] }' -vvv http://127.0.0.1:3320/tee/submit_proofs/1
      ```
      To inspect the database for the TEE proofs, run:
      ```
      $ PGPASSWORD='notsecurepassword' psql -h 127.0.0.1 -p 5432 -U postgres
      # \c zksync_local
      # SELECT * FROM tee_proof_generation_details;
      ```
    
    ## Why ❔
    
    This PR contributes to the effort outlined in the docs:
    -
    https://www.notion.so/matterlabs/2FA-for-zk-rollups-with-TEEs-a2266138bd554fda8846e898fef75131?pvs=4
    -
    https://www.notion.so/matterlabs/Proof-2F-verification-with-SGX-5fca2c619dd147938971cc00ae53e2b0?pvs=4
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    pbeza authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    eca98cc View commit details
    Browse the repository at this point in the history
  4. chore(nix): update flake to support new rust toolchain (matter-labs#2211

    )
    
    ## What ❔
    
    update the nix flake
    
    ## Why ❔
    
    to reproducibly build the zksync-era server and to develop easily with
    the help of nix
    
    ## 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.
    - [ ] Documentation comments have been added / updated.
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    
    Signed-off-by: Harald Hoyer <[email protected]>
    haraldh authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    1cb0887 View commit details
    Browse the repository at this point in the history
  5. fix(api): Fix transaction methods for pruned transactions (matter-lab…

    …s#2168)
    
    ## What ❔
    
    Reworks `TxCache` for full nodes to look more like a mempool:
    
    - Retains transactions from it when they are sent to the main node
    - Gets rid of querying transactions from the main node in `TxProxy`.
    
    ## Why ❔
    
    Right now, two transaction-related methods (`eth_getTransactionByHash`
    and `zks_getTransactionDetails`) return data for pruned transactions.
    Some other methods (e.g., `eth_getTransactionReceipt`) do not return
    data for pruned transactions (i.e., return `null`). This looks
    inconsistent; also may be wasteful w.r.t. calls to the main node.
    
    ## 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 fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    00c4cca View commit details
    Browse the repository at this point in the history
  6. revert(pruning): Revert pruning query (matter-labs#2220)

    ## What ❔
    
    Reverts matter-labs#2179
    
    ## Why ❔
    
    The new query turned out to be slower than the old one.
    slowli authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    8427cdd View commit details
    Browse the repository at this point in the history
  7. chore(eth-sender): extact abstract l1 interface and all fee-related c…

    …ode (matter-labs#2213)
    
    This PR deliberately only moves the code around without refactoring the
    logic itself to decrease the risk of error. More PRs will most likely
    follow
    
    ---------
    
    Signed-off-by: tomg10 <[email protected]>
    tomg10 authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    560074f View commit details
    Browse the repository at this point in the history
  8. chore: Add more state keeper metrics (matter-labs#2221)

    ## What ❔
    
    Adds metrics to state keeper for better observability
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    perekopskiy authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    836473f View commit details
    Browse the repository at this point in the history
  9. chore: fixed consensus error logging (matter-labs#2219)

    "%err" is just printing the leaf message which is not useful. "{err:#}"
    prints the whole stack trace, as desired.
    pompon0 authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    f529a45 View commit details
    Browse the repository at this point in the history
  10. feat: support debugging of recursive circuits in prover_cli (matter-l…

    …abs#2217)
    
    ## What ❔
    
    * Now prover_cli will also debug recursive circuits (for example
    recursion tip)
    mm-zk authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    7d2e12d View commit details
    Browse the repository at this point in the history
  11. feat(state-keeper): More state keeper metrics (matter-labs#2224)

    ## What ❔
    
    Add metrics for better observability
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    perekopskiy authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    1e48cd9 View commit details
    Browse the repository at this point in the history
  12. chore(zk_toolbox): Update msg_address_doesnt_have_enough_money_prompt (

    …matter-labs#2218)
    
    ## What ❔
    
    Update msg_address_doesnt_have_enough_money_prompt to:
    `Address {address:?} doesn't have enough money to deploy contracts do
    you want to try again?`
    matias-gonz authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    2dcb566 View commit details
    Browse the repository at this point in the history
  13. fix: disable localhost wallets on external network interaction (matte…

    …r-labs#2212)
    
    ## What ❔
    
    - When adding an ecosystem or new chain, localhost wallets should not be
    allowed to be selected.
    
    ## Why ❔
    
    - Localhost are intended for local development.
    <!-- 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    
    Co-authored-by: Matías Ignacio González <[email protected]>
    aon and matias-gonz authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    a00317d View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2024

  1. fix(dal): Fix contract_address field in getTransactionRecipt (matter-…

    …labs#2223)
    
    ## What ❔
    
    + Change `get_transaction_receipts` DAL method to fetch the contract
    address from the `events` table.
    + Add integration test that checks we return the correct contract
    address in the receipt of the transaction that deployed inner-outer
    contract(e.g. contract that initializes another contract in its
    constructor).
    
    ## Why ❔
    The current approach(going to the `storage_logs` table to get the
    contract address) is error-prone. The problem here is that we
    deduplicate storage logs, which renders operation_number invalid. So,
    the ordering is not correct, and we might return the incorrect deployed
    address. This is important when one tx deploys a contract that
    initializes another contract in the constructor(which means we deploy
    several contracts here) - the user expects the "outer" contract address
    but gets the inner.
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    AnastasiiaVashchuk authored Jun 13, 2024
    Configuration menu
    Copy the full SHA
    64cb269 View commit details
    Browse the repository at this point in the history
  2. feat: verification of L1Batch witness (BFT-471) (matter-labs#2019)

    Verification of an L1 batch, based on StoredBatchInfo. We extract the
    hash of the last block of the transaction via merkle path from the
    root_state (for batch n and n-1) and we recompute the rolling block hash
    based on transactions in the payload. The verification is not perfect as
    there are still some fields in payload for which we don't have a
    commitment - we should address that later.
    
    Verification will be used for syncing L1Batches over p2p network (not
    implemented yet).
    
    Also removed serde serialization from TransactionRequest which is unused
    - we don't need to maintain encoding compatibility for it.
    pompon0 authored Jun 13, 2024
    Configuration menu
    Copy the full SHA
    6cc5455 View commit details
    Browse the repository at this point in the history
  3. feat(state-keeper): Add metric for l2 block seal reason (matter-labs#…

    …2229)
    
    ## What ❔
    
    Add metric for l2 block seal reason
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    perekopskiy authored Jun 13, 2024
    Configuration menu
    Copy the full SHA
    f967e6d View commit details
    Browse the repository at this point in the history
  4. revert: verification of L1Batch witness (BFT-471) (matter-labs#2230)

    Execute::factory_deps is set explicitly to null is storage, which breaks
    parsing
    pompon0 authored Jun 13, 2024
    Configuration menu
    Copy the full SHA
    227e101 View commit details
    Browse the repository at this point in the history
  5. fix(prover): Disallow state changes from successful (matter-labs#2233)

    This PR is done as a fix for boojnet outage.
    
    TL;DR; of outage -- race condition caused by prover jobs moving from
    'successful` state to `in_progress`/`in_gpu_proving`.
    
    The PR addresses: 
    - no job can move from successful state (considered final state)
    - fix local development (contracts were pointing to 0.24.0 instead of
    0.24.1) -- can be split to a different PR, if this is problematic.
    - add table constraint -- again, can be split in different PR
    - add checks for recursion_tip number of jobs (post outage check, should
    not happen ever, but better to verify)
    EmilLuta authored Jun 13, 2024
    Configuration menu
    Copy the full SHA
    2488a76 View commit details
    Browse the repository at this point in the history
  6. docs: update URLs related to zkSync docs (matter-labs#2176)

    ## What ❔
    
    Update URLs pointing to our zksync Docs, most of them are outdated and
    using an older URL for docs.zksync.io
    
    ## Why ❔
    
    We've removed a lot of older redirects and URLs should reflect the up to
    date URL for docs.
    itsacoyote authored Jun 13, 2024
    Configuration menu
    Copy the full SHA
    3517ffe View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2024

  1. feat: verification of L1Batch witness (BFT-471) - attempt 2 (matter-l…

    …abs#2232)
    
    Rollforward matter-labs#2019 which was reverted by
    matter-labs#2230
    
    Made Execute json encoding super backward compatible.
    The only change from the previous attempt is in
    core/lib/types/src/execute.rs
    pompon0 authored Jun 14, 2024
    Configuration menu
    Copy the full SHA
    dbcf3c6 View commit details
    Browse the repository at this point in the history
  2. chore(main): release prover 15.0.0 (matter-labs#2145)

    🤖 I have created a release *beep* *boop*
    ---
    
    
    ##
    [15.0.0](matter-labs/zksync-era@prover-v14.5.0...prover-v15.0.0)
    (2024-06-14)
    
    
    ### ⚠ BREAKING CHANGES
    
    * updated boojum and nightly rust compiler
    ([matter-labs#2126](matter-labs#2126))
    
    ### Features
    
    * added debug_proof to prover_cli
    ([matter-labs#2052](matter-labs#2052))
    ([b1ad01b](matter-labs@b1ad01b))
    * faster & cleaner VK generation
    ([matter-labs#2084](matter-labs#2084))
    ([89c8cac](matter-labs@89c8cac))
    * **node:** Move some stuff around
    ([matter-labs#2151](matter-labs#2151))
    ([bad5a6c](matter-labs@bad5a6c))
    * **object-store:** Allow caching object store objects locally
    ([matter-labs#2153](matter-labs#2153))
    ([6c6e65c](matter-labs@6c6e65c))
    * **proof_data_handler:** add new endpoints to the TEE prover interface
    API ([matter-labs#1993](matter-labs#1993))
    ([eca98cc](matter-labs@eca98cc))
    * **prover:** Add file based config for fri prover gateway
    ([matter-labs#2150](matter-labs#2150))
    ([81ffc6a](matter-labs@81ffc6a))
    * **prover:** file based configs for witness generator
    ([matter-labs#2161](matter-labs#2161))
    ([24b8f93](matter-labs@24b8f93))
    * support debugging of recursive circuits in prover_cli
    ([matter-labs#2217](matter-labs#2217))
    ([7d2e12d](matter-labs@7d2e12d))
    * updated boojum and nightly rust compiler
    ([matter-labs#2126](matter-labs#2126))
    ([9e39f13](matter-labs@9e39f13))
    * verification of L1Batch witness (BFT-471) - attempt 2
    ([matter-labs#2232](matter-labs#2232))
    ([dbcf3c6](matter-labs@dbcf3c6))
    * verification of L1Batch witness (BFT-471)
    ([matter-labs#2019](matter-labs#2019))
    ([6cc5455](matter-labs@6cc5455))
    
    
    ### Bug Fixes
    
    * **config:** Split object stores
    ([matter-labs#2187](matter-labs#2187))
    ([9bcdabc](matter-labs@9bcdabc))
    * **prover_cli:** Fix delete command
    ([matter-labs#2119](matter-labs#2119))
    ([214f981](matter-labs@214f981))
    * **prover_cli:** Fix the issues with `home` path
    ([matter-labs#2104](matter-labs#2104))
    ([1e18af2](matter-labs@1e18af2))
    * **prover:** config
    ([matter-labs#2165](matter-labs#2165))
    ([e5daf8e](matter-labs@e5daf8e))
    * **prover:** Disallow state changes from successful
    ([matter-labs#2233](matter-labs#2233))
    ([2488a76](matter-labs@2488a76))
    * Treat 502s and 503s as transient for GCS OS
    ([matter-labs#2202](matter-labs#2202))
    ([0a12c52](matter-labs@0a12c52))
    
    
    ### Reverts
    
    * verification of L1Batch witness (BFT-471)
    ([matter-labs#2230](matter-labs#2230))
    ([227e101](matter-labs@227e101))
    
    ---
    This PR was generated with [Release
    Please](https://github.com/googleapis/release-please). See
    [documentation](https://github.com/googleapis/release-please#release-please).
    zksync-era-bot authored Jun 14, 2024
    Configuration menu
    Copy the full SHA
    ad4b26f View commit details
    Browse the repository at this point in the history
  3. chore: remove some false positive clippy allows (matter-labs#2239)

    ## What ❔
    
    Removes some false positive clippy lints
    
    ## Why ❔
    
    No longer false positive after the recent rustc upgrade
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    itegulov authored Jun 14, 2024
    Configuration menu
    Copy the full SHA
    5696564 View commit details
    Browse the repository at this point in the history
  4. fix(vm-runner): make last_ready_batch account for `first_processed_…

    …batch` (matter-labs#2238)
    
    ## What ❔
    
    Fixes a bug that is currently being observed on testnet
    
    ## Why ❔
    
    Previously, on a fresh start, `last_ready_batch` could report incorrect
    batch meaning no progress would be made as `last_ready_batch` would be
    far less than `first_processed_batch`.
    
    ## 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.
    - [ ] Documentation comments have been added / updated.
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    itegulov authored Jun 14, 2024
    Configuration menu
    Copy the full SHA
    3889794 View commit details
    Browse the repository at this point in the history
  5. perf(db): Improve storage switching for state keeper cache (matter-la…

    …bs#2234)
    
    ## What ❔
    
    Improves switching logic between Postgres and RocksDB for SK cache. With
    these changes, RocksDB is guaranteed to be used if it's up to date when
    it's opened.
    
    ## Why ❔
    
    Previously, Postgres could be used after node start (primarily if
    there's a pending L1 batch) even if RocksDB is up to date. This is
    caused by potential delays when opening RocksDB. This behavior was
    observed in the wild, e.g. for a mainnet full node with pruning enabled.
    
    ## 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 fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 14, 2024
    Configuration menu
    Copy the full SHA
    7c8e24c View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. fix(object-store): Consider more GCS errors transient (matter-labs#2246)

    ## What ❔
    
    Considers `reqwest::Error`s with "request" kind transient for the object
    store logic.
    
    ## Why ❔
    
    Similar to some other kinds of `reqwest::Error`s, not all "request"
    errors are truly transient, but considering them as such is a safer
    option.
    
    ## Checklist
    
    - [x] PR title corresponds to the body of PR (we generate changelog
    entries from PRs).
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    2f6cd41 View commit details
    Browse the repository at this point in the history
  2. fix: zk-toolbox integration tests ci (matter-labs#2226)

    ## What ❔
    
    - Improves zk-toolbox integration tests CI adding missing arguments from
    typescript core CI
    
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    aon authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    3f521ac View commit details
    Browse the repository at this point in the history
  3. chore: lower function selector log level (matter-labs#2251)

    ## What ❔
    
    Lowers function selector not found log level to debug
    
    ## Why ❔
    
    It's non-actionable, harmless and spammy at the same time, for example:
    
    ![Screenshot 2024-06-17 at 5 10
    15 PM](https://github.com/matter-labs/zksync-era/assets/7879134/90b831e1-6391-43da-94da-444a2b47030b)
    
    ## 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.
    - [ ] Documentation comments have been added / updated.
    - [ ] Code has been formatted via `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    itegulov authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    d712874 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3cad74e View commit details
    Browse the repository at this point in the history
  5. fix(vm): Update decommitted_code_hashes in prepare_to_decommit (m…

    …atter-labs#2253)
    
    ## What ❔
    
    Update `decommitted_code_hashes` in `prepare_to_decommit`
    
    ## Why ❔
    
    Contract hashes that reached `prepare_to_decommit` should be returned by
    `get_used_contracts`
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    perekopskiy authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    6c49a50 View commit details
    Browse the repository at this point in the history
  6. chore: move contract verifier logic to lib (matter-labs#2240)

    ## What ❔
    
    Move the contract verifier struct to the separate lib crate.
    
    ## Why ❔
    
    This logic can be used as a library. At lest, for example, now it's
    needed for some compiler analysis tool.
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    AntonD3 authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    63be1f3 View commit details
    Browse the repository at this point in the history
  7. fix(zk_toolbox): Show balance (matter-labs#2254)

    ## What ❔
    
    Show balance of account if it's not enough for contract deployment
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    f1d9f03 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. feat(zk_toolbox): Use docker compose instead of docker-compose (matte…

    …r-labs#2195)
    
    ## What ❔
    
    Use `docker compose` instead of `docker-compose`
    
    ## Why ❔
    
    The recommended command-line syntax is docker compose:
    
    https://docs.docker.com/compose/migrate/#docker-compose-vs-docker-compose
    matias-gonz authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    2f528ec View commit details
    Browse the repository at this point in the history
  2. fix(prover_cli): Remove outdated fix for circuit id in node wg (matte…

    …r-labs#2248)
    
    This PR removes the fixes that were used to correct the circuit_id in
    the node witness generator.
    
    ## 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.
    - [ ] Documentation comments have been added / updated.
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    ColoCarletti authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    db8e71b View commit details
    Browse the repository at this point in the history
  3. feat(contract-verifier): Adjust contract verifier for zksolc 1.5.0 (m…

    …atter-labs#2255)
    
    ## What ❔
    
    - `system-mode`, `force-evmla` flag are not provided for zksolc post
    v1.5.0 compilations
    - `solc-path` is not provided for system yul post v1.5.0 compilations 
    
    ## Why ❔
    
    Changes in compiler interface
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    perekopskiy authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    63efb2e View commit details
    Browse the repository at this point in the history
  4. fix(zk_toolbox): Use the same l2 address for shared and erc20 bridge (m…

    …atter-labs#2260)
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    26f2010 View commit details
    Browse the repository at this point in the history
  5. feat(eth-sender): fix for missing eth_txs_history entries (matter-lab…

    …s#2236)
    
    This change introduces an invariant "If the transaction may have been
    sent, then the sent_at_block is set". This way we never remove
    eth_txs_history entries if the transaction may be included in block. The
    downside is that we can't distinguish between not sent transaction and
    one that has not been mined, but you can't have it both.
    The next step is to remove "send_unsent_transactions" step, but it can't
    be done in this PR as there might be transactions in db without
    sent_at_block set
    
    ---------
    
    Signed-off-by: tomg10 <[email protected]>
    tomg10 authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    f05b0ae View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2024

  1. fix(node_framework): Run gas adjuster task only if necessary (matter-…

    …labs#2266)
    
    ## What ❔
    
    Adds a check that would prevent gas adjuster task from actually running
    if there are no users of `GasAdjuster`.
    
    ## Why ❔
    
    `GasAdjuster` is provided as a resource for anyone to use, but its
    support task uses RPC (which has usage limits), so it doesn't make sense
    to run it if nobody uses `GasAdjuster`.
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    popzxc authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    2dac846 View commit details
    Browse the repository at this point in the history
  2. feat(zk_toolbox): Add prover generate-sk command (matter-labs#2222)

    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    matias-gonz authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    40e0a95 View commit details
    Browse the repository at this point in the history
  3. fix(nix): make devShells.default pure again (matter-labs#2269)

    ## What ❔
    
    this removes the need to call `nix develop` with the `--impure` flag
    
    ## Why ❔
    
    This removes an inconvenience.
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    
    Signed-off-by: Harald Hoyer <[email protected]>
    haraldh authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    496e6c1 View commit details
    Browse the repository at this point in the history
  4. feat: Expose fair_pubdata_price for blocks and batches (matter-labs#2244

    )
    
    ## What ❔
    
    * Exposing fair_pubdata_price in our block & batches API
    
    ## Why ❔
    
    * This is crucial information for projects that need to replay our
    transactions (for example era_test_node).
    * Without this, they cannot compute the correct gas costs.
    mm-zk authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    0d51cd6 View commit details
    Browse the repository at this point in the history
  5. refactor(en): Fetch old L1 batch hashes from L1 – improve metrics / l…

    …ogging (matter-labs#2242)
    
    ## What ❔
    
    Improves logging and metrics for the tree data fetcher.
    
    ## Why ❔
    
    Currently, some errors don't have their context logged, and some metrics
    are defined suboptimally.
    
    ## 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 fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    9cc757a View commit details
    Browse the repository at this point in the history
  6. feat: upgraded encoding of transactions in consensus Payload. (matter…

    …-labs#2245)
    
    Currently the encoded transaction is up to 3x larger than its rlp
    encoding. This is caused by data duplication between: raw, input and
    factory_deps fields. In the new encoding we use the rlp directly. It
    will be used starting with protocol version 25.
    
    ---------
    
    Co-authored-by: Bruno França <[email protected]>
    pompon0 and brunoffranca authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    cb6a6c8 View commit details
    Browse the repository at this point in the history
  7. feat(node): Port (most of) Node to the Node Framework (matter-labs#2196)

    ## What ❔
    
    Ports most of the EN parts to the framework, except:
    - Reorg detector
    - Genesis / snapshot recovery
    - Unique metrics stuff
    
    ## Why ❔
    
    This forms the "main" body of the framework-based EN. The binary can
    already run, it can proxy and re-execute transactions, etc.
    The remaining work may be somewhat complex, so I would like to ship it
    separately -- so that it receives thorough review.
    
    There are some TODOs without a task number in this PR, expect them
    either to be fixed in the next one, or otherwise an issue to be added.
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    popzxc authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    7842bc4 View commit details
    Browse the repository at this point in the history
  8. perf(db): Try yet another storage log pruning approach (matter-labs#2268

    )
    
    ## What ❔
    
    Structures storage log pruning differently by first loading primary keys
    for the latest logs in the pruned block range, and then range-removing
    older logs based on these PKs. Both of these queries are designed to use
    particular indexes, making them have predictable performance.
    
    ## Why ❔
    
    The current DB queries for storage log pruning sometimes use
    unpredictable indexes and have suboptimal performance.
    
    ## 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 fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    3ee34be View commit details
    Browse the repository at this point in the history
  9. feat: change zkSync occurences to ZKsync (matter-labs#2227)

    ## What ❔
    This PR changes `zkSync` occurences to `ZKsync`
    
    ## Why ❔
    
    `ZKsync` is new valid way of writing the name.
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    
    ---------
    
    Co-authored-by: Fedor Sakharov <[email protected]>
    maciekzygmunt and montekki authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    0b4104d View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    c828217 View commit details
    Browse the repository at this point in the history
  11. fix(prover_cli): Fix Minor Bugs in Prover CLI (matter-labs#2264)

    This PR fixes bugs in the Prover CLI:
    - The status command was not displaying correctly for more than one
    batch.
    - The witness job status was incorrectly set to "in progress" when some
    batches were in the queue and others were waiting for proofs.
    - The config command failed if there was no configuration file. Now, it
    creates one if it’s not found.
    
    
    ## 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`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    ColoCarletti authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    440f2a7 View commit details
    Browse the repository at this point in the history
  12. fix(vm): fix insertion to decommitted_code_hashes (matter-labs#2275)

    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    perekopskiy authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    15bb71e View commit details
    Browse the repository at this point in the history
  13. feat(tee_verifier_input_producer): use `FactoryDepsDal::get_factory_d…

    …eps() (matter-labs#2271)
    
    ## What ❔
    
    Use `FactoryDepsDal::get_factory_deps()` in the
    tee_verifier_input_producer crate.
    
    ## Why ❔
    
    This optimizes getting the system contracts and gets rid of a couple of
    workarounds.
    
    ## 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.
    - [ ] Documentation comments have been added / updated.
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    
    Signed-off-by: Harald Hoyer <[email protected]>
    haraldh authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    2c0a00a View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    05c6f35 View commit details
    Browse the repository at this point in the history
  15. chore: use simple StorageLog struct instead of LogQuery when possible (

    …matter-labs#2252)
    
    There are many fields in LogQuery on the core side (it also exists in
    zk_evm) that are unused and often just set to some garbage value but
    that is very confusing.
    
    This PR changes the uses of LogQuery in the VmInterface to StorageLog,
    which only has the necessary fields.
    
    ---------
    
    Co-authored-by: perekopskiy <[email protected]>
    joonazan and perekopskiy authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    3bf8966 View commit details
    Browse the repository at this point in the history
  16. refactor(db): Combine storage log pruning into single query (matter-l…

    …abs#2279)
    
    ## What ❔
    
    Minor follow-up for matter-labs#2268
    that combines both parts of log pruning into a single query.
    
    ## Why ❔
    
    Easier to maintain and could be slightly more efficient since
    intermediate data doesn't need to travel from Postgres to the node and
    back.
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    7f4e6ac View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    f7f5447 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2024

  1. feat(prover): Add file based config for prover fri (matter-labs#2184)

    ## What ❔
    Add file based config for prover fri
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    matias-gonz authored Jun 20, 2024
    Configuration menu
    Copy the full SHA
    f851615 View commit details
    Browse the repository at this point in the history
  2. feat: Remove initialize_components function (matter-labs#2284)

    ## What ❔
    
    Makes node framework the only way to run main node.
    Removes `initialize_components` function.
    
    ⚠️ Some leftovers are left in `core_leftovers` -- these are still used
    in some places. Removing them will be tacked separately.
    
    ## Why ❔
    
    Part of the migration.
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    popzxc authored Jun 20, 2024
    Configuration menu
    Copy the full SHA
    0a38891 View commit details
    Browse the repository at this point in the history
  3. feat(api): Add new l1_committed block tag (matter-labs#2282)

    ## Follow-ups: 
    - add `l1_committed` tag to zksync-ethers codebase.
    - update docs.
    
    ## What ❔
    - added the new tag `L1Committed` to `BlockNumber` enum.
    - added a new query to db to fetch l2 block, that was included into
    committed on L1 `l1_batch` inside `resolve_block_id ` dal method.
    - added unit test to check new feature `resolving_l1_committed_block_id
    `.
    - updated integration test.
    - refactored `dal`'s tests - created `create_l1_batch_header` for tests
    to avoid duplication.
    
    ## Why ❔
    
    Chainlink needs this feature.
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    AnastasiiaVashchuk authored Jun 20, 2024
    Configuration menu
    Copy the full SHA
    d5e8e9b View commit details
    Browse the repository at this point in the history
  4. fix(pruning): Check pruning in metadata calculator (matter-labs#2286)

    ## What ❔
    
    Adds checks in the case the metadata calculator cannot proceed because
    of pruning.
    
    ## Why ❔
    
    While we don't officially support distributed setup for ENs, it still
    looks worth it to have intelligent error messages in case metadata
    calculator is stuck.
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 20, 2024
    Configuration menu
    Copy the full SHA
    7bd8f27 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3f88b8d View commit details
    Browse the repository at this point in the history
  6. refactor(db): Improve storage logs pruning query – add block condition (

    matter-labs#2285)
    
    ## What ❔
    
    Adds a block condition for the storage logs pruning query.
    
    ## Why ❔
    
    This should improve the query plan.
    
    ## Checklist
    
    - [x] PR title corresponds to the body of PR (we generate changelog
    entries from PRs).
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 20, 2024
    Configuration menu
    Copy the full SHA
    dd2c941 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    619a525 View commit details
    Browse the repository at this point in the history
  8. feat(ci): remove spellcheck (matter-labs#2243)

    Signed-off-by: tomg10 <[email protected]>
    Co-authored-by: pompon0 <[email protected]>
    tomg10 and pompon0 authored Jun 20, 2024
    Configuration menu
    Copy the full SHA
    f4aff94 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2024

  1. feat(docs): Add documentation for subset of wiring layer implementati…

    …ons, used by Main node (matter-labs#2292)
    
    This is the first PR in the queue.
    
    ## What ❔
    
    Adds a description for the next wiring layers:
    - `CircuitBreakerCheckerLayer`
    - `CommitmentGeneratorLayer`
    - `ContractVerificationApiLayer`
    - `EthTxManagerLayer`
    - `EthTxAggregatorLayer`
    - `EthWatchLayer`
    - `HealthCheckLayer`
    AnastasiiaVashchuk authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    06c287b View commit details
    Browse the repository at this point in the history
  2. fix(db): Fix insert_proof_generation_details() (matter-labs#2291)

    ## What ❔
    
    Removes a double insertion check from
    `insert_proof_generation_details()` in `ProofGenerationDal`.
    
    ## Why ❔
    
    It is not an error, and can and will happen if multiple full trees are
    run for the same node.
    
    ## 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 fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    c2412cf View commit details
    Browse the repository at this point in the history
  3. refactor(pruning): Improve pruning metrics and logs (matter-labs#2297)

    ## What ❔
    
    - Adds counters for outcomes (success, failure, error) for all pruning
    conditions.
    - Distinguishes between no-op and soft pruning latency.
    - Logs latencies and stats in tree pruning.
    - Other misc improvements.
    
    ## Why ❔
    
    Improves pruning observability.
    
    ## 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 `zk fmt` and `zk lint`.
    slowli authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    e467028 View commit details
    Browse the repository at this point in the history
  4. chore: bumped curve25519 (matter-labs#2299)

    ## What ❔
    
    matter-labs#2274 got reverted
    
    ## Why ❔
    
    Vuln
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    6fd4258 View commit details
    Browse the repository at this point in the history
  5. feat: Use info log level for crates named zksync_* by default (matter…

    …-labs#2296)
    
    ## What ❔
    
    Makes `zksync=info` default log entry, which later can be
    overridden/extended.
    
    ## Why ❔
    
    Provides a good enough default for any env, simplifies configuration of
    the system.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    9303142 View commit details
    Browse the repository at this point in the history
  6. feat(init): Update init scripts (matter-labs#2301)

    ## What ❔
    
    Update contracts 
    ## 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 `zk fmt` and `zk lint`.
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    682a214 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2024

  1. feat(vm-runner): add protective reads persistence flag for state keep…

    …er (matter-labs#2307)
    
    ## What ❔
    
    Makes `protective-reads-writer` actually write the data when it hasn't
    already been written by state keeper.
    
    ## Why ❔
    
    Next iteration of VM runner
    
    ## 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 `zk fmt` and `zk lint`.
    itegulov authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    36d2eb6 View commit details
    Browse the repository at this point in the history
  2. chore(release): Release As: 24.8.0 (matter-labs#2308)

    ## 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 `zk fmt` and `zk lint`.
    perekopskiy authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    67411fd View commit details
    Browse the repository at this point in the history
  3. feat: Make all core workspace crate names start with zksync_ (matter-…

    …labs#2294)
    
    ## What ❔
    
    Renames a bunch of crates (most notably, `multivm` and `vlog`) so that
    they start with `zksync_` prefix.
    
    ## Why ❔
    
    Unification within the workspace, less ambiguity if treated as global
    crates.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    8861f29 View commit details
    Browse the repository at this point in the history
  4. chore(main): release core 24.8.0 (matter-labs#2135)

    🤖 I have created a release *beep* *boop*
    ---
    
    
    ##
    [24.8.0](matter-labs/zksync-era@core-v24.7.0...core-v24.8.0)
    (2024-06-24)
    
    
    ### ⚠ BREAKING CHANGES
    
    * updated boojum and nightly rust compiler
    ([matter-labs#2126](matter-labs#2126))
    
    ### Features
    
    * Add metrics for transaction execution result in state keeper
    ([matter-labs#2021](matter-labs#2021))
    ([dde0fc4](matter-labs@dde0fc4))
    * **api:** Add new `l1_committed` block tag
    ([matter-labs#2282](matter-labs#2282))
    ([d5e8e9b](matter-labs@d5e8e9b))
    * **api:** Rework zks_getProtocolVersion
    ([matter-labs#2146](matter-labs#2146))
    ([800b8f4](matter-labs@800b8f4))
    * change `zkSync` occurences to `ZKsync`
    ([matter-labs#2227](matter-labs#2227))
    ([0b4104d](matter-labs@0b4104d))
    * **contract-verifier:** Adjust contract verifier for zksolc 1.5.0
    ([matter-labs#2255](matter-labs#2255))
    ([63efb2e](matter-labs@63efb2e))
    * **docs:** Add documentation for subset of wiring layer
    implementations, used by Main node
    ([matter-labs#2292](matter-labs#2292))
    ([06c287b](matter-labs@06c287b))
    * **docs:** Pruning and Snapshots recovery basic docs
    ([matter-labs#2265](matter-labs#2265))
    ([619a525](matter-labs@619a525))
    * **en:** Allow recovery from specific snapshot
    ([matter-labs#2137](matter-labs#2137))
    ([ac61fed](matter-labs@ac61fed))
    * **eth-sender:** fix for missing eth_txs_history entries
    ([matter-labs#2236](matter-labs#2236))
    ([f05b0ae](matter-labs@f05b0ae))
    * Expose fair_pubdata_price for blocks and batches
    ([matter-labs#2244](matter-labs#2244))
    ([0d51cd6](matter-labs@0d51cd6))
    * **merkle-tree:** Rework tree rollback
    ([matter-labs#2207](matter-labs#2207))
    ([c3b9c38](matter-labs@c3b9c38))
    * **node-framework:** Add Main Node Client layer
    ([matter-labs#2132](matter-labs#2132))
    ([927d842](matter-labs@927d842))
    * **node:** Move some stuff around
    ([matter-labs#2151](matter-labs#2151))
    ([bad5a6c](matter-labs@bad5a6c))
    * **node:** Port (most of) Node to the Node Framework
    ([matter-labs#2196](matter-labs#2196))
    ([7842bc4](matter-labs@7842bc4))
    * **object-store:** Allow caching object store objects locally
    ([matter-labs#2153](matter-labs#2153))
    ([6c6e65c](matter-labs@6c6e65c))
    * **proof_data_handler:** add new endpoints to the TEE prover interface
    API ([matter-labs#1993](matter-labs#1993))
    ([eca98cc](matter-labs@eca98cc))
    * **prover:** Add file based config for fri prover gateway
    ([matter-labs#2150](matter-labs#2150))
    ([81ffc6a](matter-labs@81ffc6a))
    * Remove initialize_components function
    ([matter-labs#2284](matter-labs#2284))
    ([0a38891](matter-labs@0a38891))
    * **state-keeper:** Add metric for l2 block seal reason
    ([matter-labs#2229](matter-labs#2229))
    ([f967e6d](matter-labs@f967e6d))
    * **state-keeper:** More state keeper metrics
    ([matter-labs#2224](matter-labs#2224))
    ([1e48cd9](matter-labs@1e48cd9))
    * **sync-layer:** adapt MiniMerkleTree to manage priority queue
    ([matter-labs#2068](matter-labs#2068))
    ([3e72364](matter-labs@3e72364))
    * **tee_verifier_input_producer:** use
    `FactoryDepsDal::get_factory_deps()
    ([matter-labs#2271](matter-labs#2271))
    ([2c0a00a](matter-labs@2c0a00a))
    * **toolbox:** add zk_toolbox ci
    ([matter-labs#1985](matter-labs#1985))
    ([4ab4922](matter-labs@4ab4922))
    * updated boojum and nightly rust compiler
    ([matter-labs#2126](matter-labs#2126))
    ([9e39f13](matter-labs@9e39f13))
    * upgraded encoding of transactions in consensus Payload.
    ([matter-labs#2245](matter-labs#2245))
    ([cb6a6c8](matter-labs@cb6a6c8))
    * Use info log level for crates named zksync_* by default
    ([matter-labs#2296](matter-labs#2296))
    ([9303142](matter-labs@9303142))
    * verification of L1Batch witness (BFT-471) - attempt 2
    ([matter-labs#2232](matter-labs#2232))
    ([dbcf3c6](matter-labs@dbcf3c6))
    * verification of L1Batch witness (BFT-471)
    ([matter-labs#2019](matter-labs#2019))
    ([6cc5455](matter-labs@6cc5455))
    * **vm-runner:** add basic metrics
    ([matter-labs#2203](matter-labs#2203))
    ([dd154f3](matter-labs@dd154f3))
    * **vm-runner:** add protective reads persistence flag for state keeper
    ([matter-labs#2307](matter-labs#2307))
    ([36d2eb6](matter-labs@36d2eb6))
    * **vm-runner:** shadow protective reads using VM runner
    ([matter-labs#2017](matter-labs#2017))
    ([1402dd0](matter-labs@1402dd0))
    
    
    ### Bug Fixes
    
    * **api:** Fix getting pending block
    ([matter-labs#2186](matter-labs#2186))
    ([93315ba](matter-labs@93315ba))
    * **api:** Fix transaction methods for pruned transactions
    ([matter-labs#2168](matter-labs#2168))
    ([00c4cca](matter-labs@00c4cca))
    * **config:** Fix object store
    ([matter-labs#2183](matter-labs#2183))
    ([551cdc2](matter-labs@551cdc2))
    * **config:** Split object stores
    ([matter-labs#2187](matter-labs#2187))
    ([9bcdabc](matter-labs@9bcdabc))
    * **db:** Fix `insert_proof_generation_details()`
    ([matter-labs#2291](matter-labs#2291))
    ([c2412cf](matter-labs@c2412cf))
    * **db:** Optimize `get_l2_blocks_to_execute_for_l1_batch`
    ([matter-labs#2199](matter-labs#2199))
    ([06ec5f3](matter-labs@06ec5f3))
    * **en:** Fix reorg detection in presence of tree data fetcher
    ([matter-labs#2197](matter-labs#2197))
    ([20da566](matter-labs@20da566))
    * **en:** Fix transient error detection in consistency checker
    ([matter-labs#2140](matter-labs#2140))
    ([38fdfe0](matter-labs@38fdfe0))
    * **en:** Remove L1 client health check
    ([matter-labs#2136](matter-labs#2136))
    ([49198f6](matter-labs@49198f6))
    * **eth-sender:** Don't resend already sent transactions in the same
    block ([matter-labs#2208](matter-labs#2208))
    ([3538e9c](matter-labs@3538e9c))
    * **eth-sender:** etter error handling in eth-sender
    ([matter-labs#2163](matter-labs#2163))
    ([0cad504](matter-labs@0cad504))
    * **node_framework:** Run gas adjuster task only if necessary
    ([matter-labs#2266](matter-labs#2266))
    ([2dac846](matter-labs@2dac846))
    * **object-store:** Consider more GCS errors transient
    ([matter-labs#2246](matter-labs#2246))
    ([2f6cd41](matter-labs@2f6cd41))
    * **prover_cli:** Remove outdated fix for circuit id in node wg
    ([matter-labs#2248](matter-labs#2248))
    ([db8e71b](matter-labs@db8e71b))
    * **prover:** Disallow state changes from successful
    ([matter-labs#2233](matter-labs#2233))
    ([2488a76](matter-labs@2488a76))
    * **pruning:** Check pruning in metadata calculator
    ([matter-labs#2286](matter-labs#2286))
    ([7bd8f27](matter-labs@7bd8f27))
    * Treat 502s and 503s as transient for GCS OS
    ([matter-labs#2202](matter-labs#2202))
    ([0a12c52](matter-labs@0a12c52))
    * **vm-runner:** add config value for the first processed batch
    ([matter-labs#2158](matter-labs#2158))
    ([f666717](matter-labs@f666717))
    * **vm-runner:** make `last_ready_batch` account for
    `first_processed_batch`
    ([matter-labs#2238](matter-labs#2238))
    ([3889794](matter-labs@3889794))
    * **vm:** fix insertion to `decommitted_code_hashes`
    ([matter-labs#2275](matter-labs#2275))
    ([15bb71e](matter-labs@15bb71e))
    * **vm:** Update `decommitted_code_hashes` in `prepare_to_decommit`
    ([matter-labs#2253](matter-labs#2253))
    ([6c49a50](matter-labs@6c49a50))
    
    
    ### Performance Improvements
    
    * **db:** Improve storage switching for state keeper cache
    ([matter-labs#2234](matter-labs#2234))
    ([7c8e24c](matter-labs@7c8e24c))
    * **db:** Try yet another storage log pruning approach
    ([matter-labs#2268](matter-labs#2268))
    ([3ee34be](matter-labs@3ee34be))
    * **en:** Parallelize persistence and chunk processing during tree
    recovery
    ([matter-labs#2050](matter-labs#2050))
    ([b08a667](matter-labs@b08a667))
    * **pruning:** Use more efficient query to delete past storage logs
    ([matter-labs#2179](matter-labs#2179))
    ([4c18755](matter-labs@4c18755))
    
    
    ### Reverts
    
    * **pruning:** Revert pruning query
    ([matter-labs#2220](matter-labs#2220))
    ([8427cdd](matter-labs@8427cdd))
    * verification of L1Batch witness (BFT-471)
    ([matter-labs#2230](matter-labs#2230))
    ([227e101](matter-labs@227e101))
    
    ---
    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]>
    zksync-era-bot and zksync-era-bot authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    9080452 View commit details
    Browse the repository at this point in the history
  5. fix(zk_toolbox): Use slug crate instead of self written function (mat…

    …ter-labs#2309)
    
    ## What ❔
    Use slug crate for covering more problematic ecosystem names
    
    ## 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 `zk fmt` and `zk lint`.
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    a61f273 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    31a1a04 View commit details
    Browse the repository at this point in the history
  7. chore: remove release override (matter-labs#2313)

    ## 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 `zk fmt` and `zk lint`.
    perekopskiy authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    4e9f724 View commit details
    Browse the repository at this point in the history
  8. docs(pruning): Improve pruning and snapshot recovery docs (matter-lab…

    …s#2311)
    
    ## What ❔
    
    Improves various pruning and snapshot recovery docs.
    
    ## Why ❔
    
    Makes docs more thorough and clearer.
    
    ## Checklist
    
    - [x] PR title corresponds to the body of PR (we generate changelog
    entries from PRs).
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    slowli authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    b4327b6 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    627aab9 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2024

  1. feat(node_framework): Support shutdown hooks + more (matter-labs#2293)

    ## What ❔
    
    - Adds support for shutdown hooks. These are to be executed sequentially
    after all the tasks are either completed or dropped.
    - Note: I didn't spend too much time designing it, went with a "well
    enough" approach, as there are a ton of other things to do rn. We can
    revisit the design later, unless there are critical issues here.
    - One known caveat is that the hooks are not very reusable, and two
    tasks can add the same hook, and it will be executed twice. Not sure if
    it's an issue, given that the second execution would be a no-op.
    - Moves waiting of rocksdb termination from state keeper and metadata
    calculator tasks to the hooks.
    - Increases the amount of logs we emit.
    - Adds task names to many service logs where they were missing.
    - Collects all the errors that occurred in the framework.
    - Improves handling of stop signals in queued job processor.
    
    ## Why ❔
    
    - Performing the shutdown routine in the task itself is deadlock-prone.
    - Added logs would've helped with identifying the issues we've already
    met.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    2b2c790 View commit details
    Browse the repository at this point in the history
  2. feat(metadata-calculator): option to use VM runner for protective rea…

    …ds (matter-labs#2318)
    
    ## 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 `zk fmt` and `zk lint`.
    itegulov authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    c147b0c View commit details
    Browse the repository at this point in the history
  3. feat(node_framework): Document implementations (matter-labs#2319)

    ## What ❔
    
    Provides minimal documentation for the already present framework
    implementations.
    
    ## Why ❔
    
    Accessibility.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    7b3877f View commit details
    Browse the repository at this point in the history
  4. fix(merkle-tree): Change LazyAsyncTreeReader::wait() signature (mat…

    …ter-labs#2314)
    
    ## What ❔
    
    Makes `LazyAsyncTreeReader::wait()` return an `Option` to make it
    clearer that not initializing is not necessarily an error (this decision
    is up to the caller).
    
    ## Why ❔
    
    Recent errors on ENs were caused by unwrapping
    `LazyAsyncTreeReader::wait()`. They partially masked the real error
    cause (not related to this task).
    
    ## 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 `zk fmt` and `zk lint`.
    slowli authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    408393c View commit details
    Browse the repository at this point in the history
  5. refactor: Remove metrics dependencies from workspace (matter-labs#2320

    )
    
    ## What ❔
    
    - Removes `metrics` dependencies from workspace as unused.
    - Removes a separate Prometheus exporter crate in favor of a module in
    `zksync_vlog`.
    
    ## Why ❔
    
    Maintainability.
    
    ## Checklist
    
    - [x] PR title corresponds to the body of PR (we generate changelog
    entries from PRs).
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    slowli authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    c4f7b92 View commit details
    Browse the repository at this point in the history
  6. feat(en): file based configs for en (matter-labs#2110)

    ## What ❔
    
    Allow EN works with file-based config system. 
    Also it brings new functionality based on config system to the main
    node, because it was lacking before, such as custom api namespaces
    
    ## Why ❔
    
    Part of the refactoring to the new config system
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    
    ---------
    
    Signed-off-by: Danil <[email protected]>
    Co-authored-by: Matías Ignacio González <[email protected]>
    Deniallugo and matias-gonz authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    7940fa3 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8b1fbab View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2024

  1. feat(node_framework): Unify Task types + misc improvements (matter-la…

    …bs#2325)
    
    ## What ❔
    
    - Unifies `Task` types. Now we only have a single `Task` type with
    different `TaskKind` specifiers.
    - Refactors `ZkStackService::run` so that it's more readable.
    - Updates the framework documentation.
    - Minor improvements here and there.
    
    ## Why ❔
    
    - Preparing framework for the previously proposed refactoring (e.g.
    `FromContext` / `IntoContext` IO flow).
    - Preparing framework for the publishing.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    298a97e View commit details
    Browse the repository at this point in the history
  2. chore: documentation about docker (matter-labs#2328)

    ## What ❔
    
    * Documentation explaining how to use docker to debug the CI issues.
    mm-zk authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    061097d View commit details
    Browse the repository at this point in the history
  3. feat(zk toolbox): External node support (matter-labs#2287)

    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    
    ---------
    
    Signed-off-by: Danil <[email protected]>
    Co-authored-by: Matías Ignacio González <[email protected]>
    Deniallugo and matias-gonz authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    6384cad View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ef75292 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2024

  1. fix(object-store): Consider some token source errors transient (matte…

    …r-labs#2331)
    
    ## What ❔
    
    Considers some token source GCS errors transient.
    
    ## Why ❔
    
    Considering errors as transient leads to less abnormal application
    terminations.
    
    ## 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 `zk fmt` and `zk lint`.
    slowli authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    85386d3 View commit details
    Browse the repository at this point in the history
  2. feat(gas_adjuster): Use eth_feeHistory for both base fee and blobs (m…

    …atter-labs#2322)
    
    ## What ❔
    
    Updated the codebase to support blob information in the `eth_feeHistory`
    RPC method.
    Changes GasAdjuster so that it only uses this method to retrieve info.
    
    ## Why ❔
    
    Use dedicated RPC method for getting info instead of custom
    implementation.
    Less requests to L1.
    Less code to maintain.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    9985c26 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    287958d View commit details
    Browse the repository at this point in the history
  4. feat(en): Unify snapshot recovery and recovery from L1 (matter-labs#2256

    )
    
    ## What ❔
    
    - Replaces `storage_logs.{address, key}` fields in the snapshot with
    `storage_logs.hashed_key`.
    - Makes `storage_logs.{address, key}` fields in Postgres optional and
    adapts the codebase for it.
    
    ## Why ❔
    
    - This will make snapshot data equivalent to data obtainable from L1,
    and thus would allow to unify snapshot recovery and recovery from L1
    data.
    - Decreases the snapshot size somewhat.
    
    ## 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 fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    slowli authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    e03a929 View commit details
    Browse the repository at this point in the history
  5. feat(prover): Add file based config for witness vector generator (mat…

    …ter-labs#2337)
    
    ## What ❔
    
    Add file based config for witness vector generator
    matias-gonz authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    f86eb13 View commit details
    Browse the repository at this point in the history
  6. feat: add revert tests to zk_toolbox (matter-labs#2317)

    ## What ❔
    
    - Adds revert tests to zk_toolbox
    <!-- 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).
    - [x] Tests for the changes have been added / updated.
    - [x] Documentation comments have been added / updated.
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    aon authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    c9ad002 View commit details
    Browse the repository at this point in the history
  7. feat: Adding unstable RPC endpoint to return the execution_info (matt…

    …er-labs#2332)
    
    ## What ❔
    
    * Execution info shows some details from the VM execution (like
    circutits used, pubdata etc)
    * This data was only stored in DB and not accessible outside - after
    this PR, it is available under `nstable_getTransactionExecutionInfo`
    
    ## Why ❔
    
    * This allows us to do more advanced debugging of issues - especially
    for cases where we might not have access to the underlying database.
    * In the future, some parts of this might be migrated into a 'stable'
    RPC.
    
    ## Evidence
    
    ![image](https://github.com/matter-labs/zksync-era/assets/128217157/20da9e80-f7b3-4614-89f3-b09a774ffcf9)
    mm-zk authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    3d047ea View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2024

  1. refactor(dal): Deprecate l1_batches.l2_to_l1_logs (matter-labs#2175)

    **review notes**: 
    - changes in `core/lib/types/src/commitment/tests/**.json`s - only
    formatting.
    - as a follow-up to this PR there should be another PR that adds drop
    `l1_batches.l2_to_l1_logs` column migration.
    
    ## What ❔
    
    - New dal method `get_l2_to_l1_logs_by_number` that fetches logs for a
    specific number from `l2_to_l1_logs` table.
    - More complicated way to construct `L1BatchHeader`. Now we fetch data
    from the `l1_batches` table as `StorageL1BatchHeader `..then fetch l2l1
    logs using `get_l2_to_l1_logs_by_number` and after, use the helper
    `into_l1_batch_header_with_logs ` method to construct `L1BatchHeader`.
    
    ## Why ❔
    
    The main motivation for this change is to avoid keeping info about l2l1
    logs in 2 tables.
    
    ## 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    AnastasiiaVashchuk authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    4f77439 View commit details
    Browse the repository at this point in the history
  2. feat(contract-verifier): Add new compilers (matter-labs#2346)

    ## What ❔
    
    Adds new compilers
    
    ## 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 `zk fmt` and `zk lint`.
    perekopskiy authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    9bbdf22 View commit details
    Browse the repository at this point in the history
  3. feat(zk-toolbox): Deploy custom token (matter-labs#2329)

    ## What ❔
    
    Small fixes for local deployment 
    
    ## 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 `zk fmt` and `zk lint`.
    
    ---------
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    3a8fed4 View commit details
    Browse the repository at this point in the history
  4. feat(zk_toolbox): Dev command (matter-labs#2347)

    ## What ❔
    
    Shortcut for developers, for not answering all questions 
    
    ## 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 `zk fmt` and `zk lint`.
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    f508ac1 View commit details
    Browse the repository at this point in the history
  5. feat: consensus support for pruning (BFT-473) (matter-labs#2334)

    Added a task which is monitoring the persisted block range and notifies
    consensus if it shrinks.
    pompon0 authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    abc4256 View commit details
    Browse the repository at this point in the history
  6. feat(eth-sender): handle transactions for different operators separat…

    …ely to increase throughtput (matter-labs#2341)
    
    Before this PR, all transactions to be send for the first time landed in
    one queue.
    Whenever a transaction had to be resent, on each block: 
    - we chose the first non-blob transaction could a blob transaction be
    resent.
    - If and only if there are no such non-blob txs we resend a blob
    transaction.
    
    While this works, it's not ideal as those two types of transactions can
    be safely sent independently to increase throughput.
    It's also harder to think about time in mempool now as for instance a
    blob txs may have to wait for an hour before all pending non-blob txs
    are sent and confirmed.
    My PR changes so that those two types of transaction are completely
    separate. It makes sense as they are using different sender accounts
    (operators) and a different set of nonces, so they can be safely sent in
    parallel.
    
    ---------
    
    Signed-off-by: tomg10 <[email protected]>
    tomg10 authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    0619ecc View commit details
    Browse the repository at this point in the history
  7. fix(merkle-tree): Fix chunk recovery reporting during tree recovery (m…

    …atter-labs#2348)
    
    ## What ❔
    
    Fixes logging / observing metrics in the case a termination signal was
    received during tree recovery.
    
    ## Why ❔
    
    Logging / observing metrics in this case is misleading.
    
    ## Checklist
    
    - [x] PR title corresponds to the body of PR (we generate changelog
    entries from PRs).
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    slowli authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    70b3a8a View commit details
    Browse the repository at this point in the history
  8. feat(zk_toolbox): Add prover init command (matter-labs#2298)

    ## What ❔
    
    Add prover init command.
    
    Initializes proof object storage settings.
    
    ## 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 `zk fmt` and `zk lint`.
    matias-gonz authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    159af3c View commit details
    Browse the repository at this point in the history
  9. feat(prover): Add file based config for compressor (matter-labs#2353)

    Add file based config for compressor
    matias-gonz authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    1d6f87d View commit details
    Browse the repository at this point in the history
  10. chore: update smart contracts (matter-labs#2354)

    ## 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 `zk fmt` and `zk lint`.
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    6c308d2 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2024

  1. feat(snapshots_applier): Add a method to check whether snapshot recov…

    …ery is done (matter-labs#2338)
    
    ## What ❔
    
    subj
    
    ## Why ❔
    
    Such a method is useful, for example, to understand whether it's safe to
    start the API server in distributed mode.
    Will be a part of EN check for storage initialization.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    610a7cf View commit details
    Browse the repository at this point in the history
  2. fix(proof_compressor): Fix backward compatibility (matter-labs#2356)

    ## 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 `zk fmt` and `zk lint`.
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    76508c4 View commit details
    Browse the repository at this point in the history
  3. chore: Bump networking deps (matter-labs#2349)

    ## What ❔
    
    Bumps networking deps: hyper, http, reqwest, axum, jsonrpsee, and a few
    others.
    
    ## Why ❔
    
    hyper is a grown boy now. It's time to use 1.0.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    7dabdbf View commit details
    Browse the repository at this point in the history
  4. feat(node_framework): Implement FromContext and IntoContext derive ma…

    …cro (matter-labs#2330)
    
    ## What ❔
    
    - Improves context interfaces: removes unneded `async` when fetching
    resources, and made `add_task` accept `T` instead of `Box`.
    - Adds previously proposed `FromContext` and `IntoContext` macro that
    will allow to redefine the wiring layer interface so that it doesn't
    have direct access to the context.
    
    ⚠️ I didn't port the whole framework to using macros, since there may be
    changes in the macro itself during this review. Once we merge this, I
    will simultaneously rework the `WiringLayer` interface and will port
    layers. For now, I've used new macros in the `BatchStatusUpdater` layer
    to see how it works. Seems that it works fine 😅
    
    ## Why ❔
    
    Ergonomics.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    34f2a45 View commit details
    Browse the repository at this point in the history
  5. feat(zk_toolbox): use low level command for running verbose command" (m…

    …atter-labs#2358)
    
    ## 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 `zk fmt` and `zk lint`.
    
    ---------
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    29671c8 View commit details
    Browse the repository at this point in the history
  6. chore(zk_toolbox): satisfy clippy (matter-labs#2359)

    ## 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 `zk fmt` and `zk lint`.
    
    ---------
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    2dd35dd View commit details
    Browse the repository at this point in the history
  7. refactor: Rename consensus tasks and split storage (BFT-476) (matter-…

    …labs#2357)
    
    ## What ❔
    * Renames `FetcherTask` to `ExternalNodeTask`
    * Moves `run_main_node` to `mn::run_main_node` to match
    `en::run_external_node`
    * Splits `consensus::storage` into `consensus::storage::connection` and
    `consensus::storage::store`
    
    ## Why ❔
    
    I'm working on matter-labs#2340 where
    I made these changes either because the naming was confusing or the
    module was getting very long and I thought it would make it easier to
    have it in two before adding more trait implementations to it. The PR
    was getting huge even before I did any actual work, so I decided to make
    a pure refactoring PR to make the other one easier to review later.
    
    ## 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 `zk fmt` and `zk lint`.
    aakoshh authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    107e1a7 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2024

  1. fix(db): Fix / extend transaction isolation levels (matter-labs#2350)

    ## What ❔
    
    - Makes readonly Postgres transaction have "repeatable read" isolation
    level by default.
    - Allows specifying an isolation level in the transaction builder.
    
    ## Why ❔
    
    Readonly transactions usually expect a consistent DB view, hence the
    "repeatable read" isolation level.
    
    ## 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 fmt` and `zk lint`.
    slowli authored Jul 2, 2024
    Configuration menu
    Copy the full SHA
    404ceb9 View commit details
    Browse the repository at this point in the history
  2. revert: "refactor: Rename consensus tasks and split storage (BFT-476)" (

    matter-labs#2364)
    
    Reverts matter-labs#2357
    
    This PR changed the contracts submodule by mistake.
    cc @aakoshh @brunoffranca
    popzxc authored Jul 2, 2024
    Configuration menu
    Copy the full SHA
    e67ec5d View commit details
    Browse the repository at this point in the history
  3. fix: Add EmilLuta to codeowners (matter-labs#2368)

    Needed for prover releases (EmilLuta owns prover subsystems)
    EmilLuta authored Jul 2, 2024
    Configuration menu
    Copy the full SHA
    65973cc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    45c7a0a View commit details
    Browse the repository at this point in the history
  5. feat: Validium with DA (matter-labs#2010)

    ## What ❔
    
    This PR adds an opportunity to use external DA layers to submit the
    pubdata.
    The implementations of the clients will be created in this repo:
    https://github.com/matter-labs/hyperchain-da
    This is only the first stage, and doesn't include any modifications to
    the `commitBatches` or bootloader memory, those will be added as a
    follow-up.
    Design doc for the feature (might be a bit outdated, but main concepts
    are valid):
    https://matterlabs.notion.site/Validium-with-DA-EXTERNAL-8deccba433be4ff88592a3b0f8774062
    It is assumed that the pubdata publishing is subsidized by the operators
    at this points, it shouldn't be a concern because:
    - the DA layers' storage costs are quite low
    - for most DA layers, the blob size is around 2MB (or they work on
    increasing it to be like that), so we could in theory fit ~30-35k txs
    there, which makes that cost even lower per tx
    
    ## Why ❔
    
    We have many partners who want to use the different DA layers, this PR
    provides a common interface for all of them
    
    ## Checklist
    
    - [ ] 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 `zk fmt` and `zk lint`.
    - [ ] Spellcheck has been run via `zk spellcheck`.
    dimazhornyk authored Jul 2, 2024
    Configuration menu
    Copy the full SHA
    fe03d0e View commit details
    Browse the repository at this point in the history
  6. feat(prover): Add prover_cli stats command (matter-labs#2362)

    Adds stats commands, which provides information (batch number, when the
    request for proving was created and how long it took) for all L1 Batch
    proofs. This speeds up proving time reduction (by giving everyone
    visibility into current process) and can serve as further automation in
    the future (for instance, emit metrics, or use the tooling for automated
    reports).
    EmilLuta authored Jul 2, 2024
    Configuration menu
    Copy the full SHA
    fe65319 View commit details
    Browse the repository at this point in the history
  7. feat(prover): Add file based config support for vk-setup-data-generat…

    …or-server-fri (matter-labs#2371)
    
    ## What ❔
    Add file based config support for vk-setup-data-generator-server-fri
    
    ## Why
    
    `KeyStore::default()` uses `FriProverConfig::from_env()` which panics
    when config is provided via files
    matias-gonz authored Jul 2, 2024
    Configuration menu
    Copy the full SHA
    b0e72c9 View commit details
    Browse the repository at this point in the history
  8. refactor: Rename consensus tasks and split storage (BFT-476) (matter-…

    …labs#2366)
    
    ## What ❔
    
    This is a 2nd attempt at
    matter-labs#2357 to redo it after
    matter-labs#2364 has reverted it. The
    fix was cherry picked from
    matter-labs#2365
    
    ## Why ❔
    
    The other PR accidentally changed the contracts submodule.
    
    ## 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 `zk fmt` and `zk lint`.
    
    ---------
    
    Co-authored-by: matias-gonz <[email protected]>
    aakoshh and matias-gonz authored Jul 2, 2024
    Configuration menu
    Copy the full SHA
    81c8f53 View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2024

  1. chore(tests): zksync-ethers v6 (matter-labs#2012)

    ## What ❔
    
    Upgrading `zksync-ethers` to `6.9.0` and `ethers` to `6.7.1` in the
    `ts-integration`, `revert-test`, `recovery-test` `upgrade-test`
    packages, and migrating tests to use new syntax/functions/types/etc.
    
    <!-- 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).
    - [x] 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`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    
    ---------
    
    Co-authored-by: Danijel Radakovic <[email protected]>
    benceharomi and danijelTxFusion authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    9c6bf29 View commit details
    Browse the repository at this point in the history
  2. feat: Base Token Fundamentals (matter-labs#2204)

    ## What ❔
    
    This PR puts in place the major pieces needed in the Base Token flow as
    described in the [design
    doc](https://www.notion.so/matterlabs/Custom-Base-Token-Tech-Design-74e158112f24463c82d96415bed76d04).
    
    This PR adds a preliminary flow of:
    - Periodically fetch the new price from an external API
    - Update the conversion ration in the DB
    - Have the Fee Model use the latest stored conversion ratio
    
    In the scope of this PR:
    - Introducing BaseTokenAdjuster to the Node Framework
    - Adding the DB migration and the associated DAL
    - Adding the proper configs for this layer to work
    - Conditionally updating the gas price with a BaseToken<->ETH conversion
    ratio such that it's used in charging the gas in the base token and
    estimating gas for txs.
    - Unit + Integration tests
    
    Out of scope of this PR:
    - Protocol contract changes needed for a base token chain to work (these
    are already merged)
    - Using an external API to fetch prices
    - Updating the L1 with the conversion ratio
    - Observability, API redundancy,
    
    ## Why ❔
    Multiple ZK Chains are ready to go on mainnet with a custom token used
    as the gas token.
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    
    ---------
    
    Co-authored-by: Ivan Schasny <[email protected]>
    shahar4 and ischasny authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    39709f5 View commit details
    Browse the repository at this point in the history
  3. fix(merkle-tree): Fix connection timeouts during tree pruning (matter…

    …-labs#2372)
    
    ## What ❔
    
    - Makes DB connections short-lived during main tree update loop.
    - Propagates errors when queuing sync actions on EN.
    
    ## Why ❔
    
    - There's less chance of DB connection timeout during tree pruning.
    Realistically, such timeouts can occur when the tree is syncing if
    pruning is enabled.
    - Propagating errors gets rid of potential panics during EN shutdown.
    
    ## 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 fmt` and `zk lint`.
    
    fix(en): Fix panics when queuing sync actions during shutdown
    slowli authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    d5935c7 View commit details
    Browse the repository at this point in the history
  4. feat(tee): TEE Prover Gateway (matter-labs#2333)

    ## What ❔
    
    The TEE Prover Gateway is a service component within our system
    infrastructure that functions as an intermediary between the TEE enclave
    and the server's HTTP API, introduced in commit
    eca98cc (matter-labs#1993). It first registers TEE
    attestation using the `/tee/register_attestation` endpoint, then
    regularly invokes the server's HTTP API via the `/tee/proof_inputs`
    endpoint to obtain proof-related data, and finally submits the proof
    through the `/tee/submit_proofs/<l1_batch_number>` endpoint.
    
    ## Why ❔
    
    This PR contributes to the effort outlined in the docs:
    -
    https://www.notion.so/matterlabs/2FA-for-zk-rollups-with-TEEs-a2266138bd554fda8846e898fef75131?pvs=4
    -
    https://www.notion.so/matterlabs/Proof-2F-verification-with-SGX-5fca2c619dd147938971cc00ae53e2b0?pvs=4
    
    ## 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`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    
    ---------
    
    Co-authored-by: Harald Hoyer <[email protected]>
    pbeza and haraldh authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    f8df34d View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2024

  1. feat(api): Retry read_value (matter-labs#2352)

    ## What ❔
    
    Retries calling `read_value` when it fails with statement_timeout.
    
    ## Why ❔
    
    Eliminate sporadic failures.
    
    ## 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 `zk fmt` and `zk lint`.
    perekopskiy authored Jul 4, 2024
    Configuration menu
    Copy the full SHA
    256a43c View commit details
    Browse the repository at this point in the history
  2. fix(config): Implement proper tests (matter-labs#2381)

    ## What ❔
    
    Fix some serializations and add tests for it.
    
    ## 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 `zk fmt` and `zk lint`.
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jul 4, 2024
    Configuration menu
    Copy the full SHA
    2ec494b View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2024

  1. refactor(vm-runner): simplify last processed batch query (matter-labs…

    …#2373)
    
    ## What ❔
    
    Refactors query to not use default param and return `Option` instead
    
    ## Why ❔
    
    Transparent flow
    
    ## 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 `zk fmt` and `zk lint`.
    itegulov authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    217a4ba View commit details
    Browse the repository at this point in the history
  2. feat(tee): add Prometheus metrics to the TEE Prover (matter-labs#2386)

    ## What ❔
    
    This commit adds Prometheus metrics to the TEE Prover. Specifically, the
    following metrics were added:
    - Waiting time for a new batch to be proven
    - Proof generation time
    - Proof submitting time
    - Network error counter
    - Last block number processed
    
    ## Why ❔
    
    Setting up Prometheus metrics is a prerequisite before rolling them out
    to staging and testnet environments. Prometheus metrics are useful for
    monitoring, providing valuable insights into the running system.
    
    ## 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`.
    pbeza authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    6153e99 View commit details
    Browse the repository at this point in the history
  3. feat: snark proof is already verified inside wrap_proof function (mat…

    …ter-labs#1903)
    
    ## What ❔
    
    This PR avoids using useless era-zkevm-test-harness branch
    
    ## Why ❔
    
    The only reason this dependency was used is verification of the wrapper
    proof that was already verified inside `wrap_proof` function.
    
    ---------
    
    Co-authored-by: Lech <[email protected]>
    olesHolem and Artemka374 authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    2c8cf35 View commit details
    Browse the repository at this point in the history
  4. feat: BWIP (matter-labs#2258)

    ## What ❔
    
    Remove Core db connection from prover subsystems
    Create new component - BasicWitnessInputProducer, that will run VM in
    the background and produce necessary inputs for basic witness generation
    
    ## Why ❔
    
    We want to separate accesses to DB in core/prover subsystems
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    
    ---------
    
    Co-authored-by: perekopskiy <[email protected]>
    Artemka374 and perekopskiy authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    75bdfcc View commit details
    Browse the repository at this point in the history
  5. fix(docs): Update nodejs and sqlx version (matter-labs#2392)

    ## 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 `zk fmt` and `zk lint`.
    Deniallugo authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    53b34e4 View commit details
    Browse the repository at this point in the history
  6. refactor(prover): Minor improvements in prover workspace (matter-labs…

    …#2393)
    
    ## What ❔
    
    - Removes an outdated version of `zk_evm` from dependencies.
    - Removes a few unused deps.
    - Sorts the dependencies in the workspace Cargo.toml.
    
    ## Why ❔
    
    Refactoring.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    c6c3f96 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2024

  1. feat(vm-runner): make vm runner report time taken (matter-labs#2369)

    ## What ❔
    
    A long overdue addition of `time_taken` to VM runner
    
    ## Why ❔
    
    Observability
    
    ## 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 `zk fmt` and `zk lint`.
    itegulov authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    275a333 View commit details
    Browse the repository at this point in the history
  2. feat(zk_toolbox): Clean command (matter-labs#2387)

    ## 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 `zk fmt` and `zk lint`.
    
    ---------
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    52a4680 View commit details
    Browse the repository at this point in the history
  3. feat(node-framework): New wiring interface (matter-labs#2384)

    ## What ❔
    
    ⚠️ No nitpick territory! This PR touches _a lot of code_, and many
    places there may be improved for sure.
    Let's focus on fundamentals only.
    You are free to leave nitpick comments, but please don't block the
    review on them only. I may or may not fix nitpicks, though will try
    depending on complexity and capacity, most likely in follow-up PRs.
    
    This PR introduces a new interface for `WiringLayer`. Instead of giving
    direct access to the `ServiceContext`, it now has to define `Input` and
    `Output` types, which will be fetched from/inserted to the context
    correspondingly.
    `WiringLayer::Input` has to implement `FromContext` trait. This trait
    has implementations for `()`, `T: Resource`, `Option<T: Resource>` , and
    can be derived.
    `WiringLayer::Output` has to implement `IntoContext`, which has the same
    basic implementations, and also has a derive macro.
    
    With this approach, all the inputs and outputs can be easily seen for
    the layer, so that we don't need to worry about docs getting outdated,
    and also it saves quite some boilerplate when using the framework.
    
    Besides, small changes were made where necessary, e.g.:
    - Consensus layer was split into two, for main and external node.
    - TxSink layer was split into two, for DB and proxy sinks.
    - A lot of "wrapper" tasks were removed.
    - Some convenience impls (e.g. impl `From <WrappedType> to
    <ResourceType>`).
    - Shutdown hook was made into a separate entity that implements
    `IntoContext`.
    
    ## Why ❔
    
    Finalization of the framework design.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    f2f4056 View commit details
    Browse the repository at this point in the history
  4. fix(vm-runner): change processing_started_at column type to `timest…

    …amp` (matter-labs#2397)
    
    ## What ❔
    
    
    
    ## Why ❔
    
    
    ## 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 `zk fmt` and `zk lint`.
    itegulov authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    4221155 View commit details
    Browse the repository at this point in the history
  5. feat: Remove cached commitments, add BWIP to docs (matter-labs#2400)

    ## What ❔
    
    Remove lazy loading of commitments in BWG
    Add BWIP to docs
    
    ## Why ❔
    
    It is not needed, because it is called only once
    
    ## 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 `zk fmt` and `zk lint`.
    Artemka374 authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    e652e4d View commit details
    Browse the repository at this point in the history
  6. feat: add block timestamp to eth_getLogs (matter-labs#2374)

    ## What ❔
    
    Add a new field `blockTimestamp` to the `eth_getLogs` endpoint. 
    
    ## Why ❔
    
    That'd allow network indexers to avoid sending a second requests just to
    get timestamp for each block. More
    [info](https://ethereum-magicians.org/t/proposal-for-adding-blocktimestamp-to-logs-object-returned-by-eth-getlogs-and-related-requests/11183)
    ischasny authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    50422b8 View commit details
    Browse the repository at this point in the history
  7. fix(tee): Introduce a 1 second delay in the batch poll (matter-labs#2398

    )
    
    ## What ❔
    
    Introduce a 1 second delay in the batch poll.
    
    ## Why ❔
    
    We don't want to poll the batches too often if they are unavailable, as
    it wastes CPU resources.
    
    ## 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`.
    pbeza authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    312defe View commit details
    Browse the repository at this point in the history
  8. fix(eth-sender): fix query returning inflight txs (matter-labs#2404)

    This fixes issue that we may return not-yet-sent transactions as
    in-flight (it's been broken since we added support for blobs :/ )
    because max(eth_txs_id) counts transactions from all operators not just
    one
    
    Signed-off-by: tomg10 <[email protected]>
    tomg10 authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    6a89ca0 View commit details
    Browse the repository at this point in the history
  9. feat(zk_toolbox): resume functionality (matter-labs#2376)

    ## 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 `zk fmt` and `zk lint`.
    
    ---------
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    e5e0473 View commit details
    Browse the repository at this point in the history
  10. feat(prover): Add prometheus port to witness generator config (matter…

    …-labs#2385)
    
    ## What ❔
    
    Add prometheus port to witness generator config
    matias-gonz authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    d0e1add View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2024

  1. fix(eth-sender): missing fix in second query calculating txs unsent t…

    …xs (matter-labs#2406)
    
    This PR should have been part of:
    matter-labs#2404
    
    Signed-off-by: tomg10 <[email protected]>
    tomg10 authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    948b532 View commit details
    Browse the repository at this point in the history
  2. fix: BWIP race condition (matter-labs#2405)

    ## What ❔
    
    Separately insert proof_generation_details and gen data blob URLs.
    
    ## Why ❔
    
    Sometimes BWIP generates data before insert_proof_generation_details is
    called, which results in errors.
    
    ## 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 `zk fmt` and `zk lint`.
    Artemka374 authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    8099ab0 View commit details
    Browse the repository at this point in the history
  3. fix(api): fix log timestamp format (matter-labs#2407)

    ## What ❔
    
    timestamp should be (de)serialized as QUANTITY (hex string)
    
    ## Why ❔
    
    Follow proposal spec
    
    ## 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 `zk fmt` and `zk lint`.
    perekopskiy authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    e9d63db View commit details
    Browse the repository at this point in the history
  4. fix(erc20-test): only approving baseToken allowance when needed (matt…

    …er-labs#2379)
    
    ## What ❔
    
    Refactored the `deposit with precalculated max value` test case of
    `erc20.test.ts` to only approve baseToken allowance when needed.
    <!-- 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).
    - [x] 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`.
    benceharomi authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    087a3c4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    598ef7b View commit details
    Browse the repository at this point in the history
  6. feat(base-token): Base token price ratio cache update frequency confi…

    …gurable (matter-labs#2388)
    
    ## What ❔
    
    This PR makes base token price ration cache update frequency
    configurable
    
    ## Why ❔
    
    Base token price ratio is updated in DB with configurable frequency, but
    when used it's taken from cache that is updated in non-configurable
    manner
    
    ## 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 `zk fmt` and `zk lint`.
    cytadela8 authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    fb4d700 View commit details
    Browse the repository at this point in the history
  7. feat: Switch to using crates.io deps (matter-labs#2409)

    ## What ❔
    
    Changes all the git dependencies we have (prover included) to ones
    published on crates.io
    
    ## Why ❔
    
    Part of release cycle.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    27fabaf View commit details
    Browse the repository at this point in the history
  8. feat: Unify and port node storage initialization (matter-labs#2363)

    ## What ❔
    
    - Introduces the `zksync_node_storage_init` crate: a unified approach to
    the node storage initialization. Key moments:
    - Storage initializer is a structure that makes sure that, well, the
    storage is initialized.
    - Initializer understands what does initialized storage means, but
    defers any real initialization actions to the implementation of the
    `NodeRole` trait. Currently we have two `NodeRole` implementations:
    `MainNodeRole` and `ExternalNodeRole`.
    - `MainNodeRole` can only perform genesis. It does not support snapshot
    recovery or automatic rollbacks.
    - `ExternalNodeRole` can perform either genesis or snapshot recovery; it
    can also detect reorg and perform a rollback is required.
    - Framework integration consists of three parts: `NodeRole` resource,
    and `NodeStorageInitializer` task and precondition.
    - Old genesis code for the main node is fully replaced with the
    framework.
    - The init code is integrated into the EN, but the old code is left for
    the time being.
    - Makes snapshot recovery aware of stop signals. It isn't integrated for
    the old code, but I assume that since the snapshot recovery happens
    before we setup sigint handler, it implicitly works out of the box.
    - Integrated `reorg_detector` into the EN via framework.
    
    ## Why ❔
    
    - Unify codebases and approach to the storage initialization.
    - Define the interfaces for future extensions.
    - Part of porting the codebase to the framework.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    8ea9791 View commit details
    Browse the repository at this point in the history
  9. feat: L1 batch QC database (BFT-476) (matter-labs#2340)

    ## What ❔
    
    - [x] Add an `l1_batches_consensus` table to hold [L1 batch Quorum
    Certificates](https://github.com/matter-labs/era-consensus/blob/177881457f392fca990dbb3df1695737d90fd0c7/node/libs/roles/src/attester/messages/batch.rs#L67)
    from Attesters
    - [x] Add attesters to the config
    - [x] Implement methods in `PersistentBatchStore` 
      - [x] `persisted`
      - [x] `last_batch`
      - [x] `last_batch_qc`
      - [x] `get_batch`
      - [x] `get_batch_qc`
      - [x] `store_qc`
      - [ ] `queue_next_batch` - _not going to implement for now_
      - [ ] assign `SyncBatch::proof` - _not going to implement for now_
    - [x] Add tests for all new methods in `ConsensusDal` and the
    `PersistentBatchStore`
    
    ### Caveat
    
    Implemented the updating of `persisted` with a loop that polls the
    database for newly available `SyncBatch` records, even if they have no
    proof. This inevitably triggers the gossiping of batch statuses and the
    pulling of `SyncBatch` between peers. For this reason `queue_next_batch`
    just drop the data, since we can't do anything with it without the proof
    yet. Returning an error or panicking would stop the consensus tasks.
    
    I ended up disabling the `persisted` by leaving its dummy implementation
    in place because when enabled the full node tests keep going on forever,
    printing the following logs in a loop:
    
    ```console
    ❯ RUST_LOG=info zk test rust test_full_nodes --no-capture
    ...
    2024-07-03T14:22:57.882784Z  INFO in{addr=[::1]:53082}: zksync_consensus_network: 191: new connection
    2024-07-03T14:22:57.883457Z  INFO in{addr=[::1]:53082}:gossip: zksync_consensus_network::gossip::runner: 383: peer = node:public:ed25519:068ffa0b3fedbbe5c2a6da3defd26e0d084248f12bfe98db85f7785b0b08b63e
    2024-07-03T14:22:57.883764Z  INFO out{addr="[::1]:52998"}:gossip: zksync_consensus_network::gossip::runner: 416: peer = node:public:ed25519:7710ed90aad9f5859dfba06e13fb4e6fb0fe4d686f81f9d819464ad1fdc371bd
    2024-07-03T14:22:57.886204Z  INFO in{addr=[::1]:53082}:gossip: zksync_consensus_network::rpc: 222: message too large: max = 10240B, got 13773B
    2024-07-03T14:22:57.886280Z  INFO out{addr="[::1]:52998"}:gossip: zksync_consensus_network::rpc: 222: message too large: max = 10240B, got 13773B
    2024-07-03T14:22:57.886633Z  INFO in{addr=[::1]:53082}:gossip: zksync_consensus_network::rpc: 222: canceled
    ...
    2024-07-03T14:22:57.888143Z  INFO out{addr="[::1]:52998"}:gossip: zksync_consensus_network::rpc: 222: disconnected
    ...
    2024-07-03T14:22:57.888390Z  INFO zksync_consensus_network: 216: [::1]:53082: gossip.run_inbound_stream(): push_batch_store_state.: end of stream
    2024-07-03T14:22:57.888446Z  INFO zksync_consensus_network: 158: gossip.run_outbound_stream("[::1]:52998"): push_batch_store_state.: end of stream
    ```
    
    So in the tests the message size exceeds the maximum. I think it's
    [hardcoded
    here](https://github.com/matter-labs/era-consensus/blob/decb988eb9e1a45fd5171d2cc540a360d9ca5f1f/node/actors/network/src/gossip/runner.rs#L109).
    Since this functionality isn't expected to work, I think we can disable
    it for now.
    
    ## Why ❔
    
    The workflow of signing and submitting L1 batch certificates will be
    like this:
    1. Data is inserted into the `l1_batches` table. 
    2. If the node is one of the Attesters it picks up the batch, signs and
    sends it to the gossip layer via
    matter-labs/era-consensus#137
    3. The consensus collects votes about the L1 batch, and when the
    threshold is reached it saves the quorum certificate into Postgres
    4. The node monitors Main Node (later L1) for new batch QCs and upserts
    them into the database (the QC can be different than what a particular
    node inserted based on gossip). This way a node which has been down for
    a period of time can backfill any QCs it missed. It is assumed that the
    Main Node API only serves QCs that have no gaps following them, ie. they
    are final - if it was L1 it wouldn't allow submissions with gaps, and
    this simulates that semantic.
    5. The last height that doesn't have any gaps following it is used as a
    floor for what needs to be (re)signed and gossiped
    
    This PR supports the above workflow up to step 3.
    
    ## 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 `zk fmt` and `zk lint`.
    
    ---------
    
    Co-authored-by: Bruno França <[email protected]>
    aakoshh and brunoffranca authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    5886b8d View commit details
    Browse the repository at this point in the history
  10. feat: Minimal External API Fetcher (matter-labs#2383)

    ## What ❔
    
    For chains running with a custom base token, use live prices in creating
    ETH<->BaseToken conversion ratios.
    This PR
    - adds a first `PriceAPIClientResource` with a `PriceAPIClient`
    CoinGecko client.
    - Uses this client in the `BaseTokenRatioPersister` to fetch new prices
    and create new ratios
    
    Not included in this PR and will be follow-up work:
    - Redundancy in the number of external price feeds used
    - Different "strategies" for how true price converged from multiple
    price feeds
    
    ## Why ❔
    
    For the base token flow, we need to be be able to fetch live prices of
    BaseToken & ETH from which to create the conversion ratios.
    
    ## 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 fmt` and `zk lint`.
    
    ---------
    
    Co-authored-by: dimazhornyk <[email protected]>
    Co-authored-by: Igor Aleksanov <[email protected]>
    3 people authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    9f255c0 View commit details
    Browse the repository at this point in the history
  11. feat(config): Make getaway_url optional (matter-labs#2412)

    ## 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 `zk fmt` and `zk lint`.
    
    ---------
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    200bc82 View commit details
    Browse the repository at this point in the history
  12. feat(zk-toolbox): Add ecosystems (matter-labs#2413)

    ## What ❔
    
    Add ecosystem configs, compatible with zk toolbox
    
    ## 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 `zk fmt` and `zk lint`.
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    04fcbe1 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2024

  1. fix: Fix rustls setup for jsonrpsee clients (matter-labs#2417)

    ## What ❔
    
    `jsonrpsee` client expects `rustls` to use the default crypto provider,
    but `rustls` cannot choose and panics if there are multiple providers
    available. See [this
    issue](rustls/rustls#1877) for more detail.
    Recently `rustls` changed the default backend, so now some (older) of
    crates use `ring` backend, while some (newer) use `aws-lc-rs`.
    Until the issue is fixed on `jsonrpsee` side, we're making sure that the
    provider is installed before we create any `jsonrpsee` client.
    
    Added test used to fail before the change and passes now.
    
    ## Why ❔
    
    Panics are bad.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    a040f09 View commit details
    Browse the repository at this point in the history
  2. feat(contract-verifier): Add file based config for contract verifier (m…

    …atter-labs#2415)
    
    ## What ❔
    Add file based config for contract verifier
    matias-gonz authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    f4410e3 View commit details
    Browse the repository at this point in the history
  3. feat: add zksync_tee_prover and container to nix (matter-labs#2403)

    ```
    $ nix build -L .#tee_prover
    $ nix build -L .#container-tee_prover-dcap
    $ nix build -L .#container-tee_prover-azure
    $ export IMAGE_TAG=$(docker load < result | grep -Po 'Loaded image.*: \K.*')
    
    $ docker run -i --env GRAMINE_DIRECT=1 --env TEE_API_URL="http://127.0.0.1:3320" --privileged --init $IMAGE_TAG
    ```
    
    ## 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 `zk fmt` and `zk lint`.
    
    Signed-off-by: Harald Hoyer <[email protected]>
    haraldh authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    e0975db View commit details
    Browse the repository at this point in the history
  4. chore(main): release prover 15.1.0 (matter-labs#2261)

    🤖 I have created a release *beep* *boop*
    ---
    
    
    ##
    [15.1.0](matter-labs/zksync-era@prover-v15.0.0...prover-v15.1.0)
    (2024-07-10)
    
    
    ### Features
    
    * **api:** Retry `read_value`
    ([matter-labs#2352](matter-labs#2352))
    ([256a43c](matter-labs@256a43c))
    * Base Token Fundamentals
    ([matter-labs#2204](matter-labs#2204))
    ([39709f5](matter-labs@39709f5))
    * BWIP ([matter-labs#2258](matter-labs#2258))
    ([75bdfcc](matter-labs@75bdfcc))
    * change `zkSync` occurences to `ZKsync`
    ([matter-labs#2227](matter-labs#2227))
    ([0b4104d](matter-labs@0b4104d))
    * **config:** Make getaway_url optional
    ([matter-labs#2412](matter-labs#2412))
    ([200bc82](matter-labs@200bc82))
    * consensus support for pruning (BFT-473)
    ([matter-labs#2334](matter-labs#2334))
    ([abc4256](matter-labs@abc4256))
    * **contract-verifier:** Add file based config for contract verifier
    ([matter-labs#2415](matter-labs#2415))
    ([f4410e3](matter-labs@f4410e3))
    * **en:** file based configs for en
    ([matter-labs#2110](matter-labs#2110))
    ([7940fa3](matter-labs@7940fa3))
    * Make all core workspace crate names start with zksync_
    ([matter-labs#2294](matter-labs#2294))
    ([8861f29](matter-labs@8861f29))
    * Minimal External API Fetcher
    ([matter-labs#2383](matter-labs#2383))
    ([9f255c0](matter-labs@9f255c0))
    * **prover:** Add file based config for compressor
    ([matter-labs#2353](matter-labs#2353))
    ([1d6f87d](matter-labs@1d6f87d))
    * **prover:** Add file based config for prover fri
    ([matter-labs#2184](matter-labs#2184))
    ([f851615](matter-labs@f851615))
    * **prover:** Add file based config for witness vector generator
    ([matter-labs#2337](matter-labs#2337))
    ([f86eb13](matter-labs@f86eb13))
    * **prover:** Add file based config support for
    vk-setup-data-generator-server-fri
    ([matter-labs#2371](matter-labs#2371))
    ([b0e72c9](matter-labs@b0e72c9))
    * **prover:** Add prometheus port to witness generator config
    ([matter-labs#2385](matter-labs#2385))
    ([d0e1add](matter-labs@d0e1add))
    * **prover:** Add prover_cli stats command
    ([matter-labs#2362](matter-labs#2362))
    ([fe65319](matter-labs@fe65319))
    * Remove cached commitments, add BWIP to docs
    ([matter-labs#2400](matter-labs#2400))
    ([e652e4d](matter-labs@e652e4d))
    * Remove initialize_components function
    ([matter-labs#2284](matter-labs#2284))
    ([0a38891](matter-labs@0a38891))
    * snark proof is already verified inside wrap_proof function
    ([matter-labs#1903](matter-labs#1903))
    ([2c8cf35](matter-labs@2c8cf35))
    * Switch to using crates.io deps
    ([matter-labs#2409](matter-labs#2409))
    ([27fabaf](matter-labs@27fabaf))
    * **tee:** TEE Prover Gateway
    ([matter-labs#2333](matter-labs#2333))
    ([f8df34d](matter-labs@f8df34d))
    * upgraded encoding of transactions in consensus Payload.
    ([matter-labs#2245](matter-labs#2245))
    ([cb6a6c8](matter-labs@cb6a6c8))
    * Validium with DA
    ([matter-labs#2010](matter-labs#2010))
    ([fe03d0e](matter-labs@fe03d0e))
    * **zk_toolbox:** Add prover run
    ([matter-labs#2272](matter-labs#2272))
    ([598ef7b](matter-labs@598ef7b))
    
    
    ### Bug Fixes
    
    * Fix rustls setup for jsonrpsee clients
    ([matter-labs#2417](matter-labs#2417))
    ([a040f09](matter-labs@a040f09))
    * **proof_compressor:** Fix backward compatibility
    ([matter-labs#2356](matter-labs#2356))
    ([76508c4](matter-labs@76508c4))
    * prover Cargo.lock
    ([matter-labs#2280](matter-labs#2280))
    ([05c6f35](matter-labs@05c6f35))
    * **prover_cli:** Fix Minor Bugs in Prover CLI
    ([matter-labs#2264](matter-labs#2264))
    ([440f2a7](matter-labs@440f2a7))
    * **prover_cli:** Remove outdated fix for circuit id in node wg
    ([matter-labs#2248](matter-labs#2248))
    ([db8e71b](matter-labs@db8e71b))
    
    ---
    This PR was generated with [Release
    Please](https://github.com/googleapis/release-please). See
    [documentation](https://github.com/googleapis/release-please#release-please).
    zksync-era-bot authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    a33c80c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ca064e4 View commit details
    Browse the repository at this point in the history
  6. chore(main): release core 24.9.0 (matter-labs#2312)

    🤖 I have created a release *beep* *boop*
    ---
    
    
    ##
    [24.9.0](matter-labs/zksync-era@core-v24.8.0...core-v24.9.0)
    (2024-07-10)
    
    
    ### Features
    
    * add block timestamp to `eth_getLogs`
    ([matter-labs#2374](matter-labs#2374))
    ([50422b8](matter-labs@50422b8))
    * add revert tests to zk_toolbox
    ([matter-labs#2317](matter-labs#2317))
    ([c9ad002](matter-labs@c9ad002))
    * add zksync_tee_prover and container to nix
    ([matter-labs#2403](matter-labs#2403))
    ([e0975db](matter-labs@e0975db))
    * Adding unstable RPC endpoint to return the execution_info
    ([matter-labs#2332](matter-labs#2332))
    ([3d047ea](matter-labs@3d047ea))
    * **api:** Retry `read_value`
    ([matter-labs#2352](matter-labs#2352))
    ([256a43c](matter-labs@256a43c))
    * Base Token Fundamentals
    ([matter-labs#2204](matter-labs#2204))
    ([39709f5](matter-labs@39709f5))
    * **base-token:** Base token price ratio cache update frequency
    configurable
    ([matter-labs#2388](matter-labs#2388))
    ([fb4d700](matter-labs@fb4d700))
    * BWIP ([matter-labs#2258](matter-labs#2258))
    ([75bdfcc](matter-labs@75bdfcc))
    * **config:** Make getaway_url optional
    ([matter-labs#2412](matter-labs#2412))
    ([200bc82](matter-labs@200bc82))
    * consensus support for pruning (BFT-473)
    ([matter-labs#2334](matter-labs#2334))
    ([abc4256](matter-labs@abc4256))
    * **contract-verifier:** Add file based config for contract verifier
    ([matter-labs#2415](matter-labs#2415))
    ([f4410e3](matter-labs@f4410e3))
    * **en:** file based configs for en
    ([matter-labs#2110](matter-labs#2110))
    ([7940fa3](matter-labs@7940fa3))
    * **en:** Unify snapshot recovery and recovery from L1
    ([matter-labs#2256](matter-labs#2256))
    ([e03a929](matter-labs@e03a929))
    * **eth-sender:** Add transient ethereum gateway errors metric
    ([matter-labs#2323](matter-labs#2323))
    ([287958d](matter-labs@287958d))
    * **eth-sender:** handle transactions for different operators separately
    to increase throughtput
    ([matter-labs#2341](matter-labs#2341))
    ([0619ecc](matter-labs@0619ecc))
    * **eth-sender:** separate gas calculations for blobs transactions
    ([matter-labs#2247](matter-labs#2247))
    ([627aab9](matter-labs@627aab9))
    * **gas_adjuster:** Use eth_feeHistory for both base fee and blobs
    ([matter-labs#2322](matter-labs#2322))
    ([9985c26](matter-labs@9985c26))
    * L1 batch QC database (BFT-476)
    ([matter-labs#2340](matter-labs#2340))
    ([5886b8d](matter-labs@5886b8d))
    * **metadata-calculator:** option to use VM runner for protective reads
    ([matter-labs#2318](matter-labs#2318))
    ([c147b0c](matter-labs@c147b0c))
    * Minimal External API Fetcher
    ([matter-labs#2383](matter-labs#2383))
    ([9f255c0](matter-labs@9f255c0))
    * **node_framework:** Document implementations
    ([matter-labs#2319](matter-labs#2319))
    ([7b3877f](matter-labs@7b3877f))
    * **node_framework:** Implement FromContext and IntoContext derive macro
    ([matter-labs#2330](matter-labs#2330))
    ([34f2a45](matter-labs@34f2a45))
    * **node_framework:** Support shutdown hooks + more
    ([matter-labs#2293](matter-labs#2293))
    ([2b2c790](matter-labs@2b2c790))
    * **node_framework:** Unify Task types + misc improvements
    ([matter-labs#2325](matter-labs#2325))
    ([298a97e](matter-labs@298a97e))
    * **node-framework:** New wiring interface
    ([matter-labs#2384](matter-labs#2384))
    ([f2f4056](matter-labs@f2f4056))
    * **prover:** Add prometheus port to witness generator config
    ([matter-labs#2385](matter-labs#2385))
    ([d0e1add](matter-labs@d0e1add))
    * **prover:** Add prover_cli stats command
    ([matter-labs#2362](matter-labs#2362))
    ([fe65319](matter-labs@fe65319))
    * **snapshots_applier:** Add a method to check whether snapshot recovery
    is done ([matter-labs#2338](matter-labs#2338))
    ([610a7cf](matter-labs@610a7cf))
    * Switch to using crates.io deps
    ([matter-labs#2409](matter-labs#2409))
    ([27fabaf](matter-labs@27fabaf))
    * **tee:** add Prometheus metrics to the TEE Prover
    ([matter-labs#2386](matter-labs#2386))
    ([6153e99](matter-labs@6153e99))
    * **tee:** TEE Prover Gateway
    ([matter-labs#2333](matter-labs#2333))
    ([f8df34d](matter-labs@f8df34d))
    * Unify and port node storage initialization
    ([matter-labs#2363](matter-labs#2363))
    ([8ea9791](matter-labs@8ea9791))
    * Validium with DA
    ([matter-labs#2010](matter-labs#2010))
    ([fe03d0e](matter-labs@fe03d0e))
    * **vm-runner:** make vm runner report time taken
    ([matter-labs#2369](matter-labs#2369))
    ([275a333](matter-labs@275a333))
    * **zk toolbox:** External node support
    ([matter-labs#2287](matter-labs#2287))
    ([6384cad](matter-labs@6384cad))
    * **zk_toolbox:** Add prover init command
    ([matter-labs#2298](matter-labs#2298))
    ([159af3c](matter-labs@159af3c))
    
    
    ### Bug Fixes
    
    * **api:** fix log timestamp format
    ([matter-labs#2407](matter-labs#2407))
    ([e9d63db](matter-labs@e9d63db))
    * BWIP race condition
    ([matter-labs#2405](matter-labs#2405))
    ([8099ab0](matter-labs@8099ab0))
    * **config:** Implement proper tests
    ([matter-labs#2381](matter-labs#2381))
    ([2ec494b](matter-labs@2ec494b))
    * **db:** Fix / extend transaction isolation levels
    ([matter-labs#2350](matter-labs#2350))
    ([404ceb9](matter-labs@404ceb9))
    * **en:** Fix panics when queuing sync actions during shutdown
    ([d5935c7](matter-labs@d5935c7))
    * **erc20-test:** only approving baseToken allowance when needed
    ([matter-labs#2379](matter-labs#2379))
    ([087a3c4](matter-labs@087a3c4))
    * **eth-sender:** confirm eth-txs in order of their creation
    ([matter-labs#2310](matter-labs#2310))
    ([31a1a04](matter-labs@31a1a04))
    * **eth-sender:** fix query returning inflight txs
    ([matter-labs#2404](matter-labs#2404))
    ([6a89ca0](matter-labs@6a89ca0))
    * **eth-sender:** missing fix in second query calculating txs unsent txs
    ([matter-labs#2406](matter-labs#2406))
    ([948b532](matter-labs@948b532))
    * **eth-sender:** revert commit changing which type of txs we resend
    first ([matter-labs#2327](matter-labs#2327))
    ([ef75292](matter-labs@ef75292))
    * Fix rustls setup for jsonrpsee clients
    ([matter-labs#2417](matter-labs#2417))
    ([a040f09](matter-labs@a040f09))
    * **merkle-tree:** Change `LazyAsyncTreeReader::wait()` signature
    ([matter-labs#2314](matter-labs#2314))
    ([408393c](matter-labs@408393c))
    * **merkle-tree:** Fix chunk recovery reporting during tree recovery
    ([matter-labs#2348](matter-labs#2348))
    ([70b3a8a](matter-labs@70b3a8a))
    * **merkle-tree:** Fix connection timeouts during tree pruning
    ([matter-labs#2372](matter-labs#2372))
    ([d5935c7](matter-labs@d5935c7))
    * **object-store:** Consider some token source errors transient
    ([matter-labs#2331](matter-labs#2331))
    ([85386d3](matter-labs@85386d3))
    * **tee:** Introduce a 1 second delay in the batch poll
    ([matter-labs#2398](matter-labs#2398))
    ([312defe](matter-labs@312defe))
    * **vm-runner:** change `processing_started_at` column type to
    `timestamp`
    ([matter-labs#2397](matter-labs#2397))
    ([4221155](matter-labs@4221155))
    
    
    ### Reverts
    
    * "refactor: Rename consensus tasks and split storage (BFT-476)"
    ([matter-labs#2364](matter-labs#2364))
    ([e67ec5d](matter-labs@e67ec5d))
    
    ---
    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: Lech <[email protected]>
    zksync-era-bot and Artemka374 authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    9cdee2c View commit details
    Browse the repository at this point in the history
  7. fix(eth-sender): add bump of min 10% when resending txs to avoid "rep…

    …lacement transaction underpriced" (matter-labs#2422)
    
    Signed-off-by: tomg10 <[email protected]>
    tomg10 authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    a7bcf5d View commit details
    Browse the repository at this point in the history
  8. chore: Fix a few warnings (matter-labs#2396)

    ## What ❔
    
    Fixes a few warnings, mostly in the prover workspace.
    
    ## Why ❔
    
    Developing with warnings in the tree increases the warning blindness.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    1ecab0d View commit details
    Browse the repository at this point in the history
  9. feat: L1 batch signing (BFT-474) (matter-labs#2414)

    ## What ❔
    
    Implements the methods on `PersistentBatchStore` required by consensus
    to sign and publish attestations over L1 batches.
    Calculates the hash value which needs to be signed by attestors using
    `SignedBatchInfo::hash()`.
    ## Why ❔
    
    This allows consensus to figure out which is the first batch that needs
    to be signed after the node starts, and subsequently to retrieve the
    payload to be signed as well.
    
    ## 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 `zk fmt` and `zk lint`.
    
    ---------
    
    Co-authored-by: Bruno França <[email protected]>
    aakoshh and brunoffranca authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    ab699db View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2024

  1. feat: Add blob size metrics (matter-labs#2411)

    ## What ❔
    
    Add metrics for witness input data blob sizes
    
    ## Why ❔
    
    To have deeper understanding of what is right and what is wrong
    
    ## 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 `zk fmt` and `zk lint`.
    Artemka374 authored Jul 11, 2024
    Configuration menu
    Copy the full SHA
    41c535a View commit details
    Browse the repository at this point in the history
  2. feat(prover)!: Bump prover protocol patch (matter-labs#2428)

    ## What ❔
    
    Bump prover protocol patch
    
    ## Why ❔
    
    Prepare for upcoming upgrade
    
    ## 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 `zk fmt` and `zk lint`.
    perekopskiy authored Jul 11, 2024
    Configuration menu
    Copy the full SHA
    1dffae9 View commit details
    Browse the repository at this point in the history
  3. chore(main): release prover 16.0.0 (matter-labs#2426)

    🤖 I have created a release *beep* *boop*
    ---
    
    
    ##
    [16.0.0](matter-labs/zksync-era@prover-v15.1.0...prover-v16.0.0)
    (2024-07-11)
    
    
    ### ⚠ BREAKING CHANGES
    
    * **prover:** Bump prover protocol patch
    ([matter-labs#2428](matter-labs#2428))
    
    ### Features
    
    * L1 batch signing (BFT-474)
    ([matter-labs#2414](matter-labs#2414))
    ([ab699db](matter-labs@ab699db))
    * **prover:** Bump prover protocol patch
    ([matter-labs#2428](matter-labs#2428))
    ([1dffae9](matter-labs@1dffae9))
    
    ---
    This PR was generated with [Release
    Please](https://github.com/googleapis/release-please). See
    [documentation](https://github.com/googleapis/release-please#release-please).
    zksync-era-bot authored Jul 11, 2024
    Configuration menu
    Copy the full SHA
    b0cd078 View commit details
    Browse the repository at this point in the history
  4. feat(eth-sender): add early return in sending new transactions to not…

    … spam logs with errors (matter-labs#2425)
    
    Signed-off-by: tomg10 <[email protected]>
    tomg10 authored Jul 11, 2024
    Configuration menu
    Copy the full SHA
    192f2a3 View commit details
    Browse the repository at this point in the history
  5. feat(zk_toolbox): Small adjustment for zk toolbox (matter-labs#2424)

    ## What ❔
    
    Add aliases
    Remove redundant l1 build
    Create .env files 
    Update submodules 
    
    ## 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 `zk fmt` and `zk lint`.
    
    ---------
    
    Signed-off-by: Danil <[email protected]>
    Co-authored-by: Matías Ignacio González <[email protected]>
    Deniallugo and matias-gonz authored Jul 11, 2024
    Configuration menu
    Copy the full SHA
    ce43c42 View commit details
    Browse the repository at this point in the history
  6. feat(eth-watch): Integrate decentralized upgrades (matter-labs#2401)

    ## What ❔
    
    Integrates new type of upgrade proposals into eth_watch
    
    ## Why ❔
    
    Support new type of upgrade proposals
    
    ## 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 `zk fmt` and `zk lint`.
    perekopskiy authored Jul 11, 2024
    Configuration menu
    Copy the full SHA
    5a48e10 View commit details
    Browse the repository at this point in the history
  7. fix: Set attesters in Connection::adjust_genesis (BFT-489) (matter-la…

    …bs#2429)
    
    ## What ❔
    
    Sets the `attesters` field in `Genesis` when performing a re-genesis
    adjustment after the node starts and detects that its configuration has
    changed.
    
    ### Testing
    
    
    #### Main node only
    
    To see if attestations work at all, I configured an attester key for the
    main node, and ran it with the following commands:
    
    ```shell
    zk clean
    zk init
    zk server --components=api,tree,eth,state_keeper,housekeeper,commitment_generator,vm_runner_protective_reads,vm_runner_bwip,da_dispatcher,base_token_ratio_persister,consensus
    ```
    
    Then I checked whether data was being added to the database:
    
    ```console
    ❯ psql -d postgres://postgres:notsecurepassword@localhost:5432/zksync_local 
    psql (14.12 (Homebrew))
    Type "help" for help.
    
    zksync_local=# select count(1) from l1_batches_consensus;
     count 
    -------
         2
    (1 row)
    
    zksync_local=# select * from l1_batches_consensus;
     l1_batch_number |                                                                                                                                                certificate                                                                                                                                                |         created_at         |         updated_at         
    -----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------+----------------------------
                   0 | {"msg": {"hash": {"keccak256": "FXT6d23sjaIHHl8g1xhAv8vYLCvKmtaGgO3+3eFxC8Q="}, "number": "0"}, "signatures": [{"key": {"secp256k1": "A4snYq04KzUJC7QpkqP2RC1jhCXqVSjoAP/lqffUGFWJ"}, "sig": {"secp256k1": "1isW+az1GcoCDbjDhch9U5qakl6BMO033TWOQhdpAdFHV8MQbouVRqq3bTPUtROGYRVx1OkM61/BidaVhBS5JBw="}}]} | 2024-07-11 15:00:24.026841 | 2024-07-11 15:00:24.026841
                   1 | {"msg": {"hash": {"keccak256": "L40KCOJ3fiy7B2V8CeXOjO/Vo/dKCs+EA9CFS9/dJLg="}, "number": "1"}, "signatures": [{"key": {"secp256k1": "A4snYq04KzUJC7QpkqP2RC1jhCXqVSjoAP/lqffUGFWJ"}, "sig": {"secp256k1": "aP1Lw3u8BvGvWyjHauiEqhYvmidviG2jfdQdltnXSpUUQ4pOhKyT2FmGvplIMQ74vQDZaCbA12ap5WtHEJZEvRs="}}]} | 2024-07-11 15:00:34.069316 | 2024-07-11 15:00:34.069316
    (2 rows)
    ```
    
    #### Main and external node
    
    I added attester keys to the external node config as well and gave it
    equal weights with the main node in the genesis spec, so they can only
    sign a QC together.
    
    Started an external node with the following commands:
    
    ```shell
    zk env ext-node
    zk config compile
    zk db setup
    zk external-node -- --enable-consensus
    ```
    
    And checked that the batch QC are inserted into the database, signed by
    both nodes:
    
    ```console
    ❯ psql -d postgres://postgres:notsecurepassword@localhost:5432/zksync_local -c "select * from l1_batches_consensus"
     l1_batch_number |                                                                                                                                                                                                                                             certificate                                                                                                                                                                                                                                             |         created_at         |         updated_at         
    -----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------+----------------------------
                   1 | {"msg": {"hash": {"keccak256": "erxoTxCmDETYR8ro8YeKD1AOZrZnc6e+4oYoR6MGPow="}, "number": "1"}, "signatures": [{"key": {"secp256k1": "AzCRTkGyJftvhRjVJ48MAUqYYQGMgFT5u0JbtlOFOPHJ"}, "sig": {"secp256k1": "1osJ9pPa8hB4BKNN6U9MDKommLOOKJ3hNOLpHdsqWRJN5dooK+CflKwQAIUtwjGa22EhmGulKv1fQs3stmSt3Rs="}}, {"key": {"secp256k1": "A4snYq04KzUJC7QpkqP2RC1jhCXqVSjoAP/lqffUGFWJ"}, "sig": {"secp256k1": "xA8x0UcDq3ZultBn7ylM/G4+vRpsb+GQEbhUagAeZ2duvPRX5fOICR7z8k7wiJLine4/3abqcN/Uyn4FX97mpRw="}}]} | 2024-07-11 15:14:19.121081 | 2024-07-11 15:14:19.121081
    (1 row)
    ```
    
    It only signed the batch 1, not batch 0, because by the time I started
    the external node the main node already created two batches, and
    currently only the last vote counts. The certificate shows two items in
    `signatures`.
    
    ## Why ❔
    
    So that we can configure attesters (to sign L1 batches) on the stage 2
    environment. Without this change the configured committee would be
    ignored.
    
    ## 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 `zk fmt` and `zk lint`.
    
    ---------
    
    Co-authored-by: Bruno França <[email protected]>
    aakoshh and brunoffranca authored Jul 11, 2024
    Configuration menu
    Copy the full SHA
    ca4cb3c View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2024

  1. feat(zk_toolbox): Allow toolbox find Zkstack.yaml in parent dirs (mat…

    …ter-labs#2430)
    
    ## 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 `zk fmt` and `zk lint`.
    
    Signed-off-by: Danil <[email protected]>
    Deniallugo authored Jul 12, 2024
    Configuration menu
    Copy the full SHA
    0957119 View commit details
    Browse the repository at this point in the history
  2. feat(en): Switch EN to use node framework (matter-labs#2427)

    ## What ❔
    
    This PR ports remaining parts of the EN to node framework and makes
    framework the default way to run it.
    In more detail:
    
    - Config for the health check limits are now set from config.
    - EN and rust metrics are now exposed; the protocol version update task
    now runs.
    - ⚠️ Connection pool healthcheck was removed. It was controversial
    initially, its usefulness is not clear, it was supposed to be refactored
    a year ago but didn't, and it wasn't working well when testing. See
    [linear
    issue](https://linear.app/matterlabs/issue/PLA-255/revamp-db-connection-health-check)
    for more context.
    - Tests were reworked to use node framework; some refactoring was also
    applied to reduce boilerplate.
    - Additional tests were added to check for invalid EN configurations.
    - ⚠️ Node framework was made the default way to run the EN. There is
    also a hook to force EN to run the old way, so that we don't have to
    rollback over small issues.
    
    ## Why ❔
    
    - Part of switch to the node framework.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 12, 2024
    Configuration menu
    Copy the full SHA
    0cee530 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9fe1839 View commit details
    Browse the repository at this point in the history
  4. chore: Prepare 0.1.0 release (matter-labs#2434)

    ## What ❔
    
    - ⚠️ Adds `prover_dal` to the core workspace and removes from prover
    workspace. This is done without changing any paths. It's required
    because house keeper is a part of core workspace. cc @EmilLuta
    - Merges `zksync_crypto` and `zksync_crypto_primitives` crates
    - Sets descriptions for crates
    - Sets `publish = false` where required
    - Changes manually set versions to `version.workspace = true`
    - Specifies versions in the workspace `Cargo.toml` for local deps.
    
    ## Why ❔
    
    Publishing on crates.io
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 12, 2024
    Configuration menu
    Copy the full SHA
    6cc3f17 View commit details
    Browse the repository at this point in the history
  5. feat(zk_toolbox): Add contract verifier support for zk toolbox (matte…

    …r-labs#2420)
    
    ## What ❔
    Add contract verifier support for zk toolbox
    
    ---------
    
    Signed-off-by: Danil <[email protected]>
    Co-authored-by: Danil <[email protected]>
    matias-gonz and Deniallugo authored Jul 12, 2024
    Configuration menu
    Copy the full SHA
    d10a24b View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2024

  1. test: Log whether we have attester key (matter-labs#2437)

    ## What ❔
    
    Adds debug logs to show whether the new attester key has been parsed.
    
    ## Why ❔
    
    On stage2 the main node doesn't seem to run attestations, while the
    external node does, even though both have the correct secret keys mapped
    to the containers. This is just a sanity check to see whether the values
    are present in the parsed configs, it's not an attempt to solve
    anything.
    
    ## 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 `zk fmt` and `zk lint`.
    aakoshh authored Jul 13, 2024
    Configuration menu
    Copy the full SHA
    3393a4d View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2024

  1. ci: add actions to push the zksync-tee-prover-azure container (matt…

    …er-labs#2433)
    
    ## What ❔
    
    Push the `zksync-tee-prover-azure` container to our docker repos.
    
    ## Why ❔
    
    So, the `zksync-tee-prover-azure` container can be used to run in our
    infra on staging.
    
    ## 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.
    - [ ] Documentation comments have been added / updated.
    - [x] Code has been formatted via `zk fmt` and `zk lint`.
    
    ---------
    
    Signed-off-by: Harald Hoyer <[email protected]>
    haraldh authored Jul 14, 2024
    Configuration menu
    Copy the full SHA
    d6bc776 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. fix: impossible to run zk_inception containers command (matter-labs#2443

    )
    
    ## What ❔
    
    Fixes a bug for which it is impossible to run `zk_inception containers`.
    The command required an impossible to supply subcommand due to the
    `#[command(subcommand,...` attribute.
    
    ```
    ❯ zk_inception containers
    
    ┌   ZKsync toolbox 
    │
    Run containers for local development
    
    Usage: zk_inception containers [OPTIONS]
    
    Options:
      -h, --help  Print help
    
    Global options:
      -v, --verbose               Verbose mode
          --chain <CHAIN>         Chain to use
          --ignore-prerequisites  Ignores prerequisites checks
    ```
    
    ```
    ❯ zk_inception containers  -v
    
    ┌   ZKsync toolbox 
    │
    error: 'zk_inception containers' requires a subcommand but one was not provided
    
    Usage: zk_inception containers [OPTIONS]
    
    For more information, try '--help'.
    ```
    ## 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. -->
    Bug
    
    ## 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 `zk fmt` and `zk lint`.
    
    Co-authored-by: Manuel <[email protected]>
    manuelmauro and Manuel authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    56119d7 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. chore: Make eth_tx_manager logs less verbose (matter-labs#2449)

    ## What ❔
    
    Makes eth_tx_manager emit less logs
    
    ## Why ❔
    
    Even if there is no activity (e.g. locally), `eth_tx_manager` keeps
    emitting a lot of logs, which makes it harder to understand what's going
    on with the server.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    a8e5bde View commit details
    Browse the repository at this point in the history
  2. chore: fix cargo deny check (matter-labs#2450)

    ## 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 `zk fmt` and `zk lint`.
    itegulov authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    4977818 View commit details
    Browse the repository at this point in the history
  3. refactor(prover_fri_gateway): Refactor gateway structures (matter-lab…

    …s#2451)
    
    ## What ❔
    
    Improves readability of prover fri gateway:
    
    - `PeriodicApi` is moved to a separate file. Generic argument was
    removed; instead now it has associated types for both request and
    response.
    - `PeriodicApiStruct` was renamed to `ProverApiClient`.
    `PeriodicApiStruct::run` was moved to `PeriodicApi` trait.
    - Dedicated types were created for `ProofSubmitter` and
    `ProofGenDataFetcher`.
    - A bit of doc comments.
    
    It can be refactored further, but I want to focus on incremental
    improvements for now.
    
    ## Why ❔
    
    - Previously the workflow responsibilities were split between
    `PeriodicApi` and `PeriodicApiStruct`. Now each type has its own area of
    responsiblity.
    - Using the same type for two different pollers was pretty confusing.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    62c3326 View commit details
    Browse the repository at this point in the history
  4. feat(prover): Make it possible to run prover out of GCP (matter-labs#…

    …2448)
    
    ## What ❔
    
    ~~When zone read domain name cannot be resolved, assumes local
    environment and uses `local` zone.~~
    
    - Introduces a new config to choose cloud type, either GCP or local.
    - Creates `RegionFetcher` structure that can fetch the zone based on
    configuration.
    - Introduces strong typing for zone.
    
    ## Why ❔
    
    Makes it possible to run prover locally.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    c9da549 View commit details
    Browse the repository at this point in the history
  5. chore: Publish fix-ups (matter-labs#2445)

    ## What ❔
    
    A few more fixes that were required to publish packages.
    Core workspace crates are already published under `crates.io-v0.1.0`
    tag.
    
    ## Why ❔
    
    Publishing on crates.io
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    55aabff View commit details
    Browse the repository at this point in the history
  6. chore(main): release core 24.10.0 (matter-labs#2423)

    🤖 I have created a release *beep* *boop*
    ---
    
    
    ##
    [24.10.0](matter-labs/zksync-era@core-v24.9.0...core-v24.10.0)
    (2024-07-22)
    
    
    ### Features
    
    * Add blob size metrics
    ([matter-labs#2411](matter-labs#2411))
    ([41c535a](matter-labs@41c535a))
    * **en:** Switch EN to use node framework
    ([matter-labs#2427](matter-labs#2427))
    ([0cee530](matter-labs@0cee530))
    * **eth-sender:** add early return in sending new transactions to not
    spam logs with errors
    ([matter-labs#2425](matter-labs#2425))
    ([192f2a3](matter-labs@192f2a3))
    * **eth-watch:** Integrate decentralized upgrades
    ([matter-labs#2401](matter-labs#2401))
    ([5a48e10](matter-labs@5a48e10))
    * L1 batch signing (BFT-474)
    ([matter-labs#2414](matter-labs#2414))
    ([ab699db](matter-labs@ab699db))
    * **prover:** Make it possible to run prover out of GCP
    ([matter-labs#2448](matter-labs#2448))
    ([c9da549](matter-labs@c9da549))
    * **zk_toolbox:** Small adjustment for zk toolbox
    ([matter-labs#2424](matter-labs#2424))
    ([ce43c42](matter-labs@ce43c42))
    
    
    ### Bug Fixes
    
    * **eth-sender:** add bump of min 10% when resending txs to avoid
    "replacement transaction underpriced"
    ([matter-labs#2422](matter-labs#2422))
    ([a7bcf5d](matter-labs@a7bcf5d))
    * Set attesters in Connection::adjust_genesis (BFT-489)
    ([matter-labs#2429](matter-labs#2429))
    ([ca4cb3c](matter-labs@ca4cb3c))
    
    ---
    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]>
    zksync-era-bot and zksync-era-bot authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    ce62dde View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2025f3c View commit details
    Browse the repository at this point in the history
  8. refactor: Change prover workspace hierarchy (matter-labs#2453)

    ## What ❔
    
    Prover workspace has got its own "mature" hierarchy, with multiple
    crates, some data folders, some important files lying in the root, etc.
    This makes prover workspace less understandable (especially figuring out
    the `vk_setup_data_generator_fri/data` folder).
    
    This is the first PR of N that aims to improve prover workspace
    hierarchy.
    It moves all the crates to two subfolders: `crates/bin` and
    `crates/lib`.
    Right now we have most of logic in binaries, but later we'll move some
    of it to `lib` too. And hopefully, in a foreseeable future we will also
    have `crates/test`.
    Later on we will also have a top-level directory(ies) for _data_ (e.g.
    keys).
    
    ## Why ❔
    
    Make the workspace easier to orient in.
    
    ## 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 `zk fmt` and `zk lint`.
    popzxc authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    b61a144 View commit details
    Browse the repository at this point in the history
  9. feat: add state override for gas estimates (matter-labs#1358)

    ## What ❔
    
    - Adds state override for gas estimates
    
    ## Why ❔
    
    - Solves matter-labs#947 
    - Feature parity with geth
    ethereum/go-ethereum#27800
    
    ## 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 `zk fmt` and `zk lint`.
    - [x] Spellcheck has been run via `zk spellcheck`.
    - [x] Linkcheck has been run via `zk linkcheck`.
    
    ---------
    
    Co-authored-by: Juan Rigada <[email protected]>
    Co-authored-by: Jrigada <[email protected]>
    Co-authored-by: Danil <[email protected]>
    4 people authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    761bda1 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0a12cc9 View commit details
    Browse the repository at this point in the history
  11. feat: added consensus_config to general config (matter-labs#2462)

    Now that we have a support for file-based configuration, we can embed
    the consensus configuration in general configs file.
    
    ---------
    
    Co-authored-by: Danil <[email protected]>
    pompon0 and Deniallugo authored Jul 22, 2024
    Configuration menu
    Copy the full SHA
    c5650a4 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2024

  1. feat: remove leftovers after BWIP (matter-labs#2456)

    ## What ❔
    
    Removed redundant columns from prover DB after adding BWIP.
    
    ## Why ❔
    
    Because they won't be used anymore
    
    ## 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 `zk fmt` and `zk lint`.
    Artemka374 authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    990676c View commit details
    Browse the repository at this point in the history
  2. feat: add revert tests (external node) to zk_toolbox (matter-labs#2408)

    ## What ❔
    
    - Adds revert tests (external node) to zk_toolbox
    
    ## Why ❔
    
    ## 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 fmt` and `zk lint`.
    
    ---------
    
    Co-authored-by: aon <[email protected]>
    Co-authored-by: Manuel <[email protected]>
    3 people authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    3fbbee1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6ce0b50 View commit details
    Browse the repository at this point in the history
  4. fix(prover): BWG optimizations (matter-labs#2469)

    This PR adds BWG optimizations on crypto side. See more
    [here](matter-labs/era-zkevm_test_harness#165).
    EmilLuta authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    d8851c8 View commit details
    Browse the repository at this point in the history
  5. feat: added key generation command to EN (matter-labs#2461)

    it will be used by partners running ENs to populate consensus secrets
    config. Also drafted the documentation on how to enable gossipnet on EN
    deployment. Following the instructions using a docker image won't be
    that simple though.
    
    ---------
    
    Co-authored-by: Denis Kolegov <[email protected]>
    pompon0 and dnkolegov authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    9861415 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. chore(main): release core 24.11.0 (matter-labs#2459)

    🤖 I have created a release *beep* *boop*
    ---
    
    
    ##
    [24.11.0](matter-labs/zksync-era@core-v24.10.0...core-v24.11.0)
    (2024-07-23)
    
    
    ### Features
    
    * add revert tests (external node) to zk_toolbox
    ([matter-labs#2408](matter-labs#2408))
    ([3fbbee1](matter-labs@3fbbee1))
    * add state override for gas estimates
    ([matter-labs#1358](matter-labs#1358))
    ([761bda1](matter-labs@761bda1))
    * added consensus_config to general config
    ([matter-labs#2462](matter-labs#2462))
    ([c5650a4](matter-labs@c5650a4))
    * added key generation command to EN
    ([matter-labs#2461](matter-labs#2461))
    ([9861415](matter-labs@9861415))
    * remove leftovers after BWIP
    ([matter-labs#2456](matter-labs#2456))
    ([990676c](matter-labs@990676c))
    
    ---
    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]>
    zksync-era-bot and zksync-era-bot authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    5eab94c View commit details
    Browse the repository at this point in the history
  2. refactor(api): Brush up VM storage overrides (matter-labs#2463)

    ## What ❔
    
    Brush up VM storage overrides as introduced in
    matter-labs#1358.
    
    ## Why ❔
    
    The overrides implementation looks overly complex and isn't correctly
    localized by domain (located in the `state` crate, while the
    functionality is API server-specific). This worsens maintainability.
    
    ## 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 fmt` and `zk lint`.
    slowli authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    8cf8fc7 View commit details
    Browse the repository at this point in the history
  3. chore(main): release prover 16.1.0 (matter-labs#2452)

    🤖 I have created a release *beep* *boop*
    ---
    
    
    ##
    [16.1.0](matter-labs/zksync-era@prover-v16.0.0...prover-v16.1.0)
    (2024-07-24)
    
    
    ### Features
    
    * **prover:** Make it possible to run prover out of GCP
    ([matter-labs#2448](matter-labs#2448))
    ([c9da549](matter-labs@c9da549))
    * remove leftovers after BWIP
    ([matter-labs#2456](matter-labs#2456))
    ([990676c](matter-labs@990676c))
    
    
    ### Bug Fixes
    
    * **prover:** BWG optimizations
    ([matter-labs#2469](matter-labs#2469))
    ([d8851c8](matter-labs@d8851c8))
    
    ---
    This PR was generated with [Release
    Please](https://github.com/googleapis/release-please). See
    [documentation](https://github.com/googleapis/release-please#release-please).
    zksync-era-bot authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    513b56e View commit details
    Browse the repository at this point in the history