Pioneering #PriFi with the world’s first Private Derivatives Platform. 1:1 Collateralization, Zero slippage, Zero liquidations - we promise. #zkAssets are here.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
AccessControl._setRoleAdmin(bytes32,bytes32) (#968-971) is never used and should be removed
Context._msgData() (#25-28) is never used and should be removed
Strings.toHexString(uint256) (#713-724) is never used and should be removed
Strings.toString(uint256) (#688-708) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (#8) allows old versions
Pragma version^0.8.0 (#36) allows old versions
Pragma version^0.8.0 (#115) allows old versions
Pragma version^0.8.0 (#141) allows old versions
Pragma version^0.8.0 (#450) allows old versions
Pragma version^0.8.0 (#494) allows old versions
Pragma version^0.8.0 (#586) allows old versions
Pragma version^0.8.0 (#620) allows old versions
Pragma version^0.8.0 (#647) allows old versions
Pragma version^0.8.0 (#677) allows old versions
Pragma version^0.8.0 (#747) allows old versions
Pragma version^0.8.0 (#991) allows old versions
solc-0.8.1 is not recommended for deployment
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
Constant Strings.alphabet (#683) is not in UPPER_CASE_WITH_UNDERSCORES
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#26)" inContext (#20-29)
Remove redundant statements if they congest code but offer no value.
Additional information: link
name() should be declared external:
- ERC20.name() (#197-199)
symbol() should be declared external:
- ERC20.symbol() (#205-207)
decimals() should be declared external:
- ERC20.decimals() (#222-224)
totalSupply() should be declared external:
- ERC20.totalSupply() (#229-231)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (#236-238)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#248-251)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#267-270)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#285-295)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#309-312)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#328-336)
burn(uint256) should be declared external:
- ERC20Burnable.burn(uint256) (#465-467)
burnFrom(address,uint256) should be declared external:
- ERC20Burnable.burnFrom(address,uint256) (#480-487)
grantRole(bytes32,address) should be declared external:
- AccessControl.grantRole(bytes32,address) (#906-908)
revokeRole(bytes32,address) should be declared external:
- AccessControl.revokeRole(bytes32,address) (#919-921)
renounceRole(bytes32,address) should be declared external:
- AccessControl.renounceRole(bytes32,address) (#937-941)
burn(address,uint256) should be declared external:
- MainToken.burn(address,uint256) (#1020-1023)
mint(address,uint256) should be declared external:
- MainToken.mint(address,uint256) (#1034-1037)
pause() should be declared external:
- MainToken.pause() (#1048-1051)
unpause() should be declared external:
- MainToken.unpause() (#1062-1065)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find Blog account (Reddit or Medium)