CCFound

QuillAudits1 address on BNB Chain

Audit · firm’s term: audit report

QuillAudits reviewed ccFound on 19 Feb 2024: 7 findings, 0 critical; all marked fixed.

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

Report hosted on quillaudits.com.

Trustblock does not review code.

Findings7

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

SeverityOpenAcknowledgedFixed
Critical000
High002
Medium001
Low004
HighIncorrect Decimal Handling in Token Minting function mintTokenFixed

The mintToken function incorrectly mints tokens without considering the token's decimal places. This can lead to a significant disparity between the intended and actual amount of tokens minted, potentially causing economic imbalances within the token ecosystem.

HighOwner can renounce while system is paused using renounceOwnership functionFixed

he Owner of the contract is usually the account that deploys the contract. As a result, the Owner is able to perform some privileged functions like mintToken(), includeInFees(), pause(), unpause() and blacklist() etc. In the FoundCoin.sol smart contract, the renounceOwnership function is used to renounce the Owner permission. Renouncing ownership before transferring would result in the contract having no Owner, eliminating the ability to call privileged functions.

MediumCentralization Risk for trusted ownersFixed

Contracts have owners with privileged rights to perform admin tasks and need to be trusted to not perform malicious updates or drain funds.

LowConsider using custom errorsFixed

Custom errors reduce the contract size and can provide easier integration with a protocol. Consider using those instead of require statements with string error.

LowSingle-step ownership transferFixed

Inheriting from OpenZeppelin's Ownable contract means you are using a single-step ownership transfer pattern. If an admin provides an incorrect address for the new owner this will result in none of the 'Operator' marked methods being callable again. The better way to do this is to use a two-step ownership transfer approach, where the new owner should first claim its new rights before they are transferred.

LowState-changing methods are missing event emissionsFixed

Critical functions within the contract lack the emission of events. Events play a vital role in providing transparency, enabling external systems to react to changes, and offering a way to track important contract activities. The absence of events can hinder monitoring and auditing efforts, making it difficult to detect and respond to critical contract actions.

LowUnchecked Transfer Return ValuesFixed

The ERC-20 transfer function, according to the ERC-20 standard, returns a boolean value indicating the success or failure of the operation. Ignoring this return value can lead to situations where a transfer fails (due to reasons like insufficient balance, or transfer to a contract that doesn't accept tokens), but the contract continues execution as if it had succeeded. This oversight could cause discrepancies in the contract's internal accounting, leading to potential vulnerabilities or loss of funds under specific conditions.

Contracts in scope1

AddressChainSource code
0x1acbc7d9c40aa8955281ae29b581bcf002eeb4f4Chain: BNB ChainSource code: Verified source

Part of ccFound’s security record

ccFound
Audits1 audit by 1 firmLast audit Feb 2024, by QuillAudits.
Critical findingsNo open critical findingsIn 1 report.
Open ccFound’s security record

Security firm

QuillAudits

350 projects reviewed · 459 reports · latest Apr 2025

See QuillAudits’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