|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|
SafePokeman Token (SafePokeman.com)- Audit Report
SafePokeman ($SAFEPOKEMAN)is a hyper-deflationary token on the Binance Smart Chain.
We audited SafePokeman's token contract, deployed at 0xfb16b31fa8a6edcd2dde78654cb0668c724c1dac on the BSC mainnet.
Please confirm the contract address before interacting - scammers have set up fake website impersonating the project.
Overview of the Contract:
Audit Findings Summary
- SafePokeman is a fork of Reflect Finance. The total supply is 1 quadrillion.
- Users who hold tokens will automatically receive a portion of the fees the fees from a set in the contract.
- The contract also implements a burn fee on each transaction.
- Finally, the contracts collects fees for the reward pool, and to pay the developers.
- 15% of the token's supply has been sent to the burn address.
- One unknown wallet holds 15% of the supply unlocked.
- The liquidity pool holds 5.3% of the token's supply.
- 98% of liquidity has been burned
- The next largest hold has 5%.
- Owners also have the ability to exclude and include users from the fee mechanism.
- Ownership has been renounced, so the current fee mechanism cannot be changed.
- The contract utilizes SafeMath libraries to prevent overflows.
- No security issues were detected in the analysis.
- Ensure trust in the team as they control the Reward Pool and Dev wallets which will continue to accrue tokens over time.
- Be aware that one wallet has ~3x as many tokens as are in the liquidity pool. If this wallet sells, the negative price impact would be massive..
- Finally, be aware that 7 wallets have at least half as many tokens as are in LP which also poses some risk to liquidity.
- Date: May 5th, 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 # + [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 # + Ownable (Context) - [Int]
# - [Pub] owner - [Pub] renounceOwnership # - modifiers: onlyOwner - [Pub] transferOwnership # - modifiers: onlyOwner + SafePokemanToken (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] reflect # - [Pub] reflectionFromToken - [Pub] tokenFromReflection - [Ext] excludeAccount # - modifiers: onlyOwner - [Ext] includeAccount # - modifiers: onlyOwner - [Ext] whitelistAccount # - modifiers: onlyOwner - [Ext] removeAccountWhitelist # - modifiers: onlyOwner - [Prv] _approve # - [Prv] _transfer # - [Prv] _transferNoFee # - [Prv] _transferStandard # - [Prv] _transferToExcluded # - [Prv] _transferFromExcluded # - [Prv] _transferBothExcluded # - [Prv] _reflectFee # - [Prv] _reflectBurn # - [Prv] _transferToRewardPool # - [Prv] _transferToDev # - [Prv] _getValues - [Prv] _getTValues - [Prv] _getRValues - [Prv] _getRate - [Prv] _getCurrentSupply