Skip to main content

VerificationAlgorithm

Trait VerificationAlgorithm 

Source
pub trait VerificationAlgorithm: AsymmetricPublicKey {
    type Signature: AsRef<[u8]> + Clone;

    const SIGNATURE_SIZE: usize;
    const SIGNATURE_BECH32_HRP: &'static str;

    // Required methods
    fn verify_bytes(
        pubkey: &Self::Public,
        signature: &Self::Signature,
        msg: &[u8],
    ) -> Verification;
    fn signature_from_bytes(
        data: &[u8],
    ) -> Result<Self::Signature, SignatureError>;
}

Required Associated Constants§

Required Associated Types§

Required Methods§

Source

fn verify_bytes( pubkey: &Self::Public, signature: &Self::Signature, msg: &[u8], ) -> Verification

Source

fn signature_from_bytes(data: &[u8]) -> Result<Self::Signature, SignatureError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl VerificationAlgorithm for Ed25519

Source§

const SIGNATURE_SIZE: usize = ed25519::SIGNATURE_LENGTH

Source§

const SIGNATURE_BECH32_HRP: &'static str = "ed25519_sig"

Source§

type Signature = Sig

Source§

impl VerificationAlgorithm for Ed25519Bip32

Source§

const SIGNATURE_SIZE: usize = ed25519_bip32::SIGNATURE_SIZE

Source§

const SIGNATURE_BECH32_HRP: &'static str = "xsig"

Source§

type Signature = Signature<u8>

Source§

impl VerificationAlgorithm for LegacyDaedalus

Source§

const SIGNATURE_SIZE: usize = ed25519_bip32::SIGNATURE_SIZE

Source§

const SIGNATURE_BECH32_HRP: &'static str = "legacy_xsig"

Source§

type Signature = Signature<u8>