ERC-20
Overview
Max Total Supply
100,000,000 SUPERRAIN
Holders
6
Market
Price
$0.00 @ 0.000000 S
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
357,494.312681028060096335 SUPERRAINValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
SuperRain
Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled:
Yes with 1000 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; // Interface definitions interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); } interface IUniswapRouter { function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } /** * @title RainToken * @dev A simplified ERC20 token with reflection rewards */ contract SuperRain { // Token setup string private _name = "SuperRain"; string private _symbol = "SUPERRAIN"; uint8 private constant _decimals = 18; uint256 private _totalSupply; // Reward token and router addresses address public REWARD_TOKEN; address constant private ROUTER = 0x95a7e403d7cF20F675fF9273D66e94d35ba49fA3; // ROUTER address public LP_PAIR; // Ownership address private _owner; // Balances and allowances mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; // Fee configuration uint256 public taxPercentage = 5; // 5% default tax uint256 public swapThreshold; // Reward distribution uint256 public distributionInterval = 300; // 5 minutes (in seconds) uint256 public batchSize = 50; uint256 public lastProcessedTime; uint256 public currentIndex; // Holder management address[] private holders; mapping(address => uint256) public holderIndexes; struct HolderInfo { uint256 amount; uint256 pendingRewards; uint256 totalExcluded; } mapping(address => HolderInfo) public holderInfo; // Rewards accounting uint256 public totalShares; uint256 public totalDividends; uint256 public dividendsPerShare; // Special addresses mapping(address => bool) public excluded; mapping(address => bool) public exempt; // Control flags bool private inSwap; bool public tradingEnabled; // Events event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); event SwapAndDistribute(uint256 tokenAmount, uint256 rewardAmount); event Excluded(address indexed account, bool status); event TaxUpdated(uint256 newTaxPercentage); event IntervalUpdated(uint256 newDistributionInterval); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); event RewardsProcessed(uint256 holderCount); // Modifiers modifier lockTheSwap { inSwap = true; _; inSwap = false; } modifier onlyOwner() { require(msg.sender == _owner, "Caller is not the owner"); _; } // Constructor constructor() { _owner = msg.sender; // Initial supply _totalSupply = 100000000 * 10**_decimals; _balances[msg.sender] = _totalSupply; // Set default parameters swapThreshold = _totalSupply * 5 / 10000; // 0.05% // Set initial reward token address REWARD_TOKEN = 0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38; // WRAPPED_SONIC // Add owner to holders array _addHolder(_owner, _balances[_owner]); // Setup initial shares totalShares = _totalSupply; // Approve router for future swaps _approve(address(this), ROUTER, _totalSupply); emit Transfer(address(0), msg.sender, _totalSupply); } // External functions function setRewardToken(address newRewardToken) external onlyOwner { require(newRewardToken != address(0), "Reward token cannot be zero address"); REWARD_TOKEN = newRewardToken; } function setLPPair(address newPair) external onlyOwner { require(newPair != address(0), "LP pair cannot be zero address"); LP_PAIR = newPair; } function setTaxPercentage(uint256 newTaxPercentage) external onlyOwner { taxPercentage = newTaxPercentage; emit TaxUpdated(newTaxPercentage); } function setDistributionInterval(uint256 newInterval) external onlyOwner { require(newInterval >= 60, "Interval must be at least 60 seconds"); distributionInterval = newInterval; emit IntervalUpdated(newInterval); } function setBatchSize(uint256 newBatchSize) external onlyOwner { require(newBatchSize >= 5 && newBatchSize <= 100, "Batch size must be between 5 and 100"); batchSize = newBatchSize; } function setSwapThreshold(uint256 newThreshold) external onlyOwner { require(newThreshold > 0, "Threshold must be greater than 0"); swapThreshold = newThreshold; } function setExcluded(address account, bool status) external onlyOwner { if (excluded[account] != status) { excluded[account] = status; if (status) { // If excluding an address, remove it from holders if (holderInfo[account].amount > 0) { _removeHolder(account); } } else { // If including an address, add it to holders _setShare(account, balanceOf(account)); } } emit Excluded(account, status); } function setExempt(address account, bool status) external onlyOwner { exempt[account] = status; } function enableTrading() external onlyOwner { require(!tradingEnabled, "Trading already enabled"); tradingEnabled = true; } function transferOwnership(address newOwner) external onlyOwner { require(newOwner != address(0), "New owner cannot be zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } /** * @dev Manually swap a specified amount of tokens for rewards * @param amount Amount of tokens to swap (0 for custom calculation based on contract balance) * @return swapped Amount of tokens that were actually swapped * @return received Amount of reward tokens received from the swap */ function manualSwap(uint256 amount) external onlyOwner returns (uint256 swapped, uint256 received) { uint256 contractBalance = balanceOf(address(this)); require(contractBalance > 0, "No tokens to swap"); // Determine swap amount based on parameters and contract balance uint256 swapAmount; if (amount > 0 && amount <= contractBalance) { // Use specified amount swapAmount = amount; } else if (swapThreshold > 0 && contractBalance >= swapThreshold) { // Use threshold amount swapAmount = swapThreshold; } else { // Use entire balance swapAmount = contractBalance; } // Execute the swap and track results uint256 receivedAmount = _swapTokensForRewards(swapAmount); return (swapAmount, receivedAmount); } /** * @dev Returns the contract's current balance of RAIN tokens available for swapping */ function getSwappableBalance() external view returns (uint256) { return balanceOf(address(this)); } /** * @dev Returns the contract's current balance of reward tokens available for distribution */ function getRewardBalance() external view returns (uint256) { return IERC20(REWARD_TOKEN).balanceOf(address(this)); } function manualDistributeRewards(uint256 batchCount) external returns (uint256, uint256) { require(msg.sender == _owner, "Only owner can distribute rewards"); uint256 batchToProcess = batchCount > 0 ? batchCount : batchSize; if (currentIndex + batchToProcess > holders.length) { batchToProcess = holders.length - currentIndex; } if (batchToProcess == 0) { currentIndex = 0; return (0, 0); } uint256 startIndex = currentIndex; for (uint256 i = 0; i < batchToProcess; i++) { if (currentIndex < holders.length) { _distributeRewards(holders[currentIndex]); currentIndex++; } } uint256 processedCount = currentIndex - startIndex; if (currentIndex >= holders.length) { currentIndex = 0; lastProcessedTime = block.timestamp; emit RewardsProcessed(holders.length); } return (processedCount, currentIndex); } // ERC20 Standard Functions function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public view returns (uint256) { return _totalSupply; } function balanceOf(address account) public view returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function allowance(address owner_, address spender) public view returns (uint256) { return _allowances[owner_][spender]; } function approve(address spender, uint256 amount) public returns (bool) { _approve(msg.sender, spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) { uint256 currentAllowance = _allowances[sender][msg.sender]; if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, msg.sender, currentAllowance - amount); } _transfer(sender, recipient, amount); return true; } // Information functions function owner() public view returns (address) { return _owner; } function getHolderCount() public view returns (uint256) { return holders.length; } function isRewardsReady() public view returns (bool) { return block.timestamp >= lastProcessedTime + distributionInterval; } function getTimeUntilRewards() public view returns (uint256) { if (isRewardsReady()) return 0; return lastProcessedTime + distributionInterval - block.timestamp; } function getUnpaidRewards(address account) public view returns (uint256) { if (holderInfo[account].amount == 0) return 0; uint256 earnedRewards = getSharesPercentage(account); uint256 alreadyPaid = holderInfo[account].totalExcluded; if (earnedRewards <= alreadyPaid) return 0; return earnedRewards - alreadyPaid; } function getDistributionStatus() public view returns (uint256, uint256, uint256) { if (holders.length == 0) return (0, 0, 100); uint256 percentage = currentIndex * 100 / holders.length; return (holders.length, currentIndex, percentage); } // Internal functions function _transfer(address from, address to, uint256 amount) internal { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); // Check if trading is enabled when interacting with LP if (!tradingEnabled && (from == LP_PAIR || to == LP_PAIR)) { require(from == _owner || to == _owner, "Trading not enabled yet"); } // Auto-liquidity and swap bool canSwap = balanceOf(address(this)) >= swapThreshold; if (canSwap && !inSwap && from != LP_PAIR && from != _owner && to != _owner) { uint256 swapAmount = amount > swapThreshold ? swapThreshold : amount; _swapTokensForRewards(swapAmount); } // Fee system bool takeFee = !exempt[from] && !exempt[to]; uint256 fees = 0; if (takeFee) { if (from == LP_PAIR || to == LP_PAIR) { fees = amount * taxPercentage / 100; } if (fees > 0) { _takeFee(from, address(this), fees); amount -= fees; } } // Standard transfer _balances[from] -= amount; _balances[to] += amount; emit Transfer(from, to, amount); // Update holder tracking if (!excluded[from] && from != LP_PAIR) { _setShare(from, _balances[from]); } if (!excluded[to] && to != LP_PAIR) { _setShare(to, _balances[to]); } } function _approve(address owner_, address spender, uint256 amount) internal { require(owner_ != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner_][spender] = amount; emit Approval(owner_, spender, amount); } function _takeFee(address from, address to, uint256 amount) internal { _balances[to] += amount; emit Transfer(from, to, amount); } function _swapTokensForRewards(uint256 amount) internal lockTheSwap returns (uint256) { // Setup swap path address[] memory path = new address[](2); path[0] = address(this); // RAIN token address path[1] = REWARD_TOKEN; // WRAPPED_SONIC address // Approve router _approve(address(this), ROUTER, amount); // Get initial balance uint256 initialBalance = IERC20(REWARD_TOKEN).balanceOf(address(this)); // Swap tokens for tokens IUniswapRouter(ROUTER).swapExactTokensForTokensSupportingFeeOnTransferTokens( amount, 0, path, address(this), block.timestamp ); // Calculate received tokens uint256 newContractBalance = IERC20(REWARD_TOKEN).balanceOf(address(this)); uint256 swappedTokenAmount = newContractBalance - initialBalance; if (swappedTokenAmount > 0 && totalShares > 0) { // Update dividends per share totalDividends += swappedTokenAmount; dividendsPerShare = totalDividends * 10000 / totalShares; emit SwapAndDistribute(amount, swappedTokenAmount); } return swappedTokenAmount; } function processRewards() public { uint256 gas = 300000; uint256 iterations = 0; while (gas > 0 && iterations < batchSize && currentIndex < holders.length) { uint256 gasUsed = gasleft(); _distributeRewards(holders[currentIndex]); gas -= (gasUsed - gasleft()); currentIndex++; iterations++; } if (currentIndex >= holders.length) { currentIndex = 0; } } function _distributeRewards(address holder) internal { if (holderInfo[holder].amount == 0) return; uint256 amount = getUnpaidEarnings(holder); if (amount > 0) { uint256 contractBalance = IERC20(REWARD_TOKEN).balanceOf(address(this)); if (amount <= contractBalance) { holderInfo[holder].totalExcluded = getSharesPercentage(holder); holderInfo[holder].pendingRewards = 0; IERC20(REWARD_TOKEN).transfer(holder, amount); } } } function getSharesPercentage(address account) internal view returns (uint256) { if (totalShares == 0) return 0; return dividendsPerShare * holderInfo[account].amount / 10000; } function getUnpaidEarnings(address account) internal view returns (uint256) { if (holderInfo[account].amount == 0) return 0; uint256 earnedDividends = getSharesPercentage(account); uint256 alreadyPaid = holderInfo[account].totalExcluded; if (earnedDividends <= alreadyPaid) return 0; return earnedDividends - alreadyPaid; } function _setShare(address holder, uint256 amount) internal { // Only consider meaningful balances if (amount < 1 * 10**_decimals) { // Minimum 1 token if (amount == 0 && holderInfo[holder].amount > 0) { _removeHolder(holder); } return; } if (holderInfo[holder].amount > 0) { if (amount == 0) { _removeHolder(holder); } else { totalShares = totalShares - holderInfo[holder].amount + amount; holderInfo[holder].amount = amount; holderInfo[holder].pendingRewards = getSharesPercentage(holder); } } else { _addHolder(holder, amount); holderInfo[holder].amount = amount; holderInfo[holder].pendingRewards = getSharesPercentage(holder); totalShares += amount; } } function _addHolder(address holder, uint256 amount) internal { // Check if holder already exists (safety check) if (holderIndexes[holder] > 0 || (holders.length > 0 && holders[0] == holder)) { return; } holders.push(holder); holderIndexes[holder] = holders.length - 1; } function _removeHolder(address holder) internal { // Make sure holder exists if (holders.length == 0 || (holderIndexes[holder] == 0 && holders[0] != holder) || holderIndexes[holder] >= holders.length) { return; } address lastHolder = holders[holders.length - 1]; uint256 holderIndex = holderIndexes[holder]; // Replace the removed holder with the last one holders[holderIndex] = lastHolder; holderIndexes[lastHolder] = holderIndex; // Remove the last element holders.pop(); delete holderIndexes[holder]; // Update totals totalShares -= holderInfo[holder].amount; delete holderInfo[holder]; } // Rescue functions function rescueToken(address token, uint256 amount) external onlyOwner { require(token != REWARD_TOKEN, "Cannot rescue dividend token"); IERC20(token).transfer(_owner, amount); } function withdrawETH() external onlyOwner { (bool success,) = _owner.call{value: address(this).balance}(""); require(success, "ETH withdrawal failed"); } // Receive function to accept ETH receive() external payable {} }
{ "optimizer": { "enabled": true, "runs": 1000 }, "viaIR": true, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"Excluded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDistributionInterval","type":"uint256"}],"name":"IntervalUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"holderCount","type":"uint256"}],"name":"RewardsProcessed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewardAmount","type":"uint256"}],"name":"SwapAndDistribute","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newTaxPercentage","type":"uint256"}],"name":"TaxUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"LP_PAIR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REWARD_TOKEN","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"batchSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"distributionInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dividendsPerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDistributionStatus","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getHolderCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSwappableBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTimeUntilRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getUnpaidRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"holderIndexes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"holderInfo","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"pendingRewards","type":"uint256"},{"internalType":"uint256","name":"totalExcluded","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isRewardsReady","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastProcessedTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"batchCount","type":"uint256"}],"name":"manualDistributeRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualSwap","outputs":[{"internalType":"uint256","name":"swapped","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"processRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBatchSize","type":"uint256"}],"name":"setBatchSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newInterval","type":"uint256"}],"name":"setDistributionInterval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setExcluded","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newPair","type":"address"}],"name":"setLPPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRewardToken","type":"address"}],"name":"setRewardToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTaxPercentage","type":"uint256"}],"name":"setTaxPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052346102ad576100146000546102b2565b601f8111610264575b507f53757065725261696e000000000000000000000000000000000000000000001260005560015461004e906102b2565b601f811161021a575b507f53555045525241494e00000000000000000000000000000000000000000000126001556005600881905561012c600a556032600b5580546001600160a01b03199081163390811783556a52b7d2dcc80cd2e40000006002819055600091825260066020526040822055690a968163f0a57b4000006009556003805490921673039e2fb66102314ce7b64ce5ce3e5183bc94ad381790915590546001600160a01b031690819052610108906102ec565b6002548060115530156101b3577395a7e403d7cf20f675ff9273d66e94d35ba49fa390306000526007602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203092a360025460405190815260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a36040516128a690816103e88239f35b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b634e487b7160e01b600052601160045260246000fd5b6001600052601f0160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6908101905b8181106102585750610057565b6000815560010161024b565b60008052601f0160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563908101905b8181106102a1575061001d565b60008155600101610294565b600080fd5b90600182811c921680156102e2575b60208310146102cc57565b634e487b7160e01b600052602260045260246000fd5b91607f16916102c1565b6001600160a01b03166000818152600f6020526040902054158015906103ac575b6103a957600e54680100000000000000008110156103935760018101600e556000600e5482101561037f57600e90819052600080516020612c8e8339815191529190910180546001600160a01b031916831790555460001981019190821161020457600052600f602052604060002055565b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b600052604160045260246000fd5b50565b50600e541515801561030d57506000600e541561037f57600e9052600080516020612c8e833981519152546001600160a01b0316811461030d56fe608080604052600436101561001d575b50361561001b57600080fd5b005b600090813560e01c9081630445b667146116805750806306fdde03146115c5578063095ea7b31461159e57806318160ddd1461158057806323b872dd1461149057806326987b60146114725780632836be241461138b578063313ce5671461136f57806333f3d628146112755780633a98ef3914611257578063429cead11461121a5780634ada218b146111f4578063576f35e31461113f5780635e42b455146110a757806363c98ffa14611089578063699abb3c1461102d5780636d1d59a814610fd357806370a0823114610f9a57806371201a0e14610f7c5780637136982b14610f5e5780637a16a49e14610e905780638a8c523c14610e085780638aee812714610d5f5780638da5cb5b14610d385780638ef8ed3214610d0d5780638f1b0efc14610cdc57806393a013e014610cb557806395d89b4114610bb057806399248ea714610b89578063997664d714610b6b5780639d0014b114610af05780639fde54f514610aa5578063a1b140b614610a68578063a9059cbb14610a36578063aada9c3814610a12578063ae7b6d16146109f4578063b70143c91461065f578063c07fbb8c14610627578063cbdd9b3014610604578063dd62ed3e146105b4578063de1c24d014610517578063e086e5ec1461044a578063e2d2e2191461042c578063f1320af2146103ef578063f2fde38b1461032a578063f4daaba11461030c578063f74fe6be146102e75763f9fc0d070361000f57346102e457806003193601126102e45780620493e05b801515806102d9575b806102cc575b156102b55761029b6102af916102955a61028e6001600160a01b03610281600d5461180b565b90549060031b1c16612394565b5a90611778565b90611778565b926102a7600d5461186f565b600d5561186f565b9161024c565b50600d54600e5411156102c55780f35b80600d5580f35b50600d54600e541161025b565b50600b548310610255565b80fd5b50346102e457806003193601126102e4576020610302611ae5565b6040519015158152f35b50346102e457806003193601126102e4576020600b54604051908152f35b50346102e45760203660031901126102e4576103446116e5565b600554906001600160a01b038083169161035f83331461179b565b169182156103ab578273ffffffffffffffffffffffffffffffffffffffff19927f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08680a3161760055580f35b606460405162461bcd60e51b815260206004820152602060248201527f4e6577206f776e65722063616e6e6f74206265207a65726f20616464726573736044820152fd5b50346102e45760203660031901126102e45760ff60406020926001600160a01b036104186116e5565b168152601584522054166040519015158152f35b50346102e457806003193601126102e4576020601354604051908152f35b50346102e457806003193601126102e457808080806001600160a01b036005541661047681331461179b565b47905af13d15610512573d67ffffffffffffffff81116104fe57604051906104a8601f8201601f191660200183611740565b81528260203d92013e5b156104ba5780f35b606460405162461bcd60e51b815260206004820152601560248201527f455448207769746864726177616c206661696c656400000000000000000000006044820152fd5b602483634e487b7160e01b81526041600452fd5b6104b2565b50346102e45760203660031901126102e4576001600160a01b036105396116e5565b6105488260055416331461179b565b1680156105705773ffffffffffffffffffffffffffffffffffffffff19600454161760045580f35b606460405162461bcd60e51b815260206004820152601e60248201527f4c5020706169722063616e6e6f74206265207a65726f206164647265737300006044820152fd5b50346102e45760403660031901126102e4576001600160a01b0360406105d86116e5565b92826105e26116fb565b9416815260076020522091166000526020526020604060002054604051908152f35b50346102e457806003193601126102e457602061061f611abb565b604051908152f35b50346102e45760203660031901126102e45760406020916001600160a01b0361064e6116e5565b168152600f83522054604051908152f35b50346102e45760203660031901126102e45760043561068a6001600160a01b0360055416331461179b565b3082526006602052604082205480156109b057811515806109a6575b1561097c57505b600160ff19601654161760165560246040516106ca606082611740565b60028152602081016040368237306106e1836127b8565b526001600160a01b03600354166106f7836127c5565b526107028430611afa565b60206001600160a01b0360035416604051948580926370a0823160e01b82523060048301525afa92831561097157859361093d575b507395a7e403d7cf20f675ff9273d66e94d35ba49fa33b156109395790846040518093635c11d79560e01b825260a482019387600484015283602484015260a060448401525180945260c482019093835b818110610914575050819293503060648301524260848301520381837395a7e403d7cf20f675ff9273d66e94d35ba49fa35af180156108f4576108ff575b5060249060206001600160a01b0360035416604051938480926370a0823160e01b82523060048301525afa80156108f45784906108bb575b6108089250611778565b801515806108b0575b610830575b6040925060ff196016541660165582519182526020820152f35b61083c816012546117fe565b9283601255612710840293808504612710149015171561089c575061086660409360115490611a0b565b6013557f10da9408d1358808fea34ded33d675db0ba8e618a2fb814298059b2a6b0a473f838051848152836020820152a1610816565b80634e487b7160e01b602492526011600452fd5b506011541515610811565b506020823d6020116108ec575b816108d560209383611740565b810103126108e75761080891516107fe565b600080fd5b3d91506108c8565b6040513d86823e3d90fd5b9261090d8160249395611740565b92906107c6565b85516001600160a01b031683526020958601958a955087945090920191600101610788565b8480fd5b9092506020813d602011610969575b8161095960209383611740565b8101031261093957519138610737565b3d915061094c565b6040513d87823e3d90fd5b60095491508115158061099c575b1561099557506106ad565b90506106ad565b508181101561098a565b50808211156106a6565b606460405162461bcd60e51b815260206004820152601160248201527f4e6f20746f6b656e7320746f20737761700000000000000000000000000000006044820152fd5b50346102e457806003193601126102e4576020600854604051908152f35b50346102e45760203660031901126102e457602061061f610a316116e5565b611a66565b50346102e45760403660031901126102e457610a5d610a536116e5565b6024359033611c9f565b602060405160018152f35b50346102e457806003193601126102e457610aa1610a84611a2b565b604080519384526020840192909252908201529081906060820190565b0390f35b50346102e457610aed6001600160a01b03610abf36611711565b9190610ad08260055416331461179b565b1683526015602052604083209060ff801983541691151516179055565b80f35b50346102e45760203660031901126102e457600435610b1b6001600160a01b0360055416331461179b565b8015610b275760095580f35b606460405162461bcd60e51b815260206004820152602060248201527f5468726573686f6c64206d7573742062652067726561746572207468616e20306044820152fd5b50346102e457806003193601126102e4576020601254604051908152f35b50346102e457806003193601126102e45760206001600160a01b0360035416604051908152f35b50346102e457806003193601126102e4576040519080600154908160011c91600181168015610cab575b602084108114610c9757838652908115610c705750600114610c13575b610aa184610c0781860382611740565b6040519182918261169c565b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b808210610c5657509091508101602001610c0782610bf7565b919260018160209254838588010152019101909291610c3d565b60ff191660208087019190915292151560051b85019092019250610c079150839050610bf7565b602483634e487b7160e01b81526022600452fd5b92607f1692610bda565b50346102e457806003193601126102e45760206001600160a01b0360045416604051908152f35b50346102e457806003193601126102e457602061061f306001600160a01b0316600052600660205260406000205490565b50346102e45760203660031901126102e4576040610d2c60043561187e565b82519182526020820152f35b50346102e457806003193601126102e45760206001600160a01b0360055416604051908152f35b50346102e45760203660031901126102e4576001600160a01b03610d816116e5565b610d908260055416331461179b565b168015610db85773ffffffffffffffffffffffffffffffffffffffff19600354161760035580f35b608460405162461bcd60e51b815260206004820152602360248201527f52657761726420746f6b656e2063616e6e6f74206265207a65726f206164647260448201526265737360e81b6064820152fd5b50346102e457806003193601126102e457610e2f6001600160a01b0360055416331461179b565b60165460ff8160081c16610e4c5761ff0019166101001760165580f35b606460405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152fd5b50346102e45760203660031901126102e457600435610ebb6001600160a01b0360055416331461179b565b603c8110610ef5576020817fc6f44473d25b86976ee7357c1339328224e349abc5486edc3007ef658a57608a92600a55604051908152a180f35b608460405162461bcd60e51b8152602060048201526024808201527f496e74657276616c206d757374206265206174206c656173742036302073656360448201527f6f6e6473000000000000000000000000000000000000000000000000000000006064820152fd5b50346102e457806003193601126102e4576020600e54604051908152f35b50346102e457806003193601126102e4576020600a54604051908152f35b50346102e45760203660031901126102e457602061061f610fb96116e5565b6001600160a01b0316600052600660205260406000205490565b50346102e45760203660031901126102e4576040906001600160a01b03610ff86116e5565b1681526010602052208054610aa160026001840154930154604051938493846040919493926060820195825260208201520152565b50346102e45760203660031901126102e4577f35ad15e7f5e4a16b548e8916bd02c51847dde8d106f334b4edaaacf140e43c91602060043561107b6001600160a01b0360055416331461179b565b80600855604051908152a180f35b50346102e457806003193601126102e4576020600c54604051908152f35b50346102e457806003193601126102e457602460206001600160a01b0360035416604051928380926370a0823160e01b82523060048301525afa9081156111345782916110fa575b602082604051908152f35b90506020813d60201161112c575b8161111560209383611740565b81010312611128576020915051386110ef565b5080fd5b3d9150611108565b6040513d84823e3d90fd5b50346102e45760203660031901126102e45760043561116a6001600160a01b0360055416331461179b565b6005811015806111e9575b1561118057600b5580f35b608460405162461bcd60e51b8152602060048201526024808201527f42617463682073697a65206d757374206265206265747765656e203520616e6460448201527f20313030000000000000000000000000000000000000000000000000000000006064820152fd5b506064811115611175565b50346102e457806003193601126102e457602060ff60165460081c166040519015158152f35b50346102e45760203660031901126102e45760ff60406020926001600160a01b036112436116e5565b168152601484522054166040519015158152f35b50346102e457806003193601126102e4576020601154604051908152f35b50346102e45760403660031901126102e45761128f6116e5565b6001600160a01b0360055416906112a782331461179b565b6001600160a01b038060035416911690811461132b5760405163a9059cbb60e01b81526001600160a01b0392909216600483015260248035908301526020908290604490829086905af18015611134576112ff575080f35b6113209060203d602011611324575b6113188183611740565b8101906117e6565b5080f35b503d61130e565b606460405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f7420726573637565206469766964656e6420746f6b656e000000006044820152fd5b50346102e457806003193601126102e457602060405160128152f35b50346102e45760207ff3a7c8242f0708821ed31a47f066fc7fa42f2ae65ed3e4d1d7cb5b3765d2939c6113bd36611711565b6113d66001600160a01b0360059593955416331461179b565b6001600160a01b038416938486526014835260ff60408720541691801515809315150361140a575b5050604051908152a280f35b8587526014845261142a81604089209060ff801983541691151516179055565b1561145857848652601083526040862054611449575b505b38806113fe565b6114529061220f565b38611440565b84865260068352604086205461146d916120fb565b611442565b50346102e457806003193601126102e4576020600d54604051908152f35b50346102e45760603660031901126102e4576114aa6116e5565b906114b36116fb565b6040604435926001600160a01b038516815260076020528181206001600160a01b033316825260205220549260001984036114f3575b610a5d9350611c9f565b8284106115165761151161150a84610a5d96611778565b3383611bce565b6114e9565b608460405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e63650000000000000000000000000000000000000000000000006064820152fd5b50346102e457806003193601126102e4576020600254604051908152f35b50346102e45760403660031901126102e457610a5d6115bb6116e5565b6024359033611bce565b50346102e457806003193601126102e45760405190808054908160011c91600181168015611676575b602084108114610c9757838652908115610c70575060011461161a57610aa184610c0781860382611740565b8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b80821061165c57509091508101602001610c0782610bf7565b919260018160209254838588010152019101909291611643565b92607f16926115ee565b9050346111285781600319360112611128576020906009548152f35b91909160208152825180602083015260005b8181106116cf575060409293506000838284010152601f8019910116010190565b80602080928701015160408286010152016116ae565b600435906001600160a01b03821682036108e757565b602435906001600160a01b03821682036108e757565b60409060031901126108e7576004356001600160a01b03811681036108e7579060243580151581036108e75790565b90601f8019910116810190811067ffffffffffffffff82111761176257604052565b634e487b7160e01b600052604160045260246000fd5b9190820391821161178557565b634e487b7160e01b600052601160045260246000fd5b156117a257565b606460405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152fd5b908160209103126108e7575180151581036108e75790565b9190820180921161178557565b600e5481101561182657600e60005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b600e541561182657600e60009081527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd91565b60001981146117855760010190565b6001600160a01b0360055416330361198e57801561198457905b600d546118a583826117fe565b600e54809111611971575b5050811561196257600d549160005b8181106119235750506118d5600d549283611778565b91600e54809110156118e9575b50600d5490565b60207fcbb46d9b69e77a6b5011c11cd2bf9be0461c9a1920e9f42678661cec154cd2a8916000600d5542600c55604051908152a1386118e2565b600190600d54600e54811061193a575b50016118bf565b6001600160a01b0361028161194e9261180b565b611959600d5461186f565b600d5538611933565b90506000600d55600090600090565b61197c929350611778565b9038806118b0565b50600b5490611898565b608460405162461bcd60e51b815260206004820152602160248201527f4f6e6c79206f776e65722063616e20646973747269627574652072657761726460448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b8181029291811591840414171561178557565b8115611a15570490565b634e487b7160e01b600052601260045260246000fd5b600e548015611a5a57600d549160648302838104606414841517156117855782611a5491611a0b565b91929190565b50600090600090606490565b6001600160a01b0381169081600052601060205260406000205415611ab457611a8e906124e7565b90600052601060205260026040600020015480821115611ab457611ab191611778565b90565b5050600090565b611ac3611ae5565b611ae057611ab1611ad9600c54600a54906117fe565b4290611778565b600090565b611af4600c54600a54906117fe565b42101590565b6001600160a01b03168015611b65577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560207395a7e403d7cf20f675ff9273d66e94d35ba49fa3938360005260078252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b6001600160a01b0316908115611b65576001600160a01b0316918215611c355760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260078252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b6001600160a01b038116908115612091576001600160a01b038316938415612041578015611fd75782859160165460ff8160081c161580611faf575b611f37575b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91602091306000526006835260406000205490600954809210159081611f2b575b5080611f16575b80611f01575b80611eec575b611eca575b50836000526015825260ff604060002054161580611eb2575b600090611e3b575b5083600052600682526040600020611d74828254611778565b905584600052600682526040600020611d8e8282546117fe565b9055604051908152a381600052601460205260ff604060002054161580611e26575b611e07575b505081600052601460205260ff604060002054161580611df2575b611dd8575050565b611df0916000526006602052604060002054906120fb565b565b506001600160a01b0360045416821415611dd0565b611e1f916000526006602052604060002054906120fb565b3880611db5565b506001600160a01b0360045416821415611db0565b6001600160a01b0360045416808614908115611ea8575b50611e93575b8015611d5b57611e8d9130600052600684526040600020611e7a8382546117fe565b90556040518281528686863093a3611778565b38611d5b565b506064611ea2600854836119f8565b04611e58565b9050861438611e52565b50846000526015825260ff6040600020541615611d53565b80821115611ee257611edb90612521565b5038611d3a565b50611edb81612521565b506001600160a01b0360055416861415611d35565b506001600160a01b0360055416851415611d2f565b506001600160a01b0360045416851415611d29565b60ff9150161538611d22565b915091506001600160a01b0360055416808514908115611fa5575b5015611f615785918491611ce0565b606460405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c6564207965740000000000000000006044820152fd5b9050861438611f52565b506001600160a01b0360045416808414908115611fcd575b50611cdb565b9050841438611fc7565b608460405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f00000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b670de0b6b3a764000082106121d7576001600160a01b038116918260005260106020526040600020541515600014612191578061213d5750611df0915061220f565b908161216661217d9361216160115487600052601060205260406000205490611778565b6117fe565b6011558360005260106020526040600020556124e7565b906000526010602052600160406000200155565b90916121b8836121a36121d2956127d5565b826000526010602052836040600020556124e7565b9060005260106020526001604060002001556011546117fe565b601155565b9015806121ef575b6121e65750565b611df09061220f565b506001600160a01b038116600052601060205260406000205415156121df565b600e548015801561234a575b8015612329575b612325576000198101908111611785576001600160a01b03612244819261180b565b90549060031b1c1691169081600052600f6020526040600020549061228b8161226c8461180b565b9091906001600160a01b038084549260031b9316831b921b1916179055565b600052600f602052604060002055600e54801561230f57600019016122af8161180b565b6001600160a01b0382549160031b1b19169055600e5580600052600f602052600060408120558060005260106020526122ef604060002054601154611778565b601155600052601060205260006002604082208281558260018201550155565b634e487b7160e01b600052603160045260246000fd5b5050565b506001600160a01b038216600052600f602052806040600020541015612222565b506001600160a01b03821680600052600f602052604060002054159081612372575b5061221b565b90506001600160a01b0361238461183c565b90549060031b1c1614153861236c565b6001600160a01b03811680600052601060205260406000205415612325576123bb82611a66565b806123c557505050565b602460206001600160a01b0360035416604051928380926370a0823160e01b82523060048301525afa9081156124a9576000916124b5575b5081111561240a57505050565b8260209261241a61247d956124e7565b816000526010855260026040600020015560005260108352600060016040822001556001600160a01b036003541690600060405180968195829463a9059cbb60e01b845260048401602090939291936001600160a01b0360408201951681520152565b03925af180156124a95761248e5750565b6124a69060203d602011611324576113188183611740565b50565b6040513d6000823e3d90fd5b90506020813d6020116124df575b816124d060209383611740565b810103126108e75751386123fd565b3d91506124c3565b6011541561251b57612517612710916001600160a01b0360135491166000526010602052604060002054906119f8565b0490565b50600090565b600090600160ff1960165416176016556024604051612541606082611740565b6002815260208101604036823730612558836127b8565b526001600160a01b036003541661256e836127c5565b526125798430611afa565b60206001600160a01b0360035416604051948580926370a0823160e01b82523060048301525afa928315610971578593612784575b507395a7e403d7cf20f675ff9273d66e94d35ba49fa33b156109395790846040518093635c11d79560e01b825260a482019387600484015283602484015260a060448401525180945260c482019093835b81811061275f575050819293503060648301524260848301520381837395a7e403d7cf20f675ff9273d66e94d35ba49fa35af180156108f45761274a575b5060249060206001600160a01b0360035416604051938480926370a0823160e01b82523060048301525afa80156108f4578490612716575b61267f9250611778565b918215158061270b575b61269d575b50509060ff1960165416601655565b6126a9836012546117fe565b9081601255612710820291808304612710149015171561089c57507f10da9408d1358808fea34ded33d675db0ba8e618a2fb814298059b2a6b0a473f916126f560409260115490611a0b565b6013558151908152836020820152a1388061268e565b506011541515612689565b506020823d602011612742575b8161273060209383611740565b810103126108e75761267f9151612675565b3d9150612723565b926127588160249395611740565b929061263d565b85516001600160a01b031683526020958601958a9550879450909201916001016125ff565b9092506020813d6020116127b0575b816127a060209383611740565b81010312610939575191386125ae565b3d9150612793565b8051156118265760200190565b8051600110156118265760400190565b6001600160a01b0381169081600052600f60205260406000205415801590612844575b61232557600e5490680100000000000000008210156117625761226c8260016128249401600e5561180b565b600e5460001981019190821161178557600052600f602052604060002055565b50600e54151580156127f85750816001600160a01b0361286261183c565b90549060031b1c16146127f856fea26469706673582212208e0859b6aacffce17364e01c3e9bcf0e9bf3e730acee42ec97c87431d5d452ba64736f6c634300081c0033bb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd
Deployed Bytecode
0x608080604052600436101561001d575b50361561001b57600080fd5b005b600090813560e01c9081630445b667146116805750806306fdde03146115c5578063095ea7b31461159e57806318160ddd1461158057806323b872dd1461149057806326987b60146114725780632836be241461138b578063313ce5671461136f57806333f3d628146112755780633a98ef3914611257578063429cead11461121a5780634ada218b146111f4578063576f35e31461113f5780635e42b455146110a757806363c98ffa14611089578063699abb3c1461102d5780636d1d59a814610fd357806370a0823114610f9a57806371201a0e14610f7c5780637136982b14610f5e5780637a16a49e14610e905780638a8c523c14610e085780638aee812714610d5f5780638da5cb5b14610d385780638ef8ed3214610d0d5780638f1b0efc14610cdc57806393a013e014610cb557806395d89b4114610bb057806399248ea714610b89578063997664d714610b6b5780639d0014b114610af05780639fde54f514610aa5578063a1b140b614610a68578063a9059cbb14610a36578063aada9c3814610a12578063ae7b6d16146109f4578063b70143c91461065f578063c07fbb8c14610627578063cbdd9b3014610604578063dd62ed3e146105b4578063de1c24d014610517578063e086e5ec1461044a578063e2d2e2191461042c578063f1320af2146103ef578063f2fde38b1461032a578063f4daaba11461030c578063f74fe6be146102e75763f9fc0d070361000f57346102e457806003193601126102e45780620493e05b801515806102d9575b806102cc575b156102b55761029b6102af916102955a61028e6001600160a01b03610281600d5461180b565b90549060031b1c16612394565b5a90611778565b90611778565b926102a7600d5461186f565b600d5561186f565b9161024c565b50600d54600e5411156102c55780f35b80600d5580f35b50600d54600e541161025b565b50600b548310610255565b80fd5b50346102e457806003193601126102e4576020610302611ae5565b6040519015158152f35b50346102e457806003193601126102e4576020600b54604051908152f35b50346102e45760203660031901126102e4576103446116e5565b600554906001600160a01b038083169161035f83331461179b565b169182156103ab578273ffffffffffffffffffffffffffffffffffffffff19927f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08680a3161760055580f35b606460405162461bcd60e51b815260206004820152602060248201527f4e6577206f776e65722063616e6e6f74206265207a65726f20616464726573736044820152fd5b50346102e45760203660031901126102e45760ff60406020926001600160a01b036104186116e5565b168152601584522054166040519015158152f35b50346102e457806003193601126102e4576020601354604051908152f35b50346102e457806003193601126102e457808080806001600160a01b036005541661047681331461179b565b47905af13d15610512573d67ffffffffffffffff81116104fe57604051906104a8601f8201601f191660200183611740565b81528260203d92013e5b156104ba5780f35b606460405162461bcd60e51b815260206004820152601560248201527f455448207769746864726177616c206661696c656400000000000000000000006044820152fd5b602483634e487b7160e01b81526041600452fd5b6104b2565b50346102e45760203660031901126102e4576001600160a01b036105396116e5565b6105488260055416331461179b565b1680156105705773ffffffffffffffffffffffffffffffffffffffff19600454161760045580f35b606460405162461bcd60e51b815260206004820152601e60248201527f4c5020706169722063616e6e6f74206265207a65726f206164647265737300006044820152fd5b50346102e45760403660031901126102e4576001600160a01b0360406105d86116e5565b92826105e26116fb565b9416815260076020522091166000526020526020604060002054604051908152f35b50346102e457806003193601126102e457602061061f611abb565b604051908152f35b50346102e45760203660031901126102e45760406020916001600160a01b0361064e6116e5565b168152600f83522054604051908152f35b50346102e45760203660031901126102e45760043561068a6001600160a01b0360055416331461179b565b3082526006602052604082205480156109b057811515806109a6575b1561097c57505b600160ff19601654161760165560246040516106ca606082611740565b60028152602081016040368237306106e1836127b8565b526001600160a01b03600354166106f7836127c5565b526107028430611afa565b60206001600160a01b0360035416604051948580926370a0823160e01b82523060048301525afa92831561097157859361093d575b507395a7e403d7cf20f675ff9273d66e94d35ba49fa33b156109395790846040518093635c11d79560e01b825260a482019387600484015283602484015260a060448401525180945260c482019093835b818110610914575050819293503060648301524260848301520381837395a7e403d7cf20f675ff9273d66e94d35ba49fa35af180156108f4576108ff575b5060249060206001600160a01b0360035416604051938480926370a0823160e01b82523060048301525afa80156108f45784906108bb575b6108089250611778565b801515806108b0575b610830575b6040925060ff196016541660165582519182526020820152f35b61083c816012546117fe565b9283601255612710840293808504612710149015171561089c575061086660409360115490611a0b565b6013557f10da9408d1358808fea34ded33d675db0ba8e618a2fb814298059b2a6b0a473f838051848152836020820152a1610816565b80634e487b7160e01b602492526011600452fd5b506011541515610811565b506020823d6020116108ec575b816108d560209383611740565b810103126108e75761080891516107fe565b600080fd5b3d91506108c8565b6040513d86823e3d90fd5b9261090d8160249395611740565b92906107c6565b85516001600160a01b031683526020958601958a955087945090920191600101610788565b8480fd5b9092506020813d602011610969575b8161095960209383611740565b8101031261093957519138610737565b3d915061094c565b6040513d87823e3d90fd5b60095491508115158061099c575b1561099557506106ad565b90506106ad565b508181101561098a565b50808211156106a6565b606460405162461bcd60e51b815260206004820152601160248201527f4e6f20746f6b656e7320746f20737761700000000000000000000000000000006044820152fd5b50346102e457806003193601126102e4576020600854604051908152f35b50346102e45760203660031901126102e457602061061f610a316116e5565b611a66565b50346102e45760403660031901126102e457610a5d610a536116e5565b6024359033611c9f565b602060405160018152f35b50346102e457806003193601126102e457610aa1610a84611a2b565b604080519384526020840192909252908201529081906060820190565b0390f35b50346102e457610aed6001600160a01b03610abf36611711565b9190610ad08260055416331461179b565b1683526015602052604083209060ff801983541691151516179055565b80f35b50346102e45760203660031901126102e457600435610b1b6001600160a01b0360055416331461179b565b8015610b275760095580f35b606460405162461bcd60e51b815260206004820152602060248201527f5468726573686f6c64206d7573742062652067726561746572207468616e20306044820152fd5b50346102e457806003193601126102e4576020601254604051908152f35b50346102e457806003193601126102e45760206001600160a01b0360035416604051908152f35b50346102e457806003193601126102e4576040519080600154908160011c91600181168015610cab575b602084108114610c9757838652908115610c705750600114610c13575b610aa184610c0781860382611740565b6040519182918261169c565b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b808210610c5657509091508101602001610c0782610bf7565b919260018160209254838588010152019101909291610c3d565b60ff191660208087019190915292151560051b85019092019250610c079150839050610bf7565b602483634e487b7160e01b81526022600452fd5b92607f1692610bda565b50346102e457806003193601126102e45760206001600160a01b0360045416604051908152f35b50346102e457806003193601126102e457602061061f306001600160a01b0316600052600660205260406000205490565b50346102e45760203660031901126102e4576040610d2c60043561187e565b82519182526020820152f35b50346102e457806003193601126102e45760206001600160a01b0360055416604051908152f35b50346102e45760203660031901126102e4576001600160a01b03610d816116e5565b610d908260055416331461179b565b168015610db85773ffffffffffffffffffffffffffffffffffffffff19600354161760035580f35b608460405162461bcd60e51b815260206004820152602360248201527f52657761726420746f6b656e2063616e6e6f74206265207a65726f206164647260448201526265737360e81b6064820152fd5b50346102e457806003193601126102e457610e2f6001600160a01b0360055416331461179b565b60165460ff8160081c16610e4c5761ff0019166101001760165580f35b606460405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152fd5b50346102e45760203660031901126102e457600435610ebb6001600160a01b0360055416331461179b565b603c8110610ef5576020817fc6f44473d25b86976ee7357c1339328224e349abc5486edc3007ef658a57608a92600a55604051908152a180f35b608460405162461bcd60e51b8152602060048201526024808201527f496e74657276616c206d757374206265206174206c656173742036302073656360448201527f6f6e6473000000000000000000000000000000000000000000000000000000006064820152fd5b50346102e457806003193601126102e4576020600e54604051908152f35b50346102e457806003193601126102e4576020600a54604051908152f35b50346102e45760203660031901126102e457602061061f610fb96116e5565b6001600160a01b0316600052600660205260406000205490565b50346102e45760203660031901126102e4576040906001600160a01b03610ff86116e5565b1681526010602052208054610aa160026001840154930154604051938493846040919493926060820195825260208201520152565b50346102e45760203660031901126102e4577f35ad15e7f5e4a16b548e8916bd02c51847dde8d106f334b4edaaacf140e43c91602060043561107b6001600160a01b0360055416331461179b565b80600855604051908152a180f35b50346102e457806003193601126102e4576020600c54604051908152f35b50346102e457806003193601126102e457602460206001600160a01b0360035416604051928380926370a0823160e01b82523060048301525afa9081156111345782916110fa575b602082604051908152f35b90506020813d60201161112c575b8161111560209383611740565b81010312611128576020915051386110ef565b5080fd5b3d9150611108565b6040513d84823e3d90fd5b50346102e45760203660031901126102e45760043561116a6001600160a01b0360055416331461179b565b6005811015806111e9575b1561118057600b5580f35b608460405162461bcd60e51b8152602060048201526024808201527f42617463682073697a65206d757374206265206265747765656e203520616e6460448201527f20313030000000000000000000000000000000000000000000000000000000006064820152fd5b506064811115611175565b50346102e457806003193601126102e457602060ff60165460081c166040519015158152f35b50346102e45760203660031901126102e45760ff60406020926001600160a01b036112436116e5565b168152601484522054166040519015158152f35b50346102e457806003193601126102e4576020601154604051908152f35b50346102e45760403660031901126102e45761128f6116e5565b6001600160a01b0360055416906112a782331461179b565b6001600160a01b038060035416911690811461132b5760405163a9059cbb60e01b81526001600160a01b0392909216600483015260248035908301526020908290604490829086905af18015611134576112ff575080f35b6113209060203d602011611324575b6113188183611740565b8101906117e6565b5080f35b503d61130e565b606460405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f7420726573637565206469766964656e6420746f6b656e000000006044820152fd5b50346102e457806003193601126102e457602060405160128152f35b50346102e45760207ff3a7c8242f0708821ed31a47f066fc7fa42f2ae65ed3e4d1d7cb5b3765d2939c6113bd36611711565b6113d66001600160a01b0360059593955416331461179b565b6001600160a01b038416938486526014835260ff60408720541691801515809315150361140a575b5050604051908152a280f35b8587526014845261142a81604089209060ff801983541691151516179055565b1561145857848652601083526040862054611449575b505b38806113fe565b6114529061220f565b38611440565b84865260068352604086205461146d916120fb565b611442565b50346102e457806003193601126102e4576020600d54604051908152f35b50346102e45760603660031901126102e4576114aa6116e5565b906114b36116fb565b6040604435926001600160a01b038516815260076020528181206001600160a01b033316825260205220549260001984036114f3575b610a5d9350611c9f565b8284106115165761151161150a84610a5d96611778565b3383611bce565b6114e9565b608460405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e63650000000000000000000000000000000000000000000000006064820152fd5b50346102e457806003193601126102e4576020600254604051908152f35b50346102e45760403660031901126102e457610a5d6115bb6116e5565b6024359033611bce565b50346102e457806003193601126102e45760405190808054908160011c91600181168015611676575b602084108114610c9757838652908115610c70575060011461161a57610aa184610c0781860382611740565b8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b80821061165c57509091508101602001610c0782610bf7565b919260018160209254838588010152019101909291611643565b92607f16926115ee565b9050346111285781600319360112611128576020906009548152f35b91909160208152825180602083015260005b8181106116cf575060409293506000838284010152601f8019910116010190565b80602080928701015160408286010152016116ae565b600435906001600160a01b03821682036108e757565b602435906001600160a01b03821682036108e757565b60409060031901126108e7576004356001600160a01b03811681036108e7579060243580151581036108e75790565b90601f8019910116810190811067ffffffffffffffff82111761176257604052565b634e487b7160e01b600052604160045260246000fd5b9190820391821161178557565b634e487b7160e01b600052601160045260246000fd5b156117a257565b606460405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152fd5b908160209103126108e7575180151581036108e75790565b9190820180921161178557565b600e5481101561182657600e60005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b600e541561182657600e60009081527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd91565b60001981146117855760010190565b6001600160a01b0360055416330361198e57801561198457905b600d546118a583826117fe565b600e54809111611971575b5050811561196257600d549160005b8181106119235750506118d5600d549283611778565b91600e54809110156118e9575b50600d5490565b60207fcbb46d9b69e77a6b5011c11cd2bf9be0461c9a1920e9f42678661cec154cd2a8916000600d5542600c55604051908152a1386118e2565b600190600d54600e54811061193a575b50016118bf565b6001600160a01b0361028161194e9261180b565b611959600d5461186f565b600d5538611933565b90506000600d55600090600090565b61197c929350611778565b9038806118b0565b50600b5490611898565b608460405162461bcd60e51b815260206004820152602160248201527f4f6e6c79206f776e65722063616e20646973747269627574652072657761726460448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b8181029291811591840414171561178557565b8115611a15570490565b634e487b7160e01b600052601260045260246000fd5b600e548015611a5a57600d549160648302838104606414841517156117855782611a5491611a0b565b91929190565b50600090600090606490565b6001600160a01b0381169081600052601060205260406000205415611ab457611a8e906124e7565b90600052601060205260026040600020015480821115611ab457611ab191611778565b90565b5050600090565b611ac3611ae5565b611ae057611ab1611ad9600c54600a54906117fe565b4290611778565b600090565b611af4600c54600a54906117fe565b42101590565b6001600160a01b03168015611b65577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560207395a7e403d7cf20f675ff9273d66e94d35ba49fa3938360005260078252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b6001600160a01b0316908115611b65576001600160a01b0316918215611c355760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260078252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b6001600160a01b038116908115612091576001600160a01b038316938415612041578015611fd75782859160165460ff8160081c161580611faf575b611f37575b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91602091306000526006835260406000205490600954809210159081611f2b575b5080611f16575b80611f01575b80611eec575b611eca575b50836000526015825260ff604060002054161580611eb2575b600090611e3b575b5083600052600682526040600020611d74828254611778565b905584600052600682526040600020611d8e8282546117fe565b9055604051908152a381600052601460205260ff604060002054161580611e26575b611e07575b505081600052601460205260ff604060002054161580611df2575b611dd8575050565b611df0916000526006602052604060002054906120fb565b565b506001600160a01b0360045416821415611dd0565b611e1f916000526006602052604060002054906120fb565b3880611db5565b506001600160a01b0360045416821415611db0565b6001600160a01b0360045416808614908115611ea8575b50611e93575b8015611d5b57611e8d9130600052600684526040600020611e7a8382546117fe565b90556040518281528686863093a3611778565b38611d5b565b506064611ea2600854836119f8565b04611e58565b9050861438611e52565b50846000526015825260ff6040600020541615611d53565b80821115611ee257611edb90612521565b5038611d3a565b50611edb81612521565b506001600160a01b0360055416861415611d35565b506001600160a01b0360055416851415611d2f565b506001600160a01b0360045416851415611d29565b60ff9150161538611d22565b915091506001600160a01b0360055416808514908115611fa5575b5015611f615785918491611ce0565b606460405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c6564207965740000000000000000006044820152fd5b9050861438611f52565b506001600160a01b0360045416808414908115611fcd575b50611cdb565b9050841438611fc7565b608460405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f00000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b670de0b6b3a764000082106121d7576001600160a01b038116918260005260106020526040600020541515600014612191578061213d5750611df0915061220f565b908161216661217d9361216160115487600052601060205260406000205490611778565b6117fe565b6011558360005260106020526040600020556124e7565b906000526010602052600160406000200155565b90916121b8836121a36121d2956127d5565b826000526010602052836040600020556124e7565b9060005260106020526001604060002001556011546117fe565b601155565b9015806121ef575b6121e65750565b611df09061220f565b506001600160a01b038116600052601060205260406000205415156121df565b600e548015801561234a575b8015612329575b612325576000198101908111611785576001600160a01b03612244819261180b565b90549060031b1c1691169081600052600f6020526040600020549061228b8161226c8461180b565b9091906001600160a01b038084549260031b9316831b921b1916179055565b600052600f602052604060002055600e54801561230f57600019016122af8161180b565b6001600160a01b0382549160031b1b19169055600e5580600052600f602052600060408120558060005260106020526122ef604060002054601154611778565b601155600052601060205260006002604082208281558260018201550155565b634e487b7160e01b600052603160045260246000fd5b5050565b506001600160a01b038216600052600f602052806040600020541015612222565b506001600160a01b03821680600052600f602052604060002054159081612372575b5061221b565b90506001600160a01b0361238461183c565b90549060031b1c1614153861236c565b6001600160a01b03811680600052601060205260406000205415612325576123bb82611a66565b806123c557505050565b602460206001600160a01b0360035416604051928380926370a0823160e01b82523060048301525afa9081156124a9576000916124b5575b5081111561240a57505050565b8260209261241a61247d956124e7565b816000526010855260026040600020015560005260108352600060016040822001556001600160a01b036003541690600060405180968195829463a9059cbb60e01b845260048401602090939291936001600160a01b0360408201951681520152565b03925af180156124a95761248e5750565b6124a69060203d602011611324576113188183611740565b50565b6040513d6000823e3d90fd5b90506020813d6020116124df575b816124d060209383611740565b810103126108e75751386123fd565b3d91506124c3565b6011541561251b57612517612710916001600160a01b0360135491166000526010602052604060002054906119f8565b0490565b50600090565b600090600160ff1960165416176016556024604051612541606082611740565b6002815260208101604036823730612558836127b8565b526001600160a01b036003541661256e836127c5565b526125798430611afa565b60206001600160a01b0360035416604051948580926370a0823160e01b82523060048301525afa928315610971578593612784575b507395a7e403d7cf20f675ff9273d66e94d35ba49fa33b156109395790846040518093635c11d79560e01b825260a482019387600484015283602484015260a060448401525180945260c482019093835b81811061275f575050819293503060648301524260848301520381837395a7e403d7cf20f675ff9273d66e94d35ba49fa35af180156108f45761274a575b5060249060206001600160a01b0360035416604051938480926370a0823160e01b82523060048301525afa80156108f4578490612716575b61267f9250611778565b918215158061270b575b61269d575b50509060ff1960165416601655565b6126a9836012546117fe565b9081601255612710820291808304612710149015171561089c57507f10da9408d1358808fea34ded33d675db0ba8e618a2fb814298059b2a6b0a473f916126f560409260115490611a0b565b6013558151908152836020820152a1388061268e565b506011541515612689565b506020823d602011612742575b8161273060209383611740565b810103126108e75761267f9151612675565b3d9150612723565b926127588160249395611740565b929061263d565b85516001600160a01b031683526020958601958a9550879450909201916001016125ff565b9092506020813d6020116127b0575b816127a060209383611740565b81010312610939575191386125ae565b3d9150612793565b8051156118265760200190565b8051600110156118265760400190565b6001600160a01b0381169081600052600f60205260406000205415801590612844575b61232557600e5490680100000000000000008210156117625761226c8260016128249401600e5561180b565b600e5460001981019190821161178557600052600f602052604060002055565b50600e54151580156127f85750816001600160a01b0361286261183c565b90549060031b1c16146127f856fea26469706673582212208e0859b6aacffce17364e01c3e9bcf0e9bf3e730acee42ec97c87431d5d452ba64736f6c634300081c0033
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.