ERC-20
Overview
Max Total Supply
1,000,000,000 PAC
Holders
33
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
2,309,998.479458329 PACValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Melo5571
Compiler Version
v0.8.26+commit.8a97fa7a
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: Unlicensed /** AMERICAPAC */ pragma solidity 0.8.26; interface ERC20 { 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 getOwner() external view returns (address); 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); } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } } contract Ownable is Context { address public _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() external virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = 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; } } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface InterfaceLP { function sync() external; } contract Melo5571 is Ownable, ERC20 { address immutable WETH; address constant DEAD = 0x000000000000000000000000000000000000dEaD; string constant _name = "AmericaPAC"; string constant _symbol = "PAC"; uint8 constant _decimals = 9; uint256 constant _totalSupply = 1000000000 * 10**_decimals; uint256 public _maxTxAmount = _totalSupply / 50; uint256 public _maxWalletAmount = _totalSupply / 50; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; uint256 public buyFee = 23; uint256 public sellFee = 23; uint256 constant transferFee = 0; uint256 private lastSwap; address private marketingFeeReceiver; IDEXRouter public router; InterfaceLP private pairContract; address immutable public pair; bool public TradingOpen = false; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 100; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } event maxWalletUpdated(uint256 indexed maxWalletAmount); event maxTxUpdated(uint256 indexed maxTxAmount); event maxLimitsRemoved(uint256 indexed maxWalletToken, uint256 indexed maxTxAmount); event exemptFees(address indexed holder, bool indexed exempt); event exemptTxLimit(address indexed holder, bool indexed exempt); event buyFeeUpdated(uint256 indexed buyFee); event sellFeeUpdated(uint256 indexed sellFee); event feesWalletUpdated(address indexed marketingFeeReceiver); event swapbackSettingsUpdated(bool indexed enabled, uint256 indexed amount); event tradingEnabled(bool indexed enabled, uint256 indexed startTime); constructor () { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); pairContract = InterfaceLP(pair); _allowances[address(this)][address(router)] = type(uint256).max; marketingFeeReceiver = 0xf4cC90842e4Eadb3b335852f3a55f3402F30aFf2; isFeeExempt[msg.sender] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[pair] = true; isTxLimitExempt[marketingFeeReceiver] = true; isTxLimitExempt[address(this)] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } 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 getOwner() external view override returns (address) {return owner();} 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) { require(spender != address(0), "Spender is the zero address"); _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveAll(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { require(recipient != address(0), "Recipient is the zero address"); return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { require(sender != address(0), "Sender is the zero address"); require(recipient != address(0), "Recipient is the zero address"); uint256 currentAllowance = _allowances[sender][_msgSender()]; if(currentAllowance != type(uint256).max){ require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _allowances[sender][_msgSender()] = currentAllowance - amount; } } return _transferFrom(sender, recipient, amount); } function setMaxWallet(uint256 maxWalletPercent) external onlyOwner { require(maxWalletPercent >= 5,"Max wallet cannont be less than 0.5% ."); _maxWalletAmount = (_totalSupply * maxWalletPercent ) / 1000; emit maxWalletUpdated(_maxWalletAmount); } function setMaxTx(uint256 maxTxPercent) external onlyOwner { require(maxTxPercent >= 5,"Max transaction cannont be less than 0.5% ."); _maxTxAmount = (_totalSupply * maxTxPercent ) / 1000; emit maxTxUpdated(_maxTxAmount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if(sender != owner()){ require(TradingOpen,"Trading not open yet"); } checkTxLimit(sender, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient); if (sender != owner() && (recipient != address(this) && recipient != address(DEAD) && recipient != pair && recipient != marketingFeeReceiver && !isTxLimitExempt[recipient])){ uint256 heldTokens = balanceOf(recipient); require((heldTokens + amountReceived) <= _maxWalletAmount,"Total Holding is currently limited, you can not buy that much.");} if( lastSwap != block.number && _balances[address(this)] >= swapThreshold && swapEnabled && !inSwap && recipient == pair ){ swapBack(); lastSwap = block.number; } unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amountReceived; emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); return true; } function checkTxLimit(address sender, uint256 amount) internal view { require(amount <= _maxTxAmount || isTxLimitExempt[sender], "Tx Limit Exceeded"); } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) { uint256 feeAmount = 0; uint256 notFeeAmount; if(recipient == pair) { feeAmount = (amount * sellFee) / 100; } else if(sender == pair) { feeAmount = (amount * buyFee) / 100; }else{ feeAmount = 0; } if(feeAmount > 0) { _balances[address(this)] += feeAmount; emit Transfer(sender, address(this), feeAmount); notFeeAmount = amount - feeAmount; } else { notFeeAmount = amount; } return notFeeAmount; } function removeMaxLimits() external onlyOwner { _maxWalletAmount = _totalSupply; _maxTxAmount = _totalSupply; emit maxLimitsRemoved(_maxWalletAmount, _maxTxAmount); } function Lunch() external onlyOwner { require(!TradingOpen,"Trading already Enabled."); TradingOpen = true; lastSwap = block.number; emit tradingEnabled(TradingOpen, lastSwap); } function swapBack() internal swapping { uint256 amountToSwap = swapThreshold; address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 totalETHFee = address(this).balance; (bool tmpSuccess1,) = payable(marketingFeeReceiver).call{value: totalETHFee}(""); require(tmpSuccess1, "Failed to send ether to Marketing Fee Receiver."); } function exemptAll(address holder, bool exempt) external onlyOwner { require(holder != address(0), "Holder is the zero address"); isFeeExempt[holder] = exempt; isTxLimitExempt[holder] = exempt; emit exemptFees(holder, exempt); } function setTxLimitExempt(address holder, bool exempt) external onlyOwner { require(holder != address(0), "Holder is the zero address"); isTxLimitExempt[holder] = exempt; emit exemptTxLimit(holder, exempt); } function updateBuyFee(uint256 _buyFee) external onlyOwner { require( _buyFee <= 5, "Fees can not be more than 5%"); buyFee =_buyFee; emit buyFeeUpdated(buyFee); } function updateSellFee(uint256 _sellFee) external onlyOwner { require(_sellFee <= 10, "Fees can not be more than 10%"); sellFee =_sellFee; emit sellFeeUpdated(_sellFee); } function updatefeeWallet( address _marketingFeeReceiver) external onlyOwner { require(_marketingFeeReceiver != address(0) , "Marketing fee receiver cannot be zero address"); marketingFeeReceiver = _marketingFeeReceiver; emit feesWalletUpdated(marketingFeeReceiver); } function editSwapbackSettings(bool _enabled, uint256 _amount) external onlyOwner { swapEnabled = _enabled; swapThreshold = _amount * 10**_decimals; emit swapbackSettingsUpdated(_enabled, _amount); } }
{ "optimizer": { "enabled": true, "runs": 200 }, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"buyFee","type":"uint256"}],"name":"buyFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"holder","type":"address"},{"indexed":true,"internalType":"bool","name":"exempt","type":"bool"}],"name":"exemptFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"holder","type":"address"},{"indexed":true,"internalType":"bool","name":"exempt","type":"bool"}],"name":"exemptTxLimit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"marketingFeeReceiver","type":"address"}],"name":"feesWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"maxWalletToken","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"maxLimitsRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"maxTxUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"maxWalletAmount","type":"uint256"}],"name":"maxWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"sellFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"enabled","type":"bool"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"swapbackSettingsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"enabled","type":"bool"},{"indexed":true,"internalType":"uint256","name":"startTime","type":"uint256"}],"name":"tradingEnabled","type":"event"},{"inputs":[],"name":"Lunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"spender","type":"address"}],"name":"approveAll","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":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"editSwapbackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"exemptAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeMaxLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletPercent","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"}],"name":"updateBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"updateSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"updatefeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c060405260326100126009600a61049d565b61002090633b9aca006104b3565b61002a91906104ca565b600155603261003b6009600a61049d565b61004990633b9aca006104b3565b61005391906104ca565b60025560176007819055600855600c805461ffff60a01b1916600160a81b17905560646100826009600a61049d565b61009090633b9aca006104b3565b61009a91906104ca565b600d553480156100a957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801561014f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017391906104ec565b6001600160a01b03908116608052600b546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156101c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e791906104ec565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015610238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025c91906104ec565b6001600160a01b0390811660a0819052600c80546001600160a01b03199081168317909155306000818152600460209081526040808320600b548816845282528083206000199055600a805490951673f4cc90842e4eadb3b335852f3a55f3402f30aff217855533835260058252808320805460ff19908116600190811790925560069093528184208054841682179055958352808320805483168717905584549096168252858220805482168617905591815293909320805490931690911790915561032b9060099061049d565b61033990633b9aca006104b3565b33600081815260036020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61037a6009600a61049d565b61038890633b9aca006104b3565b60405190815260200160405180910390a3610515565b634e487b7160e01b600052601160045260246000fd5b6001815b60018411156103ef578085048111156103d3576103d361039e565b60018416156103e157908102905b60019390931c9280026103b8565b935093915050565b60008261040657506001610497565b8161041357506000610497565b816001811461042957600281146104335761044f565b6001915050610497565b60ff8411156104445761044461039e565b50506001821b610497565b5060208310610133831016604e8410600b8410161715610472575081810a610497565b61047f60001984846103b4565b80600019048211156104935761049361039e565b0290505b92915050565b60006104ac60ff8416836103f7565b9392505050565b80820281158282048414176104975761049761039e565b6000826104e757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156104fe57600080fd5b81516001600160a01b03811681146104ac57600080fd5b60805160a051611ed161055660003960008181610539015281816114160152818161157b015281816117a201526117ee015260006119260152611ed16000f3fe6080604052600436106101fd5760003560e01c806370a082311161010d578063a9059cbb116100a0578063dd62ed3e1161006f578063dd62ed3e146105db578063f2fde38b14610621578063f6a78e1714610641578063f887ea4014610656578063fb1c37911461067657600080fd5b8063a9059cbb1461055b578063b2bdfa7b1461057b578063bc3371821461059b578063ccf8c036146105bb57600080fd5b80638d7a8ba7116100dc5780638d7a8ba7146104bd5780638da5cb5b146104dd57806395d89b41146104fb578063a8aa1b311461052757600080fd5b806370a082311461042a578063715018a6146104605780637d1db4a514610475578063893d20e81461048b57600080fd5b806323b872dd11610190578063467abe0a1161015f578063467abe0a1461039d57806347062402146103bd5780635d0044ca146103d35780636c0a24eb146103f35780636ddd17131461040957600080fd5b806323b872dd146103365780632b14ca56146103565780632e6b02581461036c578063313ce5671461038157600080fd5b806308fd3d05116101cc57806308fd3d05146102c0578063095ea7b3146102e157806318160ddd146103015780631d933a4a1461031657600080fd5b806304368f65146102095780630445b6671461022b5780630621472c1461025457806306fdde031461028457600080fd5b3661020457005b600080fd5b34801561021557600080fd5b50610229610224366004611ab4565b610696565b005b34801561023757600080fd5b50610241600d5481565b6040519081526020015b60405180910390f35b34801561026057600080fd5b5061027461026f366004611af5565b61072c565b604051901515815260200161024b565b34801561029057600080fd5b5060408051808201909152600a815269416d657269636150414360b01b60208201525b60405161024b9190611b10565b3480156102cc57600080fd5b50600c5461027490600160a01b900460ff1681565b3480156102ed57600080fd5b506102746102fc366004611b5e565b610740565b34801561030d57600080fd5b506102416107fc565b34801561032257600080fd5b50610229610331366004611b7a565b61081d565b34801561034257600080fd5b50610274610351366004611b93565b6108cb565b34801561036257600080fd5b5061024160085481565b34801561037857600080fd5b50610229610a46565b34801561038d57600080fd5b506040516009815260200161024b565b3480156103a957600080fd5b506102296103b8366004611b7a565b610b1e565b3480156103c957600080fd5b5061024160075481565b3480156103df57600080fd5b506102296103ee366004611b7a565b610bcc565b3480156103ff57600080fd5b5061024160025481565b34801561041557600080fd5b50600c5461027490600160a81b900460ff1681565b34801561043657600080fd5b50610241610445366004611af5565b6001600160a01b031660009081526003602052604090205490565b34801561046c57600080fd5b50610229610cb9565b34801561048157600080fd5b5061024160015481565b34801561049757600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161024b565b3480156104c957600080fd5b506102296104d8366004611bd0565b610d2d565b3480156104e957600080fd5b506000546001600160a01b03166104a5565b34801561050757600080fd5b5060408051808201909152600381526250414360e81b60208201526102b3565b34801561053357600080fd5b506104a57f000000000000000000000000000000000000000000000000000000000000000081565b34801561056757600080fd5b50610274610576366004611b5e565b610e01565b34801561058757600080fd5b506000546104a5906001600160a01b031681565b3480156105a757600080fd5b506102296105b6366004611b7a565b610e64565b3480156105c757600080fd5b506102296105d6366004611bd0565b610f56565b3480156105e757600080fd5b506102416105f6366004611c03565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561062d57600080fd5b5061022961063c366004611af5565b61103e565b34801561064d57600080fd5b50610229611128565b34801561066257600080fd5b50600b546104a5906001600160a01b031681565b34801561068257600080fd5b50610229610691366004611af5565b6111bc565b6000546001600160a01b031633146106c95760405162461bcd60e51b81526004016106c090611c2d565b60405180910390fd5b600c805460ff60a81b1916600160a81b841515021790556106ec6009600a611d5f565b6106f69082611d6e565b600d556040518190831515907fd896c9007bf8dc883f6b125322395dddc87bf825aed2e302315071c66e0d5dd990600090a35050565b600061073a82600019610740565b92915050565b60006001600160a01b0383166107985760405162461bcd60e51b815260206004820152601b60248201527f5370656e64657220697320746865207a65726f2061646472657373000000000060448201526064016106c0565b3360008181526004602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350600192915050565b600061080a6009600a611d5f565b61081890633b9aca00611d6e565b905090565b6000546001600160a01b031633146108475760405162461bcd60e51b81526004016106c090611c2d565b600a8111156108985760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e2031302500000060448201526064016106c0565b600881905560405181907f63d66ef9bcebaeaa6f4eb61e9327d3f4098c923aa98a5fc5326a53f2e145f4f290600090a250565b60006001600160a01b0384166109235760405162461bcd60e51b815260206004820152601a60248201527f53656e64657220697320746865207a65726f206164647265737300000000000060448201526064016106c0565b6001600160a01b0383166109795760405162461bcd60e51b815260206004820152601d60248201527f526563697069656e7420697320746865207a65726f206164647265737300000060448201526064016106c0565b6001600160a01b03841660009081526004602090815260408083203384529091529020546000198114610a305782811015610a075760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016106c0565b6001600160a01b0385166000908152600460209081526040808320338452909152902083820390555b610a3b85858561129c565b9150505b9392505050565b6000546001600160a01b03163314610a705760405162461bcd60e51b81526004016106c090611c2d565b600c54600160a01b900460ff1615610aca5760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920456e61626c65642e000000000000000060448201526064016106c0565b600c805460ff60a01b1916600160a01b9081179182905543600981905560405190929190910460ff161515907f07c24843b569ea20bd3c266fb17047bdd751e44ea3afa2150f231b90bc669f4d90600090a3565b6000546001600160a01b03163314610b485760405162461bcd60e51b81526004016106c090611c2d565b6005811115610b995760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e206e6f74206265206d6f7265207468616e2035250000000060448201526064016106c0565b600781905560405181907f11953a0453d6e2e337ab856b9de1f4818ffa2a51f3a9c12f924e2a043ae37f6d90600090a250565b6000546001600160a01b03163314610bf65760405162461bcd60e51b81526004016106c090611c2d565b6005811015610c565760405162461bcd60e51b815260206004820152602660248201527f4d61782077616c6c65742063616e6e6f6e74206265206c657373207468616e2060448201526518171a92901760d11b60648201526084016106c0565b6103e881610c666009600a611d5f565b610c7490633b9aca00611d6e565b610c7e9190611d6e565b610c889190611d85565b60028190556040517ff8c5ab682312267665fe2e7afb06ce5e015dae6e8e8b89ebf47de5312c153c3590600090a250565b6000546001600160a01b03163314610ce35760405162461bcd60e51b81526004016106c090611c2d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610d575760405162461bcd60e51b81526004016106c090611c2d565b6001600160a01b038216610dad5760405162461bcd60e51b815260206004820152601a60248201527f486f6c64657220697320746865207a65726f206164647265737300000000000060448201526064016106c0565b6001600160a01b038216600081815260066020526040808220805460ff191685151590811790915590519092917f5422e85d9bcca047954218b93afb25e9bc2afe9bdc19e7297968b2c919c8377591a35050565b60006001600160a01b038316610e595760405162461bcd60e51b815260206004820152601d60248201527f526563697069656e7420697320746865207a65726f206164647265737300000060448201526064016106c0565b610a3f33848461129c565b6000546001600160a01b03163314610e8e5760405162461bcd60e51b81526004016106c090611c2d565b6005811015610ef35760405162461bcd60e51b815260206004820152602b60248201527f4d6178207472616e73616374696f6e2063616e6e6f6e74206265206c6573732060448201526a3a3430b71018171a92901760a91b60648201526084016106c0565b6103e881610f036009600a611d5f565b610f1190633b9aca00611d6e565b610f1b9190611d6e565b610f259190611d85565b60018190556040517f3e20d7489efd636786bf4e1e0eb2addeb10f5435dc95fff56528021af35c504190600090a250565b6000546001600160a01b03163314610f805760405162461bcd60e51b81526004016106c090611c2d565b6001600160a01b038216610fd65760405162461bcd60e51b815260206004820152601a60248201527f486f6c64657220697320746865207a65726f206164647265737300000000000060448201526064016106c0565b6001600160a01b0382166000818152600560209081526040808320805486151560ff199182168117909255600690935281842080549093168117909255519092917f4aaa6e45cd52263caf7af003089cdf83d1751392e7edf53c1b5542d94f39734691a35050565b6000546001600160a01b031633146110685760405162461bcd60e51b81526004016106c090611c2d565b6001600160a01b0381166110cd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106c0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146111525760405162461bcd60e51b81526004016106c090611c2d565b61115e6009600a611d5f565b61116c90633b9aca00611d6e565b60025561117b6009600a611d5f565b61118990633b9aca00611d6e565b60018190556002546040517fe5ca8724fdb01105b3129a1959a63ecdb2638b93266579bbcca33b66c737faa990600090a3565b6000546001600160a01b031633146111e65760405162461bcd60e51b81526004016106c090611c2d565b6001600160a01b0381166112525760405162461bcd60e51b815260206004820152602d60248201527f4d61726b6574696e67206665652072656365697665722063616e6e6f7420626560448201526c207a65726f206164647265737360981b60648201526084016106c0565b600a80546001600160a01b0319166001600160a01b0383169081179091556040517f5e6894395320346b3bc32e11af639cec1465f714c0956a0f2ab9c0ec0084364190600090a250565b600e5460009060ff16156112bc576112b5848484611658565b9050610a3f565b6000546001600160a01b0385811691161461132157600c54600160a01b900460ff166113215760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016106c0565b61132b8483611727565b6001600160a01b038416600090815260036020526040902054828110156113645760405162461bcd60e51b81526004016106c090611da7565b6001600160a01b03851660009081526005602052604081205460ff16806113a357506001600160a01b03851660009081526005602052604090205460ff165b6113b7576113b2868587611794565b6113b9565b835b90506113cd6000546001600160a01b031690565b6001600160a01b0316866001600160a01b03161415801561148a57506001600160a01b038516301480159061140d57506001600160a01b03851661dead14155b801561144b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b80156114655750600a546001600160a01b03868116911614155b801561148a57506001600160a01b03851660009081526006602052604090205460ff16155b1561152b576001600160a01b0385166000908152600360205260409020546002546114b58383611ded565b11156115295760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016106c0565b505b436009541415801561154e5750600d543060009081526003602052604090205410155b80156115635750600c54600160a81b900460ff165b80156115725750600e5460ff16155b80156115af57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b156115c1576115bc6118bf565b436009555b6001600160a01b038087166000908152600360205260408082208786039055918716815290812080548392906115f8908490611ded565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161164491815260200190565b60405180910390a350600195945050505050565b6001600160a01b038316600090815260036020526040812054828110156116915760405162461bcd60e51b81526004016106c090611da7565b6001600160a01b038086166000908152600360205260408082208685039055918616815290812080548592906116c8908490611ded565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161171491815260200190565b60405180910390a3506001949350505050565b6001548111158061175057506001600160a01b03821660009081526006602052604090205460ff165b6117905760405162461bcd60e51b8152602060048201526011602482015270151e08131a5b5a5d08115e18d959591959607a1b60448201526064016106c0565b5050565b600080806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116908516036117ec576064600854866117db9190611d6e565b6117e59190611d85565b915061183a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b031603611835576064600754866117db9190611d6e565b600091505b81156118b557306000908152600360205260408120805484929061185f908490611ded565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36118ae8286611e00565b9050610a3b565b5092949350505050565b600e805460ff19166001179055600d54604080516002808252606082018352600092602083019080368337019050509050308160008151811061190457611904611e13565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061195857611958611e13565b6001600160a01b039283166020918202929092010152600b5460405163791ac94760e01b815291169063791ac9479061199e908590600090869030904290600401611e29565b600060405180830381600087803b1580156119b857600080fd5b505af11580156119cc573d6000803e3d6000fd5b5050600a54604051479350600092506001600160a01b039091169083908381818185875af1925050503d8060008114611a21576040519150601f19603f3d011682016040523d82523d6000602084013e611a26565b606091505b5050905080611a8f5760405162461bcd60e51b815260206004820152602f60248201527f4661696c656420746f2073656e6420657468657220746f204d61726b6574696e60448201526e33902332b2902932b1b2b4bb32b91760891b60648201526084016106c0565b5050600e805460ff191690555050565b80358015158114611aaf57600080fd5b919050565b60008060408385031215611ac757600080fd5b611ad083611a9f565b946020939093013593505050565b80356001600160a01b0381168114611aaf57600080fd5b600060208284031215611b0757600080fd5b610a3f82611ade565b602081526000825180602084015260005b81811015611b3e5760208186018101516040868401015201611b21565b506000604082850101526040601f19601f83011684010191505092915050565b60008060408385031215611b7157600080fd5b611ad083611ade565b600060208284031215611b8c57600080fd5b5035919050565b600080600060608486031215611ba857600080fd5b611bb184611ade565b9250611bbf60208501611ade565b929592945050506040919091013590565b60008060408385031215611be357600080fd5b611bec83611ade565b9150611bfa60208401611a9f565b90509250929050565b60008060408385031215611c1657600080fd5b611c1f83611ade565b9150611bfa60208401611ade565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6001815b6001841115611cb357808504811115611c9757611c97611c62565b6001841615611ca557908102905b60019390931c928002611c7c565b935093915050565b600082611cca5750600161073a565b81611cd75750600061073a565b8160018114611ced5760028114611cf757611d13565b600191505061073a565b60ff841115611d0857611d08611c62565b50506001821b61073a565b5060208310610133831016604e8410600b8410161715611d36575081810a61073a565b611d436000198484611c78565b8060001904821115611d5757611d57611c62565b029392505050565b6000610a3f60ff841683611cbb565b808202811582820484141761073a5761073a611c62565b600082611da257634e487b7160e01b600052601260045260246000fd5b500490565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b8082018082111561073a5761073a611c62565b8181038181111561073a5761073a611c62565b634e487b7160e01b600052603260045260246000fd5b600060a0820187835286602084015260a0604084015280865180835260c08501915060208801925060005b81811015611e7b5783516001600160a01b0316835260209384019390920191600101611e54565b50506001600160a01b03959095166060840152505060800152939250505056fea26469706673582212202a438bac1496fb7f59acb7aaadb70b4a3c50e3b66d4281b5962e8a9739d3088064736f6c634300081a0033
Deployed Bytecode
0x6080604052600436106101fd5760003560e01c806370a082311161010d578063a9059cbb116100a0578063dd62ed3e1161006f578063dd62ed3e146105db578063f2fde38b14610621578063f6a78e1714610641578063f887ea4014610656578063fb1c37911461067657600080fd5b8063a9059cbb1461055b578063b2bdfa7b1461057b578063bc3371821461059b578063ccf8c036146105bb57600080fd5b80638d7a8ba7116100dc5780638d7a8ba7146104bd5780638da5cb5b146104dd57806395d89b41146104fb578063a8aa1b311461052757600080fd5b806370a082311461042a578063715018a6146104605780637d1db4a514610475578063893d20e81461048b57600080fd5b806323b872dd11610190578063467abe0a1161015f578063467abe0a1461039d57806347062402146103bd5780635d0044ca146103d35780636c0a24eb146103f35780636ddd17131461040957600080fd5b806323b872dd146103365780632b14ca56146103565780632e6b02581461036c578063313ce5671461038157600080fd5b806308fd3d05116101cc57806308fd3d05146102c0578063095ea7b3146102e157806318160ddd146103015780631d933a4a1461031657600080fd5b806304368f65146102095780630445b6671461022b5780630621472c1461025457806306fdde031461028457600080fd5b3661020457005b600080fd5b34801561021557600080fd5b50610229610224366004611ab4565b610696565b005b34801561023757600080fd5b50610241600d5481565b6040519081526020015b60405180910390f35b34801561026057600080fd5b5061027461026f366004611af5565b61072c565b604051901515815260200161024b565b34801561029057600080fd5b5060408051808201909152600a815269416d657269636150414360b01b60208201525b60405161024b9190611b10565b3480156102cc57600080fd5b50600c5461027490600160a01b900460ff1681565b3480156102ed57600080fd5b506102746102fc366004611b5e565b610740565b34801561030d57600080fd5b506102416107fc565b34801561032257600080fd5b50610229610331366004611b7a565b61081d565b34801561034257600080fd5b50610274610351366004611b93565b6108cb565b34801561036257600080fd5b5061024160085481565b34801561037857600080fd5b50610229610a46565b34801561038d57600080fd5b506040516009815260200161024b565b3480156103a957600080fd5b506102296103b8366004611b7a565b610b1e565b3480156103c957600080fd5b5061024160075481565b3480156103df57600080fd5b506102296103ee366004611b7a565b610bcc565b3480156103ff57600080fd5b5061024160025481565b34801561041557600080fd5b50600c5461027490600160a81b900460ff1681565b34801561043657600080fd5b50610241610445366004611af5565b6001600160a01b031660009081526003602052604090205490565b34801561046c57600080fd5b50610229610cb9565b34801561048157600080fd5b5061024160015481565b34801561049757600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161024b565b3480156104c957600080fd5b506102296104d8366004611bd0565b610d2d565b3480156104e957600080fd5b506000546001600160a01b03166104a5565b34801561050757600080fd5b5060408051808201909152600381526250414360e81b60208201526102b3565b34801561053357600080fd5b506104a57f00000000000000000000000069eecec2d126145fde7ab2d5c1c77e14435d928e81565b34801561056757600080fd5b50610274610576366004611b5e565b610e01565b34801561058757600080fd5b506000546104a5906001600160a01b031681565b3480156105a757600080fd5b506102296105b6366004611b7a565b610e64565b3480156105c757600080fd5b506102296105d6366004611bd0565b610f56565b3480156105e757600080fd5b506102416105f6366004611c03565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561062d57600080fd5b5061022961063c366004611af5565b61103e565b34801561064d57600080fd5b50610229611128565b34801561066257600080fd5b50600b546104a5906001600160a01b031681565b34801561068257600080fd5b50610229610691366004611af5565b6111bc565b6000546001600160a01b031633146106c95760405162461bcd60e51b81526004016106c090611c2d565b60405180910390fd5b600c805460ff60a81b1916600160a81b841515021790556106ec6009600a611d5f565b6106f69082611d6e565b600d556040518190831515907fd896c9007bf8dc883f6b125322395dddc87bf825aed2e302315071c66e0d5dd990600090a35050565b600061073a82600019610740565b92915050565b60006001600160a01b0383166107985760405162461bcd60e51b815260206004820152601b60248201527f5370656e64657220697320746865207a65726f2061646472657373000000000060448201526064016106c0565b3360008181526004602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350600192915050565b600061080a6009600a611d5f565b61081890633b9aca00611d6e565b905090565b6000546001600160a01b031633146108475760405162461bcd60e51b81526004016106c090611c2d565b600a8111156108985760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e2031302500000060448201526064016106c0565b600881905560405181907f63d66ef9bcebaeaa6f4eb61e9327d3f4098c923aa98a5fc5326a53f2e145f4f290600090a250565b60006001600160a01b0384166109235760405162461bcd60e51b815260206004820152601a60248201527f53656e64657220697320746865207a65726f206164647265737300000000000060448201526064016106c0565b6001600160a01b0383166109795760405162461bcd60e51b815260206004820152601d60248201527f526563697069656e7420697320746865207a65726f206164647265737300000060448201526064016106c0565b6001600160a01b03841660009081526004602090815260408083203384529091529020546000198114610a305782811015610a075760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016106c0565b6001600160a01b0385166000908152600460209081526040808320338452909152902083820390555b610a3b85858561129c565b9150505b9392505050565b6000546001600160a01b03163314610a705760405162461bcd60e51b81526004016106c090611c2d565b600c54600160a01b900460ff1615610aca5760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920456e61626c65642e000000000000000060448201526064016106c0565b600c805460ff60a01b1916600160a01b9081179182905543600981905560405190929190910460ff161515907f07c24843b569ea20bd3c266fb17047bdd751e44ea3afa2150f231b90bc669f4d90600090a3565b6000546001600160a01b03163314610b485760405162461bcd60e51b81526004016106c090611c2d565b6005811115610b995760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e206e6f74206265206d6f7265207468616e2035250000000060448201526064016106c0565b600781905560405181907f11953a0453d6e2e337ab856b9de1f4818ffa2a51f3a9c12f924e2a043ae37f6d90600090a250565b6000546001600160a01b03163314610bf65760405162461bcd60e51b81526004016106c090611c2d565b6005811015610c565760405162461bcd60e51b815260206004820152602660248201527f4d61782077616c6c65742063616e6e6f6e74206265206c657373207468616e2060448201526518171a92901760d11b60648201526084016106c0565b6103e881610c666009600a611d5f565b610c7490633b9aca00611d6e565b610c7e9190611d6e565b610c889190611d85565b60028190556040517ff8c5ab682312267665fe2e7afb06ce5e015dae6e8e8b89ebf47de5312c153c3590600090a250565b6000546001600160a01b03163314610ce35760405162461bcd60e51b81526004016106c090611c2d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610d575760405162461bcd60e51b81526004016106c090611c2d565b6001600160a01b038216610dad5760405162461bcd60e51b815260206004820152601a60248201527f486f6c64657220697320746865207a65726f206164647265737300000000000060448201526064016106c0565b6001600160a01b038216600081815260066020526040808220805460ff191685151590811790915590519092917f5422e85d9bcca047954218b93afb25e9bc2afe9bdc19e7297968b2c919c8377591a35050565b60006001600160a01b038316610e595760405162461bcd60e51b815260206004820152601d60248201527f526563697069656e7420697320746865207a65726f206164647265737300000060448201526064016106c0565b610a3f33848461129c565b6000546001600160a01b03163314610e8e5760405162461bcd60e51b81526004016106c090611c2d565b6005811015610ef35760405162461bcd60e51b815260206004820152602b60248201527f4d6178207472616e73616374696f6e2063616e6e6f6e74206265206c6573732060448201526a3a3430b71018171a92901760a91b60648201526084016106c0565b6103e881610f036009600a611d5f565b610f1190633b9aca00611d6e565b610f1b9190611d6e565b610f259190611d85565b60018190556040517f3e20d7489efd636786bf4e1e0eb2addeb10f5435dc95fff56528021af35c504190600090a250565b6000546001600160a01b03163314610f805760405162461bcd60e51b81526004016106c090611c2d565b6001600160a01b038216610fd65760405162461bcd60e51b815260206004820152601a60248201527f486f6c64657220697320746865207a65726f206164647265737300000000000060448201526064016106c0565b6001600160a01b0382166000818152600560209081526040808320805486151560ff199182168117909255600690935281842080549093168117909255519092917f4aaa6e45cd52263caf7af003089cdf83d1751392e7edf53c1b5542d94f39734691a35050565b6000546001600160a01b031633146110685760405162461bcd60e51b81526004016106c090611c2d565b6001600160a01b0381166110cd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106c0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146111525760405162461bcd60e51b81526004016106c090611c2d565b61115e6009600a611d5f565b61116c90633b9aca00611d6e565b60025561117b6009600a611d5f565b61118990633b9aca00611d6e565b60018190556002546040517fe5ca8724fdb01105b3129a1959a63ecdb2638b93266579bbcca33b66c737faa990600090a3565b6000546001600160a01b031633146111e65760405162461bcd60e51b81526004016106c090611c2d565b6001600160a01b0381166112525760405162461bcd60e51b815260206004820152602d60248201527f4d61726b6574696e67206665652072656365697665722063616e6e6f7420626560448201526c207a65726f206164647265737360981b60648201526084016106c0565b600a80546001600160a01b0319166001600160a01b0383169081179091556040517f5e6894395320346b3bc32e11af639cec1465f714c0956a0f2ab9c0ec0084364190600090a250565b600e5460009060ff16156112bc576112b5848484611658565b9050610a3f565b6000546001600160a01b0385811691161461132157600c54600160a01b900460ff166113215760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016106c0565b61132b8483611727565b6001600160a01b038416600090815260036020526040902054828110156113645760405162461bcd60e51b81526004016106c090611da7565b6001600160a01b03851660009081526005602052604081205460ff16806113a357506001600160a01b03851660009081526005602052604090205460ff165b6113b7576113b2868587611794565b6113b9565b835b90506113cd6000546001600160a01b031690565b6001600160a01b0316866001600160a01b03161415801561148a57506001600160a01b038516301480159061140d57506001600160a01b03851661dead14155b801561144b57507f00000000000000000000000069eecec2d126145fde7ab2d5c1c77e14435d928e6001600160a01b0316856001600160a01b031614155b80156114655750600a546001600160a01b03868116911614155b801561148a57506001600160a01b03851660009081526006602052604090205460ff16155b1561152b576001600160a01b0385166000908152600360205260409020546002546114b58383611ded565b11156115295760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016106c0565b505b436009541415801561154e5750600d543060009081526003602052604090205410155b80156115635750600c54600160a81b900460ff165b80156115725750600e5460ff16155b80156115af57507f00000000000000000000000069eecec2d126145fde7ab2d5c1c77e14435d928e6001600160a01b0316856001600160a01b0316145b156115c1576115bc6118bf565b436009555b6001600160a01b038087166000908152600360205260408082208786039055918716815290812080548392906115f8908490611ded565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161164491815260200190565b60405180910390a350600195945050505050565b6001600160a01b038316600090815260036020526040812054828110156116915760405162461bcd60e51b81526004016106c090611da7565b6001600160a01b038086166000908152600360205260408082208685039055918616815290812080548592906116c8908490611ded565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161171491815260200190565b60405180910390a3506001949350505050565b6001548111158061175057506001600160a01b03821660009081526006602052604090205460ff165b6117905760405162461bcd60e51b8152602060048201526011602482015270151e08131a5b5a5d08115e18d959591959607a1b60448201526064016106c0565b5050565b600080806001600160a01b037f00000000000000000000000069eecec2d126145fde7ab2d5c1c77e14435d928e8116908516036117ec576064600854866117db9190611d6e565b6117e59190611d85565b915061183a565b7f00000000000000000000000069eecec2d126145fde7ab2d5c1c77e14435d928e6001600160a01b0316866001600160a01b031603611835576064600754866117db9190611d6e565b600091505b81156118b557306000908152600360205260408120805484929061185f908490611ded565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36118ae8286611e00565b9050610a3b565b5092949350505050565b600e805460ff19166001179055600d54604080516002808252606082018352600092602083019080368337019050509050308160008151811061190457611904611e13565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061195857611958611e13565b6001600160a01b039283166020918202929092010152600b5460405163791ac94760e01b815291169063791ac9479061199e908590600090869030904290600401611e29565b600060405180830381600087803b1580156119b857600080fd5b505af11580156119cc573d6000803e3d6000fd5b5050600a54604051479350600092506001600160a01b039091169083908381818185875af1925050503d8060008114611a21576040519150601f19603f3d011682016040523d82523d6000602084013e611a26565b606091505b5050905080611a8f5760405162461bcd60e51b815260206004820152602f60248201527f4661696c656420746f2073656e6420657468657220746f204d61726b6574696e60448201526e33902332b2902932b1b2b4bb32b91760891b60648201526084016106c0565b5050600e805460ff191690555050565b80358015158114611aaf57600080fd5b919050565b60008060408385031215611ac757600080fd5b611ad083611a9f565b946020939093013593505050565b80356001600160a01b0381168114611aaf57600080fd5b600060208284031215611b0757600080fd5b610a3f82611ade565b602081526000825180602084015260005b81811015611b3e5760208186018101516040868401015201611b21565b506000604082850101526040601f19601f83011684010191505092915050565b60008060408385031215611b7157600080fd5b611ad083611ade565b600060208284031215611b8c57600080fd5b5035919050565b600080600060608486031215611ba857600080fd5b611bb184611ade565b9250611bbf60208501611ade565b929592945050506040919091013590565b60008060408385031215611be357600080fd5b611bec83611ade565b9150611bfa60208401611a9f565b90509250929050565b60008060408385031215611c1657600080fd5b611c1f83611ade565b9150611bfa60208401611ade565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6001815b6001841115611cb357808504811115611c9757611c97611c62565b6001841615611ca557908102905b60019390931c928002611c7c565b935093915050565b600082611cca5750600161073a565b81611cd75750600061073a565b8160018114611ced5760028114611cf757611d13565b600191505061073a565b60ff841115611d0857611d08611c62565b50506001821b61073a565b5060208310610133831016604e8410600b8410161715611d36575081810a61073a565b611d436000198484611c78565b8060001904821115611d5757611d57611c62565b029392505050565b6000610a3f60ff841683611cbb565b808202811582820484141761073a5761073a611c62565b600082611da257634e487b7160e01b600052601260045260246000fd5b500490565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b8082018082111561073a5761073a611c62565b8181038181111561073a5761073a611c62565b634e487b7160e01b600052603260045260246000fd5b600060a0820187835286602084015260a0604084015280865180835260c08501915060208801925060005b81811015611e7b5783516001600160a01b0316835260209384019390920191600101611e54565b50506001600160a01b03959095166060840152505060800152939250505056fea26469706673582212202a438bac1496fb7f59acb7aaadb70b4a3c50e3b66d4281b5962e8a9739d3088064736f6c634300081a0033
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.