Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

BatchClaimerV2_2

Git Source

Inherits: Initializable, UUPSUpgradeable, OwnableUpgradeable

Title: BatchClaimerV2_2

Enables batch claiming of rewards for multiple staking assets for a given user.

This contract interacts with the InfraredV1_9 contract and InfraredVaults to claim rewards.

This contract is upgradeable using the UUPS proxy pattern.

Constants

infrared

Reference to the InfraredV1_9 contract used to fetch vaults and manage reward claims.

InfraredV1_9 internal constant infrared =
    InfraredV1_9(payable(0xb71b3DaEA39012Fb0f2B14D2a9C86da9292fC126))

wBYUSD

wBYUSD ERC4626 vault constant

ERC4626 public constant wBYUSD =
    ERC4626(0x334404782aB67b4F6B2A619873E579E971f9AAB7)

State Variables

rewardsFactory

IBerachainRewardsVaultFactory instance of the rewards factory contract address

Changed from immutable to storage variable for upgradeability

IBerachainRewardsVaultFactory public rewardsFactory

wiBGT

wiBGT ERC4626 wrapper for iBGT

ERC4626 public wiBGT

__gap

This empty reserved space is put in place to allow future versions to add new variables without shifting down storage in the inheritance chain. See https://docs.openzeppelin.com/upgrades-plugins/1.x/writing-upgradeable#storage-gaps

uint256[49] private __gap

Functions

constructor

Note: oz-upgrades-unsafe-allow: constructor

constructor() ;

initialize

Initializes the contract

This function replaces the constructor for upgradeable contracts

function initialize(address _owner, address _wibgt) public initializer;

Parameters

NameTypeDescription
_owneraddressThe address of the contract owner
_wibgtaddressThe address of wrapped ibgt contract

batchClaim

Allows batch claiming of staking rewards from multiple vaults for a user.

This function iterates over the stakingAssets array and attempts to:

  • Claim rewards from the InfraredVault if it exists.
  • Claim external vault rewards if available.
function batchClaim(address user, address[] calldata stakingAssets)
    external;

Parameters

NameTypeDescription
useraddressThe address of the user for whom rewards are to be claimed.
stakingAssetsaddress[]An array of addresses representing staking asset vaults to process.

updateRewardsFactory

Updates the rewards factory address

Only callable by the owner

function updateRewardsFactory(address _newRewardsFactory)
    external
    onlyOwner;

Parameters

NameTypeDescription
_newRewardsFactoryaddressThe new rewards factory address

_authorizeUpgrade

Required by UUPSUpgradeable to authorize upgrades

Only the owner can authorize upgrades

function _authorizeUpgrade(address newImplementation)
    internal
    override
    onlyOwner;

Parameters

NameTypeDescription
newImplementationaddressAddress of the new implementation

version

Returns the current version of the contract

function version() external pure returns (string memory);

Returns

NameTypeDescription
<none>stringThe version string

Errors

ZeroAddress

Error indicating the provided address was the zero address.

error ZeroAddress();

InvalidInputs

Error indicating that the provided inputs are invalid (e.g., empty array).

error InvalidInputs();