BatchClaimerV2_2
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
| Name | Type | Description |
|---|---|---|
_owner | address | The address of the contract owner |
_wibgt | address | The 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
| Name | Type | Description |
|---|---|---|
user | address | The address of the user for whom rewards are to be claimed. |
stakingAssets | address[] | 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
| Name | Type | Description |
|---|---|---|
_newRewardsFactory | address | The 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
| Name | Type | Description |
|---|---|---|
newImplementation | address | Address of the new implementation |
version
Returns the current version of the contract
function version() external pure returns (string memory);
Returns
| Name | Type | Description |
|---|---|---|
<none> | string | The 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();