Skip to content

chore: sync draft-v31-with-zksync-os with draft-v31#2047

Merged
AntonD3 merged 45 commits intodraft-v31-with-zksync-osfrom
ad-sync-draft-v31-with-zksync-os
Feb 23, 2026
Merged

chore: sync draft-v31-with-zksync-os with draft-v31#2047
AntonD3 merged 45 commits intodraft-v31-with-zksync-osfrom
ad-sync-draft-v31-with-zksync-os

Conversation

@AntonD3
Copy link
Contributor

@AntonD3 AntonD3 commented Feb 23, 2026

What ❔

Merge draft-v31 to draft-v31-with-zksync-os

Why ❔

Too keep it synced

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.

0xValera and others added 30 commits November 28, 2025 14:07
# 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.
# 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.

---------

Co-authored-by: Claude <noreply@anthropic.com>
# What ❔

* [x] Put the correct bridgehub contract name in the genesis gen tool

<!-- 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 ❔

BridgeHub on Linux is different file from Bridgehub as the filesystem on
macos is case-insensitive, but it always case-sensitive on Linux.

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

* [x] fix recompute_hashes.sh with linux regexp for forge 0.0.4

<!-- 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 ❔

On Linux, v0.0.4 forge and cast have broken version output:
```
./cast --version
cast 0.0.4 (VERGEN_IDEMPOTENT_OUTPUT 2025-01-24T00:26:16.916157322Z)
```
Update regexp in the script to be able to handle this and use the script
in CI.

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
# What ❔

This is a sister PR to
matter-labs/zksync-era#4583

<!-- 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.
# 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.
fix: OZ ZKsync OS non interop v30, L-01
 fix: OZ ZKsync OS non interop v30, L-02
fix: OZ ZKsync OS non interop v30, L-03
fix: OZ ZKsync OS non interop v30, L-04
Revert "fix: OZ ZKsync OS non interop v30, L-04"
# What ❔

Emitting this event is needed in order to split the zkstack command to
migrate token balances in two: first command to initiate the migration
on L2/GW, second command to finalize the migration on L1.

<!-- 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.

---------

Co-authored-by: kelemeno <kl@matterlabs.dev>
# 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.
# What ❔

In addition to the DefaultAccount changes, extended bootloader test
infra to support 'integration tests': the ones that allow to test
transactions

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

---------

Co-authored-by: zksync[bot] <zksync[bot]@users.noreply.github.com>
fix: index chain id on GatewayToL1MigrationInitiated (#2020)
small config rework and  renaming ecosystem upgrade
# What ❔

An Across contract was upgraded to EVM implementation, while the proxy
was zkEVM one. To recover there will be a force deploy performed.

The PR includes a unit test and a fork test.  

## Why ❔

<!-- Why are these changes done? What goal do they contribute to? What
are the principles behind them? -->
<!-- Example: PR templates ensure PR reviewers, observers, and future
iterators are in context about the evolution of repos. -->

## Checklist

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

- [ ] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [ ] Tests for the changes have been added / updated.
- [ ] Documentation comments have been added / updated.

---------

Co-authored-by: kelemeno <34402761+kelemeno@users.noreply.github.com>
Co-authored-by: zksync[bot] <zksync[bot]@users.noreply.github.com>
kelemeno and others added 15 commits February 12, 2026 12:55
# What ❔
matter-labs/zksync-era#4645
<!-- 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.

---------

Co-authored-by: zksync[bot] <zksync[bot]@users.noreply.github.com>
# What ❔
matter-labs/zksync-era#4642

Implemented a Priority Mode for chains that settles to L1. The goal is
to have a simple mechanism that would allow users to permissionlessly
withdraw funds from a rollup even if the validator is censoring or is
not active.

The workflow:
- By default, users can submit their transactions via the L2 mempool and
hope that the transaction will be processed.
- Alternatively, they can request L1 -> L2 transactions, and the
operator will be obligated to process the transaction in the next X
days.
- If the operator fails to process the priority transactions during the
X-day window, then anyone can activate priority mode by executing the
corresponding function on the L1 chain contract.
- If priority mode is activated, the batches can only include
transactions from the priority queue, and anyone can settle the batch
(atomically).

Additionally, 

- Changed the way L1 -> L2 transactions spends base tokens. Now they can
spend base tokens from L2 balance, and not only the amount deposited
from L1 in the same tx.
- Previously, an L1 → L2 transaction minted msg.value before the call
and minted the remaining deposited amount to the refund recipient after
the call. The transaction then used that minted msg.value during
execution.
- Now, an L1 → L2 transaction mints the deposited amount minus the
required fee. The msg.value can be set arbitrarily by the requester on
L1. If it exceeds the account’s balance, the transaction fails and the
deposited amount is credited to the refund recipient.
- ZKsync Era Bootloader and ZKsync OS program now signaling about number
of L2 txs executed in the batch. If Priority Mode is activated only
batches with zero L2 txs executed can be committed (and so executed).
--- 

Design decisions:
1. The priority operation expiration time is 6 days. It is more or less
arbitrary number. But should be high enough for chain operator to react
on censorship due to technical issues (e.g. bugs in the node). Also the
number should be smaller than exit window, which is [upgrade
delay](https://github.com/zksync-association/zk-governance/blob/master/l1-contracts/src/ProtocolUpgradeHandler.sol#L48)
in our case. The exit window would be 8 days, meaning if censorship
started at the beginning of it, users may put requests in priority queue
and only after 6th day the priority mode will be activated and their
transactions will start to be processed.
2. To allow anyone settling batches in the Priority Mode I decided not
changing the core contracts, but just add `PermissionlessValidator`.
`PermissionlessValidator` is a simple one-function contract that allow
to call `commitBatches`/`proveBatches`/`executBatches` atomically. In
Priority Mode, the batch settling is restricted to
`PermissionlessValidator`.
3. Only ZK Governace can make the chain Stage 1 chain. To do it,
Governance should call `allowPriorityMode` function.

## Why ❔

Stage1. 

## Other PRs

-  matter-labs/zksync-os#478
- zksync-association/zk-governance#32

## What is not done yet?

1. Testing
2. Server integration for both Era and ZKsync OS

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

---------

Signed-off-by: Danil <deniallugo@gmail.com>
Co-authored-by: Danil <deniallugo@gmail.com>
Co-authored-by: zkzoomer <sergio@zkzoomer.io>
Co-authored-by: kelemeno <34402761+kelemeno@users.noreply.github.com>
Co-authored-by: kelemeno <kl@matterlabs.dev>
Co-authored-by: 0xValera <55665573+0xValera@users.noreply.github.com>
Co-authored-by: 0xValera <valera7743@icloud.com>
Co-authored-by: Marcin M <128217157+mm-zk@users.noreply.github.com>
Co-authored-by: Raid Ateir <ateirraid@gmail.com>
Co-authored-by: Raid5594 <52794079+Raid5594@users.noreply.github.com>
Co-authored-by: Vladislav Volosnikov <vladyan18@gmail.com>
Co-authored-by: EmilLuta <evl@matterlabs.dev>
Co-authored-by: EmilLuta <EmilLuta@users.noreply.github.com>
Co-authored-by: AntonD3 <74021421+AntonD3@users.noreply.github.com>
Co-authored-by: Stanislav Bezkorovainyi <stanislavbezkor@gmail.com>
Co-authored-by: mm <mm@matterlabs.dev>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alexander Melnikov <sanekmelnikov@gmail.com>
Co-authored-by: nikitastupin-matterlabs <178824211+nikitastupin-matterlabs@users.noreply.github.com>
Co-authored-by: Anton Baliasnikov <aba@matterlabs.dev>
Co-authored-by: zksync[bot] <zksync[bot]@users.noreply.github.com>
…#1993)

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

---------

Co-authored-by: Stanislav Breadless <stanislavbezkor@gmail.com>
Co-authored-by: kelemeno <34402761+kelemeno@users.noreply.github.com>
Co-authored-by: zksync[bot] <zksync[bot]@users.noreply.github.com>
# 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.

---------

Co-authored-by: Stanislav Bezkorovainyi <stanislavbezkor@gmail.com>
Co-authored-by: zksync[bot] <zksync[bot]@users.noreply.github.com>
# 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.
# 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.

---------

Co-authored-by: kelemeno <kl@matterlabs.dev>
Co-authored-by: zksync[bot] <zksync[bot]@users.noreply.github.com>
# What ❔

- Deprecation of legacy Mailbox functions:
    - `finalizeEthWithdrawal`
    - `requestL2Transaction`
- Creation of an `IMailboxLegacy` interface to keep the signature of
`Mailbox.finalizeEthWithdrawal`
- Modification of the Mailbox constructor to remove the unused
`ERA_CHAIN_ID`
- Adjustment of existing tests and deployment scripts

Superseding #1840 due
to the amount of merge conflicts.

The following external PRs should be merged as those repos are using the
deprecated fns:
- matter-labs/zksync-withdrawal-finalizer#550
- zksync-association/zk-governance#30

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

---------

Co-authored-by: kelemeno <kl@matterlabs.dev>
Co-authored-by: zksync[bot] <zksync[bot]@users.noreply.github.com>
# What ❔

- Hardened requirements.
- Some statements simplified.
- Additional comments added.
- removed unused variables
- Some of the issues fixed:
a) reducing base token balance during failed deposits
b) made migration intervals also track batch of the settlement layer

Note, that for now some of the FIXMEs were added to be fixed /
addressed.

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

---------

Co-authored-by: kelemeno <kl@matterlabs.dev>
Co-authored-by: zksync[bot] <zksync[bot]@users.noreply.github.com>
# What ❔

This is a sister PR to
matter-labs/zksync-era#4612

[WIP], to be filled
<!-- 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.

---------

Signed-off-by: Danil <deniallugo@gmail.com>
Co-authored-by: zkzoomer <sergio@zkzoomer.io>
Co-authored-by: Danil <deniallugo@gmail.com>
Co-authored-by: Marcin M <128217157+mm-zk@users.noreply.github.com>
Co-authored-by: Raid Ateir <ateirraid@gmail.com>
Co-authored-by: Raid5594 <52794079+Raid5594@users.noreply.github.com>
Co-authored-by: Vladislav Volosnikov <vladyan18@gmail.com>
Co-authored-by: EmilLuta <evl@matterlabs.dev>
Co-authored-by: EmilLuta <EmilLuta@users.noreply.github.com>
Co-authored-by: AntonD3 <74021421+AntonD3@users.noreply.github.com>
Co-authored-by: Stanislav Bezkorovainyi <stanislavbezkor@gmail.com>
Co-authored-by: kelemeno <kl@matterlabs.dev>
Co-authored-by: kelemeno <34402761+kelemeno@users.noreply.github.com>
Co-authored-by: mm <mm@matterlabs.dev>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alexander Melnikov <sanekmelnikov@gmail.com>
Co-authored-by: nikitastupin-matterlabs <178824211+nikitastupin-matterlabs@users.noreply.github.com>
Co-authored-by: Anton Baliasnikov <aba@matterlabs.dev>
Co-authored-by: zksync[bot] <zksync[bot]@users.noreply.github.com>
# What ❔

This is a sister PR to:
matter-labs/zksync-era#4674

1. Since stage1 is not supported for chains on top of GW, there is no
need to wait before l1->l2 ops can be paused (as there is always the
transaction filterer approach).
2. We do not automatically re-enable deposits in 1.5 days since GW is
expected to return a confirmation message. l1->l2 ops are unpaused only
via the confirmation message (or chain admin but only if no withdrawal
happened)

There is a known issue preventing stage1: 
- Chain admin may pause deposits, but not actually try to migrate.
- So in the future we will need to reintroduce
CHAIN_MIGRATION_TIME_WINDOW_END_MAINNET/PAUSE_DEPOSITS_TIME_WINDOW_END_MAINNET,
but we will have to carefully consider the used timelines to ensure that
stage1 works.
- This not an issue in this release, since we dont support stage1 for
chains on GW

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

---------

Co-authored-by: zksync[bot] <zksync[bot]@users.noreply.github.com>
# What ❔

Add zkSyncOS flag getter method to CTM, use it in the
AddressIntrospector library.

## Why ❔

To make the RegisterZKChain script properly behave both for zksync os
and Era VM.

## 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.
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 67e517f8c9

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@AntonD3 AntonD3 changed the title chore: sync draft-v31-with-zksync-os chore: sync draft-v31-with-zksync-os with draft-v31 Feb 23, 2026
@AntonD3 AntonD3 merged commit e17650b into draft-v31-with-zksync-os Feb 23, 2026
18 of 24 checks passed
@AntonD3 AntonD3 deleted the ad-sync-draft-v31-with-zksync-os branch February 23, 2026 11:29
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.

9 participants