Skip to main content

Emissions Controller (Outpost)

The Emissions Controller Outpost exists on each chain that Astroport is deployed and functions as a lightweight "survey satellite" for the main Emissions Controller (Hub). From the vxASTRO voter's perspective, this contract has the same features as the main Emissions Controller. However, the Outpost is more limited and cannot perform fine-grained sanity checks for voted LP tokens.

The Controller Outpost's purpose is to collect voting information and report it back to the main Hub in order to verify and register votes. The contract composes a special internal IBC message to the Hub with the user's vote, and if all checks pass on the Hub, the vote is then accepted. In case of IBC failure or timeouts, the user may attempt the voting transaction again.

Emissions Setting

This endpoint is meant to be called during IBC hook processing. It might be a gas extensive transaction, thus Astroport devs must settle it with supporting relayer operators prior to the vxASTRO launch. The contract has a permissionless endpoint which allows the Hub to set ASTRO emissions in the incentives contract for the next epoch. The contract call must supply the exact ASTRO amount to satisfy the schedules.

This incentives contract:

  • filters out invalid LP tokens
  • checks that schedules have >= 1 uASTRO (0.000001 ASTRO) per second
  • sets up the reward schedules for the pools to receive incentives for the epoch
  • IBC sends leftover funds back to the Hub.

Permissioned Emissions Setting

In case the chain (for example, Sei network) does not support IBC hooks, the emissions message from the Hub might end up with ASTRO bridged to the chain but not distributed. In that case, the contract owner (governance or multisig) can call this endpoint along with the emissions voting outcome (schedules) for this specific outpost. Just as the permissionless contract does above, this endpoint performs checks, sets reward schedules, and IBC sends any leftover funds back to the Hub.

Governance Voting From Outpost (xASTRO / Astral Assembly)

vxASTRO stakers are allowed to vote on registered governance proposals sent to the Outpost from the Hub. The Outpost will then send this vote back to the Hub through IBC messaging where it is verified and registered. Only the Emissions Controller (Hub) can initiate proposal registration via IBC messages. The initial proposal registration sets the proposal start time so the contract knows an individual's voting power at that time.