DYT Token - Smart Contract Audit Report
DYT Token ($DYT) is a new community-driven DeFi token on the Binance Smart Chain.
Notes on the Contract:
Audit Findings Summary
- The total supply of the token is set to 400 million $DYT [400,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, 100% of the total $DYT token supply is in possession of the owner as the project was recently deployed.
- There is a buy fee and a sell fee on all transactions where a user is either buying or selling to Pancakeswap.
- The tokens collected from the buy fee and sell fee are sent directly to the contract address.
- Any user can call the swapForMkt() function which, once a threshold value of $DYT tokens (determined by the owner) in the contract is met, will swap the $DYT tokens for BNB and send it to the team's marketing wallet.
- The contract utilizes SafeMath libraries along with following the BEP20 standard.
- Ownership has not been renounced.
- The owner has the ability to modify the buy fee and the sell fee to any percentages between 1% and 15% at any time.
- The contract features a blacklist mechanism where the owner of the contract can exclude addresses from being able to participate in transfers.
- 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 sold to Pancakeswap during any given transaction.
- The owner of the contract can add accounts to a whitelist. The maximum amount amount will not apply to whitelisted addresses. Upon deployment, the contract address, the owner, and the marketing address were added to the whitelist.
- The owner can update the team's marketing address to any address at any time.
- No external threats were identified.
- Please ensure trust in the team prior to investing as they have some control in the ecosystem.
- Date: October 12th, 2021
|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|
($) = payable function # = non-constant function + [Int] IERC20 - [Ext] totalSupply - [Ext] balanceOf - [Ext] transfer # - [Ext] allowance - [Ext] approve # - [Ext] transferFrom # + [Int] IERC20Metadata (IERC20) - [Ext] name - [Ext] symbol - [Ext] decimals + Context - [Int] _msgSender - [Int] _msgData + [Lib] SafeMath - [Int] add - [Int] sub - [Int] sub - [Int] mul - [Int] div - [Int] div - [Int] mod - [Int] mod + ERC20 (Context, IERC20, IERC20Metadata) - [Pub]
# - [Pub] name - [Pub] symbol - [Pub] decimals - [Pub] totalSupply - [Pub] balanceOf - [Pub] transfer # - [Pub] allowance - [Pub] approve # - [Pub] transferFrom # - [Pub] increaseAllowance # - [Pub] decreaseAllowance # - [Int] _transfer # - [Int] _mint # - [Int] _burn # - [Int] _approve # - [Int] _beforeTokenTransfer # + Ownable (Context) - [Pub] # - [Pub] owner - [Pub] renounceOwnership # - modifiers: onlyOwner - [Pub] transferOwnership # - modifiers: onlyOwner + ReentrancyGuard - [Int] # + [Int] IUniswapV2Pair - [Ext] name - [Ext] symbol - [Ext] decimals - [Ext] totalSupply - [Ext] balanceOf - [Ext] allowance - [Ext] approve # - [Ext] transfer # - [Ext] transferFrom # - [Ext] DOMAIN_SEPARATOR - [Ext] PERMIT_TYPEHASH - [Ext] nonces - [Ext] permit # - [Ext] MINIMUM_LIQUIDITY - [Ext] factory - [Ext] token0 - [Ext] token1 - [Ext] getReserves - [Ext] price0CumulativeLast - [Ext] price1CumulativeLast - [Ext] kLast - [Ext] mint # - [Ext] burn # - [Ext] swap # - [Ext] skim # - [Ext] sync # - [Ext] initialize # + [Int] IUniswapV2Factory - [Ext] feeTo - [Ext] feeToSetter - [Ext] getPair - [Ext] allPairs - [Ext] allPairsLength - [Ext] createPair # - [Ext] setFeeTo # - [Ext] setFeeToSetter # + [Int] IUniswapV2Router01 - [Ext] factory - [Ext] WETH - [Ext] addLiquidity # - [Ext] addLiquidityETH ($) - [Ext] removeLiquidity # - [Ext] removeLiquidityETH # - [Ext] removeLiquidityWithPermit # - [Ext] removeLiquidityETHWithPermit # - [Ext] swapExactTokensForTokens # - [Ext] swapTokensForExactTokens # - [Ext] swapExactETHForTokens ($) - [Ext] swapTokensForExactETH # - [Ext] swapExactTokensForETH # - [Ext] swapETHForExactTokens ($) - [Ext] quote - [Ext] getAmountOut - [Ext] getAmountIn - [Ext] getAmountsOut - [Ext] getAmountsIn + [Int] IUniswapV2Router02 (IUniswapV2Router01) - [Ext] removeLiquidityETHSupportingFeeOnTransferTokens # - [Ext] removeLiquidityETHWithPermitSupportingFeeOnTransferTokens # - [Ext] swapExactTokensForTokensSupportingFeeOnTransferTokens # - [Ext] swapExactETHForTokensSupportingFeeOnTransferTokens ($) - [Ext] swapExactTokensForETHSupportingFeeOnTransferTokens # + DYTToken (ERC20, Ownable, ReentrancyGuard) - [Pub] # - modifiers: ERC20 - [Ext] ($) - [Pub] setFee # - modifiers: onlyOwner - [Pub] updateUniswapV2Router # - modifiers: onlyOwner - [Ext] blacklistMultipleAddrs # - modifiers: onlyOwner - [Ext] setMktAddress # - modifiers: onlyOwner - [Pub] setWhitelistAddr # - modifiers: onlyOwner - [Pub] isWhitelistAddr - [Int] _transfer # - [Ext] setMaxAmount # - modifiers: onlyOwner - [Ext] setSwapTokensAtAmount # - modifiers: onlyOwner - [Pub] swapForMkt # - modifiers: nonReentrant - [Prv] swapTokensForEth #