Variable $GrandpaEquivocationProofConst
$GrandpaEquivocationProof : $ . Shape < { equivocation : { type : "Prevote" ; value : { first : readonly [ { targetHash : ` 0x ${ string } ` ; targetNumber : number ; } , ` 0x ${ string } ` ] ; identity : AccountId32Like ; roundNumber : bigint ; second : readonly [ { targetHash : ` 0x ${ string } ` ; targetNumber : number ; } , ` 0x ${ string } ` ] ; } ; } | { type : "Precommit" ; value : { first : readonly [ { targetHash : ` 0x ${ string } ` ; targetNumber : number ; } , ` 0x ${ string } ` ] ; identity : AccountId32Like ; roundNumber : bigint ; second : readonly [ { targetHash : ` 0x ${ string } ` ; targetNumber : number ; } , ` 0x ${ string } ` ] ; } ; } ; setId : bigint ; } , { equivocation : { type : "Prevote" ; value : { first : [ { targetHash : ` 0x ${ string } ` ; targetNumber : number ; } , ` 0x ${ string } ` ] ; identity : AccountId32 ; roundNumber : bigint ; second : [ { targetHash : ` 0x ${ string } ` ; targetNumber : number ; } , ` 0x ${ string } ` ] ; } ; } | { type : "Precommit" ; value : { first : [ { targetHash : ` 0x ${ string } ` ; targetNumber : number ; } , ` 0x ${ string } ` ] ; identity : AccountId32 ; roundNumber : bigint ; second : [ { targetHash : ` 0x ${ string } ` ; targetNumber : number ; } , ` 0x ${ string } ` ] ; } ; } ; setId : bigint ; } > = ...
" "
Proof of voter misbehavior on a given set id. Misbehavior/equivocation in GRANDPA happens when a voter votes on the same round (either at prevote or precommit stage) for different blocks. Proving is achieved by collecting the signed messages of conflicting votes.