sss_token/utils/
feature_gate.rs1use anchor_lang::prelude::*;
2
3use crate::errors::SssError;
4use crate::state::StablecoinConfig;
5
6pub fn require_blacklist_enabled(config: &StablecoinConfig) -> Result<()> {
7 require!(
8 config.enable_permanent_delegate,
9 SssError::BlacklistNotEnabled
10 );
11 Ok(())
12}
13
14pub fn require_transfer_hook_enabled(config: &StablecoinConfig) -> Result<()> {
15 require!(
16 config.enable_transfer_hook,
17 SssError::TransferHookNotEnabled
18 );
19 Ok(())
20}
21
22pub fn require_confidential_transfers_enabled(config: &StablecoinConfig) -> Result<()> {
23 require!(
24 config.enable_confidential_transfers,
25 SssError::ConfidentialTransfersNotEnabled
26 );
27 Ok(())
28}