Corgi Token - Smart Contract Audit Report
Summary
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
Audit Results
Vulnerability Category | Notes | Result |
---|---|---|
Arbitrary Storage Write | N/A | PASS |
Arbitrary Jump | N/A | PASS |
Delegate Call to Untrusted Contract | N/A | PASS |
Dependence on Predictable Variables | N/A | PASS |
Deprecated Opcodes | N/A | PASS |
Ether Thief | N/A | PASS |
Exceptions | N/A | PASS |
External Calls | N/A | PASS |
Flash Loans | N/A | PASS |
Integer Over/Underflow | N/A | PASS |
Multiple Sends | N/A | PASS |
Oracles | N/A | PASS |
Suicide | N/A | PASS |
State Change External Calls | N/A | PASS |
Unchecked Retval | N/A | PASS |
User Supplied Assertion | N/A | PASS |
Critical Solidity Compiler | N/A | PASS |
Overall Contract Safety | PASS |
Function Graph
Inheritence Chart
Functions Overview
($) = 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