InfraredBERADepositor
Inherits: Upgradeable
Title: InfraredBERADepositor
Depositor to deposit BERA to CL for Infrared liquid staking token
State Variables
ETH1_ADDRESS_WITHDRAWAL_PREFIX
https://eth2book.info/capella/part2/deposits-withdrawals/withdrawal-processing/
uint8 public constant ETH1_ADDRESS_WITHDRAWAL_PREFIX = 0x01
DEPOSIT_CONTRACT
The Deposit Contract Address for Berachain
address public DEPOSIT_CONTRACT
InfraredBERA
the main InfraredBERA contract address
address public InfraredBERA
reserves
the queued amount of BERA to be deposited
uint256 public reserves
__gap
Reserve storage slots for future upgrades for safety
uint256[40] private __gap
Functions
initialize
Initialize the contract (replaces the constructor)
function initialize(
address _gov,
address _keeper,
address ibera,
address _depositContract
) public initializer;
Parameters
| Name | Type | Description |
|---|---|---|
_gov | address | Address for admin / gov to upgrade |
_keeper | address | Address for keeper |
ibera | address | The initial IBERA address |
_depositContract | address | The ETH2 (Berachain) Deposit Contract Address |
queue
Queues a deposit by sending BERA to this contract and storing the amount in the pending deposits acculimator
function queue() external payable;
execute
Executes a deposit to the deposit contract for the specified pubkey and amount.
Only callable by the keeper
Only callable if the deposits are enabled
function execute(bytes calldata pubkey, uint256 amount)
external
onlyKeeper;
Parameters
| Name | Type | Description |
|---|---|---|
pubkey | bytes | The pubkey of the validator to deposit for |
amount | uint256 | The amount of BERA to deposit |
Events
Queue
event Queue(uint256 amount);
Execute
event Execute(bytes pubkey, uint256 amount);