CertiK reviewed OneRare (OneRare V2) on 11 Jul 2022: 9 findings, 0 critical; 5 marked fixed, 4 acknowledged.
Report hosted on skynet.certik.com.
Trustblock does not review code.
Statuses are the security firm’s own, from its report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 3 | 2 |
| Medium | 0 | 0 | 1 |
| Low | 0 | 1 | 2 |
**In the contract `ORareGame` the role `_owner` and `admin` have authority over the following functions:** - `updateDishLock()` - `addOrUpdateDishRecipe()` - `addOrUpdateMultipleDishRecipe()` - `createDish()` Any compromise to the privileged accounts may allow the hacker to take advantage of this authority. e.g. change dish NFT recipes or lock a dish. **In the contract `OneRareMarketplace` the role `_owner` has authority over the functions shown in the diagram below.**  Any compromise to the `_owner` account may allow the hacker to take advantage of this authority. e.g. change fee receiver address or drain the OrareNft tokens in the marketplace. **In the contract `ORareNft` the role `_owner` has authority over the functions shown in the diagram below.**  Any compromise to the `_owner` account may allow the hacker to take advantage of this authority and set arbitrary accounts as the game contract that can mint OrareNFT tokens. **In the contract `NftRewardVault` the role `_owner` has authority over the functions shown in the diagram below.**  Any compromise to the `_owner` account may allow the hacker to take advantage of this authority. e.g. set the number of tokens available for distribution and set arbitrary accounts as whitelisted operators, which could interrupt NFT reward distribution in the staking contract. Stakers can not claim their staking rewards when the vault balance is insufficient. **In the contract `ORareNftStaking` the role `_owner` has authority over the functions shown in the diagram below.**  Any compromise to the `_owner` account may allow the hacker to take advantage of this authority. e.g. change the reward rate, set unbonding period, or close an open stake, which could interrupt the rewards distribution.
`ORareNftStaking`, `ORareGame`, and `OneRareMarketPlace` are upgradeable contracts, the owner can upgrade the contract without the community's commitment. If an attacker compromises the account, he can change the implementation of the contract and drain tokens from the contract.
Function `recoverERC20()` in `ORareNftStaking.sol` allows the controller of the contract owner to withdraw all of the `Orare` tokens staked in the `OneRareStaking` contract, which could lead to a rug pull.
Function `getUnclaimedRewardsFor()` may return incorrect value when `updateRewardsPerSec()` is in process. In this case, for users that have been processed, `user.rewardDebt` is reset while `_accRewardPerShare` is not.
The report names a repository or files. Open the report to see its scope.
Repository and files the report names (8)
1,044 projects reviewed · 1,375 reports · latest May 2025
See CertiK’s auditsSomething wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.
Tell us