Skip to content

feat: interop root processing via service transaction#427

Open
antoniolocascio wants to merge 32 commits intoalocascio-prover-input-runfrom
alocascio-interop-roots
Open

feat: interop root processing via service transaction#427
antoniolocascio wants to merge 32 commits intoalocascio-prover-input-runfrom
alocascio-interop-roots

Conversation

@antoniolocascio
Copy link
Contributor

@antoniolocascio antoniolocascio commented Nov 26, 2025

What ❔

This is an alternative to #419, where interop roots are set by a new service transaction included in separate service blocks.
Depends on matter-labs/era-contracts#1644

Why ❔

Is this a breaking change?

  • Yes
  • No

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.

@antoniolocascio antoniolocascio force-pushed the alocascio-prover-input-run branch 4 times, most recently from 9d6adc3 to 9327836 Compare November 27, 2025 12:41
@antoniolocascio antoniolocascio force-pushed the alocascio-prover-input-run branch from 9327836 to feaf0c4 Compare November 27, 2025 12:47
@0xVolosnikov
Copy link
Contributor

Would be interesting to get benchmark results here

@0xVolosnikov 0xVolosnikov force-pushed the alocascio-interop-roots branch from 0128ec5 to 64f4890 Compare December 3, 2025 20:39
@antoniolocascio antoniolocascio force-pushed the alocascio-interop-roots branch from 6c68bac to c817b46 Compare December 9, 2025 11:45
@antoniolocascio antoniolocascio changed the title feat: interop root processing via L2 transaction feat: interop root processing via service transaction Dec 9, 2025
@antoniolocascio antoniolocascio force-pushed the alocascio-interop-roots branch from c817b46 to ab86572 Compare December 9, 2025 11:50
@github-actions
Copy link
Contributor

Benchmark report

Benchmark Symbol Base Eff Head Eff (%) Base Raw Head Raw (%) Base Blake Head Blake (%) Base Bigint Head Bigint (%)
block_19299001 run_prepared 310,878,786 310,911,846 (+0.01%) 268,213,010 268,246,070 (+0.01%) 410,610 410,610 (+0.00%) 9,024,004 9,024,004 (+0.00%)
block_22244135 run_prepared 191,043,321 191,025,490 (-0.01%) 164,127,261 164,109,430 (-0.01%) 172,020 172,020 (+0.00%) 6,040,935 6,040,935 (+0.00%)
precompiles bn254_ecadd 53,197 53,197 (+0.00%) 47,745 47,745 (+0.00%) 0 0 (+0.00%) 1,363 1,363 (+0.00%)
precompiles bn254_ecmul 731,034 731,034 (+0.00%) 566,846 566,846 (+0.00%) 0 0 (+0.00%) 41,047 41,047 (+0.00%)
precompiles bn254_pairing 72,689,618 72,689,623 (+0.00%) 58,161,474 58,161,479 (+0.00%) 0 0 (+0.00%) 3,632,036 3,632,036 (+0.00%)
precompiles ecrecover 480,181 482,753 (+0.54%) 311,681 313,341 (+0.53%) 0 0 (+0.00%) 42,125 42,353 (+0.54%)
precompiles id 933 933 (+0.00%) 933 933 (+0.00%) 0 0 (+0.00%) 0 0 (+0.00%)
precompiles keccak 137,578 137,578 (+0.00%) 137,578 137,578 (+0.00%) 0 0 (+0.00%) 0 0 (+0.00%)
precompiles modexp 32,084,944 32,084,999 (+0.00%) 21,427,124 21,427,179 (+0.00%) 0 0 (+0.00%) 2,664,455 2,664,455 (+0.00%)
precompiles p256_verify 750,769 750,769 (+0.00%) 472,077 472,077 (+0.00%) 0 0 (+0.00%) 69,673 69,673 (+0.00%)
precompiles point_evaluation 51,158,394 51,158,394 (+0.00%) 39,535,766 39,535,766 (+0.00%) 0 0 (+0.00%) 2,905,657 2,905,657 (+0.00%)
precompiles process_transaction 73,836,867 73,837,138 (+0.00%) 59,133,151 59,133,546 (+0.00%) 160 160 (+0.00%) 3,675,289 3,675,258 (-0.00%)
precompiles ripemd 8,028 8,028 (+0.00%) 8,028 8,028 (+0.00%) 0 0 (+0.00%) 0 0 (+0.00%)
precompiles run_prepared 148,150,566 148,149,099 (-0.00%) 118,670,142 118,680,971 (+0.01%) 5,070 5,070 (+0.00%) 7,349,826 7,346,752 (-0.04%)
precompiles sha256 13,167 13,167 (+0.00%) 13,167 13,167 (+0.00%) 0 0 (+0.00%) 0 0 (+0.00%)
precompiles verify_and_apply_batch 132,169 132,219 (+0.04%) 97,449 97,499 (+0.05%) 2,170 2,170 (+0.00%) 0 0 (+0.00%)

0xVolosnikov added a commit that referenced this pull request Dec 18, 2025
## What ❔

A subset of #427 that doesn't depend on native prover input generation
(#418)

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

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

---------

Co-authored-by: Vladislav Volosnikov <Volosnikov.apmath@gmail.com>
RomanHiden pushed a commit to RomanHiden/zksync-os that referenced this pull request Jan 19, 2026
## What ❔

A subset of matter-labs#427 that doesn't depend on native prover input generation
(matter-labs#418)

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

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

---------

Co-authored-by: Vladislav Volosnikov <Volosnikov.apmath@gmail.com>
@antoniolocascio antoniolocascio force-pushed the alocascio-prover-input-run branch 6 times, most recently from 1208ff0 to f94dc60 Compare February 6, 2026 10:22
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.

3 participants