pub struct InvokeWrapper(pub InstructionDataInvoke);Expand description
Wrapper type for Invoke instruction that handles the 4-byte Anchor prefix.
The derive macro’s borsh deserialization expects the data immediately after the discriminator, but Invoke/InvokeCpi have a 4-byte vec length prefix. This wrapper type’s deserialize implementation skips those 4 bytes.
Tuple Fields§
§0: InstructionDataInvokeTrait Implementations§
Source§impl BorshDeserialize for InvokeWrapper
impl BorshDeserialize for InvokeWrapper
fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>
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,
Auto Trait Implementations§
impl Freeze for InvokeWrapper
impl RefUnwindSafe for InvokeWrapper
impl Send for InvokeWrapper
impl Sync for InvokeWrapper
impl Unpin for InvokeWrapper
impl UnsafeUnpin for InvokeWrapper
impl UnwindSafe for InvokeWrapper
Blanket Implementations§
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<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