use const_crypto::ed25519;
use solana_program::{pubkey, pubkey::Pubkey};
pub const INITIALIZER_ADDRESS: Pubkey = pubkey!("CD6SkYqR8TRjSaPmmyRUc7J4PhoQdhS8E4r7KjWxxJFW");
pub const MAX_FEE_BASIS_POINTS: u16 = 300;
pub const TOKEN_2022_PROGRAM_ID: Pubkey = pubkey!("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");
pub const CONFIG: &[u8] = b"config";
pub const SOL_STORAGE: &[u8] = b"sol_storage";
pub const VAULT: &[u8] = b"vault";
pub const AUTHORITY_TRANSFER: &[u8] = b"authority_transfer";
pub const FEE_SHARD: &[u8] = b"fee_shard";
pub const FEE_SHARD_SOL: &[u8] = b"fee_shard_sol";
pub const AUTHORITY_TRANSFER_DELAY_SECONDS: i64 = 172_800;
const PROGRAM_ID: [u8; 32] = unsafe { *(&crate::id() as *const Pubkey as *const [u8; 32]) };
pub const CONFIG_ADDRESS: Pubkey =
Pubkey::new_from_array(ed25519::derive_program_address(&[CONFIG], &PROGRAM_ID).0);