Corgi Token - Smart Contract Audit Report
Corgi Token ($COR) is a new community-driven DeFi token on the Binance Smart Chain.
Notes on the Contract:
Audit Findings Summary
- The total supply of the token is set to 100 million $COR [100,000,000].
- No minting or burn functions are present; though the circulating supply can be reduced by sending tokens to the 0x..dead address, if desired.
- At the time of writing this report, 85% of the total supply is stored in the HoldCorgi contract. This contract was out of scope for the audit.
- The top holder owns 10% of the total supply.
- 1.73% of the total supply is stored in a PreSale contract.
- 0.64% of the total supply is in Pancakeswap liquidity.
- Of that liquidity, 99.92% of the LP tokens belong to AdminUpgradeabilityProxy contract.
- There is a tax fee charged on all transactions for any "non-excluded" address that participates in a transfer. The owner has the ability to modify the tax fee to any percentage at any time.
- The tokens collected from the tax fee are sent directly to the team's dev wallet. The owner can update the dev wallet to any address at any time.
- The owner of the contract can exclude and include accounts from the tax fee.
- The tax fee will always be charged on transactions where the recipient is the team's 'CorgiFarm' address, regardless of whether or not the sender is excluded from the tax fee.
- The owner has the ability to set and update a maximum transaction amount at any time, which will impose a limit to the number of tokens that can be transferred during any given transaction.
- This maximum transaction amount does not apply to the owner during transactions where the owner is either the sender or the recipient.
- As the project is implemented with Solidity v0.8.0, it is protected from overflows.
- No external threats were identified.
- We recommend that the team renounces ownership.
- Please ensure trust in the team prior to investing as they have substantial control in the ecosystem.
- Date: October 15th, 2021
|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|
($) = payable function # = non-constant function + Context - [Int] _msgSender - [Int] _msgData + Ownable (Context) - [Pub]
# - [Pub] owner - [Pub] renounceOwnership # - modifiers: onlyOwner - [Pub] transferOwnership # - modifiers: onlyOwner - [Prv] _setOwner # + [Lib] SafeMath - [Int] add - [Int] sub - [Int] mul - [Int] div - [Int] mod + [Lib] SafeMathExt - [Int] add128 - [Int] sub128 - [Int] add64 - [Int] sub64 - [Int] safe128 - [Int] safe64 - [Int] safe32 - [Int] safe16 + [Lib] Math - [Int] max - [Int] min - [Int] average + [Int] IERC20 - [Ext] totalSupply - [Ext] balanceOf - [Ext] transfer # - [Ext] allowance - [Ext] approve # - [Ext] transferFrom # + ERC20 (IERC20, Context) - [Pub] # - [Ext] totalSupply - [Ext] balanceOf - [Ext] transfer # - [Ext] allowance - [Ext] approve # - [Ext] transferFrom # - [Ext] increaseAllowance # - [Ext] decreaseAllowance # - [Int] _transfer # - [Int] _approve # - [Int] _mint # - [Int] _burn # + CorgiToken (Ownable, ERC20) - [Pub] # - modifiers: ERC20 - [Int] _transfer # - [Ext] setFarm # - modifiers: onlyOwner - [Ext] setMaxTxAmount # - modifiers: onlyOwner - [Pub] setFee # - modifiers: onlyOwner - [Pub] updateDevAddress # - modifiers: onlyOwner - [Pub] includeInFee # - modifiers: onlyOwner - [Pub] excludeFromFee # - modifiers: onlyOwner - [Pub] isExcludedFromFee