Struct near_primitives::action::delegate::NonDelegateAction
source · pub struct NonDelegateAction(/* private fields */);
Expand description
This is Action which mustn’t contain DelegateAction.
This struct is needed to avoid the recursion when Action/DelegateAction is deserialized.
Important: Don’t make the inner Action public, this must only be constructed
through the correct interface that ensures the inner Action is actually not
a delegate action. That would break an assumption of this type, which we use
in several places. For example, borsh de-/serialization relies on it. If the
invariant is broken, we may end up with a Transaction
or Receipt
that we
can serialize but deserializing it back causes a parsing error.
Trait Implementations§
source§impl BorshDeserialize for NonDelegateAction
impl BorshDeserialize for NonDelegateAction
fn deserialize_reader<R: Read>(rd: &mut R) -> Result<Self, Error>
source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
source§impl BorshSerialize for NonDelegateAction
impl BorshSerialize for NonDelegateAction
source§impl Clone for NonDelegateAction
impl Clone for NonDelegateAction
source§fn clone(&self) -> NonDelegateAction
fn clone(&self) -> NonDelegateAction
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for NonDelegateAction
impl Debug for NonDelegateAction
source§impl<'de> Deserialize<'de> for NonDelegateAction
impl<'de> Deserialize<'de> for NonDelegateAction
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>,
Deserialize this value from the given Serde deserializer. Read more
source§impl From<NonDelegateAction> for Action
impl From<NonDelegateAction> for Action
source§fn from(action: NonDelegateAction) -> Self
fn from(action: NonDelegateAction) -> Self
Converts to this type from the input type.
source§impl PartialEq for NonDelegateAction
impl PartialEq for NonDelegateAction
source§fn eq(&self, other: &NonDelegateAction) -> bool
fn eq(&self, other: &NonDelegateAction) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for NonDelegateAction
impl Serialize for NonDelegateAction
source§impl TryFrom<Action> for NonDelegateAction
impl TryFrom<Action> for NonDelegateAction
impl Eq for NonDelegateAction
impl StructuralPartialEq for NonDelegateAction
Auto Trait Implementations§
impl Freeze for NonDelegateAction
impl RefUnwindSafe for NonDelegateAction
impl Send for NonDelegateAction
impl Sync for NonDelegateAction
impl Unpin for NonDelegateAction
impl UnwindSafe for NonDelegateAction
Blanket Implementations§
source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
Compare self to
key
and return true
if they are equal.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
Compare self to
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§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>
Converts
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>
Converts
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