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.

771 lines (394 loc) 10.9 kB
# FSushiBill ## Methods ### DOMAIN_SEPARATOR ```solidity function DOMAIN_SEPARATOR() external view returns (bytes32) ``` #### Returns | Name | Type | Description | |---|---|---| | _0 | bytes32 | undefined | ### 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 | ### 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 ``` *if this function doesn't get called for 512 weeks (around 9.8 years) this contract breaks* ### claimRewards ```solidity function claimRewards(address beneficiary) external nonpayable ``` #### Parameters | Name | Type | Description | |---|---|---| | beneficiary | address | undefined | ### claimedRewards ```solidity function claimedRewards(address) external view returns (uint256) ``` how much rewards were claimed in total for account #### Parameters | Name | Type | Description | |---|---|---| | _0 | address | undefined | #### Returns | Name | Type | Description | |---|---|---| | _0 | uint256 | undefined | ### decimals ```solidity function decimals() external view returns (uint8) ``` #### Returns | Name | Type | Description | |---|---|---| | _0 | uint8 | undefined | ### deposit ```solidity function deposit(uint256 amount, address beneficiary) external nonpayable ``` #### Parameters | Name | Type | Description | |---|---|---| | amount | uint256 | undefined | | beneficiary | address | undefined | ### fToken ```solidity function fToken() external view returns (address) ``` #### Returns | Name | Type | Description | |---|---|---| | _0 | address | undefined | ### initialize ```solidity function initialize(uint256 _pid, address _fToken) external nonpayable ``` #### Parameters | Name | Type | Description | |---|---|---| | _pid | uint256 | undefined | | _fToken | address | undefined | ### lastCheckpoint ```solidity function lastCheckpoint() external view returns (uint256) ``` points are guaranteed to be correct before this time's week start #### Returns | Name | Type | Description | |---|---|---| | _0 | uint256 | undefined | ### name ```solidity function name() external view returns (string) ``` #### Returns | Name | Type | Description | |---|---|---| | _0 | string | undefined | ### nextClaimableWeek ```solidity function nextClaimableWeek(address) external view returns (uint256) ``` in the next claim, rewards will be accumulated from this week #### Parameters | Name | Type | Description | |---|---|---| | _0 | address | undefined | #### Returns | Name | Type | Description | |---|---|---| | _0 | uint256 | undefined | ### nonces ```solidity function nonces(address) external view returns (uint256) ``` #### Parameters | Name | Type | Description | |---|---|---| | _0 | address | undefined | #### Returns | Name | Type | Description | |---|---|---| | _0 | uint256 | undefined | ### permit ```solidity function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external nonpayable ``` #### Parameters | Name | Type | Description | |---|---|---| | owner | address | undefined | | spender | address | undefined | | value | uint256 | undefined | | deadline | uint256 | undefined | | v | uint8 | undefined | | r | bytes32 | undefined | | s | bytes32 | undefined | ### pid ```solidity function pid() external view returns (uint256) ``` #### Returns | Name | Type | Description | |---|---|---| | _0 | uint256 | undefined | ### points ```solidity function points(uint256) external view returns (uint256) ``` points = ∫W(t)dt, where W(t) is the total supply at the week #### Parameters | Name | Type | Description | |---|---|---| | _0 | uint256 | undefined | #### Returns | Name | Type | Description | |---|---|---| | _0 | uint256 | undefined | ### sousChef ```solidity function sousChef() external view returns (address) ``` #### Returns | Name | Type | Description | |---|---|---| | _0 | address | undefined | ### symbol ```solidity function symbol() external view returns (string) ``` #### Returns | Name | Type | Description | |---|---|---| | _0 | string | 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 | ### userCheckpoint ```solidity function userCheckpoint(address account) external nonpayable ``` #### Parameters | Name | Type | Description | |---|---|---| | account | address | undefined | ### userLastCheckpoint ```solidity function userLastCheckpoint(address) external view returns (uint256) ``` userPoints of account is guaranteed to be correct before this week #### Parameters | Name | Type | Description | |---|---|---| | _0 | address | undefined | #### Returns | Name | Type | Description | |---|---|---| | _0 | uint256 | undefined | ### userPoints ```solidity function userPoints(address, uint256) external view returns (uint256) ``` userPoints = ∫w(t)dt, where a(t) is the balance of account at the week #### Parameters | Name | Type | Description | |---|---|---| | _0 | address | undefined | | _1 | uint256 | undefined | #### Returns | Name | Type | Description | |---|---|---| | _0 | uint256 | undefined | ### withdraw ```solidity function withdraw(uint256 amount, address beneficiary) external nonpayable ``` #### Parameters | Name | Type | Description | |---|---|---| | amount | uint256 | undefined | | beneficiary | address | 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 | ### Checkpoint ```solidity event Checkpoint() ``` ### ClaimRewards ```solidity event ClaimRewards(address indexed account, address indexed beneficiary, uint256 amount) ``` #### Parameters | Name | Type | Description | |---|---|---| | account `indexed` | address | undefined | | beneficiary `indexed` | address | undefined | | amount | uint256 | undefined | ### Deposit ```solidity event Deposit(address indexed account, uint256 amount, address indexed beneficiary) ``` #### Parameters | Name | Type | Description | |---|---|---| | account `indexed` | address | undefined | | amount | uint256 | undefined | | beneficiary `indexed` | address | undefined | ### Initialized ```solidity event Initialized(uint8 version) ``` #### Parameters | Name | Type | Description | |---|---|---| | version | uint8 | 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 | ### UserCheckpoint ```solidity event UserCheckpoint(address indexed account) ``` #### Parameters | Name | Type | Description | |---|---|---| | account `indexed` | address | undefined | ### Withdraw ```solidity event Withdraw(address indexed account, uint256 amount, address indexed beneficiary) ``` #### Parameters | Name | Type | Description | |---|---|---| | account `indexed` | address | undefined | | amount | uint256 | undefined | | beneficiary `indexed` | address | undefined | ## Errors ### Expired ```solidity error Expired() ``` ### InvalidAccount ```solidity error InvalidAccount() ``` ### InvalidOwner ```solidity error InvalidOwner() ``` ### InvalidReceiver ```solidity error InvalidReceiver() ``` ### InvalidSender ```solidity error InvalidSender() ``` ### InvalidSignature ```solidity error InvalidSignature() ``` ### InvalidSpender ```solidity error InvalidSpender() ``` ### NoClaimableRewards ```solidity error NoClaimableRewards() ``` ### NotEnoughBalance ```solidity error NotEnoughBalance() ```