Create, update, or delete an Alliance
Transactions that affect Alliances can only be executed via the governance module. All stakers agree on creating, updating, or disbanding Alliances through governance proposals.
Create an Alliance
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.
Creating an Alliance uses the /alliance.alliance.MsgCreateAllianceProposal
type. This proposal type describes the Alliance
attribute with the following properties:
denom
: The address of the Alliance asset that the community wants to whitelist.rewards-weight
: Specifies the ratio of reward power given to each Alliance asset. A chain's native asset assumes a reward weight of 1.rewards-weight-min
: The minimum RewardWeight possible.rewards-weight-max
: The maximum RewardWeight.take-rate
: The rate at which the Alliance asset will be redistributed to all stakers as rewards at every interval determined by theTakeRateClaimInterval
module parameter. Used for liquid staking derivatives.reward-change-rate
: The rate at which the reward weight is scaled every interval. If the rate is less than1
, the reward weight will tend toward0
.reward-change-interval
: The interval at which thereward-change-rate
will be applied.
For more information on Alliance asset properties, visit the Asset page.
Usage
Flags
You can add a title, description, and an initial deposit to your proposal by adding the following flags:
Update an Alliance
Updating an alliance uses the /alliance.alliance.MsgUpdateAllianceProposal
type. This action has the same parameters as creating an Alliance. Note that an alliance can be updated only if the parameter denom
matches a pre-existing Alliance.
Usage
Flags
You can add a title, description, and an initial deposit to your proposal by adding the following flags:
Delete an Alliance
Deleting an Alliance is of type /alliance.alliance.MsgDeleteAllianceProposal
. An Alliance cannot be deleted if there are still coins delegated to that Alliance.
The first step in deleting an Alliance is to update the Alliance asset's RewardWeight
to 0
. This will remove all reward power and rewards from the Alliance, effectively removing its influence in the chain.
Usage
Flags
You can add a title, description, and an initial deposit to your proposal by adding the following flags: