Skip to content

test: Unify transaction flows and conversions in tests#519

Merged
0xVolosnikov merged 41 commits intodevfrom
vv-testing-refactoring-tx-unification
Feb 18, 2026
Merged

test: Unify transaction flows and conversions in tests#519
0xVolosnikov merged 41 commits intodevfrom
vv-testing-refactoring-tx-unification

Conversation

@0xVolosnikov
Copy link
Contributor

What ❔

  • Use single ZKsyncTxEnvelope struct for any transactions in tests
  • Cleanup ruint <-> alloy conversions

Why ❔

Makes tests easier to manage. Additionally, we can cover more test cases with L1, upgrade and service txs this way.
Will significantly simplify the REVM consistency checker integration.

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.

@0xVolosnikov
Copy link
Contributor Author

Later new ZKsyncTxEnvelope module can be merged / replaced by the implementation in zksync-os-server

Copy link
Contributor

@antoniolocascio antoniolocascio left a comment

Choose a reason for hiding this comment

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

Looks great, thanks!

@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 process_block 315,716,621 315,716,621 (+0.00%) 273,051,221 273,051,221 (+0.00%) 410,630 410,630 (+0.00%) 9,023,830 9,023,830 (+0.00%)
block_22244135 process_block 197,600,148 197,600,148 (+0.00%) 170,684,356 170,684,356 (+0.00%) 172,040 172,040 (+0.00%) 6,040,788 6,040,788 (+0.00%)
precompiles bn254_ecadd 53,268 53,268 (+0.00%) 47,816 47,816 (+0.00%) 0 0 (+0.00%) 1,363 1,363 (+0.00%)
precompiles bn254_ecmul 728,781 728,781 (+0.00%) 564,593 564,593 (+0.00%) 0 0 (+0.00%) 41,047 41,047 (+0.00%)
precompiles bn254_pairing 72,336,733 72,336,733 (+0.00%) 57,808,589 57,808,589 (+0.00%) 0 0 (+0.00%) 3,632,036 3,632,036 (+0.00%)
precompiles ecrecover 481,192 477,404 (-0.79%) 311,992 309,500 (-0.80%) 0 0 (+0.00%) 42,300 41,976 (-0.77%)
precompiles id 927 927 (+0.00%) 927 927 (+0.00%) 0 0 (+0.00%) 0 0 (+0.00%)
precompiles keccak 137,579 137,579 (+0.00%) 137,579 137,579 (+0.00%) 0 0 (+0.00%) 0 0 (+0.00%)
precompiles modexp 31,267,898 31,267,898 (+0.00%) 20,610,078 20,610,078 (+0.00%) 0 0 (+0.00%) 2,664,455 2,664,455 (+0.00%)
precompiles p256_verify 748,861 748,861 (+0.00%) 470,169 470,169 (+0.00%) 0 0 (+0.00%) 69,673 69,673 (+0.00%)
precompiles point_evaluation 51,204,075 51,204,075 (+0.00%) 39,581,447 39,581,447 (+0.00%) 0 0 (+0.00%) 2,905,657 2,905,657 (+0.00%)
precompiles process_block 147,561,071 147,553,563 (-0.01%) 118,075,747 118,084,131 (+0.01%) 5,160 5,160 (+0.00%) 7,350,691 7,346,718 (-0.05%)
precompiles process_transaction 73,491,396 73,487,660 (-0.01%) 58,787,196 58,791,540 (+0.01%) 160 160 (+0.00%) 3,675,410 3,673,390 (-0.05%)
precompiles ripemd 8,013 8,013 (+0.00%) 8,013 8,013 (+0.00%) 0 0 (+0.00%) 0 0 (+0.00%)
precompiles run_tx_loop 146,909,720 146,902,090 (-0.01%) 117,504,076 117,512,338 (+0.01%) 180 180 (+0.00%) 7,350,691 7,346,718 (-0.05%)
precompiles sha256 13,168 13,168 (+0.00%) 13,168 13,168 (+0.00%) 0 0 (+0.00%) 0 0 (+0.00%)
precompiles system_init 46,565 46,565 (+0.00%) 46,565 46,565 (+0.00%) 0 0 (+0.00%) 0 0 (+0.00%)
precompiles verify_and_apply_batch 146,480 146,831 (+0.24%) 110,160 110,511 (+0.32%) 2,270 2,270 (+0.00%) 0 0 (+0.00%)

@0xVolosnikov 0xVolosnikov merged commit 92cce6c into dev Feb 18, 2026
16 checks passed
@0xVolosnikov 0xVolosnikov deleted the vv-testing-refactoring-tx-unification branch February 18, 2026 04:35
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.

2 participants