NMX is the utility token of Nominex exchange that allows for utilitarian staking.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
RecoverableByOwner.recoverEth(uint256,address) (contracts/RecoverableByOwner.sol#41-44) sends eth to arbitrary user
Dangerous calls:
- toPayable.transfer(amount) (contracts/RecoverableByOwner.sol#43)
Ensure that an arbitrary user cannot withdraw unauthorized funds.
Additional information: link
Nmx.constructor(address) (contracts/Nmx.sol#32-68) uses assembly
- INLINE ASM (contracts/Nmx.sol#34-36)
Do not use evm assembly.
Additional information: link
ABDKMath64x64.abs(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#274-277) is never used and should be removed
ABDKMath64x64.add(int128,int128) (abdk-libraries-solidity/ABDKMath64x64.sol#105-109) is never used and should be removed
ABDKMath64x64.avg(int128,int128) (abdk-libraries-solidity/ABDKMath64x64.sol#300-302) is never used and should be removed
ABDKMath64x64.div(int128,int128) (abdk-libraries-solidity/ABDKMath64x64.sol#205-210) is never used and should be removed
ABDKMath64x64.divi(int256,int256) (abdk-libraries-solidity/ABDKMath64x64.sol#220-240) is never used and should be removed
ABDKMath64x64.exp(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#559-566) is never used and should be removed
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) is never used and should be removed
ABDKMath64x64.from128x128(int256) (abdk-libraries-solidity/ABDKMath64x64.sol#81-85) is never used and should be removed
ABDKMath64x64.fromInt(int256) (abdk-libraries-solidity/ABDKMath64x64.sol#34-37) is never used and should be removed
ABDKMath64x64.fromUInt(uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#57-60) is never used and should be removed
ABDKMath64x64.gavg(int128,int128) (abdk-libraries-solidity/ABDKMath64x64.sol#312-318) is never used and should be removed
ABDKMath64x64.inv(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#286-291) is never used and should be removed
ABDKMath64x64.ln(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#398-403) is never used and should be removed
ABDKMath64x64.log_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#367-390) is never used and should be removed
ABDKMath64x64.mul(int128,int128) (abdk-libraries-solidity/ABDKMath64x64.sol#131-135) is never used and should be removed
ABDKMath64x64.muli(int128,int256) (abdk-libraries-solidity/ABDKMath64x64.sol#145-171) is never used and should be removed
ABDKMath64x64.neg(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#263-266) is never used and should be removed
ABDKMath64x64.pow(int128,uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#328-348) is never used and should be removed
ABDKMath64x64.powu(uint256,uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#625-678) is never used and should be removed
ABDKMath64x64.sqrt(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#356-359) is never used and should be removed
ABDKMath64x64.sqrtu(uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#687-709) is never used and should be removed
ABDKMath64x64.sub(int128,int128) (abdk-libraries-solidity/ABDKMath64x64.sol#118-122) is never used and should be removed
ABDKMath64x64.to128x128(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#94-96) is never used and should be removed
ABDKMath64x64.toInt(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#46-48) is never used and should be removed
ABDKMath64x64.toUInt(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#69-72) is never used and should be removed
Context._msgData() (@openzeppelin/contracts/GSN/Context.sol#20-23) is never used and should be removed
ERC20._burn(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#249-257) is never used and should be removed
ERC20._setupDecimals(uint8) (@openzeppelin/contracts/token/ERC20/ERC20.sol#287-289) is never used and should be removed
SafeMath.div(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#103-105) is never used and should be removed
SafeMath.div(uint256,uint256,string) (@openzeppelin/contracts/math/SafeMath.sol#119-125) is never used and should be removed
SafeMath.mod(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#139-141) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (@openzeppelin/contracts/math/SafeMath.sol#155-158) is never used and should be removed
SafeMath.mul(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#77-89) is never used and should be removed
SafeMath.sub(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#46-48) is never used and should be removed
Remove unused functions.
Additional information: link
Nmx.permit(address,address,uint256,uint256,uint8,bytes32,bytes32).owner (contracts/Nmx.sol#78) shadows:
- Ownable.owner() (@openzeppelin/contracts/access/Ownable.sol#35-37) (function)
Rename the local variables that shadow another component.
Additional information: link
Contract ownership is semi-renounced (passed to a contract)
ABDKMath64x64.divuu(uint256,uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#576-615) performs a multiplication on the result of a division:
-result = (x << 255 - msb) / ((y - 1 >> msb - 191) + 1) (abdk-libraries-solidity/ABDKMath64x64.sol#593)
-hi = result * (y >> 128) (abdk-libraries-solidity/ABDKMath64x64.sol#596)
ABDKMath64x64.divuu(uint256,uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#576-615) performs a multiplication on the result of a division:
-result = (x << 255 - msb) / ((y - 1 >> msb - 191) + 1) (abdk-libraries-solidity/ABDKMath64x64.sol#593)
-lo = result * (y & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) (abdk-libraries-solidity/ABDKMath64x64.sol#597)
Consider ordering multiplication before division.
Additional information: link
Nmx.constructor(address)._mintSchedule (contracts/Nmx.sol#32) lacks a zero-check on :
- mintSchedule = _mintSchedule (contracts/Nmx.sol#49)
Check that the address is not zero.
Additional information: link
Nmx.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (contracts/Nmx.sol#77-110) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(deadline >= block.timestamp,NMX: deadline expired) (contracts/Nmx.sol#86)
Nmx.supplyNmx(uint40) (contracts/Nmx.sol#137-151) uses timestamp for comparisons
Dangerous comparisons:
- maxTime > uint40(block.timestamp) (contracts/Nmx.sol#138)
Avoid relying on block.timestamp.
Additional information: link
Different versions of Solidity is used:
- Version used: ['>=0.6.0<0.8.0', '>=0.7.0<0.8.0', '^0.5.0||^0.6.0||^0.7.0']
- >=0.6.0<0.8.0 (@openzeppelin/contracts/GSN/Context.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/access/Ownable.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/math/SafeMath.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.sol#3)
- >=0.6.0<0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#3)
- ^0.5.0||^0.6.0||^0.7.0 (abdk-libraries-solidity/ABDKMath64x64.sol#6)
- >=0.7.0<0.8.0 (contracts/Lib.sol#2)
- >=0.7.0<0.8.0 (contracts/MintSchedule.sol#2)
- ABIEncoderV2 (contracts/MintSchedule.sol#3)
- >=0.7.0<0.8.0 (contracts/Nmx.sol#2)
- ABIEncoderV2 (contracts/Nmx.sol#3)
- >=0.7.0<0.8.0 (contracts/NmxSupplier.sol#3)
- >=0.7.0<0.8.0 (contracts/RecoverableByOwner.sol#3)
Use one Solidity version.
Additional information: link
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/GSN/Context.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/access/Ownable.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/math/SafeMath.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.sol#3) is too complex
Pragma version>=0.6.0<0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#3) is too complex
Pragma version^0.5.0||^0.6.0||^0.7.0 (abdk-libraries-solidity/ABDKMath64x64.sol#6) is too complex
Pragma version>=0.7.0<0.8.0 (contracts/Lib.sol#2) is too complex
Pragma version>=0.7.0<0.8.0 (contracts/MintSchedule.sol#2) is too complex
Pragma version>=0.7.0<0.8.0 (contracts/Nmx.sol#2) is too complex
Pragma version>=0.7.0<0.8.0 (contracts/NmxSupplier.sol#3) is too complex
Pragma version>=0.7.0<0.8.0 (contracts/RecoverableByOwner.sol#3) is too complex
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
Low level call in RecoverableByOwner.recoverErc20(address,uint256,address) (contracts/RecoverableByOwner.sol#46-54):
- (success,data) = tokenAddress.call(abi.encodeWithSelector(0xa9059cbb,to,amount)) (contracts/RecoverableByOwner.sol#52)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function ABDKMath64x64.log_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#367-390) is not in mixedCase
Function ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) is not in mixedCase
Constant ABDKMath64x64.MIN_64x64 (abdk-libraries-solidity/ABDKMath64x64.sol#20) is not in UPPER_CASE_WITH_UNDERSCORES
Constant ABDKMath64x64.MAX_64x64 (abdk-libraries-solidity/ABDKMath64x64.sol#25) is not in UPPER_CASE_WITH_UNDERSCORES
Parameter Nmx.changeSchedule(address)._mintSchedule (contracts/Nmx.sol#70) is not in mixedCase
Variable Nmx.DOMAIN_SEPARATOR (contracts/Nmx.sol#11) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (@openzeppelin/contracts/GSN/Context.sol#21)" inContext (@openzeppelin/contracts/GSN/Context.sol#15-24)
Remove redundant statements if they congest code but offer no value.
Additional information: link
ABDKMath64x64.fromInt(int256) (abdk-libraries-solidity/ABDKMath64x64.sol#34-37) uses literals with too many digits:
- require(bool)(x >= - 0x8000000000000000 && x <= 0x7FFFFFFFFFFFFFFF) (abdk-libraries-solidity/ABDKMath64x64.sol#35)
ABDKMath64x64.muli(int128,int256) (abdk-libraries-solidity/ABDKMath64x64.sol#145-171) uses literals with too many digits:
- require(bool)(y >= - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF && y <= 0x1000000000000000000000000000000000000000000000000) (abdk-libraries-solidity/ABDKMath64x64.sol#147-148)
ABDKMath64x64.muli(int128,int256) (abdk-libraries-solidity/ABDKMath64x64.sol#145-171) uses literals with too many digits:
- require(bool)(absoluteResult <= 0x8000000000000000000000000000000000000000000000000000000000000000) (abdk-libraries-solidity/ABDKMath64x64.sol#162-163)
ABDKMath64x64.divi(int256,int256) (abdk-libraries-solidity/ABDKMath64x64.sol#220-240) uses literals with too many digits:
- require(bool)(absoluteResult <= 0x80000000000000000000000000000000) (abdk-libraries-solidity/ABDKMath64x64.sol#234)
ABDKMath64x64.inv(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#286-291) uses literals with too many digits:
- result = int256(0x100000000000000000000000000000000) / x (abdk-libraries-solidity/ABDKMath64x64.sol#288)
ABDKMath64x64.gavg(int128,int128) (abdk-libraries-solidity/ABDKMath64x64.sol#312-318) uses literals with too many digits:
- require(bool)(m < 0x4000000000000000000000000000000000000000000000000000000000000000) (abdk-libraries-solidity/ABDKMath64x64.sol#315-316)
ABDKMath64x64.pow(int128,uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#328-348) uses literals with too many digits:
- require(bool)(absoluteResult <= 0x80000000000000000000000000000000) (abdk-libraries-solidity/ABDKMath64x64.sol#342)
ABDKMath64x64.log_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#367-390) uses literals with too many digits:
- xc >= 0x10000000000000000 (abdk-libraries-solidity/ABDKMath64x64.sol#372)
ABDKMath64x64.log_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#367-390) uses literals with too many digits:
- xc >= 0x100000000 (abdk-libraries-solidity/ABDKMath64x64.sol#373)
ABDKMath64x64.log_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#367-390) uses literals with too many digits:
- bit = 0x8000000000000000 (abdk-libraries-solidity/ABDKMath64x64.sol#382)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- require(bool)(x < 0x400000000000000000) (abdk-libraries-solidity/ABDKMath64x64.sol#412)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x < - 0x400000000000000000 (abdk-libraries-solidity/ABDKMath64x64.sol#414)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = 0x80000000000000000000000000000000 (abdk-libraries-solidity/ABDKMath64x64.sol#416)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x8000000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#418)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x4000000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#420)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x2000000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#422)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x1000000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#424)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x800000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#426)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x400000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#428)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x200000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#430)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x100000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#432)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x80000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#434)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x40000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#436)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x20000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#438)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x10000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#440)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x8000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#442)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x4000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#444)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x2000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#446)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x1000000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#448)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x800000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#450)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x400000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#452)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x200000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#454)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x100000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#456)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000B1721BCFC99D9F890EA06911763 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#457)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x80000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#458)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000058B90CF1E6D97F9CA14DBCC1628 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#459)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x40000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#460)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000002C5C863B73F016468F6BAC5CA2B >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#461)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x20000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#462)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000162E430E5A18F6119E3C02282A5 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#463)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x10000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#464)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000000B1721835514B86E6D96EFD1BFE >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#465)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x8000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#466)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000058B90C0B48C6BE5DF846C5B2EF >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#467)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x4000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#468)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000002C5C8601CC6B9E94213C72737A >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#469)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x2000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#470)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000000162E42FFF037DF38AA2B219F06 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#471)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x1000000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#472)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000000B17217FBA9C739AA5819F44F9 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#473)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x800000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#474)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000000058B90BFCDEE5ACD3C1CEDC823 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#475)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x400000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#476)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000002C5C85FE31F35A6A30DA1BE50 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#477)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x200000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#478)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000000162E42FF0999CE3541B9FFFCF >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#479)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x100000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#480)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000000B17217F80F4EF5AADDA45554 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#481)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x80000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#482)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000000058B90BFBF8479BD5A81B51AD >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#483)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x40000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#484)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000000002C5C85FDF84BD62AE30A74CC >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#485)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x20000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#486)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000000162E42FEFB2FED257559BDAA >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#487)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x10000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#488)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000000000B17217F7D5A7716BBA4A9AE >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#489)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x8000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#490)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000000058B90BFBE9DDBAC5E109CCE >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#491)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x4000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#492)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000000002C5C85FDF4B15DE6F17EB0D >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#493)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x2000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#494)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000000000162E42FEFA494F1478FDE05 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#495)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x1000000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#496)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000000000B17217F7D20CF927C8E94C >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#497)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x800000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#498)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000000000058B90BFBE8F71CB4E4B33D >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#499)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x400000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#500)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000000002C5C85FDF477B662B26945 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#501)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x200000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#502)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000000000162E42FEFA3AE53369388C >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#503)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- x & 0x100000 > 0 (abdk-libraries-solidity/ABDKMath64x64.sol#504)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000000000B17217F7D1D351A389D40 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#505)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000000000058B90BFBE8E8B2D3D4EDE >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#507)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000000000002C5C85FDF4741BEA6E77E >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#509)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000000000162E42FEFA39FE95583C2 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#511)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000000000000B17217F7D1CFB72B45E1 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#513)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000000000058B90BFBE8E7CC35C3F0 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#515)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000000000002C5C85FDF473E242EA38 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#517)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000000000000162E42FEFA39F02B772C >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#519)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000000000000B17217F7D1CF7D83C1A >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#521)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000000000000058B90BFBE8E7BDCBE2E >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#523)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000000000002C5C85FDF473DEA871F >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#525)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000000000000162E42FEFA39EF44D91 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#527)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000000000000B17217F7D1CF79E949 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#529)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000000000000058B90BFBE8E7BCE544 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#531)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000000000000002C5C85FDF473DE6ECA >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#533)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000000000000162E42FEFA39EF366F >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#535)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000000000000000B17217F7D1CF79AFA >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#537)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x100000000000000058B90BFBE8E7BCD6D >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#539)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000000000000002C5C85FDF473DE6B2 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#541)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x1000000000000000162E42FEFA39EF358 >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#543)
ABDKMath64x64.exp_2(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#411-551) uses literals with too many digits:
- result = result * 0x10000000000000000B17217F7D1CF79AB >> 128 (abdk-libraries-solidity/ABDKMath64x64.sol#545)
ABDKMath64x64.exp(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#559-566) uses literals with too many digits:
- require(bool)(x < 0x400000000000000000) (abdk-libraries-solidity/ABDKMath64x64.sol#560)
ABDKMath64x64.exp(int128) (abdk-libraries-solidity/ABDKMath64x64.sol#559-566) uses literals with too many digits:
- x < - 0x400000000000000000 (abdk-libraries-solidity/ABDKMath64x64.sol#562)
ABDKMath64x64.divuu(uint256,uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#576-615) uses literals with too many digits:
- xc >= 0x100000000 (abdk-libraries-solidity/ABDKMath64x64.sol#586)
ABDKMath64x64.powu(uint256,uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#625-678) uses literals with too many digits:
- 0x80000000000000000000000000000000 (abdk-libraries-solidity/ABDKMath64x64.sol#626)
ABDKMath64x64.powu(uint256,uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#625-678) uses literals with too many digits:
- xc >= 0x100000000000000000000000000000000 (abdk-libraries-solidity/ABDKMath64x64.sol#631)
ABDKMath64x64.powu(uint256,uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#625-678) uses literals with too many digits:
- xc >= 0x10000000000000000 (abdk-libraries-solidity/ABDKMath64x64.sol#632)
ABDKMath64x64.powu(uint256,uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#625-678) uses literals with too many digits:
- xc >= 0x100000000 (abdk-libraries-solidity/ABDKMath64x64.sol#633)
ABDKMath64x64.powu(uint256,uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#625-678) uses literals with too many digits:
- result = 0x80000000000000000000000000000000 (abdk-libraries-solidity/ABDKMath64x64.sol#644)
ABDKMath64x64.powu(uint256,uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#625-678) uses literals with too many digits:
- result >= 0x8000000000000000000000000000000000000000000000000000000000000000 (abdk-libraries-solidity/ABDKMath64x64.sol#652-653)
ABDKMath64x64.powu(uint256,uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#625-678) uses literals with too many digits:
- x >= 0x8000000000000000000000000000000000000000000000000000000000000000 (abdk-libraries-solidity/ABDKMath64x64.sol#663-664)
ABDKMath64x64.sqrtu(uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#687-709) uses literals with too many digits:
- xx >= 0x100000000000000000000000000000000 (abdk-libraries-solidity/ABDKMath64x64.sol#692)
ABDKMath64x64.sqrtu(uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#687-709) uses literals with too many digits:
- xx >= 0x10000000000000000 (abdk-libraries-solidity/ABDKMath64x64.sol#693)
ABDKMath64x64.sqrtu(uint256) (abdk-libraries-solidity/ABDKMath64x64.sol#687-709) uses literals with too many digits:
- xx >= 0x100000000 (abdk-libraries-solidity/ABDKMath64x64.sol#694)
ABDKMath64x64.slitherConstructorConstantVariables() (abdk-libraries-solidity/ABDKMath64x64.sol#16-710) uses literals with too many digits:
- MIN_64x64 = - 0x80000000000000000000000000000000 (abdk-libraries-solidity/ABDKMath64x64.sol#20)
MintSchedule.constructor() (contracts/MintSchedule.sol#27-183) uses literals with too many digits:
- item.weekCompletenessMultiplier = ABDKMath64x64.divu(99995,100000) (contracts/MintSchedule.sol#181)
Nmx.constructor(address) (contracts/Nmx.sol#32-68) uses literals with too many digits:
- additionalAmount = 20000000 (contracts/Nmx.sol#66)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (@openzeppelin/contracts/access/Ownable.sol#54-57)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (@openzeppelin/contracts/access/Ownable.sol#63-67)
symbol() should be declared external:
- ERC20.symbol() (@openzeppelin/contracts/token/ERC20/ERC20.sol#72-74)
decimals() should be declared external:
- ERC20.decimals() (@openzeppelin/contracts/token/ERC20/ERC20.sol#89-91)
totalSupply() should be declared external:
- ERC20.totalSupply() (@openzeppelin/contracts/token/ERC20/ERC20.sol#96-98)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (@openzeppelin/contracts/token/ERC20/ERC20.sol#103-105)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#115-118)
allowance(address,address) should be declared external:
- ERC20.allowance(address,address) (@openzeppelin/contracts/token/ERC20/ERC20.sol#123-125)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#134-137)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#152-156)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#170-173)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#189-192)
Use the external attribute for functions never called from the contract.
Additional information: link
Token is not listed at Mobula.Finance
Additional information: link
Unable to find audit link on the website
Unable to find Blog account (Reddit or Medium)
Unable to find Youtube account
Unable to find Discord account