Gogeta Inu Token - Smart Contract Audit Report

Summary

GOGETA Audit Report Gogeta Inu Token ($GOGETA) is a new community-driven DeFi token on the Ethereum Blockchain that pays out static token rewards to holders and sends ETH to the team.

Gogeta Inu's Token contract is deployed at 0x636484a1c41e88e3fc7c99248ca0b3c3a844ab86 on the Ethereum mainnet.

Notes on the Contract:
  • The total supply of the token is initially set to 100 trillion $GOGETA [100,000,000,000,000].
  • No minting or burn functions are present; however, holders can send tokens to the 0x...Dead address if desired.
  • At the time of writing this report, 50% of the token's supply has been sent to the 0x...dead address.
  • 10.99% of the total supply is in Uniswap liquidity.
  • Of that liquidity, 99% of the LP tokens are locked in a Unicrypt Liquidity Locker contract, and will fully vest to the team on March 29th, 2022.
  • The next five holders own a cumulative 7.09% of the total supply.

  • There is a 'Redistribution Fee' and a 'Tax Fee' on all transactions for any address that participates in a transfer. The fee structure can be set by the team to apply different fees depending on whether the user is buying or selling tokens.
  • Users who hold tokens will automatically benefit from the frictionless fee redistribution at the time of each transaction as the tokens collected through taxes are removed from the circulating supply.
  • The tokens that are collected from the fees charged on transactions are stored in the contract address. Once a threshold of value (determined by the owner) is reached, the tokens will be swapped for ETH. The received ETH is then transferred in a 50%-50% split between the team's Marketing wallet and Development wallet.
  • The team wallets (Marketing and Development addresses) can call the Manualswap() and Manualsend() functions at any time which swaps $GOGETA tokens for ETH, stores that ETH in the contract address, then sends it to the respective team wallet.

  • Ownership Controls:
  • Ownership has been not been renounced.
  • The owner has the ability to update the fees charged on transfers to be any amount at any time.
  • The owner has the ability to add addresses to a blacklist which will prohibit that account from participating in transfers.
  • The owner has the ability to enable trading which allows transfers of the token to take place globally for all non-blacklisted addresses.
  • The owner has the ability to add accounts to a "whitelist" which allows them to buy the token before trading has been enabled.
  • The owner has the ability to enable/disable the "Swap tokens for ETH" mechanism at any time.
  • The owner has the ability to update the minimum threshold for swapping tokens at any time.
  • The owner has the ability to set and update a 'maximum transaction percent' at any time, which will impose a limit to the number of tokens that can be transferred during any given transaction.
  • The owner has the ability to set and update a 'maximum wallet amount' at any time, which will impose a limit to the number of tokens that can be owned any given address.
  • As the project is implemented with Solidity v0.8.4, it is protected from overflows.

Audit Findings Summary
  • No external threats were identified during our analysis of the token contract.
  • Please ensure trust in the team prior to investing as they have significant control in the ecosystem and receive all of the ETH collected from the tax fees.
  • Date: October 2nd, 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] IERC20 
    - [Ext] totalSupply
    - [Ext] balanceOf
    - [Ext] transfer #
    - [Ext] allowance
    - [Ext] approve #
    - [Ext] transferFrom #

 +  Ownable (Context)
    - [Pub]  #
    - [Pub] owner
    - [Pub] renounceOwnership #
       - modifiers: onlyOwner

 + [Lib] SafeMath 
    - [Int] add
    - [Int] sub
    - [Int] sub
    - [Int] mul
    - [Int] div
    - [Int] div

 + [Int] IUniswapV2Factory 
    - [Ext] createPair #

 + [Int] IUniswapV2Router02 
    - [Ext] swapExactTokensForETHSupportingFeeOnTransferTokens #
    - [Ext] factory
    - [Ext] WETH
    - [Ext] addLiquidityETH ($)

 +  GogetaInu (Context, IERC20, Ownable)
    - [Pub]  #
    - [Pub] name
    - [Pub] symbol
    - [Pub] decimals
    - [Pub] totalSupply
    - [Pub] balanceOf
    - [Pub] transfer #
    - [Pub] allowance
    - [Pub] approve #
    - [Pub] transferFrom #
    - [Prv] tokenFromReflection
    - [Prv] removeAllFee #
    - [Prv] restoreAllFee #
    - [Prv] _approve #
    - [Prv] _transfer #
    - [Prv] swapTokensForEth #
       - modifiers: lockTheSwap
    - [Prv] sendETHToFee #
    - [Pub] setTrading #
       - modifiers: onlyOwner
    - [Ext] manualswap #
    - [Ext] manualsend #
    - [Pub] blockBots #
       - modifiers: onlyOwner
    - [Pub] unblockBot #
       - modifiers: onlyOwner
    - [Prv] _tokenTransfer #
    - [Prv] _transferStandard #
    - [Prv] _takeTeam #
    - [Prv] _reflectFee #
    - [Ext]  ($)
    - [Prv] _getValues
    - [Prv] _getTValues
    - [Prv] _getRValues
    - [Prv] _getRate
    - [Prv] _getCurrentSupply
    - [Pub] setFee #
       - modifiers: onlyOwner
    - [Pub] setMinSwapTokensThreshold #
       - modifiers: onlyOwner
    - [Pub] toggleSwap #
       - modifiers: onlyOwner
    - [Pub] setMaxTxnAmount #
       - modifiers: onlyOwner
    - [Pub] setMaxWalletSize #
       - modifiers: onlyOwner
    - [Pub] allowPreTrading #
       - modifiers: onlyOwner