As an experienced full-stack software development company, we understand the importance of security. To ensure that the contracts are doing what it’s supposed to do without bugs, errors, or vulnerabilities, we have done our own audits at the launch phase by scenario testing it with automated test scenarios to simulate actions and events at certain blocks or times.
All test codes can be found on our GitHub repository. Users can fork the repo and run tests against the written contract to verify the results.
Our tests are included in the coverage report (percentage of code which is covered by automated tests).
FeedToken (FEED Token Contract)
FeedFarm (FEED Farming Contract)
FeedTimelock (FEED Timelock Contract)
The following lists are test scenarios written to test against the smart contract functions and usability, as well as security risks.
The following tests make sure FEED token functions as ERC20/BEP20 token standard and with the total supply capped at 100,000,000 FEED
should mint 31,750,000 FEEDs to treasury wallet
should be able to transfer to another user
should not be able to mint more than 100,000,000 FEEDs
should be able to mint exactly 100,000,000 FEEDs
The following tests are for farming distributions to make sure the farming rewards, referral rewards, and fees are distributed
should not return any token if the pool does not exists
should distribute token according to schedule
should allow emergency withdraw
should give out FEEDs only after farming time
should not distribute FEEDs if no one deposit
should distribute FEEDs properly for each staker
should return correct pending FEEDs
should take LP as exit fees when exitFeeBP is set
should not be able to set exitFeeBP exceeding maximum exitFeeBP
should not allow withdrawal amount to be larger than the deposited amount
should be able to set exitFeeBP within maximum exitFeeBP
should return the correct number of pool length
should allow only the owner to set emission rate
should allow setting emission rate only after mining starts
should allow to update emission rate after each interval is over
should not allow duplicated to be added
should pay commission to the referrer when harvesting rewards
should set referral address when user is referred by another user
should allow only the owner to update referral bonus point
The following tests are for the timelock contract which held Team, Marketing, Reserves, and Development funds scheduled to release according to the distribution table.
should return correct views variable
should set release interval
should set release beneficiary address
should set token address and should set release amount
should return the correct block number
should only allow admin to perform actions
should deposit token to timelock
should not release token before release time
should release token after release time
should release token according to release schedule
should release token even remaining is less than release amount
should not accept any BNB
should not allow any deposit if there is already tokens locked
should not allow deposit less than the required minimum
should release any token if the balance is empty
We've engaged a top-tier smart contract auditor: https://www.certik.org/projects/feederfinance. Scope of work include audits of ALL SMART CONTRACTS (incl. currently deployed); mid/late-June 2021 expected first published audit report.