I LOVE SNOOPY - Audit

CertiK1 address on Ethereum

CertiK reviewed ilovesnoopy (I LOVE SNOOPY - Audit) on 31 May 2023: 8 findings, 0 critical; all acknowledged, none fixed.

No open critical findings
Open the reportOpen ilovesnoopy’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings8

Statuses are the security firm’s own, from its report.

SeverityOpenAcknowledgedFixed
Critical000
High010
Medium000
Low070
HighInitial Token DistributionAcknowledged

All LOVESNOOPY tokens are sent to the contract deployer when deploying the contract. This is a potential centralization risk as the deployer can distribute LOVESNOOPY tokens without the consensus of the community. As of 05/17/2023, the following addresses holds the majority of the tokens. - 0xb1097131A93342440C568Af9BE28B65b954f1c87 hold around 55% of the tokens - 0x6a1C160b6aA9cABf2d97036FCf427558BC0A2726 hold around 19.4% of the tokens - 0x640a3fAD66e95eB2284f19bf84Ce5897B260E9Ee hold around 10% of the tokens Note: The holder list can be found at website (https://etherscan.io/token/0xf0edac27aa3e85e2d176f689b0025f90c154393a#balances).

LowMissing Emit EventsAcknowledged

There should always be events emitted in the sensitive functions that are controlled by centralization roles.

LowMissing Error MessagesAcknowledged

The **require** can be used to check for conditions and throw an exception if the condition is not met. It is better to provide a string message containing details about the error that will be passed back to the caller.

LowMissing Zero Address ValidationAcknowledged

Addresses are not validated before assignment or external calls, potentially allowing the use of zero addresses and leading to unexpected behavior or vulnerabilities. For example, transferring tokens to a zero address can result in a permanent loss of those tokens. ```solidity=58 newOwner = _newOwner; ``` - `_newOwner` is not zero-checked before being used.

LowPossible Reentrancy situation caused by `receiveAAcknowledged

The `approveAndCall()` function will trigger the callback function of the `receiveApproval()`, thus leading to possible reentrancy situation. Smart contracts who interact with this token should be aware of the possible reentrancy situation.

LowPotential Risk On `approve()`/`transferFrom()` MeAcknowledged

Current `LOVESNOOPYCoin` implementation is vulnerable to [a known ERC20 race condition issue](https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729), which could lead to token theft. When a user calls `approve()` for a second time on a spender that has already been allowed, the spender could call `transferFrom()` to transfer the previous value and still receive the authorization to transfer the new value. Exploit scenario: 1. Alice calls `approve(Bob, 100)` to allow Bob to spend 100 tokens. 2. Alice changes her mind and calls `approve(Bob, 50)`. 3. Bob observes the second `approve(Bob, 50)` function call and calls `transferFrom(Alice, Bob, 100)` before the second `approve(Bob, 50)` call. 4. The above scenario can be achieved by front-running. In this case, Bob can transfer another 50 tokens from Alice and in total, he transferred 150 tokens from Alice.

LowSolidity Version Not RecommendedAcknowledged

Solidity frequently releases new compiler versions with improved security features and bug fixes. Using an outdated version prevents access to these enhancements and may leave the smart contract vulnerable to known issues. ```solidity=1 pragma solidity ^0.4.26; ```

Lowtotal supply calculationAcknowledged

The total supply of the LOVESNOOPY token is calculated as the following code snippet: ```solidity function totalSupply() public constant returns (uint256) { return _totalSupply - balances[address(0)]; } ``` However, according to the on chain data, users seems to burn tokens by transferring tokens to the [dead address](https://etherscan.io/token/0xf0edac27aa3e85e2d176f689b0025f90c154393a?a=0x000000000000000000000000000000000000dead) instead of address(0). Therefore, the total supply is not decreasing.

Contracts in scope1

AddressChainSource code
0xf0edac27aa3e85e2d176f689b0025f90c154393aChain: EthereumSource code: Verified source

Part of ilovesnoopy’s security record

ilovesnoopy
Audits1 audit by 1 firmLast audit May 2023, by CertiK.
Critical findingsNo open critical findingsIn 1 report.
Open ilovesnoopy’s security record

Security firm

CertiK

1,044 projects reviewed · 1,375 reports · latest May 2025

See CertiK’s audits

Something wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.

Tell us