UNPKG

@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
# 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() ```