Features
Table of Contents​
- Token Basics
- Tokenomics
- Automatic ETH Rewards
- Dividend Tracker
- Liquidity Generation
- Ecosystem Development
- Anti-Whale Mechanism
- Exclusions and Inclusions
- Automated Market Maker (AMM) Integration
- Reflection Mechanism
- Gas Optimization
- Ownership Status
- Tax Mechanism Explained
- Smart Contract Security
1. Token Basics​
- Type: BEP-20
- Blockchain: Binance Smart Chain (BSC)
- Trading Platform: PancakeSwap
- Token Name: EverETH
- Token Symbol: EverETH
EverETH Reflect is a BEP-20 token designed to operate on the Binance Smart Chain. It leverages the popularity and efficiency of BSC while providing unique features to benefit its holders.
2. Tokenomics​
EverETH Reflect implements a 12% transaction fee, broken down as follows:
- Ethereum Rewards Fee: 10%
- Liquidity Fee: 1%
- Ecosystem Development Fee: 1%
These fees are collected on every transaction and are used to fuel the various features of the protocol.
uint256 public EthereumRewardsFee = 10;
uint256 public liquidityFee = 1;
uint256 public EcosystemFee = 1;
uint256 public totalFees = EthereumRewardsFee.add(liquidityFee).add(EcosystemFee);
3. Automatic ETH Rewards​
One of the core features of EverETH Reflect is its ability to automatically distribute ETH rewards to token holders.
How it works:​
- The 10% Ethereum Rewards Fee is collected from each transaction.
- This fee is swapped for ETH using PancakeSwap.
- The ETH is then distributed to token holders proportionally to their holdings.
function swapAndSendDividends(uint256 tokens) private {
swapTokensForEthereum(tokens);
uint256 dividends = IERC20(Ethereum).balanceOf(address(this));
bool success = IERC20(Ethereum).transfer(address(dividendTracker), dividends);
if (success) {
dividendTracker.distributeEthereumDividends(dividends);
emit SendDividends(tokens, dividends);
}
}
4. Dividend Tracker​
The EverETHDividendTracker contract manages the distribution of ETH rewards to token holders.
Key features:​
- Tracks token holder balances
- Calculates and distributes dividends
- Implements a minimum token balance for dividend eligibility
- Allows for exclusion of certain addresses from dividends
contract EverETHDividendTracker is Ownable, DividendPayingToken {
using SafeMath for uint256;
using SafeMathInt for int256;
using IterableMapping for IterableMapping.Map;
IterableMapping.Map private tokenHoldersMap;
uint256 public lastProcessedIndex;
mapping (address => bool) public excludedFromDividends;
mapping (address => uint256) public lastClaimTimes;
uint256 public claimWait;
uint256 public immutable minimumTokenBalanceForDividends;
// ... (other functions and logic)
}
5. Liquidity Generation​
To ensure price stability and market depth, 1% of each transaction is used to add liquidity to the EverETH/BNB pair on PancakeSwap.
function swapAndLiquify(uint256 tokens) private {
// split the contract balance into halves
uint256 half = tokens.div(2);
uint256 otherHalf = tokens.sub(half);
// swap tokens for ETH
swapTokensForEth(half);
// add liquidity to uniswap
uint256 newBalance = address(this).balance;
addLiquidity(otherHalf, newBalance);
emit SwapAndLiquify(half, newBalance, otherHalf);
}
6. Ecosystem Development​
The 1% Ecosystem Development Fee is collected in a separate wallet to fund various aspects of project growth:
- Marketing initiatives
- Sponsorships
- Personnel costs
- Operating expenses
- Other development needs
This fee ensures the continuous development and promotion of the EverETH Reflect protocol.
7. Anti-Whale Mechanism​
To prevent large holders from manipulating the market, EverETH implements a maximum transaction limit. This helps to maintain a fair distribution of tokens and prevents sudden large sell-offs that could negatively impact the token price.
8. Exclusions and Inclusions​
The contract owner can exclude or include addresses from fees or dividends. This feature allows for flexibility in managing protocol economics.
function excludeFromFees(address account, bool excluded) public onlyOwner {
require(_isExcludedFromFees[account] != excluded, "EverETH: Account is already the value of 'excluded'");
_isExcludedFromFees[account] = excluded;
emit ExcludeFromFees(account, excluded);
}
9. Automated Market Maker (AMM) Integration​
EverETH Reflect integrates with PancakeSwap for liquidity provision and token swaps.
IUniswapV2Router02 public uniswapV2Router;
address public uniswapV2Pair;
constructor() public ERC20("EverETH", "EverETH") {
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
.createPair(address(this), _uniswapV2Router.WETH());
uniswapV2Router = _uniswapV2Router;
uniswapV2Pair = _uniswapV2Pair;
}
10. Reflection Mechanism​
The reflection mechanism ensures that token holders receive a portion of each transaction proportional to their holdings. This is achieved through the dividend tracker and the automatic distribution of ETH rewards.
11. Gas Optimization​
The contract implements gas optimization techniques to ensure efficient processing of rewards and transactions.
uint256 public gasForProcessing = 300000;
function updateGasForProcessing(uint256 newValue) public onlyOwner {
require(newValue >= 200000 && newValue <= 500000, "EverETH: gasForProcessing must be between 200,000 and 500,000");
require(newValue != gasForProcessing, "EverETH: Cannot update gasForProcessing to same value");
emit GasForProcessingUpdated(newValue, gasForProcessing);
gasForProcessing = newValue;
}
12. Ownership Status​
It's important to note that the contract ownership was renounced on Nov-23-2021 09:49:31 PM +UTC. This means that the contract parameters, including fee structures, can no longer be adjusted by any central authority, ensuring the decentralization and immutability of the protocol.
13. Tax Mechanism Explained​
The EverETH Reflect protocol implements a sophisticated tax mechanism on each token transfer. This mechanism is crucial for generating rewards, maintaining liquidity, and supporting ecosystem development. Here's a detailed breakdown of how it works: