lfglabs-dev / lfglabs-dev/verity
proof(L2): Tier 3 — effects & observables (ABI encoding correctness; emit, typed reverts, returns)
Nobody has claimed this yet.
- Dominant language
- Lean
- Stars
- 148
- Forks
- 20
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 29
Description
Child of #1723 (Tier 3). Requires the ABI lemma groundwork; overlaps the codec work tracked in #1982.
Goal
Eliminate stmtTouchesUnsupportedEffectSurface: emit, rawLog, requireError, revertError, returnValues, returnArray, returnBytes, returnStorageWords.
Strategy
Build an ABI encoding correctness library first:
- Scalar ABI encoding (uint256, address, bool, bytes32)
- Dynamic offset/length encoding for bytes/arrays
- Compose with
mstorecorrectness → memory layout matches ABI spec - Thread through LOG opcodes (topics = indexed args, data = non-indexed encoding) and typed reverts
Done when
-
stmtTouchesUnsupportedEffectSurfaceremoved/always-false - 0
sorry,make checkgreen, no differential-test regressions
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the parent issue #1723 and the overlapping codec work in #1982, then locate stmtTouchesUnsupportedEffectSurface. Trace the ABI and mstore proof requirements before attempting the listed effects. Done means that predicate is removed or always false, make check passes, there are 0 sorry instances, and differential tests show no regressions.
Written by the indexing model from the issue text.
Assessment
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100