ZuFinance is a DeFi Token issued on Binance Smart Chain (BEP-20), designed to serve the gaming and sports betting industry, with three simple features implemented at its core;
1. Static Reward (2%)
The holders will see their wallets growing automatically. Our redistribution structure is based on the percentage of holdings a user has in their wallet. Additionally, the redistribution percentage can be even higher. This happens when sizeable Token-holder accounts make significant transactions. We call this “anti-whale protection.”
It prevents significant price changes due to massive sell-offs and puts more GAIN Tokens in users’ Wallets with each sale. The purpose of this mechanism is to reduce the pressure to sell the Tokens and relinquish the long-term position, following a price decline caused by early adopters selling their Tokens after reaching a high APY. Also, for the benefit of later adopters, motivating them to take a long-term position.
2. LP Acquisition (5%)
LP is automatically generated by the function that penalizes each transaction a 10% fee, of which 5% is added as Liquidity on PancakeSwap. The penalty is an arbitrage-proof mechanism that secures the total volume of ZuFinance. The penalty is also used to support the minimum price and increase the overall liquidity of the Token. In short, ZuFinance token price support is a result of the Automatic Liquidity Generation functions. LP function prevents significant price drops that occur when whales choose to sell their Tokens.
3. Burn on each trade (3%)
Each transaction will be penalized with a fee of 10%, of which 3% will result in the automated burning of Tokens.
This aspect is beneficial for increasing the price by decreasing the entire supply of Tokens in circulation.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in ZuFinanceBase._transfer(address,address,uint256) (#382-430):
External calls:
- _swapAndLiquify(contractTokenBalance) (#412)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,BURNING_ADDRESS,block.timestamp) (#371-378)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#357-363)
External calls sending eth:
- _swapAndLiquify(contractTokenBalance) (#412)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,BURNING_ADDRESS,block.timestamp) (#371-378)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#429)
- _rOwned[sender] = _rOwned[sender] - amount * _getRate() (#483)
- _rOwned[recipient] = _rOwned[recipient] + amount * _getRate() (#484)
- _rOwned[address(this)] = _rOwned[address(this)] + rLiquidity (#284)
- _rOwned[sender] = _rOwned[sender] - rAmount (#519)
- _rOwned[sender] = _rOwned[sender] - rAmount (#510)
- _rOwned[sender] = _rOwned[sender] - rAmount (#530)
- _rOwned[sender] = _rOwned[sender] - rAmount (#500)
- _rOwned[recipient] = _rOwned[recipient] + rTransferAmount (#511)
- _rOwned[recipient] = _rOwned[recipient] + rTransferAmount (#531)
- _rOwned[recipient] = _rOwned[recipient] + rTransferAmount (#521)
- _rOwned[recipient] = _rOwned[recipient] + rTransferAmount (#502)
- _tokenTransfer(from,to,amount,takeFee) (#429)
- _rTotal = _rTotal - rFee (#233)
- _tokenTransfer(from,to,amount,takeFee) (#429)
- _tOwned[sender] = _tOwned[sender] - amount (#487)
- _tOwned[address(this)] = _tOwned[address(this)] + tLiquidity (#286)
- _tOwned[recipient] = _tOwned[recipient] + amount (#491)
- _tOwned[sender] = _tOwned[sender] - tAmount (#529)
- _tOwned[sender] = _tOwned[sender] - tAmount (#499)
- _tOwned[recipient] = _tOwned[recipient] + tTransferAmount (#520)
- _tOwned[recipient] = _tOwned[recipient] + tTransferAmount (#501)
Apply the check-effects-interactions pattern.
Additional information: link
Variable ZuFinanceBase._previousBurnFee (#193) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Reentrancy in ZuFinance.transferFrom(address,address,uint256) (#590-598):
External calls:
- _transfer(sender,recipient,amount) (#591)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,BURNING_ADDRESS,block.timestamp) (#371-378)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#357-363)
External calls sending eth:
- _transfer(sender,recipient,amount) (#591)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,BURNING_ADDRESS,block.timestamp) (#371-378)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#229)
- _approve(sender,_msgSender(),currentAllowance - amount) (#595)
Apply the check-effects-interactions pattern.
Additional information: link
ZuFinanceBase._buyback() (#537-551) ignores return value by router.swapExactETHForTokens{value: balance}(0,path,BURNING_ADDRESS,block.timestamp) (#545-550)
Ensure that all the return values of the function calls are used.
Additional information: link
ZuFinance.allowance(address,address).owner (#576) shadows:
- Ownable.owner() (#51-53) (function)
Rename the local variables that shadow another component.
Additional information: link
Reentrancy in ZuFinance.transferFrom(address,address,uint256) (#590-598):
External calls:
- _transfer(sender,recipient,amount) (#591)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,BURNING_ADDRESS,block.timestamp) (#371-378)
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#357-363)
External calls sending eth:
- _transfer(sender,recipient,amount) (#591)
- router.addLiquidityETH{value: bnbAmount}(address(this),tokenAmount,0,0,BURNING_ADDRESS,block.timestamp) (#371-378)
State variables written after the call(s):
- _approve(sender,_msgSender(),currentAllowance - amount) (#595)
- _allowances[owner][spender] = amount (#228)
Apply the check-effects-interactions pattern.
Additional information: link
Context._msgData() (#34-36) is never used and should be removed
Remove unused functions.
Additional information: link
ZuFinanceBase._previousBurnFee (#193) is set pre-construction with a non-constant function or state variable:
- _burnFee
Remove any initialization of state variables via non-constant state variables or function calls. If variables must be set upon contract deployment, locate initialization in the constructor instead.
Additional information: link
solc-0.8.4 is not recommended for deployment
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.
Additional information: link
Variable ZuFinanceBase._getValues(uint256).rTransferAmount (#313) is too similar to ZuFinanceBase._transferToExcluded(address,address,uint256).tTransferAmount (#518)
Prevent variables from having similar names.
Additional information: link
ZuFinance.slitherConstructorConstantVariables() (#555-675) uses literals with too many digits:
- BURNING_ADDRESS = 0x000000000000000000000000000000000000dEaD (#118)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
ZuFinanceBase._tTotal (#129) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#65-69)
Use the external attribute for functions never called from the contract.
Additional information: link
Average PancakeSwap trading volume, liqudity, number of swaps are extremely low. Token seems to be dead.
Token is deployed only at one blockchain
Unable to find PancakeSwap trading pair to compute liquidity.
Unable to find PancakeSwap trading pair to compute volume.
Unable to find PancakeSwap trading pair to compute number of swaps.
Young tokens have high risks of price dump / death
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Token has relatively low CoinMarketCap rank
Twitter account link seems to be invalid
Unable to find Youtube account
Unable to find Discord account