spl_token_2022/extension/group_member_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 `GroupMemberPointer` extension
10pub mod instruction;
11/// Instruction processor for the `GroupMemberPointer` extension
12pub mod processor;
13
14/// Group member 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 GroupMemberPointer {
20    /// Authority that can set the member address
21    pub authority: OptionalNonZeroPubkey,
22    /// Account address that holds the member
23    pub member_address: OptionalNonZeroPubkey,
24}
25
26impl Extension for GroupMemberPointer {
27    const TYPE: ExtensionType = ExtensionType::GroupMemberPointer;
28}