use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use cosmwasm_std::{Addr, Decimal, Uint128};
use cw_controllers::Claims;
use cw_storage_plus::Item;
use cw_utils::Duration;
pub const CLAIMS: Claims = Claims::new("claims");
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct InvestmentInfo {
pub owner: Addr,
pub bond_denom: String,
pub unbonding_period: Duration,
pub exit_tax: Decimal,
pub validator: String,
pub min_withdrawal: Uint128,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema, Default)]
pub struct Supply {
pub issued: Uint128,
pub bonded: Uint128,
pub claims: Uint128,
}
pub const INVESTMENT: Item<InvestmentInfo> = Item::new("invest");
pub const TOTAL_SUPPLY: Item<Supply> = Item::new("total_supply");