Skip to content
Unverified Commit b6f18232 authored by Serban Iorga's avatar Serban Iorga Committed by GitHub
Browse files

[BEEFY] Add runtime support for reporting fork voting (#4522)

Related to https://github.com/paritytech/polkadot-sdk/issues/4523

Extracting part of https://github.com/paritytech/polkadot-sdk/pull/1903
(credits to @Lederstrumpf

 for the high-level strategy), but also
introducing significant adjustments both to the approach and to the
code. The main adjustment is the fact that the `ForkVotingProof` accepts
only one vote, compared to the original version which accepted a
`vec![]`. With this approach more calls are needed in order to report
multiple equivocated votes on the same commit, but it simplifies a lot
the checking logic. We can add support for reporting multiple signatures
at once in the future.

There are 2 things that are missing in order to consider this issue
done, but I would propose to do them in a separate PR since this one is
already pretty big:
- benchmarks/computing a weight for the new extrinsic (this wasn't
present in https://github.com/paritytech/polkadot-sdk/pull/1903 either)
- exposing an API for generating the ancestry proof. I'm not sure if we
should do this in the Mmr pallet or in the Beefy pallet

Co-authored-by: default avatarRobert Hambrock <[email protected]>

---------

Co-authored-by: default avatarAdrian Catangiu <[email protected]>
parent e5791a56
Pipeline #483691 waiting for manual action with stages
in 1 hour, 19 minutes, and 18 seconds