# IUNSTETH

[Git Source](https://github.com/Ion-Protocol/nucleus-boring-vault/blob/cc0b494b83e17b9b169a73b96050d2810b690477/src/interfaces/IStaking.sol)

## Functions

### getWithdrawalStatus

```solidity
function getWithdrawalStatus(uint256[] calldata _requestIds)
    external
    view
    returns (WithdrawalRequestStatus[] memory statuses);
```

### requestWithdrawals

```solidity
function requestWithdrawals(
    uint256[] calldata _amounts,
    address _owner
)
    external
    returns (uint256[] memory requestIds);
```

### claimWithdrawal

```solidity
function claimWithdrawal(uint256 _requestId) external;
```

### claimWithdrawals

```solidity
function claimWithdrawals(uint256[] calldata _requestIds, uint256[] calldata _hints) external;
```

### finalize

```solidity
function finalize(uint256 _lastRequestIdToBeFinalized, uint256 _maxShareRate) external payable;
```

### getRoleMember

```solidity
function getRoleMember(bytes32 role, uint256 index) external view returns (address);
```

### FINALIZE\_ROLE

```solidity
function FINALIZE_ROLE() external view returns (bytes32);
```

### getLastFinalizedRequestId

```solidity
function getLastFinalizedRequestId() external view returns (uint256);
```

### getLastCheckpointIndex

```solidity
function getLastCheckpointIndex() external view returns (uint256);
```

### findCheckpointHints

```solidity
function findCheckpointHints(
    uint256[] memory requestIds,
    uint256 firstIndex,
    uint256 lastIndex
)
    external
    view
    returns (uint256[] memory);
```

### getClaimableEther

```solidity
function getClaimableEther(
    uint256[] memory requestIds,
    uint256[] memory hints
)
    external
    view
    returns (uint256[] memory);
```

## Structs

### WithdrawalRequestStatus

```solidity
struct WithdrawalRequestStatus {
    uint256 amountOfStETH;
    uint256 amountOfShares;
    address owner;
    uint256 timestamp;
    bool isFinalized;
    bool isClaimed;
}
```
