spl_token_2022_interface/extension/group_pointer/
mod.rs

1#[cfg(feature = "serde")]
2use serde::{Deserialize, Serialize};
3use {
4    crate::extension::{Extension, ExtensionType},
5    bytemuck::{Pod, Zeroable},
6    spl_pod::optional_keys::OptionalNonZeroPubkey,
7};
8
9/// Instructions for the `GroupPointer` extension
10pub mod instruction;
11
12/// Group pointer extension data for mints.
13#[repr(C)]
14#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
15#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
16#[derive(Clone, Copy, Debug, Default, PartialEq, Pod, Zeroable)]
17pub struct GroupPointer {
18    /// Authority that can set the group address
19    pub authority: OptionalNonZeroPubkey,
20    /// Account address that holds the group
21    pub group_address: OptionalNonZeroPubkey,
22}
23
24impl Extension for GroupPointer {
25    const TYPE: ExtensionType = ExtensionType::GroupPointer;
26}