@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.
768 lines (398 loc) • 11.6 kB
Markdown
# IFarmingLPToken
## Methods
### allowance
```solidity
function allowance(address owner, address spender) external view returns (uint256)
```
*Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.*
#### 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)
```
*Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.*
#### Parameters
| Name | Type | Description |
|---|---|---|
| spender | address | undefined |
| amount | uint256 | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | bool | undefined |
### approveMax
```solidity
function approveMax() external nonpayable
```
### balanceOf
```solidity
function balanceOf(address account) external view returns (uint256)
```
*Returns the amount of tokens owned by `account`.*
#### Parameters
| Name | Type | Description |
|---|---|---|
| account | address | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### checkpoint
```solidity
function checkpoint() external nonpayable
```
### deposit
```solidity
function deposit(uint256 amountLP, address[] path0, address[] path1, uint256 amountMin, address beneficiary, uint256 deadline) external nonpayable
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| amountLP | uint256 | undefined |
| path0 | address[] | undefined |
| path1 | address[] | undefined |
| amountMin | uint256 | undefined |
| beneficiary | address | undefined |
| deadline | uint256 | undefined |
### depositSigned
```solidity
function depositSigned(uint256 amountLP, address[] path0, address[] path1, uint256 amountMin, address beneficiary, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external nonpayable
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| amountLP | uint256 | undefined |
| path0 | address[] | undefined |
| path1 | address[] | undefined |
| amountMin | uint256 | undefined |
| beneficiary | address | undefined |
| deadline | uint256 | undefined |
| v | uint8 | undefined |
| r | bytes32 | undefined |
| s | bytes32 | undefined |
### depositWithSushi
```solidity
function depositWithSushi(uint256 amount, address[] path0, address[] path1, uint256 amountLPMin, address beneficiary, uint256 deadline) external nonpayable
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| amount | uint256 | undefined |
| path0 | address[] | undefined |
| path1 | address[] | undefined |
| amountLPMin | uint256 | undefined |
| beneficiary | address | undefined |
| deadline | uint256 | undefined |
### emergencyMigrate
```solidity
function emergencyMigrate(address beneficiary, bytes params) external nonpayable
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| beneficiary | address | undefined |
| params | bytes | undefined |
### emergencyWithdraw
```solidity
function emergencyWithdraw(address beneficiary) external nonpayable
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| beneficiary | address | undefined |
### factory
```solidity
function factory() external view returns (address)
```
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |
### initialize
```solidity
function initialize(address _router, address _masterChef, uint256 _pid) external nonpayable
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| _router | address | undefined |
| _masterChef | address | undefined |
| _pid | uint256 | undefined |
### lpToken
```solidity
function lpToken() external view returns (address)
```
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |
### masterChef
```solidity
function masterChef() external view returns (address)
```
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |
### migrate
```solidity
function migrate(address beneficiary, bytes params) external nonpayable
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| beneficiary | address | undefined |
| params | bytes | undefined |
### pid
```solidity
function pid() external view returns (uint256)
```
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### router
```solidity
function router() external view returns (address)
```
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |
### sharesOf
```solidity
function sharesOf(address account) external view returns (uint256)
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| account | address | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### sushi
```solidity
function sushi() external view returns (address)
```
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |
### token0
```solidity
function token0() external view returns (address)
```
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |
### token1
```solidity
function token1() external view returns (address)
```
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |
### totalShares
```solidity
function totalShares() external view returns (uint256)
```
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### totalSupply
```solidity
function totalSupply() external view returns (uint256)
```
*Returns the amount of tokens in existence.*
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### transfer
```solidity
function transfer(address to, uint256 amount) external nonpayable returns (bool)
```
*Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.*
#### 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)
```
*Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.*
#### 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 shares, address beneficiary) external nonpayable
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| shares | uint256 | undefined |
| beneficiary | address | undefined |
### withdrawableLPsOf
```solidity
function withdrawableLPsOf(address account) external view returns (uint256)
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| account | address | undefined |
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### withdrawableTotalLPs
```solidity
function withdrawableTotalLPs() external view returns (uint256)
```
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### withdrawableTotalYield
```solidity
function withdrawableTotalYield() external view returns (uint256)
```
#### Returns
| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |
### withdrawableYieldOf
```solidity
function withdrawableYieldOf(address account) external view returns (uint256)
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| account | 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 |
### ClaimSushi
```solidity
event ClaimSushi(uint256 shares, uint256 yield, address indexed beneficiary)
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| shares | uint256 | undefined |
| yield | uint256 | undefined |
| beneficiary `indexed` | address | undefined |
### Deposit
```solidity
event Deposit(uint256 shares, uint256 amountLP, address indexed beneficiary)
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| shares | uint256 | undefined |
| amountLP | uint256 | undefined |
| beneficiary `indexed` | address | undefined |
### EmergencyMigrate
```solidity
event EmergencyMigrate(uint256 shares, uint256 amountLP, address indexed beneficiary)
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| shares | uint256 | undefined |
| amountLP | uint256 | undefined |
| beneficiary `indexed` | address | undefined |
### EmergencyWithdraw
```solidity
event EmergencyWithdraw(uint256 shares, uint256 amountLP, address indexed beneficiary)
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| shares | uint256 | undefined |
| amountLP | uint256 | undefined |
| beneficiary `indexed` | address | undefined |
### Migrate
```solidity
event Migrate(uint256 shares, uint256 amountLP, address indexed beneficiary)
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| shares | uint256 | undefined |
| amountLP | uint256 | undefined |
| beneficiary `indexed` | address | 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(uint256 shares, uint256 amountLP, address indexed beneficiary)
```
#### Parameters
| Name | Type | Description |
|---|---|---|
| shares | uint256 | undefined |
| amountLP | uint256 | undefined |
| beneficiary `indexed` | address | undefined |
## Errors
### InsufficientAmount
```solidity
error InsufficientAmount()
```
### InsufficientYield
```solidity
error InsufficientYield()
```
### InvalidPath
```solidity
error InvalidPath()
```
### NoMigratorSet
```solidity
error NoMigratorSet()
```