The Community Contract holds the funds of the Community Pool, which can be spent through a governance poll.
InitMsg
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct InitMsg {
pub owner: HumanAddr,
pub mirror_token: HumanAddr,
pub spend_limit: Uint128,
}
{
"owner": "terra1...",
"mirror_token": "terra1...",
"spend_limit": "123456",
}
Contract address of the Mirror Token
Max amount of disbursement
HandleMsg
UpdateConfig
Can only be issued by the owner. Updates the Community Contract's configuration.
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum HandleMsg {
UpdateConfig {
owner: Option<HumanAddr>,
spend_limit: Option<Uint128>,
}
}
{
"update_config": {
"owner": "terra1...",
"spend_limit": "10000000"
}
}
* = optional
Spend
Can only be issued by the owner. Sends the amount of MIR tokens to the designated recipient.
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum HandleMsg {
Spend {
amount: Uint128,
recipient: HumanAddr,
}
}
{
"spend": {
"amount": "10000000",
"recipient": "terra1..."
}
}
Amount of MIR in contract's balance to send
QueryMsg
Config
Gets the Mirror Community contract's configuration.
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum QueryMsg {
Config {
}
}
Response
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct ConfigResponse {
pub owner: HumanAddr,
pub mirror_token: HumanAddr,
pub spend_limit: Uint128,
}
Contract address of the Mirror Token
Max amount of disbursement
Response
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct ConfigResponse {
pub owner: HumanAddr,
pub mirror_token: HumanAddr,
pub spend_limit: Uint128,
}
Contract address of the Mirror Token
Max amount of disbursement