Amyfootball.amyBHashAlgo(uint256) (#135-138) uses a weak PRNG: "dataBll = uint256(blockhash(uint256)(_blocknumber)) % stModulo (#136)"
Amyfootball.findBlockWinn() (#140-143) uses a weak PRNG: "dataBll = uint256(blockhash(uint256)(block.number - 1)) % stModulo (#141)"
Amyfootball.supporterShouldGoContrat(uint256) (#228-247) uses a weak PRNG: "require(bool)(uint256(blockhash(uint256)(_checkBnumm)) % stModulo == 1) (#232)"
Amyfootball.amyContratPrizeDist(uint256) (#250-308) uses a weak PRNG: "require(bool)(uint256(blockhash(uint256)(_checkBnumm)) % stModulo == 1) (#253)"
Do not use block.timestamp, now or blockhash as a source of randomness
Additional information: link
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Amyfootball.supporterShouldGoContrat(uint256) (#228-247) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(amyStakeDetails[msg.sender]._stakebeginning + stCancel > now) (#231)
- amyBlockChecker[finalBlock]._bNoww + 1800 < now (#234)
Amyfootball.amyContratPrizeDist(uint256) (#250-308) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(amyStakeDetails[msg.sender]._stakebeginning + stCancel > now) (#254)
Amyfootball.supporterWantsToLeave() (#323-329) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(amyStakeDetails[msg.sender]._stakebeginning + stCancel < now) (#325)
Avoid relying on block.timestamp.
Additional information: link
Amyfootball.supporterShouldGoContrat(uint256) (#228-247) compares to a boolean constant:
-require(bool)(supporterTime(msg.sender) == true) (#229)
Amyfootball.amyContratPrizeDist(uint256) (#250-308) compares to a boolean constant:
-require(bool)(nprizeDetails[amyCheckP()]._ifEarnPrize == false) (#255)
Amyfootball.amyContratPrizeDist(uint256) (#250-308) compares to a boolean constant:
-require(bool)(nprizeDetails[amyCheckP()]._ifShouldProcess == true) (#256)
Amyfootball.amyContratPrizeDist(uint256) (#250-308) compares to a boolean constant:
-require(bool)(supporterTime(msg.sender) == true) (#251)
Amyfootball.supporterWantsToLeave() (#323-329) compares to a boolean constant:
-require(bool)(supporterTime(msg.sender) == true) (#324)
Remove the equality to the boolean constant.
Additional information: link
Pragma version>=0.5.16<0.6.9 (#2) is too complex
solc-0.6.8 is not recommended for deployment
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
Contract tokenRecipient (#5-7) is not in CapWords
Struct Amyfootball.amyProgramInfo (#145-148) is not in CapWords
Struct Amyfootball.prizeDetails (#154-158) is not in CapWords
Struct Amyfootball.nBlockInformations (#162-165) is not in CapWords
Struct Amyfootball.activeSupporter (#169-171) is not in CapWords
Struct Amyfootball.noteArea (#331-336) is not in CapWords
Parameter Amyfootball.transfer(address,uint256)._to (#63) is not in mixedCase
Parameter Amyfootball.transfer(address,uint256)._value (#63) is not in mixedCase
Parameter Amyfootball.transferFrom(address,address,uint256)._from (#68) is not in mixedCase
Parameter Amyfootball.transferFrom(address,address,uint256)._to (#68) is not in mixedCase
Parameter Amyfootball.transferFrom(address,address,uint256)._value (#68) is not in mixedCase
Parameter Amyfootball.approve(address,uint256)._spender (#75) is not in mixedCase
Parameter Amyfootball.approve(address,uint256)._value (#75) is not in mixedCase
Parameter Amyfootball.approveAndCall(address,uint256,bytes)._spender (#82) is not in mixedCase
Parameter Amyfootball.approveAndCall(address,uint256,bytes)._value (#82) is not in mixedCase
Parameter Amyfootball.approveAndCall(address,uint256,bytes)._extraData (#82) is not in mixedCase
Parameter Amyfootball.burn(uint256)._value (#92) is not in mixedCase
Parameter Amyfootball.burnFrom(address,uint256)._from (#100) is not in mixedCase
Parameter Amyfootball.burnFrom(address,uint256)._value (#100) is not in mixedCase
Parameter Amyfootball.amyBHashAlgo(uint256)._blocknumber (#135) is not in mixedCase
Parameter Amyfootball.supporterTime(address)._sendder (#186) is not in mixedCase
Parameter Amyfootball.supporterStock(address)._sendder (#199) is not in mixedCase
Parameter Amyfootball.stakerTimeStart(address)._sendder (#212) is not in mixedCase
Parameter Amyfootball.supporterShouldGoContrat(uint256)._checkBnumm (#228) is not in mixedCase
Parameter Amyfootball.amyContratPrizeDist(uint256)._checkBnumm (#250) is not in mixedCase
Parameter Amyfootball.sendNoteWithAmy(uint256,address,string)._amount (#340) is not in mixedCase
Parameter Amyfootball.sendNoteWithAmy(uint256,address,string)._to (#340) is not in mixedCase
Parameter Amyfootball.sendNoteWithAmy(uint256,address,string)._memo (#340) is not in mixedCase
Parameter Amyfootball.sendNoteWithout(address,string)._to (#346) is not in mixedCase
Parameter Amyfootball.sendNoteWithout(address,string)._memo (#346) is not in mixedCase
Function Amyfootball.NoteChecker(address,uint256) (#353-367) is not in mixedCase
Parameter Amyfootball.NoteChecker(address,uint256)._sendder (#353) is not in mixedCase
Parameter Amyfootball.NoteChecker(address,uint256)._index (#353) is not in mixedCase
Function Amyfootball.NoteTotal(address) (#370-372) is not in mixedCase
Parameter Amyfootball.NoteTotal(address)._sendder (#370) is not in mixedCase
Parameter Amyfootball.chAddrToStr(address)._sendder (#378) is not in mixedCase
Parameter Amyfootball.justNoteCheck(address)._sendder (#392) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Amyfootball.amyaddressCrypt() (#181-183) uses literals with too many digits:
- uint256(msg.sender) % 10000000000 (#182)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Amyfootball.decimals (#12) should be constant
Amyfootball.rewardTimes (#17) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
transfer(address,uint256) should be declared external:
- Amyfootball.transfer(address,uint256) (#63-66)
transferFrom(address,address,uint256) should be declared external:
- Amyfootball.transferFrom(address,address,uint256) (#68-73)
approveAndCall(address,uint256,bytes) should be declared external:
- Amyfootball.approveAndCall(address,uint256,bytes) (#82-90)
burn(uint256) should be declared external:
- Amyfootball.burn(uint256) (#92-98)
burnFrom(address,uint256) should be declared external:
- Amyfootball.burnFrom(address,uint256) (#100-108)
amyThisBlockHash() should be declared external:
- Amyfootball.amyThisBlockHash() (#131-133)
amyBHashAlgo(uint256) should be declared external:
- Amyfootball.amyBHashAlgo(uint256) (#135-138)
findBlockWinn() should be declared external:
- Amyfootball.findBlockWinn() (#140-143)
totalSupportersNum() should be declared external:
- Amyfootball.totalSupportersNum() (#176-178)
supporterStock(address) should be declared external:
- Amyfootball.supporterStock(address) (#199-210)
stakerTimeStart(address) should be declared external:
- Amyfootball.stakerTimeStart(address) (#212-215)
stakerActiveTotal() should be declared external:
- Amyfootball.stakerActiveTotal() (#218-220)
supporterShouldGoContrat(uint256) should be declared external:
- Amyfootball.supporterShouldGoContrat(uint256) (#228-247)
amyContratPrizeDist(uint256) should be declared external:
- Amyfootball.amyContratPrizeDist(uint256) (#250-308)
joinStakeProgram(uint256) should be declared external:
- Amyfootball.joinStakeProgram(uint256) (#310-321)
supporterWantsToLeave() should be declared external:
- Amyfootball.supporterWantsToLeave() (#323-329)
sendNoteWithAmy(uint256,address,string) should be declared external:
- Amyfootball.sendNoteWithAmy(uint256,address,string) (#340-344)
sendNoteWithout(address,string) should be declared external:
- Amyfootball.sendNoteWithout(address,string) (#346-350)
NoteChecker(address,uint256) should be declared external:
- Amyfootball.NoteChecker(address,uint256) (#353-367)
NoteTotal(address) should be declared external:
- Amyfootball.NoteTotal(address) (#370-372)
justNoteCheck(address) should be declared external:
- Amyfootball.justNoteCheck(address) (#392-403)
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