# IMaverickV2RewardVault

### Functions <a href="#functions" id="functions"></a>

#### withdraw <a href="#withdraw" id="withdraw"></a>

This function allows the owner of the reward vault to withdraw a specified amount of staking tokens to a recipient address. If non-owner calls this function, it will revert.

```solidity
function withdraw(address recipient, uint256 amount) external;
```

**Parameters**

| Name        | Type      | Description                                                     |
| ----------- | --------- | --------------------------------------------------------------- |
| `recipient` | `address` | The address to which the withdrawn staking tokens will be sent. |
| `amount`    | `uint256` | The amount of staking tokens to withdraw.                       |

#### owner <a href="#owner" id="owner"></a>

This function retrieves the address of the owner of the reward vault contract.

```solidity
function owner() external view returns (address);
```

#### stakingToken <a href="#stakingtoken" id="stakingtoken"></a>

This function retrieves the address of the ERC20 token used for staking within the reward vault.

```solidity
function stakingToken() external view returns (IERC20);
```

### Errors <a href="#errors" id="errors"></a>

#### RewardVaultUnauthorizedAccount <a href="#rewardvaultunauthorizedaccount" id="rewardvaultunauthorizedaccount"></a>

```solidity
error RewardVaultUnauthorizedAccount(address caller, address owner);
```

<br>
