//! Program identifiers

pub(crate) const MONETARY_POLICY_PROGRAM_ID: &str = "MpM3Yve3AkLvrVsZXvD3hmUmqKj669bv75DPW67PAdr";
pub(crate) const MONETARY_POLICY_ACCOUNT_ID: &str = "MpMhAuQcTmJSHLEyENXpFj3KKvSuJRiuxHNty3cHWQF";
pub(crate) const INITIALIZE_MONETARY_POLICY_AUTHORITY: &str =
    "MpMauth111111111111111111111111111111111111";

/// Program ID for the Monetary Policy program
pub mod program {
    pinocchio_pubkey::declare_id!(crate::ids::MONETARY_POLICY_PROGRAM_ID);
}

/// Pubkey for the Monetary Policy account
pub mod account {
    pinocchio_pubkey::declare_id!(crate::ids::MONETARY_POLICY_ACCOUNT_ID);
}

pub mod initialize_monetary_policy_authority {
    pinocchio_pubkey::declare_id!(crate::ids::INITIALIZE_MONETARY_POLICY_AUTHORITY);
}

//////// SOLANA_PROGRAM ////////

/// Program ID for the Monetary Policy program (solana-program)
pub mod program_solana {
    solana_program::declare_id!(crate::ids::MONETARY_POLICY_PROGRAM_ID);
}

/// Pubkey for the Monetary Policy account (solana-program)
pub mod account_solana {
    solana_program::declare_id!(crate::ids::MONETARY_POLICY_ACCOUNT_ID);
}

pub mod initialize_monetary_policy_authority_solana {
    solana_program::declare_id!(crate::ids::INITIALIZE_MONETARY_POLICY_AUTHORITY);
}
