🚀 Welcome to the world of Non Financial Advice!
Decentralized BSC GAMEFI project integrated with ERC-20 NFT | ✅ REKTLAND DEMO ALREADY AVAILABLE! For Windows and MAC systems | ✅ The first P2E theme park game open to all meme cult projects. | ✅ Developed in Unreal Engine 5.0 | ✅ OUTSTANDING Graphics! | ✅ NFT made with more than 600+ HIGH QUALITY traits! | 🚀 GECKO + CMC Fast Track Listing ✅ Become a part of the NFA movement today.
ERC20Votes._writeCheckpoint(ERC20Votes.Checkpoint[],function(uint256,uint256) returns(uint256),uint256) (contracts/NFA2.sol#3265-3279) uses a dangerous strict equality:
- pos > 0 && ckpts[pos - 1].fromBlock == block.number (contracts/NFA2.sol#3274)
Don't use strict equality to determine if an account has enough Ether or tokens.
Additional information: link
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
Contract ownership is not renounced (belongs to a wallet)
Math.mulDiv(uint256,uint256,uint256) (contracts/NFA2.sol#288-368) performs a multiplication on the result of a division:
-denominator = denominator / twos (contracts/NFA2.sol#335)
-inverse *= 2 - denominator * inverse (contracts/NFA2.sol#356)
Math.mulDiv(uint256,uint256,uint256) (contracts/NFA2.sol#288-368) performs a multiplication on the result of a division:
-prod0 = prod0 / twos (contracts/NFA2.sol#338)
-result = prod0 * inverse (contracts/NFA2.sol#365)
Math.mulDiv(uint256,uint256,uint256) (contracts/NFA2.sol#288-368) performs a multiplication on the result of a division:
-denominator = denominator / twos (contracts/NFA2.sol#335)
-inverse *= 2 - denominator * inverse (contracts/NFA2.sol#354)
Math.mulDiv(uint256,uint256,uint256) (contracts/NFA2.sol#288-368) performs a multiplication on the result of a division:
-denominator = denominator / twos (contracts/NFA2.sol#335)
-inverse = (3 * denominator) ^ 2 (contracts/NFA2.sol#350)
Math.mulDiv(uint256,uint256,uint256) (contracts/NFA2.sol#288-368) performs a multiplication on the result of a division:
-denominator = denominator / twos (contracts/NFA2.sol#335)
-inverse *= 2 - denominator * inverse (contracts/NFA2.sol#355)
Math.mulDiv(uint256,uint256,uint256) (contracts/NFA2.sol#288-368) performs a multiplication on the result of a division:
-denominator = denominator / twos (contracts/NFA2.sol#335)
-inverse *= 2 - denominator * inverse (contracts/NFA2.sol#359)
Math.mulDiv(uint256,uint256,uint256) (contracts/NFA2.sol#288-368) performs a multiplication on the result of a division:
-denominator = denominator / twos (contracts/NFA2.sol#335)
-inverse *= 2 - denominator * inverse (contracts/NFA2.sol#357)
Math.mulDiv(uint256,uint256,uint256) (contracts/NFA2.sol#288-368) performs a multiplication on the result of a division:
-denominator = denominator / twos (contracts/NFA2.sol#335)
-inverse *= 2 - denominator * inverse (contracts/NFA2.sol#358)
Consider ordering multiplication before division.
Additional information: link
ERC20Votes._moveVotingPower(address,address,uint256).oldWeight_scope_0 (contracts/NFA2.sol#3259) is a local variable never initialized
ERC20Votes._moveVotingPower(address,address,uint256).newWeight_scope_1 (contracts/NFA2.sol#3259) is a local variable never initialized
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.
Additional information: link
NonFinancialAdvice.addLiquidity(uint256,uint256) (contracts/NFA2.sol#3545-3561) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/NFA2.sol#3552-3560)
Ensure that all the return values of the function calls are used.
Additional information: link
NonFinancialAdvice.setLiquidityFee(uint256) (contracts/NFA2.sol#3468-3471) should emit an event for:
- _liquidityFee = liquidityFee (contracts/NFA2.sol#3470)
NonFinancialAdvice.setMarketingFee(uint256) (contracts/NFA2.sol#3473-3476) should emit an event for:
- _marketingFee = marketingFee (contracts/NFA2.sol#3475)
NonFinancialAdvice.setStakingFee(uint256) (contracts/NFA2.sol#3478-3481) should emit an event for:
- _stakingFee = stakingFee (contracts/NFA2.sol#3480)
Emit an event for critical parameter changes.
Additional information: link
NonFinancialAdvice.constructor(address,address,uint256,uint256,uint256).stakeAddress_ (contracts/NFA2.sol#3326) lacks a zero-check on :
- _stakingAddress = stakeAddress_ (contracts/NFA2.sol#3329)
NonFinancialAdvice.constructor(address,address,uint256,uint256,uint256).marketingAddress_ (contracts/NFA2.sol#3326) lacks a zero-check on :
- _marketingAddress = marketingAddress_ (contracts/NFA2.sol#3330)
Check that the address is not zero.
Additional information: link
Variable 'ERC20Votes._moveVotingPower(address,address,uint256).oldWeight (contracts/NFA2.sol#3254)' in ERC20Votes._moveVotingPower(address,address,uint256) (contracts/NFA2.sol#3247-3263) potentially used before declaration: (oldWeight,newWeight) = _writeCheckpoint(_checkpoints[dst],_add,amount) (contracts/NFA2.sol#3259)
Variable 'ERC20Votes._moveVotingPower(address,address,uint256).newWeight (contracts/NFA2.sol#3254)' in ERC20Votes._moveVotingPower(address,address,uint256) (contracts/NFA2.sol#3247-3263) potentially used before declaration: (oldWeight,newWeight) = _writeCheckpoint(_checkpoints[dst],_add,amount) (contracts/NFA2.sol#3259)
Move all variable declarations prior to any usage of the variable, and ensure that reaching a variable declaration does not depend on some conditional if it is used unconditionally.
Additional information: link
Reentrancy in NonFinancialAdvice.swapAndLiquify(uint256) (contracts/NFA2.sol#3499-3519):
External calls:
- swapTokensForEth(half) (contracts/NFA2.sol#3511)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/NFA2.sol#3532-3542)
- addLiquidity(otherHalf,newBalance) (contracts/NFA2.sol#3516)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/NFA2.sol#3552-3560)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (contracts/NFA2.sol#3516)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/NFA2.sol#3552-3560)
Event emitted after the call(s):
- Approval(owner,spender,amount) (contracts/NFA2.sol#2904)
- addLiquidity(otherHalf,newBalance) (contracts/NFA2.sol#3516)
- SwapAndLiquify(half,newBalance,otherHalf) (contracts/NFA2.sol#3517)
Apply the check-effects-interactions pattern.
Additional information: link
ERC20Permit.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (contracts/NFA2.sol#3010-3029) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= deadline,ERC20Permit: expired deadline) (contracts/NFA2.sol#3019)
ERC20Votes.delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32) (contracts/NFA2.sol#3172-3189) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= expiry,ERC20Votes: signature expired) (contracts/NFA2.sol#3180)
Avoid relying on block.timestamp.
Additional information: link
ECDSA.tryRecover(bytes32,bytes) (contracts/NFA2.sol#1956-1973) uses assembly
- INLINE ASM (contracts/NFA2.sol#1964-1968)
Math.mulDiv(uint256,uint256,uint256) (contracts/NFA2.sol#288-368) uses assembly
- INLINE ASM (contracts/NFA2.sol#299-303)
- INLINE ASM (contracts/NFA2.sol#319-326)
- INLINE ASM (contracts/NFA2.sol#333-342)
Do not use evm assembly.
Additional information: link
Different versions of Solidity are used:
- Version used: ['^0.8.0', '^0.8.4']
- ^0.8.0 (contracts/NFA2.sol#7)
- ^0.8.0 (contracts/NFA2.sol#237)
- ^0.8.0 (contracts/NFA2.sol#466)
- ^0.8.0 (contracts/NFA2.sol#1603)
- ^0.8.0 (contracts/NFA2.sol#1668)
- ^0.8.0 (contracts/NFA2.sol#1714)
- ^0.8.0 (contracts/NFA2.sol#1741)
- ^0.8.0 (contracts/NFA2.sol#1826)
- ^0.8.0 (contracts/NFA2.sol#1904)
- ^0.8.0 (contracts/NFA2.sol#2124)
- ^0.8.0 (contracts/NFA2.sol#2230)
- ^0.8.0 (contracts/NFA2.sol#2293)
- ^0.8.0 (contracts/NFA2.sol#2378)
- ^0.8.4 (contracts/NFA2.sol#2406)
Use one Solidity version.
Additional information: link
Strings.toHexString(uint256,uint256) (contracts/NFA2.sol#1879-1889) is never used and should be removed
SafeCast.toUint216(uint256) (contracts/NFA2.sol#564-567) is never used and should be removed
SafeCast.toUint248(uint256) (contracts/NFA2.sol#496-499) is never used and should be removed
SafeCast.toUint80(uint256) (contracts/NFA2.sol#853-856) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (contracts/NFA2.sol#67-72) is never used and should be removed
SafeCast.toUint240(uint256) (contracts/NFA2.sol#513-516) is never used and should be removed
Math.ceilDiv(uint256,uint256) (contracts/NFA2.sol#278-281) is never used and should be removed
SafeCast.toInt96(int256) (contracts/NFA2.sol#1380-1383) is never used and should be removed
SafeMath.add(uint256,uint256) (contracts/NFA2.sol#96-98) is never used and should be removed
SafeCast.toInt104(int256) (contracts/NFA2.sol#1362-1365) is never used and should be removed
SafeCast.toUint112(uint256) (contracts/NFA2.sol#785-788) is never used and should be removed
SafeCast.toUint208(uint256) (contracts/NFA2.sol#581-584) is never used and should be removed
SafeCast.toInt24(int256) (contracts/NFA2.sol#1542-1545) is never used and should be removed
SafeCast.toUint64(uint256) (contracts/NFA2.sol#887-890) is never used and should be removed
ECDSA.recover(bytes32,bytes) (contracts/NFA2.sol#1989-1993) is never used and should be removed
SafeCast.toUint168(uint256) (contracts/NFA2.sol#666-669) is never used and should be removed
SafeCast.toUint256(int256) (contracts/NFA2.sol#1020-1023) is never used and should be removed
SafeCast.toInt216(int256) (contracts/NFA2.sol#1110-1113) is never used and should be removed
SafeCast.toInt248(int256) (contracts/NFA2.sol#1038-1041) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (contracts/NFA2.sol#79-84) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256) (contracts/NFA2.sol#288-368) is never used and should be removed
SafeCast.toInt256(uint256) (contracts/NFA2.sol#1592-1596) is never used and should be removed
SafeMath.sub(uint256,uint256,string) (contracts/NFA2.sol#171-180) is never used and should be removed
SafeCast.toInt160(int256) (contracts/NFA2.sol#1236-1239) is never used and should be removed
SafeCast.toUint144(uint256) (contracts/NFA2.sol#717-720) is never used and should be removed
Strings.toHexString(uint256) (contracts/NFA2.sol#1863-1874) is never used and should be removed
SafeCast.toInt120(int256) (contracts/NFA2.sol#1326-1329) is never used and should be removed
SafeCast.toInt184(int256) (contracts/NFA2.sol#1182-1185) is never used and should be removed
Math.sqrt(uint256,Math.Rounding) (contracts/NFA2.sol#452-458) is never used and should be removed
Math.max(uint256,uint256) (contracts/NFA2.sol#252-254) is never used and should be removed
SafeCast.toUint128(uint256) (contracts/NFA2.sol#751-754) is never used and should be removed
SafeCast.toInt80(int256) (contracts/NFA2.sol#1416-1419) is never used and should be removed
SafeCast.toInt240(int256) (contracts/NFA2.sol#1056-1059) is never used and should be removed
SafeCast.toInt144(int256) (contracts/NFA2.sol#1272-1275) is never used and should be removed
SafeCast.toInt200(int256) (contracts/NFA2.sol#1146-1149) is never used and should be removed
SafeCast.toInt40(int256) (contracts/NFA2.sol#1506-1509) is never used and should be removed
SafeCast.toUint40(uint256) (contracts/NFA2.sol#938-941) is never used and should be removed
SafeCast.toInt224(int256) (contracts/NFA2.sol#1092-1095) is never used and should be removed
SafeCast.toInt208(int256) (contracts/NFA2.sol#1128-1131) is never used and should be removed
SafeCast.toUint72(uint256) (contracts/NFA2.sol#870-873) is never used and should be removed
SafeCast.toInt88(int256) (contracts/NFA2.sol#1398-1401) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes) (contracts/NFA2.sol#1956-1973) is never used and should be removed
ECDSA.toEthSignedMessageHash(bytes32) (contracts/NFA2.sol#2087-2091) is never used and should be removed
SafeCast.toUint8(uint256) (contracts/NFA2.sol#1006-1009) is never used and should be removed
ERC20Votes._subtract(uint256,uint256) (contracts/NFA2.sol#3285-3287) is never used and should be removed
Strings.toString(uint256) (contracts/NFA2.sol#1838-1858) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (contracts/NFA2.sol#25-31) is never used and should be removed
SafeCast.toUint24(uint256) (contracts/NFA2.sol#972-975) is never used and should be removed
Counters.reset(Counters.Counter) (contracts/NFA2.sol#1704-1706) is never used and should be removed
ERC20._burn(address,uint256) (contracts/NFA2.sol#2865-2880) is never used and should be removed
ERC20Votes._burn(address,uint256) (contracts/NFA2.sol#3211-3215) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (contracts/NFA2.sol#220-229) is never used and should be removed
SafeCast.toInt128(int256) (contracts/NFA2.sol#1308-1311) is never used and should be removed
Math.sqrt(uint256) (contracts/NFA2.sol#391-447) is never used and should be removed
SafeCast.toInt32(int256) (contracts/NFA2.sol#1524-1527) is never used and should be removed
SafeCast.toInt112(int256) (contracts/NFA2.sol#1344-1347) is never used and should be removed
ERC20Votes._add(uint256,uint256) (contracts/NFA2.sol#3281-3283) is never used and should be removed
ECDSA.toEthSignedMessageHash(bytes) (contracts/NFA2.sol#2101-2103) is never used and should be removed
SafeMath.div(uint256,uint256,string) (contracts/NFA2.sol#194-203) is never used and should be removed
Counters.decrement(Counters.Counter) (contracts/NFA2.sol#1696-1702) is never used and should be removed
SafeCast.toUint232(uint256) (contracts/NFA2.sol#530-533) is never used and should be removed
SafeCast.toInt64(int256) (contracts/NFA2.sol#1452-1455) is never used and should be removed
Context._msgData() (contracts/NFA2.sol#1731-1733) is never used and should be removed
SafeCast.toInt56(int256) (contracts/NFA2.sol#1470-1473) is never used and should be removed
SafeCast.toUint104(uint256) (contracts/NFA2.sol#802-805) is never used and should be removed
SafeCast.toUint152(uint256) (contracts/NFA2.sol#700-703) is never used and should be removed
SafeCast.toInt232(int256) (contracts/NFA2.sol#1074-1077) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256,Math.Rounding) (contracts/NFA2.sol#373-384) is never used and should be removed
SafeCast.toInt152(int256) (contracts/NFA2.sol#1254-1257) is never used and should be removed
SafeCast.toInt176(int256) (contracts/NFA2.sol#1200-1203) is never used and should be removed
SafeCast.toInt8(int256) (contracts/NFA2.sol#1578-1581) is never used and should be removed
SafeCast.toInt48(int256) (contracts/NFA2.sol#1488-1491) is never used and should be removed
SafeMath.mod(uint256,uint256) (contracts/NFA2.sol#154-156) is never used and should be removed
SafeCast.toUint192(uint256) (contracts/NFA2.sol#615-618) is never used and should be removed
SafeCast.toUint200(uint256) (contracts/NFA2.sol#598-601) is never used and should be removed
SafeCast.toUint96(uint256) (contracts/NFA2.sol#819-822) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes32,bytes32) (contracts/NFA2.sol#2002-2010) is never used and should be removed
ERC20._transfer(address,address,uint256) (contracts/NFA2.sol#2811-2831) is never used and should be removed
SafeCast.toUint184(uint256) (contracts/NFA2.sol#632-635) is never used and should be removed
SafeCast.toUint160(uint256) (contracts/NFA2.sol#683-686) is never used and should be removed
Strings.toHexString(address) (contracts/NFA2.sol#1894-1896) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (contracts/NFA2.sol#50-60) is never used and should be removed
SafeCast.toUint16(uint256) (contracts/NFA2.sol#989-992) is never used and should be removed
SafeCast.toInt16(int256) (contracts/NFA2.sol#1560-1563) is never used and should be removed
SafeCast.toInt168(int256) (contracts/NFA2.sol#1218-1221) is never used and should be removed
SafeCast.toUint176(uint256) (contracts/NFA2.sol#649-652) is never used and should be removed
SafeCast.toUint48(uint256) (contracts/NFA2.sol#921-924) is never used and should be removed
SafeMath.trySub(uint256,uint256) (contracts/NFA2.sol#38-43) is never used and should be removed
SafeCast.toUint56(uint256) (contracts/NFA2.sol#904-907) is never used and should be removed
SafeCast.toUint88(uint256) (contracts/NFA2.sol#836-839) is never used and should be removed
Math.min(uint256,uint256) (contracts/NFA2.sol#259-261) is never used and should be removed
SafeCast.toInt72(int256) (contracts/NFA2.sol#1434-1437) is never used and should be removed
ECDSA.recover(bytes32,bytes32,bytes32) (contracts/NFA2.sol#2017-2025) is never used and should be removed
NonFinancialAdvice._burn(address,uint256) (contracts/NFA2.sol#3570-3575) is never used and should be removed
SafeCast.toUint120(uint256) (contracts/NFA2.sol#768-771) is never used and should be removed
SafeCast.toUint136(uint256) (contracts/NFA2.sol#734-737) is never used and should be removed
SafeCast.toInt136(int256) (contracts/NFA2.sol#1290-1293) is never used and should be removed
SafeCast.toInt192(int256) (contracts/NFA2.sol#1164-1167) is never used and should be removed
Remove unused functions.
Additional information: link
NonFinancialAdvice.numTokensSellToAddToLiquidity (contracts/NFA2.sol#3308) is set pre-construction with a non-constant function or state variable:
- 1000 * 10 ** decimals()
Remove any initialization of state variables via non-constant state variables or function calls. If variables must be set upon contract deployment, locate initialization in the constructor instead.
Additional information: link
Pragma version^0.8.0 (contracts/NFA2.sol#2378) allows old versions
Pragma version^0.8.0 (contracts/NFA2.sol#1714) allows old versions
Pragma version^0.8.0 (contracts/NFA2.sol#2124) allows old versions
Pragma version^0.8.0 (contracts/NFA2.sol#2230) allows old versions
Pragma version^0.8.0 (contracts/NFA2.sol#466) allows old versions
Pragma version^0.8.0 (contracts/NFA2.sol#2293) allows old versions
Pragma version^0.8.0 (contracts/NFA2.sol#1904) allows old versions
Pragma version^0.8.0 (contracts/NFA2.sol#7) allows old versions
Pragma version^0.8.0 (contracts/NFA2.sol#1826) allows old versions
Pragma version^0.8.0 (contracts/NFA2.sol#237) allows old versions
Pragma version^0.8.0 (contracts/NFA2.sol#1668) allows old versions
Pragma version^0.8.0 (contracts/NFA2.sol#1741) allows old versions
Pragma version^0.8.0 (contracts/NFA2.sol#1603) 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
Variable NonFinancialAdvice._liquidityFee (contracts/NFA2.sol#3311) is not in mixedCase
Variable NonFinancialAdvice._marketingFee (contracts/NFA2.sol#3310) is not in mixedCase
Parameter NonFinancialAdvice.calculateLiquidityFee(uint256)._amount (contracts/NFA2.sol#3364) is not in mixedCase
Variable NonFinancialAdvice._stakingFee (contracts/NFA2.sol#3309) is not in mixedCase
Variable ERC20.__gap (contracts/NFA2.sol#2974) is not in mixedCase
Parameter NonFinancialAdvice.calculateMarketingFee(uint256)._amount (contracts/NFA2.sol#3370) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (contracts/NFA2.sol#2450) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (contracts/NFA2.sol#2467) is not in mixedCase
Variable ERC20Votes.__gap (contracts/NFA2.sol#3294) is not in mixedCase
Variable EIP712._TYPE_HASH (contracts/NFA2.sol#2156) is not in mixedCase
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (contracts/NFA2.sol#2449) is not in mixedCase
Variable EIP712._CACHED_THIS (contracts/NFA2.sol#2152) is not in mixedCase
Variable ERC20Permit._PERMIT_TYPEHASH_DEPRECATED_SLOT (contracts/NFA2.sol#2992) is not in mixedCase
Function IERC20Permit.DOMAIN_SEPARATOR() (contracts/NFA2.sol#2285) is not in mixedCase
Variable ERC20._balances (contracts/NFA2.sol#2621) is not in mixedCase
Variable EIP712._CACHED_CHAIN_ID (contracts/NFA2.sol#2151) is not in mixedCase
Variable ERC20Permit.__gap (contracts/NFA2.sol#3062) is not in mixedCase
Parameter NonFinancialAdvice.setSwapAndLiquifyEnabled(bool)._enabled (contracts/NFA2.sol#3390) is not in mixedCase
Function ERC20Permit.DOMAIN_SEPARATOR() (contracts/NFA2.sol#3042-3044) is not in mixedCase
Function IUniswapV2Router01.WETH() (contracts/NFA2.sol#2487) is not in mixedCase
Variable EIP712._HASHED_NAME (contracts/NFA2.sol#2154) is not in mixedCase
Variable EIP712._CACHED_DOMAIN_SEPARATOR (contracts/NFA2.sol#2150) is not in mixedCase
Variable EIP712._HASHED_VERSION (contracts/NFA2.sol#2155) is not in mixedCase
Parameter NonFinancialAdvice.calculateStakingFee(uint256)._amount (contracts/NFA2.sol#3376) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Variable NonFinancialAdvice._marketingFee (contracts/NFA2.sol#3310) is too similar to NonFinancialAdvice.constructor(address,address,uint256,uint256,uint256).marketingFee_ (contracts/NFA2.sol#3326)
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (contracts/NFA2.sol#2492) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (contracts/NFA2.sol#2493)
Variable NonFinancialAdvice._marketingAddress (contracts/NFA2.sol#3300) is too similar to NonFinancialAdvice.constructor(address,address,uint256,uint256,uint256).marketingAddress_ (contracts/NFA2.sol#3326)
Prevent variables from having similar names.
Additional information: link
NonFinancialAdvice.constructor(address,address,uint256,uint256,uint256) (contracts/NFA2.sol#3326-3343) uses literals with too many digits:
- _mint(msg.sender,20000000 * 10 ** decimals()) (contracts/NFA2.sol#3342)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
ERC20Votes.__gap (contracts/NFA2.sol#3294) is never used in NonFinancialAdvice (contracts/NFA2.sol#3297-3576)
ERC20Permit._PERMIT_TYPEHASH_DEPRECATED_SLOT (contracts/NFA2.sol#2992) is never used in NonFinancialAdvice (contracts/NFA2.sol#3297-3576)
Remove unused state variables.
Additional information: link
ERC20Permit._PERMIT_TYPEHASH_DEPRECATED_SLOT (contracts/NFA2.sol#2992) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
BscScan page for the token does not contain additional info: website, socials, description, etc.
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 CoinGecko
Additional information: link
Unable to find token on CoinMarketCap
Additional information: link
Token is not listed at Mobula.Finance
Additional information: link
Unable to find token on CoinHunt
Additional information: link
Unable to find code repository for the project
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Token is relatively young, but twitter if very old (probably it's fake).
Twitter account has less than 100 followers
Unable to find Youtube account