Collector

The Collector accumulates Anchor protocol fees and swaps them to ANC through the ANC <> UST Terraswap pair. Swapped ANC tokens are distributed to ANC stakers (sent to Gov contract).

Config

Name

Type

Description

gov_contract

CanonicalAddr

Contract address of Gov

terraswap_factory

CanonicalAddr

Contract address of Terraswap Factory

anchor_token

CanonicalAddr

Contract address of Anchor Token (ANC)

distributor_contract

CanonicalAddr

Contract address of Distributor

reward_factor

Decimal

Ratio of purchased ANC distributed to ANC stakers

InstantiateMsg

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct InstantiateMsg {
    pub gov_contract: String, 
    pub terraswap_factory: String,
    pub anchor_token: String,
    pub distributor_contract: String,
    pub reward_factor: Decimal,
}

Name

Type

Description

gov_contract

String

Contract address of Gov

terraswap_factory

String

Contract address of Terraswap Factory

anchor_token

String

Contract address of Anchor Token (ANC)

distributor_contract

String

Contract address of Distributor

reward_factor

Decimal

Ratio of purchased ANC distributed to ANC stakers

ExecuteMsg

UpdateConfig

Updates the Collector contract configuration.

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
    UpdateConfig {
        reward_factor: Option<Decimal>, 
    }
}

Name

Type

Description

reward_factor*

Decimal

New ratio of purchased ANC distributed to ANC stakers

* = optional

Sweep

Can be issued by anyone to swap denom Terra stablecoins in the Collector contract to ANC tokens. Afterwards, distributes reward_factor portion of swapped ANC tokens to ANC stakers. Can be issued by anyone.

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum ExecuteMsg {
    Sweep {
        denom: String, 
    }
}

Name

Type

Description

denom

String

Denomination of stablecoin to swap

QueryMsg

Config

Gets the Collector contract configuration.

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum QueryMsg {
    Config {}
}

Name

Type

Description

ConfigResponse

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct ConfigResponse {
    pub gov_contract: String, 
    pub terraswap_factory: String,
    pub anchor_token: String,
    pub distributor_contract: String,
    pub reward_factor: Decimal,
}

Name

Type

Description

gov_contract

String

Contract address of Gov

terraswap_factory

String

Contract address of Terraswap Factory

anchor_token

String

Contract address of Anchor Token (ANC)

distributor_contract

String

Contract address of Distributor

reward_factor

Decimal

Ratio of purchased ANC distributed to ANC stakers

Last updated