From f0623eb9353d8a76641e3411f3903b6da2d3af55 Mon Sep 17 00:00:00 2001 From: Lars Kuhtz Date: Fri, 28 Jul 2023 07:45:07 -0700 Subject: [PATCH] mtl-2.3 --- cabal.project | 27 +- cabal.project.freeze | 408 -------------------- chainweb.cabal | 8 +- src/Chainweb/BlockHeader/Validation.hs | 1 + src/Chainweb/Chainweb.hs | 1 - src/Chainweb/CutDB/RestAPI/Server.hs | 1 + src/Chainweb/Pact/Backend/DbCache.hs | 1 + src/Chainweb/Pact/RestAPI/Server.hs | 1 + test/Chainweb/Test/Pact/Checkpointer.hs | 1 + test/Chainweb/Test/Pact/DbCacheTest.hs | 1 + test/Chainweb/Test/Pact/PactReplay.hs | 1 + tools/db-checksum/CheckpointerDBChecksum.hs | 1 + tools/header-dump/HeaderDump.hs | 1 + tools/txstream/TxStream.hs | 1 + 14 files changed, 26 insertions(+), 428 deletions(-) delete mode 100644 cabal.project.freeze diff --git a/cabal.project b/cabal.project index 6a0301ba80..68090499e3 100644 --- a/cabal.project +++ b/cabal.project @@ -59,7 +59,7 @@ package yet-another-logger source-repository-package type: git location: https://github.com/kadena-io/pact.git - tag: 7f79433de962fe4b55dfa3f7e1baf9fc3ed703a9 + tag: f086fdbc1c29f6f231f17a16dc86ff1c8160eff8 --sha256: sha256-OHrldtQTIUtLEzYPh7SYpMFToYO1z5WTrHTKPVwKyMw= source-repository-package @@ -94,8 +94,8 @@ source-repository-package source-repository-package type: git - location: https://github.com/kadena-io/wai-middleware-validation.git - tag: f783ba7fc52e161b245d82acadffc4517bc8cdf5 + location: https://github.com/hackage-package-forks/wai-middleware-validation.git + tag: 34494a8ce82b6b2ed7621a6d2d8e9767f4d1bc11 --sha256: 182yffj2rbv2asmq589r16mb45q9d0gvdhsxvsnmjyw89dcpyadn source-repository-package @@ -113,13 +113,6 @@ source-repository-package tag: d8019c3404d6f3b3c0b0416e9899cfdf614ef425 --sha256: 09msayidg23rsdz97fcfqqalm4pbawx3c1qihgab8hnlmjxby103 --- Inherited from pact: -source-repository-package - type: git - location: https://github.com/hackage-package-forks/trifecta - tag: f991ffb74a1a1ab86f14e751d7c4f4ba549785b3 - --sha256: 0flnwyjm40zcssq5xfn9h5p24f07npgapr6cx1ni43vx0sbjkqlv - -- Patch merged into master (upcoming version 10.0). We are currently using 9.2 source-repository-package type: git @@ -148,10 +141,17 @@ allow-newer: servant:* -- these are more liberal than necessary, but since everything works fine -- with this there's no reason to constrain it more than necessary. +-- These packages are tightly bound to the GHC version and these +-- settings ensure that we use the versions that are shipped with the +-- GHC version that we are using. allow-newer: *:base allow-newer: *:tempalte-haskell allow-newer: *:ghc-prim +-- Pact uses a vendored version of trifecta that has outdated +-- upper bounds +allow-newer: trifecta:* + -- wai-middleware-validation dependencies allow-newer: wai-middleware-validation:* @@ -167,7 +167,6 @@ allow-newer: base-compat-batteries:* -- required by pact -- these upper bounds are required in order to not break payload validation constraints: base16-bytestring <1 -constraints: prettyprinter <1.6.1 constraints: base64-bytestring <1.1 -- we have to add these because the old versions that we use would prevent @@ -175,7 +174,5 @@ constraints: base64-bytestring <1.1 allow-newer: base64-bytestring:* allow-newer: base16-bytestring:* --- other pact induced bounds (not relevant for on-chain semantics) --- constraints: megaparsec <9.3 -allow-newer: prettyprinter:* - +-- servant does not yet support aeson 2.2 +constraints: aeson <2.2 diff --git a/cabal.project.freeze b/cabal.project.freeze deleted file mode 100644 index 7740477ee6..0000000000 --- a/cabal.project.freeze +++ /dev/null @@ -1,408 +0,0 @@ -active-repositories: hackage.haskell.org:merge -constraints: any.Boolean ==0.2.4, - any.Cabal ==3.10.1.0, - any.Cabal-syntax ==3.10.1.0, - any.Decimal ==0.5.2, - any.Glob ==0.10.2, - any.HUnit ==1.6.2.0, - any.MemoTrie ==0.6.11, - MemoTrie -examples, - any.NumInstances ==1.4, - any.OneTuple ==0.4.1.1, - any.Only ==0.1, - any.QuickCheck ==2.14.3, - QuickCheck -old-random +templatehaskell, - any.StateVar ==1.2.2, - any.adjunctions ==4.4.2, - any.aeson ==2.1.2.1, - aeson -cffi +ordered-keymap, - any.aeson-pretty ==0.8.10, - aeson-pretty -lib-only, - any.ansi-terminal ==0.11.5, - ansi-terminal -example +win32-2-13-1, - any.ansi-terminal-types ==0.11.5, - any.ansi-wl-pprint ==0.6.9, - ansi-wl-pprint -example, - any.ap-normalize ==0.1.0.1, - ap-normalize -test-with-clang, - any.appar ==0.1.8, - any.array ==0.5.5.0, - any.asn1-encoding ==0.9.6, - any.asn1-parse ==0.9.5, - any.asn1-types ==0.3.4, - any.assoc ==1.1, - assoc +tagged, - any.async ==2.2.4, - async -bench, - any.atomic-primops ==0.8.4, - atomic-primops -debug, - any.attoparsec ==0.14.4, - attoparsec -developer, - any.attoparsec-aeson ==2.1.0.0, - any.auto-update ==0.1.6, - any.base ==4.18.0.0, - any.base-compat ==0.13.0, - any.base-compat-batteries ==0.13.0, - any.base-orphans ==0.9.0, - any.base-unicode-symbols ==0.2.4.2, - base-unicode-symbols +base-4-8 -old-base, - any.base16-bytestring ==0.1.1.7, - any.base64-bytestring ==1.0.0.3, - any.basement ==0.0.16, - any.bifunctors ==5.6.1, - bifunctors +tagged, - any.binary ==0.8.9.1, - any.binary-orphans ==1.0.4.1, - any.bitvec ==1.1.4.0, - bitvec -libgmp, - any.blaze-builder ==0.4.2.2, - any.blaze-html ==0.9.1.2, - any.blaze-markup ==0.8.2.8, - any.boring ==0.2.1, - boring +tagged, - any.bound ==2.0.6, - bound +template-haskell, - any.bsb-http-chunked ==0.0.0.4, - any.byteorder ==1.0.4, - any.bytes ==0.17.2, - any.bytestring ==0.11.4.0, - any.bytestring-builder ==0.10.8.2.0, - bytestring-builder +bytestring_has_builder, - any.cabal-doctest ==1.0.9, - any.cache ==0.1.3.0, - any.call-stack ==0.4.0, - any.case-insensitive ==1.2.1.0, - any.cassava ==0.5.3.0, - cassava -bytestring--lt-0_10_4, - any.cereal ==0.5.8.3, - cereal -bytestring-builder, - chainweb -debug -ed25519 -ghc-flags, - any.chainweb-storage ==0.1.0.0, - any.charset ==0.3.9, - any.clock ==0.8.4, - clock -llvm, - any.cmdargs ==0.10.22, - cmdargs +quotation -testprog, - any.code-page ==0.2.1, - any.colour ==2.3.6, - any.comonad ==5.0.8, - comonad +containers +distributive +indexed-traversable, - any.conduit ==1.3.5, - any.configuration-tools ==0.6.1, - configuration-tools -remote-configs, - any.constraints ==0.13.4, - any.containers ==0.6.7, - any.contiguous ==0.6.4.0, - any.contravariant ==1.5.5, - contravariant +semigroups +statevar +tagged, - any.cookie ==0.4.6, - any.criterion ==1.6.1.0, - criterion -embed-data-files -fast, - any.criterion-measurement ==0.2.1.0, - criterion-measurement -fast, - any.cryptohash-md5 ==0.11.101.0, - any.cryptohash-sha1 ==0.11.101.0, - any.crypton ==0.33, - crypton -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq +support_pclmuldq +support_rdrand -support_sse +use_target_attributes, - any.crypton-connection ==0.3.1, - any.crypton-x509 ==1.7.6, - any.crypton-x509-store ==1.6.9, - any.crypton-x509-system ==1.6.7, - any.crypton-x509-validation ==1.6.12, - any.cryptonite ==0.30, - cryptonite -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq -support_pclmuldq +support_rdrand -support_sse +use_target_attributes, - any.cuckoo ==0.3.1, - cuckoo -mwc-random -pcg-random, - any.data-bword ==0.1.0.2, - any.data-default ==0.7.1.1, - any.data-default-class ==0.1.2.0, - any.data-default-instances-containers ==0.0.1, - any.data-default-instances-dlist ==0.0.1, - any.data-default-instances-old-locale ==0.0.1, - any.data-dword ==0.3.2.1, - any.data-fix ==0.3.2, - any.data-ordlist ==0.4.7.0, - any.dec ==0.0.5, - any.deepseq ==1.4.8.1, - any.dense-linear-algebra ==0.1.0.0, - any.deriving-compat ==0.6.3, - deriving-compat +base-4-9 +new-functor-classes +template-haskell-2-11, - any.digraph ==0.3.0, - any.direct-sqlite ==2.3.28, - direct-sqlite +fulltextsearch +haveusleep +json1 -systemlib +urifilenames, - any.directory ==1.3.8.1, - any.distributive ==0.6.2.1, - distributive +semigroups +tagged, - any.dlist ==1.0, - dlist -werror, - any.dyna ==0.1, - any.easy-file ==0.2.5, - any.enclosed-exceptions ==1.0.3, - any.entropy ==0.4.1.10, - entropy -donotgetentropy, - any.errors ==2.3.0, - any.ethereum ==0.1.0.1, - ethereum -openssl-use-pkg-config, - any.exceptions ==0.10.7, - exceptions +transformers-0-4, - any.fast-logger ==3.2.2, - any.file-embed ==0.0.15.0, - any.filepath ==1.4.100.4, - filepath -cpphs, - any.fingertree ==0.1.5.0, - any.finite-typelits ==0.1.6.0, - any.free ==5.2, - any.generic-data ==1.1.0.0, - generic-data -enable-inspect, - any.generically ==0.1.1, - any.ghc-bignum ==1.3, - any.ghc-boot-th ==9.6.2, - any.ghc-compact ==0.1.0.0, - any.ghc-heap ==9.6.2, - any.ghc-prim ==0.10.0, - any.groups ==0.5.3, - any.happy ==1.20.1.1, - any.hashable ==1.4.2.0, - hashable +integer-gmp -random-initial-seed, - any.hashes ==0.2.3, - hashes -benchmark-cryptonite -openssl-use-pkg-config -test-cryptonite +with-openssl, - any.haskell-lexer ==1.1.1, - any.heaps ==0.4, - any.hourglass ==0.2.12, - any.hsc2hs ==0.68.9, - hsc2hs -in-ghc-tree, - any.http-api-data ==0.6, - http-api-data -use-text-show, - any.http-client ==0.7.13.1, - http-client +network-uri, - any.http-client-tls ==0.3.6.2, - any.http-date ==0.0.11, - any.http-media ==0.8.0.0, - any.http-types ==0.12.3, - any.http2 ==4.1.4, - http2 -devel -h2spec, - any.indexed-list-literals ==0.2.1.3, - any.indexed-traversable ==0.1.2.1, - any.indexed-traversable-instances ==0.1.1.2, - any.integer-conversion ==0.1, - any.integer-gmp ==1.1, - any.integer-logarithms ==1.0.3.1, - integer-logarithms -check-bounds +integer-gmp, - any.invariant ==0.6.1, - any.iproute ==1.7.12, - any.ixset-typed ==0.5, - any.js-chart ==2.9.4.1, - any.kan-extensions ==5.2.5, - any.lens ==5.2.2, - lens -benchmark-uniplate -dump-splices +inlining -j +test-hunit +test-properties +test-templates +trustworthy, - any.lens-aeson ==1.2.3, - any.libBF ==0.6.6, - libBF -system-libbf, - any.libyaml ==0.1.2, - libyaml -no-unicode -system-libyaml, - any.lifted-base ==0.2.3.12, - any.loglevel ==0.1.0.0, - any.managed ==1.0.10, - any.massiv ==1.0.4.0, - massiv -unsafe-checks, - any.math-functions ==0.3.4.2, - math-functions +system-erf +system-expm1, - any.megaparsec ==9.4.1, - megaparsec -dev, - any.memory ==0.18.0, - memory +support_bytestring +support_deepseq, - any.merkle-log ==0.2.0, - any.microlens ==0.4.13.1, - any.microstache ==1.0.2.3, - any.mime-types ==0.1.1.0, - any.mmorph ==1.2.0, - any.mod ==0.2.0.1, - mod +semirings +vector, - any.monad-control ==1.0.3.1, - any.mono-traversable ==1.0.15.3, - any.mtl ==2.2.2, - any.mtl-compat ==0.2.2, - mtl-compat -two-point-one -two-point-two, - any.mwc-probability ==2.3.1, - any.mwc-random ==0.15.0.2, - any.network ==3.1.4.0, - network -devel, - any.network-byte-order ==0.1.6, - any.network-info ==0.2.1, - any.network-uri ==2.6.4.2, - any.newtype-generics ==0.6.2, - any.nothunks ==0.1.4, - nothunks +bytestring +text +vector, - any.old-locale ==1.0.0.7, - any.old-time ==1.1.0.3, - any.optparse-applicative ==0.17.1.0, - optparse-applicative +process, - any.pact ==4.7.1, - pact -build-tool +cryptonite-ed25519 -tests-in-lib +with-integer-gmp, - any.pact-json ==0.1.0.0, - any.pact-time ==0.2.0.2, - pact-time -with-time, - any.parallel ==3.2.2.0, - any.parsec ==3.1.16.1, - any.parser-combinators ==1.3.0, - parser-combinators -dev, - any.parsers ==0.12.11, - parsers +attoparsec +binary +parsec, - any.pem ==0.2.4, - any.poly ==0.5.1.0, - poly +sparse, - any.pretty ==1.1.3.6, - any.pretty-show ==1.10, - any.prettyprinter ==1.6.0, - prettyprinter -buildreadme, - any.prettyprinter-ansi-terminal ==1.1.2, - any.primitive ==0.8.0.0, - any.primitive-unlifted ==2.1.0.0, - any.process ==1.6.17.0, - any.profunctors ==5.6.2, - any.psqueues ==0.2.7.3, - any.pvar ==1.0.0.0, - any.quickcheck-instances ==0.3.29.1, - quickcheck-instances -bytestring-builder, - any.random ==1.2.1.1, - any.recv ==0.1.0, - any.reducers ==3.12.4, - any.reflection ==2.1.7, - reflection -slow +template-haskell, - any.regex-base ==0.94.0.2, - any.regex-tdfa ==1.3.2.1, - regex-tdfa -force-o2, - any.resource-pool ==0.4.0.0, - any.resourcet ==1.3.0, - any.retry ==0.9.3.1, - retry -lib-werror, - any.rocksdb-haskell-kadena ==1.1.0, - rocksdb-haskell-kadena -with-tbb, - any.rosetta ==1.0.1, - any.rts ==1.0.2, - any.run-st ==0.1.3.2, - any.safe ==0.3.19, - any.safe-exceptions ==0.1.7.4, - any.safecopy ==0.10.4.2, - any.sbv ==9.2, - any.scheduler ==2.0.0.1, - any.scientific ==0.3.7.0, - scientific -bytestring-builder -integer-simple, - any.semialign ==1.3, - semialign +semigroupoids, - any.semigroupoids ==5.3.7, - semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers, - any.semigroups ==0.20, - semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers, - any.semirings ==0.6, - semirings +containers +unordered-containers, - any.servant ==0.20, - any.servant-client ==0.20, - any.servant-client-core ==0.20, - any.servant-server ==0.20, - any.sha-validation ==0.1.0.0, - any.show-combinators ==0.2.0.0, - any.simple-sendfile ==0.2.32, - simple-sendfile +allow-bsd -fallback, - any.singleton-bool ==0.1.7, - any.socks ==0.6.1, - any.some ==1.0.5, - some +newtype-unsafe, - any.sop-core ==0.5.0.2, - any.split ==0.2.3.5, - any.splitmix ==0.1.0.4, - splitmix -optimised-mixer, - any.statistics ==0.16.2.0, - any.stm ==2.5.1.0, - any.stm-chans ==3.0.0.9, - any.stopwatch ==0.1.0.6, - stopwatch -test_delay_upper_bound -test_threaded, - any.streaming ==0.2.4.0, - any.streaming-commons ==0.2.2.6, - streaming-commons -use-bytestring-builder, - any.strict ==0.5, - any.strict-concurrency ==0.2.4.3, - any.string-conversions ==0.4.0.1, - any.syb ==0.7.2.3, - any.tagged ==0.8.7, - tagged +deepseq +transformers, - any.tasty ==1.4.3, - tasty +unix, - any.tasty-golden ==2.3.5, - tasty-golden -build-example, - any.tasty-hunit ==0.10.0.3, - any.tasty-json ==0.1.0.0, - any.tasty-quickcheck ==0.10.2, - any.template-haskell ==2.20.0.0, - any.temporary ==1.3, - any.text ==2.0.2, - any.text-iso8601 ==0.1, - any.text-short ==0.1.5, - text-short -asserts, - any.th-abstraction ==0.5.0.0, - any.th-compat ==0.1.4, - any.these ==1.2, - any.time ==1.12.2, - any.time-compat ==1.9.6.1, - time-compat -old-locale, - any.time-manager ==0.0.0, - any.tls ==1.7.0, - tls +compat -hans +network, - any.tls-session-manager ==0.0.4, - any.token-bucket ==0.1.0.1, - token-bucket +use-cbits, - any.transformers ==0.5.6.2, - any.transformers-base ==0.4.6, - transformers-base +orphaninstances, - any.transformers-compat ==0.7.2, - transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, - any.trifecta ==2.1.1.1, - any.type-equality ==1, - any.typed-process ==0.2.11.0, - any.uniplate ==1.6.13, - any.unix ==2.8.1.1, - any.unix-compat ==0.7, - unix-compat -old-time, - any.unix-time ==0.4.10, - any.unliftio ==0.2.25.0, - any.unliftio-core ==0.2.1.0, - any.unordered-containers ==0.2.19.1, - unordered-containers -debug, - any.utf8-string ==1.0.2, - any.uuid ==1.3.15, - any.uuid-types ==1.0.5, - any.validation ==1.1.3, - any.vault ==0.3.1.5, - vault +useghc, - any.vector ==0.13.0.0, - vector +boundschecks -internalchecks -unsafechecks -wall, - any.vector-algorithms ==0.9.0.1, - vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks, - any.vector-binary-instances ==0.2.5.2, - any.vector-sized ==1.5.0, - any.vector-space ==0.16, - any.vector-stream ==0.1.0.0, - any.vector-th-unbox ==0.2.2, - any.void ==0.7.3, - void -safe, - any.wai ==3.2.3, - any.wai-app-static ==3.1.7.4, - wai-app-static +cryptonite -print, - any.wai-cors ==0.2.7, - any.wai-extra ==3.1.13.0, - wai-extra -build-example, - any.wai-logger ==2.4.0, - any.wai-middleware-throttle ==0.3.0.1, - any.wai-middleware-validation ==0.1.0.2, - any.warp ==3.3.28, - warp +allow-sendfilefd -network-bytestring -warp-debug +x509, - any.warp-tls ==3.4.0, - any.witherable ==0.4.2, - any.word8 ==0.1.3, - any.yaml ==0.11.11.2, - yaml +no-examples +no-exe, - any.yet-another-logger ==0.4.2, - yet-another-logger -tbmqueue, - any.zlib ==0.6.3.0, - zlib -bundled-c-zlib -non-blocking-ffi -pkg-config -index-state: hackage.haskell.org 2023-07-18T16:46:58Z diff --git a/chainweb.cabal b/chainweb.cabal index 95e05cbb88..dc1e212a1f 100644 --- a/chainweb.cabal +++ b/chainweb.cabal @@ -371,7 +371,7 @@ library , merkle-log >=0.2 , mmorph >= 1.1 , monad-control >= 1.0 - , mtl >= 2.2 + , mtl >= 2.3 , mwc-random >= 0.13 , mwc-probability >= 2.0 && <2.4 , network >= 3.1.2 @@ -538,7 +538,7 @@ test-suite chainweb-tests , lens-aeson >= 1.2.2 , loglevel >= 0.1 , merkle-log >=0.2 - , mtl >= 2.2 + , mtl >= 2.3 , network >= 3.1.2 , http-client-tls >=0.3 , pact @@ -702,7 +702,7 @@ executable cwtool , loglevel >= 0.1 , memory >=0.14 , merkle-log >=0.2 - , mtl >= 2.2 + , mtl >= 2.3 , network >= 3.1.2 , optparse-applicative >= 0.14 , pact @@ -776,7 +776,7 @@ benchmark bench , lens >= 4.17 , loglevel >= 0.1 , merkle-log >=0.2 - , mtl >= 2.2 + , mtl >= 2.3 , pact , random >= 1.2 , text >= 2.0 diff --git a/src/Chainweb/BlockHeader/Validation.hs b/src/Chainweb/BlockHeader/Validation.hs index 628d33cbc3..7bd425c9ee 100644 --- a/src/Chainweb/BlockHeader/Validation.hs +++ b/src/Chainweb/BlockHeader/Validation.hs @@ -94,6 +94,7 @@ import Control.Lens import Control.Monad import Control.Monad.Catch import Control.Monad.Except +import Control.Monad.Trans.Class import Data.Foldable import qualified Data.HashMap.Strict as HM diff --git a/src/Chainweb/Chainweb.hs b/src/Chainweb/Chainweb.hs index 470ff599ce..4c9127f17b 100644 --- a/src/Chainweb/Chainweb.hs +++ b/src/Chainweb/Chainweb.hs @@ -108,7 +108,6 @@ import Control.DeepSeq import Control.Lens hiding ((.=), (<.>)) import Control.Monad import Control.Monad.Catch (fromException, throwM) -import Control.Monad.Writer import Data.Foldable import Data.Function (on) diff --git a/src/Chainweb/CutDB/RestAPI/Server.hs b/src/Chainweb/CutDB/RestAPI/Server.hs index b2f8f9bd67..2167fafd9e 100644 --- a/src/Chainweb/CutDB/RestAPI/Server.hs +++ b/src/Chainweb/CutDB/RestAPI/Server.hs @@ -34,6 +34,7 @@ module Chainweb.CutDB.RestAPI.Server import Control.Lens (view) import Control.Monad.Except +import Control.Monad.IO.Class import Data.IxSet.Typed import Data.Proxy diff --git a/src/Chainweb/Pact/Backend/DbCache.hs b/src/Chainweb/Pact/Backend/DbCache.hs index 8772e0b0a2..82a2b6c7b6 100644 --- a/src/Chainweb/Pact/Backend/DbCache.hs +++ b/src/Chainweb/Pact/Backend/DbCache.hs @@ -27,6 +27,7 @@ module Chainweb.Pact.Backend.DbCache ) where import Control.Lens hiding ((.=)) +import Control.Monad (forM, unless) import Control.Monad.State.Strict import qualified Crypto.Hash as C (hash) diff --git a/src/Chainweb/Pact/RestAPI/Server.hs b/src/Chainweb/Pact/RestAPI/Server.hs index 2ff3327f9b..95eb947e4f 100644 --- a/src/Chainweb/Pact/RestAPI/Server.hs +++ b/src/Chainweb/Pact/RestAPI/Server.hs @@ -35,6 +35,7 @@ import Control.Concurrent.STM (atomically, retry) import Control.Concurrent.STM.TVar import Control.DeepSeq import Control.Lens (set, view, preview) +import Control.Monad ((<$!>), forM, mzero, when, void) import Control.Monad.Catch hiding (Handler) import Control.Monad.Reader import Control.Monad.State.Strict diff --git a/test/Chainweb/Test/Pact/Checkpointer.hs b/test/Chainweb/Test/Pact/Checkpointer.hs index da3e0f46f6..c21376e69d 100644 --- a/test/Chainweb/Test/Pact/Checkpointer.hs +++ b/test/Chainweb/Test/Pact/Checkpointer.hs @@ -13,6 +13,7 @@ import Control.Concurrent.MVar import Control.DeepSeq import Control.Exception import Control.Lens hiding ((.=)) +import Control.Monad (when, void) import Control.Monad.Reader import Data.Aeson (Value(..), object, (.=), Key) diff --git a/test/Chainweb/Test/Pact/DbCacheTest.hs b/test/Chainweb/Test/Pact/DbCacheTest.hs index 1bc7d55962..0150773817 100644 --- a/test/Chainweb/Test/Pact/DbCacheTest.hs +++ b/test/Chainweb/Test/Pact/DbCacheTest.hs @@ -5,6 +5,7 @@ module Chainweb.Test.Pact.DbCacheTest (tests) where import Chainweb.Pact.Backend.DbCache +import Control.Monad (void) import Control.Monad.State.Strict import Data.Aeson diff --git a/test/Chainweb/Test/Pact/PactReplay.hs b/test/Chainweb/Test/Pact/PactReplay.hs index 42f4d7c3a6..7187edf6af 100644 --- a/test/Chainweb/Test/Pact/PactReplay.hs +++ b/test/Chainweb/Test/Pact/PactReplay.hs @@ -9,6 +9,7 @@ module Chainweb.Test.Pact.PactReplay where import Control.Concurrent.MVar +import Control.Monad (forM_, unless, void) import Control.Monad.Catch import Control.Monad.Reader import Control.Monad.State diff --git a/tools/db-checksum/CheckpointerDBChecksum.hs b/tools/db-checksum/CheckpointerDBChecksum.hs index fc6d6afd6b..6043d12c92 100644 --- a/tools/db-checksum/CheckpointerDBChecksum.hs +++ b/tools/db-checksum/CheckpointerDBChecksum.hs @@ -15,6 +15,7 @@ module CheckpointerDBChecksum where import Configuration.Utils hiding (Error, Lens', action, encode) import Control.Exception.Safe (tryAny) +import Control.Monad (foldM, when, void) import Control.Monad.Reader import Crypto.Hash diff --git a/tools/header-dump/HeaderDump.hs b/tools/header-dump/HeaderDump.hs index 7cae5e1cf2..4b0f58622e 100644 --- a/tools/header-dump/HeaderDump.hs +++ b/tools/header-dump/HeaderDump.hs @@ -60,6 +60,7 @@ import Control.Lens hiding ((.=)) import Control.Monad import Control.Monad.Catch (MonadThrow, throwM) import Control.Monad.Except +import Control.Monad.IO.Class import Data.Aeson.Encode.Pretty hiding (Config) import Data.Aeson.Lens diff --git a/tools/txstream/TxStream.hs b/tools/txstream/TxStream.hs index 2ec57288ae..1b933f17a3 100644 --- a/tools/txstream/TxStream.hs +++ b/tools/txstream/TxStream.hs @@ -37,6 +37,7 @@ import Configuration.Utils import Control.Arrow ((&&&)) import Control.Lens hiding ((.=)) +import Control.Monad ((<=<), when) import Control.Monad.Reader import Data.Aeson.Encode.Pretty hiding (Config)