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§
Provided Methods§
Sourcefn 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.
Sourcefn 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,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl BorshDeserialize for ()
impl BorshDeserialize for ()
Source§impl BorshDeserialize for AccessMetadatawhere
Pubkey: BorshDeserialize,
impl BorshDeserialize for AccessMetadatawhere
Pubkey: BorshDeserialize,
fn deserialize_reader<R>(reader: &mut R) -> Result<AccessMetadata, Error>where
R: Read,
Source§impl BorshDeserialize for AddressMerkleTreeAccountwhere
MerkleTreeMetadata: BorshDeserialize,
impl BorshDeserialize for AddressMerkleTreeAccountwhere
MerkleTreeMetadata: BorshDeserialize,
fn deserialize_reader<R>(
reader: &mut R,
) -> Result<AddressMerkleTreeAccount, Error>where
R: Read,
Source§impl BorshDeserialize for AddressMerkleTreeConfig
impl BorshDeserialize for AddressMerkleTreeConfig
fn deserialize_reader<R>(
reader: &mut R,
) -> Result<AddressMerkleTreeConfig, Error>where
R: Read,
Source§impl BorshDeserialize for AppendLeavesToMerkleTrees
impl BorshDeserialize for AppendLeavesToMerkleTrees
fn deserialize_reader<R>(
reader: &mut R,
) -> Result<AppendLeavesToMerkleTrees, Error>where
R: Read,
Source§impl BorshDeserialize for Authorized
impl BorshDeserialize for Authorized
fn deserialize_reader<R>(reader: &mut R) -> Result<Authorized, Error>where
R: Read,
Source§impl BorshDeserialize for ChangelogEventwhere
[u8; 32]: BorshDeserialize,
Vec<Vec<PathNode>>: BorshDeserialize,
u64: BorshDeserialize,
u32: BorshDeserialize,
impl BorshDeserialize for ChangelogEventwhere
[u8; 32]: BorshDeserialize,
Vec<Vec<PathNode>>: BorshDeserialize,
u64: BorshDeserialize,
u32: BorshDeserialize,
fn deserialize_reader<R>(reader: &mut R) -> Result<ChangelogEvent, Error>where
R: Read,
Source§impl BorshDeserialize for CompressedProof
impl BorshDeserialize for CompressedProof
fn deserialize_reader<R>(reader: &mut R) -> Result<CompressedProof, Error>where
R: Read,
Source§impl BorshDeserialize for Delegation
impl BorshDeserialize for Delegation
fn deserialize_reader<R>(reader: &mut R) -> Result<Delegation, Error>where
R: Read,
Source§impl BorshDeserialize for DeregisterProgram
impl BorshDeserialize for DeregisterProgram
fn deserialize_reader<R>(reader: &mut R) -> Result<DeregisterProgram, Error>where
R: Read,
Source§impl BorshDeserialize for GroupAuthoritywhere
Pubkey: BorshDeserialize,
impl BorshDeserialize for GroupAuthoritywhere
Pubkey: BorshDeserialize,
fn deserialize_reader<R>(reader: &mut R) -> Result<GroupAuthority, Error>where
R: Read,
Source§impl BorshDeserialize for IndexedMerkleTreeEventwhere
[u8; 32]: BorshDeserialize,
Vec<IndexedMerkleTreeUpdate<usize>>: BorshDeserialize,
u64: BorshDeserialize,
impl BorshDeserialize for IndexedMerkleTreeEventwhere
[u8; 32]: BorshDeserialize,
Vec<IndexedMerkleTreeUpdate<usize>>: BorshDeserialize,
u64: BorshDeserialize,
fn deserialize_reader<R>(
reader: &mut R,
) -> Result<IndexedMerkleTreeEvent, Error>where
R: Read,
Source§impl BorshDeserialize for InitializeAddressMerkleTreeAndQueue
impl BorshDeserialize for InitializeAddressMerkleTreeAndQueue
fn deserialize_reader<R>(
reader: &mut R,
) -> Result<InitializeAddressMerkleTreeAndQueue, Error>where
R: Read,
Source§impl BorshDeserialize for InitializeGroupAuthoritywhere
Pubkey: BorshDeserialize,
impl BorshDeserialize for InitializeGroupAuthoritywhere
Pubkey: BorshDeserialize,
fn deserialize_reader<R>(
reader: &mut R,
) -> Result<InitializeGroupAuthority, Error>where
R: Read,
Source§impl BorshDeserialize for InitializeStateMerkleTreeAndNullifierQueue
impl BorshDeserialize for InitializeStateMerkleTreeAndNullifierQueue
fn deserialize_reader<R>(
reader: &mut R,
) -> Result<InitializeStateMerkleTreeAndNullifierQueue, Error>where
R: Read,
Source§impl BorshDeserialize for InsertAddresses
impl BorshDeserialize for InsertAddresses
fn deserialize_reader<R>(reader: &mut R) -> Result<InsertAddresses, Error>where
R: Read,
Source§impl BorshDeserialize for InsertIntoNullifierQueues
impl BorshDeserialize for InsertIntoNullifierQueues
fn deserialize_reader<R>(
reader: &mut R,
) -> Result<InsertIntoNullifierQueues, Error>where
R: Read,
Source§impl BorshDeserialize for Ipv4Addr
Available on crate feature std only.
impl BorshDeserialize for Ipv4Addr
Available on crate feature
std only.Source§impl BorshDeserialize for Ipv6Addr
Available on crate feature std only.
impl BorshDeserialize for Ipv6Addr
Available on crate feature
std only.Source§impl BorshDeserialize for Lockup
impl BorshDeserialize for Lockup
Source§impl BorshDeserialize for MerkleTreeEvent
impl BorshDeserialize for MerkleTreeEvent
fn deserialize_reader<R>(reader: &mut R) -> Result<MerkleTreeEvent, Error>where
R: Read,
Source§impl BorshDeserialize for MerkleTreeEvents
impl BorshDeserialize for MerkleTreeEvents
fn deserialize_reader<R>(reader: &mut R) -> Result<MerkleTreeEvents, Error>where
R: Read,
Source§impl BorshDeserialize for MerkleTreeMetadata
impl BorshDeserialize for MerkleTreeMetadata
fn deserialize_reader<R>(reader: &mut R) -> Result<MerkleTreeMetadata, Error>where
R: Read,
Source§impl BorshDeserialize for Meta
impl BorshDeserialize for Meta
Source§impl BorshDeserialize for NonZero<i8>
impl BorshDeserialize for NonZero<i8>
Source§impl BorshDeserialize for NonZero<i16>
impl BorshDeserialize for NonZero<i16>
Source§impl BorshDeserialize for NonZero<i32>
impl BorshDeserialize for NonZero<i32>
Source§impl BorshDeserialize for NonZero<i64>
impl BorshDeserialize for NonZero<i64>
Source§impl BorshDeserialize for NonZero<i128>
impl BorshDeserialize for NonZero<i128>
Source§impl BorshDeserialize for NonZero<u8>
impl BorshDeserialize for NonZero<u8>
Source§impl BorshDeserialize for NonZero<u16>
impl BorshDeserialize for NonZero<u16>
Source§impl BorshDeserialize for NonZero<u32>
impl BorshDeserialize for NonZero<u32>
Source§impl BorshDeserialize for NonZero<u64>
impl BorshDeserialize for NonZero<u64>
Source§impl BorshDeserialize for NonZero<u128>
impl BorshDeserialize for NonZero<u128>
Source§impl BorshDeserialize for NonZero<usize>
impl BorshDeserialize for NonZero<usize>
Source§impl BorshDeserialize for NullifierEvent
impl BorshDeserialize for NullifierEvent
fn deserialize_reader<R>(reader: &mut R) -> Result<NullifierEvent, Error>where
R: Read,
Source§impl BorshDeserialize for NullifierQueueConfig
impl BorshDeserialize for NullifierQueueConfig
fn deserialize_reader<R>(reader: &mut R) -> Result<NullifierQueueConfig, Error>where
R: Read,
Source§impl BorshDeserialize for NullifyLeaves
impl BorshDeserialize for NullifyLeaves
fn deserialize_reader<R>(reader: &mut R) -> Result<NullifyLeaves, Error>where
R: Read,
Source§impl BorshDeserialize for PathNode
impl BorshDeserialize for PathNode
Source§impl BorshDeserialize for QueueAccountwhere
QueueMetadata: BorshDeserialize,
impl BorshDeserialize for QueueAccountwhere
QueueMetadata: BorshDeserialize,
fn deserialize_reader<R>(reader: &mut R) -> Result<QueueAccount, Error>where
R: Read,
Source§impl BorshDeserialize for QueueMetadata
impl BorshDeserialize for QueueMetadata
fn deserialize_reader<R>(reader: &mut R) -> Result<QueueMetadata, Error>where
R: Read,
Source§impl BorshDeserialize for QueueType
impl BorshDeserialize for QueueType
Source§impl BorshDeserialize for RegisterProgramToGroup
impl BorshDeserialize for RegisterProgramToGroup
fn deserialize_reader<R>(
reader: &mut R,
) -> Result<RegisterProgramToGroup, Error>where
R: Read,
Source§impl BorshDeserialize for RegisteredProgramwhere
Pubkey: BorshDeserialize,
impl BorshDeserialize for RegisteredProgramwhere
Pubkey: BorshDeserialize,
fn deserialize_reader<R>(reader: &mut R) -> Result<RegisteredProgram, Error>where
R: Read,
Source§impl BorshDeserialize for RolloverAddressMerkleTreeAndQueue
impl BorshDeserialize for RolloverAddressMerkleTreeAndQueue
fn deserialize_reader<R>(
reader: &mut R,
) -> Result<RolloverAddressMerkleTreeAndQueue, Error>where
R: Read,
Source§impl BorshDeserialize for RolloverMetadatawhere
u64: BorshDeserialize,
impl BorshDeserialize for RolloverMetadatawhere
u64: BorshDeserialize,
fn deserialize_reader<R>(reader: &mut R) -> Result<RolloverMetadata, Error>where
R: Read,
Source§impl BorshDeserialize for RolloverStateMerkleTreeAndNullifierQueue
impl BorshDeserialize for RolloverStateMerkleTreeAndNullifierQueue
fn deserialize_reader<R>(
reader: &mut R,
) -> Result<RolloverStateMerkleTreeAndNullifierQueue, Error>where
R: Read,
Source§impl BorshDeserialize for SocketAddr
Available on crate feature std only.
impl BorshDeserialize for SocketAddr
Available on crate feature
std only.fn deserialize_reader<R>(reader: &mut R) -> Result<SocketAddr, Error>where
R: Read,
Source§impl BorshDeserialize for SocketAddrV4
Available on crate feature std only.
impl BorshDeserialize for SocketAddrV4
Available on crate feature
std only.fn deserialize_reader<R>(reader: &mut R) -> Result<SocketAddrV4, Error>where
R: Read,
Source§impl BorshDeserialize for SocketAddrV6
Available on crate feature std only.
impl BorshDeserialize for SocketAddrV6
Available on crate feature
std only.