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.

682 lines (390 loc) 11.7 kB
# 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 |