Alliance asset properties
The Alliance module also supports bootstrapping an Alliance-enabled chain by adding the following Alliances to the assets
list in the genesis file under the Alliance
property.
The Alliance module leverages the IBC module to bridge foreign tokens and the Token Factory module to mint native tokens. Alliance allows any native token recognized by the bank module to be staked as long as it has been whitelisted. CW-20 tokens sent via IBC from other chains can be used in the Alliance module if they are minted as native tokens.
An Alliance asset consists of the following properties:
Denomโ
The denomination of the Alliance asset. Assets can be either native or IBC. There can only be one Alliance asset for a unique denomination.
RewardWeightโ
The reward power weight of an Alliance asset. The native staking coin is assumed to have a reward weight of 1
. An alliance asset with a RewardWeight of 0.5
has half the reward power compared to the native coin. Alternatively, a RewardWeight of 5
will have five times the reward power. See the reward weight section for more information.
TakeRateโ
The rate at which the Alliance asset will be redistributed to all stakers as rewards at every interval, determined by the TakeRateClaimInterval
module parameter.
TotalTokensโ
The total number of Alliance assets that are currently staked.
TotalValidatorSharesโ
The total amount of theoretical shares created to keep track of asset ownership. Similar to share-accounting in the Cosmos x/staking module, this parameter is used to perform โlazy accountingโ to reduce computational operations whenever tokens are slashed. See the section on Delegation and Validator Shares for more information.
RewardStartTimeโ
The time in which the Alliance asset starts to be allocated rewards. This is used to prevent early stakers from controlling too much of the reward power by providing a warm-up period that allows users to start staking. After this period, rewards start accruing to Alliance stakers. This time is automatically generated based on the RewardDelayTime
module parameter. The RewardDelayTime
period is added to the timestamp of a successful Alliance creation proposal, specifying the RewardStartTime
.
RewardChangeRateโ
The rate at which the reward weight is scaled every interval. If the rate is less than 1
, the reward weight will tend toward 0
.
RewardChangeIntervalโ
Every RewardChangeInterval
, the reward weight of the asset is scaled according to the RewardDecayRate
.
Denomโ
The denomination of the Alliance asset. Assets can be either native or IBC. There can only be one Alliance asset for a unique denomination.
RewardWeightโ
The reward power weight of an Alliance asset. The native staking coin is assumed to have a reward weight of 1
. An alliance asset with a RewardWeight of 0.5
has half the reward power compared to the native coin. Alternatively, a RewardWeight of 5
will have five times the reward power. See the reward weight section for more information.
TakeRateโ
The rate at which the Alliance asset will be redistributed to all stakers as rewards at every interval, determined by the TakeRateClaimInterval
module parameter.
TotalTokensโ
The total number of Alliance assets that are currently staked.
TotalValidatorSharesโ
The total amount of theoretical shares created to keep track of asset ownership. Similar to share-accounting in the Cosmos x/staking module, this parameter is used to perform โlazy accountingโ to reduce computational operations whenever tokens are slashed. See the section on Delegation and Validator Shares for more information.
RewardStartTimeโ
The time in which the Alliance asset starts to be allocated rewards. This is used to prevent early stakers from controlling too much of the reward power by providing a warm-up period that allows users to start staking. After this period, rewards start accruing to Alliance stakers. This time is automatically generated based on the RewardDelayTime
module parameter. The RewardDelayTime
period is added to the timestamp of a successful Alliance creation proposal, specifying the RewardStartTime
.
RewardChangeRateโ
The rate at which the reward weight is scaled every interval. If the rate is less than 1
, the reward weight will tend toward 0
.
RewardChangeIntervalโ
Every RewardChangeInterval
, the reward weight of the asset is scaled according to the RewardDecayRate
.