From 7bea0c017566e9cba46f70c48ec266c40ecbc9d7 Mon Sep 17 00:00:00 2001
From: Serban Iorga <serban@parity.io>
Date: Thu, 29 Sep 2022 09:28:22 +0300
Subject: [PATCH] BEEFY: impl TypeInfo for SignedCommitment (#12382)

---
 substrate/primitives/beefy/src/commitment.rs | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/substrate/primitives/beefy/src/commitment.rs b/substrate/primitives/beefy/src/commitment.rs
index 4880d4b69ab..0e22c8d56d9 100644
--- a/substrate/primitives/beefy/src/commitment.rs
+++ b/substrate/primitives/beefy/src/commitment.rs
@@ -16,6 +16,7 @@
 // limitations under the License.
 
 use codec::{Decode, Encode, Error, Input};
+use scale_info::TypeInfo;
 use sp_std::{cmp, prelude::*};
 
 use crate::ValidatorSetId;
@@ -39,7 +40,7 @@ pub mod known_payload_ids {
 /// Identifiers MUST be sorted by the [`BeefyPayloadId`] to allow efficient lookup of expected
 /// value. Duplicated identifiers are disallowed. It's okay for different implementations to only
 /// support a subset of possible values.
-#[derive(Decode, Encode, Debug, PartialEq, Eq, Clone, Ord, PartialOrd, Hash)]
+#[derive(Decode, Encode, Debug, PartialEq, Eq, Clone, Ord, PartialOrd, Hash, TypeInfo)]
 pub struct Payload(Vec<(BeefyPayloadId, Vec<u8>)>);
 
 impl Payload {
@@ -80,7 +81,7 @@ impl Payload {
 /// height [block_number](Commitment::block_number).
 /// GRANDPA validators collect signatures on commitments and a stream of such signed commitments
 /// (see [SignedCommitment]) forms the BEEFY protocol.
-#[derive(Clone, Debug, PartialEq, Eq, Encode, Decode)]
+#[derive(Clone, Debug, PartialEq, Eq, Encode, Decode, TypeInfo)]
 pub struct Commitment<TBlockNumber> {
 	///  A collection of payloads to be signed, see [`Payload`] for details.
 	///
@@ -138,7 +139,7 @@ where
 /// Note that SCALE-encoding of the structure is optimized for size efficiency over the wire,
 /// please take a look at custom [`Encode`] and [`Decode`] implementations and
 /// `CompactSignedCommitment` struct.
-#[derive(Clone, Debug, PartialEq, Eq)]
+#[derive(Clone, Debug, PartialEq, Eq, TypeInfo)]
 pub struct SignedCommitment<TBlockNumber, TSignature> {
 	/// The commitment signatures are collected for.
 	pub commitment: Commitment<TBlockNumber>,
-- 
GitLab