DAL/Proto: implement dal_participation RPC
This MR implements a /dal_participation RPC similar to what exists for Tenderbake attestations activity (called /participation for TB).
Currently exposed information are given in this type:
type dal_participation_info = {
max_assigned_shards : int;
(** The total number of assigned shards for the delegate during the current
cycle (assuming all slots are published). *)
delegate_attested_dal_slots : int;
(** The number of attested slots during the current cycle which are also
attested by the delegate. *)
total_attested_dal_slots : int;
(** The total number of attested slots during the current cycle (regardless
whether this delegate attested them or not). *)
expected_dal_rewards : Tez_repr.t;
(** The expected amount of DAL rewards for the delegate, assuming a
sufficient DAL participation (see [sufficient_dal_participation]
below). *)
sufficient_dal_participation : bool;
(** A boolean flag telling whether the delegate sufficiently
participated in (attested) DAL slots attestation or not. In
particular, this flag is true if no DAL slot is attested globally by
the protocol at a given cycle (i.e. [total_attested_dal_slots] = 0). *)
}
Closes #7610 (closed).
Edited by Eugen Zalinescu