|Arbitrary Storage Write||N/A||PASS|
|Delegate Call to Untrusted Contract||N/A||PASS|
|Dependence on Predictable Variables||N/A||PASS|
|State Change External Calls||N/A||Pass|
|User Supplied Assertion||N/A||PASS|
|Critical Solidity Compiler||N/A||PASS|
|Overall Contract Safety||PASS|
Cummies - Audit Report
We audited Cummies's token contract, deployed at 0x27ae27110350b98d564b9a3eed31baebc82d878d.
Overview of the Contract:
Audit Findings Summary
- The token has an initial total supply of 10 billion. No minting functions are present.
- 85% of the supply has been burned.
- 1% of the supply is locked in an unverified contract and will vest to the team at some point.
- The team holds an additional 0.73% of the supply unlocked.
- Two other wallets have more than the liquidity pool at 0.4% and 0.38%.
- 0.367% of the token's supply is in the liquidity pool. 95.5% of liquidity is locked in an unverified contract and will vest to the team at some point.
- Users who hold tokens will automatically receive the fees from a portion of the transaction tax set in the contract.
- Another portion of the transfer tax will be burned on each transaction.
- In addition, the contract implements a maximum amount of tokens that can be sent in a transaction. This amount is the total supply, so currently no there is no impact to user functionality.
- The owner has the ability to set the tax and burn fees to any amountat any time.
- The owner can also set the max transaction amount to any value at any time.
- Owners have the ability to exclude and include users from the fee mechanism.
- The contract utilizes SafeMath libraries to prevent overflows.
- No security issues were detected in the analysis.
- Ensure trust in the team as they have substantial control in the ecosystem. We recommend renouncing ownership.
- Further, ensure trust in the team as they hold a large number of tokens in relation to the liquidity pool and will recieve more over time. We recommend locking additional tokens.
- Date: April 25th, 2021
- Update Date: May 4th, 2021 - Ownership has been transferred to a multisig wallet.
($) = payable function # = non-constant function + Context - [Int] _msgSender - [Int] _msgData + [Int] IERC20 - [Ext] totalSupply - [Ext] balanceOf - [Ext] transfer # - [Ext] allowance - [Ext] approve # - [Ext] transferFrom # + [Lib] SafeMath - [Int] add - [Int] sub - [Int] sub - [Int] mul - [Int] div - [Int] div - [Int] mod - [Int] mod + [Lib] Address - [Int] isContract - [Int] sendValue # - [Int] functionCall # - [Int] functionCall # - [Int] functionCallWithValue # - [Int] functionCallWithValue # - [Prv] _functionCallWithValue # + Ownable (Context) - [Int]
# - [Pub] owner - [Pub] renounceOwnership # - modifiers: onlyOwner - [Pub] transferOwnership # - modifiers: onlyOwner + CumRocket (Context, IERC20, Ownable) - [Pub] # - [Pub] name - [Pub] symbol - [Pub] decimals - [Pub] totalSupply - [Pub] balanceOf - [Pub] transfer # - [Pub] allowance - [Pub] approve # - [Pub] transferFrom # - [Pub] increaseAllowance # - [Pub] decreaseAllowance # - [Pub] isExcluded - [Pub] totalFees - [Pub] totalBurn - [Ext] toggleAllowed # - modifiers: onlyOwner - [Ext] unpause # - [Pub] deliver # - [Pub] reflectionFromToken - [Pub] tokenFromReflection - [Ext] excludeAccount # - modifiers: onlyOwner - [Ext] includeAccount # - modifiers: onlyOwner - [Prv] _approve # - [Prv] _transfer # - [Prv] _transferStandard # - [Prv] _transferToExcluded # - [Prv] _transferFromExcluded # - [Prv] _transferBothExcluded # - [Prv] _reflectFee # - [Prv] _getValues - [Prv] _getTValues - [Prv] _getRValues - [Prv] _getRate - [Prv] _getCurrentSupply - [Pub] _getTaxFee - [Pub] _getBurnFee - [Ext] _setTaxFee # - modifiers: onlyOwner - [Ext] _setBurnFee # - modifiers: onlyOwner - [Ext] setMaxTxAmount # - modifiers: onlyOwner