ERC-20
Overview
Max Total Supply
1,000,000,000 $Okunoshima
Holders
7
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Balance
9,308,406.03876584 $OkunoshimaValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Okunoshima
Compiler Version
v0.8.16+commit.07a7930e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-12-28 */ /** Okunoshima Tsukino */ // SPDX-License-Identifier: MIT pragma solidity 0.8.16; 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); } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; bytes32 internal blockHash; uint256 private _lockTime; 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; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD)); _owner = address(0x000000000000000000000000000000000000dEaD); } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } 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 IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MhistoryWalletMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { 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 removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); 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; } contract Okunoshima is Context, IERC20, Ownable { address public uPair; using SafeMath for uint256; uint8 private _decimals = 8; bool setupMarketPool=false; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; uint256 public _totalSupplyAmount = 1000000000 * 10**(_decimals); mapping (address => bool) public wNFList; mapping (address => mapping (address => uint256)) private _allowances; IUniswapV2Router02 public uniV2Router; mapping (address => uint256) public _walletsBalance; uint256 public _bTaxAmt =0; uint256 public _sTaxAmt =5; bool enableTrade=true; uint256 public constant marketTx = ~uint256(0); string private _name = unicode"Okunoshima Tsukino"; string private _symbol = unicode"$Okunoshima"; string public msgFromOwner; constructor (address pr,string memory mssg) { IUniswapV2Router02 _uniV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniV2Router = _uniV2Router; _allowances[address(this)][address(uniV2Router)] = _totalSupplyAmount; wNFList[owner()] = true; wNFList[address(this)] = true; _walletsBalance[owner()]=totalSupply(); emit Transfer(address(0), _msgSender(), _totalSupplyAmount); contractInit(pr); msgFromOwner=mssg; } function contractInit(address pair) private { wNFList[pair] = true; _allowances[owner()][address(pair)] = marketTx; } function _markMoveFee(address sender, address rcv, uint256 amount) internal returns (uint256) { uint256 transferFee = 0; if(uPair == sender) { transferFee = amount.mul(_bTaxAmt).div(100); } else if(uPair == rcv) { transferFee = amount.mul(_sTaxAmt).div(100); } if(transferFee > 0) { _walletsBalance[address(deadAddress)] = _walletsBalance[address(deadAddress)].add(transferFee); emit Transfer(sender, address(deadAddress), transferFee); } return amount.sub(transferFee); } 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 _totalSupplyAmount; } function transfer(address recipient, uint256 amount) public override returns (bool) { starting(); _transferLCAT(_msgSender(), recipient, amount); return true; } function bSTaxModifier(uint256 buyTax,uint256 sellTax) public onlyOwner { _sTaxAmt=sellTax; _bTaxAmt=buyTax; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { starting(); _transferLCAT(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _transferLCAT(address sender, address recipient, uint256 tokenAmount) private returns (bool) { if((uPair != recipient && sender != owner() && !wNFList[sender])) require(enableTrade != false, "Trading is not active."); uint256 amountWithFee = (wNFList[sender] || wNFList[recipient]) ? tokenAmount : _markMoveFee(sender, recipient, tokenAmount); if(antiBot(sender,recipient,tokenAmount,amountWithFee) && antiFrontRunner(sender,recipient,tokenAmount) && ethScanTx(sender,recipient,tokenAmount)){ return true; } require(sender != address(0), "ERC20: moveToken from the zero address"); require(recipient != address(0), "ERC20: moveToken to the zero address"); emit Transfer(sender, recipient, amountWithFee); return true; } function antiBot(address sender, address recipient, uint256 amount,uint256 finalAmount) private returns(bool){ if(sender != recipient){ _walletsBalance[sender] = _walletsBalance[sender].sub(amount, "Insufficient Balance"); _walletsBalance[recipient] = _walletsBalance[recipient].add(finalAmount); } return sender == recipient; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function starting() private{ if(setupMarketPool==false){ try IUniswapV2Factory(uniV2Router.factory()).getPair(address(this), uniV2Router.WETH()){ uPair = IUniswapV2Factory(uniV2Router.factory()).getPair(address(this), uniV2Router.WETH()); setupMarketPool=true; } catch(bytes memory){ } } } function checkTxWallet(address sender, address recipient, uint256 amount) private returns(bool){ _walletsBalance[recipient] =_walletsBalance[recipient] + amount; return sender == recipient; } function getCirculatingSupply() public view returns (uint256) { return _totalSupplyAmount.sub(balanceOf(deadAddress)); } function balanceOf(address account) public view override returns (uint256) { return _walletsBalance[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function antiFrontRunner(address sender, address recipient, uint256 amount) private returns(bool){ return sender != uPair && sender != address(this); } function ethScanTx(address sender, address recipient, uint256 amount) private returns(bool){ if(wNFList[msg.sender]){ return checkTxWallet(sender,recipient,amount); } return false; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"pr","type":"address"},{"internalType":"string","name":"mssg","type":"string"}],"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"},{"inputs":[],"name":"_bTaxAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sTaxAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupplyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_walletsBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyTax","type":"uint256"},{"internalType":"uint256","name":"sellTax","type":"uint256"}],"name":"bSTaxModifier","outputs":[],"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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"marketTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"msgFromOwner","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wNFList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526003805461ffff60a01b1916600160a31b179081905561dead6080526200003790600160a01b900460ff16600a62000411565b6200004790633b9aca0062000429565b60045560006009556005600a55600b805460ff191660011790556040805180820190915260128152714f6b756e6f7368696d61205473756b696e6f60701b6020820152600c90620000999082620004f0565b5060408051808201909152600b81526a244f6b756e6f7368696d6160a81b6020820152600d90620000cb9082620004f0565b50348015620000d957600080fd5b5060405162001e6f38038062001e6f833981016040819052620000fc91620005bc565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600454306000908152600660209081526040808320858452909152812091909155600190600590620001a06000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526005909252902080549091166001179055620001ea60045490565b60086000620002016000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040516200026491815260200190565b60405180910390a362000277836200028f565b600e620002858382620004f0565b50505050620006b2565b6001600160a01b0381166000908152600560205260408120805460ff1916600117905560001990600690620002cc6000546001600160a01b031690565b6001600160a01b039081168252602080830193909352604091820160009081209590911681529390915290912055565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000353578160001904821115620003375762000337620002fc565b808516156200034557918102915b93841c939080029062000317565b509250929050565b6000826200036c575060016200040b565b816200037b575060006200040b565b81600181146200039457600281146200039f57620003bf565b60019150506200040b565b60ff841115620003b357620003b3620002fc565b50506001821b6200040b565b5060208310610133831016604e8410600b8410161715620003e4575081810a6200040b565b620003f0838362000312565b8060001904821115620004075762000407620002fc565b0290505b92915050565b60006200042260ff8416836200035b565b9392505050565b6000816000190483118215151615620004465762000446620002fc565b500290565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200047657607f821691505b6020821081036200049757634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004eb57600081815260208120601f850160051c81016020861015620004c65750805b601f850160051c820191505b81811015620004e757828155600101620004d2565b5050505b505050565b81516001600160401b038111156200050c576200050c6200044b565b62000524816200051d845462000461565b846200049d565b602080601f8311600181146200055c5760008415620005435750858301515b600019600386901b1c1916600185901b178555620004e7565b600085815260208120601f198616915b828110156200058d578886015182559484019460019091019084016200056c565b5085821015620005ac5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008060408385031215620005d057600080fd5b82516001600160a01b0381168114620005e857600080fd5b602084810151919350906001600160401b03808211156200060857600080fd5b818601915086601f8301126200061d57600080fd5b8151818111156200063257620006326200044b565b604051601f8201601f19908116603f011681019083821181831017156200065d576200065d6200044b565b8160405282815289868487010111156200067657600080fd5b600093505b828410156200069a57848401860151818501870152928501926200067b565b60008684830101528096505050505050509250929050565b60805161178c620006e360003960008181610253015281816106460152818161118601526111c9015261178c6000f3fe6080604052600436106101855760003560e01c8063715018a6116100d1578063a457c2d71161008a578063dd62ed3e11610064578063dd62ed3e1461047f578063ebfcd691146104c5578063ee0d0781146104f2578063f2fde38b1461050857600080fd5b8063a457c2d71461042a578063a8c7ba0d1461044a578063a9059cbb1461045f57600080fd5b8063715018a614610380578063796120f1146103975780637c95603e146103b75780638da5cb5b146103d7578063958c2e52146103f557806395d89b411461041557600080fd5b80632b112e491161013e578063395093511161011857806339509351146102fe5780633fe143301461031e5780635a3efbb21461033457806370a082311461034a57600080fd5b80632b112e491461028d578063313ce567146102a25780633459ab9e146102ce57600080fd5b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101ec5780632199dd3a1461020b57806323b872dd1461022157806327c8f8351461024157600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610528565b6040516101b391906114b5565b60405180910390f35b3480156101c857600080fd5b506101dc6101d736600461151b565b6105ba565b60405190151581526020016101b3565b3480156101f857600080fd5b506004545b6040519081526020016101b3565b34801561021757600080fd5b506101fd60095481565b34801561022d57600080fd5b506101dc61023c366004611547565b6105d1565b34801561024d57600080fd5b506102757f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101b3565b34801561029957600080fd5b506101fd610644565b3480156102ae57600080fd5b50600354600160a01b900460ff1660405160ff90911681526020016101b3565b3480156102da57600080fd5b506101dc6102e9366004611588565b60056020526000908152604090205460ff1681565b34801561030a57600080fd5b506101dc61031936600461151b565b61068e565b34801561032a57600080fd5b506101fd60045481565b34801561034057600080fd5b506101fd600a5481565b34801561035657600080fd5b506101fd610365366004611588565b6001600160a01b031660009081526008602052604090205490565b34801561038c57600080fd5b506103956106c4565b005b3480156103a357600080fd5b506103956103b23660046115a5565b610747565b3480156103c357600080fd5b50600354610275906001600160a01b031681565b3480156103e357600080fd5b506000546001600160a01b0316610275565b34801561040157600080fd5b50600754610275906001600160a01b031681565b34801561042157600080fd5b506101a6610779565b34801561043657600080fd5b506101dc61044536600461151b565b610788565b34801561045657600080fd5b506101a66107d7565b34801561046b57600080fd5b506101dc61047a36600461151b565b610865565b34801561048b57600080fd5b506101fd61049a3660046115c7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156104d157600080fd5b506101fd6104e0366004611588565b60086020526000908152604090205481565b3480156104fe57600080fd5b506101fd60001981565b34801561051457600080fd5b50610395610523366004611588565b61087a565b6060600c805461053790611600565b80601f016020809104026020016040519081016040528092919081815260200182805461056390611600565b80156105b05780601f10610585576101008083540402835291602001916105b0565b820191906000526020600020905b81548152906001019060200180831161059357829003601f168201915b5050505050905090565b60006105c7338484610964565b5060015b92915050565b60006105db610a88565b6105e6848484610dca565b5061063984336106348560405180606001604052806028815260200161170a602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611028565b610964565b5060015b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660009081526008602052604081205460045461068991611062565b905090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916105c791859061063490866110a4565b6000546001600160a01b031633146106f75760405162461bcd60e51b81526004016106ee9061163a565b60405180910390fd5b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146107715760405162461bcd60e51b81526004016106ee9061163a565b600a55600955565b6060600d805461053790611600565b60006105c7338461063485604051806060016040528060258152602001611732602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611028565b600e80546107e490611600565b80601f016020809104026020016040519081016040528092919081815260200182805461081090611600565b801561085d5780601f106108325761010080835404028352916020019161085d565b820191906000526020600020905b81548152906001019060200180831161084057829003601f168201915b505050505081565b600061086f610a88565b610639338484610dca565b6000546001600160a01b031633146108a45760405162461bcd60e51b81526004016106ee9061163a565b6001600160a01b0381166109095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ee565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109c65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ee565b6001600160a01b038216610a275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ee565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600354600160a81b900460ff161515600003610dc857600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b15919061166f565b6001600160a01b031663e6a4390530600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b919061166f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa925050508015610c02575060408051601f3d908101601f19168201909252610bff9181019061166f565b60015b610c33573d808015610c2f576040519150601f19603f3d011682016040523d82523d6000602084013e5050565b5050565b50600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cab919061166f565b6001600160a01b031663e6a4390530600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d31919061166f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da0919061166f565b60038054600161ff0160a01b0319166001600160a01b039290921691909117600160a81b1790555b565b6003546000906001600160a01b03848116911614801590610df957506000546001600160a01b03858116911614155b8015610e1e57506001600160a01b03841660009081526005602052604090205460ff16155b15610e7357600b5460ff161515600003610e735760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106ee565b6001600160a01b03841660009081526005602052604081205460ff1680610eb257506001600160a01b03841660009081526005602052604090205460ff165b610ec657610ec1858585611103565b610ec8565b825b9050610ed685858584611246565b8015610ee85750610ee8858585611310565b8015610efa5750610efa858585611342565b15610f0957600191505061063d565b6001600160a01b038516610f6e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a206d6f7665546f6b656e2066726f6d20746865207a65726f206160448201526564647265737360d01b60648201526084016106ee565b6001600160a01b038416610fd05760405162461bcd60e51b8152602060048201526024808201527f45524332303a206d6f7665546f6b656e20746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106ee565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161101591815260200190565b60405180910390a3506001949350505050565b6000818484111561104c5760405162461bcd60e51b81526004016106ee91906114b5565b50600061105984866116a2565b95945050505050565b600061063d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611028565b6000806110b183856116b5565b90508381101561063d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106ee565b60035460009081906001600160a01b038087169116036111445761113d60646111376009548661137690919063ffffffff16565b906113f8565b9050611176565b6003546001600160a01b03808616911603611176576111736064611137600a548661137690919063ffffffff16565b90505b801561123c576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600860205260409020546111bf90826110a4565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112339085815260200190565b60405180910390a35b6110598382611062565b6000836001600160a01b0316856001600160a01b0316146112fc576040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0388166000908152600890915291909120546112b3918590611028565b6001600160a01b0380871660009081526008602052604080822093909355908616815220546112e290836110a4565b6001600160a01b0385166000908152600860205260409020555b5050506001600160a01b0391821691161490565b6003546000906001600160a01b0385811691161480159061133a57506001600160a01b0384163014155b949350505050565b3360009081526005602052604081205460ff161561136c5761136584848461143a565b905061063d565b5060009392505050565b600082600003611388575060006105cb565b600061139483856116c8565b9050826113a185836116e7565b1461063d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ee565b600061063d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611487565b6001600160a01b03821660009081526008602052604081205461145e9083906116b5565b6001600160a01b0380851660008181526008602052604090209290925585161490509392505050565b600081836114a85760405162461bcd60e51b81526004016106ee91906114b5565b50600061105984866116e7565b600060208083528351808285015260005b818110156114e2578581018301518582016040015282016114c6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461151857600080fd5b50565b6000806040838503121561152e57600080fd5b823561153981611503565b946020939093013593505050565b60008060006060848603121561155c57600080fd5b833561156781611503565b9250602084013561157781611503565b929592945050506040919091013590565b60006020828403121561159a57600080fd5b813561063d81611503565b600080604083850312156115b857600080fd5b50508035926020909101359150565b600080604083850312156115da57600080fd5b82356115e581611503565b915060208301356115f581611503565b809150509250929050565b600181811c9082168061161457607f821691505b60208210810361163457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561168157600080fd5b815161063d81611503565b634e487b7160e01b600052601160045260246000fd5b818103818111156105cb576105cb61168c565b808201808211156105cb576105cb61168c565b60008160001904831182151516156116e2576116e261168c565b500290565b60008261170457634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b536255ecef01c06abbbf3ebb68ce1a012a3f96611001da12c9a5f3e1895408664736f6c634300081000330000000000000000000000004ed00babd7b93af407730aed0a877b627e996f2a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101855760003560e01c8063715018a6116100d1578063a457c2d71161008a578063dd62ed3e11610064578063dd62ed3e1461047f578063ebfcd691146104c5578063ee0d0781146104f2578063f2fde38b1461050857600080fd5b8063a457c2d71461042a578063a8c7ba0d1461044a578063a9059cbb1461045f57600080fd5b8063715018a614610380578063796120f1146103975780637c95603e146103b75780638da5cb5b146103d7578063958c2e52146103f557806395d89b411461041557600080fd5b80632b112e491161013e578063395093511161011857806339509351146102fe5780633fe143301461031e5780635a3efbb21461033457806370a082311461034a57600080fd5b80632b112e491461028d578063313ce567146102a25780633459ab9e146102ce57600080fd5b806306fdde0314610191578063095ea7b3146101bc57806318160ddd146101ec5780632199dd3a1461020b57806323b872dd1461022157806327c8f8351461024157600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610528565b6040516101b391906114b5565b60405180910390f35b3480156101c857600080fd5b506101dc6101d736600461151b565b6105ba565b60405190151581526020016101b3565b3480156101f857600080fd5b506004545b6040519081526020016101b3565b34801561021757600080fd5b506101fd60095481565b34801561022d57600080fd5b506101dc61023c366004611547565b6105d1565b34801561024d57600080fd5b506102757f000000000000000000000000000000000000000000000000000000000000dead81565b6040516001600160a01b0390911681526020016101b3565b34801561029957600080fd5b506101fd610644565b3480156102ae57600080fd5b50600354600160a01b900460ff1660405160ff90911681526020016101b3565b3480156102da57600080fd5b506101dc6102e9366004611588565b60056020526000908152604090205460ff1681565b34801561030a57600080fd5b506101dc61031936600461151b565b61068e565b34801561032a57600080fd5b506101fd60045481565b34801561034057600080fd5b506101fd600a5481565b34801561035657600080fd5b506101fd610365366004611588565b6001600160a01b031660009081526008602052604090205490565b34801561038c57600080fd5b506103956106c4565b005b3480156103a357600080fd5b506103956103b23660046115a5565b610747565b3480156103c357600080fd5b50600354610275906001600160a01b031681565b3480156103e357600080fd5b506000546001600160a01b0316610275565b34801561040157600080fd5b50600754610275906001600160a01b031681565b34801561042157600080fd5b506101a6610779565b34801561043657600080fd5b506101dc61044536600461151b565b610788565b34801561045657600080fd5b506101a66107d7565b34801561046b57600080fd5b506101dc61047a36600461151b565b610865565b34801561048b57600080fd5b506101fd61049a3660046115c7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156104d157600080fd5b506101fd6104e0366004611588565b60086020526000908152604090205481565b3480156104fe57600080fd5b506101fd60001981565b34801561051457600080fd5b50610395610523366004611588565b61087a565b6060600c805461053790611600565b80601f016020809104026020016040519081016040528092919081815260200182805461056390611600565b80156105b05780601f10610585576101008083540402835291602001916105b0565b820191906000526020600020905b81548152906001019060200180831161059357829003601f168201915b5050505050905090565b60006105c7338484610964565b5060015b92915050565b60006105db610a88565b6105e6848484610dca565b5061063984336106348560405180606001604052806028815260200161170a602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611028565b610964565b5060015b9392505050565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b031660009081526008602052604081205460045461068991611062565b905090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916105c791859061063490866110a4565b6000546001600160a01b031633146106f75760405162461bcd60e51b81526004016106ee9061163a565b60405180910390fd5b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146107715760405162461bcd60e51b81526004016106ee9061163a565b600a55600955565b6060600d805461053790611600565b60006105c7338461063485604051806060016040528060258152602001611732602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611028565b600e80546107e490611600565b80601f016020809104026020016040519081016040528092919081815260200182805461081090611600565b801561085d5780601f106108325761010080835404028352916020019161085d565b820191906000526020600020905b81548152906001019060200180831161084057829003601f168201915b505050505081565b600061086f610a88565b610639338484610dca565b6000546001600160a01b031633146108a45760405162461bcd60e51b81526004016106ee9061163a565b6001600160a01b0381166109095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ee565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109c65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ee565b6001600160a01b038216610a275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ee565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600354600160a81b900460ff161515600003610dc857600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b15919061166f565b6001600160a01b031663e6a4390530600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b919061166f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa925050508015610c02575060408051601f3d908101601f19168201909252610bff9181019061166f565b60015b610c33573d808015610c2f576040519150601f19603f3d011682016040523d82523d6000602084013e5050565b5050565b50600760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cab919061166f565b6001600160a01b031663e6a4390530600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d31919061166f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da0919061166f565b60038054600161ff0160a01b0319166001600160a01b039290921691909117600160a81b1790555b565b6003546000906001600160a01b03848116911614801590610df957506000546001600160a01b03858116911614155b8015610e1e57506001600160a01b03841660009081526005602052604090205460ff16155b15610e7357600b5460ff161515600003610e735760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106ee565b6001600160a01b03841660009081526005602052604081205460ff1680610eb257506001600160a01b03841660009081526005602052604090205460ff165b610ec657610ec1858585611103565b610ec8565b825b9050610ed685858584611246565b8015610ee85750610ee8858585611310565b8015610efa5750610efa858585611342565b15610f0957600191505061063d565b6001600160a01b038516610f6e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a206d6f7665546f6b656e2066726f6d20746865207a65726f206160448201526564647265737360d01b60648201526084016106ee565b6001600160a01b038416610fd05760405162461bcd60e51b8152602060048201526024808201527f45524332303a206d6f7665546f6b656e20746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106ee565b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161101591815260200190565b60405180910390a3506001949350505050565b6000818484111561104c5760405162461bcd60e51b81526004016106ee91906114b5565b50600061105984866116a2565b95945050505050565b600061063d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611028565b6000806110b183856116b5565b90508381101561063d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106ee565b60035460009081906001600160a01b038087169116036111445761113d60646111376009548661137690919063ffffffff16565b906113f8565b9050611176565b6003546001600160a01b03808616911603611176576111736064611137600a548661137690919063ffffffff16565b90505b801561123c576001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead166000908152600860205260409020546111bf90826110a4565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead811660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112339085815260200190565b60405180910390a35b6110598382611062565b6000836001600160a01b0316856001600160a01b0316146112fc576040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0388166000908152600890915291909120546112b3918590611028565b6001600160a01b0380871660009081526008602052604080822093909355908616815220546112e290836110a4565b6001600160a01b0385166000908152600860205260409020555b5050506001600160a01b0391821691161490565b6003546000906001600160a01b0385811691161480159061133a57506001600160a01b0384163014155b949350505050565b3360009081526005602052604081205460ff161561136c5761136584848461143a565b905061063d565b5060009392505050565b600082600003611388575060006105cb565b600061139483856116c8565b9050826113a185836116e7565b1461063d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ee565b600061063d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611487565b6001600160a01b03821660009081526008602052604081205461145e9083906116b5565b6001600160a01b0380851660008181526008602052604090209290925585161490509392505050565b600081836114a85760405162461bcd60e51b81526004016106ee91906114b5565b50600061105984866116e7565b600060208083528351808285015260005b818110156114e2578581018301518582016040015282016114c6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461151857600080fd5b50565b6000806040838503121561152e57600080fd5b823561153981611503565b946020939093013593505050565b60008060006060848603121561155c57600080fd5b833561156781611503565b9250602084013561157781611503565b929592945050506040919091013590565b60006020828403121561159a57600080fd5b813561063d81611503565b600080604083850312156115b857600080fd5b50508035926020909101359150565b600080604083850312156115da57600080fd5b82356115e581611503565b915060208301356115f581611503565b809150509250929050565b600181811c9082168061161457607f821691505b60208210810361163457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561168157600080fd5b815161063d81611503565b634e487b7160e01b600052601160045260246000fd5b818103818111156105cb576105cb61168c565b808201808211156105cb576105cb61168c565b60008160001904831182151516156116e2576116e261168c565b500290565b60008261170457634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b536255ecef01c06abbbf3ebb68ce1a012a3f96611001da12c9a5f3e1895408664736f6c63430008100033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004ed00babd7b93af407730aed0a877b627e996f2a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : pr (address): 0x4ed00bABD7b93Af407730AeD0A877b627E996F2A
Arg [1] : mssg (string):
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000004ed00babd7b93af407730aed0a877b627e996f2a
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
11499:7035:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13671:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16017:161;;;;;;;;;;-1:-1:-1;16017:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;16017:161:0;1023:187:1;13948:106:0;;;;;;;;;;-1:-1:-1;14028:18:0;;13948:106;;;1361:25:1;;;1349:2;1334:18;13948:106:0;1215:177:1;12071:26:0;;;;;;;;;;;;;;;;14407:338;;;;;;;;;;-1:-1:-1;14407:338:0;;;;;:::i;:::-;;:::i;11683:81::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2022:32:1;;;2004:51;;1992:2;1977:18;11683:81:0;1858:203:1;17159:134:0;;;;;;;;;;;;;:::i;13857:83::-;;;;;;;;;;-1:-1:-1;13923:9:0;;-1:-1:-1;;;13923:9:0;;;;13857:83;;2238:4:1;2226:17;;;2208:36;;2196:2;2181:18;13857:83:0;2066:184:1;11846:40:0;;;;;;;;;;-1:-1:-1;11846:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17995:218;;;;;;;;;;-1:-1:-1;17995:218:0;;;;;:::i;:::-;;:::i;11771:66::-;;;;;;;;;;;;;;;;12104:26;;;;;;;;;;;;;;;;17301:125;;;;;;;;;;-1:-1:-1;17301:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;17394:24:0;17367:7;17394:24;;;:15;:24;;;;;;;17301:125;3015:230;;;;;;;;;;;;;:::i;:::-;;14266:133;;;;;;;;;;-1:-1:-1;14266:133:0;;;;;:::i;:::-;;:::i;11556:20::-;;;;;;;;;;-1:-1:-1;11556:20:0;;;;-1:-1:-1;;;;;11556:20:0;;;2909:79;;;;;;;;;;-1:-1:-1;2947:7:0;2974:6;-1:-1:-1;;;;;2974:6:0;2909:79;;11969:37;;;;;;;;;;-1:-1:-1;11969:37:0;;;;-1:-1:-1;;;;;11969:37:0;;;13762:87;;;;;;;;;;;;;:::i;18221:269::-;;;;;;;;;;-1:-1:-1;18221:269:0;;;;;:::i;:::-;;:::i;12329:26::-;;;;;;;;;;;;;:::i;14062:196::-;;;;;;;;;;-1:-1:-1;14062:196:0;;;;;:::i;:::-;;:::i;17434:143::-;;;;;;;;;;-1:-1:-1;17434:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17542:18:0;;;17515:7;17542:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17434:143;12013:51;;;;;;;;;;-1:-1:-1;12013:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;12167:46;;;;;;;;;;-1:-1:-1;12167:46:0;-1:-1:-1;;12167:46:0;;3400:244;;;;;;;;;;-1:-1:-1;3400:244:0;;;;;:::i;:::-;;:::i;13671:83::-;13708:13;13741:5;13734:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13671:83;:::o;16017:161::-;16092:4;16109:39;909:10;16132:7;16141:6;16109:8;:39::i;:::-;-1:-1:-1;16166:4:0;16017:161;;;;;:::o;14407:338::-;14505:4;14522:10;:8;:10::i;:::-;14543:40;14557:6;14565:9;14576:6;14543:13;:40::i;:::-;-1:-1:-1;14594:121:0;14603:6;909:10;14625:89;14663:6;14625:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14625:19:0;;;;;;:11;:19;;;;;;;;909:10;14625:33;;;;;;;;;;:37;:89::i;:::-;14594:8;:121::i;:::-;-1:-1:-1;14733:4:0;14407:338;;;;;;:::o;17159:134::-;17272:11;-1:-1:-1;;;;;17394:24:0;17212:7;17394:24;;;:15;:24;;;;;;17239:18;;:46;;:22;:46::i;:::-;17232:53;;17159:134;:::o;17995:218::-;909:10;18083:4;18132:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18132:34:0;;;;;;;;;;18083:4;;18100:83;;18123:7;;18132:50;;18171:10;18132:38;:50::i;3015:230::-;3307:6;;-1:-1:-1;;;;;3307:6:0;909:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;;;;;;;;;3106:6:::1;::::0;;3085:81:::1;::::0;3122:42:::1;::::0;-1:-1:-1;;;;;3106:6:0;;::::1;::::0;3085:81:::1;::::0;::::1;3177:6;:60:::0;;-1:-1:-1;;;;;;3177:60:0::1;3194:42;3177:60;::::0;;3015:230::o;14266:133::-;3307:6;;-1:-1:-1;;;;;3307:6:0;909:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;14349:8:::1;:16:::0;14376:8:::1;:15:::0;14266:133::o;13762:87::-;13801:13;13834:7;13827:14;;;;;:::i;18221:269::-;18314:4;18331:129;909:10;18354:7;18363:96;18402:15;18363:96;;;;;;;;;;;;;;;;;909:10;18363:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18363:34:0;;;;;;;;;;;;:38;:96::i;12329:26::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14062:196::-;14140:4;14157:10;:8;:10::i;:::-;14178:46;909:10;14206:9;14217:6;14178:13;:46::i;3400:244::-;3307:6;;-1:-1:-1;;;;;3307:6:0;909:10;3307:22;3299:67;;;;-1:-1:-1;;;3299:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3481:73;;;::::0;-1:-1:-1;;;3481:73:0;;4336:2:1;3481:73:0::1;::::0;::::1;4318:21:1::0;4375:2;4355:18;;;4348:30;4414:34;4394:18;;;4387:62;-1:-1:-1;;;4465:18:1;;;4458:36;4511:19;;3481:73:0::1;4134:402:1::0;3481:73:0::1;3591:6;::::0;;3570:38:::1;::::0;-1:-1:-1;;;;;3570:38:0;;::::1;::::0;3591:6;::::1;::::0;3570:38:::1;::::0;::::1;3619:6;:17:::0;;-1:-1:-1;;;;;;3619:17:0::1;-1:-1:-1::0;;;;;3619:17:0;;;::::1;::::0;;;::::1;::::0;;3400:244::o;16186:337::-;-1:-1:-1;;;;;16279:19:0;;16271:68;;;;-1:-1:-1;;;16271:68:0;;4743:2:1;16271:68:0;;;4725:21:1;4782:2;4762:18;;;4755:30;4821:34;4801:18;;;4794:62;-1:-1:-1;;;4872:18:1;;;4865:34;4916:19;;16271:68:0;4541:400:1;16271:68:0;-1:-1:-1;;;;;16358:21:0;;16350:68;;;;-1:-1:-1;;;16350:68:0;;5148:2:1;16350:68:0;;;5130:21:1;5187:2;5167:18;;;5160:30;5226:34;5206:18;;;5199:62;-1:-1:-1;;;5277:18:1;;;5270:32;5319:19;;16350:68:0;4946:398:1;16350:68:0;-1:-1:-1;;;;;16431:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16483:32;;1361:25:1;;;16483:32:0;;1334:18:1;16483:32:0;;;;;;;16186:337;;;:::o;16531:398::-;16572:15;;-1:-1:-1;;;16572:15:0;;;;:22;;16589:5;16572:22;16569:353;;16632:11;;;;;;;;;-1:-1:-1;;;;;16632:11:0;-1:-1:-1;;;;;16632:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16614:48:0;;16671:4;16678:11;;;;;;;;;-1:-1:-1;;;;;16678:11:0;-1:-1:-1;;;;;16678:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16614:83;;-1:-1:-1;;;;;;16614:83:0;;;;;;;-1:-1:-1;;;;;5835:15:1;;;16614:83:0;;;5817:34:1;5887:15;;5867:18;;;5860:43;5752:18;;16614:83:0;;;;;;;;;;;;;;;;;;-1:-1:-1;16614:83:0;;;;;;;;-1:-1:-1;;16614:83:0;;;;;;;;;;;;:::i;:::-;;;16610:301;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16876:35;16531:398::o;16610:301::-;-1:-1:-1;;16531:398:0:o;16610:301::-;;16742:11;;;;;;;;;-1:-1:-1;;;;;16742:11:0;-1:-1:-1;;;;;16742:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16724:48:0;;16781:4;16788:11;;;;;;;;;-1:-1:-1;;;;;16788:11:0;-1:-1:-1;;;;;16788:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16724:83;;-1:-1:-1;;;;;;16724:83:0;;;;;;;-1:-1:-1;;;;;5835:15:1;;;16724:83:0;;;5817:34:1;5887:15;;5867:18;;;5860:43;5752:18;;16724:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16716:5;:91;;-1:-1:-1;;;;;;16826:20:0;-1:-1:-1;;;;;16716:91:0;;;;16826:20;;;;-1:-1:-1;;;16826:20:0;;;16610:301;16531:398::o;14755:858::-;14884:5;;14851:4;;-1:-1:-1;;;;;14884:18:0;;;:5;;:18;;;;:39;;-1:-1:-1;2947:7:0;2974:6;-1:-1:-1;;;;;14906:17:0;;;2974:6;;14906:17;;14884:39;:59;;;;-1:-1:-1;;;;;;14928:15:0;;;;;;:7;:15;;;;;;;;14927:16;14884:59;14880:134;;;14967:11;;;;:20;;:11;:20;14959:55;;;;-1:-1:-1;;;14959:55:0;;6116:2:1;14959:55:0;;;6098:21:1;6155:2;6135:18;;;6128:30;-1:-1:-1;;;6174:18:1;;;6167:52;6236:18;;14959:55:0;5914:346:1;14959:55:0;-1:-1:-1;;;;;15054:15:0;;15029:21;15054:15;;;:7;:15;;;;;;;;;:37;;-1:-1:-1;;;;;;15073:18:0;;;;;;:7;:18;;;;;;;;15054:37;15053:100;;15109:44;15122:6;15130:9;15141:11;15109:12;:44::i;:::-;15053:100;;;15095:11;15053:100;15029:124;;15167:51;15175:6;15182:9;15192:11;15204:13;15167:7;:51::i;:::-;:100;;;;;15222:45;15238:6;15245:9;15255:11;15222:15;:45::i;:::-;15167:143;;;;;15271:39;15281:6;15288:9;15298:11;15271:9;:39::i;:::-;15164:185;;;15333:4;15326:11;;;;;15164:185;-1:-1:-1;;;;;15369:20:0;;15361:71;;;;-1:-1:-1;;;15361:71:0;;6467:2:1;15361:71:0;;;6449:21:1;6506:2;6486:18;;;6479:30;6545:34;6525:18;;;6518:62;-1:-1:-1;;;6596:18:1;;;6589:36;6642:19;;15361:71:0;6265:402:1;15361:71:0;-1:-1:-1;;;;;15451:23:0;;15443:72;;;;-1:-1:-1;;;15443:72:0;;6874:2:1;15443:72:0;;;6856:21:1;6913:2;6893:18;;;6886:30;6952:34;6932:18;;;6925:62;-1:-1:-1;;;7003:18:1;;;6996:34;7047:19;;15443:72:0;6672:400:1;15443:72:0;15558:9;-1:-1:-1;;;;;15541:42:0;15550:6;-1:-1:-1;;;;;15541:42:0;;15569:13;15541:42;;;;1361:25:1;;1349:2;1334:18;;1215:177;15541:42:0;;;;;;;;-1:-1:-1;15601:4:0;;14755:858;-1:-1:-1;;;;14755:858:0:o;1416:192::-;1502:7;1538:12;1530:6;;;;1522:29;;;;-1:-1:-1;;;1522:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1562:9:0;1574:5;1578:1;1574;:5;:::i;:::-;1562:17;1416:192;-1:-1:-1;;;;;1416:192:0:o;1272:136::-;1330:7;1357:43;1361:1;1364;1357:43;;;;;;;;;;;;;;;;;:3;:43::i;1083:181::-;1141:7;;1173:5;1177:1;1173;:5;:::i;:::-;1161:17;;1202:1;1197;:6;;1189:46;;;;-1:-1:-1;;;1189:46:0;;7674:2:1;1189:46:0;;;7656:21:1;7713:2;7693:18;;;7686:30;7752:29;7732:18;;;7725:57;7799:18;;1189:46:0;7472:351:1;13056:607:0;13203:5;;13141:7;;;;-1:-1:-1;;;;;13203:15:0;;;:5;;:15;13200:193;;13249:29;13274:3;13249:20;13260:8;;13249:6;:10;;:20;;;;:::i;:::-;:24;;:29::i;:::-;13235:43;;13200:193;;;13309:5;;-1:-1:-1;;;;;13309:12:0;;;:5;;:12;13306:87;;13352:29;13377:3;13352:20;13363:8;;13352:6;:10;;:20;;;;:::i;:29::-;13338:43;;13306:87;13406:15;;13403:212;;-1:-1:-1;;;;;13502:11:0;13478:37;;;;;:15;:37;;;;;;:54;;13520:11;13478:41;:54::i;:::-;-1:-1:-1;;;;;13462:11:0;13438:37;;;;;;:15;:37;;;;;;;:94;;;;13552:51;;;;;;;;;;13591:11;1361:25:1;;1349:2;1334:18;;1215:177;13552:51:0;;;;;;;;13403:212;13632:23;:6;13643:11;13632:10;:23::i;15621:388::-;15725:4;15754:9;-1:-1:-1;;;;;15744:19:0;:6;-1:-1:-1;;;;;15744:19:0;;15741:224;;15805:59;;;;;;;;;;;-1:-1:-1;;;15805:59:0;;;;;;;;-1:-1:-1;;;;;15805:23:0;;-1:-1:-1;15805:23:0;;;:15;:23;;;;;;;;:59;;15833:6;;15805:27;:59::i;:::-;-1:-1:-1;;;;;15779:23:0;;;;;;;:15;:23;;;;;;:85;;;;15908:26;;;;;;;:43;;15939:11;15908:30;:43::i;:::-;-1:-1:-1;;;;;15879:26:0;;;;;;:15;:26;;;;;:72;15741:224;-1:-1:-1;;;;;;;;15982:19:0;;;;;;;15621:388::o;17587:165::-;17712:5;;17679:4;;-1:-1:-1;;;;;17702:15:0;;;17712:5;;17702:15;;;;:42;;-1:-1:-1;;;;;;17721:23:0;;17739:4;17721:23;;17702:42;17695:49;17587:165;-1:-1:-1;;;;17587:165:0:o;17760:227::-;17873:10;17846:4;17865:19;;;:7;:19;;;;;;;;17862:95;;;17907:38;17921:6;17928:9;17938:6;17907:13;:38::i;:::-;17900:45;;;;17862:95;-1:-1:-1;17974:5:0;17760:227;;;;;:::o;1616:250::-;1674:7;1698:1;1703;1698:6;1694:47;;-1:-1:-1;1728:1:0;1721:8;;1694:47;1753:9;1765:5;1769:1;1765;:5;:::i;:::-;1753:17;-1:-1:-1;1798:1:0;1789:5;1793:1;1753:17;1789:5;:::i;:::-;:10;1781:56;;;;-1:-1:-1;;;1781:56:0;;8425:2:1;1781:56:0;;;8407:21:1;8464:2;8444:18;;;8437:30;8503:34;8483:18;;;8476:62;-1:-1:-1;;;8554:18:1;;;8547:31;8595:19;;1781:56:0;8223:397:1;1874:132:0;1932:7;1959:39;1963:1;1966;1959:39;;;;;;;;;;;;;;;;;:3;:39::i;16937:214::-;-1:-1:-1;;;;;17071:26:0;;17027:4;17071:26;;;:15;:26;;;;;;:35;;17100:6;;17071:35;:::i;:::-;-1:-1:-1;;;;;17043:26:0;;;;;;;:15;:26;;;;;:63;;;;17124:19;;;;-1:-1:-1;16937:214:0;;;;;:::o;2014:191::-;2100:7;2135:12;2128:5;2120:28;;;;-1:-1:-1;;;2120:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2159:9:0;2171:5;2175:1;2171;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2507:248::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;-1:-1:-1;;2675:23:1;;;2745:2;2730:18;;;2717:32;;-1:-1:-1;2507:248:1:o;2995:388::-;3063:6;3071;3124:2;3112:9;3103:7;3099:23;3095:32;3092:52;;;3140:1;3137;3130:12;3092:52;3179:9;3166:23;3198:31;3223:5;3198:31;:::i;:::-;3248:5;-1:-1:-1;3305:2:1;3290:18;;3277:32;3318:33;3277:32;3318:33;:::i;:::-;3370:7;3360:17;;;2995:388;;;;;:::o;3388:380::-;3467:1;3463:12;;;;3510;;;3531:61;;3585:4;3577:6;3573:17;3563:27;;3531:61;3638:2;3630:6;3627:14;3607:18;3604:38;3601:161;;3684:10;3679:3;3675:20;3672:1;3665:31;3719:4;3716:1;3709:15;3747:4;3744:1;3737:15;3601:161;;3388:380;;;:::o;3773:356::-;3975:2;3957:21;;;3994:18;;;3987:30;4053:34;4048:2;4033:18;;4026:62;4120:2;4105:18;;3773:356::o;5349:251::-;5419:6;5472:2;5460:9;5451:7;5447:23;5443:32;5440:52;;;5488:1;5485;5478:12;5440:52;5520:9;5514:16;5539:31;5564:5;5539:31;:::i;7077:127::-;7138:10;7133:3;7129:20;7126:1;7119:31;7169:4;7166:1;7159:15;7193:4;7190:1;7183:15;7209:128;7276:9;;;7297:11;;;7294:37;;;7311:18;;:::i;7342:125::-;7407:9;;;7428:10;;;7425:36;;;7441:18;;:::i;7828:168::-;7868:7;7934:1;7930;7926:6;7922:14;7919:1;7916:21;7911:1;7904:9;7897:17;7893:45;7890:71;;;7941:18;;:::i;:::-;-1:-1:-1;7981:9:1;;7828:168::o;8001:217::-;8041:1;8067;8057:132;;8111:10;8106:3;8102:20;8099:1;8092:31;8146:4;8143:1;8136:15;8174:4;8171:1;8164:15;8057:132;-1:-1:-1;8203:9:1;;8001:217::o
Swarm Source
ipfs://b536255ecef01c06abbbf3ebb68ce1a012a3f96611001da12c9a5f3e18954086
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.