pub trait ProposalHandlerTrait {
type BatchId;
type MaxProposalLength: Get<u32>;
type MaxProposals: Get<u32>;
type MaxSignatureLen: Get<u32>;
// Provided methods
fn handle_unsigned_proposal(
_prop: Proposal<Self::MaxProposalLength>
) -> Result<(), DispatchError> { ... }
fn handle_signed_proposal_batch(
_prop: SignedProposalBatch<Self::BatchId, Self::MaxProposalLength, Self::MaxProposals, Self::MaxSignatureLen>
) -> Result<(), DispatchError> { ... }
}