#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
pub struct InstantiateMsg {
pub owner: Option<String>,
pub oracle_contract: String,
pub positions_contract: String,
pub staking_contract: String,
pub stability_pool_contract: String,
pub lockdrop_contract: Option<String>,
pub discount_vault_contract: Option<String>,
pub minimum_time_in_network: u64, //in days
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
UpdateConfig(UpdateConfig),
}
pub struct UpdateConfig {
pub owner: Option<String>,
pub mbrn_denom: Option<String>,
pub oracle_contract: Option<String>,
pub positions_contract: Option<String>,
pub staking_contract: Option<String>,
pub stability_pool_contract: Option<String>,
pub lockdrop_contract: Option<String>,
pub discount_vault_contract: Option<(String,bool)>, //address, add
pub minimum_time_in_network: Option<u64>, //in days
}
Returns contract configuration
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum QueryMsg {
Config {}
}
pub struct Config {
pub owner: Addr,
pub mbrn_denom: String,
pub oracle_contract: Addr,
pub positions_contract: Addr,
pub staking_contract: Addr,
pub stability_pool_contract: Addr,
pub lockdrop_contract: Option<Addr>,
pub discount_vault_contract: Vec<Addr>,
pub minimum_time_in_network: u64, //in days
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum QueryMsg {
UserDiscount { user: String }
}
//Returns Decimal