#[repr(C)]pub struct MintMetadata {
pub version: u8,
pub mint_decompressed: bool,
pub mint: Pubkey,
pub mint_signer: [u8; 32],
pub bump: u8,
}Expand description
Light Protocol-specific metadata for compressed mints.
Total size: 67 bytes
- version: 1 byte
- mint_decompressed: 1 byte
- mint: 32 bytes
- mint_signer: 32 bytes
- bump: 1 byte
Fields§
§version: u8Version for upgradability
mint_decompressed: boolWhether the compressed mint has been decompressed to a Mint Solana account. When true, the Mint account is the source of truth.
mint: PubkeyPDA derived from mint_signer, used as seed for the compressed address
mint_signer: [u8; 32]Signer pubkey used to derive the mint PDA
bump: u8Bump seed from mint PDA derivation
Implementations§
Source§impl MintMetadata
impl MintMetadata
Sourcepub fn compressed_address(&self) -> [u8; 32]
pub fn compressed_address(&self) -> [u8; 32]
Derives the compressed address from mint PDA, MINT_ADDRESS_TREE and LIGHT_TOKEN_PROGRAM_ID
Trait Implementations§
Source§impl BorshDeserialize for MintMetadatawhere
u8: BorshDeserialize,
bool: BorshDeserialize,
Pubkey: BorshDeserialize,
[u8; 32]: BorshDeserialize,
impl BorshDeserialize for MintMetadatawhere
u8: BorshDeserialize,
bool: BorshDeserialize,
Pubkey: BorshDeserialize,
[u8; 32]: BorshDeserialize,
fn deserialize_reader<R: Read>(reader: &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 MintMetadata
impl BorshSerialize for MintMetadata
Source§impl Clone for MintMetadata
impl Clone for MintMetadata
Source§fn clone(&self) -> MintMetadata
fn clone(&self) -> MintMetadata
Returns a duplicate 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 MintMetadata
impl Debug for MintMetadata
Source§impl Default for MintMetadata
impl Default for MintMetadata
Source§fn default() -> MintMetadata
fn default() -> MintMetadata
Returns the “default value” for a type. Read more
Source§impl PartialEq for MintMetadata
impl PartialEq for MintMetadata
Source§impl<'a> ZeroCopyAt<'a> for MintMetadata
impl<'a> ZeroCopyAt<'a> for MintMetadata
type ZeroCopyAt = ZMintMetadata<'a>
fn zero_copy_at( __remaining_bytes: &'a [u8], ) -> Result<(Self::ZeroCopyAt, &'a [u8]), ZeroCopyError>
Source§impl<'a> ZeroCopyAtMut<'a> for MintMetadata
impl<'a> ZeroCopyAtMut<'a> for MintMetadata
type ZeroCopyAtMut = ZMintMetadataMut<'a>
fn zero_copy_at_mut( __remaining_bytes: &'a mut [u8], ) -> Result<(Self::ZeroCopyAtMut, &'a mut [u8]), ZeroCopyError>
Source§impl<'a> ZeroCopyNew<'a> for MintMetadata
impl<'a> ZeroCopyNew<'a> for MintMetadata
Source§type ZeroCopyConfig = ()
type ZeroCopyConfig = ()
Configuration type needed to initialize this type
Source§type Output = <MintMetadata as ZeroCopyAtMut<'a>>::ZeroCopyAtMut
type Output = <MintMetadata as ZeroCopyAtMut<'a>>::ZeroCopyAtMut
Output type - the mutable zero-copy view of this type
Source§fn byte_len(config: &Self::ZeroCopyConfig) -> Result<usize, ZeroCopyError>
fn byte_len(config: &Self::ZeroCopyConfig) -> Result<usize, ZeroCopyError>
Calculate the byte length needed for this type with the given configuration Read more
Source§fn new_zero_copy(
__remaining_bytes: &'a mut [u8],
config: Self::ZeroCopyConfig,
) -> Result<(Self::Output, &'a mut [u8]), ZeroCopyError>
fn new_zero_copy( __remaining_bytes: &'a mut [u8], config: Self::ZeroCopyConfig, ) -> Result<(Self::Output, &'a mut [u8]), ZeroCopyError>
Initialize this type in a mutable byte slice with the given configuration Read more
Source§impl ZeroCopyStructInner for MintMetadata
impl ZeroCopyStructInner for MintMetadata
type ZeroCopyInner = ZMintMetadata<'static>
Source§impl ZeroCopyStructInnerMut for MintMetadata
impl ZeroCopyStructInnerMut for MintMetadata
type ZeroCopyInnerMut = ZMintMetadataMut<'static>
impl Eq for MintMetadata
impl StructuralPartialEq for MintMetadata
Auto Trait Implementations§
impl Freeze for MintMetadata
impl RefUnwindSafe for MintMetadata
impl Send for MintMetadata
impl Sync for MintMetadata
impl Unpin for MintMetadata
impl UnwindSafe for MintMetadata
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> HashToFieldSize for Twhere
T: BorshSerialize,
impl<T> HashToFieldSize for Twhere
T: BorshSerialize,
fn hash_to_field_size(&self) -> Result<[u8; 32], HasherError>
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