Skip to content

feat(model): derive CREATE2 execution from parent gas and byte memory - #2504

Draft
Th0rgal wants to merge 2 commits into
feat/solidity-import-yul-bytes-header-linuxfrom
feat/solidity-import-create2-parent-gas-linux
Draft

Th0rgal wants to merge 2 commits into
feat/solidity-import-yul-bytes-header-linuxfrom
feat/solidity-import-create2-parent-gas-linux

Conversation

@Th0rgal

@Th0rgal Th0rgal commented Oct 12, 2026

Copy link
Copy Markdown
Member

CREATE2 deployment calibration previously supplied initcode bytes and the child gas allowance to Lean. This change derives both from actual parent byte memory and gas, charges Osaka memory/initcode costs, executes the account transition, refunds unused child gas and zero-extends expanded memory.

This draft is stacked on the immutable bytes-header branch. CREATE2 still rejects in solidity_import: canonical Stmt/compiler integration, complete frame gas tracking and the source storage/memory relations remain required. No golden model or pilot provenance changed.

Focused validation: 22 actual EVM/Lean opcode-world observations, 23 public kernel audits using only standard axioms, four executable mutants detected with one-call replay witnesses, generator and trust-report checks. Failed build/mutation receipts were preserved; a divisor mutant blocked by an arithmetic theorem was replaced with an executable forwarding-expression mutation. Source-identical successes were retained across the test-only follow-up commit.

Full exact-head make check, Contracts, mutations, smoke/loss/programs/stateful and pinned pilot gates remain pending. This is not ready to merge. Main currently requires linear history, conflicting with the required merge-commit policy.

This branch has not been deployed

No deployments
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