IInfraredBERAWithdrawor

Git Source

Functions

InfraredBERA

The address of InfraredBERA

function InfraredBERA() external view returns (address);

sweep

Sweeps forced withdrawals to InfraredBERA to re-stake principal

function sweep(bytes calldata pubkey) external;

requests

Outstanding requests for claims on previously burnt ibera

function requests(uint256 nonce)
    external
    view
    returns (
        address receiver,
        uint96 timestamp,
        uint256 fee,
        uint256 amountSubmit,
        uint256 amountProcess
    );

Parameters

NameTypeDescription
nonceuint256The nonce associated with the claim

Returns

NameTypeDescription
receiveraddressThe address of the receiver of bera funds to be claimed
timestampuint96The block.timestamp at which withdraw request was issued
feeuint256The fee escrow amount set aside for withdraw precompile request
amountSubmituint256The amount of bera left to be submitted for withdraw request
amountProcessuint256The amount of bera left to be processed for withdraw request

fees

Amount of BERA internally set aside for withdraw precompile request fees

function fees() external view returns (uint256);

reserves

Amount of BERA internally set aside to process withdraw compile requests from funds received on successful requests

function reserves() external view returns (uint256);

rebalancing

Amount of BERA internally rebalancing amongst Infrared validators

function rebalancing() external view returns (uint256);

nonceRequest

The next nonce to issue withdraw request for

function nonceRequest() external view returns (uint256);

nonceSubmit

The next nonce to submit withdraw request for

function nonceSubmit() external view returns (uint256);

nonceProcess

The next nonce in queue to process claims for

function nonceProcess() external view returns (uint256);

queue

Queues a withdraw from InfraredBERA for chain withdraw precompile escrowing minimum fees for request to withdraw precompile

function queue(address receiver, uint256 amount)
    external
    payable
    returns (uint256 nonce);

Parameters

NameTypeDescription
receiveraddressThe address to receive withdrawn funds
amountuint256The amount of funds to withdraw

Returns

NameTypeDescription
nonceuint256The nonce created when queueing the withdraw

execute

Executes a withdraw request to withdraw precompile

Payable in case excess bera required to satisfy withdraw precompile fee

function execute(bytes calldata pubkey, uint256 amount) external payable;

Parameters

NameTypeDescription
pubkeybytesThe pubkey to withdraw validator funds from
amountuint256The amount of funds to withdraw from validator

process

Processes the funds received from withdraw precompile to next-to-process request receiver

Reverts if balance has not increased by full amount of request for next-to-process request nonce

function process() external;

Events

Queue

event Queue(address indexed receiver, uint256 nonce, uint256 amount);

Execute

event Execute(bytes pubkey, uint256 start, uint256 end, uint256 amount);

Process

event Process(address indexed receiver, uint256 nonce, uint256 amount);

Sweep

event Sweep(address indexed receiver, uint256 amount);