Gyro is a decentralized currency that isn't pegged to any fiat currency. By using algorithmic control of market dynamics, Gyro's stable-currency aims to curb inflation and give users the same purchasing power tomorrow as they do today
ERC20Permit.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (contracts/libs/ERC20Permit.sol#63-84) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= deadline,Permit: expired deadline) (contracts/libs/ERC20Permit.sol#72)
Avoid relying on block.timestamp.
Additional information: link
ERC20Permit.constructor() (contracts/libs/ERC20Permit.sol#41-57) uses assembly
- INLINE ASM (contracts/libs/ERC20Permit.sol#44-46)
Do not use evm assembly.
Additional information: link
Counters.decrement(Counters.Counter) (contracts/libs/ERC20Permit.sol#26-28) is never used and should be removed
ERC20._beforeTokenTransfer(address,address,uint256) (contracts/libs/ERC20.sol#142-146) is never used and should be removed
EnumerableSet._at(EnumerableSet.Set,uint256) (contracts/libs/EnumerableSet.sol#103-106) is never used and should be removed
EnumerableSet._getValues(EnumerableSet.Set) (contracts/libs/EnumerableSet.sol#108-110) is never used and should be removed
EnumerableSet._insert(EnumerableSet.Set,uint256,bytes32) (contracts/libs/EnumerableSet.sol#117-127) is never used and should be removed
EnumerableSet._length(EnumerableSet.Set) (contracts/libs/EnumerableSet.sol#89-91) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (contracts/libs/EnumerableSet.sol#207-209) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes4Set,bytes4) (contracts/libs/EnumerableSet.sol#139-141) is never used and should be removed
EnumerableSet.add(EnumerableSet.UInt256Set,uint256) (contracts/libs/EnumerableSet.sol#406-408) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (contracts/libs/EnumerableSet.sol#354-356) is never used and should be removed
EnumerableSet.at(EnumerableSet.AddressSet,uint256) (contracts/libs/EnumerableSet.sol#316-318) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (contracts/libs/EnumerableSet.sol#245-247) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes4Set,uint256) (contracts/libs/EnumerableSet.sol#177-179) is never used and should be removed
EnumerableSet.at(EnumerableSet.UInt256Set,uint256) (contracts/libs/EnumerableSet.sol#444-446) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (contracts/libs/EnumerableSet.sol#392-394) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (contracts/libs/EnumerableSet.sol#224-226) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes4Set,bytes4) (contracts/libs/EnumerableSet.sol#156-158) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UInt256Set,uint256) (contracts/libs/EnumerableSet.sol#423-425) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (contracts/libs/EnumerableSet.sol#371-373) is never used and should be removed
EnumerableSet.getValues(EnumerableSet.AddressSet) (contracts/libs/EnumerableSet.sol#324-332) is never used and should be removed
EnumerableSet.getValues(EnumerableSet.Bytes32Set) (contracts/libs/EnumerableSet.sol#249-257) is never used and should be removed
EnumerableSet.getValues(EnumerableSet.Bytes4Set) (contracts/libs/EnumerableSet.sol#181-187) is never used and should be removed
EnumerableSet.insert(EnumerableSet.AddressSet,uint256,address) (contracts/libs/EnumerableSet.sol#334-340) is never used and should be removed
EnumerableSet.insert(EnumerableSet.Bytes32Set,uint256,bytes32) (contracts/libs/EnumerableSet.sol#259-265) is never used and should be removed
EnumerableSet.insert(EnumerableSet.Bytes4Set,uint256,bytes4) (contracts/libs/EnumerableSet.sol#189-195) is never used and should be removed
EnumerableSet.length(EnumerableSet.AddressSet) (contracts/libs/EnumerableSet.sol#302-304) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (contracts/libs/EnumerableSet.sol#231-233) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes4Set) (contracts/libs/EnumerableSet.sol#163-165) is never used and should be removed
EnumerableSet.length(EnumerableSet.UInt256Set) (contracts/libs/EnumerableSet.sol#430-432) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (contracts/libs/EnumerableSet.sol#378-380) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (contracts/libs/EnumerableSet.sol#217-219) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes4Set,bytes4) (contracts/libs/EnumerableSet.sol#149-151) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UInt256Set,uint256) (contracts/libs/EnumerableSet.sol#416-418) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (contracts/libs/EnumerableSet.sol#364-366) is never used and should be removed
SafeMath.average(uint256,uint256) (contracts/libs/SafeMath.sol#208-211) is never used and should be removed
SafeMath.bondingCurve(uint256,uint256) (contracts/libs/SafeMath.sol#217-219) is never used and should be removed
SafeMath.div(uint256,uint256) (contracts/libs/SafeMath.sol#106-108) is never used and should be removed
SafeMath.div(uint256,uint256,string) (contracts/libs/SafeMath.sol#122-132) is never used and should be removed
SafeMath.mod(uint256,uint256) (contracts/libs/SafeMath.sol#146-148) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (contracts/libs/SafeMath.sol#162-169) is never used and should be removed
SafeMath.mul(uint256,uint256) (contracts/libs/SafeMath.sol#80-92) is never used and should be removed
SafeMath.percentageAmount(uint256,uint8) (contracts/libs/SafeMath.sol#188-190) is never used and should be removed
SafeMath.percentageOfTotal(uint256,uint256) (contracts/libs/SafeMath.sol#199-201) is never used and should be removed
SafeMath.quadraticPricing(uint256,uint256) (contracts/libs/SafeMath.sol#213-215) is never used and should be removed
SafeMath.sqrrt(uint256) (contracts/libs/SafeMath.sol#172-183) is never used and should be removed
SafeMath.substractPercentage(uint256,uint8) (contracts/libs/SafeMath.sol#195-197) is never used and should be removed
Remove unused functions.
Additional information: link
Variable ERC20._balances (contracts/libs/ERC20.sol#13) is not in mixedCase
Variable ERC20._allowances (contracts/libs/ERC20.sol#15) is not in mixedCase
Variable ERC20._totalSupply (contracts/libs/ERC20.sol#17) is not in mixedCase
Variable ERC20._name (contracts/libs/ERC20.sol#19) is not in mixedCase
Variable ERC20._symbol (contracts/libs/ERC20.sol#21) is not in mixedCase
Variable ERC20._decimals (contracts/libs/ERC20.sol#23) is not in mixedCase
Variable ERC20Permit.DOMAIN_SEPARATOR (contracts/libs/ERC20Permit.sol#39) is not in mixedCase
Variable Ownable._owner (contracts/libs/Ownable.sol#19) is not in mixedCase
Variable MinterOwned._minter (contracts/libs/TWAPOracleUpdater.sol#42) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
ERC20.ERC20TOKEN_ERC1820_INTERFACE_ID (contracts/libs/ERC20.sol#11) is never used in Gyro (contracts/Gyro.sol#5-76)
Remove unused state variables.
Additional information: link
getNonCirculatingSupply() should be declared external:
- Gyro.getNonCirculatingSupply() (contracts/Gyro.sol#53-55)
symbol() should be declared external:
- ERC20.symbol() (contracts/libs/ERC20.sol#39-41)
decimals() should be declared external:
- ERC20.decimals() (contracts/libs/ERC20.sol#43-45)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (contracts/libs/ERC20.sol#55-58)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (contracts/libs/ERC20.sol#64-67)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (contracts/libs/ERC20.sol#69-81)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (contracts/libs/ERC20.sol#83-86)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (contracts/libs/ERC20.sol#88-95)
permit(address,address,uint256,uint256,uint8,bytes32,bytes32) should be declared external:
- ERC20Permit.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (contracts/libs/ERC20Permit.sol#63-84)
nonces(address) should be declared external:
- ERC20Permit.nonces(address) (contracts/libs/ERC20Permit.sol#89-91)
owner() should be declared external:
- Ownable.owner() (contracts/libs/Ownable.sol#34-36)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (contracts/libs/Ownable.sol#53-56)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (contracts/libs/Ownable.sol#62-66)
minter() should be declared external:
- MinterOwned.minter() (contracts/libs/TWAPOracleUpdater.sol#59-61)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find token/project description on the website or on BscScan, CoinMarketCap
Unable to find whitepaper link on the website
Unable to find token on CoinHunt
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
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Unable to find Youtube account