pub struct MoveAuthenticator { /* private fields */ }Expand description
MoveAuthenticator is a GenericSignature variant that enables a new method of authentication through Move code. This function represents the data received by the Move authenticate function during the Account Abstraction authentication flow.
Implementations§
Source§impl MoveAuthenticator
impl MoveAuthenticator
Sourcepub fn new_v1(
call_args: Vec<CallArg>,
type_arguments: Vec<TypeInput>,
object_to_authenticate: CallArg,
) -> Self
pub fn new_v1( call_args: Vec<CallArg>, type_arguments: Vec<TypeInput>, object_to_authenticate: CallArg, ) -> Self
Creates a new MoveAuthenticator of version 1.
Sourcepub fn digest(&self) -> MoveAuthenticatorDigest
pub fn digest(&self) -> MoveAuthenticatorDigest
Computes the digest of the MoveAuthenticator.
Sourcepub fn address(&self) -> IotaResult<IotaAddress>
pub fn address(&self) -> IotaResult<IotaAddress>
Returns the address of the MoveAuthenticator.
Sourcepub fn type_arguments(&self) -> &Vec<TypeInput>
pub fn type_arguments(&self) -> &Vec<TypeInput>
Returns the type arguments of the MoveAuthenticator.
Sourcepub fn object_to_authenticate(&self) -> &CallArg
pub fn object_to_authenticate(&self) -> &CallArg
Returns the object to authenticate of the MoveAuthenticator.
Sourcepub fn object_to_authenticate_components(
&self,
) -> UserInputResult<(ObjectID, Option<SequenceNumber>, Option<ObjectDigest>)>
pub fn object_to_authenticate_components( &self, ) -> UserInputResult<(ObjectID, Option<SequenceNumber>, Option<ObjectDigest>)>
Returns the components of the object to authenticate.
Sourcepub fn input_objects(&self) -> Vec<InputObjectKind>
pub fn input_objects(&self) -> Vec<InputObjectKind>
Returns all input objects used by the MoveAuthenticator, including those from the object to authenticate.
Sourcepub fn receiving_objects(&self) -> Vec<ObjectRef> ⓘ
pub fn receiving_objects(&self) -> Vec<ObjectRef> ⓘ
Returns all receiving objects used by the MoveAuthenticator.
Returns all shared input objects used by the MoveAuthenticator, including those from the object to authenticate.
Sourcepub fn validity_check(&self, config: &ProtocolConfig) -> UserInputResult
pub fn validity_check(&self, config: &ProtocolConfig) -> UserInputResult
Validity check for MoveAuthenticator.
Trait Implementations§
Source§impl AsRef<[u8]> for MoveAuthenticator
Necessary trait for
GenericSignature. This trait is
implemented only for MoveAuthenticator and not for specific versions of
MoveAuthenticator (e.g., MoveAuthenticatorV1) because the custom
serialization/deserialization signature logic is defined on the
MoveAuthenticator level.
impl AsRef<[u8]> for MoveAuthenticator
Necessary trait for GenericSignature. This trait is implemented only for MoveAuthenticator and not for specific versions of MoveAuthenticator (e.g., MoveAuthenticatorV1) because the custom serialization/deserialization signature logic is defined on the MoveAuthenticator level.
Source§impl AuthenticatorTrait for MoveAuthenticator
impl AuthenticatorTrait for MoveAuthenticator
fn verify_user_authenticator_epoch( &self, epoch: EpochId, max_epoch_upper_bound_delta: Option<u64>, ) -> IotaResult
fn verify_claims<T>(
&self,
value: &IntentMessage<T>,
author: IotaAddress,
aux_verify_data: &VerifyParams,
zklogin_inputs_cache: Arc<VerifiedDigestCache<ZKLoginInputsDigest>>,
) -> IotaResultwhere
T: Serialize,
Source§impl Clone for MoveAuthenticator
impl Clone for MoveAuthenticator
Source§fn clone(&self) -> MoveAuthenticator
fn clone(&self) -> MoveAuthenticator
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MoveAuthenticator
impl Debug for MoveAuthenticator
Source§impl<'de> Deserialize<'de> for MoveAuthenticator
impl<'de> Deserialize<'de> for MoveAuthenticator
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<MoveAuthenticator> for GenericSignature
impl From<MoveAuthenticator> for GenericSignature
Source§fn from(v: MoveAuthenticator) -> GenericSignature
fn from(v: MoveAuthenticator) -> GenericSignature
Source§impl Hash for MoveAuthenticator
Necessary trait for
SenderSignerData. This trait is
implemented only for MoveAuthenticator and not for specific versions of
MoveAuthenticator (e.g., MoveAuthenticatorV1) because the custom
serialization/deserialization signature logic is defined on the
MoveAuthenticator level.
impl Hash for MoveAuthenticator
Necessary trait for SenderSignerData. This trait is implemented only for MoveAuthenticator and not for specific versions of MoveAuthenticator (e.g., MoveAuthenticatorV1) because the custom serialization/deserialization signature logic is defined on the MoveAuthenticator level.
Source§impl JsonSchema for MoveAuthenticator
impl JsonSchema for MoveAuthenticator
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl PartialEq for MoveAuthenticator
Necessary trait for
SenderSignerData. This trait is
implemented only for MoveAuthenticator and not for specific versions of
MoveAuthenticator (e.g., MoveAuthenticatorV1) because the custom
serialization/deserialization signature logic is defined on the
MoveAuthenticator level.
impl PartialEq for MoveAuthenticator
Necessary trait for SenderSignerData. This trait is implemented only for MoveAuthenticator and not for specific versions of MoveAuthenticator (e.g., MoveAuthenticatorV1) because the custom serialization/deserialization signature logic is defined on the MoveAuthenticator level.
Source§impl Serialize for MoveAuthenticator
impl Serialize for MoveAuthenticator
Source§impl<W> Signable<W> for MoveAuthenticatorwhere
W: Write,
Manual Signable impl for MoveAuthenticator.
impl<W> Signable<W> for MoveAuthenticatorwhere
W: Write,
Manual Signable impl for MoveAuthenticator.
serde_name::trace_name returns None for types that carry
#[serde(flatten)], so the blanket impl via BcsSignable panics.
We hardcode the tag and serialise via self.inner — the same
representation that AsRef<[u8]> already uses.
Source§impl SignableBytes for MoveAuthenticator
impl SignableBytes for MoveAuthenticator
Source§impl ToFromBytes for MoveAuthenticator
Necessary trait for
GenericSignature. This trait is
implemented only for MoveAuthenticator and not for specific versions of
MoveAuthenticator (e.g., MoveAuthenticatorV1) because the custom
serialization/deserialization signature logic is defined on the
MoveAuthenticator level.
impl ToFromBytes for MoveAuthenticator
Necessary trait for GenericSignature. This trait is implemented only for MoveAuthenticator and not for specific versions of MoveAuthenticator (e.g., MoveAuthenticatorV1) because the custom serialization/deserialization signature logic is defined on the MoveAuthenticator level.
Source§impl TryInto<MoveAuthenticator> for GenericSignature
impl TryInto<MoveAuthenticator> for GenericSignature
impl Eq for MoveAuthenticator
Necessary trait for SenderSignerData. This trait is implemented only for MoveAuthenticator and not for specific versions of MoveAuthenticator (e.g., MoveAuthenticatorV1) because the custom serialization/deserialization signature logic is defined at the MoveAuthenticator level.
Auto Trait Implementations§
impl !Freeze for MoveAuthenticator
impl RefUnwindSafe for MoveAuthenticator
impl Send for MoveAuthenticator
impl Sync for MoveAuthenticator
impl Unpin for MoveAuthenticator
impl UnwindSafe for MoveAuthenticator
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read more§impl<A, T> AsBits<T> for A
impl<A, T> AsBits<T> for A
§impl<T, U> AsByteSlice<T> for U
impl<T, U> AsByteSlice<T> for U
fn as_byte_slice(&self) -> &[u8] ⓘ
§impl<U> AsSliceOf for U
impl<U> AsSliceOf for U
fn as_slice_of<T>(&self) -> Result<&[T], Error>where
T: FromByteSlice,
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
§impl<T> Base32Len for T
impl<T> Base32Len for T
§fn base32_len(&self) -> usize
fn base32_len(&self) -> usize
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> Conv for T
impl<T> Conv for T
§impl<T> EncodeDecodeBase64 for Twhere
T: ToFromBytes,
impl<T> EncodeDecodeBase64 for Twhere
T: ToFromBytes,
fn encode_base64(&self) -> String
fn decode_base64(value: &str) -> Result<T, FastCryptoError>
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§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 Request§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<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].§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.§impl<T> ToBase32 for T
impl<T> ToBase32 for T
Source§impl<T> ToHex for T
impl<T> ToHex for T
Source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
self into the result. Lower case
letters are used (e.g. f9b4ca)Source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
self into the result. Upper case
letters are used (e.g. F9B4CA)