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

chore: Merge contracts dev into sl stable #2762

Merged

Conversation

StanislavBreadless
Copy link
Contributor

What ❔

Why ❔

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.

itegulov and others added 30 commits August 22, 2024 11:22
## What ❔

Compressor should fail when a corresponding fri prover job is not found.
Unlikely to occur in real world but helps when manually populating DB
for debugging.

## Why ❔

This behaviour makes more sense

## 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`.

---------

Co-authored-by: EmilLuta <[email protected]>
## What ❔

Allow to run `zk_inception prover init` without `chain init`
Add docs for running provers and proving the batch.

## Why ❔

To provide easy way to spin up prover subsystem 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`.
## What ❔

Added metrics for external proof integration API, refactored code a
little bit

## 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`.
🤖 I have created a release *beep* *boop*
---


##
[24.21.0](core-v24.20.0...core-v24.21.0)
(2024-08-22)


### Features

* External prover API metrics, refactoring
([#2630](#2630))
([c83cca8](c83cca8))

---
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]>
…2716)

## What ❔

Changes default_protective_reads_persistence_enabled to false both for
main and external node

## Why ❔

For EN: it was confirmed that it works well without protective reads
For main node: it's expected that vm_runner_protective_reads is run by
default

## 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`.
## What ❔

Add `holesky` for `--l1-network` config in ecosystem cmd, that will make
the testnet use holesky testnet (chain id: 17000) as l1 network

## Why ❔

It can make us deploy testnet into holesky testnet more easy, in
zk_inception, it will write the layer1 's chain id into the config, when
use `ecosystem init` cmd, it will start chain init also, if use wrong
chain id for layer1 endpoint, it will make cmd run failed, so we cannot
just use layer1 endpoint to deploy a testnet in holesky.

Now we add `holesky` for `--l1-network` config to let it write 17000 as
chain id, that will make us to deploy testnet more easy.

## 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: Danil <[email protected]>
* Add cbt-related metrics;
* Move last hardcoded cbt-related properties to the config.
## What ❔

Same changes as in #2687,
but for stage release workflow

## 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`.
We ran into a problem in the staging environment where TEE blob fetching
failed because of a 30-day retention policy on blobs in Google Cloud
Storage. The TEE prover was failing for all old batches
(`l1_batch_number < 58300`). This commit fixes the issue by adding
better error handling when the blob for a given batch number isn't
available.

## What ❔

Graceful error handling for the TEE proof data handler when there is no
blob in Google Cloud Storage for the specified batch number.

## Why ❔

We need more robust error handling.

## 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`.
## What ❔

A few reports have shown that using spot instances is very
luck-dependent, so it's not worth trying at the cost of flow disruption.

## 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`.
## 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`.
## 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]>
It should have been updated as part of these 2 PRs:
- #2258
- #2486

## What ❔

Update ProofGenerationDal docs chart.

## Why ❔

We like up-to-date docs.

## Checklist

- [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`.
## What ❔

Fixes `tx.gas_price` field for legacy and EIP-2930 transactions.

## Why ❔

Follow the
[spec](https://ethereum.github.io/execution-apis/api-documentation/)

## 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`.
SQLX 0.8.0 had a vulnerability, which didn't affect us. At the time of
discovery, there was no fix. We silenced the warning to unlock
development.

This PR bumps SQLX to 0.8.1 which includes the vulnerability fix and
removes the cargo deny allowlist.

Co-authored-by: perekopskiy <[email protected]>
## What ❔

Adds zksolc 1.5.3, zkvyper 1.5.4

## 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`.
## What ❔

Uses a dedicated team for release management in CODEOWNERS.

## Why ❔

Better configurability.

## 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`.
## What ❔

Extracts oneshot VM executor from the API server crate.

## Why ❔

Simplifies reasoning about oneshot VM execution and its maintenance.
Allows for alternative implementations.

## 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`.
## What ❔

<!-- What are the changes this PR brings about? -->
<!-- Example: This PR adds a PR template to the repo. -->
<!-- (For bigger PRs adding more context is appreciated) -->

This PR adds a config to explicitly enable/disable DA verification
onchain.

## Why ❔

Without this feature, any chain using custom DA had to wait for full
inclusion before they could commit a batch even if they were not doing
the onchain verification.

## 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`.
Fix a bug with base_token_adjuster metrics reported under a wrong
namespace.
## What ❔

- Integrates Prometheus metrics into criterion benches; removes the DIY
benchmark correspondingly.
- Merges the main benchmark crate with the harness one.
- Includes benched bytecodes into the crate itself rather than reading
them in runtime.

## Why ❔

Makes VM benchmarks more maintainable.

## 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`.
🤖 I have created a release *beep* *boop*
---


##
[24.22.0](core-v24.21.0...core-v24.22.0)
(2024-08-27)


### Features

* add flag to enable/disable DA inclusion verification
([#2647](#2647))
([b425561](b425561))
* **Base token:** add cbt metrics
([#2720](#2720))
([58438eb](58438eb))
* Change default_protective_reads_persistence_enabled to false
([#2716](#2716))
([8d0eee7](8d0eee7))
* **vm:** Extract oneshot VM executor interface
([#2671](#2671))
([951d5f2](951d5f2))
* **zk_toolbox:** Add holesky testnet as layer1 network
([#2632](#2632))
([d9266e5](d9266e5))


### Bug Fixes

* **api:** `tx.gas_price` field
([#2734](#2734))
([aea3726](aea3726))
* **base_token_adjuster:** bug with a wrong metrics namespace
([#2744](#2744))
([64b2ff8](64b2ff8))
* **eth-sender:** missing Gateway migration changes
([#2732](#2732))
([a4170e9](a4170e9))
* **proof_data_handler:** TEE blob fetching error handling
([#2674](#2674))
([c162510](c162510))

---
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]>
## 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]>
koloz193 and others added 12 commits August 27, 2024 15:06
## What ❔

Fixes divergence in used bytecodes info between the old and new VMs.

## Why ❔

The new VM behaved differently to the old VM on far call if decommitting
the called contract leads to out-of-gas revert. The old VM records the
called contract bytecode as decommitted in this case; the new one
didn't.

## 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`.
## What ❔

- Fix casing of "ZKsync" in READMEs and console messages in
`zksync-era/zk_toolbox`
  - ZKsync - correct
  - zkSync - incorrect
  - ZkSync (pascal case)
- PS: Some of those pascal cases may have been in purpose - let me know
if I should revert any of those.


## Why ❔

- Matches newer branding

## 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`.
## What ❔

- Fixed docs link in zk_toolbox to shared bridge

## Why ❔

- Docs link in zk_toolbox to shared bridge was broken


## Checklist

<!-- Check your PR fulfills the following items. -->
<!-- For draft PRs check the boxes as you complete them. -->

- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [x] Tests for the changes have been added / updated.
- [x] Documentation comments have been added / updated.
- [x] Code has been formatted via `zk fmt` and `zk lint`.
@StanislavBreadless StanislavBreadless requested review from yorik, alexandrst88, artmakh, hatemosphere, onyxet, otani88 and iluwaa and removed request for a team August 28, 2024 15:00
@StanislavBreadless StanislavBreadless changed the title Merge contracts dev into sl stable chore: Merge contracts dev into sl stable Aug 28, 2024
@StanislavBreadless StanislavBreadless merged commit 07fdecc into sync-layer-stable Aug 28, 2024
35 of 36 checks passed
@StanislavBreadless StanislavBreadless deleted the sb-merge-contracts-dev-into-sl-stable branch August 28, 2024 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.