ETH Price: $3,188.87 (+2.77%)

Token

Doomer AI (Doomer)
 

Overview

Max Total Supply

13,666,000,000 Doomer

Holders

113

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,113,391.884624154295703667 Doomer

Value
$0.00
0x544324042f0cc43eac2ad63e09200fee01b20f5e
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Doomer

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Doomer.sol
/**
 
Doomer AI - We are doomed! 


▓█████▄  ▒█████   ▒█████   ███▄ ▄███▓▓█████  ██▀███  
▒██▀ ██▌▒██▒  ██▒▒██▒  ██▒▓██▒▀█▀ ██▒▓█   ▀ ▓██ ▒ ██▒
░██   █▌▒██░  ██▒▒██░  ██▒▓██    ▓██░▒███   ▓██ ░▄█ ▒
░▓█▄   ▌▒██   ██░▒██   ██░▒██    ▒██ ▒▓█  ▄ ▒██▀▀█▄  
░▒████▓ ░ ████▓▒░░ ████▓▒░▒██▒   ░██▒░▒████▒░██▓ ▒██▒
 ▒▒▓  ▒ ░ ▒░▒░▒░ ░ ▒░▒░▒░ ░ ▒░   ░  ░░░ ▒░ ░░ ▒▓ ░▒▓░
 ░ ▒  ▒   ░ ▒ ▒░   ░ ▒ ▒░ ░  ░      ░ ░ ░  ░  ░▒ ░ ▒░
 ░ ░  ░ ░ ░ ░ ▒  ░ ░ ░ ▒  ░      ░      ░     ░░   ░ 
   ░        ░ ░      ░ ░         ░      ░  ░   ░     
 ░  

Web: doomer.ai
Socials: linktr.ee/doomerAI

*/                          

// SPDX-License-Identifier: MIT                                                                               
                                                    
pragma solidity 0.8.20;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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);
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract ERC20 is Context, IERC20 {
    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) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - 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");

        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);
    }

    function _createInitialSupply(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, 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);
    }
}

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() external virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    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");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    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);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    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);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    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);
    }

    /**
     * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling
     * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.
     *
     * _Available since v4.8._
     */
    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);
        }
    }

    /**
     * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the
     * revert reason or using the provided one.
     *
     * _Available since v4.3._
     */
    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);
        }
    }
}

library SafeERC20 {
    using Address for address;

    function safeTransfer(
        IERC20 token,
        address to,
        uint256 value
    ) internal {
        _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function _callOptionalReturn(IERC20 token, bytes memory data) private {
        bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed");
        if (returndata.length > 0) {
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

contract Doomer is Ownable, ERC20 {

    mapping (address => bool) public isWhitelisted;

    bool public tradingActive = false;

    constructor() ERC20("Doomer AI", "Doomer"){

        isWhitelisted[msg.sender] = true;
        isWhitelisted[0xE592427A0AEce92De3Edee1F18E0157C05861564] = true;

        uint256 totalSupply = 13_666_000_000 * 1e18;

        _createInitialSupply(msg.sender, totalSupply);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        if(!tradingActive) {
            require(isWhitelisted[to] || isWhitelisted[from], "Trading not active");
        }
        super._transfer(from, to, amount);
    }

    function enableTrading() external onlyOwner {
        require(!tradingActive, "Trading already started");
        tradingActive = true;
    }

    function setIsWhitelisted(address _account, bool _isWhitelisted) external onlyOwner {
        isWhitelisted[_account] = _isWhitelisted;
    }

    function transferToken(address _token, address _to) external onlyOwner {
        require(_token != address(0), "_token address cannot be 0");
        uint256 _contractBalance = IERC20(_token).balanceOf(address(this));
        SafeERC20.safeTransfer(IERC20(_token),_to, _contractBalance);
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"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":[],"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":"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":"","type":"address"}],"name":"isWhitelisted","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":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bool","name":"_isWhitelisted","type":"bool"}],"name":"setIsWhitelisted","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":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"transferToken","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040525f60075f6101000a81548160ff02191690831515021790555034801562000029575f80fd5b506040518060400160405280600981526020017f446f6f6d657220414900000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f446f6f6d657200000000000000000000000000000000000000000000000000008152505f620000a76200025060201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350816004908162000154919062000606565b50806005908162000166919062000606565b505050600160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f73e592427a0aece92de3edee1f18e0157c0586156473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f6b2c2840107597a54ca200000090506200024933826200025760201b60201c565b50620007fb565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002bf9062000748565b60405180910390fd5b8060035f828254620002db919062000795565b925050819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000330919062000795565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003969190620007e0565b60405180910390a35050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200041e57607f821691505b602082108103620004345762000433620003d9565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620004987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200045b565b620004a486836200045b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004ee620004e8620004e284620004bc565b620004c5565b620004bc565b9050919050565b5f819050919050565b6200050983620004ce565b620005216200051882620004f5565b84845462000467565b825550505050565b5f90565b6200053762000529565b62000544818484620004fe565b505050565b5b818110156200056b576200055f5f826200052d565b6001810190506200054a565b5050565b601f821115620005ba5762000584816200043a565b6200058f846200044c565b810160208510156200059f578190505b620005b7620005ae856200044c565b83018262000549565b50505b505050565b5f82821c905092915050565b5f620005dc5f1984600802620005bf565b1980831691505092915050565b5f620005f68383620005cb565b9150826002028217905092915050565b6200061182620003a2565b67ffffffffffffffff8111156200062d576200062c620003ac565b5b62000639825462000406565b620006468282856200056f565b5f60209050601f8311600181146200067c575f841562000667578287015190505b620006738582620005e9565b865550620006e2565b601f1984166200068c866200043a565b5f5b82811015620006b5578489015182556001820191506020850194506020810190506200068e565b86831015620006d55784890151620006d1601f891682620005cb565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000730601f83620006ea565b91506200073d82620006fa565b602082019050919050565b5f6020820190508181035f830152620007618162000722565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620007a182620004bc565b9150620007ae83620004bc565b9250828201905080821115620007c957620007c862000768565b5b92915050565b620007da81620004bc565b82525050565b5f602082019050620007f55f830184620007cf565b92915050565b61245b80620008095f395ff3fe608060405234801561000f575f80fd5b506004361061011f575f3560e01c806370a08231116100ab578063a457c2d71161006f578063a457c2d7146102f5578063a9059cbb14610325578063bbc0c74214610355578063dd62ed3e14610373578063f2fde38b146103a35761011f565b806370a0823114610275578063715018a6146102a55780638a8c523c146102af5780638da5cb5b146102b957806395d89b41146102d75761011f565b806323b872dd116100f257806323b872dd146101ab578063313ce567146101db57806339509351146101f95780633af32abf1461022957806348ae238f146102595761011f565b806306fdde0314610123578063095ea7b31461014157806309ec923a1461017157806318160ddd1461018d575b5f80fd5b61012b6103bf565b604051610138919061180e565b60405180910390f35b61015b600480360381019061015691906118bf565b61044f565b6040516101689190611917565b60405180910390f35b61018b6004803603810190610186919061195a565b61046c565b005b610195610558565b6040516101a291906119a7565b60405180910390f35b6101c560048036038101906101c091906119c0565b610561565b6040516101d29190611917565b60405180910390f35b6101e3610653565b6040516101f09190611a2b565b60405180910390f35b610213600480360381019061020e91906118bf565b61065b565b6040516102209190611917565b60405180910390f35b610243600480360381019061023e9190611a44565b610702565b6040516102509190611917565b60405180910390f35b610273600480360381019061026e9190611a6f565b61071f565b005b61028f600480360381019061028a9190611a44565b6108ac565b60405161029c91906119a7565b60405180910390f35b6102ad6108f2565b005b6102b7610a40565b005b6102c1610b3f565b6040516102ce9190611abc565b60405180910390f35b6102df610b66565b6040516102ec919061180e565b60405180910390f35b61030f600480360381019061030a91906118bf565b610bf6565b60405161031c9190611917565b60405180910390f35b61033f600480360381019061033a91906118bf565b610cdc565b60405161034c9190611917565b60405180910390f35b61035d610cf9565b60405161036a9190611917565b60405180910390f35b61038d60048036038101906103889190611a6f565b610d0b565b60405161039a91906119a7565b60405180910390f35b6103bd60048036038101906103b89190611a44565b610d8d565b005b6060600480546103ce90611b02565b80601f01602080910402602001604051908101604052809291908181526020018280546103fa90611b02565b80156104455780601f1061041c57610100808354040283529160200191610445565b820191905f5260205f20905b81548152906001019060200180831161042857829003601f168201915b5050505050905090565b5f61046261045b610f4a565b8484610f51565b6001905092915050565b610474610f4a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f790611b7c565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f600354905090565b5f61056d848484611114565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105b4610f4a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062a90611c0a565b60405180910390fd5b6106478561063f610f4a565b858403610f51565b60019150509392505050565b5f6012905090565b5f6106f8610667610f4a565b848460025f610674610f4a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546106f39190611c55565b610f51565b6001905092915050565b6006602052805f5260405f205f915054906101000a900460ff1681565b610727610f4a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107aa90611b7c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610821576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081890611cd2565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161085b9190611abc565b602060405180830381865afa158015610876573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089a9190611d04565b90506108a7838383611212565b505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108fa610f4a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610986576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097d90611b7c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a48610f4a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acb90611b7c565b60405180910390fd5b60075f9054906101000a900460ff1615610b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1a90611d79565b60405180910390fd5b600160075f6101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610b7590611b02565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba190611b02565b8015610bec5780601f10610bc357610100808354040283529160200191610bec565b820191905f5260205f20905b815481529060010190602001808311610bcf57829003601f168201915b5050505050905090565b5f8060025f610c03610f4a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb490611e07565b60405180910390fd5b610cd1610cc8610f4a565b85858403610f51565b600191505092915050565b5f610cef610ce8610f4a565b8484611114565b6001905092915050565b60075f9054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610d95610f4a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1890611b7c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8690611e95565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb690611f23565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361102d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102490611fb1565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161110791906119a7565b60405180910390a3505050565b60075f9054906101000a900460ff166112025760065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806111c2575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f890612019565b60405180910390fd5b5b61120d838383611298565b505050565b6112938363a9059cbb60e01b8484604051602401611231929190612037565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506114fa565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd906120ce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136b9061215c565b60405180910390fd5b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ef906121ea565b60405180910390fd5b81810360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546114889190611c55565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114ec91906119a7565b60405180910390a350505050565b5f61155b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166115bf9092919063ffffffff16565b90505f815111156115ba578080602001905181019061157a919061221c565b6115b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b0906122b7565b60405180910390fd5b5b505050565b60606115cd84845f856115d6565b90509392505050565b60608247101561161b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161290612345565b60405180910390fd5b5f808673ffffffffffffffffffffffffffffffffffffffff16858760405161164391906123a7565b5f6040518083038185875af1925050503d805f811461167d576040519150601f19603f3d011682016040523d82523d5f602084013e611682565b606091505b50915091506116938783838761169f565b92505050949350505050565b60608315611700575f8351036116f8576116b885611713565b6116f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ee90612407565b60405180910390fd5b5b82905061170b565b61170a8383611735565b5b949350505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f825111156117475781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177b919061180e565b60405180910390fd5b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156117bb5780820151818401526020810190506117a0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6117e082611784565b6117ea818561178e565b93506117fa81856020860161179e565b611803816117c6565b840191505092915050565b5f6020820190508181035f83015261182681846117d6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61185b82611832565b9050919050565b61186b81611851565b8114611875575f80fd5b50565b5f8135905061188681611862565b92915050565b5f819050919050565b61189e8161188c565b81146118a8575f80fd5b50565b5f813590506118b981611895565b92915050565b5f80604083850312156118d5576118d461182e565b5b5f6118e285828601611878565b92505060206118f3858286016118ab565b9150509250929050565b5f8115159050919050565b611911816118fd565b82525050565b5f60208201905061192a5f830184611908565b92915050565b611939816118fd565b8114611943575f80fd5b50565b5f8135905061195481611930565b92915050565b5f80604083850312156119705761196f61182e565b5b5f61197d85828601611878565b925050602061198e85828601611946565b9150509250929050565b6119a18161188c565b82525050565b5f6020820190506119ba5f830184611998565b92915050565b5f805f606084860312156119d7576119d661182e565b5b5f6119e486828701611878565b93505060206119f586828701611878565b9250506040611a06868287016118ab565b9150509250925092565b5f60ff82169050919050565b611a2581611a10565b82525050565b5f602082019050611a3e5f830184611a1c565b92915050565b5f60208284031215611a5957611a5861182e565b5b5f611a6684828501611878565b91505092915050565b5f8060408385031215611a8557611a8461182e565b5b5f611a9285828601611878565b9250506020611aa385828601611878565b9150509250929050565b611ab681611851565b82525050565b5f602082019050611acf5f830184611aad565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b1957607f821691505b602082108103611b2c57611b2b611ad5565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611b6660208361178e565b9150611b7182611b32565b602082019050919050565b5f6020820190508181035f830152611b9381611b5a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f611bf460288361178e565b9150611bff82611b9a565b604082019050919050565b5f6020820190508181035f830152611c2181611be8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c5f8261188c565b9150611c6a8361188c565b9250828201905080821115611c8257611c81611c28565b5b92915050565b7f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000005f82015250565b5f611cbc601a8361178e565b9150611cc782611c88565b602082019050919050565b5f6020820190508181035f830152611ce981611cb0565b9050919050565b5f81519050611cfe81611895565b92915050565b5f60208284031215611d1957611d1861182e565b5b5f611d2684828501611cf0565b91505092915050565b7f54726164696e6720616c726561647920737461727465640000000000000000005f82015250565b5f611d6360178361178e565b9150611d6e82611d2f565b602082019050919050565b5f6020820190508181035f830152611d9081611d57565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611df160258361178e565b9150611dfc82611d97565b604082019050919050565b5f6020820190508181035f830152611e1e81611de5565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611e7f60268361178e565b9150611e8a82611e25565b604082019050919050565b5f6020820190508181035f830152611eac81611e73565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611f0d60248361178e565b9150611f1882611eb3565b604082019050919050565b5f6020820190508181035f830152611f3a81611f01565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611f9b60228361178e565b9150611fa682611f41565b604082019050919050565b5f6020820190508181035f830152611fc881611f8f565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f61200360128361178e565b915061200e82611fcf565b602082019050919050565b5f6020820190508181035f83015261203081611ff7565b9050919050565b5f60408201905061204a5f830185611aad565b6120576020830184611998565b9392505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6120b860258361178e565b91506120c38261205e565b604082019050919050565b5f6020820190508181035f8301526120e5816120ac565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61214660238361178e565b9150612151826120ec565b604082019050919050565b5f6020820190508181035f8301526121738161213a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6121d460268361178e565b91506121df8261217a565b604082019050919050565b5f6020820190508181035f830152612201816121c8565b9050919050565b5f8151905061221681611930565b92915050565b5f602082840312156122315761223061182e565b5b5f61223e84828501612208565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e5f8201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b5f6122a1602a8361178e565b91506122ac82612247565b604082019050919050565b5f6020820190508181035f8301526122ce81612295565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f5f8201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b5f61232f60268361178e565b915061233a826122d5565b604082019050919050565b5f6020820190508181035f83015261235c81612323565b9050919050565b5f81519050919050565b5f81905092915050565b5f61238182612363565b61238b818561236d565b935061239b81856020860161179e565b80840191505092915050565b5f6123b28284612377565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000005f82015250565b5f6123f1601d8361178e565b91506123fc826123bd565b602082019050919050565b5f6020820190508181035f83015261241e816123e5565b905091905056fea2646970667358221220e1bb3edbe040eb4f9a6dee63e0cf04b7e011f9b04ae21155ac37d6aea09a901e64736f6c63430008140033

Deployed Bytecode

0x608060405234801561000f575f80fd5b506004361061011f575f3560e01c806370a08231116100ab578063a457c2d71161006f578063a457c2d7146102f5578063a9059cbb14610325578063bbc0c74214610355578063dd62ed3e14610373578063f2fde38b146103a35761011f565b806370a0823114610275578063715018a6146102a55780638a8c523c146102af5780638da5cb5b146102b957806395d89b41146102d75761011f565b806323b872dd116100f257806323b872dd146101ab578063313ce567146101db57806339509351146101f95780633af32abf1461022957806348ae238f146102595761011f565b806306fdde0314610123578063095ea7b31461014157806309ec923a1461017157806318160ddd1461018d575b5f80fd5b61012b6103bf565b604051610138919061180e565b60405180910390f35b61015b600480360381019061015691906118bf565b61044f565b6040516101689190611917565b60405180910390f35b61018b6004803603810190610186919061195a565b61046c565b005b610195610558565b6040516101a291906119a7565b60405180910390f35b6101c560048036038101906101c091906119c0565b610561565b6040516101d29190611917565b60405180910390f35b6101e3610653565b6040516101f09190611a2b565b60405180910390f35b610213600480360381019061020e91906118bf565b61065b565b6040516102209190611917565b60405180910390f35b610243600480360381019061023e9190611a44565b610702565b6040516102509190611917565b60405180910390f35b610273600480360381019061026e9190611a6f565b61071f565b005b61028f600480360381019061028a9190611a44565b6108ac565b60405161029c91906119a7565b60405180910390f35b6102ad6108f2565b005b6102b7610a40565b005b6102c1610b3f565b6040516102ce9190611abc565b60405180910390f35b6102df610b66565b6040516102ec919061180e565b60405180910390f35b61030f600480360381019061030a91906118bf565b610bf6565b60405161031c9190611917565b60405180910390f35b61033f600480360381019061033a91906118bf565b610cdc565b60405161034c9190611917565b60405180910390f35b61035d610cf9565b60405161036a9190611917565b60405180910390f35b61038d60048036038101906103889190611a6f565b610d0b565b60405161039a91906119a7565b60405180910390f35b6103bd60048036038101906103b89190611a44565b610d8d565b005b6060600480546103ce90611b02565b80601f01602080910402602001604051908101604052809291908181526020018280546103fa90611b02565b80156104455780601f1061041c57610100808354040283529160200191610445565b820191905f5260205f20905b81548152906001019060200180831161042857829003601f168201915b5050505050905090565b5f61046261045b610f4a565b8484610f51565b6001905092915050565b610474610f4a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f790611b7c565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f600354905090565b5f61056d848484611114565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105b4610f4a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062a90611c0a565b60405180910390fd5b6106478561063f610f4a565b858403610f51565b60019150509392505050565b5f6012905090565b5f6106f8610667610f4a565b848460025f610674610f4a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546106f39190611c55565b610f51565b6001905092915050565b6006602052805f5260405f205f915054906101000a900460ff1681565b610727610f4a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107aa90611b7c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610821576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081890611cd2565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161085b9190611abc565b602060405180830381865afa158015610876573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089a9190611d04565b90506108a7838383611212565b505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108fa610f4a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610986576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097d90611b7c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a48610f4a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acb90611b7c565b60405180910390fd5b60075f9054906101000a900460ff1615610b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1a90611d79565b60405180910390fd5b600160075f6101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610b7590611b02565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba190611b02565b8015610bec5780601f10610bc357610100808354040283529160200191610bec565b820191905f5260205f20905b815481529060010190602001808311610bcf57829003601f168201915b5050505050905090565b5f8060025f610c03610f4a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb490611e07565b60405180910390fd5b610cd1610cc8610f4a565b85858403610f51565b600191505092915050565b5f610cef610ce8610f4a565b8484611114565b6001905092915050565b60075f9054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610d95610f4a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1890611b7c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8690611e95565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb690611f23565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361102d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102490611fb1565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161110791906119a7565b60405180910390a3505050565b60075f9054906101000a900460ff166112025760065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806111c2575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f890612019565b60405180910390fd5b5b61120d838383611298565b505050565b6112938363a9059cbb60e01b8484604051602401611231929190612037565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506114fa565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd906120ce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136b9061215c565b60405180910390fd5b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ef906121ea565b60405180910390fd5b81810360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546114889190611c55565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114ec91906119a7565b60405180910390a350505050565b5f61155b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166115bf9092919063ffffffff16565b90505f815111156115ba578080602001905181019061157a919061221c565b6115b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b0906122b7565b60405180910390fd5b5b505050565b60606115cd84845f856115d6565b90509392505050565b60608247101561161b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161290612345565b60405180910390fd5b5f808673ffffffffffffffffffffffffffffffffffffffff16858760405161164391906123a7565b5f6040518083038185875af1925050503d805f811461167d576040519150601f19603f3d011682016040523d82523d5f602084013e611682565b606091505b50915091506116938783838761169f565b92505050949350505050565b60608315611700575f8351036116f8576116b885611713565b6116f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ee90612407565b60405180910390fd5b5b82905061170b565b61170a8383611735565b5b949350505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f825111156117475781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177b919061180e565b60405180910390fd5b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156117bb5780820151818401526020810190506117a0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6117e082611784565b6117ea818561178e565b93506117fa81856020860161179e565b611803816117c6565b840191505092915050565b5f6020820190508181035f83015261182681846117d6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61185b82611832565b9050919050565b61186b81611851565b8114611875575f80fd5b50565b5f8135905061188681611862565b92915050565b5f819050919050565b61189e8161188c565b81146118a8575f80fd5b50565b5f813590506118b981611895565b92915050565b5f80604083850312156118d5576118d461182e565b5b5f6118e285828601611878565b92505060206118f3858286016118ab565b9150509250929050565b5f8115159050919050565b611911816118fd565b82525050565b5f60208201905061192a5f830184611908565b92915050565b611939816118fd565b8114611943575f80fd5b50565b5f8135905061195481611930565b92915050565b5f80604083850312156119705761196f61182e565b5b5f61197d85828601611878565b925050602061198e85828601611946565b9150509250929050565b6119a18161188c565b82525050565b5f6020820190506119ba5f830184611998565b92915050565b5f805f606084860312156119d7576119d661182e565b5b5f6119e486828701611878565b93505060206119f586828701611878565b9250506040611a06868287016118ab565b9150509250925092565b5f60ff82169050919050565b611a2581611a10565b82525050565b5f602082019050611a3e5f830184611a1c565b92915050565b5f60208284031215611a5957611a5861182e565b5b5f611a6684828501611878565b91505092915050565b5f8060408385031215611a8557611a8461182e565b5b5f611a9285828601611878565b9250506020611aa385828601611878565b9150509250929050565b611ab681611851565b82525050565b5f602082019050611acf5f830184611aad565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b1957607f821691505b602082108103611b2c57611b2b611ad5565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611b6660208361178e565b9150611b7182611b32565b602082019050919050565b5f6020820190508181035f830152611b9381611b5a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f611bf460288361178e565b9150611bff82611b9a565b604082019050919050565b5f6020820190508181035f830152611c2181611be8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c5f8261188c565b9150611c6a8361188c565b9250828201905080821115611c8257611c81611c28565b5b92915050565b7f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000005f82015250565b5f611cbc601a8361178e565b9150611cc782611c88565b602082019050919050565b5f6020820190508181035f830152611ce981611cb0565b9050919050565b5f81519050611cfe81611895565b92915050565b5f60208284031215611d1957611d1861182e565b5b5f611d2684828501611cf0565b91505092915050565b7f54726164696e6720616c726561647920737461727465640000000000000000005f82015250565b5f611d6360178361178e565b9150611d6e82611d2f565b602082019050919050565b5f6020820190508181035f830152611d9081611d57565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611df160258361178e565b9150611dfc82611d97565b604082019050919050565b5f6020820190508181035f830152611e1e81611de5565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611e7f60268361178e565b9150611e8a82611e25565b604082019050919050565b5f6020820190508181035f830152611eac81611e73565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611f0d60248361178e565b9150611f1882611eb3565b604082019050919050565b5f6020820190508181035f830152611f3a81611f01565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611f9b60228361178e565b9150611fa682611f41565b604082019050919050565b5f6020820190508181035f830152611fc881611f8f565b9050919050565b7f54726164696e67206e6f742061637469766500000000000000000000000000005f82015250565b5f61200360128361178e565b915061200e82611fcf565b602082019050919050565b5f6020820190508181035f83015261203081611ff7565b9050919050565b5f60408201905061204a5f830185611aad565b6120576020830184611998565b9392505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6120b860258361178e565b91506120c38261205e565b604082019050919050565b5f6020820190508181035f8301526120e5816120ac565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61214660238361178e565b9150612151826120ec565b604082019050919050565b5f6020820190508181035f8301526121738161213a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6121d460268361178e565b91506121df8261217a565b604082019050919050565b5f6020820190508181035f830152612201816121c8565b9050919050565b5f8151905061221681611930565b92915050565b5f602082840312156122315761223061182e565b5b5f61223e84828501612208565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e5f8201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b5f6122a1602a8361178e565b91506122ac82612247565b604082019050919050565b5f6020820190508181035f8301526122ce81612295565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f5f8201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b5f61232f60268361178e565b915061233a826122d5565b604082019050919050565b5f6020820190508181035f83015261235c81612323565b9050919050565b5f81519050919050565b5f81905092915050565b5f61238182612363565b61238b818561236d565b935061239b81856020860161179e565b80840191505092915050565b5f6123b28284612377565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000005f82015250565b5f6123f1601d8361178e565b91506123fc826123bd565b602082019050919050565b5f6020820190508181035f83015261241e816123e5565b905091905056fea2646970667358221220e1bb3edbe040eb4f9a6dee63e0cf04b7e011f9b04ae21155ac37d6aea09a901e64736f6c63430008140033

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.