Module astroport_emissions_controller::execute

source ·

Functions§

  • Exposes all the execute functions available in the contract.
  • This function updates existing user’s voting power contribution in pool votes. Is used to reflect user’s vxASTRO balance changes in the emissions controller contract.
  • The function checks that:
  • Register an active proposal on all available outposts. Endpoint is permissionless so anyone can retry to register a proposal in case of IBC timeout.
  • Removes outpost from the contract as well as all whitelisted and being voted pools related to this outpost.
  • This permissionless endpoint retries failed emission IBC messages.
  • The function checks that the last pools tuning happened >= 14 days ago. Then it calculates voting power per each pool. takes top X pools by voting power, where X is ‘config.pools_per_outpost’ * number of outposts, calculates total ASTRO emission amount for upcoming epoch, distributes it between selected pools and sends emission messages to each outpost.
  • Permissioned to the contract owner. Updates the contract configuration.
  • Permissioned endpoint to add or update outpost. Performs several simple checks to cut off possible human errors.
  • Permissionless endpoint to whitelist a pool. Requires a fee to be paid. This endpoint is meant to be executed by users from the Hub or from other outposts via IBC hooks.