ERC-20
Overview
Max Total Supply
1,100,000 PUNK
Holders
175
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
11,013.86793366514052467 PUNKValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Punk
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity Standard Json-Input format)
// Cypherpunk // Website: https://thepunklist.com // Twitter: https://twitter.com/cypherpunk_eth // Telegram: https://t.me/thepunklist // SPDX-License-Identifier:MIT pragma solidity ^0.8.18; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } // Dex Factory contract interface interface IDexFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } // Dex Router contract interface interface IDexRouter { 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 swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = payable(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract Punk is Context, IERC20, Ownable { string private _name = "The Punk List"; string private _symbol = "PUNK"; uint8 private _decimals = 18; uint256 private _totalSupply = 1_100_000 * 1e18; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _bots; mapping(address => bool) public isExcludedFromFee; mapping(address => bool) public isExcludedFromMaxTxn; mapping(address => bool) public isExcludedFromMaxHolding; uint256 public minTokenToSwap = (_totalSupply * 5) / (10000); // this amount will trigger swap and distribute uint256 public maxHoldLimit = (_totalSupply * 2) / (100); // this is the max wallet holding limit uint256 public maxTxnLimit = (_totalSupply * 2) / (100); // this is the max transaction limit uint256 public percentDivider = 100; uint256 public launchedAt; bool public distributeAndLiquifyStatus; // should be true to turn on to liquidate the pool bool public feesStatus; // enable by default bool public trading; // once enable can't be disable afterwards IDexRouter public dexRouter; // router declaration address public dexPair; // pair address declaration address public marketingWallet; // marketing address declaration address private constant DEAD = address(0xdead); address private constant ZERO = address(0); uint256 public marketingFeeOnBuying = 30; uint256 public marketingFeeOnSelling = 30; event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity); constructor(address _marketingWallet) { _balances[owner()] = _totalSupply; marketingWallet = address(_marketingWallet); dexRouter = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); isExcludedFromFee[address(dexRouter)] = true; isExcludedFromMaxTxn[address(dexRouter)] = true; isExcludedFromMaxHolding[address(dexRouter)] = true; dexPair = IDexFactory(dexRouter.factory()).createPair(address(this), dexRouter.WETH()); isExcludedFromMaxHolding[dexPair] = true; //exclude owner and this contract from fee isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; //exclude owner and this contract from max Txn isExcludedFromMaxTxn[owner()] = true; isExcludedFromMaxTxn[address(this)] = true; //exclude owner and this contract from max hold limit isExcludedFromMaxHolding[owner()] = true; isExcludedFromMaxHolding[address(this)] = true; isExcludedFromMaxHolding[marketingWallet] = true; emit Transfer(address(0), owner(), _totalSupply); } //to receive ETH from dexRouter when swapping receive() external payable {} function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + (addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue); return true; } function includeOrExcludeFromFee(address account, bool value) external onlyOwner { isExcludedFromFee[account] = value; } function includeOrExcludeFromMaxTxn(address account, bool value) external onlyOwner { isExcludedFromMaxTxn[account] = value; } function includeOrExcludeFromMaxHolding(address account, bool value) external onlyOwner { isExcludedFromMaxHolding[account] = value; } function setMinTokenToSwap(uint256 _amount) external onlyOwner { minTokenToSwap = _amount * 1e18; } function setMaxHoldLimit(uint256 _amount) external onlyOwner { maxHoldLimit = _amount * 1e18; } function setMaxTxnLimit(uint256 _amount) external onlyOwner { maxTxnLimit = _amount * 1e18; } function setBuyFeePercent(uint256 _marketingFee) external onlyOwner { marketingFeeOnBuying = _marketingFee; } function setSellFeePercent(uint256 _marketingFee) external onlyOwner { marketingFeeOnSelling = _marketingFee; } function setDistributionStatus(bool _value) public onlyOwner { distributeAndLiquifyStatus = _value; } function enableOrDisableFees(bool _value) external onlyOwner { feesStatus = _value; } function updateAddresses(address _marketingWallet) external onlyOwner { marketingWallet = _marketingWallet; } function enableTrading() external onlyOwner { require(!trading, ": already enabled"); trading = true; feesStatus = true; distributeAndLiquifyStatus = true; launchedAt = block.timestamp; } function removeStuckEth(address _receiver) public onlyOwner { payable(_receiver).transfer(address(this).balance); } function totalBuyFeePerTx(uint256 amount) public view returns (uint256) { uint256 fee = (amount * marketingFeeOnBuying) / (percentDivider); return fee; } function totalSellFeePerTx(uint256 amount) public view returns (uint256) { uint256 fee = (amount * marketingFeeOnSelling) / (percentDivider); return fee; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), " approve from the zero address"); require(spender != address(0), "approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(!_bots[from] && !_bots[to] && !_bots[msg.sender], "Blacklisted"); require(from != address(0), "transfer from the zero address"); require(to != address(0), "transfer to the zero address"); require(amount > 0, "Amount must be greater than zero"); if (!isExcludedFromMaxTxn[from] && !isExcludedFromMaxTxn[to]) { require(amount <= maxTxnLimit, " max txn limit exceeds"); // trading disable till launch if (!trading) { require(dexPair != from && dexPair != to, ": trading is disable"); } } if (!isExcludedFromMaxHolding[to]) { require((balanceOf(to) + amount) <= maxHoldLimit, ": max hold limit exceeds"); } // swap and liquify distributeAndLiquify(from, to); //indicates if fee should be deducted from transfer bool takeFee = true; //if any account belongs to isExcludedFromFee account then remove the fee if (isExcludedFromFee[from] || isExcludedFromFee[to] || !feesStatus) { takeFee = false; } //transfer amount, it will take tax, burn, liquidity fee _tokenTransfer(from, to, amount, takeFee); } //this method is responsible for taking all fees, if takeFee is true function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { if (dexPair == sender && takeFee) { uint256 allFee; uint256 tTransferAmount; allFee = totalBuyFeePerTx(amount); tTransferAmount = amount - allFee; _balances[sender] = _balances[sender] - amount; _balances[recipient] = _balances[recipient] + tTransferAmount; emit Transfer(sender, recipient, tTransferAmount); takeTokenFee(sender, allFee); } else if (dexPair == recipient && takeFee) { uint256 allFee = totalSellFeePerTx(amount); uint256 tTransferAmount = amount - allFee; _balances[sender] = _balances[sender] - amount; _balances[recipient] = _balances[recipient] + tTransferAmount; emit Transfer(sender, recipient, tTransferAmount); takeTokenFee(sender, allFee); } else { _balances[sender] = _balances[sender] - amount; _balances[recipient] = _balances[recipient] + (amount); emit Transfer(sender, recipient, amount); } } function takeTokenFee(address sender, uint256 amount) private { _balances[address(this)] = _balances[address(this)] + (amount); emit Transfer(sender, address(this), amount); } // to withdarw ETH from contract function withdrawETH(uint256 _amount) external onlyOwner { require(address(this).balance >= _amount, "Invalid Amount"); payable(msg.sender).transfer(_amount); } // to withdraw ERC20 tokens from contract function withdrawToken(IERC20 _token, uint256 _amount) external onlyOwner { require(_token.balanceOf(address(this)) >= _amount, "Invalid Amount"); _token.transfer(msg.sender, _amount); } function distributeAndLiquify(address from, address to) private { uint256 contractTokenBalance = balanceOf(address(this)); bool shouldSell = contractTokenBalance >= minTokenToSwap; if ( shouldSell && from != dexPair && distributeAndLiquifyStatus && !(from == address(this) && to == dexPair) // swap 1 time ) { // approve contract _approve(address(this), address(dexRouter), minTokenToSwap); // now is to lock into liquidty pool swapTokensForEth(minTokenToSwap); uint256 ethForMarketing = address(this).balance; // sending Eth to Marketing wallet if (ethForMarketing > 0) payable(marketingWallet).transfer(ethForMarketing); } } function swapTokensForEth(uint256 tokenAmount) internal { // generate the Dex pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); // make the swap dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp + 300 ); } function manageBots(address[] memory _accounts, bool _isBot) external onlyOwner { for (uint256 i = 0; i < _accounts.length; i++) { _bots[_accounts[i]] = _isBot; } } }
{ "evmVersion": "shanghai", "libraries": {}, "metadata": { "bytecodeHash": "ipfs", "useLiteralContent": true }, "optimizer": { "enabled": true, "runs": 2468 }, "remappings": [], "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","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":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributeAndLiquifyStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"enableOrDisableFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feesStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxHolding","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxTxn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxHolding","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromMaxTxn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_accounts","type":"address[]"},{"internalType":"bool","name":"_isBot","type":"bool"}],"name":"manageBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFeeOnBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxnLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokenToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"percentDivider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"}],"name":"removeStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setBuyFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"setDistributionStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxHoldLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxTxnLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMinTokenToSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setSellFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalBuyFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalSellFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trading","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":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"updateAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c0604052600d60809081526c151a1948141d5b9ac8131a5cdd609a1b60a0526001906200002e9082620005de565b5060408051808201909152600481526350554e4b60e01b6020820152600290620000599082620005de565b506003805460ff1916601217905569e8ef1e96ae389780000060048190556127109062000088906005620006a6565b620000949190620006d0565b600b5560646004546002620000aa9190620006a6565b620000b69190620006d0565b600c5560646004546002620000cc9190620006a6565b620000d89190620006d0565b600d556064600e55601e601355601e601455348015620000f6575f80fd5b5060405162002bb838038062002bb88339810160408190526200011991620006f0565b5f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360045460055f6200016f5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f90812094909455601280546001600160a01b031916868316179055601080546301000000600160b81b031916767a250d5630b4cf539739df2c5dacb4c659f2488d000000178082556301000000908190048316865260088552838620805460ff199081166001908117909255835483900485168852600987528588208054821683179055835483900485168852600a87529685902080549097161790955554825163c45a015560e01b81529251949004169263c45a0155926004808401939192918290030181865afa15801562000264573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028a9190620006f0565b6001600160a01b031663c9c6539630601060039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002eb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003119190620006f0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200035c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003829190620006f0565b601180546001600160a01b0319166001600160a01b039290921691821790555f908152600a60205260408120805460ff1916600190811790915590600890620003d25f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff199586161790553081526008909252812080549092166001908117909255600990620004295f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff199586161790553081526009909252812080549092166001908117909255600a90620004805f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600a909352818320805485166001908117909155601254909116835291208054909216179055620004e85f546001600160a01b031690565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040516200052f91815260200190565b60405180910390a3506200071f565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200056757607f821691505b6020821081036200058657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620005d9575f81815260208120601f850160051c81016020861015620005b45750805b601f850160051c820191505b81811015620005d557828155600101620005c0565b5050505b505050565b81516001600160401b03811115620005fa57620005fa6200053e565b62000612816200060b845462000552565b846200058c565b602080601f83116001811462000648575f8415620006305750858301515b5f19600386901b1c1916600185901b178555620005d5565b5f85815260208120601f198616915b82811015620006785788860151825594840194600190910190840162000657565b50858210156200069657878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b8082028115828204841417620006ca57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f82620006eb57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000701575f80fd5b81516001600160a01b038116811462000718575f80fd5b9392505050565b61248b806200072d5f395ff3fe608060405260043610610306575f3560e01c8063950eb5d511610191578063bf56b371116100dc578063f097ea1a11610087578063f2fde38b11610062578063f2fde38b146108c1578063f4b3dbc3146108e0578063fe6f1b05146108ff575f80fd5b8063f097ea1a14610864578063f14210a614610883578063f242ab41146108a2575f80fd5b8063ea5b9e85116100b7578063ea5b9e8514610807578063ec44acf214610826578063ed42142914610845575f80fd5b8063bf56b3711461078f578063c5377ae5146107a4578063dd62ed3e146107c3575f80fd5b8063a2b8a9471161013c578063a7c29b4011610117578063a7c29b4014610732578063a9059cbb14610751578063b0bc2a2d14610770575f80fd5b8063a2b8a947146106d5578063a457c2d7146106f4578063a643c1a014610713575f80fd5b80639a36dfa11161016c5780639a36dfa1146106825780639b6a2750146106975780639e281a98146106b6575f80fd5b8063950eb5d51461062157806395d89b411461064057806399b102b514610654575f80fd5b8063681aa36211610251578063844af78e116101fc578063879dd3c5116101d7578063879dd3c5146105d35780638a8c523c146105f15780638da5cb5b14610605575f80fd5b8063844af78e1461057157806384ea21bc146105865780638756aabd146105b4575f80fd5b806375f0a8741161022c57806375f0a8741461052457806379777b4e146105435780637c6a9a9c1461055c575f80fd5b8063681aa362146104c757806370a08231146104dc578063715018a614610510575f80fd5b806323b872dd116102b1578063395093511161028c578063395093511461045b5780635342acb41461047a578063679a3c59146104a8575f80fd5b806323b872dd146103fc5780632d1293901461041b578063313ce5671461043a575f80fd5b80630a2d140c116102e15780630a2d140c146103a857806318160ddd146103c95780631884f1e6146103e7575f80fd5b806306fdde03146103115780630758d9241461033b578063095ea7b314610379575f80fd5b3661030d57005b5f80fd5b34801561031c575f80fd5b50610325610914565b604051610332919061201e565b60405180910390f35b348015610346575f80fd5b5060105461036190630100000090046001600160a01b031681565b6040516001600160a01b039091168152602001610332565b348015610384575f80fd5b50610398610393366004612090565b6109a4565b6040519015158152602001610332565b3480156103b3575f80fd5b506103c76103c23660046120d2565b6109ba565b005b3480156103d4575f80fd5b506004545b604051908152602001610332565b3480156103f2575f80fd5b506103d9600b5481565b348015610407575f80fd5b506103986104163660046120ed565b610a2b565b348015610426575f80fd5b506103c761043536600461212b565b610a7b565b348015610445575f80fd5b5060035460405160ff9091168152602001610332565b348015610466575f80fd5b50610398610475366004612090565b610afe565b348015610485575f80fd5b50610398610494366004612162565b60086020525f908152604090205460ff1681565b3480156104b3575f80fd5b506103c76104c2366004612162565b610b34565b3480156104d2575f80fd5b506103d9600d5481565b3480156104e7575f80fd5b506103d96104f6366004612162565b6001600160a01b03165f9081526005602052604090205490565b34801561051b575f80fd5b506103c7610bc3565b34801561052f575f80fd5b50601254610361906001600160a01b031681565b34801561054e575f80fd5b506010546103989060ff1681565b348015610567575f80fd5b506103d960135481565b34801561057c575f80fd5b506103d960145481565b348015610591575f80fd5b506103986105a0366004612162565b600a6020525f908152604090205460ff1681565b3480156105bf575f80fd5b506103c76105ce36600461217d565b610c7c565b3480156105de575f80fd5b5060105461039890610100900460ff1681565b3480156105fc575f80fd5b506103c7610ced565b348015610610575f80fd5b505f546001600160a01b0316610361565b34801561062c575f80fd5b506103c761063b36600461217d565b610dd2565b34801561064b575f80fd5b50610325610e30565b34801561065f575f80fd5b5061039861066e366004612162565b60096020525f908152604090205460ff1681565b34801561068d575f80fd5b506103d9600c5481565b3480156106a2575f80fd5b506103c76106b136600461217d565b610e3f565b3480156106c1575f80fd5b506103c76106d0366004612090565b610eb0565b3480156106e0575f80fd5b506103c76106ef36600461217d565b611064565b3480156106ff575f80fd5b5061039861070e366004612090565b6110c2565b34801561071e575f80fd5b506103c761072d366004612162565b6110f8565b34801561073d575f80fd5b506103c761074c36600461212b565b61118b565b34801561075c575f80fd5b5061039861076b366004612090565b61120e565b34801561077b575f80fd5b506103c761078a3660046120d2565b61121a565b34801561079a575f80fd5b506103d9600f5481565b3480156107af575f80fd5b506103c76107be3660046121a8565b6112aa565b3480156107ce575f80fd5b506103d96107dd36600461227a565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b348015610812575f80fd5b506103c761082136600461212b565b611367565b348015610831575f80fd5b506010546103989062010000900460ff1681565b348015610850575f80fd5b506103d961085f36600461217d565b6113ea565b34801561086f575f80fd5b506103c761087e36600461217d565b61140e565b34801561088e575f80fd5b506103c761089d36600461217d565b61147f565b3480156108ad575f80fd5b50601154610361906001600160a01b031681565b3480156108cc575f80fd5b506103c76108db366004612162565b611552565b3480156108eb575f80fd5b506103d96108fa36600461217d565b611698565b34801561090a575f80fd5b506103d9600e5481565b606060018054610923906122a6565b80601f016020809104026020016040519081016040528092919081815260200182805461094f906122a6565b801561099a5780601f106109715761010080835404028352916020019161099a565b820191905f5260205f20905b81548152906001019060200180831161097d57829003601f168201915b5050505050905090565b5f6109b03384846116ab565b5060015b92915050565b5f546001600160a01b03163314610a185760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6010805460ff1916911515919091179055565b5f610a378484846117b7565b6001600160a01b0384165f90815260066020908152604080832033808552925290912054610a71918691610a6c9086906122f2565b6116ab565b5060019392505050565b5f546001600160a01b03163314610ad45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b335f8181526006602090815260408083206001600160a01b038716845290915281205490916109b0918590610a6c908690612305565b5f546001600160a01b03163314610b8d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b6040516001600160a01b038216904780156108fc02915f818181858888f19350505050158015610bbf573d5f803e3d5ffd5b5050565b5f546001600160a01b03163314610c1c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b5f546001600160a01b03163314610cd55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b610ce781670de0b6b3a7640000612318565b600c5550565b5f546001600160a01b03163314610d465760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b60105462010000900460ff1615610d9f5760405162461bcd60e51b815260206004820152601160248201527f3a20616c726561647920656e61626c65640000000000000000000000000000006044820152606401610a0f565b601080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166201010117905542600f55565b5f546001600160a01b03163314610e2b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b601355565b606060028054610923906122a6565b5f546001600160a01b03163314610e985760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b610eaa81670de0b6b3a7640000612318565b600d5550565b5f546001600160a01b03163314610f095760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa158015610f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8a919061232f565b1015610fd85760405162461bcd60e51b815260206004820152600e60248201527f496e76616c696420416d6f756e740000000000000000000000000000000000006044820152606401610a0f565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af115801561103b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105f9190612346565b505050565b5f546001600160a01b031633146110bd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b601455565b335f8181526006602090815260408083206001600160a01b038716845290915281205490916109b0918590610a6c9086906122f2565b5f546001600160a01b031633146111515760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b601280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f546001600160a01b031633146111e45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b5f6109b03384846117b7565b5f546001600160a01b031633146112735760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b60108054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b5f546001600160a01b031633146113035760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b5f5b825181101561105f578160075f85848151811061132457611324612361565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061135f81612375565b915050611305565b5f546001600160a01b031633146113c05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b5f80600e54601354846113fd9190612318565b61140791906123ac565b9392505050565b5f546001600160a01b031633146114675760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b61147981670de0b6b3a7640000612318565b600b5550565b5f546001600160a01b031633146114d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b804710156115285760405162461bcd60e51b815260206004820152600e60248201527f496e76616c696420416d6f756e740000000000000000000000000000000000006044820152606401610a0f565b604051339082156108fc029083905f818181858888f19350505050158015610bbf573d5f803e3d5ffd5b5f546001600160a01b031633146115ab5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b6001600160a01b0381166116275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a0f565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f80600e54601454846113fd9190612318565b6001600160a01b0383166117015760405162461bcd60e51b815260206004820152601e60248201527f20617070726f76652066726f6d20746865207a65726f206164647265737300006044820152606401610a0f565b6001600160a01b0382166117575760405162461bcd60e51b815260206004820152601b60248201527f617070726f766520746f20746865207a65726f206164647265737300000000006044820152606401610a0f565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526007602052604090205460ff161580156117f757506001600160a01b0382165f9081526007602052604090205460ff16155b80156118125750335f9081526007602052604090205460ff16155b61185e5760405162461bcd60e51b815260206004820152600b60248201527f426c61636b6c69737465640000000000000000000000000000000000000000006044820152606401610a0f565b6001600160a01b0383166118b45760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f206164647265737300006044820152606401610a0f565b6001600160a01b03821661190a5760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f2061646472657373000000006044820152606401610a0f565b5f81116119595760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f6044820152606401610a0f565b6001600160a01b0383165f9081526009602052604090205460ff1615801561199957506001600160a01b0382165f9081526009602052604090205460ff16155b15611a7857600d548111156119f05760405162461bcd60e51b815260206004820152601660248201527f206d61782074786e206c696d69742065786365656473000000000000000000006044820152606401610a0f565b60105462010000900460ff16611a78576011546001600160a01b03848116911614801590611a2c57506011546001600160a01b03838116911614155b611a785760405162461bcd60e51b815260206004820152601460248201527f3a2074726164696e672069732064697361626c650000000000000000000000006044820152606401610a0f565b6001600160a01b0382165f908152600a602052604090205460ff16611b1157600c5481611ab9846001600160a01b03165f9081526005602052604090205490565b611ac39190612305565b1115611b115760405162461bcd60e51b815260206004820152601860248201527f3a206d617820686f6c64206c696d6974206578636565647300000000000000006044820152606401610a0f565b611b1b8383611b88565b6001600160a01b0383165f9081526008602052604090205460019060ff1680611b5b57506001600160a01b0383165f9081526008602052604090205460ff165b80611b6e5750601054610100900460ff16155b15611b7657505f5b611b8284848484611c6e565b50505050565b305f90815260056020526040902054600b5481108015908190611bb957506011546001600160a01b03858116911614155b8015611bc7575060105460ff165b8015611bf557506001600160a01b03841630148015611bf357506011546001600160a01b038481169116145b155b15611b8257611c1c30601060039054906101000a90046001600160a01b0316600b546116ab565b611c27600b54611e4e565b478015611c67576012546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611c65573d5f803e3d5ffd5b505b5050505050565b6011546001600160a01b038581169116148015611c885750805b15611d65575f80611c98846113ea565b9150611ca482856122f2565b6001600160a01b0387165f90815260056020526040902054909150611cca9085906122f2565b6001600160a01b038088165f908152600560205260408082209390935590871681522054611cf9908290612305565b6001600160a01b038087165f8181526005602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d4c9085815260200190565b60405180910390a3611d5e8683611fa8565b5050611b82565b6011546001600160a01b038481169116148015611d7f5750805b15611d9b575f611d8e83611698565b90505f611ca482856122f2565b6001600160a01b0384165f90815260056020526040902054611dbe9083906122f2565b6001600160a01b038086165f908152600560205260408082209390935590851681522054611ded908390612305565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e409086815260200190565b60405180910390a350505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611e8157611e81612361565b60200260200101906001600160a01b031690816001600160a01b031681525050601060039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ef2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f1691906123cb565b81600181518110611f2957611f29612361565b6001600160a01b039283166020918202929092010152601054630100000090041663791ac947835f8430611f5f4261012c612305565b6040518663ffffffff1660e01b8152600401611f7f9594939291906123e6565b5f604051808303815f87803b158015611f96575f80fd5b505af1158015611c65573d5f803e3d5ffd5b305f90815260056020526040902054611fc2908290612305565b305f81815260056020526040908190209290925590516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906120129085815260200190565b60405180910390a35050565b5f6020808352835180828501525f5b818110156120495785810183015185820160400152820161202d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461207d575f80fd5b50565b803561208b81612069565b919050565b5f80604083850312156120a1575f80fd5b82356120ac81612069565b946020939093013593505050565b801515811461207d575f80fd5b803561208b816120ba565b5f602082840312156120e2575f80fd5b8135611407816120ba565b5f805f606084860312156120ff575f80fd5b833561210a81612069565b9250602084013561211a81612069565b929592945050506040919091013590565b5f806040838503121561213c575f80fd5b823561214781612069565b91506020830135612157816120ba565b809150509250929050565b5f60208284031215612172575f80fd5b813561140781612069565b5f6020828403121561218d575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b5f80604083850312156121b9575f80fd5b823567ffffffffffffffff808211156121d0575f80fd5b818501915085601f8301126121e3575f80fd5b81356020828211156121f7576121f7612194565b8160051b604051601f19603f8301168101818110868211171561221c5761221c612194565b604052928352818301935084810182019289841115612239575f80fd5b948201945b8386101561225e5761224f86612080565b8552948201949382019361223e565b965061226d90508782016120c7565b9450505050509250929050565b5f806040838503121561228b575f80fd5b823561229681612069565b9150602083013561215781612069565b600181811c908216806122ba57607f821691505b6020821081036122d857634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156109b4576109b46122de565b808201808211156109b4576109b46122de565b80820281158282048414176109b4576109b46122de565b5f6020828403121561233f575f80fd5b5051919050565b5f60208284031215612356575f80fd5b8151611407816120ba565b634e487b7160e01b5f52603260045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123a5576123a56122de565b5060010190565b5f826123c657634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156123db575f80fd5b815161140781612069565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156124345784516001600160a01b03168352938301939183019160010161240f565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f92dc07fe36c72f1b97c3115254e5fb9382e5fa78ebedb8c6964b15b63f2abf464736f6c634300081400330000000000000000000000005636bc606c79b7cbb2a5177db8584b3aff509f26
Deployed Bytecode
0x608060405260043610610306575f3560e01c8063950eb5d511610191578063bf56b371116100dc578063f097ea1a11610087578063f2fde38b11610062578063f2fde38b146108c1578063f4b3dbc3146108e0578063fe6f1b05146108ff575f80fd5b8063f097ea1a14610864578063f14210a614610883578063f242ab41146108a2575f80fd5b8063ea5b9e85116100b7578063ea5b9e8514610807578063ec44acf214610826578063ed42142914610845575f80fd5b8063bf56b3711461078f578063c5377ae5146107a4578063dd62ed3e146107c3575f80fd5b8063a2b8a9471161013c578063a7c29b4011610117578063a7c29b4014610732578063a9059cbb14610751578063b0bc2a2d14610770575f80fd5b8063a2b8a947146106d5578063a457c2d7146106f4578063a643c1a014610713575f80fd5b80639a36dfa11161016c5780639a36dfa1146106825780639b6a2750146106975780639e281a98146106b6575f80fd5b8063950eb5d51461062157806395d89b411461064057806399b102b514610654575f80fd5b8063681aa36211610251578063844af78e116101fc578063879dd3c5116101d7578063879dd3c5146105d35780638a8c523c146105f15780638da5cb5b14610605575f80fd5b8063844af78e1461057157806384ea21bc146105865780638756aabd146105b4575f80fd5b806375f0a8741161022c57806375f0a8741461052457806379777b4e146105435780637c6a9a9c1461055c575f80fd5b8063681aa362146104c757806370a08231146104dc578063715018a614610510575f80fd5b806323b872dd116102b1578063395093511161028c578063395093511461045b5780635342acb41461047a578063679a3c59146104a8575f80fd5b806323b872dd146103fc5780632d1293901461041b578063313ce5671461043a575f80fd5b80630a2d140c116102e15780630a2d140c146103a857806318160ddd146103c95780631884f1e6146103e7575f80fd5b806306fdde03146103115780630758d9241461033b578063095ea7b314610379575f80fd5b3661030d57005b5f80fd5b34801561031c575f80fd5b50610325610914565b604051610332919061201e565b60405180910390f35b348015610346575f80fd5b5060105461036190630100000090046001600160a01b031681565b6040516001600160a01b039091168152602001610332565b348015610384575f80fd5b50610398610393366004612090565b6109a4565b6040519015158152602001610332565b3480156103b3575f80fd5b506103c76103c23660046120d2565b6109ba565b005b3480156103d4575f80fd5b506004545b604051908152602001610332565b3480156103f2575f80fd5b506103d9600b5481565b348015610407575f80fd5b506103986104163660046120ed565b610a2b565b348015610426575f80fd5b506103c761043536600461212b565b610a7b565b348015610445575f80fd5b5060035460405160ff9091168152602001610332565b348015610466575f80fd5b50610398610475366004612090565b610afe565b348015610485575f80fd5b50610398610494366004612162565b60086020525f908152604090205460ff1681565b3480156104b3575f80fd5b506103c76104c2366004612162565b610b34565b3480156104d2575f80fd5b506103d9600d5481565b3480156104e7575f80fd5b506103d96104f6366004612162565b6001600160a01b03165f9081526005602052604090205490565b34801561051b575f80fd5b506103c7610bc3565b34801561052f575f80fd5b50601254610361906001600160a01b031681565b34801561054e575f80fd5b506010546103989060ff1681565b348015610567575f80fd5b506103d960135481565b34801561057c575f80fd5b506103d960145481565b348015610591575f80fd5b506103986105a0366004612162565b600a6020525f908152604090205460ff1681565b3480156105bf575f80fd5b506103c76105ce36600461217d565b610c7c565b3480156105de575f80fd5b5060105461039890610100900460ff1681565b3480156105fc575f80fd5b506103c7610ced565b348015610610575f80fd5b505f546001600160a01b0316610361565b34801561062c575f80fd5b506103c761063b36600461217d565b610dd2565b34801561064b575f80fd5b50610325610e30565b34801561065f575f80fd5b5061039861066e366004612162565b60096020525f908152604090205460ff1681565b34801561068d575f80fd5b506103d9600c5481565b3480156106a2575f80fd5b506103c76106b136600461217d565b610e3f565b3480156106c1575f80fd5b506103c76106d0366004612090565b610eb0565b3480156106e0575f80fd5b506103c76106ef36600461217d565b611064565b3480156106ff575f80fd5b5061039861070e366004612090565b6110c2565b34801561071e575f80fd5b506103c761072d366004612162565b6110f8565b34801561073d575f80fd5b506103c761074c36600461212b565b61118b565b34801561075c575f80fd5b5061039861076b366004612090565b61120e565b34801561077b575f80fd5b506103c761078a3660046120d2565b61121a565b34801561079a575f80fd5b506103d9600f5481565b3480156107af575f80fd5b506103c76107be3660046121a8565b6112aa565b3480156107ce575f80fd5b506103d96107dd36600461227a565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b348015610812575f80fd5b506103c761082136600461212b565b611367565b348015610831575f80fd5b506010546103989062010000900460ff1681565b348015610850575f80fd5b506103d961085f36600461217d565b6113ea565b34801561086f575f80fd5b506103c761087e36600461217d565b61140e565b34801561088e575f80fd5b506103c761089d36600461217d565b61147f565b3480156108ad575f80fd5b50601154610361906001600160a01b031681565b3480156108cc575f80fd5b506103c76108db366004612162565b611552565b3480156108eb575f80fd5b506103d96108fa36600461217d565b611698565b34801561090a575f80fd5b506103d9600e5481565b606060018054610923906122a6565b80601f016020809104026020016040519081016040528092919081815260200182805461094f906122a6565b801561099a5780601f106109715761010080835404028352916020019161099a565b820191905f5260205f20905b81548152906001019060200180831161097d57829003601f168201915b5050505050905090565b5f6109b03384846116ab565b5060015b92915050565b5f546001600160a01b03163314610a185760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6010805460ff1916911515919091179055565b5f610a378484846117b7565b6001600160a01b0384165f90815260066020908152604080832033808552925290912054610a71918691610a6c9086906122f2565b6116ab565b5060019392505050565b5f546001600160a01b03163314610ad45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b335f8181526006602090815260408083206001600160a01b038716845290915281205490916109b0918590610a6c908690612305565b5f546001600160a01b03163314610b8d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b6040516001600160a01b038216904780156108fc02915f818181858888f19350505050158015610bbf573d5f803e3d5ffd5b5050565b5f546001600160a01b03163314610c1c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b5f546001600160a01b03163314610cd55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b610ce781670de0b6b3a7640000612318565b600c5550565b5f546001600160a01b03163314610d465760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b60105462010000900460ff1615610d9f5760405162461bcd60e51b815260206004820152601160248201527f3a20616c726561647920656e61626c65640000000000000000000000000000006044820152606401610a0f565b601080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166201010117905542600f55565b5f546001600160a01b03163314610e2b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b601355565b606060028054610923906122a6565b5f546001600160a01b03163314610e985760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b610eaa81670de0b6b3a7640000612318565b600d5550565b5f546001600160a01b03163314610f095760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa158015610f66573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8a919061232f565b1015610fd85760405162461bcd60e51b815260206004820152600e60248201527f496e76616c696420416d6f756e740000000000000000000000000000000000006044820152606401610a0f565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af115801561103b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105f9190612346565b505050565b5f546001600160a01b031633146110bd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b601455565b335f8181526006602090815260408083206001600160a01b038716845290915281205490916109b0918590610a6c9086906122f2565b5f546001600160a01b031633146111515760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b601280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f546001600160a01b031633146111e45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b6001600160a01b03919091165f908152600960205260409020805460ff1916911515919091179055565b5f6109b03384846117b7565b5f546001600160a01b031633146112735760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b60108054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b5f546001600160a01b031633146113035760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b5f5b825181101561105f578160075f85848151811061132457611324612361565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061135f81612375565b915050611305565b5f546001600160a01b031633146113c05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b5f80600e54601354846113fd9190612318565b61140791906123ac565b9392505050565b5f546001600160a01b031633146114675760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b61147981670de0b6b3a7640000612318565b600b5550565b5f546001600160a01b031633146114d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b804710156115285760405162461bcd60e51b815260206004820152600e60248201527f496e76616c696420416d6f756e740000000000000000000000000000000000006044820152606401610a0f565b604051339082156108fc029083905f818181858888f19350505050158015610bbf573d5f803e3d5ffd5b5f546001600160a01b031633146115ab5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0f565b6001600160a01b0381166116275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a0f565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f80600e54601454846113fd9190612318565b6001600160a01b0383166117015760405162461bcd60e51b815260206004820152601e60248201527f20617070726f76652066726f6d20746865207a65726f206164647265737300006044820152606401610a0f565b6001600160a01b0382166117575760405162461bcd60e51b815260206004820152601b60248201527f617070726f766520746f20746865207a65726f206164647265737300000000006044820152606401610a0f565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526007602052604090205460ff161580156117f757506001600160a01b0382165f9081526007602052604090205460ff16155b80156118125750335f9081526007602052604090205460ff16155b61185e5760405162461bcd60e51b815260206004820152600b60248201527f426c61636b6c69737465640000000000000000000000000000000000000000006044820152606401610a0f565b6001600160a01b0383166118b45760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f206164647265737300006044820152606401610a0f565b6001600160a01b03821661190a5760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f2061646472657373000000006044820152606401610a0f565b5f81116119595760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f6044820152606401610a0f565b6001600160a01b0383165f9081526009602052604090205460ff1615801561199957506001600160a01b0382165f9081526009602052604090205460ff16155b15611a7857600d548111156119f05760405162461bcd60e51b815260206004820152601660248201527f206d61782074786e206c696d69742065786365656473000000000000000000006044820152606401610a0f565b60105462010000900460ff16611a78576011546001600160a01b03848116911614801590611a2c57506011546001600160a01b03838116911614155b611a785760405162461bcd60e51b815260206004820152601460248201527f3a2074726164696e672069732064697361626c650000000000000000000000006044820152606401610a0f565b6001600160a01b0382165f908152600a602052604090205460ff16611b1157600c5481611ab9846001600160a01b03165f9081526005602052604090205490565b611ac39190612305565b1115611b115760405162461bcd60e51b815260206004820152601860248201527f3a206d617820686f6c64206c696d6974206578636565647300000000000000006044820152606401610a0f565b611b1b8383611b88565b6001600160a01b0383165f9081526008602052604090205460019060ff1680611b5b57506001600160a01b0383165f9081526008602052604090205460ff165b80611b6e5750601054610100900460ff16155b15611b7657505f5b611b8284848484611c6e565b50505050565b305f90815260056020526040902054600b5481108015908190611bb957506011546001600160a01b03858116911614155b8015611bc7575060105460ff165b8015611bf557506001600160a01b03841630148015611bf357506011546001600160a01b038481169116145b155b15611b8257611c1c30601060039054906101000a90046001600160a01b0316600b546116ab565b611c27600b54611e4e565b478015611c67576012546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611c65573d5f803e3d5ffd5b505b5050505050565b6011546001600160a01b038581169116148015611c885750805b15611d65575f80611c98846113ea565b9150611ca482856122f2565b6001600160a01b0387165f90815260056020526040902054909150611cca9085906122f2565b6001600160a01b038088165f908152600560205260408082209390935590871681522054611cf9908290612305565b6001600160a01b038087165f8181526005602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d4c9085815260200190565b60405180910390a3611d5e8683611fa8565b5050611b82565b6011546001600160a01b038481169116148015611d7f5750805b15611d9b575f611d8e83611698565b90505f611ca482856122f2565b6001600160a01b0384165f90815260056020526040902054611dbe9083906122f2565b6001600160a01b038086165f908152600560205260408082209390935590851681522054611ded908390612305565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611e409086815260200190565b60405180910390a350505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611e8157611e81612361565b60200260200101906001600160a01b031690816001600160a01b031681525050601060039054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ef2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f1691906123cb565b81600181518110611f2957611f29612361565b6001600160a01b039283166020918202929092010152601054630100000090041663791ac947835f8430611f5f4261012c612305565b6040518663ffffffff1660e01b8152600401611f7f9594939291906123e6565b5f604051808303815f87803b158015611f96575f80fd5b505af1158015611c65573d5f803e3d5ffd5b305f90815260056020526040902054611fc2908290612305565b305f81815260056020526040908190209290925590516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906120129085815260200190565b60405180910390a35050565b5f6020808352835180828501525f5b818110156120495785810183015185820160400152820161202d565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461207d575f80fd5b50565b803561208b81612069565b919050565b5f80604083850312156120a1575f80fd5b82356120ac81612069565b946020939093013593505050565b801515811461207d575f80fd5b803561208b816120ba565b5f602082840312156120e2575f80fd5b8135611407816120ba565b5f805f606084860312156120ff575f80fd5b833561210a81612069565b9250602084013561211a81612069565b929592945050506040919091013590565b5f806040838503121561213c575f80fd5b823561214781612069565b91506020830135612157816120ba565b809150509250929050565b5f60208284031215612172575f80fd5b813561140781612069565b5f6020828403121561218d575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b5f80604083850312156121b9575f80fd5b823567ffffffffffffffff808211156121d0575f80fd5b818501915085601f8301126121e3575f80fd5b81356020828211156121f7576121f7612194565b8160051b604051601f19603f8301168101818110868211171561221c5761221c612194565b604052928352818301935084810182019289841115612239575f80fd5b948201945b8386101561225e5761224f86612080565b8552948201949382019361223e565b965061226d90508782016120c7565b9450505050509250929050565b5f806040838503121561228b575f80fd5b823561229681612069565b9150602083013561215781612069565b600181811c908216806122ba57607f821691505b6020821081036122d857634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156109b4576109b46122de565b808201808211156109b4576109b46122de565b80820281158282048414176109b4576109b46122de565b5f6020828403121561233f575f80fd5b5051919050565b5f60208284031215612356575f80fd5b8151611407816120ba565b634e487b7160e01b5f52603260045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123a5576123a56122de565b5060010190565b5f826123c657634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156123db575f80fd5b815161140781612069565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156124345784516001600160a01b03168352938301939183019160010161240f565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f92dc07fe36c72f1b97c3115254e5fb9382e5fa78ebedb8c6964b15b63f2abf464736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000005636bc606c79b7cbb2a5177db8584b3aff509f26
-----Decoded View---------------
Arg [0] : _marketingWallet (address): 0x5636bc606C79b7cbB2A5177DB8584B3aFF509F26
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005636bc606c79b7cbb2a5177db8584b3aff509f26
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.