Birb aims to become a feature-rich and usable cryptocurrency that rewards its holders.
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
BEP20.constructor(string,string).name (#313) shadows:
- BEP20.name() (#327-329) (function)
BEP20.constructor(string,string).symbol (#313) shadows:
- BEP20.symbol() (#335-337) (function)
Rename the local variables that shadow another component.
Additional information: link
Reentrancy in BIRBToken.hatchNest() (#745-766):
External calls:
- IPancakePair(pancakeSwapPool).sync() (#763)
Event emitted after the call(s):
- PoolHatched(msg.sender,hatchAmount,_totalSupply,balanceOf(pancakeSwapPool),userReward,poolReward) (#765)
Reentrancy in BIRBToken.setPancakeSwapPool() (#696-701):
External calls:
- pancakeSwapPool = pancakeSwapFactory.createPair(address(WBNB),address(this)) (#698)
Event emitted after the call(s):
- PancakePoolCreated(pancakeSwapPool,address(WBNB),msg.sender) (#700)
Apply the check-effects-interactions pattern.
Additional information: link
BIRBToken.getHatchAmount() (#768-773) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)((block.timestamp - lastHatchTime) >= 86400,BIRB: Already Hatched) (#770)
Avoid relying on block.timestamp.
Additional information: link
BIRBToken.claimRewards() (#793-803) compares to a boolean constant:
-require(bool,string)(paused == false,BIRB: Contract is paused) (#794)
Remove the equality to the boolean constant.
Additional information: link
BEP20._burn(address,uint256) (#493-501) is never used and should be removed
BEP20._setupDecimals(uint8) (#531-533) is never used and should be removed
Context._msgData() (#50-53) is never used and should be removed
SafeMath.mod(uint256,uint256) (#265-267) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#281-284) is never used and should be removed
Remove unused functions.
Additional information: link
Variable BEP20._balances (#294) is not in mixedCase
Variable BEP20._totalSupply (#298) is not in mixedCase
Event BIRBTokennewPauserAdded(address,address) (#682) is not in CapWords
Event BIRBTokencontractPaused(bool,address) (#683) is not in CapWords
Event BIRBTokencontractUnPaused(bool,uint256,uint256,uint256,address) (#684) is not in CapWords
Variable BIRBToken.WBNB (#656) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#51)" inContext (#45-54)
Remove redundant statements if they congest code but offer no value.
Additional information: link
BEP20.constructor(string,string) (#313-322) uses literals with too many digits:
- _totalSupply = 100000000000000000000000000 (#317)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
name() should be declared external:
- BEP20.name() (#327-329)
symbol() should be declared external:
- BEP20.symbol() (#335-337)
decimals() should be declared external:
- BEP20.decimals() (#353-355)
totalSupply() should be declared external:
- BEP20.totalSupply() (#360-362)
transfer(address,uint256) should be declared external:
- BEP20.transfer(address,uint256) (#379-382)
allowance(address,address) should be declared external:
- BEP20.allowance(address,address) (#387-389)
approve(address,uint256) should be declared external:
- BEP20.approve(address,uint256) (#398-401)
transferFrom(address,address,uint256) should be declared external:
- BEP20.transferFrom(address,address,uint256) (#415-419)
increaseAllowance(address,uint256) should be declared external:
- BEP20.increaseAllowance(address,uint256) (#433-436)
decreaseAllowance(address,uint256) should be declared external:
- BEP20.decreaseAllowance(address,uint256) (#452-455)
owner() should be declared external:
- Ownable.owner() (#581-583)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#600-603)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#609-613)
getInfoFor(address) should be declared external:
- BIRBToken.getInfoFor(address) (#731-743)
Use the external attribute for functions never called from the contract.
Additional information: link
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Last post in Twitter was more than 30 days ago
Unable to find Discord account