Add rewards
💡
To understand the contribution tracking and distribution process for verifiers, see Verifier Rewards.
Each chain has two reward pools that must be funded independently before it can be fully integrated. There is one rewards pool to compensate verifiers for signing and another pool to compensate them for voting.
Reward pools are not tied to an epoch. If earned rewards are not claimed, they will continue to grow. If rewards are being earned but the pool has not been sufficiently funded, these rewards can be funded and claimed at a later date. Integrators should ensure that pools always have enough funds so that verifiers can get their rewards quickly.
Create reward pool
The creation of a new reward pool is done via a chain integration governance proposal.
Check the funds in a reward pool
Use rewards_pool()
to check the funds in a pool:
export REWARDS_CONTRACT_ADDRESS="axelar1vaj9sfzc3z0gpel90wu4ljutncutv0wuhvvwfsh30rqxq422z89qnd989l"export CHAIN_NAME="fantom"export VOTING_VERIFIER_OR_MULTISIG_CONTRACT_ADDRESS="axelar1elaymnd2epmfr498h2x9p2nezc4eklv95uv92u9csfs8wl75w7yqdc0h67" || "0x7eeE33A59Db27d762AA1Fa31b26efeE0dABa1132"export RPC="http://devnet-amplifier.axelar.dev:26657"
💡
You can get the addresses of the rewards, voting verifier, and multisig
contracts through
testnet.json
or
devnet-amplifier.json
.
axelard q wasm contract-state smart $REWARDS_CONTRACT_ADDRESS \ '{ "rewards_pool": { "pool_id": { "chain_name":"'"$CHAIN_NAME"'", "contract":"'"$VOTING_VERIFIER_OR_MULTISIG_CONTRACT_ADDRESS"'" } } }' \ --node $RPC
Add funds to a reward pool
Use add_rewards()
add funds to a pool:
export REWARDS_CONTRACT_ADDRESS="axelar1vaj9sfzc3z0gpel90wu4ljutncutv0wuhvvwfsh30rqxq422z89qnd989l"export CHAIN_NAME="avalanche"export VOTING_VERIFIER_OR_MULTISIG_CONTRACT_ADDRESS="axelar1elaymnd2epmfr498h2x9p2nezc4eklv95uv92u9csfs8wl75w7yqdc0h67"|| "0x7eeE33A59Db27d762AA1Fa31b26efeE0dABa1132"export RPC="http://devnet-amplifier.axelar.dev:26657"export AMOUNT="1000uamplifier"# choose the amount to fund (1000000 = 1 AXL) exportCHAIN_ID="devnet-amplifier"
💡
You can get the addresses of the rewards, voting verifier, and multisig
contracts through
devnet-amplifier.json
.
axelard tx wasm execute $REWARDS_CONTRACT_ADDRESS \ '{ "add_rewards": { "pool_id": { "chain_name":"'"$CHAIN_NAME"'", "contract":"'"$VOTING_VERIFIER_OR_MULTISIG_CONTRACT_ADDRESS"'" } } }' \ --amount $AMOUNT \ --keyring-backend test \ --chain-id $CHAIN_ID \ --from wallet \ --gas auto --gas-adjustment 1.5 --gas-prices 0.007uamplifier \ --node $RPC
Anyone can add funds to a rewards pool at any time.