use cosmwasm_schema::cw_serde;
use cosmwasm_std::{Addr, Uint128};
use cw_storage_plus::{Item, Map};

#[cw_serde]
pub struct CoreConfig {
    /// Admin address
    pub admin: Addr,
    /// Whether contract is paused
    pub paused: bool,
    /// Burn-exempt contract slots (spec ยง4.1: only these 4 contracts bypass 1% transfer burn)
    pub mine_contract: Option<Addr>,
    pub stake_contract: Option<Addr>,
    pub refer_contract: Option<Addr>,
    pub wrap_contract: Option<Addr>,
}

pub const CONFIG: Item<CoreConfig> = Item::new("config");
/// Authorized callers that can mint/burn (litium-mine, litium-stake, litium-refer, litium-wrap)
pub const AUTHORIZED_CALLERS: Map<&Addr, bool> = Map::new("authorized_callers");
/// Total LI burned via explicit Burn calls (beta burn from litium-mine)
pub const BURN_TOTAL: Item<Uint128> = Item::new("burn_total");
/// Total LI fees routed to litium-mine via 1% transfer fee
pub const FEE_TOTAL: Item<Uint128> = Item::new("fee_total");
/// Total LI minted (tracks against supply cap)
pub const TOTAL_MINTED: Item<Uint128> = Item::new("total_minted");

Dimensions

cw-cyber/contracts/cw-cyber-gift/src/state.rs
cw-cyber/contracts/cw-cyber-subgraph/src/state.rs
cw-cyber/contracts/cybernet/src/state.rs
cw-cyber/contracts/hub-libs/src/state.rs
cw-cyber/contracts/litium-wrap/src/state.rs
cw-cyber/contracts/litium-refer/src/state.rs
cw-cyber/contracts/graph-filter/src/state.rs
cw-cyber/contracts/litium-stake/src/state.rs
cw-cyber/contracts/hub-networks/src/state.rs
cw-cyber/contracts/hub-skills/src/state.rs
cw-cyber/contracts/hub-protocols/src/state.rs
cw-cyber/contracts/hub-tokens/src/state.rs
cw-cyber/contracts/std-test/src/state.rs
cw-cyber/contracts/hub-channels/src/state.rs
cw-cyber/contracts/cw-cyber-passport/src/state.rs
cw-cyber/packages/hub-base/src/state.rs
cw-cyber/contracts/litium-mine/src/state.rs

Local Graph