SmartContractSignatureVerifier

Trait SmartContractSignatureVerifier 

Source
pub trait SmartContractSignatureVerifier: MaybeSend + MaybeSync {
    // Required method
    fn is_valid_signature<'life0, 'async_trait>(
        &'life0 self,
        account_id: AccountId,
        hash: [u8; 32],
        signature: Bytes,
        block_number: Option<BlockNumber>,
    ) -> Pin<Box<dyn Future<Output = Result<ValidationResponse, VerifierError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}

Required Methods§

Source

fn is_valid_signature<'life0, 'async_trait>( &'life0 self, account_id: AccountId, hash: [u8; 32], signature: Bytes, block_number: Option<BlockNumber>, ) -> Pin<Box<dyn Future<Output = Result<ValidationResponse, VerifierError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Verifies an ERC-6492https://eips.ethereum.org/EIPS/eip-6492 signature.

§Arguments
  • signer - can be the smart wallet address or EOA address.
  • hash - Message digest for the signature.
  • signature - Could be encoded smart wallet signature or raw ECDSA signature.

Implementations on Foreign Types§

Source§

impl<T> SmartContractSignatureVerifier for &T

Source§

fn is_valid_signature<'life0, 'async_trait>( &'life0 self, account_id: AccountId, hash: [u8; 32], signature: Bytes, block_number: Option<BlockNumber>, ) -> Pin<Box<dyn Future<Output = Result<ValidationResponse, VerifierError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

impl<T> SmartContractSignatureVerifier for Box<T>

Source§

fn is_valid_signature<'life0, 'async_trait>( &'life0 self, account_id: AccountId, hash: [u8; 32], signature: Bytes, block_number: Option<BlockNumber>, ) -> Pin<Box<dyn Future<Output = Result<ValidationResponse, VerifierError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

impl<T> SmartContractSignatureVerifier for Arc<T>

Source§

fn is_valid_signature<'life0, 'async_trait>( &'life0 self, account_id: AccountId, hash: [u8; 32], signature: Bytes, block_number: Option<BlockNumber>, ) -> Pin<Box<dyn Future<Output = Result<ValidationResponse, VerifierError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Implementors§