Features
Features
Table of Contents
1. Token Basics
Type: ERC-20
Blockchain: Ethereum mainnet
Trading Platform: PancakeSwap
Token Name: EternETH
Token Symbol: eEthAI
EternETH Reflect is a ERC-20 token designed to operate on the Ethereum mainnet Chain. It leverages the popularity and efficiency of EVM while providing unique features to benefit its holders.
2. Tokenomics
EternETH 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 EternETH 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 UniSwap.
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 EternETH/ETH pair on UniSwap.
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 EternETH Reflect protocol.
7. Anti-Whale Mechanism
To prevent large holders from manipulating the market, EternETH 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
EternETH 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 EternETHReflect 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:

Edit this pageLast updated on Sep 2, 2024
Last updated