|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|
Wolfy - Smart Contract Audit Report
We audited Wolfy's token contract, deployed at 0x7dbbcae15d4db168e01673400d7844870cc1e36f.
Overview of the Contract:
Audit Findings Summary
- Wolfy is a fork of Reflect Finance that has an increased transfer tax and introduces a burn-on-transfer tax.
- Users who hold tokens will automatically receive the fees from a 2% transaction tax set in the contract.
- The contract also implements a 1% burn fee on each transaction, making the supply deflationary.
- In addition, the contract implements a maximum amount of tokens that can be sent in a transaction. By default this value is the total supply and the owner is excluded from this requirement.
- Currently, 3.8% of the supply is in the Uniswap pool.
- 31% of the supply has been sent to the 0xdead burn address.
- The next largest holder has 2.5%
- The project launched using a direct listing, meaning those who purhased first have a ~28x gain.
- The owner has the ability to set the maximum number of tokens that can be transfered at once. The maximum can not be set lower than 5x the total supply, so the maximum transfer can never have an impact.
- The owner has the ability to set the transaction fee that is used in the redistribution, but not the burn fee. The tax fee must be between 1% and 10%.
- Owners have the ability to exclude and include users from the fee mechanism.
- The contract utilizes SafeMath libraries to prevent overflows.
- No security issues were detected in the analysis.
- Ensure trust in the team as they have some power in the ecosystem.
- Date: April 20th, 2021
($) = payable function # = non-constant function + Context - [Int] _msgSender - [Int] _msgData + [Int] IERC20 - [Ext] totalSupply - [Ext] balanceOf - [Ext] transfer # - [Ext] allowance - [Ext] approve # - [Ext] transferFrom # + Ownable (Context) - [Int]
# - [Pub] owner - [Pub] renounceOwnership # - modifiers: onlyOwner - [Pub] transferOwnership # - modifiers: onlyOwner - [Pub] geUnlockTime - [Pub] lock # - modifiers: onlyOwner - [Pub] unlock # + [Lib] SafeMath - [Int] add - [Int] sub - [Int] sub - [Int] mul - [Int] div - [Int] div - [Int] mod - [Int] mod + [Lib] Address - [Int] isContract - [Int] sendValue # - [Int] functionCall # - [Int] functionCall # - [Int] functionCallWithValue # - [Int] functionCallWithValue # - [Prv] _functionCallWithValue # + WOLFYCOIN (Context, IERC20, Ownable) - [Pub] # - [Pub] name - [Pub] symbol - [Pub] decimals - [Pub] totalSupply - [Pub] balanceOf - [Pub] transfer # - [Pub] allowance - [Pub] approve # - [Pub] transferFrom # - [Pub] increaseAllowance # - [Pub] decreaseAllowance # - [Pub] isExcluded - [Pub] totalFees - [Pub] totalBurn - [Pub] deliver # - [Pub] reflectionFromToken - [Pub] tokenFromReflection - [Ext] excludeAccount # - modifiers: onlyOwner - [Ext] includeAccount # - modifiers: onlyOwner - [Prv] _approve # - [Prv] _transfer # - [Prv] _transferStandard # - [Prv] _transferToExcluded # - [Prv] _transferFromExcluded # - [Prv] _transferBothExcluded # - [Prv] _reflectFee # - [Prv] _getValues - [Prv] _getTValues - [Prv] _getRValues - [Prv] _getRate - [Prv] _getCurrentSupply - [Prv] _getTaxFee - [Prv] _getMaxTxAmount - [Ext] _setTaxFee # - modifiers: onlyOwner - [Ext] _setMaxTxAmount # - modifiers: onlyOwner