packages feed

chainweb-mining-client-0.5: chainweb-mining-client.cabal

cabal-version: 3.0
name: chainweb-mining-client
description:
    A mining client for Kadena Chainweb. It supports

    * mining with ASICs through a stratum server,
    * simulated mining for testing,
    * multi threaded CPU mining,
    * external mining workers (e.g. a GPU).

    Competitive mining on the Kadena Mainnet requires special mining hardware
    (ASIC), which connects to a Stratum Server from where it obtains work.

    All other mining modes (GPU, CPU, and simulation) are intended only for testing.

version: 0.5
synopsis: Mining Client for Kadena Chainweb
homepage: https://github.com/kadena-io/chainweb-mining-client
bug-reports: https://github.com/kadena-io/chainweb-mining-client/issues
license: BSD-3-Clause
license-file: LICENSE
author: Lars Kuhtz
maintainer: lars@kadena.io
copyright: Copyright (c) 2019 - 2022, Kadena LLC
category: Data, Mathematics
build-type: Custom
tested-with:
      GHC==9.2.4
    , GHC==9.0.2
    , GHC==8.10.7
extra-source-files:
    README.md
    CHANGELOG.md

source-repository head
    type: git
    location: https://github.com/kadena-io/chainweb-mining-client.git

custom-setup
    setup-depends:
          base >=4.10 && <5
        , Cabal >=3.0 && <4
        , configuration-tools >=0.5

executable chainweb-mining-client
    hs-source-dirs: main, src
    main-is: Main.hs
    other-modules:
        JsonRpc
        Logger
        PkgInfo
        Target
        Utils
        Worker
        Worker.CPU
        Worker.External
        Worker.Simulation
        Worker.Stratum
        Worker.Stratum.Protocol
        Worker.Stratum.Server
        WorkerUtils
    autogen-modules:
        PkgInfo
    default-language: Haskell2010
    ghc-options:
        -Wall
        -threaded
        -with-rtsopts=-N
    build-depends:
          attoparsec >=0.14
        , base >=4.10 && <5
        , base16-bytestring >=1.0
        , aeson >=1.5
        , async >=2.2
        , bytes >=0.17
        , bytestring >=0.10
        , clock >=0.8
        , configuration-tools >=0.5
        , connection >=0.3
        , cryptonite >=0.27
        , exceptions >=0.10
        , hashable >=1.3
        , hostaddress >=0.2
        , http-client >=0.7
        , http-client-tls >=0.3
        , http-types >=0.12
        , lens >=4.19
        , loglevel >=0.1
        , memory >=0.15
        , mwc-random >=0.14
        , process >=1.6
        , retry >=0.8
        , stm >=2.5
        , streaming >=0.2
        , streaming-commons >=0.2.2
        , streaming-events >=1.0
        , text >=1.2
        , time >=1.9
        , unordered-containers >=0.2
        , wai-extra >=3.0

test-suite tests
    type: exitcode-stdio-1.0
    hs-source-dirs: test, src
    default-language: Haskell2010
    ghc-options:
        -rtsopts
        -threaded
        -with-rtsopts=-N
    main-is: Main.hs
    other-modules:
        Utils
        Worker
        WorkerUtils

        Target
        TestUtils
        Test.Target
        Test.Utils
        Test.WorkerUtils
    build-depends:
        -- external
          QuickCheck >= 2.13
        , aeson >=1.5
        , base >=4.11 && <5
        , base16-bytestring >=1.0
        , bytes >=0.17
        , bytestring >=0.10
        , clock >=0.8
        , configuration-tools >=0.5
        , cryptonite >=0.27
        , exceptions >=0.10
        , hashable >=1.3
        , hostaddress >=0.2
        , memory >=0.15
        , quickcheck-instances >=0.3
        , stm >=2.5
        , streaming-commons >=0.2.2
        , sydtest >=0.4
        , text >=1.2
        , time >=1.9