cabal-version: 3.0 name: hevm version: 0.53.0 synopsis: Symbolic EVM Evaluator homepage: https://github.com/ethereum/hevm license: AGPL-3.0-only author: dxo, Martin Lundfall, Mikael Brockman maintainer: git@d-xo.org category: Ethereum build-type: Simple extra-source-files: CHANGELOG.md bench/contracts/*.sol test/scripts/convert_trace_to_json.sh flag ci description: Sets flags for compilation in CI default: False manual: True flag devel description: Sets flag for compilation during development default: False manual: True flag debug description: Sets flags for compilation with extensive debug symbols and eventlog default: False manual: True source-repository head type: git location: https://github.com/ethereum/hevm.git common shared if flag(ci) ghc-options: -Werror if flag(devel) ghc-options: -j if flag(debug) ghc-options: -j -g3 -fdistinct-constructor-tables -finfo-table-map -eventlog ghc-options: -Wall -Wno-unticked-promoted-constructors -Wno-orphans -Wno-ambiguous-fields -optc-Wno-ignored-attributes -fspecialize-aggressively -fexpose-all-unfoldings default-language: GHC2021 default-extensions: DuplicateRecordFields LambdaCase NoFieldSelectors OverloadedRecordDot OverloadedStrings OverloadedLabels RecordWildCards TypeFamilies ViewPatterns DataKinds library import: shared exposed-modules: EVM, EVM.ABI, EVM.Assembler, EVM.Concrete, EVM.Dapp, EVM.Expr, EVM.SMT, EVM.Solvers, EVM.Fuzz, EVM.Exec, EVM.Format, EVM.Fetch, EVM.FeeSchedule, EVM.Op, EVM.Precompiled, EVM.RLP, EVM.Solidity, EVM.Stepper, EVM.SymExec, EVM.Traversals, EVM.CSE, EVM.Keccak, EVM.Transaction, EVM.Types, EVM.UnitTest, EVM.Sign, EVM.Effects, other-modules: Paths_hevm autogen-modules: Paths_hevm if impl(ghc >= 9.4) && !os(darwin) -- darwin is skipped because it produces this error when building -- > ghc: loadArchive: Neither an archive, nor a fat archive: `/nix/store/l3lkdfm7sg1wwc850451cikqds766h15-clang-wrapper-11.1.0/bin/clang++' build-depends: system-cxx-std-lib elif !os(darwin) extra-libraries: stdc++ else -- extra-libraries: c++ -- https://gitlab.haskell.org/ghc/ghc/-/issues/11829 ld-options: -Wl,-keep_dwarf_unwind ghc-options: -fcompact-unwind extra-libraries: secp256k1, ff, gmp c-sources: ethjet/tinykeccak.c, ethjet/ethjet.c cxx-sources: ethjet/ethjet-ff.cc, ethjet/blake2.cc cxx-options: -std=c++0x install-includes: ethjet/tinykeccak.h, ethjet/ethjet.h, ethjet/ethjet-ff.h, ethjet/blake2.h build-depends: QuickCheck >= 2.13.2 && < 2.15, Decimal >= 0.5.1 && < 0.6, containers >= 0.6.0 && < 0.7, deepseq >= 1.4.4 && < 1.5, time >= 1.11 && < 1.14, transformers >= 0.5.6 && < 0.6, tree-view >= 0.5 && < 0.6, abstract-par >= 0.3.3 && < 0.4, aeson >= 2.0.0 && < 2.2, bytestring >= 0.11.3.1 && < 0.12, scientific >= 0.3.6 && < 0.4, binary >= 0.8.6 && < 0.9, text >= 1.2.3 && < 2.1, unordered-containers >= 0.2.10 && < 0.3, vector >= 0.12.1 && < 0.14, base16 >= 0.3.2.0 && < 0.3.3.0, megaparsec >= 9.0.0 && < 10.0, mtl >= 2.2.2 && < 2.3, directory >= 1.3.3 && < 1.4, filepath >= 1.4.2 && < 1.5, cereal >= 0.5.8 && < 0.6, cryptonite >= 0.30 && < 0.31, memory >= 0.16.0 && < 0.20, data-dword >= 0.3.1 && < 0.4, free >= 5.1.3 && < 5.2, haskeline >= 0.8.0 && < 0.9, process >= 1.6.5 && < 1.7, optics-core >= 0.4.1 && < 0.5, optics-extra >= 0.4.2.1 && < 0.5, optics-th >= 0.4.1 && < 0.5, aeson-optics >= 1.2.0.1 && < 1.3, monad-par >= 0.3.5 && < 0.4, async >= 2.2.4 && < 2.3, multiset >= 0.3.4 && < 0.4, operational >= 0.2.3 && < 0.3, optparse-generic >= 1.3.1 && < 1.5, pretty-hex >= 1.1 && < 1.2, quickcheck-text >= 0.1.2 && < 0.2, restless-git >= 0.7 && < 0.8, rosezipper >= 0.2 && < 0.3, temporary >= 1.3 && < 1.4, witherable >= 0.3.5 && < 0.5, wreq >= 0.5.3 && < 0.6, regex-tdfa >= 1.2.3 && < 1.4, base >= 4.9 && < 5, here >= 1.2.13 && < 1.3, smt2-parser >= 0.1.0.1, word-wrap >= 0.5 && < 0.6, spool >= 0.1 && < 0.2, stm >= 2.5.0 && < 2.6.0, spawn >= 0.3 && < 0.4, filepattern >= 0.1.2 && < 0.2, witch >= 1.1 && < 1.3, unliftio-core >= 0.2.1.0 if !os(windows) build-depends: brick >= 1.4 && < 2.0, vty >= 5.37 && < 5.39 hs-source-dirs: src executable hevm import: shared hs-source-dirs: cli main-is: cli.hs ghc-options: -threaded -with-rtsopts=-N other-modules: Paths_hevm if os(darwin) extra-libraries: c++ build-depends: QuickCheck, aeson, async, base, base16, binary, brick, bytestring, containers, cryptonite, data-dword, deepseq, directory, filepath, free, hevm, memory, mtl, optparse-generic, operational, process, quickcheck-text, regex-tdfa, temporary, text, unordered-containers, vector, vty, stm, spawn, optics-core, githash >= 0.1.6 && < 0.2, witch, unliftio-core if os(windows) buildable: False --- Test Helpers --- common test-base import: shared hs-source-dirs: test other-modules: Paths_hevm autogen-modules: Paths_hevm build-depends: HUnit >= 1.6, QuickCheck, quickcheck-instances, aeson, base, base16, binary, containers, directory, bytestring, filemanip, filepath, here, hevm, mtl, data-dword, process, tasty >= 1.0, tasty-hunit >= 0.10, tasty-quickcheck >= 0.9, tasty-expected-failure >= 0.12, temporary, text, regex-tdfa, regex, time, array, vector, tasty-bench, stm >= 2.5.0, spawn >= 0.3, witherable, smt2-parser >= 0.1.0.1, operational, optics-core, optics-extra, witch, unliftio-core, exceptions, MissingH library test-utils import: test-base exposed-modules: EVM.Test.Utils EVM.Test.Tracing EVM.Test.BlockchainTests if os(windows) buildable: False common test-common import: test-base if flag(devel) ghc-options: -threaded -with-rtsopts=-N build-depends: test-utils other-modules: EVM.Test.Utils EVM.Test.Tracing EVM.Test.BlockchainTests if os(windows) buildable: False if os(darwin) extra-libraries: c++ --- Test Suites --- test-suite test import: test-common type: exitcode-stdio-1.0 main-is: test.hs -- these tests require network access so we split them into a separate test -- suite to make it easy to skip them when running nix-build test-suite rpc-tests import: test-common type: exitcode-stdio-1.0 main-is: rpc.hs test-suite ethereum-tests import: test-common type: exitcode-stdio-1.0 main-is: BlockchainTests.hs --- Benchmarks --- benchmark bench import: shared type: exitcode-stdio-1.0 main-is: bench.hs hs-source-dirs: bench ghc-options: -O2 if os(darwin) extra-libraries: c++ other-modules: Paths_hevm autogen-modules: Paths_hevm build-depends: base, tasty-bench, tasty, bytestring, text, hevm, here, test-utils, filemanip, filepath, containers, mtl, unliftio-core