The Community Contract holds the funds of the Community Pool, which can be spent through a governance poll.
Config
InstantiateMsg
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct InstantiateMsg {
pub gov_contract: String,
pub anchor_token: String,
pub spend_limit: Uint128,
}
{
"gov_contract": "terra1...",
"anchor_token": "terra1...",
"spend_limit": "100000000000"
}
ExecuteMsg
UpdateConfig
Updates the Collector contract configuration.
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
UpdateConfig {
spend_limit: Option<Uint128>,
}
}
{
"update_config": {
"spend_limit": "100000000000"
}
}
* = optional
Spend
Transfers ANC tokens to the grant recipient. Can only be issued by the Gov contract.
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
Spend {
recipient: String,
amount: Uint128,
}
}
{
"spend": {
"recipient": "terra1...",
"amount": "100000000"
}
}
QueryMsg
Config
Gets the Collector contract configuration.
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum QueryMsg {
Config {}
}
ConfigResponse
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct ConfigResponse {
pub gov_contract: String,
pub anchor_token: String,
pub spend_limit: Uint128,
}
{
"gov_contract": "terra1...",
"anchor_token": "terra1...",
"spend_limit": "100000000000"
}