Prover
module type S = sig ... end
include S
module Worker_state : sig ... end
val create :
logger:Logger.t ->
pids:Child_processes.Termination.t ->
conf_dir:string ->
proof_level:Genesis_constants.Proof_level.t ->
constraint_constants:Genesis_constants.Constraint_constants.t ->
t Async_kernel.Deferred.t
val initialized : t -> [ `Initialized ] Async_kernel.Deferred.Or_error.t
val extend_blockchain :
t ->
Blockchain_snark.Blockchain.t ->
Mina_state.Protocol_state.Value.t ->
Mina_state.Snark_transition.value ->
Ledger_proof.t option ->
Consensus.Data.Prover_state.t ->
Mina_base.Pending_coinbase_witness.t ->
Blockchain_snark.Blockchain.t Async_kernel.Deferred.Or_error.t
val prove :
t ->
prev_state:Mina_state.Protocol_state.Value.t ->
prev_state_proof:Mina_base.Proof.t ->
next_state:Mina_state.Protocol_state.Value.t ->
Mina_block.Internal_transition.t ->
Mina_base.Pending_coinbase_witness.t ->
Mina_base.Proof.t Async_kernel.Deferred.Or_error.t
val create_genesis_block :
t ->
Genesis_proof.Inputs.t ->
Blockchain_snark.Blockchain.t Async_kernel.Deferred.Or_error.t
val prove_from_input_sexp : t -> Base.Sexp.t -> bool Async.Deferred.t