Skip to main content

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.

An Alliance asset consists of the following properties:

Denom

AllianceAsset
Copy

_10
type AllianceAsset struct {
_10
Denom string
_10
RewardWeight sdk.Dec
_10
TakeRate sdk.Dec
_10
TotalTokens sdk.Int
_10
TotalValidatorShares sdk.Dec
_10
RewardStartTime time.Time
_10
RewardChangeRate sdk.Dec
_10
RewardChangeInterval time.Duration
_10
}
_10
_10
_10
_10
_10
_10
_10
_10
_10
_10

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

AllianceAsset
Copy

_10
type AllianceAsset struct {
_10
Denom string
_10
RewardWeight sdk.Dec
_10
TakeRate sdk.Dec
_10
TotalTokens sdk.Int
_10
TotalValidatorShares sdk.Dec
_10
RewardStartTime time.Time
_10
RewardChangeRate sdk.Dec
_10
RewardChangeInterval time.Duration
_10
}
_10
_10
_10
_10
_10
_10
_10
_10
_10
_10

The voting 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 voting power compared to native stakes. Alternatively, a RewardWeight of 5 has five times the voting power. See the voting power section for more information.

TakeRate

AllianceAsset
Copy

_10
type AllianceAsset struct {
_10
Denom string
_10
RewardWeight sdk.Dec
_10
TakeRate sdk.Dec
_10
TotalTokens sdk.Int
_10
TotalValidatorShares sdk.Dec
_10
RewardStartTime time.Time
_10
RewardChangeRate sdk.Dec
_10
RewardChangeInterval time.Duration
_10
}
_10
_10
_10
_10
_10
_10
_10
_10
_10
_10

The rate at which the Alliance asset will be redistributed to all stakers as rewards at every interval determined by the module parameter TakeRateClaimInterval.

TotalTokens

AllianceAsset
Copy

_10
type AllianceAsset struct {
_10
Denom string
_10
RewardWeight sdk.Dec
_10
TakeRate sdk.Dec
_10
TotalTokens sdk.Int
_10
TotalValidatorShares sdk.Dec
_10
RewardStartTime time.Time
_10
RewardChangeRate sdk.Dec
_10
RewardChangeInterval time.Duration
_10
}
_10
_10
_10
_10
_10
_10
_10
_10
_10
_10

The total number of Alliance assets that are currently staked.

TotalValidatorShares

AllianceAsset
Copy

_10
type AllianceAsset struct {
_10
Denom string
_10
RewardWeight sdk.Dec
_10
TakeRate sdk.Dec
_10
TotalTokens sdk.Int
_10
TotalValidatorShares sdk.Dec
_10
RewardStartTime time.Time
_10
RewardChangeRate sdk.Dec
_10
RewardChangeInterval time.Duration
_10
}
_10
_10
_10
_10
_10
_10
_10
_10
_10
_10

The total amount of theoretical shares created used to keep track of assets 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

AllianceAsset
Copy

_10
type AllianceAsset struct {
_10
Denom string
_10
RewardWeight sdk.Dec
_10
TakeRate sdk.Dec
_10
TotalTokens sdk.Int
_10
TotalValidatorShares sdk.Dec
_10
RewardStartTime time.Time
_10
RewardChangeRate sdk.Dec
_10
RewardChangeInterval time.Duration
_10
}
_10
_10
_10
_10
_10
_10
_10
_10
_10
_10

The time in which the Alliance asset starts to be allocated voting power and rewards. This is used to prevent early stakers from controlling too much of the voting power by providing a warm-up period that allows users to start staking. After this period, rewards and governance power start accruing to Alliance stakers.

RewardChangeRate

AllianceAsset
Copy

_10
type AllianceAsset struct {
_10
Denom string
_10
RewardWeight sdk.Dec
_10
TakeRate sdk.Dec
_10
TotalTokens sdk.Int
_10
TotalValidatorShares sdk.Dec
_10
RewardStartTime time.Time
_10
RewardChangeRate sdk.Dec
_10
RewardChangeInterval time.Duration
_10
}
_10
_10
_10
_10
_10
_10
_10
_10
_10
_10

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

AllianceAsset
Copy

_10
type AllianceAsset struct {
_10
Denom string
_10
RewardWeight sdk.Dec
_10
TakeRate sdk.Dec
_10
TotalTokens sdk.Int
_10
TotalValidatorShares sdk.Dec
_10
RewardStartTime time.Time
_10
RewardChangeRate sdk.Dec
_10
RewardChangeInterval time.Duration
_10
}
_10
_10
_10
_10
_10
_10
_10
_10
_10
_10

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 voting 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 voting power compared to native stakes. Alternatively, a RewardWeight of 5 has five times the voting power. See the voting power 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 module parameter TakeRateClaimInterval.

TotalTokens

The total number of Alliance assets that are currently staked.

TotalValidatorShares

The total amount of theoretical shares created used to keep track of assets 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 voting power and rewards. This is used to prevent early stakers from controlling too much of the voting power by providing a warm-up period that allows users to start staking. After this period, rewards and governance power start accruing to Alliance stakers.

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.

AllianceAsset
CopyExpandClose

_10
type AllianceAsset struct {
_10
Denom string
_10
RewardWeight sdk.Dec
_10
TakeRate sdk.Dec
_10
TotalTokens sdk.Int
_10
TotalValidatorShares sdk.Dec
_10
RewardStartTime time.Time
_10
RewardChangeRate sdk.Dec
_10
RewardChangeInterval time.Duration
_10
}
_10
_10
_10
_10
_10
_10
_10
_10
_10
_10