More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 66 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 21023199 | 5 days ago | IN | 0 ETH | 0.00077641 | ||||
Approve | 20917071 | 20 days ago | IN | 0 ETH | 0.00052665 | ||||
Transfer | 20916981 | 20 days ago | IN | 0 ETH | 0.0005057 | ||||
Transfer | 20916886 | 20 days ago | IN | 0 ETH | 0.00080188 | ||||
Approve | 20916808 | 20 days ago | IN | 0 ETH | 0.00091069 | ||||
Approve | 20916768 | 20 days ago | IN | 0 ETH | 0.00069418 | ||||
Approve | 20916760 | 20 days ago | IN | 0 ETH | 0.00059216 | ||||
Approve | 20916749 | 20 days ago | IN | 0 ETH | 0.00060785 | ||||
Approve | 20916710 | 20 days ago | IN | 0 ETH | 0.00066478 | ||||
Approve | 20916684 | 20 days ago | IN | 0 ETH | 0.00043434 | ||||
Approve | 20916629 | 20 days ago | IN | 0 ETH | 0.00072451 | ||||
Approve | 20916623 | 20 days ago | IN | 0 ETH | 0.00075562 | ||||
Approve | 20916623 | 20 days ago | IN | 0 ETH | 0.00122162 | ||||
Approve | 20916618 | 20 days ago | IN | 0 ETH | 0.00062892 | ||||
Approve | 20916615 | 20 days ago | IN | 0 ETH | 0.00053972 | ||||
Approve | 20916612 | 20 days ago | IN | 0 ETH | 0.00052995 | ||||
Approve | 20916609 | 20 days ago | IN | 0 ETH | 0.00068234 | ||||
Approve | 20916606 | 20 days ago | IN | 0 ETH | 0.00077861 | ||||
Approve | 20916594 | 20 days ago | IN | 0 ETH | 0.00066141 | ||||
Approve | 20916593 | 20 days ago | IN | 0 ETH | 0.00051131 | ||||
Approve | 20916587 | 20 days ago | IN | 0 ETH | 0.00074984 | ||||
Approve | 20916584 | 20 days ago | IN | 0 ETH | 0.00077636 | ||||
Approve | 20916583 | 20 days ago | IN | 0 ETH | 0.00068336 | ||||
Approve | 20916579 | 20 days ago | IN | 0 ETH | 0.00068844 | ||||
Approve | 20916575 | 20 days ago | IN | 0 ETH | 0.00077964 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
ERC20
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-07 */ /** provided by Culo */ // SPDX-License-Identifier: MIT pragma solidity 0.8.20; interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; } contract ERC20 is IERC20 { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromMaxWallet; mapping(address => bool) private _isExcludedFromFee; mapping(address => bool) public Flagged; uint256 private _totalSupply; string private _name; string private _symbol; uint8 private constant _decimals = 18; address public owner; bool private _inReentrancyGuard; uint256 public MAX_BUY_TAX; uint256 public MAX_SELL_TAX; uint256 public buyTax; uint256 public sellTax; uint256 public TAX_SWAP_THRESHOLD; uint256 public MAX_TAX_SWAP; uint256 public _maxWalletSize; uint256 private _finalmaxWalletSize = 1_000_000_000_000; uint256 private _initialBuyTax = 30; uint256 private _initialSellTax = 30; uint256 private _finalBuyTax; uint256 private _finalSellTax; uint256 private _ChangedBuyTax = 0; uint256 private _ChangedSellTax = 0; uint256 private _reduceBuyTaxAt = 400; uint256 private _reduceSellTaxAt = 400; uint256 private _preventSwapBefore = 400; uint256 private _buyCount = 0; uint256 private Time = 0; uint256 private CreationBlock = 0; uint256 private ChangeTime = 3024000; // 5 weeks uint private MyTime = 0; string private _constructorTokenName; string private _constructorTokenSymbol; uint256 private _constructorInitialSupply; address private _constructorRouterAddress; uint256 private _constructorInitialBuyTax; uint256 private _constructorInitialSellTax; uint256 private _constructorMaxBuyTax; uint256 private _constructorMaxSellTax; uint256 private _constructorTaxSwapThreshold; uint256 private _constructorMaxTaxSwap; uint256 private _constructorMaxWalletLimit; string private _contractComments; address payable public taxWallet; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private _inSwap; bool public tradingEnabled = false; event TradingEnabled(); error OwnableInvalidOwner(address owner); modifier lockTheSwap() { _inSwap = true; _; _inSwap = false; } modifier nonReentrant() { require(!_inReentrancyGuard, "ReentrancyGuard: reentrant call"); _inReentrancyGuard = true; _; _inReentrancyGuard = false; } modifier onlyOwner() { require(msg.sender == owner, "Ownable: caller is not the owner"); _; } event TaxUpdated(uint256 newBuyTax, uint256 newSellTax); event TaxWalletUpdated(address newTaxWallet); constructor( string memory tokenName, string memory tokenSymbol, uint256 initialSupply, address routerAddress, uint256 initialBuyTax, uint256 initialSellTax, uint256 maxBuyTax, uint256 maxSellTax, uint256 taxSwapThreshold, uint256 maxTaxSwap, uint256 _maxWalletLimit ) { _name = tokenName; _symbol = tokenSymbol; owner = msg.sender; _totalSupply = initialSupply * 10 ** _decimals; _balances[_msgSender()] = ((initialSupply * 9) / 10) * 10 ** _decimals; _balances[address(this)] = (initialSupply / 10) * 10 ** _decimals; emit Transfer( address(0), _msgSender(), ((initialSupply * 9) / 10) * 10 ** _decimals ); emit Transfer( address(0), address(this), (initialSupply / 10) * 10 ** _decimals ); taxWallet = payable(msg.sender); _finalBuyTax = initialBuyTax; buyTax = _finalBuyTax; _finalSellTax = initialSellTax; sellTax = _finalSellTax; MAX_BUY_TAX = maxBuyTax; MAX_SELL_TAX = maxSellTax; TAX_SWAP_THRESHOLD = taxSwapThreshold; MAX_TAX_SWAP = maxTaxSwap; _maxWalletSize = _maxWalletLimit; uniswapV2Router = IUniswapV2Router02(routerAddress); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); _constructorTokenName = tokenName; _constructorTokenSymbol = tokenSymbol; _constructorInitialSupply = initialSupply; _constructorRouterAddress = routerAddress; _constructorInitialBuyTax = initialBuyTax; _constructorInitialSellTax = initialSellTax; _constructorMaxBuyTax = maxBuyTax; _constructorMaxSellTax = maxSellTax; _constructorTaxSwapThreshold = taxSwapThreshold; _constructorMaxTaxSwap = maxTaxSwap; _constructorMaxWalletLimit = _maxWalletLimit; _isExcludedFromMaxWallet[owner] = true; _isExcludedFromMaxWallet[address(this)] = true; _isExcludedFromMaxWallet[uniswapV2Pair] = true; _isExcludedFromMaxWallet[taxWallet] = true; _isExcludedFromFee[owner] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[taxWallet] = true; Time = block.timestamp + ChangeTime; } //--------------------------------------------------------------------------- // Public 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 taxes() public view returns (uint256, uint256) { return (buyTax, sellTax); } function totalSupply() public view returns (uint256) { return _totalSupply; } function getContractComments() public view returns (string memory) { return _contractComments; } function balanceOf(address account) public view returns (uint256) { return _balances[account]; } function allowance( address tokenOwner, address spender ) public view returns (uint256) { return _allowances[tokenOwner][spender]; } function getConstructorArguments() public view returns ( string memory tokenName, string memory tokenSymbol, uint256 initialSupply, address routerAddress, uint256 initialBuyTax, uint256 initialSellTax, uint256 maxBuyTax, uint256 maxSellTax, uint256 taxSwapThreshold, uint256 maxTaxSwap, uint256 constructorMaxWalletLimit ) { return ( _constructorTokenName, _constructorTokenSymbol, _constructorInitialSupply, _constructorRouterAddress, _constructorInitialBuyTax, _constructorInitialSellTax, _constructorMaxBuyTax, _constructorMaxSellTax, _constructorTaxSwapThreshold, _constructorMaxTaxSwap, _constructorMaxWalletLimit ); } function transfer(address recipient, uint256 amount) public returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function approve(address spender, uint256 amount) public returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } //--------------------------------------------------------------------------- // Owner Functions //--------------------------------------------------------------------------- function setContractComments( string memory contractComments ) external onlyOwner { _contractComments = contractComments; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function setExcludedFromMaxWallet( address account, bool excluded ) external onlyOwner { _isExcludedFromMaxWallet[account] = excluded; } function transferOwnership(address newOwner) public virtual onlyOwner { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(newOwner); } function startTrading() public { require(!tradingEnabled, "Trading is already enabled"); tradingEnabled = true; Time = block.timestamp + ChangeTime; CreationBlock = block.number; emit TradingEnabled(); } function setTaxWallet(address newTaxWallet) external onlyOwner { require( newTaxWallet != address(0), "New tax wallet cannot be zero address" ); taxWallet = payable(newTaxWallet); emit TaxWalletUpdated(newTaxWallet); } function RecoverEth() external onlyOwner nonReentrant { uint256 contractBalance = address(this).balance; require(contractBalance > 0, "No ETH to withdraw"); (bool success, ) = payable(owner).call{value: contractBalance}(""); require(success, "ETH withdrawal failed"); } //--------------------------------------------------------------------------- // Internal Functions //--------------------------------------------------------------------------- function _msgSender() internal view returns (address) { return msg.sender; } function _transferOwnership(address newOwner) internal virtual { owner = newOwner; } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function sendETHToFee(uint256 amount) private { taxWallet.transfer(amount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp + 300 ); } 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"); uint256 taxAmount = 0; if (!tradingEnabled) { require(from == owner || to == owner, "Trading not yet enabled"); } if (from != owner && to != owner && block.number != CreationBlock) { MyTime = block.timestamp; if (_buyCount == _reduceBuyTaxAt) { _maxWalletSize = _finalmaxWalletSize * 10 ** _decimals; } if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { require( balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize." ); if (MyTime < Time) { taxAmount = amount .mul( (_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax ) .div(100); _buyCount++; if (_buyCount < _reduceBuyTaxAt) Flagged[to] = true; } else taxAmount = amount.mul(_ChangedBuyTax).div(100); } if (to == uniswapV2Pair && !_isExcludedFromFee[from]) { if (MyTime < Time) { taxAmount = amount .mul( (_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax ) .div(100); if (_buyCount < _reduceSellTaxAt) Flagged[from] = true; } else taxAmount = amount.mul(_ChangedSellTax).div(100); } if (Flagged[from]) taxAmount = amount.mul(_initialBuyTax).div(100); if (Flagged[to]) taxAmount = amount.mul(_initialBuyTax).div(100); uint256 contractTokenBalance = balanceOf(address(this)); if ( !_inSwap && to == uniswapV2Pair && contractTokenBalance > TAX_SWAP_THRESHOLD && _buyCount > _preventSwapBefore ) { swapTokensForEth( min(amount, min(contractTokenBalance, MAX_TAX_SWAP)) ); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if (taxAmount > 0) { _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(from, address(this), taxAmount); } _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function _approve( address tokenOwner, address spender, uint256 amount ) internal { require( tokenOwner != address(0), "ERC20: approve from the zero address" ); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[tokenOwner][spender] = amount; emit Approval(tokenOwner, spender, amount); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"address","name":"routerAddress","type":"address"},{"internalType":"uint256","name":"initialBuyTax","type":"uint256"},{"internalType":"uint256","name":"initialSellTax","type":"uint256"},{"internalType":"uint256","name":"maxBuyTax","type":"uint256"},{"internalType":"uint256","name":"maxSellTax","type":"uint256"},{"internalType":"uint256","name":"taxSwapThreshold","type":"uint256"},{"internalType":"uint256","name":"maxTaxSwap","type":"uint256"},{"internalType":"uint256","name":"_maxWalletLimit","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"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":false,"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"TaxUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newTaxWallet","type":"address"}],"name":"TaxWalletUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingEnabled","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":[{"internalType":"address","name":"","type":"address"}],"name":"Flagged","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_BUY_TAX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SELL_TAX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_TAX_SWAP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RecoverEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"TAX_SWAP_THRESHOLD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","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":"buyTax","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":"getConstructorArguments","outputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"address","name":"routerAddress","type":"address"},{"internalType":"uint256","name":"initialBuyTax","type":"uint256"},{"internalType":"uint256","name":"initialSellTax","type":"uint256"},{"internalType":"uint256","name":"maxBuyTax","type":"uint256"},{"internalType":"uint256","name":"maxSellTax","type":"uint256"},{"internalType":"uint256","name":"taxSwapThreshold","type":"uint256"},{"internalType":"uint256","name":"maxTaxSwap","type":"uint256"},{"internalType":"uint256","name":"constructorMaxWalletLimit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getContractComments","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"contractComments","type":"string"}],"name":"setContractComments","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setExcludedFromMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTaxWallet","type":"address"}],"name":"setTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405264e8d4a51000601055601e601181905560128190555f6015819055601681905561019060178190556018819055601955601a819055601b819055601c819055622e2480601d559055602d805460ff60a81b1916905534801562000065575f80fd5b50604051620027ea380380620027ea8339810160408190526200008891620005b9565b6006620000968c826200070f565b506007620000a58b826200070f565b50600880546001600160a01b03191633179055620000c66012600a620008e6565b620000d2908a620008fd565b600555620000e36012600a620008e6565b600a620000f28b6009620008fd565b620000fe919062000917565b6200010a9190620008fd565b335f90815260208190526040902055620001276012600a620008e6565b62000134600a8b62000917565b620001409190620008fd565b305f90815260208190526040902055336001600160a01b03165f5f80516020620027ca833981519152620001776012600a620008e6565b600a620001868e6009620008fd565b62000192919062000917565b6200019e9190620008fd565b60405190815260200160405180910390a3305f5f80516020620027ca833981519152620001ce6012600a620008e6565b620001db600a8e62000917565b620001e79190620008fd565b60405190815260200160405180910390a3602b80546001600160a01b031990811633179091556013889055600b8890556014879055600c8790556009869055600a859055600d849055600e839055600f829055602c80546001600160a01b038b169216821790556040805163c45a015560e01b8152905163c45a0155916004818101926020929091908290030181865afa15801562000288573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002ae919062000937565b6001600160a01b031663c9c6539630602c5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200030e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000334919062000937565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200037f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003a5919062000937565b602d80546001600160a01b0319166001600160a01b0392909216919091179055601f620003d38c826200070f565b506020620003e28b826200070f565b506021899055602280546001600160a01b0319166001600160a01b038a81169190911790915560238890556024879055602586905560268590556027849055602883905560298290556008805482165f908152600260209081526040808320805460ff199081166001908117909255308086528386208054831684179055602d54881686528386208054831684179055602b8054891687528487208054841685179055965488168652600390945282852080548216831790559284528184208054841682179055935490941682529290208054909216179055601d54620004ca904262000953565b601b5550620009699950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011262000503575f80fd5b81516001600160401b0380821115620005205762000520620004df565b604051601f8301601f19908116603f011681019082821181831017156200054b576200054b620004df565b8160405283815260209250868385880101111562000567575f80fd5b5f91505b838210156200058a57858201830151818301840152908201906200056b565b5f93810190920192909252949350505050565b80516001600160a01b0381168114620005b4575f80fd5b919050565b5f805f805f805f805f805f6101608c8e031215620005d5575f80fd5b8b516001600160401b03811115620005eb575f80fd5b620005f98e828f01620004f3565b60208e0151909c5090506001600160401b0381111562000617575f80fd5b620006258e828f01620004f3565b9a505060408c015198506200063d60608d016200059d565b975060808c0151965060a08c0151955060c08c0151945060e08c015193506101008c015192506101208c015191506101408c015190509295989b509295989b9093969950565b600181811c908216806200069857607f821691505b602082108103620006b757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200070a575f81815260208120601f850160051c81016020861015620006e55750805b601f850160051c820191505b818110156200070657828155600101620006f1565b5050505b505050565b81516001600160401b038111156200072b576200072b620004df565b62000743816200073c845462000683565b84620006bd565b602080601f83116001811462000779575f8415620007615750858301515b5f19600386901b1c1916600185901b17855562000706565b5f85815260208120601f198616915b82811015620007a95788860151825594840194600190910190840162000788565b5085821015620007c757878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200082b57815f19048211156200080f576200080f620007d7565b808516156200081d57918102915b93841c9390800290620007f0565b509250929050565b5f826200084357506001620008e0565b816200085157505f620008e0565b81600181146200086a5760028114620008755762000895565b6001915050620008e0565b60ff841115620008895762000889620007d7565b50506001821b620008e0565b5060208310610133831016604e8410600b8410161715620008ba575081810a620008e0565b620008c68383620007eb565b805f1904821115620008dc57620008dc620007d7565b0290505b92915050565b5f620008f660ff84168362000833565b9392505050565b8082028115828204841417620008e057620008e0620007d7565b5f826200093257634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000948575f80fd5b620008f6826200059d565b80820180821115620008e057620008e0620007d7565b611e5380620009775f395ff3fe6080604052600436106101de575f3560e01c806370a08231116100fd578063c3ea6b2c11610092578063dd62ed3e11610062578063dd62ed3e14610543578063e7cb0df914610587578063ea414b281461059c578063f2fde38b146105bb575f80fd5b8063c3ea6b2c146104c0578063cc1776d3146104d5578063d15f1155146104ea578063db70bc2114610518575f80fd5b80638f9a55c0116100cd5780638f9a55c01461045957806395d89b411461046e578063a9059cbb14610482578063b7a637c6146104a1575f80fd5b806370a08231146103cb578063715018a6146103ff578063728f8eea146104135780638da5cb5b1461043a575f80fd5b80632dc0562d116101735780634122010411610143578063412201041461035857806349bd5a5e146103775780634ada218b146103965780634f7041a5146103b6575f80fd5b80632dc0562d146102f55780632e9cf70214610314578063313ce567146103285780633de7f84414610343575f80fd5b806318160ddd116101ae57806318160ddd1461028d57806323b872dd146102ab57806328df9ada146102ca578063293230b8146102df575f80fd5b806306fdde03146101e9578063095ea7b314610213578063152246a8146102425780631694505e14610256575f80fd5b366101e557005b5f80fd5b3480156101f4575f80fd5b506101fd6105da565b60405161020a919061182d565b60405180910390f35b34801561021e575f80fd5b5061023261022d366004611853565b61066a565b604051901515815260200161020a565b34801561024d575f80fd5b506101fd610680565b348015610261575f80fd5b50602c54610275906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b348015610298575f80fd5b506005545b60405190815260200161020a565b3480156102b6575f80fd5b506102326102c536600461187d565b61068f565b3480156102d5575f80fd5b5061029d600d5481565b3480156102ea575f80fd5b506102f36106f6565b005b348015610300575f80fd5b50602b54610275906001600160a01b031681565b34801561031f575f80fd5b506102f36107a6565b348015610333575f80fd5b506040516012815260200161020a565b34801561034e575f80fd5b5061029d60095481565b348015610363575f80fd5b506102f36103723660046118bb565b610929565b348015610382575f80fd5b50602d54610275906001600160a01b031681565b3480156103a1575f80fd5b50602d5461023290600160a81b900460ff1681565b3480156103c1575f80fd5b5061029d600b5481565b3480156103d6575f80fd5b5061029d6103e53660046118f6565b6001600160a01b03165f9081526020819052604090205490565b34801561040a575f80fd5b506102f361097d565b34801561041e575f80fd5b50600b54600c546040805192835260208301919091520161020a565b348015610445575f80fd5b50600854610275906001600160a01b031681565b348015610464575f80fd5b5061029d600f5481565b348015610479575f80fd5b506101fd6109b2565b34801561048d575f80fd5b5061023261049c366004611853565b6109c1565b3480156104ac575f80fd5b506102f36104bb366004611925565b6109cd565b3480156104cb575f80fd5b5061029d600e5481565b3480156104e0575f80fd5b5061029d600c5481565b3480156104f5575f80fd5b506102326105043660046118f6565b60046020525f908152604090205460ff1681565b348015610523575f80fd5b5061052c610a07565b60405161020a9b9a999897969594939291906119d0565b34801561054e575f80fd5b5061029d61055d366004611a48565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610592575f80fd5b5061029d600a5481565b3480156105a7575f80fd5b506102f36105b63660046118f6565b610b7b565b3480156105c6575f80fd5b506102f36105d53660046118f6565b610c5d565b6060600680546105e990611a74565b80601f016020809104026020016040519081016040528092919081815260200182805461061590611a74565b80156106605780601f1061063757610100808354040283529160200191610660565b820191905f5260205f20905b81548152906001019060200180831161064357829003601f168201915b5050505050905090565b5f610676338484610cbc565b5060015b92915050565b6060602a80546105e990611a74565b5f61069b848484610ddf565b6106ec84336106e785604051806060016040528060288152602001611df6602891396001600160a01b038a165f908152600160209081526040808320338452909152902054919061145b565b610cbc565b5060019392505050565b602d54600160a81b900460ff16156107555760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c656400000000000060448201526064015b60405180910390fd5b602d805460ff60a81b1916600160a81b179055601d546107759042611aba565b601b5543601c556040517f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c7905f90a1565b6008546001600160a01b031633146107d05760405162461bcd60e51b815260040161074c90611acd565b600854600160a01b900460ff161561082a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161074c565b6008805460ff60a01b1916600160a01b17905547806108805760405162461bcd60e51b81526020600482015260126024820152714e6f2045544820746f20776974686472617760701b604482015260640161074c565b6008546040515f916001600160a01b03169083908381818185875af1925050503d805f81146108ca576040519150601f19603f3d011682016040523d82523d5f602084013e6108cf565b606091505b50509050806109185760405162461bcd60e51b8152602060048201526015602482015274115512081dda5d1a191c985dd85b0819985a5b1959605a1b604482015260640161074c565b50506008805460ff60a01b19169055565b6008546001600160a01b031633146109535760405162461bcd60e51b815260040161074c90611acd565b6001600160a01b03919091165f908152600260205260409020805460ff1916911515919091179055565b6008546001600160a01b031633146109a75760405162461bcd60e51b815260040161074c90611acd565b6109b05f611493565b565b6060600780546105e990611a74565b5f610676338484610ddf565b6008546001600160a01b031633146109f75760405162461bcd60e51b815260040161074c90611acd565b602a610a038282611b4c565b5050565b6060805f805f805f805f805f601f602060215460225f9054906101000a90046001600160a01b03166023546024546025546026546027546028546029548a8054610a5090611a74565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7c90611a74565b8015610ac75780601f10610a9e57610100808354040283529160200191610ac7565b820191905f5260205f20905b815481529060010190602001808311610aaa57829003601f168201915b50505050509a50898054610ada90611a74565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0690611a74565b8015610b515780601f10610b2857610100808354040283529160200191610b51565b820191905f5260205f20905b815481529060010190602001808311610b3457829003601f168201915b505050505099509a509a509a509a509a509a509a509a509a509a509a50909192939495969798999a565b6008546001600160a01b03163314610ba55760405162461bcd60e51b815260040161074c90611acd565b6001600160a01b038116610c095760405162461bcd60e51b815260206004820152602560248201527f4e6577207461782077616c6c65742063616e6e6f74206265207a65726f206164604482015264647265737360d81b606482015260840161074c565b602b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f1797049ec5d8ec17fdce2660fb55e33695fd7ebbdb65726cc6d171c0e1c312c79060200160405180910390a150565b6008546001600160a01b03163314610c875760405162461bcd60e51b815260040161074c90611acd565b6001600160a01b038116610cb057604051631e4fbdf760e01b81525f600482015260240161074c565b610cb981611493565b50565b6001600160a01b038316610d1e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161074c565b6001600160a01b038216610d7f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161074c565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e435760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161074c565b6001600160a01b038216610ea55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161074c565b5f8111610f065760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161074c565b602d545f90600160a81b900460ff16610f8e576008546001600160a01b0385811691161480610f4257506008546001600160a01b038481169116145b610f8e5760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f742079657420656e61626c6564000000000000000000604482015260640161074c565b6008546001600160a01b03858116911614801590610fba57506008546001600160a01b03848116911614155b8015610fc85750601c544314155b156113265742601e55601754601a5403610ff957610fe86012600a611ce8565b601054610ff59190611cf6565b600f555b602d546001600160a01b0385811691161480156110245750602c546001600160a01b03848116911614155b801561104857506001600160a01b0383165f9081526003602052604090205460ff16155b1561116657600f548261106f856001600160a01b03165f9081526020819052604090205490565b6110799190611aba565b11156110c75760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161074c565b601b54601e541015611149576110ff60646110f9601754601a54116110ee576011546110f2565b6013545b85906114b5565b9061153a565b601a80549192505f61111083611d0d565b9190505550601754601a541015611144576001600160a01b0383165f908152600460205260409020805460ff191660011790555b611166565b61116360646110f9601554856114b590919063ffffffff16565b90505b602d546001600160a01b03848116911614801561119b57506001600160a01b0384165f9081526003602052604090205460ff16155b1561122457601b54601e541015611207576111d160646110f9601854601a54116111c7576012546110f2565b60145485906114b5565b9050601854601a541015611202576001600160a01b0384165f908152600460205260409020805460ff191660011790555b611224565b61122160646110f9601654856114b590919063ffffffff16565b90505b6001600160a01b0384165f9081526004602052604090205460ff16156112615761125e60646110f9601154856114b590919063ffffffff16565b90505b6001600160a01b0383165f9081526004602052604090205460ff161561129e5761129b60646110f9601154856114b590919063ffffffff16565b90505b305f90815260208190526040902054602d54600160a01b900460ff161580156112d45750602d546001600160a01b038581169116145b80156112e15750600d5481115b80156112f05750601954601a54115b156113245761131261130d8461130884600e5461157b565b61157b565b61158f565b47801561132257611322476116e8565b505b505b801561139657305f90815260208190526040902054611345908261171f565b305f8181526020818152604091829020939093555183815290916001600160a01b038716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b6001600160a01b0384165f908152602081905260409020546113b8908361177d565b6001600160a01b0385165f908152602081905260409020556113fb6113dd838361177d565b6001600160a01b0385165f908152602081905260409020549061171f565b6001600160a01b038085165f8181526020819052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611444858561177d565b60405190815260200160405180910390a350505050565b5f818484111561147e5760405162461bcd60e51b815260040161074c919061182d565b505f61148a8486611d25565b95945050505050565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b5f825f036114c457505f61067a565b5f6114cf8385611cf6565b9050826114dc8583611d38565b146115335760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161074c565b9392505050565b5f61153383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117be565b5f8183116115895782611533565b50919050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106115c2576115c2611d57565b6001600160a01b03928316602091820292909201810191909152602c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611619573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163d9190611d6b565b8160018151811061165057611650611d57565b6001600160a01b039283166020918202929092010152602c546116769130911684610cbc565b602c546001600160a01b031663791ac947835f84306116974261012c611aba565b6040518663ffffffff1660e01b81526004016116b7959493929190611d86565b5f604051808303815f87803b1580156116ce575f80fd5b505af11580156116e0573d5f803e3d5ffd5b505050505050565b602b546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610a03573d5f803e3d5ffd5b5f8061172b8385611aba565b9050838110156115335760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161074c565b5f61153383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061145b565b5f81836117de5760405162461bcd60e51b815260040161074c919061182d565b505f61148a8486611d38565b5f81518084525f5b8181101561180e576020818501810151868301820152016117f2565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61153360208301846117ea565b6001600160a01b0381168114610cb9575f80fd5b5f8060408385031215611864575f80fd5b823561186f8161183f565b946020939093013593505050565b5f805f6060848603121561188f575f80fd5b833561189a8161183f565b925060208401356118aa8161183f565b929592945050506040919091013590565b5f80604083850312156118cc575f80fd5b82356118d78161183f565b9150602083013580151581146118eb575f80fd5b809150509250929050565b5f60208284031215611906575f80fd5b81356115338161183f565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215611935575f80fd5b813567ffffffffffffffff8082111561194c575f80fd5b818401915084601f83011261195f575f80fd5b81358181111561197157611971611911565b604051601f8201601f19908116603f0116810190838211818310171561199957611999611911565b816040528281528760208487010111156119b1575f80fd5b826020860160208301375f928101602001929092525095945050505050565b5f6101608083526119e38184018f6117ea565b905082810360208401526119f7818e6117ea565b604084019c909c5250506001600160a01b03989098166060890152608088019690965260a087019490945260c086019290925260e08501526101008401526101208301526101409091015292915050565b5f8060408385031215611a59575f80fd5b8235611a648161183f565b915060208301356118eb8161183f565b600181811c90821680611a8857607f821691505b60208210810361158957634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561067a5761067a611aa6565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b601f821115611b47575f81815260208120601f850160051c81016020861015611b285750805b601f850160051c820191505b818110156116e057828155600101611b34565b505050565b815167ffffffffffffffff811115611b6657611b66611911565b611b7a81611b748454611a74565b84611b02565b602080601f831160018114611bad575f8415611b965750858301515b5f19600386901b1c1916600185901b1785556116e0565b5f85815260208120601f198616915b82811015611bdb57888601518255948401946001909101908401611bbc565b5085821015611bf857878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b600181815b80851115611c4257815f1904821115611c2857611c28611aa6565b80851615611c3557918102915b93841c9390800290611c0d565b509250929050565b5f82611c585750600161067a565b81611c6457505f61067a565b8160018114611c7a5760028114611c8457611ca0565b600191505061067a565b60ff841115611c9557611c95611aa6565b50506001821b61067a565b5060208310610133831016604e8410600b8410161715611cc3575081810a61067a565b611ccd8383611c08565b805f1904821115611ce057611ce0611aa6565b029392505050565b5f61153360ff841683611c4a565b808202811582820484141761067a5761067a611aa6565b5f60018201611d1e57611d1e611aa6565b5060010190565b8181038181111561067a5761067a611aa6565b5f82611d5257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d7b575f80fd5b81516115338161183f565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611dd45784516001600160a01b031683529383019391830191600101611daf565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205440eddd2c452a292036efdba9a4ecbe57b8d4a7767ec65f5d7a408f6f65c8ef64736f6c63430008140033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000052b7d2dcc80cd400000000000000000000000000000000000000000000000c7edcce7208500000000000000000000000000000000000000000000000000000409f9cbc7c4a04000000000000000000000000000000000000000000000000000000000000000000000000052443756c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052443756c6f000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101de575f3560e01c806370a08231116100fd578063c3ea6b2c11610092578063dd62ed3e11610062578063dd62ed3e14610543578063e7cb0df914610587578063ea414b281461059c578063f2fde38b146105bb575f80fd5b8063c3ea6b2c146104c0578063cc1776d3146104d5578063d15f1155146104ea578063db70bc2114610518575f80fd5b80638f9a55c0116100cd5780638f9a55c01461045957806395d89b411461046e578063a9059cbb14610482578063b7a637c6146104a1575f80fd5b806370a08231146103cb578063715018a6146103ff578063728f8eea146104135780638da5cb5b1461043a575f80fd5b80632dc0562d116101735780634122010411610143578063412201041461035857806349bd5a5e146103775780634ada218b146103965780634f7041a5146103b6575f80fd5b80632dc0562d146102f55780632e9cf70214610314578063313ce567146103285780633de7f84414610343575f80fd5b806318160ddd116101ae57806318160ddd1461028d57806323b872dd146102ab57806328df9ada146102ca578063293230b8146102df575f80fd5b806306fdde03146101e9578063095ea7b314610213578063152246a8146102425780631694505e14610256575f80fd5b366101e557005b5f80fd5b3480156101f4575f80fd5b506101fd6105da565b60405161020a919061182d565b60405180910390f35b34801561021e575f80fd5b5061023261022d366004611853565b61066a565b604051901515815260200161020a565b34801561024d575f80fd5b506101fd610680565b348015610261575f80fd5b50602c54610275906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b348015610298575f80fd5b506005545b60405190815260200161020a565b3480156102b6575f80fd5b506102326102c536600461187d565b61068f565b3480156102d5575f80fd5b5061029d600d5481565b3480156102ea575f80fd5b506102f36106f6565b005b348015610300575f80fd5b50602b54610275906001600160a01b031681565b34801561031f575f80fd5b506102f36107a6565b348015610333575f80fd5b506040516012815260200161020a565b34801561034e575f80fd5b5061029d60095481565b348015610363575f80fd5b506102f36103723660046118bb565b610929565b348015610382575f80fd5b50602d54610275906001600160a01b031681565b3480156103a1575f80fd5b50602d5461023290600160a81b900460ff1681565b3480156103c1575f80fd5b5061029d600b5481565b3480156103d6575f80fd5b5061029d6103e53660046118f6565b6001600160a01b03165f9081526020819052604090205490565b34801561040a575f80fd5b506102f361097d565b34801561041e575f80fd5b50600b54600c546040805192835260208301919091520161020a565b348015610445575f80fd5b50600854610275906001600160a01b031681565b348015610464575f80fd5b5061029d600f5481565b348015610479575f80fd5b506101fd6109b2565b34801561048d575f80fd5b5061023261049c366004611853565b6109c1565b3480156104ac575f80fd5b506102f36104bb366004611925565b6109cd565b3480156104cb575f80fd5b5061029d600e5481565b3480156104e0575f80fd5b5061029d600c5481565b3480156104f5575f80fd5b506102326105043660046118f6565b60046020525f908152604090205460ff1681565b348015610523575f80fd5b5061052c610a07565b60405161020a9b9a999897969594939291906119d0565b34801561054e575f80fd5b5061029d61055d366004611a48565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610592575f80fd5b5061029d600a5481565b3480156105a7575f80fd5b506102f36105b63660046118f6565b610b7b565b3480156105c6575f80fd5b506102f36105d53660046118f6565b610c5d565b6060600680546105e990611a74565b80601f016020809104026020016040519081016040528092919081815260200182805461061590611a74565b80156106605780601f1061063757610100808354040283529160200191610660565b820191905f5260205f20905b81548152906001019060200180831161064357829003601f168201915b5050505050905090565b5f610676338484610cbc565b5060015b92915050565b6060602a80546105e990611a74565b5f61069b848484610ddf565b6106ec84336106e785604051806060016040528060288152602001611df6602891396001600160a01b038a165f908152600160209081526040808320338452909152902054919061145b565b610cbc565b5060019392505050565b602d54600160a81b900460ff16156107555760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c656400000000000060448201526064015b60405180910390fd5b602d805460ff60a81b1916600160a81b179055601d546107759042611aba565b601b5543601c556040517f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c7905f90a1565b6008546001600160a01b031633146107d05760405162461bcd60e51b815260040161074c90611acd565b600854600160a01b900460ff161561082a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161074c565b6008805460ff60a01b1916600160a01b17905547806108805760405162461bcd60e51b81526020600482015260126024820152714e6f2045544820746f20776974686472617760701b604482015260640161074c565b6008546040515f916001600160a01b03169083908381818185875af1925050503d805f81146108ca576040519150601f19603f3d011682016040523d82523d5f602084013e6108cf565b606091505b50509050806109185760405162461bcd60e51b8152602060048201526015602482015274115512081dda5d1a191c985dd85b0819985a5b1959605a1b604482015260640161074c565b50506008805460ff60a01b19169055565b6008546001600160a01b031633146109535760405162461bcd60e51b815260040161074c90611acd565b6001600160a01b03919091165f908152600260205260409020805460ff1916911515919091179055565b6008546001600160a01b031633146109a75760405162461bcd60e51b815260040161074c90611acd565b6109b05f611493565b565b6060600780546105e990611a74565b5f610676338484610ddf565b6008546001600160a01b031633146109f75760405162461bcd60e51b815260040161074c90611acd565b602a610a038282611b4c565b5050565b6060805f805f805f805f805f601f602060215460225f9054906101000a90046001600160a01b03166023546024546025546026546027546028546029548a8054610a5090611a74565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7c90611a74565b8015610ac75780601f10610a9e57610100808354040283529160200191610ac7565b820191905f5260205f20905b815481529060010190602001808311610aaa57829003601f168201915b50505050509a50898054610ada90611a74565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0690611a74565b8015610b515780601f10610b2857610100808354040283529160200191610b51565b820191905f5260205f20905b815481529060010190602001808311610b3457829003601f168201915b505050505099509a509a509a509a509a509a509a509a509a509a509a50909192939495969798999a565b6008546001600160a01b03163314610ba55760405162461bcd60e51b815260040161074c90611acd565b6001600160a01b038116610c095760405162461bcd60e51b815260206004820152602560248201527f4e6577207461782077616c6c65742063616e6e6f74206265207a65726f206164604482015264647265737360d81b606482015260840161074c565b602b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f1797049ec5d8ec17fdce2660fb55e33695fd7ebbdb65726cc6d171c0e1c312c79060200160405180910390a150565b6008546001600160a01b03163314610c875760405162461bcd60e51b815260040161074c90611acd565b6001600160a01b038116610cb057604051631e4fbdf760e01b81525f600482015260240161074c565b610cb981611493565b50565b6001600160a01b038316610d1e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161074c565b6001600160a01b038216610d7f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161074c565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e435760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161074c565b6001600160a01b038216610ea55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161074c565b5f8111610f065760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161074c565b602d545f90600160a81b900460ff16610f8e576008546001600160a01b0385811691161480610f4257506008546001600160a01b038481169116145b610f8e5760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f742079657420656e61626c6564000000000000000000604482015260640161074c565b6008546001600160a01b03858116911614801590610fba57506008546001600160a01b03848116911614155b8015610fc85750601c544314155b156113265742601e55601754601a5403610ff957610fe86012600a611ce8565b601054610ff59190611cf6565b600f555b602d546001600160a01b0385811691161480156110245750602c546001600160a01b03848116911614155b801561104857506001600160a01b0383165f9081526003602052604090205460ff16155b1561116657600f548261106f856001600160a01b03165f9081526020819052604090205490565b6110799190611aba565b11156110c75760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161074c565b601b54601e541015611149576110ff60646110f9601754601a54116110ee576011546110f2565b6013545b85906114b5565b9061153a565b601a80549192505f61111083611d0d565b9190505550601754601a541015611144576001600160a01b0383165f908152600460205260409020805460ff191660011790555b611166565b61116360646110f9601554856114b590919063ffffffff16565b90505b602d546001600160a01b03848116911614801561119b57506001600160a01b0384165f9081526003602052604090205460ff16155b1561122457601b54601e541015611207576111d160646110f9601854601a54116111c7576012546110f2565b60145485906114b5565b9050601854601a541015611202576001600160a01b0384165f908152600460205260409020805460ff191660011790555b611224565b61122160646110f9601654856114b590919063ffffffff16565b90505b6001600160a01b0384165f9081526004602052604090205460ff16156112615761125e60646110f9601154856114b590919063ffffffff16565b90505b6001600160a01b0383165f9081526004602052604090205460ff161561129e5761129b60646110f9601154856114b590919063ffffffff16565b90505b305f90815260208190526040902054602d54600160a01b900460ff161580156112d45750602d546001600160a01b038581169116145b80156112e15750600d5481115b80156112f05750601954601a54115b156113245761131261130d8461130884600e5461157b565b61157b565b61158f565b47801561132257611322476116e8565b505b505b801561139657305f90815260208190526040902054611345908261171f565b305f8181526020818152604091829020939093555183815290916001600160a01b038716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b6001600160a01b0384165f908152602081905260409020546113b8908361177d565b6001600160a01b0385165f908152602081905260409020556113fb6113dd838361177d565b6001600160a01b0385165f908152602081905260409020549061171f565b6001600160a01b038085165f8181526020819052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611444858561177d565b60405190815260200160405180910390a350505050565b5f818484111561147e5760405162461bcd60e51b815260040161074c919061182d565b505f61148a8486611d25565b95945050505050565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b5f825f036114c457505f61067a565b5f6114cf8385611cf6565b9050826114dc8583611d38565b146115335760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161074c565b9392505050565b5f61153383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117be565b5f8183116115895782611533565b50919050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106115c2576115c2611d57565b6001600160a01b03928316602091820292909201810191909152602c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611619573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163d9190611d6b565b8160018151811061165057611650611d57565b6001600160a01b039283166020918202929092010152602c546116769130911684610cbc565b602c546001600160a01b031663791ac947835f84306116974261012c611aba565b6040518663ffffffff1660e01b81526004016116b7959493929190611d86565b5f604051808303815f87803b1580156116ce575f80fd5b505af11580156116e0573d5f803e3d5ffd5b505050505050565b602b546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610a03573d5f803e3d5ffd5b5f8061172b8385611aba565b9050838110156115335760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161074c565b5f61153383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061145b565b5f81836117de5760405162461bcd60e51b815260040161074c919061182d565b505f61148a8486611d38565b5f81518084525f5b8181101561180e576020818501810151868301820152016117f2565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61153360208301846117ea565b6001600160a01b0381168114610cb9575f80fd5b5f8060408385031215611864575f80fd5b823561186f8161183f565b946020939093013593505050565b5f805f6060848603121561188f575f80fd5b833561189a8161183f565b925060208401356118aa8161183f565b929592945050506040919091013590565b5f80604083850312156118cc575f80fd5b82356118d78161183f565b9150602083013580151581146118eb575f80fd5b809150509250929050565b5f60208284031215611906575f80fd5b81356115338161183f565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215611935575f80fd5b813567ffffffffffffffff8082111561194c575f80fd5b818401915084601f83011261195f575f80fd5b81358181111561197157611971611911565b604051601f8201601f19908116603f0116810190838211818310171561199957611999611911565b816040528281528760208487010111156119b1575f80fd5b826020860160208301375f928101602001929092525095945050505050565b5f6101608083526119e38184018f6117ea565b905082810360208401526119f7818e6117ea565b604084019c909c5250506001600160a01b03989098166060890152608088019690965260a087019490945260c086019290925260e08501526101008401526101208301526101409091015292915050565b5f8060408385031215611a59575f80fd5b8235611a648161183f565b915060208301356118eb8161183f565b600181811c90821680611a8857607f821691505b60208210810361158957634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561067a5761067a611aa6565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b601f821115611b47575f81815260208120601f850160051c81016020861015611b285750805b601f850160051c820191505b818110156116e057828155600101611b34565b505050565b815167ffffffffffffffff811115611b6657611b66611911565b611b7a81611b748454611a74565b84611b02565b602080601f831160018114611bad575f8415611b965750858301515b5f19600386901b1c1916600185901b1785556116e0565b5f85815260208120601f198616915b82811015611bdb57888601518255948401946001909101908401611bbc565b5085821015611bf857878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b600181815b80851115611c4257815f1904821115611c2857611c28611aa6565b80851615611c3557918102915b93841c9390800290611c0d565b509250929050565b5f82611c585750600161067a565b81611c6457505f61067a565b8160018114611c7a5760028114611c8457611ca0565b600191505061067a565b60ff841115611c9557611c95611aa6565b50506001821b61067a565b5060208310610133831016604e8410600b8410161715611cc3575081810a61067a565b611ccd8383611c08565b805f1904821115611ce057611ce0611aa6565b029392505050565b5f61153360ff841683611c4a565b808202811582820484141761067a5761067a611aa6565b5f60018201611d1e57611d1e611aa6565b5060010190565b8181038181111561067a5761067a611aa6565b5f82611d5257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d7b575f80fd5b81516115338161183f565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611dd45784516001600160a01b031683529383019391830191600101611daf565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205440eddd2c452a292036efdba9a4ecbe57b8d4a7767ec65f5d7a408f6f65c8ef64736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000052b7d2dcc80cd400000000000000000000000000000000000000000000000c7edcce7208500000000000000000000000000000000000000000000000000000409f9cbc7c4a04000000000000000000000000000000000000000000000000000000000000000000000000052443756c6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052443756c6f000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : tokenName (string): $Culo
Arg [1] : tokenSymbol (string): $Culo
Arg [2] : initialSupply (uint256): 1000000000000
Arg [3] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [4] : initialBuyTax (uint256): 3
Arg [5] : initialSellTax (uint256): 3
Arg [6] : maxBuyTax (uint256): 30
Arg [7] : maxSellTax (uint256): 30
Arg [8] : taxSwapThreshold (uint256): 100000000000000004764729344
Arg [9] : maxTaxSwap (uint256): 990000000000000022500528357376
Arg [10] : _maxWalletLimit (uint256): 19999999999999999166239473664
-----Encoded View---------------
15 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000160
Arg [1] : 00000000000000000000000000000000000000000000000000000000000001a0
Arg [2] : 000000000000000000000000000000000000000000000000000000e8d4a51000
Arg [3] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [7] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [8] : 00000000000000000000000000000000000000000052b7d2dcc80cd400000000
Arg [9] : 000000000000000000000000000000000000000c7edcce720850000000000000
Arg [10] : 0000000000000000000000000000000000000000409f9cbc7c4a040000000000
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [12] : 2443756c6f000000000000000000000000000000000000000000000000000000
Arg [13] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [14] : 2443756c6f000000000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.