8000 feat(evm): support ZEVM native traces and reproducible dependency setup by roninjin10 · Pull Request #41 · evmts/guillotine-mini · GitHub
[go: up one dir, main page]

feat(evm): support ZEVM native traces and reproducible dependency setup - #41

Merged
roninjin10 merged 6 commits into
mainfrom
codex/native-zevm-release-20260905
Sep 5, 2026
Merged

roninjin10 merged 6 commits into
mainfrom
codex/native-zevm-release-20260905

Conversation

@roninjin10
@roninjin10 roninjin10 commented Sep 5, 2026 •
Copy link
Copy Markdown
Contributor

Add bounded pre-op tracing and structured native execution errors for ZEVM. Pin Voltaire for CI, build its Rust crypto archive before tests, and repair registered-frame and truncated-PUSH unit fixtures. Includes the preceding EVM correctness commit required by this integration.

Validation: Zig 0.15.2 unit and trace targets pass: 997 tests passed, one skipped. A broader local zig build test run with the existing modified conformance fixtures reported storage mismatches and missing reference traces; it was stopped after repeated failures. Those assertions remain in place and full conformance is not qualified.

Existing generated conformance fixture changes are excluded from the commits. Companion changes: evmts/zevm#62 and evmts/tevm#2102. This is not evidence of a published release.

roninjin10 and others added 2 commits May 29, 2026 19:45
8000
…d, SELFDESTRUCT refund, BLOCKHASH overflow, async FFI

Spec-verified against bundled execution-specs; no new unit-test regressions.

- EIP-3541 (London+): reject deployed code starting with 0xEF; gate EIP-170 size limit to Spurious Dragon+
- PUSHn at end of code: zero-pad missing immediate bytes instead of aborting with InvalidPush
- SSTORE restore-to-original refunds: correct Istanbul (19200/4200) vs Berlin (19900/2800) constants
- EXP per-byte gas: 10 pre-EIP-160, 50 Spurious Dragon+ (was hardcoded 50)
- SELFDESTRUCT: grant pre-London 24000 refund at most once per account per tx
- BLOCKHASH: saturating add to avoid u256 overflow-panic on large operands
- async FFI: handle continue types code(3)/nonce(4); dynamically size state-changes buffer (was truncated at 16 KiB)

Includes BUG_HUNT_REPORT.md documenting the full bug-hunt, fixes, and false positives.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel
vercel Bot commented Sep 5, 2026 •
Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
guillotine-mini-docs Error Error Sep 5, 2026 4:53pm UTC

Request Review

@roninjin10
roninjin10 merged commit 677c7d4 into main Sep 5, 2026
1 of 4 checks passed

This branch had an error being deployed

2 failed deployments
Production — 677c7d46 Deployed Sep 5, 2026 by vercel[bot]
Preview — 677c7d46 Deployed Sep 5, 2026 by vercel[bot]
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.

1 participant

0