Module utils

Source

Structs§

TuneResult
Internal structure to pass the tune simulation result.

Enums§

IbcHookMemo

Functions§

astro_emissions_curve
Calculate the number of ASTRO tokens collected by the staking contract from the previous epoch and derive emissions for the upcoming epoch.
build_emission_ibc_msg
Compose ics20 message with IBC hook memo for outpost emissions controller.
determine_outpost_prefix
Determine outpost prefix from address or tokenfactory denom.
get_epoch_start
Normalize current timestamp to the beginning of the current epoch (Monday).
get_outpost_from_hub_channel
Helper function to get outpost prefix from an IBC channel.
get_outpost_prefix
Determine outpost prefix for the pool LP token and validate that this outpost exists.
get_xastro_rate_and_share
Query the staking contract ASTRO balance and xASTRO total supply and derive xASTRO staking rate. Return (staking rate, total xASTRO supply).
jail_outpost
Jails outpost as well as removes all whitelisted and being voted pools related to this outpost.
min_ntrn_ibc_fee
raw_emissions_to_schedules
This function converts schedule pairs (lp_token, ASTRO amount) into the incentives contract executable message. It also calculates total ASTRO funds required for the emissions.
simulate_tune
Simulate the next tune outcome based on the voting power distribution at given timestamp. In actual tuning context (function tune_pools) timestamp must match current epoch start.
validate_outpost_prefix
Validate LP token denom or address matches outpost prefix.