IInfrared

Git Source

Functions

whitelistedRewardTokens

Checks if a token is a whitelisted reward token

function whitelistedRewardTokens(address _token) external view returns (bool);

Parameters

NameTypeDescription
_tokenaddressThe address of the token to check

Returns

NameTypeDescription
<none>boolbool True if the token is whitelisted, false otherwise

vaultRegistry

Returns the infrared vault address for a given staking token

function vaultRegistry(address _asset) external view returns (IInfraredVault);

Parameters

NameTypeDescription
_assetaddressThe address of the staking asset

Returns

NameTypeDescription
<none>IInfraredVaultIInfraredVault The vault associated with the asset

ibgt

The InfraredBGT liquid staked token

function ibgt() external view returns (InfraredBGT);

Returns

NameTypeDescription
<none>InfraredBGTIInfraredBGT The InfraredBGT token contract address

rewardsFactory

The Berachain rewards vault factory address

function rewardsFactory()
    external
    view
    returns (IBerachainRewardsVaultFactory);

Returns

NameTypeDescription
<none>IBerachainRewardsVaultFactoryIBerachainRewardsVaultFactory instance of the rewards factory contract address

chef

The Berachain chef contract for distributing validator rewards

function chef() external view returns (IBeraChef);

Returns

NameTypeDescription
<none>IBeraChefIBeraChef instance of the BeraChef contract address

ibgtVault

The InfraredBGT vault

function ibgtVault() external view returns (IInfraredVault);

Returns

NameTypeDescription
<none>IInfraredVaultIInfraredVault instance of the iBGT vault contract address

protocolFeeAmounts

The unclaimed Infrared protocol fees of token accumulated by contract

function protocolFeeAmounts(address token) external view returns (uint256);

Parameters

NameTypeDescription
tokenaddressaddress The token address for the accumulated fees

Returns

NameTypeDescription
<none>uint256uint256 The amount of accumulated fees

fees

Protocol fee rates to charge for various harvest function distributions

function fees(uint256 i) external view returns (uint256);

Parameters

NameTypeDescription
iuint256The index of the fee rate

Returns

NameTypeDescription
<none>uint256uint256 The fee rate

wbera

Wrapped bera

function wbera() external view returns (IWBERA);

Returns

NameTypeDescription
<none>IWBERAIWBERA The wbera token contract address

honey

Honey ERC20 token

function honey() external view returns (ERC20);

Returns

NameTypeDescription
<none>ERC20ERC20 The honey token contract address

collector

bribe collector contract

function collector() external view returns (IBribeCollector);

Returns

NameTypeDescription
<none>IBribeCollectorIBribeCollector The bribe collector contract address

distributor

Infrared distributor for BGT rewards to validators

function distributor() external view returns (IInfraredDistributor);

Returns

NameTypeDescription
<none>IInfraredDistributorIInfraredDistributor instance of the distributor contract address

voter

IRED voter

function voter() external view returns (IVoter);

Returns

NameTypeDescription
<none>IVoterIVoter instance of the voter contract address

ibera

collects all iBERA realted fees and revenue

function ibera() external view returns (IInfraredBERA);

Returns

NameTypeDescription
<none>IInfraredBERAreturns IInfraredBERAFeeReceivor instanace of iBeraFeeReceivor

red

The RED token

function red() external view returns (IRED);

Returns

NameTypeDescription
<none>IREDIRED instance of the RED token contract address

rewardsDuration

The rewards duration

Used as gloabl variabel to set the rewards duration for all new reward tokens on InfraredVaults

function rewardsDuration() external view returns (uint256);

Returns

NameTypeDescription
<none>uint256uint256 The reward duration period, in seconds

registerVault

Registers a new vault for a given asset

Infrared.sol must be admin over MINTER_ROLE on InfraredBGT to grant minter role to deployed vault

Note: emits: NewVault with the caller, asset address, and new vault address.

function registerVault(address _asset)
    external
    returns (IInfraredVault vault);

Parameters

NameTypeDescription
_assetaddressThe address of the asset, such as a specific LP token

Returns

NameTypeDescription
vaultIInfraredVaultThe address of the newly created InfraredVault contract

addReward

Adds a new reward token to a specific staking vault

Only callable by governance when contract is initialized

Notes:

  • error: ZeroAmount if _rewardsDuration is 0

  • error: RewardTokenNotWhitelisted if _rewardsToken is not whitelisted

  • error: NoRewardsVault if vault doesn't exist for _stakingToken

function addReward(
    address _stakingToken,
    address _rewardsToken,
    uint256 _rewardsDuration
) external;

Parameters

NameTypeDescription
_stakingTokenaddressThe address of the staking token associated with the vault
_rewardsTokenaddressThe address of the token to be added as a reward
_rewardsDurationuint256The duration period for the rewards distribution, in seconds

addIncentives

Adds reward incentives to a specific staking vault

Transfers reward tokens from caller to this contract, then notifies vault of new rewards

Notes:

  • error: ZeroAmount if _amount is 0

  • error: NoRewardsVault if vault doesn't exist for _stakingToken

  • error: RewardTokenNotWhitelisted if reward token hasn't been configured for the vault

  • access: Callable when contract is initialized

  • security: Requires caller to have approved this contract to spend _rewardsToken

function addIncentives(
    address _stakingToken,
    address _rewardsToken,
    uint256 _amount
) external;

Parameters

NameTypeDescription
_stakingTokenaddressThe address of the staking token associated with the vault
_rewardsTokenaddressThe address of the token being added as incentives
_amountuint256The amount of reward tokens to add as incentives

updateWhiteListedRewardTokens

Updates the whitelist status of a reward token

function updateWhiteListedRewardTokens(address _token, bool _whitelisted)
    external;

Parameters

NameTypeDescription
_tokenaddressThe address of the token to whitelist or remove from whitelist
_whitelistedboolA boolean indicating if the token should be whitelisted

updateRewardsDuration

Sets the new duration for reward distributions in InfraredVaults

Only callable by governance

function updateRewardsDuration(uint256 _rewardsDuration) external;

Parameters

NameTypeDescription
_rewardsDurationuint256The new reward duration period, in seconds

updateRewardsDurationForVault

Updates the rewards duration for a specific reward token on a specific vault

Only callable by governance

function updateRewardsDurationForVault(
    address _stakingToken,
    address _rewardsToken,
    uint256 _rewardsDuration
) external;

Parameters

NameTypeDescription
_stakingTokenaddressThe address of the staking asset associated with the vault
_rewardsTokenaddressThe address of the reward token to update the duration for
_rewardsDurationuint256The new reward duration period, in seconds

toggleVault

Pauses staking functionality on a specific vault

Only callable by governance, will revert if vault doesn't exist

function toggleVault(address _asset) external;

Parameters

NameTypeDescription
_assetaddressThe address of the staking asset associated with the vault to pause

claimLostRewardsOnVault

Claims lost rewards on a specific vault

Only callable by governance, will revert if vault doesn't exist

function claimLostRewardsOnVault(address _asset) external;

Parameters

NameTypeDescription
_assetaddressThe address of the staking asset associated with the vault to claim lost rewards on

recoverERC20

Recovers ERC20 tokens sent accidentally to the contract

function recoverERC20(address _to, address _token, uint256 _amount) external;

Parameters

NameTypeDescription
_toaddressThe address to receive the recovered tokens
_tokenaddressThe address of the token to recover
_amountuint256The amount of the token to recover

recoverERC20FromVault

Recover ERC20 tokens from a vault.

function recoverERC20FromVault(
    address _asset,
    address _to,
    address _token,
    uint256 _amount
) external;

Parameters

NameTypeDescription
_assetaddressaddress The address of the staking asset that the vault is for.
_toaddressaddress The address to send the tokens to.
_tokenaddressaddress The address of the token to recover.
_amountuint256uint256 The amount of the token to recover.

delegateBGT

Delegates BGT votes to _delegatee address.

function delegateBGT(address _delegatee) external;

Parameters

NameTypeDescription
_delegateeaddressaddress The address to delegate votes to

updateInfraredBERABribesWeight

Updates the weight for iBERA bribes

function updateInfraredBERABribesWeight(uint256 _weight) external;

Parameters

NameTypeDescription
_weightuint256uint256 The weight value

updateFee

Updates the fee rate charged on different harvest functions

Please harvest all assosiated rewards for a given type before updating

Fee rate in units of 1e6 or hundredths of 1 bip

function updateFee(ConfigTypes.FeeType _t, uint256 _fee) external;

Parameters

NameTypeDescription
_tConfigTypes.FeeTypeFeeType The fee type
_feeuint256uint256 The fee rate to update to

setRed

Sets the address of the RED contract

Infrared must be granted MINTER_ROLE on RED to set the address

function setRed(address _red) external;

Parameters

NameTypeDescription
_redaddressThe address of the RED contract

setIBGT

Sets the address of the iBGT contract

Infrared must be granted MINTER_ROLE on IBGT to set the address

function setIBGT(address _ibgt) external;

Parameters

NameTypeDescription
_ibgtaddressThe address of the iBGT contract

updateRedMintRate

Updates the mint rate for RED

function updateRedMintRate(uint256 _redMintRate) external;

Parameters

NameTypeDescription
_redMintRateuint256The new mint rate for RED

claimProtocolFees

Claims accumulated protocol fees in contract

function claimProtocolFees(address _to, address _token, uint256 _amount)
    external;

Parameters

NameTypeDescription
_toaddressaddress The recipient of the fees
_tokenaddressaddress The token to claim fees in
_amountuint256uint256 The amount of accumulated fees to claim

harvestBase

Claims all the BGT base and commission rewards minted to this contract for validators.

function harvestBase() external;

harvestOperatorRewards

Credits all accumulated rewards to the operator

function harvestOperatorRewards() external;

harvestVault

Claims all the BGT rewards for the vault associated with the given staking token.

function harvestVault(address _asset) external;

Parameters

NameTypeDescription
_assetaddressaddress The address of the staking asset that the vault is for.

harvestBribes

Claims all the bribes rewards in the contract forwarded from Berachain POL.

function harvestBribes(address[] memory _tokens) external;

Parameters

NameTypeDescription
_tokensaddress[]address[] memory The addresses of the tokens to harvest in the contract.

collectBribes

Collects bribes from bribe collector and distributes to wiBERA and iBGT Infrared vaults.

_token The payout token for the bribe collector.

_amount The amount of payout received from bribe collector.

function collectBribes(address _token, uint256 _amount) external;

harvestBoostRewards

Claims all the BGT staker rewards from boosting validators.

Sends rewards to iBGT vault.

function harvestBoostRewards() external;

addValidators

Adds validators to the set of InfraredValidators.

function addValidators(ValidatorTypes.Validator[] memory _validators)
    external;

Parameters

NameTypeDescription
_validatorsValidatorTypes.Validator[]Validator[] memory The validators to add.

removeValidators

Removes validators from the set of InfraredValidators.

function removeValidators(bytes[] memory _pubkeys) external;

Parameters

NameTypeDescription
_pubkeysbytes[]bytes[] memory The pubkeys of the validators to remove.

replaceValidator

Replaces a validator in the set of InfraredValidators.

function replaceValidator(bytes calldata _current, bytes calldata _new)
    external;

Parameters

NameTypeDescription
_currentbytesbytes The pubkey of the validator to replace.
_newbytesbytes The new validator pubkey.

queueBoosts

Queue _amts of tokens to _validators for boosts.

function queueBoosts(bytes[] memory _pubkeys, uint128[] memory _amts)
    external;

Parameters

NameTypeDescription
_pubkeysbytes[]bytes[] memory The pubkeys of the validators to queue boosts for.
_amtsuint128[]uint128[] memory The amount of BGT to boost with.

cancelBoosts

Removes _amts from previously queued boosts to _validators.

_pubkeys need not be in the current validator set in case just removed but need to cancel.

function cancelBoosts(bytes[] memory _pubkeys, uint128[] memory _amts)
    external;

Parameters

NameTypeDescription
_pubkeysbytes[]bytes[] memory The pubkeys of the validators to remove boosts for.
_amtsuint128[]uint128[] memory The amounts of BGT to remove from the queued boosts.

activateBoosts

Activates queued boosts for _pubkeys.

function activateBoosts(bytes[] memory _pubkeys) external;

Parameters

NameTypeDescription
_pubkeysbytes[]bytes[] memory The pubkeys of the validators to activate boosts for.

queueDropBoosts

Queues a drop boost of the validators removing an amount of BGT for sender.

Reverts if user does not have enough boosted balance to cover amount.

function queueDropBoosts(bytes[] calldata pubkeys, uint128[] calldata amounts)
    external;

Parameters

NameTypeDescription
pubkeysbytes[]bytes[] memory The pubkeys of the validators to remove boost from.
amountsuint128[]Amounts of BGT to remove from the queued drop boosts.

cancelDropBoosts

Cancels a queued drop boost of the validator removing an amount of BGT for sender.

function cancelDropBoosts(bytes[] calldata pubkeys, uint128[] calldata amounts)
    external;

Parameters

NameTypeDescription
pubkeysbytes[]bytes[] memory The pubkeys of the validators to remove boost from.
amountsuint128[]Amounts of BGT to remove from the queued drop boosts.

dropBoosts

Drops an amount of BGT from an existing boost of validators by user.

function dropBoosts(bytes[] calldata pubkeys) external;

Parameters

NameTypeDescription
pubkeysbytes[]bytes[] memory The pubkeys of the validators to remove boost from.

queueNewCuttingBoard

Queues a new cutting board on BeraChef for reward weight distribution for validator

function queueNewCuttingBoard(
    bytes calldata _pubkey,
    uint64 _startBlock,
    IBeraChef.Weight[] calldata _weights
) external;

Parameters

NameTypeDescription
_pubkeybytesbytes The pubkey of the validator to queue the cutting board for
_startBlockuint64uint64 The start block for reward weightings
_weightsIBeraChef.Weight[]IBeraChef.Weight[] calldata The weightings used when distributor calls chef to distribute validator rewards

infraredValidators

Gets the set of infrared validator pubkeys.

function infraredValidators()
    external
    view
    returns (ValidatorTypes.Validator[] memory validators);

Returns

NameTypeDescription
validatorsValidatorTypes.Validator[]Validator[] memory The set of infrared validators.

numInfraredValidators

Gets the number of infrared validators in validator set.

function numInfraredValidators() external view returns (uint256);

Returns

NameTypeDescription
<none>uint256num uint256 The number of infrared validators in validator set.

isInfraredValidator

Checks if a validator is an infrared validator.

function isInfraredValidator(bytes memory _pubkey)
    external
    view
    returns (bool);

Parameters

NameTypeDescription
_pubkeybytesbytes The pubkey of the validator to check.

Returns

NameTypeDescription
<none>bool_isValidator bool Whether the validator is an infrared validator.

getBGTBalance

Gets the BGT balance for this contract

function getBGTBalance() external view returns (uint256 bgtBalance);

Returns

NameTypeDescription
bgtBalanceuint256The BGT balance held by this address

Events

NewVault

Emitted when a new vault is registered

event NewVault(address _sender, address indexed _asset, address indexed _vault);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the vault registration
_assetaddressThe address of the asset for which the vault is registered
_vaultaddressThe address of the newly created vault

VaultRegistrationPauseStatus

Emitted when pause status for new vault registration has changed

event VaultRegistrationPauseStatus(bool pause);

Parameters

NameTypeDescription
pauseboolTrue if new vault creation is paused

OperatorRewardsDistributed

Emitted when InfraredBGT tokens are supplied to distributor.

event OperatorRewardsDistributed(
    address indexed _ibera, address indexed _distributor, uint256 _amt
);

Parameters

NameTypeDescription
_iberaaddresstoken the rewards are denominated in
_distributoraddressThe address of the distributor receiving the InfraredBGT tokens.
_amtuint256The amount of WBERA tokens supplied to distributor.

InfraredBGTSupplied

Emitted when InfraredBGT tokens are supplied to a vault.

event InfraredBGTSupplied(
    address indexed _vault, uint256 _ibgtAmt, uint256 _iredAmt
);

Parameters

NameTypeDescription
_vaultaddressThe address of the vault receiving the InfraredBGT and IRED tokens.
_ibgtAmtuint256The amount of InfraredBGT tokens supplied to vault.
_iredAmtuint256The amount of IRED tokens supplied to vault as additional reward from protocol.

RewardSupplied

Emitted when rewards are supplied to a vault.

event RewardSupplied(
    address indexed _vault, address indexed _token, uint256 _amt
);

Parameters

NameTypeDescription
_vaultaddressThe address of the vault receiving the reward.
_tokenaddressThe address of the token being supplied as a reward.
_amtuint256The amount of the reward token supplied.

BribeSupplied

Emitted when rewards are supplied to a vault.

event BribeSupplied(
    address indexed _recipient, address indexed _token, uint256 _amt
);

Parameters

NameTypeDescription
_recipientaddressThe address receiving the bribe.
_tokenaddressThe address of the token being supplied as a bribe reward.
_amtuint256The amount of the bribe reward token supplied.

Recovered

Emitted when tokens are recovered from the contract.

event Recovered(address _sender, address indexed _token, uint256 _amount);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the recovery.
_tokenaddressThe address of the token being recovered.
_amountuint256The amount of the token recovered.

RewardTokenNotSupported

Emitted when a reward token is marked as unsupported.

event RewardTokenNotSupported(address _token);

Parameters

NameTypeDescription
_tokenaddressThe address of the reward token.

InfraredBGTUpdated

Emitted when the InfraredBGT token address is updated.

event InfraredBGTUpdated(address _sender, address _oldIbgt, address _newIbgt);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the update.
_oldIbgtaddressThe previous address of the InfraredBGT token.
_newIbgtaddressThe new address of the InfraredBGT token.

InfraredBGTVaultUpdated

Emitted when the InfraredBGT vault address is updated.

event InfraredBGTVaultUpdated(
    address _sender, address _oldIbgtVault, address _newIbgtVault
);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the update.
_oldIbgtVaultaddressThe previous address of the InfraredBGT vault.
_newIbgtVaultaddressThe new address of the InfraredBGT vault.

WhiteListedRewardTokensUpdated

Emitted when reward tokens are whitelisted or unwhitelisted.

event WhiteListedRewardTokensUpdated(
    address _sender,
    address indexed _token,
    bool _wasWhitelisted,
    bool _isWhitelisted
);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the update.
_tokenaddressThe address of the token being updated.
_wasWhitelistedboolThe previous whitelist status of the token.
_isWhitelistedboolThe new whitelist status of the token.

RewardsDurationUpdated

Emitted when the rewards duration is updated

event RewardsDurationUpdated(
    address _sender, uint256 _oldDuration, uint256 _newDuration
);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the update
_oldDurationuint256The previous rewards duration
_newDurationuint256The new rewards duration

IredMintRateUpdated

Emitted when the IRED mint rate per unit InfraredBGT is updated.

event IredMintRateUpdated(
    address _sender, uint256 _oldMintRate, uint256 _newMintRate
);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the update.
_oldMintRateuint256The previous IRED mint rate.
_newMintRateuint256The new IRED mint rate.

InfraredBERABribesWeightUpdated

Emitted when a weight is updated.

event InfraredBERABribesWeightUpdated(
    address _sender, uint256 _oldWeight, uint256 _newWeight
);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the update.
_oldWeightuint256The old value of the weight.
_newWeightuint256The new value of the weight.

FeeUpdated

Emitted when protocol fee rate is updated.

event FeeUpdated(
    address _sender,
    ConfigTypes.FeeType _feeType,
    uint256 _oldFeeRate,
    uint256 _newFeeRate
);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the update.
_feeTypeConfigTypes.FeeTypeThe fee type updated.
_oldFeeRateuint256The old protocol fee rate.
_newFeeRateuint256The new protocol fee rate.

ProtocolFeesClaimed

Emitted when protocol fees claimed.

event ProtocolFeesClaimed(
    address _sender, address _to, address _token, uint256 _amount
);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the claim.
_toaddressThe address to send protocol fees to.
_tokenaddressThe address of the token protocol fees in.
_amountuint256The amount of protocol fees claimed.

ProtocolFees

Emitted when protocol fees are received.

event ProtocolFees(address indexed _token, uint256 _amt, uint256 _voterAmt);

Parameters

NameTypeDescription
_tokenaddressThe address of the token protocol fees in.
_amtuint256The amount of protocol fees received.
_voterAmtuint256The amount of protocol fees received by the voter.

BaseHarvested

Emitted when base + commission rewards are harvested.

event BaseHarvested(address _sender, uint256 _bgtAmt);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the harvest.
_bgtAmtuint256The amount of BGT harvested.

VaultHarvested

Emitted when a vault harvests its rewards.

event VaultHarvested(
    address _sender,
    address indexed _asset,
    address indexed _vault,
    uint256 _bgtAmt
);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the harvest.
_assetaddressThe asset associated with the vault being harvested.
_vaultaddressThe address of the vault being harvested.
_bgtAmtuint256The amount of BGT harvested.

BribesCollected

Emitted when bribes are harvested then collected by collector.

event BribesCollected(
    address _sender,
    address _token,
    uint256 _amtWiberaVault,
    uint256 _amtIbgtVault
);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the bribe collection.
_tokenaddressThe payout token from bribe collection.
_amtWiberaVaultuint256The amount of collected bribe sent to the wrapped iBERA vault.
_amtIbgtVaultuint256The amount of collected bribe sent to the iBGT vault.

ValidatorHarvested

Emitted when a validator harvests its rewards.

event ValidatorHarvested(
    address _sender,
    bytes indexed _validator,
    DataTypes.Token[] _rewards,
    uint256 _bgtAmt
);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the harvest.
_validatorbytesThe public key of the validator.
_rewardsDataTypes.Token[]An array of tokens and amounts harvested.
_bgtAmtuint256The amount of BGT included in the rewards.

ValidatorsAdded

Emitted when validators are added.

event ValidatorsAdded(address _sender, ValidatorTypes.Validator[] _validators);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the addition.
_validatorsValidatorTypes.Validator[]An array of validators that were added.

ValidatorsRemoved

Emitted when validators are removed from validator set.

event ValidatorsRemoved(address _sender, bytes[] _pubkeys);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the removal.
_pubkeysbytes[]An array of validators' pubkeys that were removed.

ValidatorReplaced

Emitted when a validator is replaced with a new validator.

event ValidatorReplaced(address _sender, bytes _current, bytes _new);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the replacement.
_currentbytesThe pubkey of the current validator being replaced.
_newbytesThe pubkey of the new validator.

QueuedBoosts

Emitted when BGT tokens are queued for boosts to validators.

event QueuedBoosts(address _sender, bytes[] _pubkeys, uint128[] _amts);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the boost.
_pubkeysbytes[]The addresses of the validators to which tokens are queued for boosts.
_amtsuint128[]The amounts of tokens that were queued.

CancelledBoosts

Emitted when existing queued boosts to validators are cancelled.

event CancelledBoosts(address _sender, bytes[] _pubkeys, uint128[] _amts);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the cancellation.
_pubkeysbytes[]The pubkeys of the validators to which tokens were queued for boosts.
_amtsuint128[]The amounts of tokens to remove from boosts.

ActivatedBoosts

Emitted when an existing boost to a validator is activated.

event ActivatedBoosts(address _sender, bytes[] _pubkeys);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the activation.
_pubkeysbytes[]The addresses of the validators which were boosted.

QueueDropBoosts

Emitted when an user queues a drop boost for a validator.

event QueueDropBoosts(
    address indexed user, bytes[] indexed pubkeys, uint128[] amounts
);

Parameters

NameTypeDescription
useraddressThe address of the user.
pubkeysbytes[]The addresses of the validators to which tokens were queued for boosts.
amountsuint128[]The amounts of tokens to remove from boosts.

CancelDropBoosts

Emitted when an user cancels a queued drop boost for a validator.

event CancelDropBoosts(
    address indexed user, bytes[] indexed pubkeys, uint128[] amounts
);

Parameters

NameTypeDescription
useraddressThe address of the user.
pubkeysbytes[]The addresses of the validators to which tokens were queued for boosts.
amountsuint128[]The amounts of tokens to remove from boosts.

DroppedBoosts

Emitted when sender removes an amount of BGT boost from a validator

event DroppedBoosts(address indexed _sender, bytes[] _pubkeys);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the cancellation.
_pubkeysbytes[]The addresses of the validators to which tokens were queued for boosts.

Undelegated

Emitted when tokens are undelegated from a validator.

event Undelegated(address _sender, bytes _pubkey, uint256 _amt);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the undelegation.
_pubkeybytesThe pubkey of the validator from which tokens are undelegated.
_amtuint256The amount of tokens that were undelegated.

Redelegated

Emitted when tokens are redelegated from one validator to another.

event Redelegated(address _sender, bytes _from, bytes _to, uint256 _amt);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the redelegation.
_frombytesThe public key of the validator from which tokens are redelegated.
_tobytesThe public key of the validator to which tokens are redelegated.
_amtuint256The amount of tokens that were redelegated.

RedSet

Emitted when the RED token is set.

event RedSet(address _sender, address _red);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the update.
_redaddressThe address of the RED token.

UpdatedRedMintRate

event UpdatedRedMintRate(
    uint256 oldMintRate, uint256 newMintRate, address sender
);

Parameters

NameTypeDescription
oldMintRateuint256The old mint rate for RED
newMintRateuint256The new mint rate for RED
senderaddressThe address that initiated the update

IBGTSet

Emitted when the iBGT token is set.

event IBGTSet(address _sender, address _ibgt);

Parameters

NameTypeDescription
_senderaddressThe address that initiated the update.
_ibgtaddressThe address of the iBGT token.