Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
BEP20FPR.transfer(address,uint256) (#432-462) performs a multiplication on the result of a division:
-feeAmount = (realAmount.mul(feeRate)).div(10000) (#447)
-realAmount = (realAmount.mul(10000 - transferFee)).div(10000) (#457)
BEP20FPR.transfer(address,uint256) (#432-462) performs a multiplication on the result of a division:
-feeAmount = (realAmount.mul(feeRate)).div(10000) (#440)
-realAmount = (realAmount.mul(10000 - transferFee)).div(10000) (#457)
BEP20FPR.transfer(address,uint256) (#432-462) performs a multiplication on the result of a division:
-feeAmount = (realAmount.mul(feeRate)).div(10000) (#440)
-_transfer(_msgSender(),AcontractAddr,(feeAmount.mul(6700)).div(10000)) (#448)
BEP20FPR.transfer(address,uint256) (#432-462) performs a multiplication on the result of a division:
-feeAmount = (realAmount.mul(feeRate)).div(10000) (#440)
-_transfer(_msgSender(),AcontractAddr,(feeAmount.mul(6700)).div(10000)) (#441)
BEP20FPR.transfer(address,uint256) (#432-462) performs a multiplication on the result of a division:
-feeAmount = (realAmount.mul(feeRate)).div(10000) (#440)
-_transfer(_msgSender(),BcontractAddr,(feeAmount.mul(3300)).div(10000)) (#449)
BEP20FPR.transfer(address,uint256) (#432-462) performs a multiplication on the result of a division:
-feeAmount = (realAmount.mul(feeRate)).div(10000) (#440)
-_transfer(_msgSender(),BcontractAddr,(feeAmount.mul(3300)).div(10000)) (#442)
BEP20FPR.transferFrom(address,address,uint256) (#495-527) performs a multiplication on the result of a division:
-feeAmount = (realAmount.mul(feeRate)).div(10000) (#503)
-realAmount = (realAmount.mul(10000 - transferFee)).div(10000) (#520)
BEP20FPR.transferFrom(address,address,uint256) (#495-527) performs a multiplication on the result of a division:
-feeAmount = (realAmount.mul(feeRate)).div(10000) (#510)
-realAmount = (realAmount.mul(10000 - transferFee)).div(10000) (#520)
BEP20FPR.transferFrom(address,address,uint256) (#495-527) performs a multiplication on the result of a division:
-_transfer(sender,AcontractAddr,(feeAmount.mul(6700)).div(10000)) (#504)
-feeAmount = (realAmount.mul(feeRate)).div(10000) (#510)
BEP20FPR.transferFrom(address,address,uint256) (#495-527) performs a multiplication on the result of a division:
-feeAmount = (realAmount.mul(feeRate)).div(10000) (#510)
-_transfer(sender,AcontractAddr,(feeAmount.mul(6700)).div(10000)) (#511)
BEP20FPR.transferFrom(address,address,uint256) (#495-527) performs a multiplication on the result of a division:
-feeAmount = (realAmount.mul(feeRate)).div(10000) (#510)
-_transfer(sender,BcontractAddr,(feeAmount.mul(3300)).div(10000)) (#512)
BEP20FPR.transferFrom(address,address,uint256) (#495-527) performs a multiplication on the result of a division:
-_transfer(sender,BcontractAddr,(feeAmount.mul(3300)).div(10000)) (#505)
-feeAmount = (realAmount.mul(feeRate)).div(10000) (#510)
Consider ordering multiplication before division.
Additional information: link
BEP20FPR.allowance(address,address).owner (#467) shadows:
- Ownable.owner() (#305-307) (function)
BEP20FPR._approve(address,address,uint256).owner (#630) shadows:
- Ownable.owner() (#305-307) (function)
Rename the local variables that shadow another component.
Additional information: link
BEP20FPR.constructor(address,address,address,address)._blackAddr (#367) lacks a zero-check on :
- blackAddr = _blackAddr (#373)
BEP20FPR.constructor(address,address,address,address)._AcontractAddr (#367) lacks a zero-check on :
- AcontractAddr = _AcontractAddr (#374)
BEP20FPR.constructor(address,address,address,address)._BcontractAddr (#367) lacks a zero-check on :
- BcontractAddr = _BcontractAddr (#375)
Check that the address is not zero.
Additional information: link
BEP20FPR._burnFrom(address,uint256) (#644-647) is never used and should be removed
Context._msgData() (#121-124) is never used and should be removed
SafeMath.mod(uint256,uint256) (#255-257) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#270-273) is never used and should be removed
Remove unused functions.
Additional information: link
Variable BEP20FPR._decimals (#359) is not in mixedCase
Variable BEP20FPR._symbol (#360) is not in mixedCase
Variable BEP20FPR._name (#361) is not in mixedCase
Variable BEP20FPR.AcontractAddr (#363) is not in mixedCase
Variable BEP20FPR.BcontractAddr (#364) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#122)" inContext (#112-125)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable BEP20FPR.AcontractAddr (#363) is too similar to BEP20FPR.BcontractAddr (#364)
Variable BEP20FPR.constructor(address,address,address,address)._AcontractAddr (#367) is too similar to BEP20FPR.constructor(address,address,address,address)._BcontractAddr (#367)
Prevent variables from having similar names.
Additional information: link
BEP20FPR.constructor(address,address,address,address) (#367-380) uses literals with too many digits:
- _totalSupply = 69000000000000 (#371)
BEP20FPR.slitherConstructorVariables() (#347-655) uses literals with too many digits:
- feeToStop = 62100000000000 (#353)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
BEP20FPR.feeToStop (#353) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#324-327)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#333-335)
increaseAllowance(address,uint256) should be declared external:
- BEP20FPR.increaseAllowance(address,uint256) (#541-544)
decreaseAllowance(address,uint256) should be declared external:
- BEP20FPR.decreaseAllowance(address,uint256) (#560-563)
burn(uint256) should be declared external:
- BEP20FPR.burn(uint256) (#569-572)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find website, listings and other project-related information
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Unable to find Telegram and Twitter accounts