pub trait AnchorDeserialize: Sized {
    // Required method
    fn deserialize_reader<R>(reader: &mut R) -> Result<Self, Error>
       where R: Read;

    // Provided methods
    fn deserialize(buf: &mut &[u8]) -> Result<Self, Error> { ... }
    fn try_from_slice(v: &[u8]) -> Result<Self, Error> { ... }
    fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>
       where R: Read { ... }
}
Expand description

A data-structure that can be de-serialized from binary format by NBOR.

Required Methods§

source

fn deserialize_reader<R>(reader: &mut R) -> Result<Self, Error>
where R: Read,

Provided Methods§

source

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>

Deserialize this instance from a slice of bytes.

source

fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>
where R: Read,

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl BorshDeserialize for SocketAddr

source§

impl BorshDeserialize for QueueType

source§

impl BorshDeserialize for MerkleTreeEvent

source§

impl BorshDeserialize for StakeState

source§

impl BorshDeserialize for StakeStateV2

source§

impl BorshDeserialize for bool

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<bool, Error>
where R: Read,

source§

impl BorshDeserialize for f32

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<f32, Error>
where R: Read,

source§

impl BorshDeserialize for f64

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<f64, Error>
where R: Read,

source§

impl BorshDeserialize for i8

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<i8, Error>
where R: Read,

source§

impl BorshDeserialize for i16

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<i16, Error>
where R: Read,

source§

impl BorshDeserialize for i32

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<i32, Error>
where R: Read,

source§

impl BorshDeserialize for i64

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<i64, Error>
where R: Read,

source§

impl BorshDeserialize for i128

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<i128, Error>
where R: Read,

source§

impl BorshDeserialize for isize

source§

impl BorshDeserialize for u8

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<u8, Error>
where R: Read,

source§

impl BorshDeserialize for u16

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<u16, Error>
where R: Read,

source§

impl BorshDeserialize for u32

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<u32, Error>
where R: Read,

source§

impl BorshDeserialize for u64

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<u64, Error>
where R: Read,

source§

impl BorshDeserialize for u128

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<u128, Error>
where R: Read,

source§

impl BorshDeserialize for ()

source§

fn deserialize_reader<R>(_reader: &mut R) -> Result<(), Error>
where R: Read,

source§

impl BorshDeserialize for usize

source§

impl BorshDeserialize for Ipv4Addr

source§

impl BorshDeserialize for Ipv6Addr

source§

impl BorshDeserialize for SocketAddrV4

source§

impl BorshDeserialize for SocketAddrV6

source§

impl BorshDeserialize for NonZero<i8>

source§

impl BorshDeserialize for NonZero<i16>

source§

impl BorshDeserialize for NonZero<i32>

source§

impl BorshDeserialize for NonZero<i64>

source§

impl BorshDeserialize for NonZero<i128>

source§

impl BorshDeserialize for NonZero<u8>

source§

impl BorshDeserialize for NonZero<u16>

source§

impl BorshDeserialize for NonZero<u32>

source§

impl BorshDeserialize for NonZero<u64>

source§

impl BorshDeserialize for NonZero<u128>

source§

impl BorshDeserialize for NonZero<usize>

source§

impl BorshDeserialize for AppendLeavesToMerkleTrees
where Vec<(u8, [u8; 32])>: BorshDeserialize,

source§

impl BorshDeserialize for DeregisterProgram

source§

impl BorshDeserialize for InitializeAddressMerkleTreeAndQueue

source§

impl BorshDeserialize for InitializeGroupAuthority

source§

impl BorshDeserialize for InitializeStateMerkleTreeAndNullifierQueue

source§

impl BorshDeserialize for InsertAddresses

source§

impl BorshDeserialize for InsertIntoNullifierQueues

source§

impl BorshDeserialize for NullifyLeaves

source§

impl BorshDeserialize for RegisterProgramToGroup

source§

impl BorshDeserialize for RolloverAddressMerkleTreeAndQueue

source§

impl BorshDeserialize for RolloverStateMerkleTreeAndNullifierQueue

source§

impl BorshDeserialize for UpdateAddressMerkleTree

source§

impl BorshDeserialize for UpdateGroupAuthority

source§

impl BorshDeserialize for AddressMerkleTreeConfig

source§

impl BorshDeserialize for NullifierQueueConfig

source§

impl BorshDeserialize for StateMerkleTreeConfig

source§

impl BorshDeserialize for RegisteredProgram

source§

impl BorshDeserialize for AccessMetadata

source§

impl BorshDeserialize for AddressMerkleTreeAccount

source§

impl BorshDeserialize for GroupAuthority

source§

impl BorshDeserialize for MerkleTreeMetadata

source§

impl BorshDeserialize for StateMerkleTreeAccount

source§

impl BorshDeserialize for QueueAccount

source§

impl BorshDeserialize for QueueMetadata

source§

impl BorshDeserialize for RolloverMetadata

source§

impl BorshDeserialize for ChangelogEvent

source§

impl BorshDeserialize for IndexedMerkleTreeEvent

source§

impl BorshDeserialize for MerkleTreeEvents

source§

impl BorshDeserialize for NullifierEvent

source§

impl BorshDeserialize for PathNode

source§

impl BorshDeserialize for CompressedProof

source§

impl BorshDeserialize for StakeFlags

source§

impl BorshDeserialize for Authorized

source§

impl BorshDeserialize for Delegation

source§

impl BorshDeserialize for Lockup

source§

impl BorshDeserialize for Meta

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<Meta, Error>
where R: Read,

source§

impl BorshDeserialize for Stake

source§

impl<I> BorshDeserialize for IndexedMerkleTreeUpdate<I>

source§

impl<I> BorshDeserialize for RawIndexedElement<I>

source§

impl<T0> BorshDeserialize for (T0,)
where T0: BorshDeserialize,

source§

impl<T0, T1> BorshDeserialize for (T0, T1)

source§

impl<T0, T1, T2> BorshDeserialize for (T0, T1, T2)

source§

impl<T0, T1, T2, T3> BorshDeserialize for (T0, T1, T2, T3)

source§

impl<T0, T1, T2, T3, T4> BorshDeserialize for (T0, T1, T2, T3, T4)

source§

impl<T0, T1, T2, T3, T4, T5> BorshDeserialize for (T0, T1, T2, T3, T4, T5)

source§

impl<T0, T1, T2, T3, T4, T5, T6> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> BorshDeserialize for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)

source§

impl<T> BorshDeserialize for Option<T>

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<Option<T>, Error>
where R: Read,

source§

impl<T> BorshDeserialize for PhantomData<T>
where T: ?Sized,

source§

impl<T> BorshDeserialize for Range<T>

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<Range<T>, Error>
where R: Read,

source§

impl<T, E> BorshDeserialize for Result<T, E>

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<Result<T, E>, Error>
where R: Read,

source§

impl<T, const N: usize> BorshDeserialize for [T; N]

Implementors§

source§

impl BorshDeserialize for Definition

source§

impl BorshDeserialize for Fields

source§

impl BorshDeserialize for InitCpiContextAccount

source§

impl BorshDeserialize for Invoke

source§

impl BorshDeserialize for InvokeCpi

source§

impl BorshDeserialize for StubIdlBuild

source§

impl BorshDeserialize for InstructionDataInvoke

source§

impl BorshDeserialize for NewAddressParams

source§

impl BorshDeserialize for NewAddressParamsPacked

source§

impl BorshDeserialize for OutputCompressedAccountWithContext

source§

impl BorshDeserialize for OutputCompressedAccountWithPackedContext

source§

impl BorshDeserialize for light_system_program::invoke::processor::CompressedProof

source§

impl BorshDeserialize for CompressedSolPda

source§

impl BorshDeserialize for CompressedAccount

source§

impl BorshDeserialize for CompressedAccountData

source§

impl BorshDeserialize for CompressedAccountWithMerkleContext

source§

impl BorshDeserialize for MerkleContext

source§

impl BorshDeserialize for PackedCompressedAccountWithMerkleContext

source§

impl BorshDeserialize for PackedMerkleContext

source§

impl BorshDeserialize for QueueIndex

source§

impl BorshDeserialize for MerkleTreeSequenceNumber

source§

impl BorshDeserialize for PublicTransactionEvent

source§

impl BorshDeserialize for CompressedCpiContext

source§

impl BorshDeserialize for CpiContextAccount

source§

impl BorshDeserialize for InstructionDataInvokeCpi

source§

impl BorshDeserialize for String

source§

impl BorshDeserialize for BorshSchemaContainer

source§

impl BorshDeserialize for Pubkey

source§

impl<K, V> BorshDeserialize for BTreeMap<K, V>

source§

impl<K, V, H> BorshDeserialize for HashMap<K, V, H>

source§

impl<T> BorshDeserialize for Cow<'_, T>
where T: ToOwned + ?Sized, <T as ToOwned>::Owned: BorshDeserialize,

source§

impl<T> BorshDeserialize for BTreeSet<T>
where T: BorshDeserialize + Ord,

source§

impl<T> BorshDeserialize for BinaryHeap<T>
where T: BorshDeserialize + Ord,

source§

impl<T> BorshDeserialize for LinkedList<T>

source§

impl<T> BorshDeserialize for VecDeque<T>

source§

impl<T> BorshDeserialize for Vec<T>

source§

impl<T, H> BorshDeserialize for HashSet<T, H>

source§

impl<T, U> BorshDeserialize for Box<T>
where U: Into<Box<T>> + Borrow<T>, T: ToOwned<Owned = U> + ?Sized, <T as ToOwned>::Owned: BorshDeserialize,