(library
 (name consensus)
 (public_name consensus)
 (inline_tests
  (flags -verbose -show-counts))
 (modules
  (:standard \ proof_of_stake_fuzzer))
 (library_flags (-linkall))
 (libraries
  ;; opam libraries
  ppx_inline_test.config
  async_unix
  core.uuid
  async_kernel
  sexplib0
  base.caml
  integers
  async
  core
  yojson
  core_kernel
  bin_prot.shape
  base
  result
  core_kernel.uuid
  async_rpc_kernel
  sexp_diff_kernel
  ;; local libraries
  mina_wire_types
  mina_base.util
  unsigned_extended
  kimchi_pasta
  kimchi_pasta.basic
  fold_lib
  random_oracle_input
  outside_hash_image
  logger
  hash_prefix_states
  genesis_constants
  error_json
  merkle_ledger
  pickles.backend
  random_oracle
  pipe_lib
  bignum_bigint
  vrf_lib
  snark_params
  with_hash
  mina_ledger
  consensus.vrf
  snarky_taylor
  mina_base
  mina_transaction_logic
  key_gen
  block_time
  perf_histograms
  test_util
  non_zero_curve_point
  mina_metrics
  mina_numbers
  mina_stdlib
  signature_lib
  snarky.backendless
  blake2
  crypto_params
  data_hash_lib
  currency
  mina_stdlib_unix
  coda_genesis_ledger
  interruptible
  network_peer
  pickles
  snark_bits
  sparse_ledger_lib
  syncable_ledger
  trust_system
  mina_base.import
  ppx_version.runtime
  internal_tracing
  o1trace)
 (preprocess
  (pps
   h_list.ppx
   ppx_assert
   ppx_base
   ppx_bin_prot
   ppx_mina
   ppx_custom_printf
   ppx_deriving.std
   ppx_deriving_yojson
   ppx_fields_conv
   ppx_inline_test
   ppx_let
   ppx_sexp_conv
   ppx_snarky
   ppx_version))
 (instrumentation
  (backend bisect_ppx))
 (synopsis "Consensus mechanisms"))

(executable
 (name proof_of_stake_fuzzer)
 (modules proof_of_stake_fuzzer)
 (libraries
  core_kernel
  signature_lib
  mina_state
  mina_block
  consensus
  prover
  blockchain_snark
  logger.file_system)
 (instrumentation
  (backend bisect_ppx))
 (preprocess
  (pps ppx_version ppx_jane))
 (enabled_if false) ;; Compilation is disabled until this executable has been fixed.
 )
