use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use cosmwasm_std::Uint128;
use cw_storage_plus::Item;
use crate::curves::DecimalPlaces;
use crate::msg::CurveType;
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema, Default)]
pub struct CurveState {
pub reserve: Uint128,
pub supply: Uint128,
pub reserve_denom: String,
pub decimals: DecimalPlaces,
}
impl CurveState {
pub fn new(reserve_denom: String, decimals: DecimalPlaces) -> Self {
CurveState {
reserve: Uint128::zero(),
supply: Uint128::zero(),
reserve_denom,
decimals,
}
}
}
pub const CURVE_STATE: Item<CurveState> = Item::new("curve_state");
pub const CURVE_TYPE: Item<CurveType> = Item::new("curve_type");