BitBook is the travel platform where people can book accommodation and earn tokens in the process. With our Token Reward program, not only will we drive adoption of the platform by incentivizing users to bring their friends onboard, but also we drive organic traffic by rewarding users who create remarkable travel content.
The creation of BitBook Token is what allows us to bring this project from a concept to a platform that will be able to disrupt the current market leaders. Our initial target market stretches across two huge industries: the hotel industry, valued at $528 billion, and the crypto industry valued at $2 trillion. Other crypto companies make the mistake of not having a solid working growth model.
BitBook, on the contrary, is built with a focus on growth where everyone benefits: users are rewarded with tokens when they use our platform, and accommodation providers benefit from a lower commission structure solving their biggest challenge.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract ownership is not renounced (belongs to a wallet)
BitBook._approve(address,address,uint256).owner (#276) shadows:
- Ownable.owner() (#110-112) (function)
BitBook.allowance(address,address).owner (#197) shadows:
- Ownable.owner() (#110-112) (function)
Rename the local variables that shadow another component.
Additional information: link
SafeMath.mul(uint256,uint256) (#65-74) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#93-96) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#80-87) is never used and should be removed
Context._msgData() (#38-41) is never used and should be removed
SafeMath.mod(uint256,uint256) (#89-91) is never used and should be removed
SafeMath.div(uint256,uint256) (#76-78) is never used and should be removed
Remove unused functions.
Additional information: link
Parameter BitBook.updateTresauryAddress(address)._tresauryAddr (#241) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
BitBook.constructor(address)._tresauryAddr (#150) lacks a zero-check on :
- tresauryAddress = _tresauryAddr (#152)
BitBook.updateTresauryAddress(address)._tresauryAddr (#241) lacks a zero-check on :
- tresauryAddress = _tresauryAddr (#242)
Check that the address is not zero.
Additional information: link
BitBook.mint() (#226-234) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp >= oneMonth (#228)
Avoid relying on block.timestamp.
Additional information: link
BitBook._decimals (#143) should be constant
BitBook._symbol (#144) should be constant
BitBook._name (#145) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
Redundant expression "this (#39)" inContext (#31-42)
Remove redundant statements if they congest code but offer no value.
Additional information: link
BitBook.constructor(address) (#150-158) uses literals with too many digits:
- _totalSupply = 400000000 * 10 ** 8 (#153)
BitBook._mint(address,uint256) (#256-264) uses literals with too many digits:
- MaxSupply = 1000000000 * 10 ** 8 (#258)
BitBook.mint() (#226-234) uses literals with too many digits:
- MonthlyMint = 2500000 * (10 ** 8) (#227)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
updateTresauryAddress(address) should be declared external:
- BitBook.updateTresauryAddress(address) (#241-244)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#119-122)
increaseAllowance(address,uint256) should be declared external:
- BitBook.increaseAllowance(address,uint256) (#215-218)
decreaseAllowance(address,uint256) should be declared external:
- BitBook.decreaseAllowance(address,uint256) (#221-224)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#124-126)
burn(address,uint256) should be declared external:
- BitBook.burn(address,uint256) (#236-239)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find token contract audit
Unable to find code repository for the project
Unable to find audit link on the website
Token has relatively low CoinGecko rank
Last post in Twitter was more than 30 days ago
Unable to find Youtube account
Unable to find Discord account