Distributor
Config
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
InstantiateMsg
#[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
}
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
ExecuteMsg
UpdateConfig
UpdateConfig
Updates the Distributor contract configuration. Can only be issued by the Gov contract.
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
UpdateConfig {
spend_limit: Option<Uint128>,
}
}
Key
Type
Description
spend_limit
*
Uint128
Maximum amount of ANC spendable per spend event
* = optional
Spend
Spend
Spends ANC in Distributor. Can only be issued by whitelisted addresses.
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
Spend {
recipient: String,
amount: Uint128,
}
}
Key
Type
Description
recipient
String
Recipient address of ANC spend
amount
Uint128
ANC amount to receive
AddDistributor
AddDistributor
Adds a new ANC distribution contract to the whitelist. Can only be issued by the Gov contract.
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
AddDistributor {
distributor: String,
}
}
Key
Type
Description
distributor
String
Contract address of ANC distribution contract to add
RemoveDistributor
RemoveDistributor
Removes a ANC distribution contract from the whitelist. Can only be issued by the Gov contract.
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
RemoveDistributor {
distributor: String,
}
}
Key
Type
Description
distributor
String
Contract address of ANC distribution contract to remove
QueryMsg
Config
Config
Gets the Distributor contract configuration.
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum QueryMsg {
Config {}
}
Key
Type
Description
ConfigResponse
ConfigResponse
#[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,
}
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 updated
Was this helpful?