ERC-20
Trading
Overview
Max Total Supply
5,000,000 MMT
Holders
1,836 (0.00%)
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
$65,791.85
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
5.551956556496607888 MMTValue
$0.07 ( ~2.11186545430883E-05 ETH) [0.0001%]Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
MMT
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Arbiscan.io on 2023-02-14 */ // ░██████╗░█████╗░███████╗██╗░░░██╗ ██████╗░██╗░░░██╗ // ██╔════╝██╔══██╗██╔════╝██║░░░██║ ██╔══██╗╚██╗░██╔╝ // ╚█████╗░███████║█████╗░░██║░░░██║ ██████╦╝░╚████╔╝░ // ░╚═══██╗██╔══██║██╔══╝░░██║░░░██║ ██╔══██╗░░╚██╔╝░░ // ██████╔╝██║░░██║██║░░░░░╚██████╔╝ ██████╦╝░░░██║░░░ // ╚═════╝░╚═╝░░╚═╝╚═╝░░░░░░╚═════╝░ ╚═════╝░░░░╚═╝░░░ // ░█████╗░░█████╗░██╗███╗░░██╗░██████╗██╗░░░██╗██╗░░░░░████████╗░░░███╗░░██╗███████╗████████╗ // ██╔══██╗██╔══██╗██║████╗░██║██╔════╝██║░░░██║██║░░░░░╚══██╔══╝░░░████╗░██║██╔════╝╚══██╔══╝ // ██║░░╚═╝██║░░██║██║██╔██╗██║╚█████╗░██║░░░██║██║░░░░░░░░██║░░░░░░██╔██╗██║█████╗░░░░░██║░░░ // ██║░░██╗██║░░██║██║██║╚████║░╚═══██╗██║░░░██║██║░░░░░░░░██║░░░░░░██║╚████║██╔══╝░░░░░██║░░░ // ╚█████╔╝╚█████╔╝██║██║░╚███║██████╔╝╚██████╔╝███████╗░░░██║░░░██╗██║░╚███║███████╗░░░██║░░░ // ░╚════╝░░╚════╝░╚═╝╚═╝░░╚══╝╚═════╝░░╚═════╝░╚══════╝░░░╚═╝░░░╚═╝╚═╝░░╚══╝╚══════╝░░░╚═╝░░░ // Get your SAFU contract now via Coinsult.net // SPDX-License-Identifier: MIT pragma solidity 0.8.17; interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event 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 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; } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } library Address { function isContract(address account) internal view returns (bool) { return account.code.length > 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 functionCallWithValue(target, data, 0, "Address: low-level call failed"); } 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 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"); (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResultFromTarget(target, 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) { (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } 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) { (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } function verifyCallResultFromTarget( address target, bool success, bytes memory returndata, string memory errorMessage ) internal view returns (bytes memory) { if (success) { if (returndata.length == 0) { // only check isContract if the call was successful and the return data is empty // otherwise we already know that it was a contract require(isContract(target), "Address: call to non-contract"); } return returndata; } else { _revert(returndata, errorMessage); } } function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { _revert(returndata, errorMessage); } } function _revert(bytes memory returndata, string memory errorMessage) private pure { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly /// @solidity memory-safe-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } abstract 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 renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } 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 recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, 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) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { uint256 currentAllowance = _allowances[sender][_msgSender()]; if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } } _transfer(sender, recipient, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, 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; _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; } _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 _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } contract MMT is ERC20, Ownable { using Address for address payable; mapping (address => bool) private _isExcludedFromFees; string public creator; address theOne = 0x3E2942b5c158DBED21bEb86dEbF25C69B554d84d; event ExcludeFromFees(address indexed account, bool isExcluded); constructor () ERC20("MyMetaTrader Token", "MMT") { creator = "MyMetaTrader.finance"; _isExcludedFromFees[owner()] = true; _isExcludedFromFees[0x407993575c91ce7643a4d4cCACc9A98c36eE1BBE] = true; //pinklock _mint(theOne, 5e6 * (10 ** decimals())); tradingEnabled = false; } receive() external payable { } function claimStuckTokens(address token) external onlyOwner { require(token != address(this), "Owner cannot claim contract's balance of its own tokens"); if (token == address(0x0)) { payable(msg.sender).sendValue(address(this).balance); return; } IERC20 ERC20token = IERC20(token); uint256 balance = ERC20token.balanceOf(address(this)); ERC20token.transfer(msg.sender, balance); } function excludeFromFees(address account, bool excluded) external onlyOwner{ require(_isExcludedFromFees[account] != excluded,"Account is already the value of 'excluded'"); _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function isExcludedFromFees(address account) public view returns(bool) { return _isExcludedFromFees[account]; } bool public tradingEnabled; function enableTrading() external onlyOwner{ require(!tradingEnabled, "Trading already enabled."); tradingEnabled = true; } function _transfer(address from,address to,uint256 amount) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(tradingEnabled || _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading not yet enabled!"); if (amount == 0) { super._transfer(from, to, 0); return; } super._transfer(from, to, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"claimStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"creator","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600880546001600160a01b031916733e2942b5c158dbed21beb86debf25c69b554d84d1790553480156200003757600080fd5b506040518060400160405280601281526020017126bca6b2ba30aa3930b232b9102a37b5b2b760711b8152506040518060400160405280600381526020016213535560ea1b8152508160039081620000909190620003b1565b5060046200009f8282620003b1565b5050506000620000b46200021c60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152601481527f4d794d6574615472616465722e66696e616e63650000000000000000000000006020820152600790620001459082620003b1565b506001600660006200015f6005546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409091016000908120805494151560ff1995861617905573407993575c91ce7643a4d4ccacc9a98c36ee1bbe905260069091527f9f0450866e340883c5637ebf25d629ea9e0ea06bf9caa3748b581238b1bc2bb98054909216600117909155600854620002099116620001e7601290565b620001f490600a62000592565b6200020390624c4b40620005aa565b62000220565b6008805460ff60a01b19169055620005da565b3390565b6001600160a01b0382166200027b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546200028f9190620005c4565b90915550506001600160a01b03821660009081526020819052604081208054839290620002be908490620005c4565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200033857607f821691505b6020821081036200035957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030857600081815260208120601f850160051c81016020861015620003885750805b601f850160051c820191505b81811015620003a95782815560010162000394565b505050505050565b81516001600160401b03811115620003cd57620003cd6200030d565b620003e581620003de845462000323565b846200035f565b602080601f8311600181146200041d5760008415620004045750858301515b600019600386901b1c1916600185901b178555620003a9565b600085815260208120601f198616915b828110156200044e578886015182559484019460019091019084016200042d565b50858210156200046d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004d4578160001904821115620004b857620004b86200047d565b80851615620004c657918102915b93841c939080029062000498565b509250929050565b600082620004ed575060016200058c565b81620004fc575060006200058c565b8160018114620005155760028114620005205762000540565b60019150506200058c565b60ff8411156200053457620005346200047d565b50506001821b6200058c565b5060208310610133831016604e8410600b841016171562000565575081810a6200058c565b62000571838362000493565b80600019048211156200058857620005886200047d565b0290505b92915050565b6000620005a360ff841683620004dc565b9392505050565b80820281158282048414176200058c576200058c6200047d565b808201808211156200058c576200058c6200047d565b61131380620005ea6000396000f3fe6080604052600436106101235760003560e01c8063715018a6116100a0578063a9059cbb11610064578063a9059cbb14610333578063c024666814610353578063dd62ed3e14610373578063f2fde38b146103b9578063f9d0831a146103d957600080fd5b8063715018a6146102aa5780638a8c523c146102c15780638da5cb5b146102d657806395d89b41146102fe578063a457c2d71461031357600080fd5b8063313ce567116100e7578063313ce567146101de57806339509351146101fa5780634ada218b1461021a5780634fbee1931461023b57806370a082311461027457600080fd5b806302d05d3f1461012f57806306fdde031461015a578063095ea7b31461016f57806318160ddd1461019f57806323b872dd146101be57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b506101446103f9565b6040516101519190611025565b60405180910390f35b34801561016657600080fd5b50610144610487565b34801561017b57600080fd5b5061018f61018a36600461108f565b610519565b6040519015158152602001610151565b3480156101ab57600080fd5b506002545b604051908152602001610151565b3480156101ca57600080fd5b5061018f6101d93660046110b9565b610530565b3480156101ea57600080fd5b5060405160128152602001610151565b34801561020657600080fd5b5061018f61021536600461108f565b6105e6565b34801561022657600080fd5b5060085461018f90600160a01b900460ff1681565b34801561024757600080fd5b5061018f6102563660046110f5565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561028057600080fd5b506101b061028f3660046110f5565b6001600160a01b031660009081526020819052604090205490565b3480156102b657600080fd5b506102bf610622565b005b3480156102cd57600080fd5b506102bf610696565b3480156102e257600080fd5b506005546040516001600160a01b039091168152602001610151565b34801561030a57600080fd5b5061014461072f565b34801561031f57600080fd5b5061018f61032e36600461108f565b61073e565b34801561033f57600080fd5b5061018f61034e36600461108f565b6107d7565b34801561035f57600080fd5b506102bf61036e366004611125565b6107e4565b34801561037f57600080fd5b506101b061038e36600461115c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156103c557600080fd5b506102bf6103d43660046110f5565b6108f0565b3480156103e557600080fd5b506102bf6103f43660046110f5565b6109db565b600780546104069061118f565b80601f01602080910402602001604051908101604052809291908181526020018280546104329061118f565b801561047f5780601f106104545761010080835404028352916020019161047f565b820191906000526020600020905b81548152906001019060200180831161046257829003601f168201915b505050505081565b6060600380546104969061118f565b80601f01602080910402602001604051908101604052809291908181526020018280546104c29061118f565b801561050f5780601f106104e45761010080835404028352916020019161050f565b820191906000526020600020905b8154815290600101906020018083116104f257829003601f168201915b5050505050905090565b6000610526338484610b85565b5060015b92915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146105d057828110156105c35760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6105d08533858403610b85565b6105db858585610ca9565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161052691859061061d9086906111c9565b610b85565b6005546001600160a01b0316331461064c5760405162461bcd60e51b81526004016105ba906111ea565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146106c05760405162461bcd60e51b81526004016105ba906111ea565b600854600160a01b900460ff161561071a5760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642e000000000000000060448201526064016105ba565b6008805460ff60a01b1916600160a01b179055565b6060600480546104969061118f565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156107c05760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105ba565b6107cd3385858403610b85565b5060019392505050565b6000610526338484610ca9565b6005546001600160a01b0316331461080e5760405162461bcd60e51b81526004016105ba906111ea565b6001600160a01b03821660009081526006602052604090205481151560ff9091161515036108915760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b60648201526084016105ba565b6001600160a01b038216600081815260066020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b0316331461091a5760405162461bcd60e51b81526004016105ba906111ea565b6001600160a01b03811661097f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105ba565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610a055760405162461bcd60e51b81526004016105ba906111ea565b306001600160a01b03821603610a835760405162461bcd60e51b815260206004820152603760248201527f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160448201527f6c616e6365206f6620697473206f776e20746f6b656e7300000000000000000060648201526084016105ba565b6001600160a01b038116610a9e57610a9b3347610db8565b50565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0b919061121f565b60405163a9059cbb60e01b8152336004820152602481018290529091506001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015610b5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7f9190611238565b50505050565b6001600160a01b038316610be75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105ba565b6001600160a01b038216610c485760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105ba565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ccf5760405162461bcd60e51b81526004016105ba90611255565b6001600160a01b038216610cf55760405162461bcd60e51b81526004016105ba9061129a565b600854600160a01b900460ff1680610d2557506001600160a01b03831660009081526006602052604090205460ff165b80610d4857506001600160a01b03821660009081526006602052604090205460ff165b610d945760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c656421000000000000000060448201526064016105ba565b80600003610dad57610da883836000610ed1565b505050565b610da8838383610ed1565b80471015610e085760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016105ba565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610e55576040519150601f19603f3d011682016040523d82523d6000602084013e610e5a565b606091505b5050905080610da85760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016105ba565b6001600160a01b038316610ef75760405162461bcd60e51b81526004016105ba90611255565b6001600160a01b038216610f1d5760405162461bcd60e51b81526004016105ba9061129a565b6001600160a01b03831660009081526020819052604090205481811015610f955760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105ba565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610fcc9084906111c9565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161101891815260200190565b60405180910390a3610b7f565b600060208083528351808285015260005b8181101561105257858101830151858201604001528201611036565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461108a57600080fd5b919050565b600080604083850312156110a257600080fd5b6110ab83611073565b946020939093013593505050565b6000806000606084860312156110ce57600080fd5b6110d784611073565b92506110e560208501611073565b9150604084013590509250925092565b60006020828403121561110757600080fd5b61111082611073565b9392505050565b8015158114610a9b57600080fd5b6000806040838503121561113857600080fd5b61114183611073565b9150602083013561115181611117565b809150509250929050565b6000806040838503121561116f57600080fd5b61117883611073565b915061118660208401611073565b90509250929050565b600181811c908216806111a357607f821691505b6020821081036111c357634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561052a57634e487b7160e01b600052601160045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561123157600080fd5b5051919050565b60006020828403121561124a57600080fd5b815161111081611117565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b60608201526080019056fea2646970667358221220d09b5fe54c2a2e3d518b869013443e2ed1dbb4f076550b3222549d5e5843daad64736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101235760003560e01c8063715018a6116100a0578063a9059cbb11610064578063a9059cbb14610333578063c024666814610353578063dd62ed3e14610373578063f2fde38b146103b9578063f9d0831a146103d957600080fd5b8063715018a6146102aa5780638a8c523c146102c15780638da5cb5b146102d657806395d89b41146102fe578063a457c2d71461031357600080fd5b8063313ce567116100e7578063313ce567146101de57806339509351146101fa5780634ada218b1461021a5780634fbee1931461023b57806370a082311461027457600080fd5b806302d05d3f1461012f57806306fdde031461015a578063095ea7b31461016f57806318160ddd1461019f57806323b872dd146101be57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b506101446103f9565b6040516101519190611025565b60405180910390f35b34801561016657600080fd5b50610144610487565b34801561017b57600080fd5b5061018f61018a36600461108f565b610519565b6040519015158152602001610151565b3480156101ab57600080fd5b506002545b604051908152602001610151565b3480156101ca57600080fd5b5061018f6101d93660046110b9565b610530565b3480156101ea57600080fd5b5060405160128152602001610151565b34801561020657600080fd5b5061018f61021536600461108f565b6105e6565b34801561022657600080fd5b5060085461018f90600160a01b900460ff1681565b34801561024757600080fd5b5061018f6102563660046110f5565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561028057600080fd5b506101b061028f3660046110f5565b6001600160a01b031660009081526020819052604090205490565b3480156102b657600080fd5b506102bf610622565b005b3480156102cd57600080fd5b506102bf610696565b3480156102e257600080fd5b506005546040516001600160a01b039091168152602001610151565b34801561030a57600080fd5b5061014461072f565b34801561031f57600080fd5b5061018f61032e36600461108f565b61073e565b34801561033f57600080fd5b5061018f61034e36600461108f565b6107d7565b34801561035f57600080fd5b506102bf61036e366004611125565b6107e4565b34801561037f57600080fd5b506101b061038e36600461115c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156103c557600080fd5b506102bf6103d43660046110f5565b6108f0565b3480156103e557600080fd5b506102bf6103f43660046110f5565b6109db565b600780546104069061118f565b80601f01602080910402602001604051908101604052809291908181526020018280546104329061118f565b801561047f5780601f106104545761010080835404028352916020019161047f565b820191906000526020600020905b81548152906001019060200180831161046257829003601f168201915b505050505081565b6060600380546104969061118f565b80601f01602080910402602001604051908101604052809291908181526020018280546104c29061118f565b801561050f5780601f106104e45761010080835404028352916020019161050f565b820191906000526020600020905b8154815290600101906020018083116104f257829003601f168201915b5050505050905090565b6000610526338484610b85565b5060015b92915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146105d057828110156105c35760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6105d08533858403610b85565b6105db858585610ca9565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161052691859061061d9086906111c9565b610b85565b6005546001600160a01b0316331461064c5760405162461bcd60e51b81526004016105ba906111ea565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146106c05760405162461bcd60e51b81526004016105ba906111ea565b600854600160a01b900460ff161561071a5760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642e000000000000000060448201526064016105ba565b6008805460ff60a01b1916600160a01b179055565b6060600480546104969061118f565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156107c05760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105ba565b6107cd3385858403610b85565b5060019392505050565b6000610526338484610ca9565b6005546001600160a01b0316331461080e5760405162461bcd60e51b81526004016105ba906111ea565b6001600160a01b03821660009081526006602052604090205481151560ff9091161515036108915760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b60648201526084016105ba565b6001600160a01b038216600081815260066020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b0316331461091a5760405162461bcd60e51b81526004016105ba906111ea565b6001600160a01b03811661097f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105ba565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610a055760405162461bcd60e51b81526004016105ba906111ea565b306001600160a01b03821603610a835760405162461bcd60e51b815260206004820152603760248201527f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160448201527f6c616e6365206f6620697473206f776e20746f6b656e7300000000000000000060648201526084016105ba565b6001600160a01b038116610a9e57610a9b3347610db8565b50565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0b919061121f565b60405163a9059cbb60e01b8152336004820152602481018290529091506001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015610b5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7f9190611238565b50505050565b6001600160a01b038316610be75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105ba565b6001600160a01b038216610c485760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105ba565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ccf5760405162461bcd60e51b81526004016105ba90611255565b6001600160a01b038216610cf55760405162461bcd60e51b81526004016105ba9061129a565b600854600160a01b900460ff1680610d2557506001600160a01b03831660009081526006602052604090205460ff165b80610d4857506001600160a01b03821660009081526006602052604090205460ff165b610d945760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c656421000000000000000060448201526064016105ba565b80600003610dad57610da883836000610ed1565b505050565b610da8838383610ed1565b80471015610e085760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016105ba565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610e55576040519150601f19603f3d011682016040523d82523d6000602084013e610e5a565b606091505b5050905080610da85760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016105ba565b6001600160a01b038316610ef75760405162461bcd60e51b81526004016105ba90611255565b6001600160a01b038216610f1d5760405162461bcd60e51b81526004016105ba9061129a565b6001600160a01b03831660009081526020819052604090205481811015610f955760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105ba565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610fcc9084906111c9565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161101891815260200190565b60405180910390a3610b7f565b600060208083528351808285015260005b8181101561105257858101830151858201604001528201611036565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461108a57600080fd5b919050565b600080604083850312156110a257600080fd5b6110ab83611073565b946020939093013593505050565b6000806000606084860312156110ce57600080fd5b6110d784611073565b92506110e560208501611073565b9150604084013590509250925092565b60006020828403121561110757600080fd5b61111082611073565b9392505050565b8015158114610a9b57600080fd5b6000806040838503121561113857600080fd5b61114183611073565b9150602083013561115181611117565b809150509250929050565b6000806040838503121561116f57600080fd5b61117883611073565b915061118660208401611073565b90509250929050565b600181811c908216806111a357607f821691505b6020821081036111c357634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561052a57634e487b7160e01b600052601160045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561123157600080fd5b5051919050565b60006020828403121561124a57600080fd5b815161111081611117565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b60608201526080019056fea2646970667358221220d09b5fe54c2a2e3d518b869013443e2ed1dbb4f076550b3222549d5e5843daad64736f6c63430008110033
Deployed Bytecode Sourcemap
22350:2312:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22492:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17635:100;;;;;;;;;;;;;:::i;18549:169::-;;;;;;;;;;-1:-1:-1;18549:169:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;18549:169:0;1004:187:1;17956:108:0;;;;;;;;;;-1:-1:-1;18044:12:0;;17956:108;;;1342:25:1;;;1330:2;1315:18;17956:108:0;1196:177:1;18726:573:0;;;;;;;;;;-1:-1:-1;18726:573:0;;;;;:::i;:::-;;:::i;17855:93::-;;;;;;;;;;-1:-1:-1;17855:93:0;;17938:2;1853:36:1;;1841:2;1826:18;17855:93:0;1711:184:1;19307:215:0;;;;;;;;;;-1:-1:-1;19307:215:0;;;;;:::i;:::-;;:::i;23954:26::-;;;;;;;;;;-1:-1:-1;23954:26:0;;;;-1:-1:-1;;;23954:26:0;;;;;;23821:125;;;;;;;;;;-1:-1:-1;23821:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;23910:28:0;23886:4;23910:28;;;:19;:28;;;;;;;;;23821:125;18072:127;;;;;;;;;;-1:-1:-1;18072:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;18173:18:0;18146:7;18173:18;;;;;;;;;;;;18072:127;16822:148;;;;;;;;;;;;;:::i;:::-;;23989:146;;;;;;;;;;;;;:::i;16608:79::-;;;;;;;;;;-1:-1:-1;16673:6:0;;16608:79;;-1:-1:-1;;;;;16673:6:0;;;2237:51:1;;2225:2;2210:18;16608:79:0;2091:203:1;17743:104:0;;;;;;;;;;;;;:::i;19530:413::-;;;;;;;;;;-1:-1:-1;19530:413:0;;;;;:::i;:::-;;:::i;18207:175::-;;;;;;;;;;-1:-1:-1;18207:175:0;;;;;:::i;:::-;;:::i;23523:290::-;;;;;;;;;;-1:-1:-1;23523:290:0;;;;;:::i;:::-;;:::i;18390:151::-;;;;;;;;;;-1:-1:-1;18390:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;18506:18:0;;;18479:7;18506:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;18390:151;16978:244;;;;;;;;;;-1:-1:-1;16978:244:0;;;;;:::i;:::-;;:::i;23050:465::-;;;;;;;;;;-1:-1:-1;23050:465:0;;;;;:::i;:::-;;:::i;22492:22::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17635:100::-;17689:13;17722:5;17715:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17635:100;:::o;18549:169::-;18632:4;18649:39;16011:10;18672:7;18681:6;18649:8;:39::i;:::-;-1:-1:-1;18706:4:0;18549:169;;;;;:::o;18726:573::-;-1:-1:-1;;;;;18910:19:0;;18866:4;18910:19;;;:11;:19;;;;;;;;16011:10;18910:33;;;;;;;;-1:-1:-1;;18958:37:0;;18954:265;;19040:6;19020:16;:26;;19012:79;;;;-1:-1:-1;;;19012:79:0;;3594:2:1;19012:79:0;;;3576:21:1;3633:2;3613:18;;;3606:30;3672:34;3652:18;;;3645:62;-1:-1:-1;;;3723:18:1;;;3716:38;3771:19;;19012:79:0;;;;;;;;;19135:57;19144:6;16011:10;19185:6;19166:16;:25;19135:8;:57::i;:::-;19231:36;19241:6;19249:9;19260:6;19231:9;:36::i;:::-;-1:-1:-1;19287:4:0;;18726:573;-1:-1:-1;;;;18726:573:0:o;19307:215::-;16011:10;19395:4;19444:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19444:34:0;;;;;;;;;;19395:4;;19412:80;;19435:7;;19444:47;;19481:10;;19444:47;:::i;:::-;19412:8;:80::i;16822:148::-;16735:6;;-1:-1:-1;;;;;16735:6:0;16011:10;16735:22;16727:67;;;;-1:-1:-1;;;16727:67:0;;;;;;;:::i;:::-;16913:6:::1;::::0;16892:40:::1;::::0;16929:1:::1;::::0;-1:-1:-1;;;;;16913:6:0::1;::::0;16892:40:::1;::::0;16929:1;;16892:40:::1;16943:6;:19:::0;;-1:-1:-1;;;;;;16943:19:0::1;::::0;;16822:148::o;23989:146::-;16735:6;;-1:-1:-1;;;;;16735:6:0;16011:10;16735:22;16727:67;;;;-1:-1:-1;;;16727:67:0;;;;;;;:::i;:::-;24052:14:::1;::::0;-1:-1:-1;;;24052:14:0;::::1;;;24051:15;24043:52;;;::::0;-1:-1:-1;;;24043:52:0;;4591:2:1;24043:52:0::1;::::0;::::1;4573:21:1::0;4630:2;4610:18;;;4603:30;4669:26;4649:18;;;4642:54;4713:18;;24043:52:0::1;4389:348:1::0;24043:52:0::1;24106:14;:21:::0;;-1:-1:-1;;;;24106:21:0::1;-1:-1:-1::0;;;24106:21:0::1;::::0;;23989:146::o;17743:104::-;17799:13;17832:7;17825:14;;;;;:::i;19530:413::-;16011:10;19623:4;19667:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19667:34:0;;;;;;;;;;19720:35;;;;19712:85;;;;-1:-1:-1;;;19712:85:0;;4944:2:1;19712:85:0;;;4926:21:1;4983:2;4963:18;;;4956:30;5022:34;5002:18;;;4995:62;-1:-1:-1;;;5073:18:1;;;5066:35;5118:19;;19712:85:0;4742:401:1;19712:85:0;19833:67;16011:10;19856:7;19884:15;19865:16;:34;19833:8;:67::i;:::-;-1:-1:-1;19931:4:0;;19530:413;-1:-1:-1;;;19530:413:0:o;18207:175::-;18293:4;18310:42;16011:10;18334:9;18345:6;18310:9;:42::i;23523:290::-;16735:6;;-1:-1:-1;;;;;16735:6:0;16011:10;16735:22;16727:67;;;;-1:-1:-1;;;16727:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23617:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;:40;::::1;;:28;::::0;;::::1;:40;;::::0;23609:94:::1;;;::::0;-1:-1:-1;;;23609:94:0;;5350:2:1;23609:94:0::1;::::0;::::1;5332:21:1::0;5389:2;5369:18;;;5362:30;5428:34;5408:18;;;5401:62;-1:-1:-1;;;5479:18:1;;;5472:40;5529:19;;23609:94:0::1;5148:406:1::0;23609:94:0::1;-1:-1:-1::0;;;;;23714:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;23714:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;23771:34;;1144:41:1;;;23771:34:0::1;::::0;1117:18:1;23771:34:0::1;;;;;;;23523:290:::0;;:::o;16978:244::-;16735:6;;-1:-1:-1;;;;;16735:6:0;16011:10;16735:22;16727:67;;;;-1:-1:-1;;;16727:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17067:22:0;::::1;17059:73;;;::::0;-1:-1:-1;;;17059:73:0;;5761:2:1;17059:73:0::1;::::0;::::1;5743:21:1::0;5800:2;5780:18;;;5773:30;5839:34;5819:18;;;5812:62;-1:-1:-1;;;5890:18:1;;;5883:36;5936:19;;17059:73:0::1;5559:402:1::0;17059:73:0::1;17169:6;::::0;17148:38:::1;::::0;-1:-1:-1;;;;;17148:38:0;;::::1;::::0;17169:6:::1;::::0;17148:38:::1;::::0;17169:6:::1;::::0;17148:38:::1;17197:6;:17:::0;;-1:-1:-1;;;;;;17197:17:0::1;-1:-1:-1::0;;;;;17197:17:0;;;::::1;::::0;;;::::1;::::0;;16978:244::o;23050:465::-;16735:6;;-1:-1:-1;;;;;16735:6:0;16011:10;16735:22;16727:67;;;;-1:-1:-1;;;16727:67:0;;;;;;;:::i;:::-;23146:4:::1;-1:-1:-1::0;;;;;23129:22:0;::::1;::::0;23121:90:::1;;;::::0;-1:-1:-1;;;23121:90:0;;6168:2:1;23121:90:0::1;::::0;::::1;6150:21:1::0;6207:2;6187:18;;;6180:30;6246:34;6226:18;;;6219:62;6317:25;6297:18;;;6290:53;6360:19;;23121:90:0::1;5966:419:1::0;23121:90:0::1;-1:-1:-1::0;;;;;23226:21:0;::::1;23222:127;;23264:52;23272:10;23294:21;23264:29;:52::i;:::-;23050:465:::0;:::o;23222:127::-:1;23421:35;::::0;-1:-1:-1;;;23421:35:0;;23450:4:::1;23421:35;::::0;::::1;2237:51:1::0;23386:5:0;;23359:17:::1;::::0;-1:-1:-1;;;;;23421:20:0;::::1;::::0;::::1;::::0;2210:18:1;;23421:35:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23467:40;::::0;-1:-1:-1;;;23467:40:0;;23487:10:::1;23467:40;::::0;::::1;6753:51:1::0;6820:18;;;6813:34;;;23403:53:0;;-1:-1:-1;;;;;;23467:19:0;::::1;::::0;::::1;::::0;6726:18:1;;23467:40:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23110:405;;23050:465:::0;:::o;21698:380::-;-1:-1:-1;;;;;21834:19:0;;21826:68;;;;-1:-1:-1;;;21826:68:0;;7310:2:1;21826:68:0;;;7292:21:1;7349:2;7329:18;;;7322:30;7388:34;7368:18;;;7361:62;-1:-1:-1;;;7439:18:1;;;7432:34;7483:19;;21826:68:0;7108:400:1;21826:68:0;-1:-1:-1;;;;;21913:21:0;;21905:68;;;;-1:-1:-1;;;21905:68:0;;7715:2:1;21905:68:0;;;7697:21:1;7754:2;7734:18;;;7727:30;7793:34;7773:18;;;7766:62;-1:-1:-1;;;7844:18:1;;;7837:32;7886:19;;21905:68:0;7513:398:1;21905:68:0;-1:-1:-1;;;;;21986:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;22038:32;;1342:25:1;;;22038:32:0;;1315:18:1;22038:32:0;;;;;;;21698:380;;;:::o;24143:516::-;-1:-1:-1;;;;;24240:18:0;;24232:68;;;;-1:-1:-1;;;24232:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;24319:16:0;;24311:64;;;;-1:-1:-1;;;24311:64:0;;;;;;;:::i;:::-;24394:14;;-1:-1:-1;;;24394:14:0;;;;;:43;;-1:-1:-1;;;;;;24412:25:0;;;;;;:19;:25;;;;;;;;24394:43;:70;;;-1:-1:-1;;;;;;24441:23:0;;;;;;:19;:23;;;;;;;;24394:70;24386:107;;;;-1:-1:-1;;;24386:107:0;;8928:2:1;24386:107:0;;;8910:21:1;8967:2;8947:18;;;8940:30;9006:26;8986:18;;;8979:54;9050:18;;24386:107:0;8726:348:1;24386:107:0;24517:6;24527:1;24517:11;24513:93;;24545:28;24561:4;24567:2;24571:1;24545:15;:28::i;:::-;24143:516;;;:::o;24513:93::-;24618:33;24634:4;24640:2;24644:6;24618:15;:33::i;11790:317::-;11905:6;11880:21;:31;;11872:73;;;;-1:-1:-1;;;11872:73:0;;9281:2:1;11872:73:0;;;9263:21:1;9320:2;9300:18;;;9293:30;9359:31;9339:18;;;9332:59;9408:18;;11872:73:0;9079:353:1;11872:73:0;11959:12;11977:9;-1:-1:-1;;;;;11977:14:0;11999:6;11977:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11958:52;;;12029:7;12021:78;;;;-1:-1:-1;;;12021:78:0;;9849:2:1;12021:78:0;;;9831:21:1;9888:2;9868:18;;;9861:30;9927:34;9907:18;;;9900:62;9998:28;9978:18;;;9971:56;10044:19;;12021:78:0;9647:422:1;19951:733:0;-1:-1:-1;;;;;20091:20:0;;20083:70;;;;-1:-1:-1;;;20083:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20172:23:0;;20164:71;;;;-1:-1:-1;;;20164:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20332:17:0;;20308:21;20332:17;;;;;;;;;;;20368:23;;;;20360:74;;;;-1:-1:-1;;;20360:74:0;;10276:2:1;20360:74:0;;;10258:21:1;10315:2;10295:18;;;10288:30;10354:34;10334:18;;;10327:62;-1:-1:-1;;;10405:18:1;;;10398:36;10451:19;;20360:74:0;10074:402:1;20360:74:0;-1:-1:-1;;;;;20470:17:0;;;:9;:17;;;;;;;;;;;20490:22;;;20470:42;;20534:20;;;;;;;;:30;;20506:6;;20470:9;20534:30;;20506:6;;20534:30;:::i;:::-;;;;;;;;20599:9;-1:-1:-1;;;;;20582:35:0;20591:6;-1:-1:-1;;;;;20582:35:0;;20610:6;20582:35;;;;1342:25:1;;1330:2;1315:18;;1196:177;20582:35:0;;;;;;;;20630:46;24143:516;14:548:1;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:1:o;2299:118::-;2385:5;2378:13;2371:21;2364:5;2361:32;2351:60;;2407:1;2404;2397:12;2422:315;2487:6;2495;2548:2;2536:9;2527:7;2523:23;2519:32;2516:52;;;2564:1;2561;2554:12;2516:52;2587:29;2606:9;2587:29;:::i;:::-;2577:39;;2666:2;2655:9;2651:18;2638:32;2679:28;2701:5;2679:28;:::i;:::-;2726:5;2716:15;;;2422:315;;;;;:::o;2742:260::-;2810:6;2818;2871:2;2859:9;2850:7;2846:23;2842:32;2839:52;;;2887:1;2884;2877:12;2839:52;2910:29;2929:9;2910:29;:::i;:::-;2900:39;;2958:38;2992:2;2981:9;2977:18;2958:38;:::i;:::-;2948:48;;2742:260;;;;;:::o;3007:380::-;3086:1;3082:12;;;;3129;;;3150:61;;3204:4;3196:6;3192:17;3182:27;;3150:61;3257:2;3249:6;3246:14;3226:18;3223:38;3220:161;;3303:10;3298:3;3294:20;3291:1;3284:31;3338:4;3335:1;3328:15;3366:4;3363:1;3356:15;3220:161;;3007:380;;;:::o;3801:222::-;3866:9;;;3887:10;;;3884:133;;;3939:10;3934:3;3930:20;3927:1;3920:31;3974:4;3971:1;3964:15;4002:4;3999:1;3992:15;4028:356;4230:2;4212:21;;;4249:18;;;4242:30;4308:34;4303:2;4288:18;;4281:62;4375:2;4360:18;;4028:356::o;6390:184::-;6460:6;6513:2;6501:9;6492:7;6488:23;6484:32;6481:52;;;6529:1;6526;6519:12;6481:52;-1:-1:-1;6552:16:1;;6390:184;-1:-1:-1;6390:184:1:o;6858:245::-;6925:6;6978:2;6966:9;6957:7;6953:23;6949:32;6946:52;;;6994:1;6991;6984:12;6946:52;7026:9;7020:16;7045:28;7067:5;7045:28;:::i;7916:401::-;8118:2;8100:21;;;8157:2;8137:18;;;8130:30;8196:34;8191:2;8176:18;;8169:62;-1:-1:-1;;;8262:2:1;8247:18;;8240:35;8307:3;8292:19;;7916:401::o;8322:399::-;8524:2;8506:21;;;8563:2;8543:18;;;8536:30;8602:34;8597:2;8582:18;;8575:62;-1:-1:-1;;;8668:2:1;8653:18;;8646:33;8711:3;8696:19;;8322:399::o
Swarm Source
ipfs://d09b5fe54c2a2e3d518b869013443e2ed1dbb4f076550b3222549d5e5843daad
[ 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.