Garlicoin is a new, freshly baked cryptocurrency, born from the shitposts of Reddit. Garlicoin formed on a few simple fundamentals - cheap and fast transactions, low barrier to entry and total focus on the community. These fundamentals have been put into practice, resulting in Garlicoin being a triumphant success: 40 second block times allow for blazingly fast confirmations, our ASIC resistant proof-of-work algorithm means anyone with a GPU can contribute to mining, and many important decisions have been made by the rapidly growing Garlicoin community.
IBEP20 is re-used:
- IBEP20 (Flat.sol#6-95)
- IBEP20 (IBEP20.sol#5-95)
Rename the contract.
Additional information: link
WGRLC.constructor(string,string).name (Flat.sol#765) shadows:
- BEP20.name() (Flat.sol#165-167) (function)
- IBEP20.name() (Flat.sol#25) (function)
WGRLC.constructor(string,string).symbol (Flat.sol#765) shadows:
- BEP20.symbol() (Flat.sol#173-175) (function)
- IBEP20.symbol() (Flat.sol#20) (function)
Rename the local variables that shadow another component.
Additional information: link
BEP20.setOwner(address).newOwner (Flat.sol#153) lacks a zero-check on :
- _owner = newOwner (Flat.sol#155)
Check that the address is not zero.
Additional information: link
Different versions of Solidity is used:
- Version used: ['0.8.4', '^0.8.0', '^0.8.4']
- 0.8.4 (Flat.sol#4)
- ^0.8.0 (Flat.sol#100)
- 0.8.4 (Flat.sol#414)
- ^0.8.0 (Flat.sol#461)
- ^0.8.0 (Flat.sol#487)
- ^0.8.0 (Flat.sol#513)
- ^0.8.0 (Flat.sol#542)
- ^0.8.4 (Flat.sol#756)
- 0.8.4 (IBEP20.sol#3)
Use one Solidity version.
Additional information: link
AccessControl._setRoleAdmin(bytes32,bytes32) (Flat.sol#733-736) is never used and should be removed
Context._msgData() (Flat.sol#478-481) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (Flat.sol#100) allows old versions
Pragma version^0.8.0 (Flat.sol#461) allows old versions
Pragma version^0.8.0 (Flat.sol#487) allows old versions
Pragma version^0.8.0 (Flat.sol#513) allows old versions
Pragma version^0.8.0 (Flat.sol#542) allows old versions
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.
Additional information: link
Redundant expression "this (Flat.sol#479)" inContext (Flat.sol#473-482)
Remove redundant statements if they congest code but offer no value.
Additional information: link
setOwner(address) should be declared external:
- BEP20.setOwner(address) (Flat.sol#153-156)
name() should be declared external:
- BEP20.name() (Flat.sol#165-167)
symbol() should be declared external:
- BEP20.symbol() (Flat.sol#173-175)
decimals() should be declared external:
- BEP20.decimals() (Flat.sol#190-192)
totalSupply() should be declared external:
- BEP20.totalSupply() (Flat.sol#197-199)
balanceOf(address) should be declared external:
- BEP20.balanceOf(address) (Flat.sol#204-206)
transfer(address,uint256) should be declared external:
- BEP20.transfer(address,uint256) (Flat.sol#216-219)
approve(address,uint256) should be declared external:
- BEP20.approve(address,uint256) (Flat.sol#235-238)
transferFrom(address,address,uint256) should be declared external:
- BEP20.transferFrom(address,address,uint256) (Flat.sol#253-261)
increaseAllowance(address,uint256) should be declared external:
- BEP20.increaseAllowance(address,uint256) (Flat.sol#275-278)
decreaseAllowance(address,uint256) should be declared external:
- BEP20.decreaseAllowance(address,uint256) (Flat.sol#294-300)
redeem(uint256,string) should be declared external:
- Burnable.redeem(uint256,string) (Flat.sol#424-427)
burn(uint256) should be declared external:
- Burnable.burn(uint256) (Flat.sol#434-436)
burnFrom(address,uint256) should be declared external:
- Burnable.burnFrom(address,uint256) (Flat.sol#449-454)
grantRole(bytes32,address) should be declared external:
- AccessControl.grantRole(bytes32,address) (Flat.sol#667-671)
revokeRole(bytes32,address) should be declared external:
- AccessControl.revokeRole(bytes32,address) (Flat.sol#682-686)
renounceRole(bytes32,address) should be declared external:
- AccessControl.renounceRole(bytes32,address) (Flat.sol#702-706)
mint(uint256) should be declared external:
- WGRLC.mint(uint256) (Flat.sol#770-773)
mintTo(address,uint256) should be declared external:
- WGRLC.mintTo(address,uint256) (Flat.sol#775-778)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find audit link on the website
Unable to find whitepaper link on the website
Token is not listed at Mobula.Finance
Additional information: link
Telegram account has relatively few subscribers