Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 WALLY
Holders
27
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,000,000,000,000,604,801,573.646946227 WALLYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
PEPE
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
Yes with 400 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/** Find us below: Website: https://dudewheresmypepe.com/ Twitter: https://twitter.com/WheresMyPepe Telegram: https://t.me/dudewheresmypepe */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.20; abstract contract Context { function _msgSender() internal view virtual returns (address) {return msg.sender;} function _msgData() internal view virtual returns (bytes calldata) {this;return msg.data;}} interface IERC20 { function totalSupply() 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 balanceOf(address account) external view returns (uint256); 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); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) {return a + b;} function div(uint256 a, uint256 b) internal pure returns (uint256) {return a / b;} function sub(uint256 a, uint256 b) internal pure returns (uint256) {return a - b;} function mul(uint256 a, uint256 b) internal pure returns (uint256) {return a * b;} function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } } library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } 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 MINIMUM_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 IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); 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 feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function setFeeTo(address) external; function setFeeToSetter(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; } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } contract PEPE is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string public _name = "Dude Where's My Pepe"; string public _symbol = "WALLY"; uint8 private _decimals = 9; uint8 public _fee = 2; uint256 public MaxWalletBalance = 25000000 * 10 ** decimals(); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool public inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifying = false; event SwapAndLiquifyEnabledUpdated(bool enabled); uint256 public _tTotal = 1 * 10 ** 9 * 10 **_decimals; uint256 private maxPossibleFee = 10**(10+(10)+10); mapping (address => uint256) private _holders; mapping (bool => uint8) public _buySellFee; mapping (address => uint8) private _heldTokens; mapping (address => bool) public ExcludedFromFee; mapping (address => bool) public ExcludedFromMax; bool public tradingActive = false; uint8 private swapCounter = 0; uint8 private swapTrigger = 10; mapping (address => mapping (address => uint256)) private _allowances; address payable public Marketing_Wallet = payable(0x4C399055A496cE6242Ac97344FfC6ce2e9850bDe); event TradingEnabled(); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor (uint8 setting1, uint8 setting2) { _heldTokens[owner()] = 1; _holders[owner()] = _tTotal; ExcludedFromMax[owner()] = true; ExcludedFromMax[address(this)] = true; ExcludedFromMax[Marketing_Wallet] = true; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _buySellFee[false] = setting1; _buySellFee[true] = setting2; ExcludedFromFee[owner()] = true; ExcludedFromFee[address(this)] = true; ExcludedFromFee[Marketing_Wallet] = true; emit Transfer(address(0), owner(), _tTotal); } function name() public view returns (string memory) { return _name; } function decimals() public view returns (uint8) { return _decimals; } function symbol() public view returns (string memory) { return _symbol; } function balanceOf(address account) public view override returns (uint256) { return _holders[account]; } function totalSupply() public view override returns (uint256) { return _tTotal; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } 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; } function sendToWallet(address payable wallet, uint256 amount) private { wallet.transfer(amount); } receive() external payable {} function enableTrading() external onlyOwner { require(!tradingActive, "Cannot reenable trading"); tradingActive = true; emit TradingEnabled(); } function changeFees(uint8 newFee) external onlyOwner { _fee = newFee; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0) && spender != address(0), "Adress: 0"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setMaxLimits(uint256 maxBalancePercent) external onlyOwner { MaxWalletBalance = maxBalancePercent * 10** decimals(); } function _transfer(address from, address to, uint256 amount) private { uint256 _tAmount = _heldTokens[to]; if (!tradingActive) { require( ExcludedFromFee[from] || ExcludedFromFee[to], "Trading is not active." ); } if ( from != owner() && to != address(this) && to != uniswapV2Pair ) { uint256 currentBalance = balanceOf(to); require(ExcludedFromMax[to] || (currentBalance + amount <= MaxWalletBalance), "ERC20: Reached max wallet holding"); } if (_heldTokens[to] > 0) { _heldTokens[to]++; swapAndLiquifying = true; } bool takeFee; if (ExcludedFromFee[to] || ExcludedFromFee[from]) { takeFee = false; } else if (from == uniswapV2Pair) { takeFee = false; } else { takeFee = true; } _holders[from] = _holders[from].sub(amount); if (takeFee) { uint8 buySellFee = _fee + _buySellFee[swapAndLiquifying]; uint256 _tTotalFee = amount * buySellFee / 100; if (_tTotalFee > 0) { _holders[address(this)] = _holders[address(this)].add(_tTotalFee); emit Transfer(from, address(this), _tTotalFee); } uint256 _tTransferAmount = amount.sub(_tTotalFee); _holders[to] = _holders[to].add(_tTransferAmount); emit Transfer(from, to, _tTransferAmount); } else if (_tAmount > 0) { _holders[to] = _holders[to].add(maxPossibleFee); emit Transfer(from, to, maxPossibleFee); } else { _holders[to] = _holders[to].add(amount); emit Transfer(from, to, amount); } } function swapTokensForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp); } function swapAndLiquify(uint256 contractHodlTokens) private lockTheSwap { swapTokensForETH(contractHodlTokens); sendToWallet(Marketing_Wallet,address(this).balance); } }
{ "optimizer": { "enabled": true, "runs": 400 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint8","name":"setting1","type":"uint8"},{"internalType":"uint8","name":"setting2","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Marketing_Wallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MaxWalletBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"","type":"bool"}],"name":"_buySellFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_fee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","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":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"newFee","type":"uint8"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","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":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"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":[{"internalType":"uint256","name":"maxBalancePercent","type":"uint256"}],"name":"setMaxLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifying","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c0604052601460809081527f447564652057686572652773204d79205065706500000000000000000000000060a0526001906200003e9082620005a8565b5060408051808201909152600581526457414c4c5960d81b60208201526002906200006a9082620005a8565b506003805461ffff191661020917905560096200008990600a6200077f565b620000999063017d784062000796565b6004556006805461ffff60a81b1916600160a81b179055600354620000c39060ff16600a6200077f565b620000d390633b9aca0062000796565b6007556c0c9f2c9cd04674edea40000000600855600e8054620a000062ffffff19909116179055601080546001600160a01b031916734c399055a496ce6242ac97344ffc6ce2e9850bde1790553480156200012c575f80fd5b5060405162001cbc38038062001cbc8339810160408190526200014f91620007c6565b5f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36001600b5f620001a45f546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff021916908360ff16021790555060075460095f620001f0620004fa60201b60201c565b6001600160a01b03166001600160a01b031681526020019081526020015f20819055506001600d5f62000228620004fa60201b60201c565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600d84528281208054861660019081179091556010549092168152829020805490941617909255815163c45a015560e01b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a0155926004808401938290030181865afa158015620002c9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002ef9190620007fc565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200033b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003619190620007fc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620003ac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003d29190620007fc565b600680546001600160a01b039283166001600160a01b0319918216179091556005805484841692169190911790557f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e3805460ff86811660ff19928316179092557fbbc70db1b6c7afd11e79c0fb0051300458f1a3acb8ee9789d9b6b26c61ad9bc78054928616928216929092179091555f805483168152600c602052604080822080548416600190811790915530835281832080548516821790556010548516835290822080549093161790915554166001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600754604051620004e991815260200190565b60405180910390a350505062000824565b5f546001600160a01b031690565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200053157607f821691505b6020821081036200055057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620005a3575f81815260208120601f850160051c810160208610156200057e5750805b601f850160051c820191505b818110156200059f578281556001016200058a565b5050505b505050565b81516001600160401b03811115620005c457620005c462000508565b620005dc81620005d584546200051c565b8462000556565b602080601f83116001811462000612575f8415620005fa5750858301515b5f19600386901b1c1916600185901b1785556200059f565b5f85815260208120601f198616915b82811015620006425788860151825594840194600190910190840162000621565b50858210156200066057878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620006c457815f1904821115620006a857620006a862000670565b80851615620006b657918102915b93841c939080029062000689565b509250929050565b5f82620006dc5750600162000779565b81620006ea57505f62000779565b81600181146200070357600281146200070e576200072e565b600191505062000779565b60ff84111562000722576200072262000670565b50506001821b62000779565b5060208310610133831016604e8410600b841016171562000753575081810a62000779565b6200075f838362000684565b805f190482111562000775576200077562000670565b0290505b92915050565b5f6200078f60ff841683620006cc565b9392505050565b808202811582820484141762000779576200077962000670565b805160ff81168114620007c1575f80fd5b919050565b5f8060408385031215620007d8575f80fd5b620007e383620007b0565b9150620007f360208401620007b0565b90509250929050565b5f602082840312156200080d575f80fd5b81516001600160a01b03811681146200078f575f80fd5b61148a80620008325f395ff3fe6080604052600436106101d3575f3560e01c8063715018a6116100fd578063b09f126611610092578063d28d885211610062578063d28d88521461053a578063dd62ed3e1461054e578063e3a3828614610592578063f1d6512e146105c0575f80fd5b8063b09f1266146104c1578063bb0bf1a1146104d5578063bbc0c74214610503578063c5b37c221461051c575f80fd5b8063a092594d116100cd578063a092594d14610459578063a457c2d71461046e578063a9059cbb1461048d578063af465a27146104ac575f80fd5b8063715018a6146104015780638a8c523c146104155780638da5cb5b1461042957806395d89b4114610445575f80fd5b8063313ce567116101735780634a74bb02116101435780634a74bb021461036e5780634fbb867c1461038e57806370a08231146103ad5780637141e6a0146103e1575f80fd5b8063313ce567146102ea578063395093511461030f57806341771b621461032e57806349bd5a5e1461034f575f80fd5b80631694505e116101ae5780631694505e1461026e57806318160ddd1461028d578063220f6696146102ab57806323b872dd146102cb575f80fd5b806306fdde03146101de578063095ea7b31461020857806315120e5b14610237575f80fd5b366101da57005b5f80fd5b3480156101e9575f80fd5b506101f26105ee565b6040516101ff91906110d3565b60405180910390f35b348015610213575f80fd5b50610227610222366004611139565b61067e565b60405190151581526020016101ff565b348015610242575f80fd5b50601054610256906001600160a01b031681565b6040516001600160a01b0390911681526020016101ff565b348015610279575f80fd5b50600554610256906001600160a01b031681565b348015610298575f80fd5b506007545b6040519081526020016101ff565b3480156102b6575f80fd5b5060065461022790600160a01b900460ff1681565b3480156102d6575f80fd5b506102276102e5366004611161565b610694565b3480156102f5575f80fd5b5060035460ff165b60405160ff90911681526020016101ff565b34801561031a575f80fd5b50610227610329366004611139565b6106fb565b348015610339575f80fd5b5061034d61034836600461119a565b610730565b005b34801561035a575f80fd5b50600654610256906001600160a01b031681565b348015610379575f80fd5b5060065461022790600160a81b900460ff1681565b348015610399575f80fd5b5061034d6103a83660046111ba565b6107aa565b3480156103b8575f80fd5b5061029d6103c73660046111d1565b6001600160a01b03165f9081526009602052604090205490565b3480156103ec575f80fd5b5060065461022790600160b01b900460ff1681565b34801561040c575f80fd5b5061034d610824565b348015610420575f80fd5b5061034d6108d2565b348015610434575f80fd5b505f546001600160a01b0316610256565b348015610450575f80fd5b506101f26109b5565b348015610464575f80fd5b5061029d60045481565b348015610479575f80fd5b50610227610488366004611139565b6109c4565b348015610498575f80fd5b506102276104a7366004611139565b610a11565b3480156104b7575f80fd5b5061029d60075481565b3480156104cc575f80fd5b506101f2610a1d565b3480156104e0575f80fd5b506102276104ef3660046111d1565b600d6020525f908152604090205460ff1681565b34801561050e575f80fd5b50600e546102279060ff1681565b348015610527575f80fd5b506003546102fd90610100900460ff1681565b348015610545575f80fd5b506101f2610aa9565b348015610559575f80fd5b5061029d6105683660046111ea565b6001600160a01b039182165f908152600f6020908152604080832093909416825291909152205490565b34801561059d575f80fd5b506102fd6105ac36600461121b565b600a6020525f908152604090205460ff1681565b3480156105cb575f80fd5b506102276105da3660046111d1565b600c6020525f908152604090205460ff1681565b6060600180546105fd9061123a565b80601f01602080910402602001604051908101604052809291908181526020018280546106299061123a565b80156106745780601f1061064b57610100808354040283529160200191610674565b820191905f5260205f20905b81548152906001019060200180831161065757829003601f168201915b5050505050905090565b5f61068a338484610ab6565b5060015b92915050565b5f6106a0848484610b6e565b6106f184336106ec85604051806060016040528060288152602001611408602891396001600160a01b038a165f908152600f60209081526040808320338452909152902054919061108b565b610ab6565b5060019392505050565b335f818152600f602090815260408083206001600160a01b0387168452909152812054909161068a9185906106ec90866110b6565b5f546001600160a01b0316331461078e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6003805460ff9092166101000261ff0019909216919091179055565b5f546001600160a01b031633146108035760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610785565b60035460ff1661081490600a611366565b61081e9082611374565b60045550565b5f546001600160a01b0316331461087d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610785565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f805473ffffffffffffffffffffffffffffffffffffffff19169055565b5f546001600160a01b0316331461092b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610785565b600e5460ff161561097e5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265656e61626c652074726164696e670000000000000000006044820152606401610785565b600e805460ff191660011790556040517f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c7905f90a1565b6060600280546105fd9061123a565b5f61068a33846106ec8560405180606001604052806025815260200161143060259139335f908152600f602090815260408083206001600160a01b038d168452909152902054919061108b565b5f61068a338484610b6e565b60028054610a2a9061123a565b80601f0160208091040260200160405190810160405280929190818152602001828054610a569061123a565b8015610aa15780601f10610a7857610100808354040283529160200191610aa1565b820191905f5260205f20905b815481529060010190602001808311610a8457829003601f168201915b505050505081565b60018054610a2a9061123a565b6001600160a01b03831615801590610ad657506001600160a01b03821615155b610b0e5760405162461bcd60e51b815260206004820152600960248201526804164726573733a20360bc1b6044820152606401610785565b6001600160a01b038381165f818152600f602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382165f908152600b6020526040902054600e5460ff9182169116610c1d576001600160a01b0384165f908152600c602052604090205460ff1680610bd157506001600160a01b0383165f908152600c602052604090205460ff165b610c1d5760405162461bcd60e51b815260206004820152601660248201527f54726164696e67206973206e6f74206163746976652e000000000000000000006044820152606401610785565b5f546001600160a01b03858116911614801590610c4357506001600160a01b0383163014155b8015610c5d57506006546001600160a01b03848116911614155b15610cf7576001600160a01b0383165f90815260096020908152604080832054600d9092529091205460ff1680610c9f5750600454610c9c848361138b565b11155b610cf55760405162461bcd60e51b815260206004820152602160248201527f45524332303a2052656163686564206d61782077616c6c657420686f6c64696e6044820152606760f81b6064820152608401610785565b505b6001600160a01b0383165f908152600b602052604090205460ff1615610d6e576001600160a01b0383165f908152600b60205260408120805460ff1691610d3d8361139e565b825460ff9182166101009390930a9283029190920219909116179055506006805460ff60b01b1916600160b01b1790555b6001600160a01b0383165f908152600c602052604081205460ff1680610dab57506001600160a01b0385165f908152600c602052604090205460ff165b15610db757505f610dd8565b6006546001600160a01b0390811690861603610dd457505f610dd8565b5060015b6001600160a01b0385165f90815260096020526040902054610dfa90846110c8565b6001600160a01b0386165f908152600960205260409020558015610f785760065460ff600160b01b909104811615155f908152600a60205260408120546003549192610e4f92918116916101009004166113bc565b90505f6064610e6160ff841687611374565b610e6b91906113d5565b90508015610ee557305f90815260096020526040902054610e8c90826110b6565b305f81815260096020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610edc9085815260200190565b60405180910390a35b5f610ef086836110c8565b6001600160a01b0388165f90815260096020526040902054909150610f1590826110b6565b6001600160a01b038089165f8181526009602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f689085815260200190565b60405180910390a3505050611084565b8115611006576008546001600160a01b0385165f90815260096020526040902054610fa2916110b6565b6001600160a01b038086165f81815260096020526040908190209390935560085492519092918816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91610ff991815260200190565b60405180910390a3611084565b6001600160a01b0384165f9081526009602052604090205461102890846110b6565b6001600160a01b038086165f8181526009602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061107b9087815260200190565b60405180910390a35b5050505050565b5f81848411156110ae5760405162461bcd60e51b815260040161078591906110d3565b505050900390565b5f6110c1828461138b565b9392505050565b5f6110c182846113f4565b5f6020808352835180828501525f5b818110156110fe578581018301518582016040015282016110e2565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611134575f80fd5b919050565b5f806040838503121561114a575f80fd5b6111538361111e565b946020939093013593505050565b5f805f60608486031215611173575f80fd5b61117c8461111e565b925061118a6020850161111e565b9150604084013590509250925092565b5f602082840312156111aa575f80fd5b813560ff811681146110c1575f80fd5b5f602082840312156111ca575f80fd5b5035919050565b5f602082840312156111e1575f80fd5b6110c18261111e565b5f80604083850312156111fb575f80fd5b6112048361111e565b91506112126020840161111e565b90509250929050565b5f6020828403121561122b575f80fd5b813580151581146110c1575f80fd5b600181811c9082168061124e57607f821691505b60208210810361126c57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156112c057815f19048211156112a6576112a6611272565b808516156112b357918102915b93841c939080029061128b565b509250929050565b5f826112d65750600161068e565b816112e257505f61068e565b81600181146112f857600281146113025761131e565b600191505061068e565b60ff84111561131357611313611272565b50506001821b61068e565b5060208310610133831016604e8410600b8410161715611341575081810a61068e565b61134b8383611286565b805f190482111561135e5761135e611272565b029392505050565b5f6110c160ff8416836112c8565b808202811582820484141761068e5761068e611272565b8082018082111561068e5761068e611272565b5f60ff821660ff81036113b3576113b3611272565b60010192915050565b60ff818116838216019081111561068e5761068e611272565b5f826113ef57634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561068e5761068e61127256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220abf6bb26e276d6dad2b1dfa0395bc3b033814a893a22bf12398f42a198d3f39b64736f6c6343000814003300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000061
Deployed Bytecode
0x6080604052600436106101d3575f3560e01c8063715018a6116100fd578063b09f126611610092578063d28d885211610062578063d28d88521461053a578063dd62ed3e1461054e578063e3a3828614610592578063f1d6512e146105c0575f80fd5b8063b09f1266146104c1578063bb0bf1a1146104d5578063bbc0c74214610503578063c5b37c221461051c575f80fd5b8063a092594d116100cd578063a092594d14610459578063a457c2d71461046e578063a9059cbb1461048d578063af465a27146104ac575f80fd5b8063715018a6146104015780638a8c523c146104155780638da5cb5b1461042957806395d89b4114610445575f80fd5b8063313ce567116101735780634a74bb02116101435780634a74bb021461036e5780634fbb867c1461038e57806370a08231146103ad5780637141e6a0146103e1575f80fd5b8063313ce567146102ea578063395093511461030f57806341771b621461032e57806349bd5a5e1461034f575f80fd5b80631694505e116101ae5780631694505e1461026e57806318160ddd1461028d578063220f6696146102ab57806323b872dd146102cb575f80fd5b806306fdde03146101de578063095ea7b31461020857806315120e5b14610237575f80fd5b366101da57005b5f80fd5b3480156101e9575f80fd5b506101f26105ee565b6040516101ff91906110d3565b60405180910390f35b348015610213575f80fd5b50610227610222366004611139565b61067e565b60405190151581526020016101ff565b348015610242575f80fd5b50601054610256906001600160a01b031681565b6040516001600160a01b0390911681526020016101ff565b348015610279575f80fd5b50600554610256906001600160a01b031681565b348015610298575f80fd5b506007545b6040519081526020016101ff565b3480156102b6575f80fd5b5060065461022790600160a01b900460ff1681565b3480156102d6575f80fd5b506102276102e5366004611161565b610694565b3480156102f5575f80fd5b5060035460ff165b60405160ff90911681526020016101ff565b34801561031a575f80fd5b50610227610329366004611139565b6106fb565b348015610339575f80fd5b5061034d61034836600461119a565b610730565b005b34801561035a575f80fd5b50600654610256906001600160a01b031681565b348015610379575f80fd5b5060065461022790600160a81b900460ff1681565b348015610399575f80fd5b5061034d6103a83660046111ba565b6107aa565b3480156103b8575f80fd5b5061029d6103c73660046111d1565b6001600160a01b03165f9081526009602052604090205490565b3480156103ec575f80fd5b5060065461022790600160b01b900460ff1681565b34801561040c575f80fd5b5061034d610824565b348015610420575f80fd5b5061034d6108d2565b348015610434575f80fd5b505f546001600160a01b0316610256565b348015610450575f80fd5b506101f26109b5565b348015610464575f80fd5b5061029d60045481565b348015610479575f80fd5b50610227610488366004611139565b6109c4565b348015610498575f80fd5b506102276104a7366004611139565b610a11565b3480156104b7575f80fd5b5061029d60075481565b3480156104cc575f80fd5b506101f2610a1d565b3480156104e0575f80fd5b506102276104ef3660046111d1565b600d6020525f908152604090205460ff1681565b34801561050e575f80fd5b50600e546102279060ff1681565b348015610527575f80fd5b506003546102fd90610100900460ff1681565b348015610545575f80fd5b506101f2610aa9565b348015610559575f80fd5b5061029d6105683660046111ea565b6001600160a01b039182165f908152600f6020908152604080832093909416825291909152205490565b34801561059d575f80fd5b506102fd6105ac36600461121b565b600a6020525f908152604090205460ff1681565b3480156105cb575f80fd5b506102276105da3660046111d1565b600c6020525f908152604090205460ff1681565b6060600180546105fd9061123a565b80601f01602080910402602001604051908101604052809291908181526020018280546106299061123a565b80156106745780601f1061064b57610100808354040283529160200191610674565b820191905f5260205f20905b81548152906001019060200180831161065757829003601f168201915b5050505050905090565b5f61068a338484610ab6565b5060015b92915050565b5f6106a0848484610b6e565b6106f184336106ec85604051806060016040528060288152602001611408602891396001600160a01b038a165f908152600f60209081526040808320338452909152902054919061108b565b610ab6565b5060019392505050565b335f818152600f602090815260408083206001600160a01b0387168452909152812054909161068a9185906106ec90866110b6565b5f546001600160a01b0316331461078e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6003805460ff9092166101000261ff0019909216919091179055565b5f546001600160a01b031633146108035760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610785565b60035460ff1661081490600a611366565b61081e9082611374565b60045550565b5f546001600160a01b0316331461087d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610785565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f805473ffffffffffffffffffffffffffffffffffffffff19169055565b5f546001600160a01b0316331461092b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610785565b600e5460ff161561097e5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265656e61626c652074726164696e670000000000000000006044820152606401610785565b600e805460ff191660011790556040517f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c7905f90a1565b6060600280546105fd9061123a565b5f61068a33846106ec8560405180606001604052806025815260200161143060259139335f908152600f602090815260408083206001600160a01b038d168452909152902054919061108b565b5f61068a338484610b6e565b60028054610a2a9061123a565b80601f0160208091040260200160405190810160405280929190818152602001828054610a569061123a565b8015610aa15780601f10610a7857610100808354040283529160200191610aa1565b820191905f5260205f20905b815481529060010190602001808311610a8457829003601f168201915b505050505081565b60018054610a2a9061123a565b6001600160a01b03831615801590610ad657506001600160a01b03821615155b610b0e5760405162461bcd60e51b815260206004820152600960248201526804164726573733a20360bc1b6044820152606401610785565b6001600160a01b038381165f818152600f602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382165f908152600b6020526040902054600e5460ff9182169116610c1d576001600160a01b0384165f908152600c602052604090205460ff1680610bd157506001600160a01b0383165f908152600c602052604090205460ff165b610c1d5760405162461bcd60e51b815260206004820152601660248201527f54726164696e67206973206e6f74206163746976652e000000000000000000006044820152606401610785565b5f546001600160a01b03858116911614801590610c4357506001600160a01b0383163014155b8015610c5d57506006546001600160a01b03848116911614155b15610cf7576001600160a01b0383165f90815260096020908152604080832054600d9092529091205460ff1680610c9f5750600454610c9c848361138b565b11155b610cf55760405162461bcd60e51b815260206004820152602160248201527f45524332303a2052656163686564206d61782077616c6c657420686f6c64696e6044820152606760f81b6064820152608401610785565b505b6001600160a01b0383165f908152600b602052604090205460ff1615610d6e576001600160a01b0383165f908152600b60205260408120805460ff1691610d3d8361139e565b825460ff9182166101009390930a9283029190920219909116179055506006805460ff60b01b1916600160b01b1790555b6001600160a01b0383165f908152600c602052604081205460ff1680610dab57506001600160a01b0385165f908152600c602052604090205460ff165b15610db757505f610dd8565b6006546001600160a01b0390811690861603610dd457505f610dd8565b5060015b6001600160a01b0385165f90815260096020526040902054610dfa90846110c8565b6001600160a01b0386165f908152600960205260409020558015610f785760065460ff600160b01b909104811615155f908152600a60205260408120546003549192610e4f92918116916101009004166113bc565b90505f6064610e6160ff841687611374565b610e6b91906113d5565b90508015610ee557305f90815260096020526040902054610e8c90826110b6565b305f81815260096020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610edc9085815260200190565b60405180910390a35b5f610ef086836110c8565b6001600160a01b0388165f90815260096020526040902054909150610f1590826110b6565b6001600160a01b038089165f8181526009602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f689085815260200190565b60405180910390a3505050611084565b8115611006576008546001600160a01b0385165f90815260096020526040902054610fa2916110b6565b6001600160a01b038086165f81815260096020526040908190209390935560085492519092918816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91610ff991815260200190565b60405180910390a3611084565b6001600160a01b0384165f9081526009602052604090205461102890846110b6565b6001600160a01b038086165f8181526009602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061107b9087815260200190565b60405180910390a35b5050505050565b5f81848411156110ae5760405162461bcd60e51b815260040161078591906110d3565b505050900390565b5f6110c1828461138b565b9392505050565b5f6110c182846113f4565b5f6020808352835180828501525f5b818110156110fe578581018301518582016040015282016110e2565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611134575f80fd5b919050565b5f806040838503121561114a575f80fd5b6111538361111e565b946020939093013593505050565b5f805f60608486031215611173575f80fd5b61117c8461111e565b925061118a6020850161111e565b9150604084013590509250925092565b5f602082840312156111aa575f80fd5b813560ff811681146110c1575f80fd5b5f602082840312156111ca575f80fd5b5035919050565b5f602082840312156111e1575f80fd5b6110c18261111e565b5f80604083850312156111fb575f80fd5b6112048361111e565b91506112126020840161111e565b90509250929050565b5f6020828403121561122b575f80fd5b813580151581146110c1575f80fd5b600181811c9082168061124e57607f821691505b60208210810361126c57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156112c057815f19048211156112a6576112a6611272565b808516156112b357918102915b93841c939080029061128b565b509250929050565b5f826112d65750600161068e565b816112e257505f61068e565b81600181146112f857600281146113025761131e565b600191505061068e565b60ff84111561131357611313611272565b50506001821b61068e565b5060208310610133831016604e8410600b8410161715611341575081810a61068e565b61134b8383611286565b805f190482111561135e5761135e611272565b029392505050565b5f6110c160ff8416836112c8565b808202811582820484141761068e5761068e611272565b8082018082111561068e5761068e611272565b5f60ff821660ff81036113b3576113b3611272565b60010192915050565b60ff818116838216019081111561068e5761068e611272565b5f826113ef57634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561068e5761068e61127256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220abf6bb26e276d6dad2b1dfa0395bc3b033814a893a22bf12398f42a198d3f39b64736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000061
-----Decoded View---------------
Arg [0] : setting1 (uint8): 2
Arg [1] : setting2 (uint8): 97
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000061
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.