diff --git a/flake.nix b/flake.nix index 9225a5dfc..ad7b31dd8 100644 --- a/flake.nix +++ b/flake.nix @@ -52,8 +52,8 @@ hevm = pkgs: pkgs.lib.pipe ((hsPkgs pkgs).callCabal2nix "hevm" (pkgs.fetchFromGitHub { owner = "ethereum"; repo = "hevm"; - rev = "f1f45d3c0d9767a38df04f398d1eab8b66dbe7fc"; - sha256 = "sha256-3zEUwcZm4uZZLecvFTgVTV5CAm4qMfKPbLdwO88LnrY="; + rev = "dbb014ff7eb84dcfbdd6c278050d59dfe39ef5d0"; + sha256 = "sha256-d4dKtJoOHpLdwyqBnGI0cHqthP8LCc/HWaguYCefXcQ="; }) { secp256k1 = pkgs.secp256k1; }) ([ pkgs.haskell.lib.compose.dontCheck diff --git a/lib/Echidna/SymExec.hs b/lib/Echidna/SymExec.hs index 9aa5b6bc7..55444f26e 100644 --- a/lib/Echidna/SymExec.hs +++ b/lib/Echidna/SymExec.hs @@ -77,7 +77,7 @@ exploreContract conf contract tx vm = do doneChan <- newEmptyMVar resultChan <- newEmptyMVar - flip runReaderT defaultEnv $ withSolvers Z3 (fromIntegral conf.campaignConf.symExecNSolvers) timeout $ \solvers -> do + flip runReaderT defaultEnv $ withSolvers Z3 (fromIntegral conf.campaignConf.symExecNSolvers) 1 timeout $ \solvers -> do threadId <- liftIO $ forkIO $ flip runReaderT defaultEnv $ do res <- forM methods $ \method -> do let @@ -108,7 +108,7 @@ exploreContract conf contract tx vm = do pure (threadId, resultChan) -- | Turn the expression returned by `interpret` into into SMT2 values to feed into the solver -manipulateExprInter :: Bool -> Expr End -> [SMT2] +manipulateExprInter :: Bool -> Expr End -> [Either String SMT2] manipulateExprInter isConc = map (assertProps defaultConfig) . middleStep . map (extractProps . simplify) . flattenExpr . simplify where middleStep = if isConc then middleStepConc else id middleStepConc = map singleton . concatMap (go (PBool True)) diff --git a/lib/Echidna/Types/Tx.hs b/lib/Echidna/Types/Tx.hs index ea844eec0..7ff01d192 100644 --- a/lib/Echidna/Types/Tx.hs +++ b/lib/Echidna/Types/Tx.hs @@ -234,7 +234,7 @@ getResult = \case VMFailure BadJumpDestination -> ErrorBadJumpDestination VMFailure (Revert _) -> ErrorRevert VMFailure (OutOfGas _ _) -> ErrorOutOfGas - VMFailure (BadCheatCode _) -> ErrorBadCheatCode + VMFailure (BadCheatCode _ _) -> ErrorBadCheatCode VMFailure StackLimitExceeded -> ErrorStackLimitExceeded VMFailure IllegalOverflow -> ErrorIllegalOverflow VMFailure StateChangeWhileStatic -> ErrorStateChangeWhileStatic diff --git a/stack.yaml b/stack.yaml index 12c0d0699..02c5ec9a4 100644 --- a/stack.yaml +++ b/stack.yaml @@ -5,7 +5,7 @@ packages: extra-deps: - git: https://github.com/ethereum/hevm.git - commit: f1f45d3c0d9767a38df04f398d1eab8b66dbe7fc + commit: dbb014ff7eb84dcfbdd6c278050d59dfe39ef5d0 - smt2-parser-0.1.0.1@sha256:1e1a4565915ed851c13d1e6b8bb5185cf5d454da3b43170825d53e221f753d77,1421 - spawn-0.3@sha256:b91e01d8f2b076841410ae284b32046f91471943dc799c1af77d666c72101f02,1162