pub fn from_vote(vote: Vote, chain_id: ChainId) -> Option<Self> {
        let validator_address = vote.validator_address;
        vote.signature
            .clone()
            .map(|signature| Self::new(vote, chain_id, validator_address, signature))
    }
/// Create a new `SignedVote` from the provided `Vote`, which may or may not be signed.
/// If the vote is not signed, this function will return `None`.
Create a new `SignedVote` from the provided `Vote`, which may or may not be signed.
If the vote is not signed, this function will return `None`.
Create a new ` SignedVote ` from the provided ` Vote ` which may or may not be signed . If the vote is not signed this function will return ` None ` .
pub fn from_vote(vote: Vote, chain_id: ChainId) -> Option<Self> {
        let validator_address = vote.validator_address;
        vote.signature
            .clone()
            .map(|signature| Self::new(vote, chain_id, validator_address, signature))
    }
pub fn from_vote ( vote : Vote , chain_id : ChainId ) -> Option < Self > { let validator_address = vote . validator_address ; vote . signature . clone ( ) . map ( | signature | Self :: new ( vote , chain_id , validator_address , signature ) ) }
Create a new `SignedVote` from the provided `Vote`, which may or may not be signed.
Create a new ` SignedVote ` from the provided ` Vote ` which may or may not be signed .
vote
Vote
chain_id
ChainId