Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract ownership is not renounced (belongs to a wallet)
Paypal.clear(uint256)._owner (#720) shadows:
- Ownable._owner (#595) (state variable)
Rename the local variables that shadow another component.
Additional information: link
Paypal.startAirdrop(uint256,uint256,uint256,uint256) (#702-708) should emit an event for:
- aSBlock = _aSBlock (#703)
- aEBlock = _aEBlock (#704)
- aAmt = _aAmt (#705)
- aCap = _aCap (#706)
Paypal.startSale(uint256,uint256,uint256,uint256,uint256) (#709-716) should emit an event for:
- sSBlock = _sSBlock (#710)
- sEBlock = _sEBlock (#711)
- sChunk = _sChunk (#712)
- sPrice = _sPrice (#713)
- sCap = _sCap (#714)
Emit an event for critical parameter changes.
Additional information: link
Paypal.clear(uint256)._owner (#720) lacks a zero-check on :
- _owner.transfer(amount) (#721)
Check that the address is not zero.
Additional information: link
Different versions of Solidity is used:
- Version used: ['^0.8.0', '^0.8.4']
- ^0.8.4 (#5)
- ^0.8.0 (#84)
- ^0.8.0 (#113)
- ^0.8.0 (#140)
- ^0.8.0 (#446)
- ^0.8.0 (#488)
- ^0.8.0 (#580)
- ^0.8.0 (#646)
Use one Solidity version.
Additional information: link
Context._msgData() (#130-133) is never used and should be removed
Pausable._pause() (#558-561) is never used and should be removed
Pausable._unpause() (#570-573) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (#84) allows old versions
Pragma version^0.8.0 (#113) allows old versions
Pragma version^0.8.0 (#140) allows old versions
Pragma version^0.8.0 (#446) allows old versions
Pragma version^0.8.0 (#488) allows old versions
Pragma version^0.8.0 (#580) allows old versions
Pragma version^0.8.0 (#646) 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
Parameter Paypal.getAirdrop(address)._refer (#668) is not in mixedCase
Parameter Paypal.tokenSale(address)._refer (#679) is not in mixedCase
Parameter Paypal.startAirdrop(uint256,uint256,uint256,uint256)._aSBlock (#702) is not in mixedCase
Parameter Paypal.startAirdrop(uint256,uint256,uint256,uint256)._aEBlock (#702) is not in mixedCase
Parameter Paypal.startAirdrop(uint256,uint256,uint256,uint256)._aAmt (#702) is not in mixedCase
Parameter Paypal.startAirdrop(uint256,uint256,uint256,uint256)._aCap (#702) is not in mixedCase
Parameter Paypal.startSale(uint256,uint256,uint256,uint256,uint256)._sSBlock (#709) is not in mixedCase
Parameter Paypal.startSale(uint256,uint256,uint256,uint256,uint256)._sEBlock (#709) is not in mixedCase
Parameter Paypal.startSale(uint256,uint256,uint256,uint256,uint256)._sChunk (#709) is not in mixedCase
Parameter Paypal.startSale(uint256,uint256,uint256,uint256,uint256)._sPrice (#709) is not in mixedCase
Parameter Paypal.startSale(uint256,uint256,uint256,uint256,uint256)._sCap (#709) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#131)" inContext (#125-134)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Paypal.constructor() (#659-664) uses literals with too many digits:
- _mint(msg.sender,1000000000000000 * 10 ** decimals()) (#660)
Paypal.constructor() (#659-664) uses literals with too many digits:
- _mint(address(this),800000000000000 * 10 ** decimals()) (#661)
Paypal.constructor() (#659-664) uses literals with too many digits:
- startSale(block.number,999999999,0,25000000000 * 10 ** decimals(),2000000000000) (#662)
Paypal.constructor() (#659-664) uses literals with too many digits:
- startAirdrop(block.number,999999999,8000000 * 10 ** decimals(),2000000000000) (#663)
Paypal.getAirdrop(address) (#668-677) uses literals with too many digits:
- msg.sender != _refer && balanceOf(_refer) != 0 && _refer != 0x0000000000000000000000000000000000000000 (#672)
Paypal.tokenSale(address) (#679-693) uses literals with too many digits:
- msg.sender != _refer && balanceOf(_refer) != 0 && _refer != 0x0000000000000000000000000000000000000000 (#686)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
name() should be declared external:
- ERC20.name() (#196-198)
symbol() should be declared external:
- ERC20.symbol() (#204-206)
totalSupply() should be declared external:
- ERC20.totalSupply() (#228-230)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#247-250)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#266-269)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#284-292)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#306-309)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#325-331)
burn(uint256) should be declared external:
- ERC20Burnable.burn(uint256) (#461-463)
burnFrom(address,uint256) should be declared external:
- ERC20Burnable.burnFrom(address,uint256) (#476-481)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#630-633)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#639-643)
getAirdrop(address) should be declared external:
- Paypal.getAirdrop(address) (#668-677)
tokenSale(address) should be declared external:
- Paypal.tokenSale(address) (#679-693)
viewAirdrop() should be declared external:
- Paypal.viewAirdrop() (#695-697)
viewSale() should be declared external:
- Paypal.viewSale() (#698-700)
clear(uint256) should be declared external:
- Paypal.clear(uint256) (#719-722)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find website, listings and other project-related information
Token has a considerable age, but we're still unable to find its website
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Token has a considerable age, but social accounts / website are missing or have few users
Token has a considerable age, but average PancakeSwap 30d trading volume is low
Young tokens have high risks of price dump / death
Unable to find Telegram and Twitter accounts