spl_token_2022/extension/confidential_mint_burn/
mod.rs1use {
2 crate::extension::{Extension, ExtensionType},
3 bytemuck::{Pod, Zeroable},
4 solana_zk_sdk::encryption::pod::{
5 auth_encryption::PodAeCiphertext,
6 elgamal::{PodElGamalCiphertext, PodElGamalPubkey},
7 },
8};
9
10pub const MAXIMUM_DEPOSIT_TRANSFER_AMOUNT: u64 = (u16::MAX as u64) + (1 << 16) * (u32::MAX as u64);
14
15pub const PENDING_BALANCE_LO_BIT_LENGTH: u32 = 16;
17
18pub mod instruction;
20
21pub mod processor;
23
24pub mod verify_proof;
26
27#[cfg(not(target_os = "solana"))]
29pub mod account_info;
30
31#[derive(Clone, Copy, Debug, Default, PartialEq, Pod, Zeroable)]
33#[repr(C)]
34pub struct ConfidentialMintBurn {
35 pub confidential_supply: PodElGamalCiphertext,
37 pub decryptable_supply: PodAeCiphertext,
39 pub supply_elgamal_pubkey: PodElGamalPubkey,
41}
42
43impl Extension for ConfidentialMintBurn {
44 const TYPE: ExtensionType = ExtensionType::ConfidentialMintBurn;
45}