safe_token_2022/extension/
non_transferable.rs

1use {
2    crate::extension::{Extension, ExtensionType},
3    bytemuck::{Pod, Zeroable},
4};
5
6/// Indicates that the tokens from this mint can't be transfered
7#[derive(Clone, Copy, Debug, Default, PartialEq, Pod, Zeroable)]
8#[repr(transparent)]
9pub struct NonTransferable;
10
11/// Indicates that the tokens from this account belong to a non-transferable mint
12#[derive(Clone, Copy, Debug, Default, PartialEq, Pod, Zeroable)]
13#[repr(transparent)]
14pub struct NonTransferableAccount;
15
16impl Extension for NonTransferable {
17    const TYPE: ExtensionType = ExtensionType::NonTransferable;
18}
19
20impl Extension for NonTransferableAccount {
21    const TYPE: ExtensionType = ExtensionType::NonTransferableAccount;
22}