Skip to content

fix: model SHA-256 precompile input widths in bits - #591

Open
DicksonWu654 wants to merge 1 commit into
a16z:mainfrom
DicksonWu654:fix/sha256-precompile-input-width
Open

fix: model SHA-256 precompile input widths in bits#591
DicksonWu654 wants to merge 1 commit into
a16z:mainfrom
DicksonWu654:fix/sha256-precompile-input-width

Conversation

@DicksonWu654

Copy link
Copy Markdown

Summary

  • size the SHA-256 uninterpreted-function input sort in bits instead of bytes
  • model empty SHA-256 input with a stable 256-bit symbolic constant
  • add concrete, symbolic repeat-consistency, and invariant regression coverage

The previous byte-sized sort does not match the bit width of non-empty EVM input data. Empty input also requires a separate representation because Z3 does not support zero-width bitvectors.

Validation

  • git diff --check
  • two independent static reviews using the normal Codex load balancer

Tests and project code were not run because this contribution was prepared under a static-review-only constraint.

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