pub struct VerifiedSignature {
pub signer: MemberIdentifier,
pub kind: SignatureKind,
pub replay_key: Vec<u8>,
pub chain_id: Option<u64>,
}Fields§
§signer: MemberIdentifier§kind: SignatureKind§replay_key: Vec<u8>The association-log replay key. Recoverable ECDSA and passkey signatures are canonicalised so every accepted encoding yields one key; installation-key and ERC-1271 signatures use the submitted bytes.
chain_id: Option<u64>Implementations§
Source§impl VerifiedSignature
impl VerifiedSignature
pub fn new( signer: MemberIdentifier, kind: SignatureKind, replay_key: Vec<u8>, chain_id: Option<u64>, ) -> Self
Sourcepub fn from_recoverable_ecdsa<Text: AsRef<str>>(
signature_text: Text,
signature_bytes: &[u8],
) -> Result<Self, SignatureError>
pub fn from_recoverable_ecdsa<Text: AsRef<str>>( signature_text: Text, signature_bytes: &[u8], ) -> Result<Self, SignatureError>
Recovers the signer of a 65-byte r, s, recovery secp256k1 signature over the
signature text. The recovery byte must be 0, 1, 27, or 28. The replay key is r, s in
the lower half of the curve order, and the recovery parity as 0 or 1.
Sourcepub fn from_recoverable_ecdsa_with_expected_address<Text: AsRef<str>>(
signature_text: Text,
signature_bytes: &[u8],
expected_address: Text,
) -> Result<Self, SignatureError>
pub fn from_recoverable_ecdsa_with_expected_address<Text: AsRef<str>>( signature_text: Text, signature_bytes: &[u8], expected_address: Text, ) -> Result<Self, SignatureError>
Verifies an ECDSA signature against the provided signature text and ensures that the recovered address matches the expected address.
Sourcepub fn from_installation_key<Text: AsRef<str>>(
signature_text: Text,
signature_bytes: &[u8],
verifying_key: VerifyingKey,
) -> Result<Self, SignatureError>
pub fn from_installation_key<Text: AsRef<str>>( signature_text: Text, signature_bytes: &[u8], verifying_key: VerifyingKey, ) -> Result<Self, SignatureError>
Verifies an installation key signature against the provided signature text and verifying key bytes. Returns a VerifiedSignature if the signature is valid, otherwise returns an error.
Sourcepub fn from_passkey<Text: AsRef<str>>(
signature_text: Text,
public_key: &[u8],
signature: &[u8],
authenticator_data: &[u8],
client_data_json: &[u8],
) -> Result<Self, SignatureError>
pub fn from_passkey<Text: AsRef<str>>( signature_text: Text, public_key: &[u8], signature: &[u8], authenticator_data: &[u8], client_data_json: &[u8], ) -> Result<Self, SignatureError>
Verifies a WebAuthn P-256 assertion over the signature text. The replay key is the 64-byte
r, s with s in the lower half of the curve order.
Sourcepub async fn from_smart_contract_wallet<Text: AsRef<str>>(
signature_text: Text,
signature_verifier: impl SmartContractSignatureVerifier,
signature_bytes: &[u8],
account_id: AccountId,
block_number: &mut Option<u64>,
) -> Result<Self, SignatureError>
pub async fn from_smart_contract_wallet<Text: AsRef<str>>( signature_text: Text, signature_verifier: impl SmartContractSignatureVerifier, signature_bytes: &[u8], account_id: AccountId, block_number: &mut Option<u64>, ) -> Result<Self, SignatureError>
Verifies a smart contract wallet signature using the provided signature verifier.
Trait Implementations§
Source§impl Clone for VerifiedSignature
impl Clone for VerifiedSignature
Source§fn clone(&self) -> VerifiedSignature
fn clone(&self) -> VerifiedSignature
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for VerifiedSignature
impl RefUnwindSafe for VerifiedSignature
impl Send for VerifiedSignature
impl Sync for VerifiedSignature
impl Unpin for VerifiedSignature
impl UnsafeUnpin for VerifiedSignature
impl UnwindSafe for VerifiedSignature
Blanket Implementations§
§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read more§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read more§fn aggregate_filter<P>(self, f: P) -> Self::Outputwhere
P: AsExpression<Bool>,
Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,
fn aggregate_filter<P>(self, f: P) -> Self::Outputwhere
P: AsExpression<Bool>,
Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,
§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<T> IntoSql for T
impl<T> IntoSql for T
§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].