👨🍳MasterChef
MasterChef is the smart contract that offers staking USC in exchange for USC with adjustable yearly ROI.
Overview
Contract: MasterChef.sol
MasterChef is an Upgradeable
smart contract that allows a user to stake their USC token for USC rewards. The ROI per year starts at 10% per year and can't be adjusted.
Dependencies
UUPSUpgradeable: Openzeppelin's smart contract that makes a smart contract upgradeable.
Ownable: Allows the contract admin to perform privileged actions.
Pausable: Allows for pausing/unpausing in case of emergencies.
ReentrancyGuard: Defends the core functions from reentrancy attacks.
How it works
The MasterChef will be provided with the address of the staking token (USC token) and the initial ROI per year (also regarded as the minimum ROI per year) during its initialization process.
The ROI will be provided at initialization time and is equal to 10% per year. For example, if you stake 1000 USC token and after 365 days (calculated by blocktime difference), you'll get 100 USC as the reward.
When the smart contract is paused, the following functions can't be called: deposit
, getReward
.
The withdraw
function will work at all times even if the smart contract is paused, this ensures that user can exit at anytime.
Roles
Admin (Owner): Owner role is able to pause/unpause the smart contract for
deposit
,getReward
functions Owner role will be held be a gnosis safe address to ensure security. Admin can also upgrade the smart contract.
Participants
Gnosis-safe address as Owner: The Owner can pause/unpause the contract and upgrade it in the future.
User: Can stake their USDT token and get USC tokens as reward at desired time.
Last updated