Operation_core.Anonymous
val double_consensus_evidence :
kind:double_consensus_evidence_kind ->
use_legacy_name:bool ->
(operation * Mavryk_crypto.Signature.t) ->
(operation * Mavryk_crypto.Signature.t) ->
t
double_consensus_evidence ~kind ~use_legacy_name op1 op2
crafts a double consensus evidence operation with the kind
, op1
and op2
. Both operations should be of the same kind and the same as the one expected by kind
. If use_legacy_name
is set, the kind
field in the crafted JSON will be "(pre)endorsement" instead of "(pre)attestation".
val double_attestation_evidence :
use_legacy_name:bool ->
(operation * Mavryk_crypto.Signature.t) ->
(operation * Mavryk_crypto.Signature.t) ->
t
double_attestation_evidence ~use_legacy_name op1 op2
crafts a double attestation evidence operation with op1 and op2. Both operations should be attestations. If use_legacy_name
is set, the kind
field in the crafted JSON will be "endorsement" instead of "attestation".
val double_preattestation_evidence :
use_legacy_name:bool ->
(operation * Mavryk_crypto.Signature.t) ->
(operation * Mavryk_crypto.Signature.t) ->
t
double_preattestation_evidence ~use_legacy_name op1 op2
crafts a double attestation evidence operation with op1 and op2. Both operations should be preattestations. If use_legacy_name
is set, the kind
field in the crafted JSON will be "preendorsement" instead of "preattestation".
val kind_to_string :
double_consensus_evidence_kind ->
use_legacy_name:bool ->
string
kind_to_string kind ~use_legacy_name
return the name of the kind
. If use_legacy_name
is set, the name corresponding to the kind
will be "double_(pre)endorsement_evidence" instead of "double_(pre)attestation_evidence".
operation
constructs an operation from an anonymous operation. the client
is used to fetch the branch and the chain_id
.
val inject :
?request:[ `Inject | `Notify ] ->
?force:bool ->
?branch:string ->
?error:Tezt_wrapper.Base.rex ->
t ->
Client.t ->
[ `OpHash of string ] Lwt.t
A wrapper for inject
with anonymous operations. The client is used to get all the data that was not provided if it can be recovered via RPCs. Mainly those are the branch
and the chain_id
.
val make_double_consensus_evidence_with_distinct_bph :
kind:double_consensus_evidence_kind ->
misbehaviour_level:int ->
misbehaviour_round:int ->
culprit:Account.key ->
Client.t ->
t Lwt.t
Crafts two (pre)attestations that only differ in their block payload hash, then a well-formed double (pre)attestation evidence operation on them.
The denounced (pre)attestations have the specified misbehaviour_level
and misbehaviour_round
, the first slot of culprit
, and two constant and distinct block payload hashes. They are signed by culprit
.