ETH Price: $3,480.23 (+2.34%)

Token

Clank Token (CLANK)
 

Overview

Max Total Supply

6,129,046.57021990740740703 CLANK

Holders

181

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
243.036319444444444444 CLANK

Value
$0.00
0xa6d873e66874780a03c5fd7fb86996bb310271bb
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:
ClankToken

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 999 runs

Other Settings:
default evmVersion
File 1 of 3 : ClankToken.sol
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;


// import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
// import "@openzeppelin/contracts/utils/math/SafeMath.sol";
import {ERC20} from "@rari-capital/solmate/src/tokens/ERC20.sol";
import {IRobos} from "./Interface/IRobos.sol";


contract ClankToken is ERC20("Clank Token", "CLANK", 18) {

/*/////////////////////////////////////////////////////////////
                      Public Vars
/////////////////////////////////////////////////////////////*/
    address public robosTeam;
    uint256 constant public LEGENDARY_RATE = 3 ether;
    uint256 constant public BASE_RATE = 2 ether;
    uint256 constant public JR_BASE_RATE = 1 ether;
    //INITAL_ISSUANCE off of mintint a ROBO
    uint256 constant public INITAL_ISSUANCE = 10 ether;
    /// End time for Base rate yeild token (UNIX timestamp)
    /// END time = Sun Jan 30 2033 01:01:01 GMT-0700 (Mountain Standard Time) - in 11 years
    uint256 constant public END = 2003835600;
    uint256 private constant TEAM_SUPPLY = 6_000_000 * 10**18;


/*/////////////////////////////////////////////////////////////
                        Mappings
/////////////////////////////////////////////////////////////*/
    
    mapping(address => uint256) public rewards;
    mapping(address => uint256) public lastUpdate;

    IRobos public robosContract;

/*/////////////////////////////////////////////////////////////
                        Events
/////////////////////////////////////////////////////////////*/

    event RewardPaid(address indexed user, uint256 reward);

/*/////////////////////////////////////////////////////////////
                      Constructor
/////////////////////////////////////////////////////////////*/

    constructor(address _robos, address _robosTeam) {
        robosContract = IRobos(_robos);
        robosTeam = _robosTeam;
        _mint(robosTeam, TEAM_SUPPLY);
    }

/*/////////////////////////////////////////////////////////////
                  Modifier Functions
/////////////////////////////////////////////////////////////*/

    modifier onlyRobosContract() {
        require(
            msg.sender == address(robosContract),
            "Only Robos contract can call this."
        );
        _;
    }

/*/////////////////////////////////////////////////////////////
                    External Functions
/////////////////////////////////////////////////////////////*/

    function updateRewardOnMint(address _user, uint256 _amount) external onlyRobosContract() {
      uint256 time = min(block.timestamp, END);
      uint256 timerUser = lastUpdate[_user];
      if (timerUser > 0 ) {
          rewards[_user] = rewards[_user] + (robosContract.balanceOG(_user) * (BASE_RATE * (time - timerUser))) / 86400 + (_amount * INITAL_ISSUANCE);
      } else {
          rewards[_user] = rewards[_user] + (_amount * INITAL_ISSUANCE);
          lastUpdate[_user] = time;
      }
    }

    function updateReward(address _from, address _to, uint256 _tokenId) external onlyRobosContract() {
        //Lendary Rewards
        if (_tokenId < 16) {
            uint256 time = min(block.timestamp, END);
            uint256 timerFrom = lastUpdate[_from];

            if (timerFrom > 0) {
                rewards[_from] += robosContract.balanceOG(_from) * (LEGENDARY_RATE * (time - timerFrom)) / 86400; 
            }

            if (timerFrom != END) {
                lastUpdate[_from] = time;
            }
                        
            if (_to != address(0)) {
                uint256 timerTo = lastUpdate[_to];

                if (timerTo > 0) {
                    rewards[_to] += robosContract.balanceOG(_to) * (LEGENDARY_RATE * (time - timerTo)) / 86400;
                }

                if (timerTo != END) {
                    lastUpdate[_to] = time;
                }
            }
        }

        //Genesis Rewards
        if (_tokenId > 16 && _tokenId < 2223) {
            uint256 time = min(block.timestamp, END);
            uint256 timerFrom = lastUpdate[_from];

            if (timerFrom > 0) {
                rewards[_from] += robosContract.balanceOG(_from) * (BASE_RATE * (time - timerFrom)) / 86400;
            }

            if (timerFrom != END) {
                lastUpdate[_from] = time;
            } 

            if (_to != address(0)) {
                uint256 timerTo = lastUpdate[_to];

                if (timerTo > 0) {
                    rewards[_to] += robosContract.balanceOG(_to) * (BASE_RATE * (time - timerTo)) / 86400;
                }

                if (timerTo != END) {
                    lastUpdate[_to] = time;
                }
            }
        }
        // JR rewards
        if (_tokenId >= 2223) {
            uint256 time = min(block.timestamp, END);
            uint256 timerFrom = lastUpdate[_from];

            if (timerFrom > 0) {
                rewards[_from] += robosContract.jrCount(_from) * (JR_BASE_RATE * (time - timerFrom)) / 86400;
            }

            if (timerFrom != END) {
                lastUpdate[_from] = time;
            }

            if (_to != address(0)) {
                uint256 timerTo = lastUpdate[_to];

                if (timerTo > 0) {
                    rewards[_to] += robosContract.jrCount(_to) * (JR_BASE_RATE * (time - timerTo)) / 86400;
                }

                if (timerTo != END) {
                    lastUpdate[_to] = time;
                }
            }

        }
    }


    function getReward(address _to) external onlyRobosContract() {
      uint256 reward = rewards[_to];
      if (reward > 0) {
        rewards[_to] = 0;
        _mint(_to, reward);
        emit RewardPaid(_to, reward);
      }
    }

    function burn(address _from, uint256 _amount) external onlyRobosContract() {
      _burn(_from, _amount);
    }
     

    function getTotalClaimable(address _user) external view returns(uint256) {
        uint256 time = min(block.timestamp, END);
        uint256 pending = robosContract.balanceOG(_user) * (BASE_RATE * (time - lastUpdate[_user])) / 86400;
        uint256 legendaryPending = robosContract.balanceOG(_user) * (LEGENDARY_RATE * (time - lastUpdate[_user])) / 86400;
        uint256 jrPending = robosContract.jrCount(_user) * (JR_BASE_RATE * (time - lastUpdate[_user])) / 86400;
        return rewards[_user] + (pending + jrPending + legendaryPending);
    }
    
/*/////////////////////////////////////////////////////////////
                  Internal Functions
/////////////////////////////////////////////////////////////*/

    function min(uint256 a, uint256 b) internal pure returns (uint256) {
      return a < b ? a : b;
    }
    
}

File 2 of 3 : ERC20.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
abstract contract ERC20 {
    /*///////////////////////////////////////////////////////////////
                                  EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 amount);

    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /*///////////////////////////////////////////////////////////////
                             METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    uint8 public immutable decimals;

    /*///////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;

    mapping(address => uint256) public balanceOf;

    mapping(address => mapping(address => uint256)) public allowance;

    /*///////////////////////////////////////////////////////////////
                           EIP-2612 STORAGE
    //////////////////////////////////////////////////////////////*/

    bytes32 public constant PERMIT_TYPEHASH =
        keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");

    uint256 internal immutable INITIAL_CHAIN_ID;

    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;

    mapping(address => uint256) public nonces;

    /*///////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;

        INITIAL_CHAIN_ID = block.chainid;
        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();
    }

    /*///////////////////////////////////////////////////////////////
                              ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        allowance[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function transfer(address to, uint256 amount) public virtual returns (bool) {
        balanceOf[msg.sender] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(msg.sender, to, amount);

        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        if (allowance[from][msg.sender] != type(uint256).max) {
            allowance[from][msg.sender] -= amount;
        }

        balanceOf[from] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(from, to, amount);

        return true;
    }

    /*///////////////////////////////////////////////////////////////
                              EIP-2612 LOGIC
    //////////////////////////////////////////////////////////////*/

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) public virtual {
        require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED");

        // Unchecked because the only math done is incrementing
        // the owner's nonce which cannot realistically overflow.
        unchecked {
            bytes32 digest = keccak256(
                abi.encodePacked(
                    "\x19\x01",
                    DOMAIN_SEPARATOR(),
                    keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline))
                )
            );

            address recoveredAddress = ecrecover(digest, v, r, s);
            require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_PERMIT_SIGNATURE");

            allowance[recoveredAddress][spender] = value;
        }

        emit Approval(owner, spender, value);
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();
    }

    function computeDomainSeparator() internal view virtual returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                    keccak256(bytes(name)),
                    keccak256(bytes("1")),
                    block.chainid,
                    address(this)
                )
            );
    }

    /*///////////////////////////////////////////////////////////////
                       INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(address(0), to, amount);
    }

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;

        // Cannot underflow because a user's balance
        // will never be larger than the total supply.
        unchecked {
            totalSupply -= amount;
        }

        emit Transfer(from, address(0), amount);
    }
}

File 3 of 3 : IRobos.sol
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

interface IRobos {
    function balanceOG(address _user) external view returns(uint256);

    function jrCount(address _user) external view returns(uint256);

    function generationOf(uint256 tokenId) external view returns (uint256 gene);

    function lastTokenId() external view returns (uint256 tokenId);

    function setMintCost(uint256 newMintCost) external;

    function setTxLimit(uint256 _bulkBuyLimit) external;

}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_robos","type":"address"},{"internalType":"address","name":"_robosTeam","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":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BASE_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"END","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INITAL_ISSUANCE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"JR_BASE_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LEGENDARY_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"getReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getTotalClaimable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastUpdate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"robosContract","outputs":[{"internalType":"contract IRobos","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"robosTeam","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"updateReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"updateRewardOnMint","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60e06040523480156200001157600080fd5b50604051620021d3380380620021d3833981016040819052620000349162000306565b604080518082018252600b81526a21b630b735902a37b5b2b760a91b602080830191825283518085019094526005845264434c414e4b60d81b90840152815191929160129162000088916000919062000243565b5081516200009e90600190602085019062000243565b507fff0000000000000000000000000000000000000000000000000000000000000060f882901b166080524660a052620000d76200012d565b60c0525050600980546001600160a01b038086166001600160a01b0319928316179092556006805485841692169190911790819055620001259250166a04f68ca6d8cd91c6000000620001cf565b505062000485565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516200016191906200033d565b60408051918290038220828201825260018352603160f81b6020938401529051620001b493927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6914691309101620003e2565b60405160208183030381529060405280519060200120905090565b8060026000828254620001e3919062000423565b90915550506001600160a01b038216600081815260036020526040808220805485019055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620002379085906200040e565b60405180910390a35050565b828054620002519062000448565b90600052602060002090601f016020900481019282620002755760008555620002c0565b82601f106200029057805160ff1916838001178555620002c0565b82800160010185558215620002c0579182015b82811115620002c0578251825591602001919060010190620002a3565b50620002ce929150620002d2565b5090565b5b80821115620002ce5760008155600101620002d3565b80516001600160a01b03811681146200030157600080fd5b919050565b6000806040838503121562000319578182fd5b6200032483620002e9565b91506200033460208401620002e9565b90509250929050565b81546000908190600281046001808316806200035a57607f831692505b60208084108214156200037b57634e487b7160e01b87526022600452602487fd5b818015620003925760018114620003a457620003d4565b60ff19861689528489019650620003d4565b620003af8a62000417565b885b86811015620003cc5781548b820152908501908301620003b1565b505084890196505b509498975050505050505050565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b90815260200190565b60009081526020902090565b600082198211156200044357634e487b7160e01b81526011600452602481fd5b500190565b6002810460018216806200045d57607f821691505b602082108114156200047f57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160f81c60a05160c051611d1b620004b86000396000611096015260006110620152600061103c0152611d1b6000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c80636fd6d15c116100f9578063bdd38f5911610097578063cc240c0111610071578063cc240c011461033b578063d505accf1461034e578063dd62ed3e14610361578063efe7a50414610374576101b9565b8063bdd38f591461030d578063c00007b014610315578063cb03fb1e14610328576101b9565b806381e0a297116100d357806381e0a297146102d757806395d89b41146102df5780639dc29fac146102e7578063a9059cbb146102fa576101b9565b80636fd6d15c146102a957806370a08231146102b15780637ecebe00146102c4576101b9565b80632c8e8dfa116101665780633644e515116101405780633644e5151461027c57806341910f90146102845780635b89e6391461028c578063688705d314610294576101b9565b80632c8e8dfa1461024a57806330adf81f1461025f578063313ce56714610267576101b9565b806318160ddd1161019757806318160ddd1461021c57806323b872dd14610224578063267e8ab614610237576101b9565b806306fdde03146101be5780630700037d146101dc578063095ea7b3146101fc575b600080fd5b6101c661037c565b6040516101d39190611aee565b60405180910390f35b6101ef6101ea36600461183e565b61040a565b6040516101d39190611a67565b61020f61020a366004611936565b61041c565b6040516101d39190611a5c565b6101ef610486565b61020f61023236600461188a565b61048c565b6101ef61024536600461183e565b610584565b61025d61025836600461188a565b610851565b005b6101ef611016565b61026f61103a565b6040516101d39190611c0c565b6101ef61105e565b6101ef6110bb565b6101ef6110c7565b61029c6110d3565b6040516101d39190611a48565b6101ef6110e2565b6101ef6102bf36600461183e565b6110ee565b6101ef6102d236600461183e565b611100565b61029c611112565b6101c6611121565b61025d6102f5366004611936565b61112e565b61020f610308366004611936565b611166565b6101ef6111dc565b61025d61032336600461183e565b6111e8565b6101ef61033636600461183e565b611299565b61025d610349366004611936565b6112ab565b61025d61035c3660046118c5565b61147b565b6101ef61036f366004611858565b61164c565b6101ef611669565b6000805461038990611c94565b80601f01602080910402602001604051908101604052809291908181526020018280546103b590611c94565b80156104025780601f106103d757610100808354040283529160200191610402565b820191906000526020600020905b8154815290600101906020018083116103e557829003601f168201915b505050505081565b60076020526000908152604090205481565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610475908690611a67565b60405180910390a350600192915050565b60025481565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146104f1576001600160a01b0384166000908152600460209081526040808320338452909152812080548492906104eb908490611c7d565b90915550505b6001600160a01b03841660009081526003602052604081208054849290610519908490611c7d565b90915550506001600160a01b03808416600081815260036020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610572908690611a67565b60405180910390a35060019392505050565b600080610595426377701ad0611671565b6001600160a01b0384166000908152600860205260408120549192509062015180906105c19084611c7d565b6105d390671bc16d674ec80000611c5e565b6009546040516338712d8d60e01b81526001600160a01b03909116906338712d8d90610603908990600401611a48565b60206040518083038186803b15801561061b57600080fd5b505afa15801561062f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610653919061195f565b61065d9190611c5e565b6106679190611c3e565b6001600160a01b0385166000908152600860205260408120549192509062015180906106939085611c7d565b6106a5906729a2241af62c0000611c5e565b6009546040516338712d8d60e01b81526001600160a01b03909116906338712d8d906106d5908a90600401611a48565b60206040518083038186803b1580156106ed57600080fd5b505afa158015610701573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610725919061195f565b61072f9190611c5e565b6107399190611c3e565b6001600160a01b0386166000908152600860205260408120549192509062015180906107659086611c7d565b61077790670de0b6b3a7640000611c5e565b60095460405163c627b76f60e01b81526001600160a01b039091169063c627b76f906107a7908b90600401611a48565b60206040518083038186803b1580156107bf57600080fd5b505afa1580156107d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f7919061195f565b6108019190611c5e565b61080b9190611c3e565b9050816108188285611c26565b6108229190611c26565b6001600160a01b0387166000908152600760205260409020546108459190611c26565b9450505050505b919050565b6009546001600160a01b031633146108845760405162461bcd60e51b815260040161087b90611b78565b60405180910390fd5b6010811015610b0457600061089d426377701ad0611671565b6001600160a01b03851660009081526008602052604090205490915080156109a157620151806108cd8284611c7d565b6108df906729a2241af62c0000611c5e565b6009546040516338712d8d60e01b81526001600160a01b03909116906338712d8d9061090f908a90600401611a48565b60206040518083038186803b15801561092757600080fd5b505afa15801561093b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095f919061195f565b6109699190611c5e565b6109739190611c3e565b6001600160a01b0386166000908152600760205260408120805490919061099b908490611c26565b90915550505b6377701ad081146109c8576001600160a01b03851660009081526008602052604090208290555b6001600160a01b03841615610b01576001600160a01b0384166000908152600860205260409020548015610ad85762015180610a048285611c7d565b610a16906729a2241af62c0000611c5e565b6009546040516338712d8d60e01b81526001600160a01b03909116906338712d8d90610a46908a90600401611a48565b60206040518083038186803b158015610a5e57600080fd5b505afa158015610a72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a96919061195f565b610aa09190611c5e565b610aaa9190611c3e565b6001600160a01b03861660009081526007602052604081208054909190610ad2908490611c26565b90915550505b6377701ad08114610aff576001600160a01b03851660009081526008602052604090208390555b505b50505b601081118015610b1557506108af81105b15610d91576000610b2a426377701ad0611671565b6001600160a01b0385166000908152600860205260409020549091508015610c2e5762015180610b5a8284611c7d565b610b6c90671bc16d674ec80000611c5e565b6009546040516338712d8d60e01b81526001600160a01b03909116906338712d8d90610b9c908a90600401611a48565b60206040518083038186803b158015610bb457600080fd5b505afa158015610bc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bec919061195f565b610bf69190611c5e565b610c009190611c3e565b6001600160a01b03861660009081526007602052604081208054909190610c28908490611c26565b90915550505b6377701ad08114610c55576001600160a01b03851660009081526008602052604090208290555b6001600160a01b03841615610d8e576001600160a01b0384166000908152600860205260409020548015610d655762015180610c918285611c7d565b610ca390671bc16d674ec80000611c5e565b6009546040516338712d8d60e01b81526001600160a01b03909116906338712d8d90610cd3908a90600401611a48565b60206040518083038186803b158015610ceb57600080fd5b505afa158015610cff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d23919061195f565b610d2d9190611c5e565b610d379190611c3e565b6001600160a01b03861660009081526007602052604081208054909190610d5f908490611c26565b90915550505b6377701ad08114610d8c576001600160a01b03851660009081526008602052604090208390555b505b50505b6108af8110611011576000610daa426377701ad0611671565b6001600160a01b0385166000908152600860205260409020549091508015610eae5762015180610dda8284611c7d565b610dec90670de0b6b3a7640000611c5e565b60095460405163c627b76f60e01b81526001600160a01b039091169063c627b76f90610e1c908a90600401611a48565b60206040518083038186803b158015610e3457600080fd5b505afa158015610e48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6c919061195f565b610e769190611c5e565b610e809190611c3e565b6001600160a01b03861660009081526007602052604081208054909190610ea8908490611c26565b90915550505b6377701ad08114610ed5576001600160a01b03851660009081526008602052604090208290555b6001600160a01b0384161561100e576001600160a01b0384166000908152600860205260409020548015610fe55762015180610f118285611c7d565b610f2390670de0b6b3a7640000611c5e565b60095460405163c627b76f60e01b81526001600160a01b039091169063c627b76f90610f53908a90600401611a48565b60206040518083038186803b158015610f6b57600080fd5b505afa158015610f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa3919061195f565b610fad9190611c5e565b610fb79190611c3e565b6001600160a01b03861660009081526007602052604081208054909190610fdf908490611c26565b90915550505b6377701ad0811461100c576001600160a01b03851660009081526008602052604090208390555b505b50505b505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000046146110945761108f611689565b6110b6565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b671bc16d674ec8000081565b6729a2241af62c000081565b6009546001600160a01b031681565b670de0b6b3a764000081565b60036020526000908152604090205481565b60056020526000908152604090205481565b6006546001600160a01b031681565b6001805461038990611c94565b6009546001600160a01b031633146111585760405162461bcd60e51b815260040161087b90611b78565b6111628282611743565b5050565b33600090815260036020526040812080548391908390611187908490611c7d565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610475908690611a67565b678ac7230489e8000081565b6009546001600160a01b031633146112125760405162461bcd60e51b815260040161087b90611b78565b6001600160a01b0381166000908152600760205260409020548015611162576001600160a01b03821660009081526007602052604081205561125482826117c3565b816001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e04868260405161128d9190611a67565b60405180910390a25050565b60086020526000908152604090205481565b6009546001600160a01b031633146112d55760405162461bcd60e51b815260040161087b90611b78565b60006112e5426377701ad0611671565b6001600160a01b038416600090815260086020526040902054909150801561141857611319678ac7230489e8000084611c5e565b620151806113278385611c7d565b61133990671bc16d674ec80000611c5e565b6009546040516338712d8d60e01b81526001600160a01b03909116906338712d8d90611369908a90600401611a48565b60206040518083038186803b15801561138157600080fd5b505afa158015611395573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b9919061195f565b6113c39190611c5e565b6113cd9190611c3e565b6001600160a01b0386166000908152600760205260409020546113f09190611c26565b6113fa9190611c26565b6001600160a01b038516600090815260076020526040902055611475565b61142a678ac7230489e8000084611c5e565b6001600160a01b03851660009081526007602052604090205461144d9190611c26565b6001600160a01b03851660009081526007602090815260408083209390935560089052208290555b50505050565b4284101561149b5760405162461bcd60e51b815260040161087b90611bd5565b60006114a561105e565b6001600160a01b0389166000908152600560209081526040918290208054600181019091559151611502927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290918d9101611a70565b60405160208183030381529060405280519060200120604051602001611529929190611a12565b6040516020818303038152906040528051906020012090506000600182868686604051600081526020016040526040516115669493929190611ad0565b6020604051602081039080840390855afa158015611588573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906115be5750886001600160a01b0316816001600160a01b0316145b6115da5760405162461bcd60e51b815260040161087b90611b41565b6001600160a01b0390811660009081526004602090815260408083208b85168085529252918290208990559051909250908916907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061163b908990611a67565b60405180910390a350505050505050565b600460209081526000928352604080842090915290825290205481565b6377701ad081565b60008183106116805781611682565b825b9392505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516116bb9190611977565b604080519182900382208282018252600183527f3100000000000000000000000000000000000000000000000000000000000000602093840152905161172893927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6914691309101611aa4565b60405160208183030381529060405280519060200120905090565b6001600160a01b0382166000908152600360205260408120805483929061176b908490611c7d565b90915550506002805482900390556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117b7908590611a67565b60405180910390a35050565b80600260008282546117d59190611c26565b90915550506001600160a01b038216600081815260036020526040808220805485019055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117b7908590611a67565b80356001600160a01b038116811461084c57600080fd5b60006020828403121561184f578081fd5b61168282611827565b6000806040838503121561186a578081fd5b61187383611827565b915061188160208401611827565b90509250929050565b60008060006060848603121561189e578081fd5b6118a784611827565b92506118b560208501611827565b9150604084013590509250925092565b600080600080600080600060e0888a0312156118df578283fd5b6118e888611827565b96506118f660208901611827565b95506040880135945060608801359350608088013560ff81168114611919578384fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611948578182fd5b61195183611827565b946020939093013593505050565b600060208284031215611970578081fd5b5051919050565b815460009081906002810460018083168061199357607f831692505b60208084108214156119b357634e487b7160e01b87526022600452602487fd5b8180156119c757600181146119d857611a04565b60ff19861689528489019650611a04565b6119e18a611c1a565b885b868110156119fc5781548b8201529085019083016119e3565b505084890196505b509498975050505050505050565b7f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b6000602080835283518082850152825b81811015611b1a57858101830151858201604001528201611afe565b81811115611b2b5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526018908201527f494e56414c49445f5045524d49545f5349474e41545552450000000000000000604082015260600190565b60208082526022908201527f4f6e6c7920526f626f7320636f6e74726163742063616e2063616c6c2074686960408201527f732e000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526017908201527f5045524d49545f444541444c494e455f45585049524544000000000000000000604082015260600190565b60ff91909116815260200190565b60009081526020902090565b60008219821115611c3957611c39611ccf565b500190565b600082611c5957634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611c7857611c78611ccf565b500290565b600082821015611c8f57611c8f611ccf565b500390565b600281046001821680611ca857607f821691505b60208210811415611cc957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220e6423c8f2b9321d57cba40071d069e8f51a28cf4fe77db11b22ed6054145f0f764736f6c63430008000033000000000000000000000000436f6a8e71f0c26b1690360166f6270021343aaa000000000000000000000000501a676687368905e74e1c1e30ae3d6ac5ca2bbe

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101b95760003560e01c80636fd6d15c116100f9578063bdd38f5911610097578063cc240c0111610071578063cc240c011461033b578063d505accf1461034e578063dd62ed3e14610361578063efe7a50414610374576101b9565b8063bdd38f591461030d578063c00007b014610315578063cb03fb1e14610328576101b9565b806381e0a297116100d357806381e0a297146102d757806395d89b41146102df5780639dc29fac146102e7578063a9059cbb146102fa576101b9565b80636fd6d15c146102a957806370a08231146102b15780637ecebe00146102c4576101b9565b80632c8e8dfa116101665780633644e515116101405780633644e5151461027c57806341910f90146102845780635b89e6391461028c578063688705d314610294576101b9565b80632c8e8dfa1461024a57806330adf81f1461025f578063313ce56714610267576101b9565b806318160ddd1161019757806318160ddd1461021c57806323b872dd14610224578063267e8ab614610237576101b9565b806306fdde03146101be5780630700037d146101dc578063095ea7b3146101fc575b600080fd5b6101c661037c565b6040516101d39190611aee565b60405180910390f35b6101ef6101ea36600461183e565b61040a565b6040516101d39190611a67565b61020f61020a366004611936565b61041c565b6040516101d39190611a5c565b6101ef610486565b61020f61023236600461188a565b61048c565b6101ef61024536600461183e565b610584565b61025d61025836600461188a565b610851565b005b6101ef611016565b61026f61103a565b6040516101d39190611c0c565b6101ef61105e565b6101ef6110bb565b6101ef6110c7565b61029c6110d3565b6040516101d39190611a48565b6101ef6110e2565b6101ef6102bf36600461183e565b6110ee565b6101ef6102d236600461183e565b611100565b61029c611112565b6101c6611121565b61025d6102f5366004611936565b61112e565b61020f610308366004611936565b611166565b6101ef6111dc565b61025d61032336600461183e565b6111e8565b6101ef61033636600461183e565b611299565b61025d610349366004611936565b6112ab565b61025d61035c3660046118c5565b61147b565b6101ef61036f366004611858565b61164c565b6101ef611669565b6000805461038990611c94565b80601f01602080910402602001604051908101604052809291908181526020018280546103b590611c94565b80156104025780601f106103d757610100808354040283529160200191610402565b820191906000526020600020905b8154815290600101906020018083116103e557829003601f168201915b505050505081565b60076020526000908152604090205481565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610475908690611a67565b60405180910390a350600192915050565b60025481565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146104f1576001600160a01b0384166000908152600460209081526040808320338452909152812080548492906104eb908490611c7d565b90915550505b6001600160a01b03841660009081526003602052604081208054849290610519908490611c7d565b90915550506001600160a01b03808416600081815260036020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610572908690611a67565b60405180910390a35060019392505050565b600080610595426377701ad0611671565b6001600160a01b0384166000908152600860205260408120549192509062015180906105c19084611c7d565b6105d390671bc16d674ec80000611c5e565b6009546040516338712d8d60e01b81526001600160a01b03909116906338712d8d90610603908990600401611a48565b60206040518083038186803b15801561061b57600080fd5b505afa15801561062f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610653919061195f565b61065d9190611c5e565b6106679190611c3e565b6001600160a01b0385166000908152600860205260408120549192509062015180906106939085611c7d565b6106a5906729a2241af62c0000611c5e565b6009546040516338712d8d60e01b81526001600160a01b03909116906338712d8d906106d5908a90600401611a48565b60206040518083038186803b1580156106ed57600080fd5b505afa158015610701573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610725919061195f565b61072f9190611c5e565b6107399190611c3e565b6001600160a01b0386166000908152600860205260408120549192509062015180906107659086611c7d565b61077790670de0b6b3a7640000611c5e565b60095460405163c627b76f60e01b81526001600160a01b039091169063c627b76f906107a7908b90600401611a48565b60206040518083038186803b1580156107bf57600080fd5b505afa1580156107d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f7919061195f565b6108019190611c5e565b61080b9190611c3e565b9050816108188285611c26565b6108229190611c26565b6001600160a01b0387166000908152600760205260409020546108459190611c26565b9450505050505b919050565b6009546001600160a01b031633146108845760405162461bcd60e51b815260040161087b90611b78565b60405180910390fd5b6010811015610b0457600061089d426377701ad0611671565b6001600160a01b03851660009081526008602052604090205490915080156109a157620151806108cd8284611c7d565b6108df906729a2241af62c0000611c5e565b6009546040516338712d8d60e01b81526001600160a01b03909116906338712d8d9061090f908a90600401611a48565b60206040518083038186803b15801561092757600080fd5b505afa15801561093b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095f919061195f565b6109699190611c5e565b6109739190611c3e565b6001600160a01b0386166000908152600760205260408120805490919061099b908490611c26565b90915550505b6377701ad081146109c8576001600160a01b03851660009081526008602052604090208290555b6001600160a01b03841615610b01576001600160a01b0384166000908152600860205260409020548015610ad85762015180610a048285611c7d565b610a16906729a2241af62c0000611c5e565b6009546040516338712d8d60e01b81526001600160a01b03909116906338712d8d90610a46908a90600401611a48565b60206040518083038186803b158015610a5e57600080fd5b505afa158015610a72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a96919061195f565b610aa09190611c5e565b610aaa9190611c3e565b6001600160a01b03861660009081526007602052604081208054909190610ad2908490611c26565b90915550505b6377701ad08114610aff576001600160a01b03851660009081526008602052604090208390555b505b50505b601081118015610b1557506108af81105b15610d91576000610b2a426377701ad0611671565b6001600160a01b0385166000908152600860205260409020549091508015610c2e5762015180610b5a8284611c7d565b610b6c90671bc16d674ec80000611c5e565b6009546040516338712d8d60e01b81526001600160a01b03909116906338712d8d90610b9c908a90600401611a48565b60206040518083038186803b158015610bb457600080fd5b505afa158015610bc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bec919061195f565b610bf69190611c5e565b610c009190611c3e565b6001600160a01b03861660009081526007602052604081208054909190610c28908490611c26565b90915550505b6377701ad08114610c55576001600160a01b03851660009081526008602052604090208290555b6001600160a01b03841615610d8e576001600160a01b0384166000908152600860205260409020548015610d655762015180610c918285611c7d565b610ca390671bc16d674ec80000611c5e565b6009546040516338712d8d60e01b81526001600160a01b03909116906338712d8d90610cd3908a90600401611a48565b60206040518083038186803b158015610ceb57600080fd5b505afa158015610cff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d23919061195f565b610d2d9190611c5e565b610d379190611c3e565b6001600160a01b03861660009081526007602052604081208054909190610d5f908490611c26565b90915550505b6377701ad08114610d8c576001600160a01b03851660009081526008602052604090208390555b505b50505b6108af8110611011576000610daa426377701ad0611671565b6001600160a01b0385166000908152600860205260409020549091508015610eae5762015180610dda8284611c7d565b610dec90670de0b6b3a7640000611c5e565b60095460405163c627b76f60e01b81526001600160a01b039091169063c627b76f90610e1c908a90600401611a48565b60206040518083038186803b158015610e3457600080fd5b505afa158015610e48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6c919061195f565b610e769190611c5e565b610e809190611c3e565b6001600160a01b03861660009081526007602052604081208054909190610ea8908490611c26565b90915550505b6377701ad08114610ed5576001600160a01b03851660009081526008602052604090208290555b6001600160a01b0384161561100e576001600160a01b0384166000908152600860205260409020548015610fe55762015180610f118285611c7d565b610f2390670de0b6b3a7640000611c5e565b60095460405163c627b76f60e01b81526001600160a01b039091169063c627b76f90610f53908a90600401611a48565b60206040518083038186803b158015610f6b57600080fd5b505afa158015610f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa3919061195f565b610fad9190611c5e565b610fb79190611c3e565b6001600160a01b03861660009081526007602052604081208054909190610fdf908490611c26565b90915550505b6377701ad0811461100c576001600160a01b03851660009081526008602052604090208390555b505b50505b505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b7f000000000000000000000000000000000000000000000000000000000000001281565b60007f000000000000000000000000000000000000000000000000000000000000000146146110945761108f611689565b6110b6565b7f5e2d168530f5fcebf1acafed3ab89ec14716b62c565ef7a0bfe55d818f3acdd35b905090565b671bc16d674ec8000081565b6729a2241af62c000081565b6009546001600160a01b031681565b670de0b6b3a764000081565b60036020526000908152604090205481565b60056020526000908152604090205481565b6006546001600160a01b031681565b6001805461038990611c94565b6009546001600160a01b031633146111585760405162461bcd60e51b815260040161087b90611b78565b6111628282611743565b5050565b33600090815260036020526040812080548391908390611187908490611c7d565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610475908690611a67565b678ac7230489e8000081565b6009546001600160a01b031633146112125760405162461bcd60e51b815260040161087b90611b78565b6001600160a01b0381166000908152600760205260409020548015611162576001600160a01b03821660009081526007602052604081205561125482826117c3565b816001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e04868260405161128d9190611a67565b60405180910390a25050565b60086020526000908152604090205481565b6009546001600160a01b031633146112d55760405162461bcd60e51b815260040161087b90611b78565b60006112e5426377701ad0611671565b6001600160a01b038416600090815260086020526040902054909150801561141857611319678ac7230489e8000084611c5e565b620151806113278385611c7d565b61133990671bc16d674ec80000611c5e565b6009546040516338712d8d60e01b81526001600160a01b03909116906338712d8d90611369908a90600401611a48565b60206040518083038186803b15801561138157600080fd5b505afa158015611395573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b9919061195f565b6113c39190611c5e565b6113cd9190611c3e565b6001600160a01b0386166000908152600760205260409020546113f09190611c26565b6113fa9190611c26565b6001600160a01b038516600090815260076020526040902055611475565b61142a678ac7230489e8000084611c5e565b6001600160a01b03851660009081526007602052604090205461144d9190611c26565b6001600160a01b03851660009081526007602090815260408083209390935560089052208290555b50505050565b4284101561149b5760405162461bcd60e51b815260040161087b90611bd5565b60006114a561105e565b6001600160a01b0389166000908152600560209081526040918290208054600181019091559151611502927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290918d9101611a70565b60405160208183030381529060405280519060200120604051602001611529929190611a12565b6040516020818303038152906040528051906020012090506000600182868686604051600081526020016040526040516115669493929190611ad0565b6020604051602081039080840390855afa158015611588573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906115be5750886001600160a01b0316816001600160a01b0316145b6115da5760405162461bcd60e51b815260040161087b90611b41565b6001600160a01b0390811660009081526004602090815260408083208b85168085529252918290208990559051909250908916907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061163b908990611a67565b60405180910390a350505050505050565b600460209081526000928352604080842090915290825290205481565b6377701ad081565b60008183106116805781611682565b825b9392505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516116bb9190611977565b604080519182900382208282018252600183527f3100000000000000000000000000000000000000000000000000000000000000602093840152905161172893927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6914691309101611aa4565b60405160208183030381529060405280519060200120905090565b6001600160a01b0382166000908152600360205260408120805483929061176b908490611c7d565b90915550506002805482900390556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117b7908590611a67565b60405180910390a35050565b80600260008282546117d59190611c26565b90915550506001600160a01b038216600081815260036020526040808220805485019055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117b7908590611a67565b80356001600160a01b038116811461084c57600080fd5b60006020828403121561184f578081fd5b61168282611827565b6000806040838503121561186a578081fd5b61187383611827565b915061188160208401611827565b90509250929050565b60008060006060848603121561189e578081fd5b6118a784611827565b92506118b560208501611827565b9150604084013590509250925092565b600080600080600080600060e0888a0312156118df578283fd5b6118e888611827565b96506118f660208901611827565b95506040880135945060608801359350608088013560ff81168114611919578384fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611948578182fd5b61195183611827565b946020939093013593505050565b600060208284031215611970578081fd5b5051919050565b815460009081906002810460018083168061199357607f831692505b60208084108214156119b357634e487b7160e01b87526022600452602487fd5b8180156119c757600181146119d857611a04565b60ff19861689528489019650611a04565b6119e18a611c1a565b885b868110156119fc5781548b8201529085019083016119e3565b505084890196505b509498975050505050505050565b7f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b6000602080835283518082850152825b81811015611b1a57858101830151858201604001528201611afe565b81811115611b2b5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526018908201527f494e56414c49445f5045524d49545f5349474e41545552450000000000000000604082015260600190565b60208082526022908201527f4f6e6c7920526f626f7320636f6e74726163742063616e2063616c6c2074686960408201527f732e000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526017908201527f5045524d49545f444541444c494e455f45585049524544000000000000000000604082015260600190565b60ff91909116815260200190565b60009081526020902090565b60008219821115611c3957611c39611ccf565b500190565b600082611c5957634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611c7857611c78611ccf565b500290565b600082821015611c8f57611c8f611ccf565b500390565b600281046001821680611ca857607f821691505b60208210811415611cc957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220e6423c8f2b9321d57cba40071d069e8f51a28cf4fe77db11b22ed6054145f0f764736f6c63430008000033

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

000000000000000000000000436f6a8e71f0c26b1690360166f6270021343aaa000000000000000000000000501a676687368905e74e1c1e30ae3d6ac5ca2bbe

-----Decoded View---------------
Arg [0] : _robos (address): 0x436f6a8e71F0c26b1690360166f6270021343AAA
Arg [1] : _robosTeam (address): 0x501a676687368905E74e1C1E30ae3D6AC5Ca2bBE

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000436f6a8e71f0c26b1690360166f6270021343aaa
Arg [1] : 000000000000000000000000501a676687368905e74e1c1e30ae3d6ac5ca2bbe


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.