light_token_interface/state/extensions/
permanent_delegate.rs

1use light_zero_copy::{ZeroCopy, ZeroCopyMut};
2
3use crate::{AnchorDeserialize, AnchorSerialize};
4
5/// Marker extension indicating the account belongs to a mint with permanent delegate.
6/// This is a zero-size marker (no data) that indicates the token account's
7/// mint has the SPL Token 2022 Permanent Delegate extension.
8///
9/// When present, token operations must check the SPL mint's PermanentDelegate
10/// to determine the delegate authority before allowing transfers/burns.
11#[derive(
12    Debug,
13    Clone,
14    Copy,
15    Hash,
16    PartialEq,
17    Eq,
18    Default,
19    AnchorSerialize,
20    AnchorDeserialize,
21    ZeroCopy,
22    ZeroCopyMut,
23)]
24#[repr(C)]
25pub struct PermanentDelegateAccountExtension;