ETH Price: $3,002.81 (+3.01%)
Gas: 2 Gwei

Token

DGNAPP.AI (DEGAI)
 

Overview

Max Total Supply

1,000,000,000 DEGAI

Holders

2,339

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
376,915.805397887945831901 DEGAI

Value
$0.00
0x08436831749C5E1bd8DC5243b974232f550442D5
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:
Token

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 6 : Token.sol
// SPDX-License-Identifier: MIT
//
// https://dgnapp.ai/
// https://t.me/dgnapp
// https://twitter.com/FollowAltcoins

pragma solidity ^0.8.0;

import "./BaseERC20Token.sol";

contract Token is BaseERC20Token {
    struct Fees {
        uint8 burnFee;
        uint8 marketingFee;
        uint8 summedFee;
    }

    Fees public fees;
    Fees public zeroFees;

    enum TransferType {MOVE, BUY, SELL}

    address public routerAddress;
    address public burnAddress;
    address public marketingAddress;
    address public teamAddress1;
    address public teamAddress2;
    address public operationAddress1;
    address public operationAddress2;

    mapping(address => bool) private taxFreeAddresses;

    constructor(
        address _teamAddress1,
        address _teamAddress2,
        address _operationAddress1,
        address _operationAddress2,
        address _marketingAddress
    ) {
        // erc-20 fields
        _name = "DGNAPP.AI";
        _symbol = "DEGAI";
        _totalSupply = 1_000_000_000 * 10 ** decimals();

        // fees
        fees.burnFee = 3;
        fees.marketingFee = 2;
        fees.summedFee = fees.burnFee + fees.marketingFee;

        // addresses
        burnAddress = address(0xdEaD);
        teamAddress1 = _teamAddress1;
        teamAddress2 = _teamAddress2;
        operationAddress1 = _operationAddress1;
        operationAddress2 = _operationAddress2;
        marketingAddress = _marketingAddress;

        taxFreeAddresses[address(this)] = true;
        taxFreeAddresses[marketingAddress] = true;
        taxFreeAddresses[owner()] = true;

        // coins distribution
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function transfer(address to, uint256 amount) public override returns (bool) {
        address spender = _msgSender();
        return transferCoins(spender, to, amount);
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        return transferCoins(from, to, amount);
    }

    function transferCoins(address from, address to, uint256 amount) internal returns (bool) {
        TransferType transferType;
        Fees memory transferFees;
        (transferType, transferFees) = getTransferTypeAndFees(from, to);

        if (transferFees.summedFee != 0) {
            uint256 burnFeeAmount = (amount * transferFees.burnFee) / 100;
            _transfer(from, burnAddress, burnFeeAmount);

            uint256 marketingFeeAmount = (amount * transferFees.marketingFee) / 100;
            _transfer(from, marketingAddress, marketingFeeAmount);

            amount -= burnFeeAmount;
            amount -= marketingFeeAmount;
        }

        _transfer(from, to, amount);

        return true;
    }

    function getTransferTypeAndFees(address from, address to) internal view returns (TransferType, Fees memory) {
        if (from == routerAddress)
            return (TransferType.BUY, zeroFees);
        else if (to == routerAddress)
            if (taxFreeAddresses[from] || taxFreeAddresses[to])
                return (TransferType.SELL, zeroFees);
            else
                return (TransferType.SELL, fees);
        else
            return (TransferType.MOVE, zeroFees);
    }

    function setRouterAddress(address _routerAddress) public onlyOwner {
        routerAddress = _routerAddress;
    }
}

File 2 of 6 : BaseERC20Token.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";


abstract contract BaseERC20Token is Ownable, IERC20, IERC20Metadata {
    string internal _name;
    string internal _symbol;
    uint256 internal _totalSupply;

    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;

    /**
     * @dev Returns the name of the token.
     */
    function name() public view override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public pure override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }


    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `from` to `to`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     */
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
    unchecked {
        _balances[from] = fromBalance - amount;
        // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
        // decrementing then incrementing.
        _balances[to] += amount;
    }

        emit Transfer(from, to, amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal {
        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);
    }

    /**
     * @dev Updates `owner` s allowance for `spender` based on spent `amount`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }
}

File 3 of 6 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

File 4 of 6 : IERC20Metadata.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.0;

import "../IERC20.sol";

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

File 5 of 6 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

File 6 of 6 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_teamAddress1","type":"address"},{"internalType":"address","name":"_teamAddress2","type":"address"},{"internalType":"address","name":"_operationAddress1","type":"address"},{"internalType":"address","name":"_operationAddress2","type":"address"},{"internalType":"address","name":"_marketingAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"fees","outputs":[{"internalType":"uint8","name":"burnFee","type":"uint8"},{"internalType":"uint8","name":"marketingFee","type":"uint8"},{"internalType":"uint8","name":"summedFee","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationAddress1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationAddress2","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"routerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_routerAddress","type":"address"}],"name":"setRouterAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamAddress1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamAddress2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"zeroFees","outputs":[{"internalType":"uint8","name":"burnFee","type":"uint8"},{"internalType":"uint8","name":"marketingFee","type":"uint8"},{"internalType":"uint8","name":"summedFee","type":"uint8"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b50604051620029bd380380620029bd83398181016040528101906200003791906200068b565b620000576200004b6200052360201b60201c565b6200052b60201b60201c565b6040518060400160405280600981526020017f44474e4150502e41490000000000000000000000000000000000000000000000815250600190816200009d91906200098d565b506040518060400160405280600581526020017f444547414900000000000000000000000000000000000000000000000000000081525060029081620000e491906200098d565b50620000f5620005ef60201b60201c565b600a62000103919062000c04565b633b9aca0062000114919062000c55565b6003819055506003600660000160006101000a81548160ff021916908360ff1602179055506002600660000160016101000a81548160ff021916908360ff160217905550600660000160019054906101000a900460ff16600660000160009054906101000a900460ff166200018a919062000ca0565b600660000160026101000a81548160ff021916908360ff16021790555061dead600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f600062000417620005f860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000510919062000ced565b60405180910390a3505050505062000d0a565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006538262000626565b9050919050565b620006658162000646565b81146200067157600080fd5b50565b60008151905062000685816200065a565b92915050565b600080600080600060a08688031215620006aa57620006a962000621565b5b6000620006ba8882890162000674565b9550506020620006cd8882890162000674565b9450506040620006e08882890162000674565b9350506060620006f38882890162000674565b9250506080620007068882890162000674565b9150509295509295909350565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200079557607f821691505b602082108103620007ab57620007aa6200074d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620007d6565b620008218683620007d6565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200086e62000868620008628462000839565b62000843565b62000839565b9050919050565b6000819050919050565b6200088a836200084d565b620008a2620008998262000875565b848454620007e3565b825550505050565b600090565b620008b9620008aa565b620008c68184846200087f565b505050565b5b81811015620008ee57620008e2600082620008af565b600181019050620008cc565b5050565b601f8211156200093d576200090781620007b1565b6200091284620007c6565b8101602085101562000922578190505b6200093a6200093185620007c6565b830182620008cb565b50505b505050565b600082821c905092915050565b6000620009626000198460080262000942565b1980831691505092915050565b60006200097d83836200094f565b9150826002028217905092915050565b620009988262000713565b67ffffffffffffffff811115620009b457620009b36200071e565b5b620009c082546200077c565b620009cd828285620008f2565b600060209050601f83116001811462000a055760008415620009f0578287015190505b620009fc85826200096f565b86555062000a6c565b601f19841662000a1586620007b1565b60005b8281101562000a3f5784890151825560018201915060208501945060208101905062000a18565b8683101562000a5f578489015162000a5b601f8916826200094f565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000b025780860481111562000ada5762000ad962000a74565b5b600185161562000aea5780820291505b808102905062000afa8562000aa3565b945062000aba565b94509492505050565b60008262000b1d576001905062000bf0565b8162000b2d576000905062000bf0565b816001811462000b46576002811462000b515762000b87565b600191505062000bf0565b60ff84111562000b665762000b6562000a74565b5b8360020a91508482111562000b805762000b7f62000a74565b5b5062000bf0565b5060208310610133831016604e8410600b841016171562000bc15782820a90508381111562000bbb5762000bba62000a74565b5b62000bf0565b62000bd0848484600162000ab0565b9250905081840481111562000bea5762000be962000a74565b5b81810290505b9392505050565b600060ff82169050919050565b600062000c118262000839565b915062000c1e8362000bf7565b925062000c4d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000b0b565b905092915050565b600062000c628262000839565b915062000c6f8362000839565b925082820262000c7f8162000839565b9150828204841483151762000c995762000c9862000a74565b5b5092915050565b600062000cad8262000bf7565b915062000cba8362000bf7565b9250828201905060ff81111562000cd65762000cd562000a74565b5b92915050565b62000ce78162000839565b82525050565b600060208201905062000d04600083018462000cdc565b92915050565b611ca38062000d1a6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80637aa70e3f116100b85780639af1d35a1161007c5780639af1d35a14610349578063a5ece94114610369578063a9059cbb14610387578063b6bb354b146103b7578063dd62ed3e146103d5578063f2fde38b1461040557610142565b80637aa70e3f146102b1578063861a588e146102d15780638da5cb5b146102ef57806395d89b411461030d57806399e956d01461032b57610142565b80633268cc561161010a5780633268cc56146102015780633e35f28f1461021f57806341cb87fc1461023d57806370a082311461025957806370d5ae0514610289578063715018a6146102a757610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd1461019557806323b872dd146101b3578063313ce567146101e3575b600080fd5b61014f610421565b60405161015c9190611411565b60405180910390f35b61017f600480360381019061017a91906114cc565b6104b3565b60405161018c9190611527565b60405180910390f35b61019d6104d6565b6040516101aa9190611551565b60405180910390f35b6101cd60048036038101906101c8919061156c565b6104e0565b6040516101da9190611527565b60405180910390f35b6101eb61050d565b6040516101f891906115db565b60405180910390f35b610209610516565b6040516102169190611605565b60405180910390f35b61022761053c565b6040516102349190611605565b60405180910390f35b61025760048036038101906102529190611620565b610562565b005b610273600480360381019061026e9190611620565b6105ae565b6040516102809190611551565b60405180910390f35b6102916105f7565b60405161029e9190611605565b60405180910390f35b6102af61061d565b005b6102b9610631565b6040516102c89392919061164d565b60405180910390f35b6102d9610670565b6040516102e69190611605565b60405180910390f35b6102f7610696565b6040516103049190611605565b60405180910390f35b6103156106bf565b6040516103229190611411565b60405180910390f35b610333610751565b6040516103409190611605565b60405180910390f35b610351610777565b6040516103609392919061164d565b60405180910390f35b6103716107b6565b60405161037e9190611605565b60405180910390f35b6103a1600480360381019061039c91906114cc565b6107dc565b6040516103ae9190611527565b60405180910390f35b6103bf6107fd565b6040516103cc9190611605565b60405180910390f35b6103ef60048036038101906103ea9190611684565b610823565b6040516103fc9190611551565b60405180910390f35b61041f600480360381019061041a9190611620565b6108aa565b005b606060018054610430906116f3565b80601f016020809104026020016040519081016040528092919081815260200182805461045c906116f3565b80156104a95780601f1061047e576101008083540402835291602001916104a9565b820191906000526020600020905b81548152906001019060200180831161048c57829003601f168201915b5050505050905090565b6000806104be61092d565b90506104cb818585610935565b600191505092915050565b6000600354905090565b6000806104eb61092d565b90506104f8858285610afe565b610503858585610b8a565b9150509392505050565b60006012905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61056a610c8d565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610625610c8d565b61062f6000610d0b565b565b60078060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16905083565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546106ce906116f3565b80601f01602080910402602001604051908101604052809291908181526020018280546106fa906116f3565b80156107475780601f1061071c57610100808354040283529160200191610747565b820191906000526020600020905b81548152906001019060200180831161072a57829003601f168201915b5050505050905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60068060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16905083565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806107e761092d565b90506107f4818585610b8a565b91505092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6108b2610c8d565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610921576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091890611796565b60405180910390fd5b61092a81610d0b565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90611828565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0a906118ba565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610af19190611551565b60405180910390a3505050565b6000610b0a8484610823565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b845781811015610b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6d90611926565b60405180910390fd5b610b838484848403610935565b5b50505050565b600080610b95611357565b610b9f8686610dcf565b80925081935050506000816040015160ff1614610c755760006064826000015160ff1686610bcd9190611975565b610bd791906119e6565b9050610c0687600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836110f4565b60006064836020015160ff1687610c1d9190611975565b610c2791906119e6565b9050610c5688600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836110f4565b8186610c629190611a17565b95508086610c709190611a17565b955050505b610c808686866110f4565b6001925050509392505050565b610c9561092d565b73ffffffffffffffffffffffffffffffffffffffff16610cb3610696565b73ffffffffffffffffffffffffffffffffffffffff1614610d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0090611a97565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610dd9611357565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610ea05760016007806040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff16815250509050915091506110ed565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361107f57600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610f965750600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561100d5760026007806040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff16815250509050915091506110ed565b60026006806040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff16815250509050915091506110ed565b60006007806040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff16815250509050915091505b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115a90611b29565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c990611bbb565b60405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611259576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125090611c4d565b60405180910390fd5b818103600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113499190611551565b60405180910390a350505050565b6040518060600160405280600060ff168152602001600060ff168152602001600060ff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b838110156113bb5780820151818401526020810190506113a0565b60008484015250505050565b6000601f19601f8301169050919050565b60006113e382611381565b6113ed818561138c565b93506113fd81856020860161139d565b611406816113c7565b840191505092915050565b6000602082019050818103600083015261142b81846113d8565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061146382611438565b9050919050565b61147381611458565b811461147e57600080fd5b50565b6000813590506114908161146a565b92915050565b6000819050919050565b6114a981611496565b81146114b457600080fd5b50565b6000813590506114c6816114a0565b92915050565b600080604083850312156114e3576114e2611433565b5b60006114f185828601611481565b9250506020611502858286016114b7565b9150509250929050565b60008115159050919050565b6115218161150c565b82525050565b600060208201905061153c6000830184611518565b92915050565b61154b81611496565b82525050565b60006020820190506115666000830184611542565b92915050565b60008060006060848603121561158557611584611433565b5b600061159386828701611481565b93505060206115a486828701611481565b92505060406115b5868287016114b7565b9150509250925092565b600060ff82169050919050565b6115d5816115bf565b82525050565b60006020820190506115f060008301846115cc565b92915050565b6115ff81611458565b82525050565b600060208201905061161a60008301846115f6565b92915050565b60006020828403121561163657611635611433565b5b600061164484828501611481565b91505092915050565b600060608201905061166260008301866115cc565b61166f60208301856115cc565b61167c60408301846115cc565b949350505050565b6000806040838503121561169b5761169a611433565b5b60006116a985828601611481565b92505060206116ba85828601611481565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061170b57607f821691505b60208210810361171e5761171d6116c4565b5b50919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061178060268361138c565b915061178b82611724565b604082019050919050565b600060208201905081810360008301526117af81611773565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061181260248361138c565b915061181d826117b6565b604082019050919050565b6000602082019050818103600083015261184181611805565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006118a460228361138c565b91506118af82611848565b604082019050919050565b600060208201905081810360008301526118d381611897565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611910601d8361138c565b915061191b826118da565b602082019050919050565b6000602082019050818103600083015261193f81611903565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061198082611496565b915061198b83611496565b925082820261199981611496565b915082820484148315176119b0576119af611946565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006119f182611496565b91506119fc83611496565b925082611a0c57611a0b6119b7565b5b828204905092915050565b6000611a2282611496565b9150611a2d83611496565b9250828203905081811115611a4557611a44611946565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611a8160208361138c565b9150611a8c82611a4b565b602082019050919050565b60006020820190508181036000830152611ab081611a74565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611b1360258361138c565b9150611b1e82611ab7565b604082019050919050565b60006020820190508181036000830152611b4281611b06565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611ba560238361138c565b9150611bb082611b49565b604082019050919050565b60006020820190508181036000830152611bd481611b98565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611c3760268361138c565b9150611c4282611bdb565b604082019050919050565b60006020820190508181036000830152611c6681611c2a565b905091905056fea2646970667358221220fd918cacd5118fc9c4c59b9f45057a6f5069e207355e51de6ddba74d7b7b456f64736f6c6343000813003300000000000000000000000099042bc811adcb240e70a88301d2949b97d0904200000000000000000000000054cd15c3af860513c65cab57a895dbfee58832ba0000000000000000000000003508b753c50ea55b458ca0bd78b2766ecbdf4e40000000000000000000000000f77816eec0be49620dc7bc61393f8ecc391f51580000000000000000000000004f9de4eb5e18c66e3184d524ddb950569dc07245

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c80637aa70e3f116100b85780639af1d35a1161007c5780639af1d35a14610349578063a5ece94114610369578063a9059cbb14610387578063b6bb354b146103b7578063dd62ed3e146103d5578063f2fde38b1461040557610142565b80637aa70e3f146102b1578063861a588e146102d15780638da5cb5b146102ef57806395d89b411461030d57806399e956d01461032b57610142565b80633268cc561161010a5780633268cc56146102015780633e35f28f1461021f57806341cb87fc1461023d57806370a082311461025957806370d5ae0514610289578063715018a6146102a757610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd1461019557806323b872dd146101b3578063313ce567146101e3575b600080fd5b61014f610421565b60405161015c9190611411565b60405180910390f35b61017f600480360381019061017a91906114cc565b6104b3565b60405161018c9190611527565b60405180910390f35b61019d6104d6565b6040516101aa9190611551565b60405180910390f35b6101cd60048036038101906101c8919061156c565b6104e0565b6040516101da9190611527565b60405180910390f35b6101eb61050d565b6040516101f891906115db565b60405180910390f35b610209610516565b6040516102169190611605565b60405180910390f35b61022761053c565b6040516102349190611605565b60405180910390f35b61025760048036038101906102529190611620565b610562565b005b610273600480360381019061026e9190611620565b6105ae565b6040516102809190611551565b60405180910390f35b6102916105f7565b60405161029e9190611605565b60405180910390f35b6102af61061d565b005b6102b9610631565b6040516102c89392919061164d565b60405180910390f35b6102d9610670565b6040516102e69190611605565b60405180910390f35b6102f7610696565b6040516103049190611605565b60405180910390f35b6103156106bf565b6040516103229190611411565b60405180910390f35b610333610751565b6040516103409190611605565b60405180910390f35b610351610777565b6040516103609392919061164d565b60405180910390f35b6103716107b6565b60405161037e9190611605565b60405180910390f35b6103a1600480360381019061039c91906114cc565b6107dc565b6040516103ae9190611527565b60405180910390f35b6103bf6107fd565b6040516103cc9190611605565b60405180910390f35b6103ef60048036038101906103ea9190611684565b610823565b6040516103fc9190611551565b60405180910390f35b61041f600480360381019061041a9190611620565b6108aa565b005b606060018054610430906116f3565b80601f016020809104026020016040519081016040528092919081815260200182805461045c906116f3565b80156104a95780601f1061047e576101008083540402835291602001916104a9565b820191906000526020600020905b81548152906001019060200180831161048c57829003601f168201915b5050505050905090565b6000806104be61092d565b90506104cb818585610935565b600191505092915050565b6000600354905090565b6000806104eb61092d565b90506104f8858285610afe565b610503858585610b8a565b9150509392505050565b60006012905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61056a610c8d565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610625610c8d565b61062f6000610d0b565b565b60078060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16905083565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546106ce906116f3565b80601f01602080910402602001604051908101604052809291908181526020018280546106fa906116f3565b80156107475780601f1061071c57610100808354040283529160200191610747565b820191906000526020600020905b81548152906001019060200180831161072a57829003601f168201915b5050505050905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60068060000160009054906101000a900460ff16908060000160019054906101000a900460ff16908060000160029054906101000a900460ff16905083565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806107e761092d565b90506107f4818585610b8a565b91505092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6108b2610c8d565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610921576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091890611796565b60405180910390fd5b61092a81610d0b565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90611828565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0a906118ba565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610af19190611551565b60405180910390a3505050565b6000610b0a8484610823565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b845781811015610b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6d90611926565b60405180910390fd5b610b838484848403610935565b5b50505050565b600080610b95611357565b610b9f8686610dcf565b80925081935050506000816040015160ff1614610c755760006064826000015160ff1686610bcd9190611975565b610bd791906119e6565b9050610c0687600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836110f4565b60006064836020015160ff1687610c1d9190611975565b610c2791906119e6565b9050610c5688600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836110f4565b8186610c629190611a17565b95508086610c709190611a17565b955050505b610c808686866110f4565b6001925050509392505050565b610c9561092d565b73ffffffffffffffffffffffffffffffffffffffff16610cb3610696565b73ffffffffffffffffffffffffffffffffffffffff1614610d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0090611a97565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610dd9611357565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610ea05760016007806040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff16815250509050915091506110ed565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361107f57600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610f965750600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561100d5760026007806040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff16815250509050915091506110ed565b60026006806040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff16815250509050915091506110ed565b60006007806040518060600160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016000820160019054906101000a900460ff1660ff1660ff1681526020016000820160029054906101000a900460ff1660ff1660ff16815250509050915091505b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115a90611b29565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c990611bbb565b60405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611259576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125090611c4d565b60405180910390fd5b818103600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113499190611551565b60405180910390a350505050565b6040518060600160405280600060ff168152602001600060ff168152602001600060ff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b838110156113bb5780820151818401526020810190506113a0565b60008484015250505050565b6000601f19601f8301169050919050565b60006113e382611381565b6113ed818561138c565b93506113fd81856020860161139d565b611406816113c7565b840191505092915050565b6000602082019050818103600083015261142b81846113d8565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061146382611438565b9050919050565b61147381611458565b811461147e57600080fd5b50565b6000813590506114908161146a565b92915050565b6000819050919050565b6114a981611496565b81146114b457600080fd5b50565b6000813590506114c6816114a0565b92915050565b600080604083850312156114e3576114e2611433565b5b60006114f185828601611481565b9250506020611502858286016114b7565b9150509250929050565b60008115159050919050565b6115218161150c565b82525050565b600060208201905061153c6000830184611518565b92915050565b61154b81611496565b82525050565b60006020820190506115666000830184611542565b92915050565b60008060006060848603121561158557611584611433565b5b600061159386828701611481565b93505060206115a486828701611481565b92505060406115b5868287016114b7565b9150509250925092565b600060ff82169050919050565b6115d5816115bf565b82525050565b60006020820190506115f060008301846115cc565b92915050565b6115ff81611458565b82525050565b600060208201905061161a60008301846115f6565b92915050565b60006020828403121561163657611635611433565b5b600061164484828501611481565b91505092915050565b600060608201905061166260008301866115cc565b61166f60208301856115cc565b61167c60408301846115cc565b949350505050565b6000806040838503121561169b5761169a611433565b5b60006116a985828601611481565b92505060206116ba85828601611481565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061170b57607f821691505b60208210810361171e5761171d6116c4565b5b50919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061178060268361138c565b915061178b82611724565b604082019050919050565b600060208201905081810360008301526117af81611773565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061181260248361138c565b915061181d826117b6565b604082019050919050565b6000602082019050818103600083015261184181611805565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006118a460228361138c565b91506118af82611848565b604082019050919050565b600060208201905081810360008301526118d381611897565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611910601d8361138c565b915061191b826118da565b602082019050919050565b6000602082019050818103600083015261193f81611903565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061198082611496565b915061198b83611496565b925082820261199981611496565b915082820484148315176119b0576119af611946565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006119f182611496565b91506119fc83611496565b925082611a0c57611a0b6119b7565b5b828204905092915050565b6000611a2282611496565b9150611a2d83611496565b9250828203905081811115611a4557611a44611946565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611a8160208361138c565b9150611a8c82611a4b565b602082019050919050565b60006020820190508181036000830152611ab081611a74565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611b1360258361138c565b9150611b1e82611ab7565b604082019050919050565b60006020820190508181036000830152611b4281611b06565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611ba560238361138c565b9150611bb082611b49565b604082019050919050565b60006020820190508181036000830152611bd481611b98565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611c3760268361138c565b9150611c4282611bdb565b604082019050919050565b60006020820190508181036000830152611c6681611c2a565b905091905056fea2646970667358221220fd918cacd5118fc9c4c59b9f45057a6f5069e207355e51de6ddba74d7b7b456f64736f6c63430008130033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000099042bc811adcb240e70a88301d2949b97d0904200000000000000000000000054cd15c3af860513c65cab57a895dbfee58832ba0000000000000000000000003508b753c50ea55b458ca0bd78b2766ecbdf4e40000000000000000000000000f77816eec0be49620dc7bc61393f8ecc391f51580000000000000000000000004f9de4eb5e18c66e3184d524ddb950569dc07245

-----Decoded View---------------
Arg [0] : _teamAddress1 (address): 0x99042BC811aDcb240E70a88301d2949b97D09042
Arg [1] : _teamAddress2 (address): 0x54cd15C3Af860513c65Cab57A895dbFEE58832Ba
Arg [2] : _operationAddress1 (address): 0x3508b753C50Ea55B458cA0bD78b2766ecBdF4E40
Arg [3] : _operationAddress2 (address): 0xf77816eeC0Be49620dc7bC61393F8ecc391f5158
Arg [4] : _marketingAddress (address): 0x4F9De4eB5E18c66E3184d524dDB950569dC07245

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 00000000000000000000000099042bc811adcb240e70a88301d2949b97d09042
Arg [1] : 00000000000000000000000054cd15c3af860513c65cab57a895dbfee58832ba
Arg [2] : 0000000000000000000000003508b753c50ea55b458ca0bd78b2766ecbdf4e40
Arg [3] : 000000000000000000000000f77816eec0be49620dc7bc61393f8ecc391f5158
Arg [4] : 0000000000000000000000004f9de4eb5e18c66e3184d524ddb950569dc07245


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.