Zombie Inu Token - Smart Contract Audit Report
Summary
Zombie Inu Token ($ZINU) 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.
Notes on the Contract:
- The total supply of the token is initially set to 1 quadrillion $ZINU [1,000,000,000,000,000].
- No minting or burn functions are present; however, holders can reduce the circulating supply by transferring tokens to the 0x000...dead address if desired.
- At the time of writing this report, 41.50% of the token's supply has been sent to the 0x000...dead address.
- 10.12% of the total supply has been sent from the deployer to a Gnosis Safe Multi-signature Team Wallet.
- 4.48% of the total supply is in Uniswap V2 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 Tuesday, October 25, 2022.
- The next five holders own a cumulative 4.19% of the total supply. Which is nearly the amount that is in liquidity.
- 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 and modified by the team at any time. The team also has the ability to set independent fees that will be applied 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 the 'Redistribution Fee' are removed from the circulating supply.
- The tokens that are collected from fees that are charged on transactions will be stored in the contract address. Once the contract balance reaches a threshold of $ZINU tokens (determined by the owner), 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. ManualSwap will manually swap $ZINU tokens in the contract for ETH which is then stored in the contract balance. ManualSend will transfer the ETH from the contract to the respective wallet that called the function.
- As the project is compiled with Solidity v0.8.4, it is protected from overflow/underflow issues.
- The contract complies with the ERC20 Token Standard.
Ownership Controls:- Ownership has been not been renounced.
- The owner can set the fees that are charged on transfers to be any amount at any time.
- The owner can exclude addresses from fees at any time.
- The owner can add/remove addresses to a blacklist which will prohibit that account from participating in transfers.
- The owner can enable trading which allows transfers of the token to take place globally for all non-blacklisted addresses.
- The owner can add accounts to a "pre-trader whitelist" which allows them to buy the token and transfer tokens between other whitelisted addresses before trading has been enabled.
- The owner can enable/disable the "Swap tokens for ETH" mechanism at any time.
- The owner can update the minimum contract token balance threshold for swapping tokens at any time.
- The owner can 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 value is defaulted to 0.30% of the total supply upon deployment.
- The owner can set and update a 'maximum wallet amount' at any time, which will impose a limit to the number of tokens that can be owned by any given address. This value is defaulted to 1.00% of the total supply upon deployment.
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 28th, 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

Inheritance Chart

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
- [Pub] transferOwnership #
- 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 ($)
+ ZombieInu (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] excludeMultipleAccountsFromFees #
- modifiers: onlyOwner
- [Pub] allowPreTrading #
- modifiers: onlyOwner