sss-token 1.0.3

Solana Stablecoin Standard - Token Program with blacklist, seize, freeze, and GENIUS Act compliance
Documentation
use anchor_lang::prelude::*;

use crate::errors::SssError;
use crate::state::StablecoinConfig;

pub fn require_blacklist_enabled(config: &StablecoinConfig) -> Result<()> {
    require!(
        config.enable_permanent_delegate,
        SssError::BlacklistNotEnabled
    );
    Ok(())
}

pub fn require_transfer_hook_enabled(config: &StablecoinConfig) -> Result<()> {
    require!(
        config.enable_transfer_hook,
        SssError::TransferHookNotEnabled
    );
    Ok(())
}

pub fn require_confidential_transfers_enabled(config: &StablecoinConfig) -> Result<()> {
    require!(
        config.enable_confidential_transfers,
        SssError::ConfidentialTransfersNotEnabled
    );
    Ok(())
}