Corgi Token - Smart Contract Audit Report

Summary

Corgi Token Audit Report Corgi Token ($COR) is a new community-driven DeFi token on the Binance Smart Chain.

The Corgi Token contract is deployed at 0x3581a7B7BE2eD2EDf98710910fD05b0e8545f1DB on the Binance Smartchain mainnet.

Notes on the Contract:
  • 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.

Audit Findings Summary
  • 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 CategoryNotesResult
Arbitrary Storage WriteN/APASS
Arbitrary JumpN/APASS
Delegate Call to Untrusted ContractN/APASS
Dependence on Predictable VariablesN/APASS
Deprecated OpcodesN/APASS
Ether ThiefN/APASS
ExceptionsN/APASS
External CallsN/APASS
Flash LoansN/APASS
Integer Over/UnderflowN/APASS
Multiple SendsN/APASS
OraclesN/APASS
SuicideN/APASS
State Change External CallsN/APASS
Unchecked RetvalN/APASS
User Supplied AssertionN/APASS
Critical Solidity CompilerN/APASS
Overall Contract Safety PASS

Function Graph

ERC20 Token Graph


Inheritence Chart

Multi-file Token


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