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.

604 lines (344 loc) 12.1 kB
# SushiToken ## Methods ### DELEGATION_TYPEHASH ```solidity function DELEGATION_TYPEHASH() external view returns (bytes32) ``` The EIP-712 typehash for the delegation struct used by the contract #### Returns | Name | Type | Description | |---|---|---| | _0 | bytes32 | undefined | ### DOMAIN_TYPEHASH ```solidity function DOMAIN_TYPEHASH() external view returns (bytes32) ``` The EIP-712 typehash for the contract's domain #### Returns | Name | Type | Description | |---|---|---| | _0 | bytes32 | undefined | ### 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 | ### 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 | ### checkpoints ```solidity function checkpoints(address, uint32) external view returns (uint32 fromBlock, uint256 votes) ``` A record of votes checkpoints for each account, by index #### Parameters | Name | Type | Description | |---|---|---| | _0 | address | undefined | | _1 | uint32 | undefined | #### Returns | Name | Type | Description | |---|---|---| | fromBlock | uint32 | undefined | | votes | uint256 | undefined | ### decimals ```solidity function decimals() external view returns (uint8) ``` *Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.* #### 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 | ### delegate ```solidity function delegate(address delegatee) external nonpayable ``` Delegate votes from `msg.sender` to `delegatee` #### Parameters | Name | Type | Description | |---|---|---| | delegatee | address | The address to delegate votes to | ### delegateBySig ```solidity function delegateBySig(address delegatee, uint256 nonce, uint256 expiry, uint8 v, bytes32 r, bytes32 s) external nonpayable ``` Delegates votes from signatory to `delegatee` #### Parameters | Name | Type | Description | |---|---|---| | delegatee | address | The address to delegate votes to | | nonce | uint256 | The contract state required to match the signature | | expiry | uint256 | The time at which to expire the signature | | v | uint8 | The recovery byte of the signature | | r | bytes32 | Half of the ECDSA signature pair | | s | bytes32 | Half of the ECDSA signature pair | ### delegates ```solidity function delegates(address delegator) external view returns (address) ``` Delegate votes from `msg.sender` to `delegatee` #### Parameters | Name | Type | Description | |---|---|---| | delegator | address | The address to get delegatee for | #### Returns | Name | Type | Description | |---|---|---| | _0 | address | undefined | ### getCurrentVotes ```solidity function getCurrentVotes(address account) external view returns (uint256) ``` Gets the current votes balance for `account` #### Parameters | Name | Type | Description | |---|---|---| | account | address | The address to get votes balance | #### Returns | Name | Type | Description | |---|---|---| | _0 | uint256 | The number of current votes for `account` | ### getPriorVotes ```solidity function getPriorVotes(address account, uint256 blockNumber) external view returns (uint256) ``` Determine the prior number of votes for an account as of a block number *Block number must be a finalized block or else this function will revert to prevent misinformation.* #### Parameters | Name | Type | Description | |---|---|---| | account | address | The address of the account to check | | blockNumber | uint256 | The block number to get the vote balance at | #### Returns | Name | Type | Description | |---|---|---| | _0 | uint256 | The number of votes the account had as of the given block | ### 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 | ### mint ```solidity function mint(address _to, uint256 _amount) external nonpayable ``` Creates `_amount` token to `_to`. Must only be called by the owner (MasterChef). #### Parameters | Name | Type | Description | |---|---|---| | _to | address | undefined | | _amount | uint256 | undefined | ### name ```solidity function name() external view returns (string) ``` *Returns the name of the token.* #### Returns | Name | Type | Description | |---|---|---| | _0 | string | undefined | ### nonces ```solidity function nonces(address) external view returns (uint256) ``` A record of states for signing / validating signatures #### Parameters | Name | Type | Description | |---|---|---| | _0 | address | undefined | #### Returns | Name | Type | Description | |---|---|---| | _0 | uint256 | undefined | ### numCheckpoints ```solidity function numCheckpoints(address) external view returns (uint32) ``` The number of checkpoints for each account #### Parameters | Name | Type | Description | |---|---|---| | _0 | address | undefined | #### Returns | Name | Type | Description | |---|---|---| | _0 | uint32 | undefined | ### owner ```solidity function owner() external view returns (address) ``` *Returns the address of the current owner.* #### Returns | Name | Type | Description | |---|---|---| | _0 | address | undefined | ### renounceOwnership ```solidity function renounceOwnership() external nonpayable ``` *Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.* ### 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 | ### 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 | ### transferOwnership ```solidity function transferOwnership(address newOwner) external nonpayable ``` *Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.* #### Parameters | Name | Type | Description | |---|---|---| | newOwner | 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 | ### DelegateChanged ```solidity event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate) ``` An event thats emitted when an account changes its delegate #### Parameters | Name | Type | Description | |---|---|---| | delegator `indexed` | address | undefined | | fromDelegate `indexed` | address | undefined | | toDelegate `indexed` | address | undefined | ### DelegateVotesChanged ```solidity event DelegateVotesChanged(address indexed delegate, uint256 previousBalance, uint256 newBalance) ``` An event thats emitted when a delegate account's vote balance changes #### Parameters | Name | Type | Description | |---|---|---| | delegate `indexed` | address | undefined | | previousBalance | uint256 | undefined | | newBalance | uint256 | undefined | ### OwnershipTransferred ```solidity event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) ``` #### Parameters | Name | Type | Description | |---|---|---| | previousOwner `indexed` | address | undefined | | newOwner `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 |