Skip to content

Conversation

@0xVolosnikov
Copy link
Contributor

@0xVolosnikov 0xVolosnikov commented May 7, 2025

What ❔

Instead of using custom DA validators, now we have a specific set of possible DA validators and we use them instead.

Why ❔

It's a rare occasion to introduce new DA validator

Is this a breaking change?

  • Yes
  • No

Operational changes

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 zkstack dev fmt and zkstack dev lint.

0xValera and others added 30 commits May 27, 2025 19:08
## What ❔

Merges `BatchRootProcessor` and `BatchRootProcessorInterop` into a
single one

<!-- 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? -->
<!-- The `Why` has to be clear to non-Matter Labs entities running their
own ZK Chain -->
<!-- Example: PR templates ensure PR reviewers, observers, and future
iterators are in context about the evolution of repos. -->

## Is this a breaking change?
- [ ] Yes
- [ ] No

## Operational changes
<!-- Any config changes? Any new flags? Any changes to any scripts? -->
<!-- Please add anything that non-Matter Labs entities running their own
ZK Chain may need to know -->

## Checklist

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

- [ ] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.
- [ ] Code has been formatted via `zkstack dev fmt` and `zkstack dev
lint`.
Copy link
Contributor

@dimazhornyk dimazhornyk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

didn't have a chance to review everything, but here is a fix for the issue raised earlier

Signed-off-by: Danil <[email protected]>
Signed-off-by: Danil <[email protected]>
Signed-off-by: Danil <[email protected]>
cytadela8 and others added 2 commits September 18, 2025 12:27
## What ❔

If received batch details contain None/Null chain_id (commit_chain_id,
prove_chain_id, execute_chain_id) set it to config provided chain id for
L1. This happens for old batches.

## Why ❔

If you try syning EN from scratch with a "old" chain you will encounter
following error:
```
Error: One or more tasks failed: ["Task transaction_finality_updater failed: No batch transactions to process for chain id 1 while there are some for None chain_id.Error is thrown so node can restart and reload SL data. If node doesn't make any progress after restart, then it's bug, please contact developers."]
```

Logic for fetching batch transactions to process their finality status
assumes chain_ids are set properly and no transaction should have
chain_id = None. However this is the case for old chains. When fetching
they return *_chain_id: null in zks_getL1BatchDetails for some old
batches.

## Is this a breaking change?
- [ ] Yes
- [ ] No

## Operational changes
<!-- Any config changes? Any new flags? Any changes to any scripts? -->
<!-- Please add anything that non-Matter Labs entities running their own
ZK Chain may need to know -->

## Checklist

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

- [ ] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.
- [ ] Code has been formatted via `zkstack dev fmt` and `zkstack dev
lint`.
## What ❔

During the reorg detection take into account not only root hash, but the
whole commitment

## Why ❔

We have at least one example, where during wrong execution we have
correct root hash, but wrong commitment

## Is this a breaking change?
- [ ] Yes
- [ ] No

## Operational changes
<!-- Any config changes? Any new flags? Any changes to any scripts? -->
<!-- Please add anything that non-Matter Labs entities running their own
ZK Chain may need to know -->

## Checklist

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

- [ ] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.
- [ ] Code has been formatted via `zkstack dev fmt` and `zkstack dev
lint`.

---------

Signed-off-by: Danil <[email protected]>
Copy link
Contributor

@dimazhornyk dimazhornyk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good! usually the most problematic part with DA is ENs, but everything seems to be fine here

@@ -236,7 +236,7 @@ pub async fn deploy_l2_da_validator(
shell: &Shell,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we completely remove this function? it is not needed in v30 if I understand correctly

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, we still need to deploy it...

Deniallugo and others added 3 commits September 18, 2025 16:34
## 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? -->
<!-- The `Why` has to be clear to non-Matter Labs entities running their
own ZK Chain -->
<!-- Example: PR templates ensure PR reviewers, observers, and future
iterators are in context about the evolution of repos. -->

## Is this a breaking change?
- [ ] Yes
- [ ] No

## Operational changes
<!-- Any config changes? Any new flags? Any changes to any scripts? -->
<!-- Please add anything that non-Matter Labs entities running their own
ZK Chain may need to know -->

## Checklist

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

- [ ] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.
- [ ] Code has been formatted via `zkstack dev fmt` and `zkstack dev
lint`.

Signed-off-by: Danil <[email protected]>
## What ❔

Only apply seal criteria checks through PanicSealer on >=v29 protocol

## Why ❔

Some older protocol versions had higher circuit (and maybe other) limits
that are no longer avilable in code constants

## Is this a breaking change?
- [ ] Yes
- [ ] No

## Operational changes
<!-- Any config changes? Any new flags? Any changes to any scripts? -->
<!-- Please add anything that non-Matter Labs entities running their own
ZK Chain may need to know -->

## Checklist

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

- [ ] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.
- [ ] Code has been formatted via `zkstack dev fmt` and `zkstack dev
lint`.
🤖 I have created a release *beep* *boop*
---


##
[29.3.0](core-v29.2.0...core-v29.3.0)
(2025-09-18)


### Features

* **en:** Check commitment allonside with roothashes
([#4492](#4492))
([6e8f526](6e8f526))
* **en:** Improved en commitment generation error handling
([#4483](#4483))
([1bb82d6](1bb82d6))


### Bug Fixes

* **en:** Add check for commitment in diverged batch
([#4493](#4493))
([e693fd0](e693fd0))
* **en:** allow to disable sanity checks for commitment generation
([#4487](#4487))
([7692f31](7692f31))
* **EN:** properly set chain_id for old batch transactions
([#4488](#4488))
([634b6dd](634b6dd))
* **eth-proof-manager:** don't fail component if proof was incorrect
([#4444](#4444))
([daa1161](daa1161))
* **eth-proof-manager:** verify protocol version and proving mode
alignment
([#4473](#4473))
([99e0423](99e0423))
* **eth-sender:** Fix selector for old batches
([#4489](#4489))
([bb42dcf](bb42dcf))

---
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]>
@0xValera 0xValera requested a review from a team as a code owner September 22, 2025 12:02
@0xValera 0xValera requested review from zksync-admin-bot2 and removed request for a team September 22, 2025 12:02
@github-actions
Copy link
Contributor

⚠ Detected differing instruction counts

Benchmark Old count New count
access_memory 4747755 4747569
call_far 319928 319919
decode_shl_sub 4747860 4747674
deploy_simple_contract 15892 15895
event_spam 2558407 2558308
finish_eventful_frames 786338 786307
heap_read_write 4252318 4252171
slot_hash_collision 4748771 4748585
write_and_decode 4748771 4748585

Changes in number of opcodes executed indicate that the gas price of the benchmark has changed, which causes it to run out of gas at a different time.

@0xValera 0xValera merged commit bcb6359 into draft-v30 Sep 23, 2025
74 of 82 checks passed
@0xValera 0xValera deleted the v29/remove-custom-da branch September 23, 2025 12:54
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.