Quantum Audit Logo

Is 熊猫头 Safe?

On-chain security analysis — is it a scam or legit?

Is this your token? Publish your own audit on this page →

熊猫头 熊猫头
0xf352…4444
BNB Chain Not verifiedLast checked 3d ago 1 audit on record
Executive SummaryAI Copilot

The FourERC20 contract implements a standard ERC-20 token, largely leveraging battle-tested OpenZeppelin contracts. It provides core token functionalities but is designed as a base contract, meaning it lacks public supply management (mint/burn) and operational roles. The code quality is high, and no critical vulnerabilities were identified. The identified issues are primarily informational or related to inherent ERC-20 design considerations.

2 Low2 Informational
Volume 24h
$19.8K
Liquidity
$109.3K
Price
$0.0004569
Token Age
10mo
Top 10 Holders
32.4%

Security Findings

Low

Incomplete Token Functionality (Base Contract)

L-01The `FourERC20` contract provides the core ERC-20 logic but lacks public functions for minting or burning tokens, and thus cannot manage its own supply. This is by design for a base contract intended to be inherited, but means it's not a fully functional, deployable token on its own without a derived contract implementing these mechanisms (7.1 Architecture).
IssueThe `FourERC20` contract provides the core ERC-20 logic but lacks public functions for minting or burning tokens, and thus cannot manage its own supply. This is by design for a base contract intended to be inherited, but means it's not a fully functional, deployable token on its own without a derived contract implementing these mechanisms (7.1 Architecture).
FixThis is an architectural design choice. If a fully functional token is desired, a derived contract must be created to implement public `_mint` and `_burn` functions, along with appropriate access control for these operations.
StatusUnresolved
Low

Standard ERC-20 `approve` Race Condition

L-02The `approve` function, while standard in ERC-20, is susceptible to a known race condition where a malicious spender can exploit a user's attempt to change an allowance. If a user first approves X, then approves Y, a front-running attacker could execute the first approval, then transfer X tokens, then execute the second approval, resulting in the attacker having Y tokens plus the X tokens from the first approval (7.2 Code Security). While `increaseAllowance` and `decreaseAllowance` are provided as mitigations, the `approve` function itself remains vulnerable if not used carefully by external callers.
IssueThe `approve` function, while standard in ERC-20, is susceptible to a known race condition where a malicious spender can exploit a user's attempt to change an allowance. If a user first approves X, then approves Y, a front-running attacker could execute the first approval, then transfer X tokens, then execute the second approval, resulting in the attacker having Y tokens plus the X tokens from the first approval (7.2 Code Security). While `increaseAllowance` and `decreaseAllowance` are provided as mitigations, the `approve` function itself remains vulnerable if not used carefully by external callers.
FixEducate users to prefer `increaseAllowance` and `decreaseAllowance` over `approve` when modifying existing allowances. If `approve` must be used to change an existing allowance, it is safer to first set the allowance to zero, wait for that transaction to confirm, and then set the new allowance.
StatusUnresolved
Info

Missing Initialization Event

I-01The `_init` function, which sets the token's name and symbol, does not emit an event. Emitting an event for critical initialization parameters is a best practice for transparency and off-chain indexing, allowing external systems to easily track the token's fundamental properties upon deployment (7.8 Operations).
IssueThe `_init` function, which sets the token's name and symbol, does not emit an event. Emitting an event for critical initialization parameters is a best practice for transparency and off-chain indexing, allowing external systems to easily track the token's fundamental properties upon deployment (7.8 Operations).
FixConsider emitting an event, such as `Initialized(string name, string symbol)`, within the `_init` function to provide a clear, immutable record of the token's initial configuration.
StatusUnresolved
Info

Absence of Operational Roles

I-02The contract does not implement any specific operational roles such as `owner`, `pauser`, or `minter`. This means there are no centralized controls for emergency actions like pausing transfers or managing token supply, which might be desired for a production token (7.3 Access Control, 7.8 Operations). This is a design choice for a base contract.
IssueThe contract does not implement any specific operational roles such as `owner`, `pauser`, or `minter`. This means there are no centralized controls for emergency actions like pausing transfers or managing token supply, which might be desired for a production token (7.3 Access Control, 7.8 Operations). This is a design choice for a base contract.
FixIf centralized control or emergency mechanisms are required for the deployed token, a derived contract should implement appropriate access control patterns (e.g., OpenZeppelin's `Ownable` or `AccessControl`) and integrate functionalities like `Pausable`.
StatusUnresolved

Category Ratings

TechnicalLow10/10

The contract is a robust implementation of the ERC-20 standard, inheriting from OpenZeppelin's `Context` and implementing `IERC20` and `IERC20Metadata`. It correctly handles arithmetic operations using Solidity 0.8.0+'s default checked math, with a safe `unchecked` block in `decreaseAllowance` (7.2 Code Security). The use of `_msgSender()` for sender identification is appropriate. However, as a base contract, it does not include public minting/burning functions (7.1 Architecture), requiring a derived contract for full functionality.

GovernanceLow10/10

The `FourERC20` contract is a foundational token implementation and does not include any specific governance or economic mechanisms (7.5 Governance, 7.4 Economic). There are no fees, staking, or voting functionalities. The absence of an `owner` or other administrative roles means there is no centralized control over the token's operational aspects, which is a design choice for a base contract (7.3 Access Control).

UpgradesLow10/10

The contract is not explicitly designed as an upgradeable proxy, and no proxy pattern is implemented (7.7 Upgrades). While it includes an internal `_init` function, which is common in upgradeable contracts, without a proxy wrapper, the contract itself is not upgradeable. Any future upgradeability would require deploying a separate proxy contract and linking this implementation.

Security Checklist

Contract VerifiedPass
Ownership RenouncedPass
No Mint FunctionPass
Liquidity LockedPass
Not a ProxyPass

Holder Composition

15.0% in wallets17.4% in contracts
Effective Concentration21.9%

Share held by contracts — treasury, vesting, bridge or staking — is discounted against share held by wallets when the score is computed: a contract cannot decide to sell the way an anonymous holder can, though it can still be drained or voted to sell. Effective concentration is the figure the risk score is actually calculated from.

Liquidity Depth

The risk score reads depth across every pair. The volume figure and the volume-to-liquidity ratio elsewhere on this page describe only the pair this audit analysed, so the two are not directly comparable.

LP Distribution

LP Burned100.0% · ≈ permanent lock
LP Locked100.0% · Null Address

Key Addresses

Deployer
0xc142…da7e

What Raised This Score

  • Top-10 concentration > 20% (32.4% total → 21.9% effective; 15.0% in EOAs, 17.4% in contracts — mild)
  • 2 Low finding(s) from audit

Each factor is an on-chain fact recorded at the time of this analysis. The score is computed from them by a deterministic function, so the same contract returns the same score for anyone who runs the audit. How scores are computed

Related Audits

TCryptochicks (TCC)Low Risk币安人生Low RiskSKYAILow RiskBLow RiskDOYRLow RiskCREPELow Risk

Would You Like a More Detailed Audit of 熊猫头?

Our AI-powered scanner gives you a deeper, real-time smart contract analysis — free, with every scoring factor shown.

Get Detailed Audit