Module Vrf_evaluator.Worker_state

type init_arg = {
constraint_constants : Genesis_constants.Constraint_constants.t;
consensus_constants : Consensus.Constants.Stable.Latest.t;
conf_dir : string;
logger : Logger.Stable.Latest.t;
}
val bin_shape_init_arg : Core.Bin_prot.Shape.t
val __bin_read_init_arg__ : ( int -> init_arg ) Core.Bin_prot.Read.reader
val bin_read_init_arg : init_arg Core.Bin_prot.Read.reader
val bin_reader_init_arg : init_arg Core.Bin_prot.Type_class.reader
val bin_size_init_arg : init_arg Core.Bin_prot.Size.sizer
val bin_write_init_arg : init_arg Core.Bin_prot.Write.writer
val bin_writer_init_arg : init_arg Core.Bin_prot.Type_class.writer
val bin_init_arg : init_arg Core.Bin_prot.Type_class.t
val context_of_config : init_arg -> (module CONTEXT)
type t = {
config : init_arg;
mutable last_checked_slot_and_epoch : (Epoch.t * Slot.t) Signature_lib.Public_key.Compressed.Table.t;
slots_won : Consensus.Data.Slot_won.t Core.Queue.t;
mutable current_slot : Global_slot.t option;
mutable epoch_data : unit Async.Ivar.t * Consensus.Data.Epoch_data_for_vrf.t option;
mutable block_producer_keys : Block_producer_keys.t;
}
val make_last_checked_slot_and_epoch_table : ( ( Snark_params.Tick.Field.t, bool ) Mina_wire_types.Public_key.Compressed.Poly.V1.t, 'a ) Core_kernel__Hashtbl.t -> ('b * ( Snark_params.Tick.Field.t, bool ) Mina_wire_types.Public_key.Compressed.Poly.V1.t) list -> default:'c -> ( ( Snark_params.Tick.Field.t, bool ) Mina_wire_types.Public_key.Compressed.Poly.V1.t, 'd ) Core_kernel__Hashtbl.t
val seen_slot : ( ( Snark_params.Tick.Field.t, bool ) Mina_wire_types.Public_key.Compressed.Poly.V1.t, ( Epoch.t, Slot.t ) Core.Tuple2.t ) Core_kernel__Hashtbl.t -> Epoch.t -> Slot.t -> [> `All_seen | `Unseen of Signature_lib.Public_key.Compressed.Set.t ]
val evaluate : t -> ( unit, unit ) Interruptible.t
val create : init_arg -> t