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;