From 6cabaded4ac05466c3837dfb9c359a32928d8b25 Mon Sep 17 00:00:00 2001 From: Artur Cygan Date: Wed, 7 Sep 2022 16:41:48 +0200 Subject: echidna: 1.7.3 -> 2.0.2 --- .../haskell-modules/patches/hevm-update-deps.patch | 129 +++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 pkgs/development/haskell-modules/patches/hevm-update-deps.patch (limited to 'pkgs/development/haskell-modules/patches') diff --git a/pkgs/development/haskell-modules/patches/hevm-update-deps.patch b/pkgs/development/haskell-modules/patches/hevm-update-deps.patch new file mode 100644 index 0000000000000..e4a37fc0f4c2d --- /dev/null +++ b/pkgs/development/haskell-modules/patches/hevm-update-deps.patch @@ -0,0 +1,129 @@ +diff --git a/hevm.cabal b/hevm.cabal +index cf36961e..3b31f595 100644 +--- a/hevm.cabal ++++ b/hevm.cabal +@@ -71,6 +71,10 @@ library + -Wall -Wno-deprecations + extra-libraries: + secp256k1, ff ++ if os(darwin) ++ extra-libraries: c++ ++ else ++ extra-libraries: stdc++ + c-sources: + ethjet/tinykeccak.c, ethjet/ethjet.c + cxx-sources: +@@ -88,7 +92,7 @@ library + transformers >= 0.5.6 && < 0.6, + tree-view >= 0.5 && < 0.6, + abstract-par >= 0.3.3 && < 0.4, +- aeson >= 1.5.6 && < 1.6, ++ aeson >= 2.0 && < 2.1, + bytestring >= 0.10.8 && < 0.11, + scientific >= 0.3.6 && < 0.4, + binary >= 0.8.6 && < 0.9, +@@ -97,7 +101,7 @@ library + vector >= 0.12.1 && < 0.13, + ansi-wl-pprint >= 0.6.9 && < 0.7, + base16-bytestring >= 1.0.0 && < 2.0, +- brick >= 0.58 && < 0.63, ++ brick >= 0.58 && < 0.69, + megaparsec >= 9.0.0 && < 10.0, + mtl >= 2.2.2 && < 2.3, + directory >= 1.3.3 && < 1.4, +@@ -105,13 +109,13 @@ library + vty >= 5.25.1 && < 5.34, + cereal >= 0.5.8 && < 0.6, + cryptonite >= 0.27 && <= 0.29, +- memory >= 0.14.18 && < 0.16, ++ memory >= 0.14.18 && < 0.20, + data-dword >= 0.3.1 && < 0.4, + fgl >= 5.7.0 && < 5.8, + free >= 5.1.3 && < 5.2, + haskeline >= 0.8.0 && < 0.9, + process >= 1.6.5 && < 1.7, +- lens >= 4.17.1 && < 4.20, ++ lens >= 4.17.1 && < 5.1, + lens-aeson >= 1.0.2 && < 1.2, + monad-par >= 0.3.5 && < 0.4, + multiset >= 0.3.4 && < 0.4, +@@ -124,7 +128,6 @@ library + sbv >= 8.9, + semver-range >= 0.2.7 && < 0.3, + temporary >= 1.3 && < 1.4, +- text-format >= 0.3.2 && < 0.4, + witherable >= 0.3.5 && < 0.5, + wreq >= 0.5.3 && < 0.6, + regex-tdfa >= 1.2.3 && < 1.4, +@@ -190,7 +193,6 @@ executable hevm + sbv, + temporary, + text, +- text-format, + unordered-containers, + vector, + vty +diff --git a/src/EVM/Solidity.hs b/src/EVM/Solidity.hs +index b7d0f36b..4e9d6892 100644 +--- a/src/EVM/Solidity.hs ++++ b/src/EVM/Solidity.hs +@@ -70,6 +70,7 @@ import Control.Monad + import Control.Lens hiding (Indexed, (.=)) + import qualified Data.String.Here as Here + import Data.Aeson hiding (json) ++import qualified Data.Aeson.KeyMap as KeyMap + import Data.Aeson.Types + import Data.Aeson.Lens + import Data.Scientific +@@ -714,8 +715,8 @@ astIdMap = foldMap f + f :: Value -> Map Int Value + f (Array x) = foldMap f x + f v@(Object x) = +- let t = foldMap f (HMap.elems x) +- in case HMap.lookup "id" x of ++ let t = foldMap f (KeyMap.elems x) ++ in case KeyMap.lookup "id" x of + Nothing -> t + Just (Number i) -> t <> Map.singleton (round i) v + Just _ -> t +diff --git a/src/EVM/SymExec.hs b/src/EVM/SymExec.hs +index 5bbf1c03..b828098e 100644 +--- a/src/EVM/SymExec.hs ++++ b/src/EVM/SymExec.hs +@@ -40,8 +40,8 @@ type EquivalenceResult = ProofResult ([VM], [VM]) VM () + + -- | Convenience functions for generating large symbolic byte strings + sbytes32, sbytes128, sbytes256, sbytes512, sbytes1024 :: Query ([SWord 8]) +-sbytes32 = toBytes <$> freshVar_ @ (WordN 256) +-sbytes128 = toBytes <$> freshVar_ @ (WordN 1024) ++sbytes32 = toBytes <$> freshVar_ @(WordN 256) ++sbytes128 = toBytes <$> freshVar_ @(WordN 1024) + sbytes256 = liftA2 (++) sbytes128 sbytes128 + sbytes512 = liftA2 (++) sbytes256 sbytes256 + sbytes1024 = liftA2 (++) sbytes512 sbytes512 +diff --git a/src/EVM/Types.hs b/src/EVM/Types.hs +index fdd2368d..1dc29e83 100644 +--- a/src/EVM/Types.hs ++++ b/src/EVM/Types.hs +@@ -434,17 +434,17 @@ readN s = fromIntegral (read s :: Integer) + readNull :: Read a => a -> String -> a + readNull x = fromMaybe x . Text.Read.readMaybe + +-wordField :: JSON.Object -> Text -> JSON.Parser W256 ++wordField :: JSON.Object -> Key -> JSON.Parser W256 + wordField x f = ((readNull 0) . Text.unpack) + <$> (x .: f) + +-addrField :: JSON.Object -> Text -> JSON.Parser Addr ++addrField :: JSON.Object -> Key -> JSON.Parser Addr + addrField x f = (read . Text.unpack) <$> (x .: f) + +-addrFieldMaybe :: JSON.Object -> Text -> JSON.Parser (Maybe Addr) ++addrFieldMaybe :: JSON.Object -> Key -> JSON.Parser (Maybe Addr) + addrFieldMaybe x f = (Text.Read.readMaybe . Text.unpack) <$> (x .: f) + +-dataField :: JSON.Object -> Text -> JSON.Parser ByteString ++dataField :: JSON.Object -> Key -> JSON.Parser ByteString + dataField x f = hexText <$> (x .: f) + + toWord512 :: W256 -> Word512 -- cgit 1.4.1