@ohgeez/fsushi
Version:
fSUSHI is a protocol built on top of [FlashStake](http://flashstake.io/) and [SushiSwap](https://sushi.com) that enables stakers to get instant, upfront yield without waiting for it to accrue.
682 lines (390 loc) • 11.7 kB
Markdown
# SushiBarVault
## Methods
### allowance
```solidity
function allowance(address owner, address spender) external view returns (uint256)
```
*See {IERC20-allowance}.*
#### Parameters
| Name | Type | Description |
|---|---|---|
| owner | address | undefined |
| spender | address | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### approve
```solidity
function approve(address spender, uint256 amount) external nonpayable returns (bool)
```
*See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.*
#### Parameters
| Name | Type | Description |
|---|---|---|
| spender | address | undefined |
| amount | uint256 | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | bool | undefined |
### approveMax
```solidity
function approveMax() external nonpayable
```
### asset
```solidity
function asset() external view returns (address)
```
*See {IERC4626-asset}. *
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |
### balanceOf
```solidity
function balanceOf(address account) external view returns (uint256)
```
*See {IERC20-balanceOf}.*
#### Parameters
| Name | Type | Description |
|---|---|---|
| account | address | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### convertToAssets
```solidity
function convertToAssets(uint256 shares) external view returns (uint256 assets)
```
*See {IERC4626-convertToAssets}. *
#### Parameters
| Name | Type | Description |
|---|---|---|
| shares | uint256 | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| assets | uint256 | undefined |
### convertToShares
```solidity
function convertToShares(uint256 assets) external view returns (uint256 shares)
```
*See {IERC4626-convertToShares}. *
#### Parameters
| Name | Type | Description |
|---|---|---|
| assets | uint256 | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| shares | uint256 | undefined |
### decimals
```solidity
function decimals() external view returns (uint8)
```
*Decimals are read from the underlying asset in the constructor and cached. If this fails (e.g., the asset has not been created yet), the cached value is set to a default obtained by `super.decimals()` (which depends on inheritance but is most likely 18). Override this function in order to set a guaranteed hardcoded value. See {IERC20Metadata-decimals}.*
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint8 | undefined |
### decreaseAllowance
```solidity
function decreaseAllowance(address spender, uint256 subtractedValue) external nonpayable returns (bool)
```
*Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.*
#### Parameters
| Name | Type | Description |
|---|---|---|
| spender | address | undefined |
| subtractedValue | uint256 | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | bool | undefined |
### deposit
```solidity
function deposit(uint256 assets, address receiver) external nonpayable returns (uint256)
```
*See {IERC4626-deposit}. *
#### Parameters
| Name | Type | Description |
|---|---|---|
| assets | uint256 | undefined |
| receiver | address | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### increaseAllowance
```solidity
function increaseAllowance(address spender, uint256 addedValue) external nonpayable returns (bool)
```
*Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.*
#### Parameters
| Name | Type | Description |
|---|---|---|
| spender | address | undefined |
| addedValue | uint256 | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | bool | undefined |
### maxDeposit
```solidity
function maxDeposit(address) external view returns (uint256)
```
*See {IERC4626-maxDeposit}. *
#### Parameters
| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### maxMint
```solidity
function maxMint(address) external view returns (uint256)
```
*See {IERC4626-maxMint}. *
#### Parameters
| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### maxRedeem
```solidity
function maxRedeem(address owner) external view returns (uint256)
```
*See {IERC4626-maxRedeem}. *
#### Parameters
| Name | Type | Description |
|---|---|---|
| owner | address | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### maxWithdraw
```solidity
function maxWithdraw(address owner) external view returns (uint256)
```
*See {IERC4626-maxWithdraw}. *
#### Parameters
| Name | Type | Description |
|---|---|---|
| owner | address | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### mint
```solidity
function mint(uint256 shares, address receiver) external nonpayable returns (uint256)
```
*See {IERC4626-mint}. *
#### Parameters
| Name | Type | Description |
|---|---|---|
| shares | uint256 | undefined |
| receiver | address | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### name
```solidity
function name() external view returns (string)
```
*Returns the name of the token.*
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | string | undefined |
### previewDeposit
```solidity
function previewDeposit(uint256 assets) external view returns (uint256)
```
*See {IERC4626-previewDeposit}. *
#### Parameters
| Name | Type | Description |
|---|---|---|
| assets | uint256 | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### previewMint
```solidity
function previewMint(uint256 shares) external view returns (uint256)
```
*See {IERC4626-previewMint}. *
#### Parameters
| Name | Type | Description |
|---|---|---|
| shares | uint256 | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### previewRedeem
```solidity
function previewRedeem(uint256 shares) external view returns (uint256)
```
*See {IERC4626-previewRedeem}. *
#### Parameters
| Name | Type | Description |
|---|---|---|
| shares | uint256 | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### previewWithdraw
```solidity
function previewWithdraw(uint256 assets) external view returns (uint256)
```
*See {IERC4626-previewWithdraw}. *
#### Parameters
| Name | Type | Description |
|---|---|---|
| assets | uint256 | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### redeem
```solidity
function redeem(uint256 shares, address receiver, address owner) external nonpayable returns (uint256)
```
*See {IERC4626-redeem}. *
#### Parameters
| Name | Type | Description |
|---|---|---|
| shares | uint256 | undefined |
| receiver | address | undefined |
| owner | address | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### symbol
```solidity
function symbol() external view returns (string)
```
*Returns the symbol of the token, usually a shorter version of the name.*
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | string | undefined |
### totalAssets
```solidity
function totalAssets() external view returns (uint256)
```
*See {IERC4626-totalAssets}. *
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### totalSupply
```solidity
function totalSupply() external view returns (uint256)
```
*See {IERC20-totalSupply}.*
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### transfer
```solidity
function transfer(address to, uint256 amount) external nonpayable returns (bool)
```
*See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.*
#### Parameters
| Name | Type | Description |
|---|---|---|
| to | address | undefined |
| amount | uint256 | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | bool | undefined |
### transferFrom
```solidity
function transferFrom(address from, address to, uint256 amount) external nonpayable returns (bool)
```
*See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.*
#### Parameters
| Name | Type | Description |
|---|---|---|
| from | address | undefined |
| to | address | undefined |
| amount | uint256 | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | bool | undefined |
### withdraw
```solidity
function withdraw(uint256 assets, address receiver, address owner) external nonpayable returns (uint256)
```
*See {IERC4626-withdraw}. *
#### Parameters
| Name | Type | Description |
|---|---|---|
| assets | uint256 | undefined |
| receiver | address | undefined |
| owner | address | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
## Events
### Approval
```solidity
event Approval(address indexed owner, address indexed spender, uint256 value)
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| owner `indexed` | address | undefined |
| spender `indexed` | address | undefined |
| value | uint256 | undefined |
### Deposit
```solidity
event Deposit(address indexed sender, address indexed owner, uint256 assets, uint256 shares)
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| sender `indexed` | address | undefined |
| owner `indexed` | address | undefined |
| assets | uint256 | undefined |
| shares | uint256 | undefined |
### Transfer
```solidity
event Transfer(address indexed from, address indexed to, uint256 value)
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| from `indexed` | address | undefined |
| to `indexed` | address | undefined |
| value | uint256 | undefined |
### Withdraw
```solidity
event Withdraw(address indexed sender, address indexed receiver, address indexed owner, uint256 assets, uint256 shares)
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| sender `indexed` | address | undefined |
| receiver `indexed` | address | undefined |
| owner `indexed` | address | undefined |
| assets | uint256 | undefined |
| shares | uint256 | undefined |