File tree 4 files changed +8
-6
lines changed
4 files changed +8
-6
lines changed Original file line number Diff line number Diff line change 52
52
hevm = pkgs : pkgs . lib . pipe ( ( hsPkgs pkgs ) . callCabal2nix "hevm" ( pkgs . fetchFromGitHub {
53
53
owner = "ethereum" ;
54
54
repo = "hevm" ;
55
- rev = "f1f45d3c0d9767a38df04f398d1eab8b66dbe7fc " ;
56
- sha256 = "sha256-3zEUwcZm4uZZLecvFTgVTV5CAm4qMfKPbLdwO88LnrY =" ;
55
+ rev = "443c9040f6a8bde7d8b2cfafd99c0cb7dd7d049f " ;
56
+ sha256 = "sha256-IC/q+2SJoyDansmbTHXfkKFfnhmMy97G13aTPNOkR30 =" ;
57
57
} ) { secp256k1 = pkgs . secp256k1 ; } )
58
58
( [
59
59
pkgs . haskell . lib . compose . dontCheck
Original file line number Diff line number Diff line change @@ -77,7 +77,7 @@ exploreContract conf contract tx vm = do
77
77
doneChan <- newEmptyMVar
78
78
resultChan <- newEmptyMVar
79
79
80
- flip runReaderT defaultEnv $ withSolvers Z3 (fromIntegral conf. campaignConf. symExecNSolvers) timeout $ \ solvers -> do
80
+ flip runReaderT defaultEnv $ withSolvers Z3 (fromIntegral conf. campaignConf. symExecNSolvers) 1 timeout $ \ solvers -> do
81
81
threadId <- liftIO $ forkIO $ flip runReaderT defaultEnv $ do
82
82
res <- forM methods $ \ method -> do
83
83
let
@@ -108,7 +108,7 @@ exploreContract conf contract tx vm = do
108
108
pure (threadId, resultChan)
109
109
110
110
-- | Turn the expression returned by `interpret` into into SMT2 values to feed into the solver
111
- manipulateExprInter :: Bool -> Expr End -> [SMT2 ]
111
+ manipulateExprInter :: Bool -> Expr End -> [Either String SMT2 ]
112
112
manipulateExprInter isConc = map (assertProps defaultConfig) . middleStep . map (extractProps . simplify) . flattenExpr . simplify where
113
113
middleStep = if isConc then middleStepConc else id
114
114
middleStepConc = map singleton . concatMap (go (PBool True ))
@@ -155,6 +155,8 @@ frameStateMakeSymbolic fs
155
155
, gas = ()
156
156
, returndata = fs. returndata
157
157
, static = fs. static
158
+ , overrideCaller = fs. overrideCaller
159
+ , resetCaller = fs. resetCaller
158
160
}
159
161
160
162
frameMakeSymbolic :: Frame Concrete s -> Frame Symbolic s
Original file line number Diff line number Diff line change @@ -234,7 +234,7 @@ getResult = \case
234
234
VMFailure BadJumpDestination -> ErrorBadJumpDestination
235
235
VMFailure (Revert _) -> ErrorRevert
236
236
VMFailure (OutOfGas _ _) -> ErrorOutOfGas
237
- VMFailure (BadCheatCode _) -> ErrorBadCheatCode
237
+ VMFailure (BadCheatCode _ _) -> ErrorBadCheatCode
238
238
VMFailure StackLimitExceeded -> ErrorStackLimitExceeded
239
239
VMFailure IllegalOverflow -> ErrorIllegalOverflow
240
240
VMFailure StateChangeWhileStatic -> ErrorStateChangeWhileStatic
Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ packages:
5
5
6
6
extra-deps :
7
7
- git : https://github.com/ethereum/hevm.git
8
- commit : f1f45d3c0d9767a38df04f398d1eab8b66dbe7fc
8
+ commit : 443c9040f6a8bde7d8b2cfafd99c0cb7dd7d049f
9
9
10
10
- smt2-parser-0.1.0.1@sha256:1e1a4565915ed851c13d1e6b8bb5185cf5d454da3b43170825d53e221f753d77,1421
11
11
- spawn-0.3@sha256:b91e01d8f2b076841410ae284b32046f91471943dc799c1af77d666c72101f02,1162
You can’t perform that action at this time.
0 commit comments