Community

The Community Contract holds the funds of the Community Pool, which can be spent through a governance poll.

InitMsg

Rust
JSON
Rust
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct InitMsg {
pub owner: HumanAddr,
pub mirror_token: HumanAddr,
pub spend_limit: Uint128,
}
JSON
{
"owner": "terra1...",
"mirror_token": "terra1...",
"spend_limit": "123456",
}

Key

Type

Description

owner

HumanAddr

Owner address

mirror_token

HumanAddr

Contract address of the Mirror Token

spend_limit

Uint128

Max amount of disbursement

HandleMsg

UpdateConfig

Can only be issued by the owner. Updates the Community Contract's configuration.

Rust
JSON
Rust
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum HandleMsg {
UpdateConfig {
owner: Option<HumanAddr>,
spend_limit: Option<Uint128>,
}
}
JSON
{
"update_config": {
"owner": "terra1...",
"spend_limit": "10000000"
}
}

Key

Type

Description

owner*

HumanAddr

New contract owner

spend_limit*

Uint128

New spending limit

* = optional

Spend

Can only be issued by the owner. Sends the amount of MIR tokens to the designated recipient.

Rust
JSON
Rust
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum HandleMsg {
Spend {
amount: Uint128,
recipient: HumanAddr,
}
}
JSON
{
"spend": {
"amount": "10000000",
"recipient": "terra1..."
}
}

Key

Type

Description

amount

Uint128

Amount of MIR in contract's balance to send

recipient

HumanAddr

Recipient of the funds

QueryMsg

Config

Gets the Mirror Community contract's configuration.

Rust
JSON
Rust
#[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,
}

Key

Type

Description

owner

HumanAddr

Owner address

mirror_token

HumanAddr

Contract address of the Mirror Token

spend_limit

Uint128

Max amount of disbursement

JSON
{
"config": {}
}

Response

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct ConfigResponse {
pub owner: HumanAddr,
pub mirror_token: HumanAddr,
pub spend_limit: Uint128,
}

Key

Type

Description

owner

HumanAddr

Owner address

mirror_token

HumanAddr

Contract address of the Mirror Token

spend_limit

Uint128

Max amount of disbursement