pub enum MintExtension<'a> {
TransferFeeConfig {
authority: Option<&'a Address>,
withdraw_authority: Option<&'a Address>,
basis_points: u16,
maximum_fee: u64,
},
MintCloseAuthority(Option<&'a Address>),
NonTransferable,
PermanentDelegate(&'a Address),
TransferHook {
authority: Option<&'a Address>,
program_id: Option<&'a Address>,
},
MetadataPointer {
authority: Option<&'a Address>,
metadata_address: Option<&'a Address>,
},
}Expand description
Fixed-size mint extensions supported by MintPlan.
Extension authorities and hook/metadata addresses use Token-2022’s nullable
address encoding where applicable. Some(zero_address) is rejected for
those fields, rather than silently being interpreted as None.
Variants§
TransferFeeConfig
MintCloseAuthority(Option<&'a Address>)
NonTransferable
PermanentDelegate(&'a Address)
TransferHook
MetadataPointer
Implementations§
Source§impl MintExtension<'_>
impl MintExtension<'_>
Sourcepub const fn extension_type(&self) -> u16
pub const fn extension_type(&self) -> u16
Token-2022’s TLV extension discriminator (not an instruction tag).
Sourcepub fn instruction_data(&self) -> Result<MintInstructionData, ProgramError>
pub fn instruction_data(&self) -> Result<MintInstructionData, ProgramError>
Canonical instruction bytes, also usable by off-chain instruction builders.
Trait Implementations§
Source§impl<'a> Clone for MintExtension<'a>
impl<'a> Clone for MintExtension<'a>
impl<'a> Copy for MintExtension<'a>
Auto Trait Implementations§
impl<'a> Freeze for MintExtension<'a>
impl<'a> RefUnwindSafe for MintExtension<'a>
impl<'a> Send for MintExtension<'a>
impl<'a> Sync for MintExtension<'a>
impl<'a> Unpin for MintExtension<'a>
impl<'a> UnsafeUnpin for MintExtension<'a>
impl<'a> UnwindSafe for MintExtension<'a>
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