Distributor
Key | Type | Description |
gov_contract | CanonicalAddr | Contract address of Gov |
anchor_token | CanonicalAddr | Contract address of ANC token |
whitelist | Vec<CanonicalAddr> | List of addresses permissioned to spend ANC in Distributor |
spend_limit | Uint128 | Maximum amount of ANC spendable per spend event |
Rust
JSON
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct InstantiateMsg {
pub gov_contract: String, // anchor gov contract
pub anchor_token: String, // anchor token address
pub whitelist: Vec<String>, // whitelisted contract addresses allowed to spend from distributor
pub spend_limit: Uint128, // spend limit per each `spend` request
}
{
"gov_contract": "terra1...",
"anchor_token": "terra1...",
"whitelist": [
"terra1...",
"terra1...",
"terra1..."
],
"spend_limit": "100000000"
}
Key | Type | Description |
gov_contract | String | Contract address of Gov |
anchor_token | String | Contract address of ANC token |
whitelist | Vec<String> | List of addresses permissioned to spend ANC in Distributor |
spend_limit | Uint128 | Maximum amount of ANC spendable per spend event |
Updates the Distributor contract configuration. Can only be issued by the Gov contract.
Rust
JSON
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
UpdateConfig {
spend_limit: Option<Uint128>,
}
}
{
"update_config": {
"spend_limit": "100000000"
}
}
Key | Type | Description |
spend_limit * | Uint128 | Maximum amount of ANC spendable per spend event |
* = optional
Spends ANC in Distributor. Can only be issued by whitelisted addresses.
Rust
JSON
#[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"
}
}
Key | Type | Description |
recipient | String | Recipient address of ANC spend |
amount | Uint128 | ANC amount to receive |
Adds a new ANC distribution contract to the whitelist. Can only be issued by the Gov contract.
Rust
JSON
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
AddDistributor {
distributor: String,
}
}
{
"add_distributor": {
"distributor": "terra1..."
}
}
Key | Type | Description |
distributor | String | Contract address of ANC distribution contract to add |
Removes a ANC distribution contract from the whitelist. Can only be issued by the Gov contract.
Rust
JSON
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
RemoveDistributor {
distributor: String,
}
}
{
"remove_distributor": {
"distributor": "terra1..."
}
}
Key | Type | Description |
distributor | String | Contract address of ANC distribution contract to remove |
Gets the Distributor contract configuration.
Rust
JSON
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum QueryMsg {
Config {}
}
{
"config": {}
}
Key | Type | Description |
| | |
Rust
JSON
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct ConfigResponse {
pub gov_contract: String,
pub anchor_token: String,
pub whitelist: Vec<String>,
pub spend_limit: Uint128,
}
{
"gov_contract": "terra1...",
"anchor_token": "terra1...",
"whitelist": [
"terra1...",
"terra1...",
"terra1..."
],
"spend_limit": "100000000"
}
Key | Type | Description |
gov_contract | String | Contract address of Gov |
anchor_token | String | Contract address of ANC Token |
whitelist | Vec<String> | List of addresses permissioned to spend ANC in Distributor |
spend_limit | Uint128 | Maximum amount of ANC spendable per spend event |
Last modified 2yr ago