Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 iPEPE
Holders
24
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.653228951 iPEPEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
iPEPE
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: MIT // MAY THE 4TH BE WITH YOU! // TWITTER https://twitter.com/iPepeERC20 // TELEGRAM https://t.me/iPepeERC20 pragma solidity 0.8.19; interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); 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); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed _owner, address indexed spender, uint256 value); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; function WETH() external pure returns (address); function factory() external pure returns (address); function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity); } abstract contract Auth { address internal _owner; constructor(address creatorOwner) { _owner = creatorOwner; } modifier onlyOwner() { require(msg.sender == _owner, "Only owner can call this"); _; } function owner() public view returns (address) { return _owner; } function transferOwnership(address payable newOwner) external onlyOwner { _owner = newOwner; emit OwnershipTransferred(newOwner); } function renounceOwnership() external onlyOwner { _owner = address(0); emit OwnershipTransferred(address(0)); } event OwnershipTransferred(address _owner); } contract iPEPE is IERC20, Auth { uint8 private constant _decimals = 9; uint256 private constant _totalSupply = 1_000_000_000 * (10**_decimals); string private constant _name = "Indepedence Pepe"; string private constant _symbol = "iPEPE"; uint8 private antiSnipeTax1 = 10; //sniper tax for first block uint8 private antiSnipeTax2 = 25; //sniper tax for second block uint8 private antiSnipeBlocks1 = 1; uint8 private antiSnipeBlocks2 = 1; uint256 private _antiMevBlock = 2; uint8 private _initialBuyTaxRate = 1; // starting buy tax (which ultimately goes to zero) uint8 private _initialSellTaxRate = 19; // starting sell tax (which ultimatley goes to zero) uint8 private _finalBuyTaxRate = 0; uint8 private _finalSellTaxRate = 0; uint256 private txCount; uint256 _reduceTaxAt = 150; //after 150 transactions, tax will be set to zero uint16 private _taxSharesMarketing = 70; uint16 private _taxSharesDevelopment = 30; uint16 private _taxSharesLP = 0; uint16 private _totalTaxShares = _taxSharesMarketing + _taxSharesDevelopment + _taxSharesLP; address payable private _walletMarketing = payable(0x47D31dB5F8403471EeD159c70aC538215fC3e59D); address payable private _walletDevelopment = payable(0x497576a0a4Cc7E77d2Af49f51b1F83DcBAfB3333); uint256 private _launchBlock; uint256 private _maxTxAmount = _totalSupply; uint256 private _maxWalletAmount = _totalSupply; uint256 private _taxSwapMin = _totalSupply * 10 / 100000; uint256 private _taxSwapMax = _totalSupply * 888 / 100000; uint256 private _swapLimit = _taxSwapMin * 59 * 100; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _noFees; mapping (address => bool) private _noLimits; address private _lpOwner; address private constant _swapRouterAddress = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); IUniswapV2Router02 private _primarySwapRouter = IUniswapV2Router02(_swapRouterAddress); address private _primaryLP; mapping (address => bool) private _isLP; bool private _tradingOpen; bool private _inTaxSwap = false; modifier lockTaxSwap { _inTaxSwap = true; _; _inTaxSwap = false; } event TokensBurned(address indexed burnedByWallet, uint256 tokenAmount); constructor() Auth(msg.sender) { _lpOwner = msg.sender; uint256 airdropFunds = (_totalSupply * 70) / 100; _balances[address(this)] = _totalSupply - airdropFunds; emit Transfer(address(0), address(this), _balances[address(this)]); _balances[_owner] = airdropFunds; emit Transfer(address(0), _owner, _balances[_owner]); _noFees[_owner] = true; _noFees[address(this)] = true; _noFees[_swapRouterAddress] = true; _noFees[_walletMarketing] = true; _noFees[_walletDevelopment] = true; _noLimits[_owner] = true; _noLimits[address(this)] = true; _noLimits[_swapRouterAddress] = true; _noLimits[_walletMarketing] = true; _noLimits[_walletDevelopment] = true; } receive() external payable {} function totalSupply() external pure override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function transfer(address recipient, uint256 amount) external override returns (bool) { require(_checkTradingOpen(msg.sender), "Trading not open"); return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { require(_checkTradingOpen(sender), "Trading not open"); if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount; } return _transferFrom(sender, recipient, amount); } function _approveRouter(uint256 _tokenAmount) internal { if ( _allowances[address(this)][_swapRouterAddress] < _tokenAmount ) { _allowances[address(this)][_swapRouterAddress] = type(uint256).max; emit Approval(address(this), _swapRouterAddress, type(uint256).max); } } function addLiquidity() external payable onlyOwner lockTaxSwap { require(_primaryLP == address(0), "LP exists"); require(!_tradingOpen, "trading is open"); require(msg.value > 0 || address(this).balance>0, "No ETH in contract or message"); require(_balances[address(this)]>0, "No tokens in contract"); _primaryLP = IUniswapV2Factory(_primarySwapRouter.factory()).createPair(address(this), _primarySwapRouter.WETH()); _addLiquidity(_balances[address(this)], address(this).balance, false); _isLP[_primaryLP] = true; _openTrading(); } function _addLiquidity(uint256 _tokenAmount, uint256 _ethAmountWei, bool autoburn) internal { address lpTokenRecipient = _lpOwner; if ( autoburn ) { lpTokenRecipient = address(0); } _approveRouter(_tokenAmount); _primarySwapRouter.addLiquidityETH{value: _ethAmountWei} ( address(this), _tokenAmount, 0, 0, lpTokenRecipient, block.timestamp ); } function _openTrading() internal { _maxTxAmount = _totalSupply * 2 / 100; _maxWalletAmount = _totalSupply * 2 / 100; _tradingOpen = true; _launchBlock = block.number; _antiMevBlock = _antiMevBlock + _launchBlock + antiSnipeBlocks1 + antiSnipeBlocks2; } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { require(sender != address(0), "No transfers from Zero wallet"); if (!_tradingOpen) { require(_noFees[sender] && _noLimits[sender], "Trading not open"); } if ( !_inTaxSwap && _isLP[recipient] ) { _swapTaxAndLiquify(); } if ( block.number < _antiMevBlock && block.number >= _launchBlock && _isLP[sender] ) { require(recipient == tx.origin, "MEV blocked"); } if ( sender != address(this) && recipient != address(this) && sender != _owner ) { require(_checkLimits(sender, recipient, amount), "TX exceeds limits"); } uint256 _taxAmount = _calculateTax(sender, recipient, amount); uint256 _transferAmount = amount - _taxAmount; txCount = txCount +1; _balances[sender] = _balances[sender] - amount; _swapLimit += _taxAmount; _balances[recipient] = _balances[recipient] + _transferAmount; emit Transfer(sender, recipient, _transferAmount); return true; } function _checkLimits(address sender, address recipient, uint256 transferAmount) internal view returns (bool) { bool limitCheckPassed = true; if ( _tradingOpen && !_noLimits[sender] && !_noLimits[recipient] ) { if ( transferAmount > _maxTxAmount ) { limitCheckPassed = false; } else if ( !_isLP[recipient] && (_balances[recipient] + transferAmount > _maxWalletAmount) ) { limitCheckPassed = false; } } return limitCheckPassed; } function _checkTradingOpen(address sender) private view returns (bool){ bool checkResult = false; if ( _tradingOpen ) { checkResult = true; } else if (_noFees[sender] && _noLimits[sender]) { checkResult = true; } return checkResult; } function _calculateTax(address sender, address recipient, uint256 amount) internal view returns (uint256) { uint256 taxAmount; if ( !_tradingOpen || _noFees[sender] || _noFees[recipient] ) { taxAmount = 0; } else if ( _isLP[sender] ) { if ( block.number >= _launchBlock + antiSnipeBlocks1 + antiSnipeBlocks2 ) { taxAmount = (amount * ((txCount >_reduceTaxAt)?_finalBuyTaxRate:_initialBuyTaxRate)) / 100; } else if ( block.number >= _launchBlock + antiSnipeBlocks1 ) { taxAmount = amount * antiSnipeTax2 / 100; } else if ( block.number >= _launchBlock) { taxAmount = amount * antiSnipeTax1 / 100; } } else if ( _isLP[recipient] ) { taxAmount = (amount * ((txCount >_reduceTaxAt)?_finalSellTaxRate:_initialSellTaxRate)) / 100; } return taxAmount; } function exemptFromFees(address wallet) external view returns (bool) { return _noFees[wallet]; } function exemptFromLimits(address wallet) external view returns (bool) { return _noLimits[wallet]; } function setExempt(address wallet, bool noFees, bool noLimits) external onlyOwner { if (noLimits || noFees) { require(!_isLP[wallet], "Cannot exempt LP"); } _noFees[ wallet ] = noFees; _noLimits[ wallet ] = noLimits; } function buyFee() external view returns(uint8) { return (txCount >_reduceTaxAt)?_finalBuyTaxRate:_initialBuyTaxRate; } function sellFee() external view returns(uint8) { return (txCount >_reduceTaxAt)?_finalSellTaxRate:_initialSellTaxRate; } function feeSplit() external view returns (uint16 marketing, uint16 development, uint16 LP ) { return ( _taxSharesMarketing, _taxSharesDevelopment, _taxSharesLP); } function setFees(uint8 buy, uint8 sell) external onlyOwner { require(buy + sell <= 80, "Roundtrip too high"); _initialBuyTaxRate = buy; _initialSellTaxRate = sell; } function setReduceFeeAtTx(uint256 newTxCount) external { require (msg.sender == _lpOwner,"you're not authorized"); require (newTxCount < 150, "must be less than 150 tx"); _reduceTaxAt = newTxCount; } function setFeeSplit(uint16 sharesAutoLP, uint16 sharesMarketing, uint16 sharesDevelopment) external onlyOwner { uint16 totalShares = sharesAutoLP + sharesMarketing + sharesDevelopment; require( totalShares > 0, "All cannot be 0"); _taxSharesLP = sharesAutoLP; _taxSharesMarketing = sharesMarketing; _taxSharesDevelopment = sharesDevelopment; _totalTaxShares = totalShares; } function marketingWallet() external view returns (address) { return _walletMarketing; } function developmentWallet() external view returns (address) { return _walletDevelopment; } function updateWallets(address marketing, address development, address LPtokens) external onlyOwner { require(!_isLP[marketing] && !_isLP[development] && !_isLP[LPtokens], "LP cannot be tax wallet"); _walletMarketing = payable(marketing); _walletDevelopment = payable(development); _lpOwner = LPtokens; _noFees[marketing] = true; _noLimits[marketing] = true; _noFees[development] = true; _noLimits[development] = true; } function maxWallet() external view returns (uint256) { return _maxWalletAmount; } function maxTransaction() external view returns (uint256) { return _maxTxAmount; } function swapAtMin() external view returns (uint256) { return _taxSwapMin; } function swapAtMax() external view returns (uint256) { return _taxSwapMax; } function setLimits(uint16 maxTransactionPermille, uint16 maxWalletPermille) external onlyOwner { uint256 newTxAmt = _totalSupply * maxTransactionPermille / 1000 + 1; require(newTxAmt >= _maxTxAmount, "tx too low"); _maxTxAmount = newTxAmt; uint256 newWalletAmt = _totalSupply * maxWalletPermille / 1000 + 1; require(newWalletAmt >= _maxWalletAmount, "wallet too low"); _maxWalletAmount = newWalletAmt; } function setTaxSwap(uint32 minValue, uint32 minDivider, uint32 maxValue, uint32 maxDivider) external onlyOwner { _taxSwapMin = _totalSupply * minValue / minDivider; _taxSwapMax = _totalSupply * maxValue / maxDivider; require(_taxSwapMax>=_taxSwapMin, "Min/Max error"); require(_taxSwapMax>_totalSupply / 100000, "Max too low"); require(_taxSwapMax<_totalSupply / 100, "Max too high"); } function _swapTaxAndLiquify() private lockTaxSwap { uint256 _taxTokensAvailable = _swapLimit; if ( _taxTokensAvailable >= _taxSwapMin && _tradingOpen ) { if ( _taxTokensAvailable >= _taxSwapMax ) { _taxTokensAvailable = _taxSwapMax; } uint256 _tokensForLP = _taxTokensAvailable * _taxSharesLP / _totalTaxShares / 2; uint256 _tokensToSwap = _taxTokensAvailable - _tokensForLP; if( _tokensToSwap > 10**_decimals ) { uint256 _ethPreSwap = address(this).balance; _balances[address(this)] += _taxTokensAvailable; _swapTaxTokensForEth(_tokensToSwap); _swapLimit -= _taxTokensAvailable; uint256 _ethSwapped = address(this).balance - _ethPreSwap; if ( _taxSharesLP > 0 ) { uint256 _ethWeiAmount = _ethSwapped * _taxSharesLP / _totalTaxShares ; _approveRouter(_tokensForLP); _addLiquidity(_tokensForLP, _ethWeiAmount, false); } } uint256 _contractETHBalance = address(this).balance; if(_contractETHBalance > 0) { _distributeTaxEth(_contractETHBalance); } } } function _swapTaxTokensForEth(uint256 tokenAmount) private { _approveRouter(tokenAmount); address[] memory path = new address[](2); path[0] = address(this); path[1] = _primarySwapRouter.WETH(); _primarySwapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp); } function _distributeTaxEth(uint256 amount) private { uint16 _taxShareTotal = _taxSharesMarketing + _taxSharesDevelopment; if (_taxShareTotal > 0) { uint256 marketingAmount = amount * _taxSharesMarketing / _taxShareTotal; uint256 developmentAmount = amount * _taxSharesDevelopment / _taxShareTotal; if ( marketingAmount > 0 ) { _walletMarketing.transfer(marketingAmount); } if ( developmentAmount > 0 ) { _walletDevelopment.transfer(developmentAmount); } } } function manualTaxSwapAndSend(uint8 swapTokenPercent, bool sendEth) external onlyOwner lockTaxSwap { require(swapTokenPercent <= 100, "Cannot swap more than 100%"); uint256 tokensToSwap = _balances[address(this)] * swapTokenPercent / 100; if (tokensToSwap > 10 ** _decimals) { _swapTaxTokensForEth(tokensToSwap); } if (sendEth) { uint256 ethBalance = address(this).balance; require(ethBalance > 0, "No ETH"); _distributeTaxEth(address(this).balance); } } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
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":false,"internalType":"address","name":"_owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burnedByWallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"TokensBurned","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":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"buyFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"developmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"exemptFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"exemptFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSplit","outputs":[{"internalType":"uint16","name":"marketing","type":"uint16"},{"internalType":"uint16","name":"development","type":"uint16"},{"internalType":"uint16","name":"LP","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"swapTokenPercent","type":"uint8"},{"internalType":"bool","name":"sendEth","type":"bool"}],"name":"manualTaxSwapAndSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"sellFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"noFees","type":"bool"},{"internalType":"bool","name":"noLimits","type":"bool"}],"name":"setExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"sharesAutoLP","type":"uint16"},{"internalType":"uint16","name":"sharesMarketing","type":"uint16"},{"internalType":"uint16","name":"sharesDevelopment","type":"uint16"}],"name":"setFeeSplit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"buy","type":"uint8"},{"internalType":"uint8","name":"sell","type":"uint8"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"maxTransactionPermille","type":"uint16"},{"internalType":"uint16","name":"maxWalletPermille","type":"uint16"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTxCount","type":"uint256"}],"name":"setReduceFeeAtTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"minValue","type":"uint32"},{"internalType":"uint32","name":"minDivider","type":"uint32"},{"internalType":"uint32","name":"maxValue","type":"uint32"},{"internalType":"uint32","name":"maxDivider","type":"uint32"}],"name":"setTaxSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAtMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAtMin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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 payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketing","type":"address"},{"internalType":"address","name":"development","type":"address"},{"internalType":"address","name":"LPtokens","type":"address"}],"name":"updateWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000805462808c8560a11b63ffffffff60a01b1990911617905560026001819055805463ffffffff191661130117905560966004556005805465ffffffffffff1916621e00461790819055640100000000810461ffff908116916200007391620100009091041660466200044c565b6200007f91906200044c565b600580547b47d31db5f8403471eed159c70ac538215fc3e59d0000000000000000600160401b600160e01b031961ffff9490941666010000000000000293909316600160301b600160e01b031990911617919091179055600680546001600160a01b03191673497576a0a4cc7e77d2af49f51b1f83dcbafb33331790556200010a6009600a62000570565b6200011a90633b9aca0062000588565b6008556200012b6009600a62000570565b6200013b90633b9aca0062000588565b600955620186a06009600a62000152919062000570565b6200016290633b9aca0062000588565b6200016f90600a62000588565b6200017b9190620005a2565b600a55620186a06009600a62000192919062000570565b620001a290633b9aca0062000588565b620001b09061037862000588565b620001bc9190620005a2565b600b55600a54620001cf90603b62000588565b620001dc90606462000588565b600c55601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556015805461ff00191690553480156200021d57600080fd5b5060008054336001600160a01b0319918216811783556011805490921617905560646200024d6009600a62000570565b6200025d90633b9aca0062000588565b6200026a90604662000588565b620002769190620005a2565b905080620002876009600a62000570565b6200029790633b9aca0062000588565b620002a39190620005c5565b306000818152600d60209081526040808320859055519384529192909160008051602062002d7b833981519152910160405180910390a3600080546001600160a01b039081168252600d602090815260408084208590558354909216808452828420549251928352929160008051602062002d7b833981519152910160405180910390a350600080546001600160a01b039081168252600f602090815260408084208054600160ff1991821681179092553080875283872080548316841790557f7e98db1b893d503d049bbf1a3858119b9172e4b74989a91dfee4165dd9ce42a880548316841790556005805468010000000000000000908190048816895285892080548516861790556006805489168a52868a208054861687179055895489168a526010909752858920805485168617905591885284882080548416851790557feb1861b62122c39d7846b597c3c20bac261ab9032a26ee7d64c4c7f875977df880548416851790555404851686528286208054821683179055925490931684529092208054909216179055620005db565b634e487b7160e01b600052601160045260246000fd5b61ffff8181168382160190808211156200046a576200046a62000436565b5092915050565b600181815b80851115620004b257816000190482111562000496576200049662000436565b80851615620004a457918102915b93841c939080029062000476565b509250929050565b600082620004cb575060016200056a565b81620004da575060006200056a565b8160018114620004f35760028114620004fe576200051e565b60019150506200056a565b60ff84111562000512576200051262000436565b50506001821b6200056a565b5060208310610133831016604e8410600b841016171562000543575081810a6200056a565b6200054f838362000471565b806000190482111562000566576200056662000436565b0290505b92915050565b60006200058160ff841683620004ba565b9392505050565b80820281158282048414176200056a576200056a62000436565b600082620005c057634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156200056a576200056a62000436565b61279080620005eb6000396000f3fe6080604052600436106101e75760003560e01c806370a0823111610102578063a9059cbb11610095578063de3cb85d11610064578063de3cb85d14610629578063e8078d9414610649578063f2fde38b14610651578063f8b45b051461067157600080fd5b8063a9059cbb14610590578063c04a5414146105b0578063c3f70b52146105ce578063dd62ed3e146105e357600080fd5b80638d3e6e40116100d15780638d3e6e40146104eb5780638da5cb5b1461052457806395d89b4114610542578063a6097b0a1461057057600080fd5b806370a0823114610447578063715018a61461047d57806375f0a8741461049257806376a39c28146104cb57600080fd5b8063368f48001161017a5780634fcd2446116101495780634fcd24461461038d57806357ff135a146103ad5780635a90a49e146103cd5780636373ea691461040657600080fd5b8063368f48001461032e57806346b898341461034e57806347062402146103635780634d4ce9351461037857600080fd5b806323b872dd116101b657806323b872dd146102b35780632b14ca56146102d35780632fb528ba146102fa578063313ce5671461031a57600080fd5b806306fdde03146101f3578063095ea7b31461023e578063147c9f6d1461026e57806318160ddd1461029057600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b5060408051808201909152601081526f496e6465706564656e6365205065706560801b60208201525b6040516102359190612154565b60405180910390f35b34801561024a57600080fd5b5061025e6102593660046121b7565b610686565b6040519015158152602001610235565b34801561027a57600080fd5b5061028e6102893660046121e3565b6106f3565b005b34801561029c57600080fd5b506102a5610887565b604051908152602001610235565b3480156102bf57600080fd5b5061025e6102ce36600461222e565b6108a8565b3480156102df57600080fd5b506102e8610962565b60405160ff9091168152602001610235565b34801561030657600080fd5b5061028e610315366004612295565b61098f565b34801561032657600080fd5b5060096102e8565b34801561033a57600080fd5b5061028e6103493660046122da565b610abd565b34801561035a57600080fd5b50600a546102a5565b34801561036f57600080fd5b506102e8610c00565b34801561038457600080fd5b50600b546102a5565b34801561039957600080fd5b5061028e6103a8366004612304565b610c27565b3480156103b957600080fd5b5061028e6103c836600461232e565b610cc7565b3480156103d957600080fd5b5061025e6103e8366004612373565b6001600160a01b03166000908152600f602052604090205460ff1690565b34801561041257600080fd5b506005546040805161ffff80841682526201000084048116602083015264010000000090930490921690820152606001610235565b34801561045357600080fd5b506102a5610462366004612373565b6001600160a01b03166000908152600d602052604090205490565b34801561048957600080fd5b5061028e610d9d565b34801561049e57600080fd5b50600554600160401b90046001600160a01b03165b6040516001600160a01b039091168152602001610235565b3480156104d757600080fd5b5061028e6104e6366004612390565b610e0c565b3480156104f757600080fd5b5061025e610506366004612373565b6001600160a01b031660009081526010602052604090205460ff1690565b34801561053057600080fd5b506000546001600160a01b03166104b3565b34801561054e57600080fd5b50604080518082019091526005815264695045504560d81b6020820152610228565b34801561057c57600080fd5b5061028e61058b3660046123de565b610eef565b34801561059c57600080fd5b5061025e6105ab3660046121b7565b6110ad565b3480156105bc57600080fd5b506006546001600160a01b03166104b3565b3480156105da57600080fd5b506008546102a5565b3480156105ef57600080fd5b506102a56105fe366004612432565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b34801561063557600080fd5b5061028e61064436600461246b565b6110e6565b61028e61118d565b34801561065d57600080fd5b5061028e61066c366004612373565b6114e2565b34801561067d57600080fd5b506009546102a5565b336000818152600e602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106e19086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146107265760405162461bcd60e51b815260040161071d90612484565b60405180910390fd5b6001600160a01b03831660009081526014602052604090205460ff1615801561076857506001600160a01b03821660009081526014602052604090205460ff16155b801561078d57506001600160a01b03811660009081526014602052604090205460ff16155b6107d95760405162461bcd60e51b815260206004820152601760248201527f4c502063616e6e6f74206265207461782077616c6c6574000000000000000000604482015260640161071d565b6005805468010000000000000000600160e01b031916600160401b6001600160a01b0395861690810291909117909155600680546001600160a01b03199081169486169485179091556011805490911692909416919091179092556000918252600f60208181526040808520805460ff199081166001908117909255601080855283882080548316841790559587529383528186208054851682179055939091529092208054909216179055565b60006108956009600a6125b5565b6108a390633b9aca006125c4565b905090565b60006108b384611560565b6108cf5760405162461bcd60e51b815260040161071d906125db565b6001600160a01b0384166000908152600e602090815260408083203384529091529020546000191461094f576001600160a01b0384166000908152600e6020908152604080832033845290915290205461092a908390612605565b6001600160a01b0385166000908152600e602090815260408083203384529091529020555b61095a8484846115c6565b949350505050565b60006004546003541161097e5750600254610100900460ff1690565b506002546301000000900460ff1690565b6000546001600160a01b031633146109b95760405162461bcd60e51b815260040161071d90612484565b6015805461ff001916610100179055606460ff83161115610a1c5760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742073776170206d6f7265207468616e2031303025000000000000604482015260640161071d565b306000908152600d6020526040812054606490610a3d9060ff8616906125c4565b610a479190612618565b9050610a556009600a6125b5565b811115610a6557610a65816118e1565b8115610aad574780610aa25760405162461bcd60e51b815260206004820152600660248201526509cde408aa8960d31b604482015260640161071d565b610aab47611a2b565b505b50506015805461ff001916905550565b6000546001600160a01b03163314610ae75760405162461bcd60e51b815260040161071d90612484565b60006103e861ffff8416610afd6009600a6125b5565b610b0b90633b9aca006125c4565b610b1591906125c4565b610b1f9190612618565b610b2a90600161263a565b9050600854811015610b6b5760405162461bcd60e51b815260206004820152600a602482015269747820746f6f206c6f7760b01b604482015260640161071d565b600881905560006103e861ffff8416610b866009600a6125b5565b610b9490633b9aca006125c4565b610b9e91906125c4565b610ba89190612618565b610bb390600161263a565b9050600954811015610bf85760405162461bcd60e51b815260206004820152600e60248201526d77616c6c657420746f6f206c6f7760901b604482015260640161071d565b600955505050565b600060045460035411610c17575060025460ff1690565b5060025462010000900460ff1690565b6000546001600160a01b03163314610c515760405162461bcd60e51b815260040161071d90612484565b6050610c5d828461264d565b60ff161115610ca35760405162461bcd60e51b81526020600482015260126024820152710a4deeadcc8e8e4d2e040e8dede40d0d2ced60731b604482015260640161071d565b6002805460ff9283166101000261ffff199091169290931691909117919091179055565b6000546001600160a01b03163314610cf15760405162461bcd60e51b815260040161071d90612484565b8080610cfa5750815b15610d5b576001600160a01b03831660009081526014602052604090205460ff1615610d5b5760405162461bcd60e51b815260206004820152601060248201526f043616e6e6f74206578656d7074204c560841b604482015260640161071d565b6001600160a01b039092166000908152600f60209081526040808320805494151560ff1995861617905560109091529020805492151592909116919091179055565b6000546001600160a01b03163314610dc75760405162461bcd60e51b815260040161071d90612484565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b03163314610e365760405162461bcd60e51b815260040161071d90612484565b600081610e438486612666565b610e4d9190612666565b905060008161ffff1611610e955760405162461bcd60e51b815260206004820152600f60248201526e0416c6c2063616e6e6f74206265203608c1b604482015260640161071d565b6005805461ffff928316600160301b0267ffff00000000000019948416620100000263ffffffff19978516640100000000029790971665ffffffffffff199092169190911794909216939093179390931716919091179055565b6000546001600160a01b03163314610f195760405162461bcd60e51b815260040161071d90612484565b63ffffffff808416908516610f306009600a6125b5565b610f3e90633b9aca006125c4565b610f4891906125c4565b610f529190612618565b600a819055508063ffffffff168263ffffffff166009600a610f7491906125b5565b610f8290633b9aca006125c4565b610f8c91906125c4565b610f969190612618565b600b819055600a541115610fdc5760405162461bcd60e51b815260206004820152600d60248201526c26b4b717a6b0bc1032b93937b960991b604482015260640161071d565b620186a0610fec6009600a6125b5565b610ffa90633b9aca006125c4565b6110049190612618565b600b54116110425760405162461bcd60e51b815260206004820152600b60248201526a4d617820746f6f206c6f7760a81b604482015260640161071d565b60646110506009600a6125b5565b61105e90633b9aca006125c4565b6110689190612618565b600b54106110a75760405162461bcd60e51b815260206004820152600c60248201526b09ac2f040e8dede40d0d2ced60a31b604482015260640161071d565b50505050565b60006110b833611560565b6110d45760405162461bcd60e51b815260040161071d906125db565b6110df3384846115c6565b9392505050565b6011546001600160a01b031633146111385760405162461bcd60e51b81526020600482015260156024820152741e5bdd49dc99481b9bdd08185d5d1a1bdc9a5e9959605a1b604482015260640161071d565b609681106111885760405162461bcd60e51b815260206004820152601860248201527f6d757374206265206c657373207468616e203135302074780000000000000000604482015260640161071d565b600455565b6000546001600160a01b031633146111b75760405162461bcd60e51b815260040161071d90612484565b6015805461ff0019166101001790556013546001600160a01b03161561120b5760405162461bcd60e51b81526020600482015260096024820152684c502065786973747360b81b604482015260640161071d565b60155460ff16156112505760405162461bcd60e51b815260206004820152600f60248201526e3a3930b234b7339034b99037b832b760891b604482015260640161071d565b600034118061125f5750600047115b6112ab5760405162461bcd60e51b815260206004820152601d60248201527f4e6f2045544820696e20636f6e7472616374206f72206d657373616765000000604482015260640161071d565b306000908152600d60205260409020546112ff5760405162461bcd60e51b8152602060048201526015602482015274139bc81d1bdad95b9cc81a5b8818dbdb9d1c9858dd605a1b604482015260640161071d565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611352573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113769190612688565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fc9190612688565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611449573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146d9190612688565b601380546001600160a01b0319166001600160a01b0392909216919091179055306000908152600d60205260408120546114a8914790611b33565b6013546001600160a01b03166000908152601460205260409020805460ff191660011790556114d5611bee565b6015805461ff0019169055565b6000546001600160a01b0316331461150c5760405162461bcd60e51b815260040161071d90612484565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b601554600090819060ff1615611578575060016106ed565b6001600160a01b0383166000908152600f602052604090205460ff1680156115b857506001600160a01b03831660009081526010602052604090205460ff165b156106ed5750600192915050565b60006001600160a01b03841661161e5760405162461bcd60e51b815260206004820152601d60248201527f4e6f207472616e73666572732066726f6d205a65726f2077616c6c6574000000604482015260640161071d565b60155460ff16611684576001600160a01b0384166000908152600f602052604090205460ff16801561166857506001600160a01b03841660009081526010602052604090205460ff165b6116845760405162461bcd60e51b815260040161071d906125db565b601554610100900460ff161580156116b457506001600160a01b03831660009081526014602052604090205460ff165b156116c1576116c1611ca9565b600154431080156116d457506007544310155b80156116f857506001600160a01b03841660009081526014602052604090205460ff165b15611743576001600160a01b03831632146117435760405162461bcd60e51b815260206004820152600b60248201526a13515588189b1bd8dad95960aa1b604482015260640161071d565b6001600160a01b038416301480159061176557506001600160a01b0383163014155b801561177f57506000546001600160a01b03858116911614155b156117cf5761178f848484611e1d565b6117cf5760405162461bcd60e51b815260206004820152601160248201527054582065786365656473206c696d69747360781b604482015260640161071d565b60006117dc858585611ee7565b905060006117ea8285612605565b905060035460016117fb919061263a565b6003556001600160a01b0386166000908152600d6020526040902054611822908590612605565b6001600160a01b0387166000908152600d6020526040812091909155600c805484929061185090849061263a565b90915550506001600160a01b0385166000908152600d602052604090205461187990829061263a565b6001600160a01b038087166000818152600d602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118cd9085815260200190565b60405180910390a350600195945050505050565b6118ea816120af565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061191f5761191f6126a5565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199c9190612688565b816001815181106119af576119af6126a5565b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac947906119f59085906000908690309042906004016126bb565b600060405180830381600087803b158015611a0f57600080fd5b505af1158015611a23573d6000803e3d6000fd5b505050505050565b600554600090611a479061ffff62010000820481169116612666565b905061ffff811615611b2f5760055460009061ffff80841691611a6b9116856125c4565b611a759190612618565b60055490915060009061ffff80851691611a97916201000090910416866125c4565b611aa19190612618565b90508115611aeb57600554604051600160401b9091046001600160a01b0316906108fc8415029084906000818181858888f19350505050158015611ae9573d6000803e3d6000fd5b505b80156110a7576006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611b2b573d6000803e3d6000fd5b5050505b5050565b6011546001600160a01b03168115611b49575060005b611b52846120af565b60125460405163f305d71960e01b81523060048201526024810186905260006044820181905260648201526001600160a01b0383811660848301524260a48301529091169063f305d71990859060c40160606040518083038185885af1158015611bc0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611be5919061272c565b50505050505050565b6064611bfc6009600a6125b5565b611c0a90633b9aca006125c4565b611c159060026125c4565b611c1f9190612618565b6008556064611c306009600a6125b5565b611c3e90633b9aca006125c4565b611c499060026125c4565b611c539190612618565b6009556015805460ff191660019081179091554360078190556000549154600160b81b830460ff90811693600160b01b90041691611c909161263a565b611c9a919061263a565b611ca4919061263a565b600155565b6015805461ff001916610100179055600c54600a548110801590611ccf575060155460ff165b15611e0f57600b548110611ce25750600b545b60055460009060029061ffff600160301b8204811691611d0c9164010000000090910416856125c4565b611d169190612618565b611d209190612618565b90506000611d2e8284612605565b9050611d3c6009600a6125b5565b811115611dfb57306000908152600d6020526040812080544792869291611d6490849061263a565b90915550611d739050826118e1565b83600c6000828254611d859190612605565b9091555060009050611d978247612605565b600554909150640100000000900461ffff1615611df85760055460009061ffff600160301b8204811691611dd59164010000000090910416846125c4565b611ddf9190612618565b9050611dea856120af565b611df685826000611b33565b505b50505b478015611e0b57611e0b81611a2b565b5050505b506015805461ff0019169055565b60155460009060019060ff168015611e4e57506001600160a01b03851660009081526010602052604090205460ff16155b8015611e7357506001600160a01b03841660009081526010602052604090205460ff16155b1561095a57600854831115611e8a5750600061095a565b6001600160a01b03841660009081526014602052604090205460ff16158015611ed757506009546001600160a01b0385166000908152600d6020526040902054611ed590859061263a565b115b1561095a57506000949350505050565b601554600090819060ff161580611f1657506001600160a01b0385166000908152600f602052604090205460ff165b80611f3957506001600160a01b0384166000908152600f602052604090205460ff165b15611f465750600061095a565b6001600160a01b03851660009081526014602052604090205460ff16156120435760005460075460ff600160b81b8304811692611f8e92600160b01b9091049091169061263a565b611f98919061263a565b4310611fe157606460045460035411611fb65760025460ff16611fc3565b60025462010000900460ff165b611fd09060ff16856125c4565b611fda9190612618565b905061095a565b600054600754611ffb91600160b01b900460ff169061263a565b431061201b57600054606490611fd090600160a81b900460ff16856125c4565b600754431061203e57600054606490611fd090600160a01b900460ff16856125c4565b61095a565b6001600160a01b03841660009081526014602052604090205460ff161561095a5760646004546003541161208157600254610100900460ff1661208f565b6002546301000000900460ff165b61209c9060ff16856125c4565b6120a69190612618565b95945050505050565b306000908152600e60209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d845290915290205481111561215157306000818152600e60209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d808552908352928190206000199081905590519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b50565b600060208083528351808285015260005b8181101561218157858101830151858201604001528201612165565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461215157600080fd5b600080604083850312156121ca57600080fd5b82356121d5816121a2565b946020939093013593505050565b6000806000606084860312156121f857600080fd5b8335612203816121a2565b92506020840135612213816121a2565b91506040840135612223816121a2565b809150509250925092565b60008060006060848603121561224357600080fd5b833561224e816121a2565b9250602084013561225e816121a2565b929592945050506040919091013590565b803560ff8116811461228057600080fd5b919050565b8035801515811461228057600080fd5b600080604083850312156122a857600080fd5b6122b18361226f565b91506122bf60208401612285565b90509250929050565b803561ffff8116811461228057600080fd5b600080604083850312156122ed57600080fd5b6122f6836122c8565b91506122bf602084016122c8565b6000806040838503121561231757600080fd5b6123208361226f565b91506122bf6020840161226f565b60008060006060848603121561234357600080fd5b833561234e816121a2565b925061235c60208501612285565b915061236a60408501612285565b90509250925092565b60006020828403121561238557600080fd5b81356110df816121a2565b6000806000606084860312156123a557600080fd5b6123ae846122c8565b92506123bc602085016122c8565b915061236a604085016122c8565b803563ffffffff8116811461228057600080fd5b600080600080608085870312156123f457600080fd5b6123fd856123ca565b935061240b602086016123ca565b9250612419604086016123ca565b9150612427606086016123ca565b905092959194509250565b6000806040838503121561244557600080fd5b8235612450816121a2565b91506020830135612460816121a2565b809150509250929050565b60006020828403121561247d57600080fd5b5035919050565b60208082526018908201527f4f6e6c79206f776e65722063616e2063616c6c20746869730000000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561250c5781600019048211156124f2576124f26124bb565b808516156124ff57918102915b93841c93908002906124d6565b509250929050565b600082612523575060016106ed565b81612530575060006106ed565b816001811461254657600281146125505761256c565b60019150506106ed565b60ff841115612561576125616124bb565b50506001821b6106ed565b5060208310610133831016604e8410600b841016171561258f575081810a6106ed565b61259983836124d1565b80600019048211156125ad576125ad6124bb565b029392505050565b60006110df60ff841683612514565b80820281158282048414176106ed576106ed6124bb565b60208082526010908201526f2a3930b234b733903737ba1037b832b760811b604082015260600190565b818103818111156106ed576106ed6124bb565b60008261263557634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156106ed576106ed6124bb565b60ff81811683821601908111156106ed576106ed6124bb565b61ffff818116838216019080821115612681576126816124bb565b5092915050565b60006020828403121561269a57600080fd5b81516110df816121a2565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561270b5784516001600160a01b0316835293830193918301916001016126e6565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561274157600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212205e38835ca517fbd1dde1a6247b9a62fe7dab94eb7d0bf6c7ff76802b227e317264736f6c63430008130033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Deployed Bytecode
0x6080604052600436106101e75760003560e01c806370a0823111610102578063a9059cbb11610095578063de3cb85d11610064578063de3cb85d14610629578063e8078d9414610649578063f2fde38b14610651578063f8b45b051461067157600080fd5b8063a9059cbb14610590578063c04a5414146105b0578063c3f70b52146105ce578063dd62ed3e146105e357600080fd5b80638d3e6e40116100d15780638d3e6e40146104eb5780638da5cb5b1461052457806395d89b4114610542578063a6097b0a1461057057600080fd5b806370a0823114610447578063715018a61461047d57806375f0a8741461049257806376a39c28146104cb57600080fd5b8063368f48001161017a5780634fcd2446116101495780634fcd24461461038d57806357ff135a146103ad5780635a90a49e146103cd5780636373ea691461040657600080fd5b8063368f48001461032e57806346b898341461034e57806347062402146103635780634d4ce9351461037857600080fd5b806323b872dd116101b657806323b872dd146102b35780632b14ca56146102d35780632fb528ba146102fa578063313ce5671461031a57600080fd5b806306fdde03146101f3578063095ea7b31461023e578063147c9f6d1461026e57806318160ddd1461029057600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b5060408051808201909152601081526f496e6465706564656e6365205065706560801b60208201525b6040516102359190612154565b60405180910390f35b34801561024a57600080fd5b5061025e6102593660046121b7565b610686565b6040519015158152602001610235565b34801561027a57600080fd5b5061028e6102893660046121e3565b6106f3565b005b34801561029c57600080fd5b506102a5610887565b604051908152602001610235565b3480156102bf57600080fd5b5061025e6102ce36600461222e565b6108a8565b3480156102df57600080fd5b506102e8610962565b60405160ff9091168152602001610235565b34801561030657600080fd5b5061028e610315366004612295565b61098f565b34801561032657600080fd5b5060096102e8565b34801561033a57600080fd5b5061028e6103493660046122da565b610abd565b34801561035a57600080fd5b50600a546102a5565b34801561036f57600080fd5b506102e8610c00565b34801561038457600080fd5b50600b546102a5565b34801561039957600080fd5b5061028e6103a8366004612304565b610c27565b3480156103b957600080fd5b5061028e6103c836600461232e565b610cc7565b3480156103d957600080fd5b5061025e6103e8366004612373565b6001600160a01b03166000908152600f602052604090205460ff1690565b34801561041257600080fd5b506005546040805161ffff80841682526201000084048116602083015264010000000090930490921690820152606001610235565b34801561045357600080fd5b506102a5610462366004612373565b6001600160a01b03166000908152600d602052604090205490565b34801561048957600080fd5b5061028e610d9d565b34801561049e57600080fd5b50600554600160401b90046001600160a01b03165b6040516001600160a01b039091168152602001610235565b3480156104d757600080fd5b5061028e6104e6366004612390565b610e0c565b3480156104f757600080fd5b5061025e610506366004612373565b6001600160a01b031660009081526010602052604090205460ff1690565b34801561053057600080fd5b506000546001600160a01b03166104b3565b34801561054e57600080fd5b50604080518082019091526005815264695045504560d81b6020820152610228565b34801561057c57600080fd5b5061028e61058b3660046123de565b610eef565b34801561059c57600080fd5b5061025e6105ab3660046121b7565b6110ad565b3480156105bc57600080fd5b506006546001600160a01b03166104b3565b3480156105da57600080fd5b506008546102a5565b3480156105ef57600080fd5b506102a56105fe366004612432565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b34801561063557600080fd5b5061028e61064436600461246b565b6110e6565b61028e61118d565b34801561065d57600080fd5b5061028e61066c366004612373565b6114e2565b34801561067d57600080fd5b506009546102a5565b336000818152600e602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106e19086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146107265760405162461bcd60e51b815260040161071d90612484565b60405180910390fd5b6001600160a01b03831660009081526014602052604090205460ff1615801561076857506001600160a01b03821660009081526014602052604090205460ff16155b801561078d57506001600160a01b03811660009081526014602052604090205460ff16155b6107d95760405162461bcd60e51b815260206004820152601760248201527f4c502063616e6e6f74206265207461782077616c6c6574000000000000000000604482015260640161071d565b6005805468010000000000000000600160e01b031916600160401b6001600160a01b0395861690810291909117909155600680546001600160a01b03199081169486169485179091556011805490911692909416919091179092556000918252600f60208181526040808520805460ff199081166001908117909255601080855283882080548316841790559587529383528186208054851682179055939091529092208054909216179055565b60006108956009600a6125b5565b6108a390633b9aca006125c4565b905090565b60006108b384611560565b6108cf5760405162461bcd60e51b815260040161071d906125db565b6001600160a01b0384166000908152600e602090815260408083203384529091529020546000191461094f576001600160a01b0384166000908152600e6020908152604080832033845290915290205461092a908390612605565b6001600160a01b0385166000908152600e602090815260408083203384529091529020555b61095a8484846115c6565b949350505050565b60006004546003541161097e5750600254610100900460ff1690565b506002546301000000900460ff1690565b6000546001600160a01b031633146109b95760405162461bcd60e51b815260040161071d90612484565b6015805461ff001916610100179055606460ff83161115610a1c5760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742073776170206d6f7265207468616e2031303025000000000000604482015260640161071d565b306000908152600d6020526040812054606490610a3d9060ff8616906125c4565b610a479190612618565b9050610a556009600a6125b5565b811115610a6557610a65816118e1565b8115610aad574780610aa25760405162461bcd60e51b815260206004820152600660248201526509cde408aa8960d31b604482015260640161071d565b610aab47611a2b565b505b50506015805461ff001916905550565b6000546001600160a01b03163314610ae75760405162461bcd60e51b815260040161071d90612484565b60006103e861ffff8416610afd6009600a6125b5565b610b0b90633b9aca006125c4565b610b1591906125c4565b610b1f9190612618565b610b2a90600161263a565b9050600854811015610b6b5760405162461bcd60e51b815260206004820152600a602482015269747820746f6f206c6f7760b01b604482015260640161071d565b600881905560006103e861ffff8416610b866009600a6125b5565b610b9490633b9aca006125c4565b610b9e91906125c4565b610ba89190612618565b610bb390600161263a565b9050600954811015610bf85760405162461bcd60e51b815260206004820152600e60248201526d77616c6c657420746f6f206c6f7760901b604482015260640161071d565b600955505050565b600060045460035411610c17575060025460ff1690565b5060025462010000900460ff1690565b6000546001600160a01b03163314610c515760405162461bcd60e51b815260040161071d90612484565b6050610c5d828461264d565b60ff161115610ca35760405162461bcd60e51b81526020600482015260126024820152710a4deeadcc8e8e4d2e040e8dede40d0d2ced60731b604482015260640161071d565b6002805460ff9283166101000261ffff199091169290931691909117919091179055565b6000546001600160a01b03163314610cf15760405162461bcd60e51b815260040161071d90612484565b8080610cfa5750815b15610d5b576001600160a01b03831660009081526014602052604090205460ff1615610d5b5760405162461bcd60e51b815260206004820152601060248201526f043616e6e6f74206578656d7074204c560841b604482015260640161071d565b6001600160a01b039092166000908152600f60209081526040808320805494151560ff1995861617905560109091529020805492151592909116919091179055565b6000546001600160a01b03163314610dc75760405162461bcd60e51b815260040161071d90612484565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b03163314610e365760405162461bcd60e51b815260040161071d90612484565b600081610e438486612666565b610e4d9190612666565b905060008161ffff1611610e955760405162461bcd60e51b815260206004820152600f60248201526e0416c6c2063616e6e6f74206265203608c1b604482015260640161071d565b6005805461ffff928316600160301b0267ffff00000000000019948416620100000263ffffffff19978516640100000000029790971665ffffffffffff199092169190911794909216939093179390931716919091179055565b6000546001600160a01b03163314610f195760405162461bcd60e51b815260040161071d90612484565b63ffffffff808416908516610f306009600a6125b5565b610f3e90633b9aca006125c4565b610f4891906125c4565b610f529190612618565b600a819055508063ffffffff168263ffffffff166009600a610f7491906125b5565b610f8290633b9aca006125c4565b610f8c91906125c4565b610f969190612618565b600b819055600a541115610fdc5760405162461bcd60e51b815260206004820152600d60248201526c26b4b717a6b0bc1032b93937b960991b604482015260640161071d565b620186a0610fec6009600a6125b5565b610ffa90633b9aca006125c4565b6110049190612618565b600b54116110425760405162461bcd60e51b815260206004820152600b60248201526a4d617820746f6f206c6f7760a81b604482015260640161071d565b60646110506009600a6125b5565b61105e90633b9aca006125c4565b6110689190612618565b600b54106110a75760405162461bcd60e51b815260206004820152600c60248201526b09ac2f040e8dede40d0d2ced60a31b604482015260640161071d565b50505050565b60006110b833611560565b6110d45760405162461bcd60e51b815260040161071d906125db565b6110df3384846115c6565b9392505050565b6011546001600160a01b031633146111385760405162461bcd60e51b81526020600482015260156024820152741e5bdd49dc99481b9bdd08185d5d1a1bdc9a5e9959605a1b604482015260640161071d565b609681106111885760405162461bcd60e51b815260206004820152601860248201527f6d757374206265206c657373207468616e203135302074780000000000000000604482015260640161071d565b600455565b6000546001600160a01b031633146111b75760405162461bcd60e51b815260040161071d90612484565b6015805461ff0019166101001790556013546001600160a01b03161561120b5760405162461bcd60e51b81526020600482015260096024820152684c502065786973747360b81b604482015260640161071d565b60155460ff16156112505760405162461bcd60e51b815260206004820152600f60248201526e3a3930b234b7339034b99037b832b760891b604482015260640161071d565b600034118061125f5750600047115b6112ab5760405162461bcd60e51b815260206004820152601d60248201527f4e6f2045544820696e20636f6e7472616374206f72206d657373616765000000604482015260640161071d565b306000908152600d60205260409020546112ff5760405162461bcd60e51b8152602060048201526015602482015274139bc81d1bdad95b9cc81a5b8818dbdb9d1c9858dd605a1b604482015260640161071d565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611352573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113769190612688565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fc9190612688565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611449573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146d9190612688565b601380546001600160a01b0319166001600160a01b0392909216919091179055306000908152600d60205260408120546114a8914790611b33565b6013546001600160a01b03166000908152601460205260409020805460ff191660011790556114d5611bee565b6015805461ff0019169055565b6000546001600160a01b0316331461150c5760405162461bcd60e51b815260040161071d90612484565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b601554600090819060ff1615611578575060016106ed565b6001600160a01b0383166000908152600f602052604090205460ff1680156115b857506001600160a01b03831660009081526010602052604090205460ff165b156106ed5750600192915050565b60006001600160a01b03841661161e5760405162461bcd60e51b815260206004820152601d60248201527f4e6f207472616e73666572732066726f6d205a65726f2077616c6c6574000000604482015260640161071d565b60155460ff16611684576001600160a01b0384166000908152600f602052604090205460ff16801561166857506001600160a01b03841660009081526010602052604090205460ff165b6116845760405162461bcd60e51b815260040161071d906125db565b601554610100900460ff161580156116b457506001600160a01b03831660009081526014602052604090205460ff165b156116c1576116c1611ca9565b600154431080156116d457506007544310155b80156116f857506001600160a01b03841660009081526014602052604090205460ff165b15611743576001600160a01b03831632146117435760405162461bcd60e51b815260206004820152600b60248201526a13515588189b1bd8dad95960aa1b604482015260640161071d565b6001600160a01b038416301480159061176557506001600160a01b0383163014155b801561177f57506000546001600160a01b03858116911614155b156117cf5761178f848484611e1d565b6117cf5760405162461bcd60e51b815260206004820152601160248201527054582065786365656473206c696d69747360781b604482015260640161071d565b60006117dc858585611ee7565b905060006117ea8285612605565b905060035460016117fb919061263a565b6003556001600160a01b0386166000908152600d6020526040902054611822908590612605565b6001600160a01b0387166000908152600d6020526040812091909155600c805484929061185090849061263a565b90915550506001600160a01b0385166000908152600d602052604090205461187990829061263a565b6001600160a01b038087166000818152600d602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118cd9085815260200190565b60405180910390a350600195945050505050565b6118ea816120af565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061191f5761191f6126a5565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199c9190612688565b816001815181106119af576119af6126a5565b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac947906119f59085906000908690309042906004016126bb565b600060405180830381600087803b158015611a0f57600080fd5b505af1158015611a23573d6000803e3d6000fd5b505050505050565b600554600090611a479061ffff62010000820481169116612666565b905061ffff811615611b2f5760055460009061ffff80841691611a6b9116856125c4565b611a759190612618565b60055490915060009061ffff80851691611a97916201000090910416866125c4565b611aa19190612618565b90508115611aeb57600554604051600160401b9091046001600160a01b0316906108fc8415029084906000818181858888f19350505050158015611ae9573d6000803e3d6000fd5b505b80156110a7576006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611b2b573d6000803e3d6000fd5b5050505b5050565b6011546001600160a01b03168115611b49575060005b611b52846120af565b60125460405163f305d71960e01b81523060048201526024810186905260006044820181905260648201526001600160a01b0383811660848301524260a48301529091169063f305d71990859060c40160606040518083038185885af1158015611bc0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611be5919061272c565b50505050505050565b6064611bfc6009600a6125b5565b611c0a90633b9aca006125c4565b611c159060026125c4565b611c1f9190612618565b6008556064611c306009600a6125b5565b611c3e90633b9aca006125c4565b611c499060026125c4565b611c539190612618565b6009556015805460ff191660019081179091554360078190556000549154600160b81b830460ff90811693600160b01b90041691611c909161263a565b611c9a919061263a565b611ca4919061263a565b600155565b6015805461ff001916610100179055600c54600a548110801590611ccf575060155460ff165b15611e0f57600b548110611ce25750600b545b60055460009060029061ffff600160301b8204811691611d0c9164010000000090910416856125c4565b611d169190612618565b611d209190612618565b90506000611d2e8284612605565b9050611d3c6009600a6125b5565b811115611dfb57306000908152600d6020526040812080544792869291611d6490849061263a565b90915550611d739050826118e1565b83600c6000828254611d859190612605565b9091555060009050611d978247612605565b600554909150640100000000900461ffff1615611df85760055460009061ffff600160301b8204811691611dd59164010000000090910416846125c4565b611ddf9190612618565b9050611dea856120af565b611df685826000611b33565b505b50505b478015611e0b57611e0b81611a2b565b5050505b506015805461ff0019169055565b60155460009060019060ff168015611e4e57506001600160a01b03851660009081526010602052604090205460ff16155b8015611e7357506001600160a01b03841660009081526010602052604090205460ff16155b1561095a57600854831115611e8a5750600061095a565b6001600160a01b03841660009081526014602052604090205460ff16158015611ed757506009546001600160a01b0385166000908152600d6020526040902054611ed590859061263a565b115b1561095a57506000949350505050565b601554600090819060ff161580611f1657506001600160a01b0385166000908152600f602052604090205460ff165b80611f3957506001600160a01b0384166000908152600f602052604090205460ff165b15611f465750600061095a565b6001600160a01b03851660009081526014602052604090205460ff16156120435760005460075460ff600160b81b8304811692611f8e92600160b01b9091049091169061263a565b611f98919061263a565b4310611fe157606460045460035411611fb65760025460ff16611fc3565b60025462010000900460ff165b611fd09060ff16856125c4565b611fda9190612618565b905061095a565b600054600754611ffb91600160b01b900460ff169061263a565b431061201b57600054606490611fd090600160a81b900460ff16856125c4565b600754431061203e57600054606490611fd090600160a01b900460ff16856125c4565b61095a565b6001600160a01b03841660009081526014602052604090205460ff161561095a5760646004546003541161208157600254610100900460ff1661208f565b6002546301000000900460ff165b61209c9060ff16856125c4565b6120a69190612618565b95945050505050565b306000908152600e60209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d845290915290205481111561215157306000818152600e60209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d808552908352928190206000199081905590519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b50565b600060208083528351808285015260005b8181101561218157858101830151858201604001528201612165565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461215157600080fd5b600080604083850312156121ca57600080fd5b82356121d5816121a2565b946020939093013593505050565b6000806000606084860312156121f857600080fd5b8335612203816121a2565b92506020840135612213816121a2565b91506040840135612223816121a2565b809150509250925092565b60008060006060848603121561224357600080fd5b833561224e816121a2565b9250602084013561225e816121a2565b929592945050506040919091013590565b803560ff8116811461228057600080fd5b919050565b8035801515811461228057600080fd5b600080604083850312156122a857600080fd5b6122b18361226f565b91506122bf60208401612285565b90509250929050565b803561ffff8116811461228057600080fd5b600080604083850312156122ed57600080fd5b6122f6836122c8565b91506122bf602084016122c8565b6000806040838503121561231757600080fd5b6123208361226f565b91506122bf6020840161226f565b60008060006060848603121561234357600080fd5b833561234e816121a2565b925061235c60208501612285565b915061236a60408501612285565b90509250925092565b60006020828403121561238557600080fd5b81356110df816121a2565b6000806000606084860312156123a557600080fd5b6123ae846122c8565b92506123bc602085016122c8565b915061236a604085016122c8565b803563ffffffff8116811461228057600080fd5b600080600080608085870312156123f457600080fd5b6123fd856123ca565b935061240b602086016123ca565b9250612419604086016123ca565b9150612427606086016123ca565b905092959194509250565b6000806040838503121561244557600080fd5b8235612450816121a2565b91506020830135612460816121a2565b809150509250929050565b60006020828403121561247d57600080fd5b5035919050565b60208082526018908201527f4f6e6c79206f776e65722063616e2063616c6c20746869730000000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561250c5781600019048211156124f2576124f26124bb565b808516156124ff57918102915b93841c93908002906124d6565b509250929050565b600082612523575060016106ed565b81612530575060006106ed565b816001811461254657600281146125505761256c565b60019150506106ed565b60ff841115612561576125616124bb565b50506001821b6106ed565b5060208310610133831016604e8410600b841016171561258f575081810a6106ed565b61259983836124d1565b80600019048211156125ad576125ad6124bb565b029392505050565b60006110df60ff841683612514565b80820281158282048414176106ed576106ed6124bb565b60208082526010908201526f2a3930b234b733903737ba1037b832b760811b604082015260600190565b818103818111156106ed576106ed6124bb565b60008261263557634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156106ed576106ed6124bb565b60ff81811683821601908111156106ed576106ed6124bb565b61ffff818116838216019080821115612681576126816124bb565b5092915050565b60006020828403121561269a57600080fd5b81516110df816121a2565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561270b5784516001600160a01b0316835293830193918301916001016126e6565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561274157600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212205e38835ca517fbd1dde1a6247b9a62fe7dab94eb7d0bf6c7ff76802b227e317264736f6c63430008130033
Loading...
Loading
Loading...
Loading
[ 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.