Skip to content

Commit

Permalink
Merge pull request #268 from ethereum/propogate-constraints
Browse files Browse the repository at this point in the history
SymExec: propogate constraints from vm to output expression
  • Loading branch information
d-xo authored Jun 1, 2023
2 parents 7ba1d97 + 7aed063 commit 886c11f
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Fixed

- hevm now gracefully handles missing `out` directories
- Constraints are correctly propogated to the final output expression during symbolic execution

## Changed

Expand Down
2 changes: 1 addition & 1 deletion src/EVM/SymExec.hs
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@ verifyContract solvers theCode signature' concreteArgs opts initStore maybepre m
runExpr :: Stepper.Stepper (Expr End)
runExpr = do
vm <- Stepper.runFully
let asserts = vm.keccakEqs
let asserts = vm.keccakEqs <> vm.constraints
pure $ case vm.result of
Just (VMSuccess buf) -> Success asserts buf vm.env.storage
Just (VMFailure e) -> Failure asserts e
Expand Down

0 comments on commit 886c11f

Please sign in to comment.