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 |
Eros - Smart Contract Audit Report
Summary
Eros ($EROS) is a new BEP20 token on the Binance Smart Chain with a buyback system for burning supply.
We audited Eros's token contract at 0xe0cA4724Bc8B97B259d25596ee3CfAb816629baD on the Binance Smart Chain mainnet.Overview of the Contract:Audit Findings Summary
- The total supply of the token is set to 1 million [1,000,000] $EROS.
- No burn functions are present; though the circulating supply can be reduced by sending tokens to the 0x..dead address, if desired.
- The owner has the ability to assign and remove addresses to a Minter role.
- The assigned Minter(s) can mint tokens to any destination address at any time.
- At the time of writing this report, 100% of the total supply is in possession of the owner as the project was recently deployed.
- There is a 3% burn fee, a 3% buyback fee, and a 3% marketing fee on all transactions for any non-excluded address that participates in a transfer.
- The tokens collected through the burn fee and the buyback fee are used to fund the buyback functionality, which once a threshold value is met, is swapped for BNB and is stored in the contract address. Once a BNB buyback threshold is met, the BNB is used to buy tokens which are subsequently burned.
- The tokens collected through the marketing fee are stored in the contract and, once a threshold value is met, swapped for BNB and is sent to the team's marketing wallet. The Operator can update the marketing wallet to any address at any time.
- The owner has the ability to assign and remove addresses to an Operator role.
- The Operator of the contract can exclude and include accounts from all transfer fees.
- The threshold value for the burn, buyback, and marketing fees can be set by the Operator to any amount at any time.
- The contract features an Anti-Whale mechanism in which the Operator can impose a transaction limit for specified addresses. The transaction limit can be set to any value between 0.5% and 5% of the circulating supply.
- The Operator can enable/disable the AntiWhale functionality.
- The Operator can change the LP token address to any address at any time.
- The $EROS token smart contract utilizes logic from an external Referral contract that was not reviewed by our team as part of this audit.
- Ownership has not been renounced.
- The contract utilizes SafeMath libraries along with following the BEP20 standard.
- No issues from external attackers were identified.
- Please ensure trust in the team as they have subsantial control over the total token supply.
- We strongly recommend renouncing ownership after a successful deployment.
- Date: August 20th, 2021
($) = payable function
# = non-constant function
+ [Int] IReferral
- [Ext] addReferrer #
- [Ext] addRewards #
- [Ext] getRewards
- [Ext] getReferrer
- [Ext] getReferralsCount
+ [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 #
+ [Int] IUniswapV2Factory
- [Ext] feeTo
- [Ext] feeToSetter
- [Ext] getPair
- [Ext] allPairs
- [Ext] allPairsLength
- [Ext] createPair #
- [Ext] setFeeTo #
- [Ext] setFeeToSetter #
+ MinterRole
- [Pub] #
- [Ext] isMinter
- [Pub] addMinter #
- [Pub] removeMinter #
+ OperatorRole
- [Pub] #
- [Ext] isOperator
- [Pub] addOperator #
- [Pub] removeOperator #
+ OwnerRole
- [Pub] #
- [Ext] transferOwnership #
- modifiers: onlyOwner
+ [Lib] SafeMath
- [Int] add
- [Int] sub
- [Int] sub
- [Int] mul
- [Int] div
- [Int] div
- [Int] mod
- [Int] mod
- [Int] min
- [Int] sqrt
+ BEP20e (OwnerRole, MinterRole, OperatorRole)
- [Pub] #
- [Pub] balanceOf
- [Ext] allowance
- [Ext] mint #
- modifiers: onlyMinter
- [Ext] burn #
- [Ext] approve #
- [Ext] addBuybackBalance #
- [Ext] transfer #
- [Ext] transferFrom #
- [Ext] increaseAllowance #
- [Ext] decreaseAllowance #
- [Pub] calcFee
- [Pub] totalSupplyWithoutDeadBalance
- [Pub] maxAntiWhaleTxAmount
- [Pub] buyback #
- modifiers: onlyOperator
- [Pub] swapMarketing #
- modifiers: onlyOperator
- [Pub] swapBuyback #
- modifiers: onlyOperator
- [Ext] setMarketingAddress #
- modifiers: onlyOperator
- [Ext] setMarketingSwapEnabled #
- modifiers: onlyOperator
- [Ext] setMinMarketingSwapAmount #
- modifiers: onlyOperator
- [Ext] setMaxMarketingSwapAmount #
- modifiers: onlyOperator
- [Ext] setSwapEnabled #
- modifiers: onlyOperator
- [Ext] setMinSwapAmount #
- modifiers: onlyOperator
- [Ext] setMaxSwapAmount #
- modifiers: onlyOperator
- [Ext] setBuybackEnabled #
- modifiers: onlyOperator
- [Ext] setMinBalanceRequired #
- modifiers: onlyOperator
- [Ext] setMinBuybackSellAmount #
- modifiers: onlyOperator
- [Ext] setMaxBuybackAmount #
- modifiers: onlyOperator
- [Pub] isLpToken
- [Ext] setLpToken #
- modifiers: onlyOperator
- [Pub] isExcludedFromFee
- [Pub] setExcludedFromFee #
- modifiers: onlyOperator
- [Pub] isExcludedFromAntiWhale
- [Pub] setExcludedFromAntiWhale #
- modifiers: onlyOperator
- [Ext] setAntiWhaleTxAmountRate #
- modifiers: onlyOperator
- [Ext] setAntiWhaleEnabled #
- modifiers: onlyOperator
- [Pub] addMinter #
- modifiers: onlyOwner
- [Pub] removeMinter #
- modifiers: onlyOwner
- [Pub] addOperator #
- modifiers: onlyOwner
- [Pub] removeOperator #
- modifiers: onlyOwner
- [Ext] setReferral #
- modifiers: onlyOwner
- [Ext] ($)
- [Int] _buyback #
- [Int] _swapMarketing #
- [Int] _swapBuyback #
- [Int] _mint #
- [Int] _burn #
- [Int] _approve #
- [Int] _transfer #
- [Int] _transferAmount #
- [Int] _swapTokensForEth #
- modifiers: lockTheSwap
- [Int] _swapETHForTokens #
- modifiers: lockTheSwap
+ ErosToken (BEP20e)
- [Pub] #
- modifiers: BEP20e