Module Tezos_baking_024_PtTALLiN.Baking_nonces

type state
type t = state
type nonces

nonces is a hash map corresponding to the data which can be found in the file from nonces_location

load wallet location loads the file corresponding to location and returns a data structure containing the stored information.

generate_seed_nonce nonce_config delegate level computes a nonce via a Deterministic or Random approach, depending on the nonce_config argument; the deterministic case uses as parameters delegate and level.

register_nonce cctxt ~chain_id block_hash nonce ~cycle ~level ~round updates the contents from the nonces file located using cctxt and ~chain_id by adding a new entry or replacing an existing one of the form block_hash : nonce * ~cycle * ~level * ~round.

start_revelation_worker cctxt config chain_id constants starts the continuous process of monitoring block proposals to determine when nonces should be revealed. The internal state is created from cctxt, ~extra_nodes, config, chain_id and constants.

The function returns a canceller to stop the worker and a callback function to push new block proposals for processing. The callback takes a cctxt to identify which node the proposal came from, and the proposal itself.

Nonce revelations will be injected to all nodes (cctxt and ~extra_nodes) in parallel.