[−][src]Trait overlord::Crypto
Trait for some crypto methods.
Required methods
fn hash(&self, msg: Bytes) -> Hash
Hash a message bytes.
fn sign(&self, hash: Hash) -> Result<Signature, Box<dyn Error + Send>>
Sign to the given hash by private key and return the signature if success.
fn aggregate_signatures(
&self,
signatures: Vec<Signature>,
voters: Vec<Address>
) -> Result<Signature, Box<dyn Error + Send>>
&self,
signatures: Vec<Signature>,
voters: Vec<Address>
) -> Result<Signature, Box<dyn Error + Send>>
Aggregate the given signatures into an aggregated signature according to the given bitmap.
fn verify_signature(
&self,
signature: Signature,
hash: Hash,
voter: Address
) -> Result<(), Box<dyn Error + Send>>
&self,
signature: Signature,
hash: Hash,
voter: Address
) -> Result<(), Box<dyn Error + Send>>
Verify a signature and return the recovered address.
fn verify_aggregated_signature(
&self,
aggregate_signature: Signature,
msg_hash: Hash,
voters: Vec<Address>
) -> Result<(), Box<dyn Error + Send>>
&self,
aggregate_signature: Signature,
msg_hash: Hash,
voters: Vec<Address>
) -> Result<(), Box<dyn Error + Send>>
Verify an aggregated signature.