spl_token_2022/extension/group_pointer/
mod.rs

1#[cfg(feature = "serde-traits")]
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/// Instruction processor for the `GroupPointer` extension
12pub mod processor;
13
14/// Group pointer extension data for mints.
15#[repr(C)]
16#[cfg_attr(feature = "serde-traits", derive(Serialize, Deserialize))]
17#[cfg_attr(feature = "serde-traits", serde(rename_all = "camelCase"))]
18#[derive(Clone, Copy, Debug, Default, PartialEq, Pod, Zeroable)]
19pub struct GroupPointer {
20    /// Authority that can set the group address
21    pub authority: OptionalNonZeroPubkey,
22    /// Account address that holds the group
23    pub group_address: OptionalNonZeroPubkey,
24}
25
26impl Extension for GroupPointer {
27    const TYPE: ExtensionType = ExtensionType::GroupPointer;
28}