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_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
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