ETH Price: $2,909.70 (-0.04%)
Gas: 3 Gwei

Token

CryptoSatan (SATAN)
 

Overview

Max Total Supply

1,190 SATAN

Holders

67

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Filtered by Token Holder
0x: Exchange Proxy
Balance
10 SATAN
0xdef1c0ded9bec7f1a1670819833240f027b25eff
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:
ERC666

Compiler Version
v0.6.2+commit.bacdbe57

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-02-12
*/

pragma solidity ^0.6.2;


contract ERC666{

    Chump chump;


    constructor() public{

        supportedInterfaces[0x80ac58cd] = true;
//        supportedInterfaces[0x780e9d63] = true; //enumerable
        supportedInterfaces[0x5b5e139f] = true;
        supportedInterfaces[0x01ffc9a7] = true;

        chump = Chump(0x273f7F8E6489682Df756151F5525576E322d51A3);

    }


    // @dev This emits when ownership of any NFT changes by any mechanism.
    ///  This event emits when NFTs are created (`from` == 0) and destroyed
    ///  (`to` == 0). Exception: during contract creation, any number of NFTs
    ///  may be created and assigned without emitting Transfer. At the time of
    ///  any transfer, the approved address for that NFT (if any) is reset to none.
    event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);

    /// @dev This emits when the approved address for an NFT is changed or
    ///  reaffirmed. The zero address indicates there is no approved address.
    ///  When a Transfer event emits, this also indicates that the approved
    ///  address for that NFT (if any) is reset to none.
    event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);

    /// @dev This emits when an operator is enabled or disabled for an owner.
    ///  The operator can manage all NFTs of the owner.
    event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);



    //////===721 Implementation
    mapping(address => uint) internal BALANCES;
    mapping (uint256 => address) internal ALLOWANCE;
    mapping (address => mapping (address => bool)) internal AUTHORISED;

    //    uint total_supply = uint(0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF)  * 666;

    uint total_supply;

    mapping(uint256 => address) OWNERS;  //Mapping of ticket owners

    //    METADATA VARS
    string private __name = "CryptoSatan";
    string private __symbol = "SATAN";
    string private __tokenURI = "https://anallergytoanalogy.github.io/beelzebub/metadata/beelzebub.json";


    /// @notice Checks if a given tokenId is valid
    /// @dev If adding the ability to burn tokens, this function will need to reflect that.
    /// @param _tokenId The tokenId to check
    /// @return (bool) True if valid, False if not valid.
    function isValidToken(uint256 _tokenId) internal view returns(bool){
        return _tokenId < total_supply*10;
    }


    /// @notice Count all NFTs assigned to an owner
    /// @dev NFTs assigned to the zero address are considered invalid, and this
    ///  function throws for queries about the zero address.
    /// @param _owner An address for whom to query the balance
    /// @return The number of NFTs owned by `_owner`, possibly zero
    function balanceOf(address _owner) external view returns (uint256){
        return BALANCES[_owner];
    }

    /// @notice Find the owner of an NFT
    /// @param _tokenId The identifier for an NFT
    /// @dev NFTs assigned to zero address are considered invalid, and queries
    ///  about them do throw.
    /// @return The address of the owner of the NFT
    function ownerOf(uint256 _tokenId) public view returns(address){
        require(isValidToken(_tokenId),"invalid");
        uint innerId = tokenId_to_innerId(_tokenId);
        return OWNERS[innerId];
    }

    function tokenId_to_innerId(uint _tokenId) internal pure returns(uint){
        return _tokenId /10;
    }
    function innerId_to_tokenId(uint _innerId, uint index) internal pure returns(uint){
        return _innerId * 10 + index;
    }

    function issue_token(address mintee) internal {
        uint innerId = total_supply;

        for(uint  i = 0 ; i < 10; i++){
            emit Transfer(address(0), mintee, innerId*10 + i);
        }

        OWNERS[innerId] = mintee;

        BALANCES[mintee] += 10;
        total_supply++;
    }

    function spread() internal{
        uint chumpId = chump.tokenByIndex(total_supply);
        address mintee = chump.ownerOf(chumpId);
        issue_token(mintee);
        issue_token(msg.sender);
    }
    function convert(address convertee) external{
        issue_token(convertee);
    }

    /// @notice Set or reaffirm the approved address for an NFT
    /// @dev The zero address indicates there is no approved address.
    /// @dev Throws unless `msg.sender` is the current NFT owner, or an authorized
    ///  operator of the current owner.
    /// @param _approved The new approved NFT controller
    /// @param _tokenId The NFT to approve
    function approve(address _approved, uint256 _tokenId)  external{
        address owner = ownerOf(_tokenId);
        uint innerId = tokenId_to_innerId(_tokenId);

        require( owner == msg.sender                    //Require Sender Owns Token
        || AUTHORISED[owner][msg.sender]                //  or is approved for all.
        ,"permission");
        for(uint  i = 0 ; i < 10; i++){
            emit Approval(owner, _approved, innerId*10 + i);
        }

        ALLOWANCE[innerId] = _approved;
    }

    /// @notice Get the approved address for a single NFT
    /// @dev Throws if `_tokenId` is not a valid NFT
    /// @param _tokenId The NFT to find the approved address for
    /// @return The approved address for this NFT, or the zero address if there is none
    function getApproved(uint256 _tokenId) external view returns (address) {
        require(isValidToken(_tokenId),"invalid");
        return ALLOWANCE[_tokenId];
    }

    /// @notice Query if an address is an authorized operator for another address
    /// @param _owner The address that owns the NFTs
    /// @param _operator The address that acts on behalf of the owner
    /// @return True if `_operator` is an approved operator for `_owner`, false otherwise
    function isApprovedForAll(address _owner, address _operator) external view returns (bool) {
        return AUTHORISED[_owner][_operator];
    }




    /// @notice Enable or disable approval for a third party ("operator") to manage
    ///  all your assets.
    /// @dev Emits the ApprovalForAll event
    /// @param _operator Address to add to the set of authorized operators.
    /// @param _approved True if the operators is approved, false to revoke approval
    function setApprovalForAll(address _operator, bool _approved) external {
        emit ApprovalForAll(msg.sender,_operator, _approved);
        AUTHORISED[msg.sender][_operator] = _approved;
    }


    /// @notice Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE
    ///  TO CONFIRM THAT `_to` IS CAPABLE OF RECEIVING NFTS OR ELSE
    ///  THEY MAY BE PERMANENTLY LOST
    /// @dev Throws unless `msg.sender` is the current owner, an authorized
    ///  operator, or the approved address for this NFT. Throws if `_from` is
    ///  not the current owner. Throws if `_to` is the zero address. Throws if
    ///  `_tokenId` is not a valid NFT.
    /// @param _from The current owner of the NFT
    /// @param _to The new owner
    /// @param _tokenId The NFT to transfer
    function transferFrom(address _from, address _to, uint256 _tokenId) public {

        uint innerId = tokenId_to_innerId(_tokenId);

        //Check Transferable
        //There is a token validity check in ownerOf
        address owner = ownerOf(_tokenId);

        require ( owner == msg.sender             //Require sender owns token
        //Doing the two below manually instead of referring to the external methods saves gas
        || ALLOWANCE[innerId] == msg.sender      //or is approved for this token
        || AUTHORISED[owner][msg.sender]          //or is approved for all
        ,"permission");
        require(owner == _from,"owner");
        require(_to != address(0),"zero");


        for(uint  i = 0 ; i < 10; i++){
            emit Transfer(_from, _to, innerId*10 + i);
        }

        OWNERS[innerId] =_to;

        BALANCES[_from] -= 10;
        BALANCES[_to] += 10;

        spread();

        //Reset approved if there is one
        if(ALLOWANCE[innerId] != address(0)){
            delete ALLOWANCE[innerId];
        }

    }

    /// @notice Transfers the ownership of an NFT from one address to another address
    /// @dev Throws unless `msg.sender` is the current owner, an authorized
    ///  operator, or the approved address for this NFT. Throws if `_from` is
    ///  not the current owner. Throws if `_to` is the zero address. Throws if
    ///  `_tokenId` is not a valid NFT. When transfer is complete, this function
    ///  checks if `_to` is a smart contract (code size > 0). If so, it calls
    ///  `onERC721Received` on `_to` and throws if the return value is not
    ///  `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`
    /// @param _from The current owner of the NFT
    /// @param _to The new owner
    /// @param _tokenId The NFT to transfer
    /// @param data Additional data with no specified format, sent in call to `_to`
    function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes memory data) public {
        transferFrom(_from, _to, _tokenId);
    }

    /// @notice Transfers the ownership of an NFT from one address to another address
    /// @dev This works identically to the other function with an extra data parameter,
    ///  except this function just sets data to ""
    /// @param _from The current owner of the NFT
    /// @param _to The new owner
    /// @param _tokenId The NFT to transfer
    function safeTransferFrom(address _from, address _to, uint256 _tokenId) external {
        safeTransferFrom(_from,_to,_tokenId,"");
    }




    // METADATA FUNCTIONS

    /// @notice A distinct Uniform Resource Identifier (URI) for a given asset.
    /// @dev Throws if `_tokenId` is not a valid NFT. URIs are defined in RFC
    ///  3986. The URI may point to a JSON file that conforms to the "ERC721
    ///  Metadata JSON Schema".
    /// @param _tokenId The tokenId of the token of which to retrieve the URI.
    /// @return (string) The URI of the token.
    function tokenURI(uint256 _tokenId) public view returns (string memory){
        //Note: changed visibility to public
        require(isValidToken(_tokenId),"invalid");
        return __tokenURI;
    }

    /// @notice A descriptive name for a collection of NFTs in this contract
    function name() external view returns (string memory _name){
        //_name = "Name must be hard coded";
        return __name;
    }

    /// @notice An abbreviated name for NFTs in this contract
    function symbol() external view returns (string memory _symbol){
        //_symbol = "Symbol must be hard coded";
        return __symbol;
    }

    ///////===165 Implementation
    mapping (bytes4 => bool) internal supportedInterfaces;
    function supportsInterface(bytes4 interfaceID) external view returns (bool){
        return supportedInterfaces[interfaceID];
    }
    ///==End 165

    //Play nice with agregator things
    ///alligator

    /// @notice Count NFTs tracked by this contract
    /// @return A count of valid NFTs tracked by this contract, where each one of
    ///  them has an assigned and queryable owner not equal to the zero address
    function totalSupply() external view returns (uint256){
        return total_supply * 10;
    }
}


interface Chump {
    function tokenByIndex(uint256 _index) external view returns(uint256);
    function ownerOf(uint256 _tokenId) external view returns(address);
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":false,"internalType":"bool","name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_approved","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"convertee","type":"address"}],"name":"convert","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"tokenURI","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":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600b81526020017f43727970746f536174616e000000000000000000000000000000000000000000815250600690805190602001906200005192919062000230565b506040518060400160405280600581526020017f534154414e000000000000000000000000000000000000000000000000000000815250600790805190602001906200009f92919062000230565b5060405180608001604052806046815260200162001b3f6046913960089080519060200190620000d192919062000230565b50348015620000df57600080fd5b506001600960006380ac58cd60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000635b5e139f60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555073273f7f8e6489682df756151f5525576e322d51a36000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002df565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027357805160ff1916838001178555620002a4565b82800160010185558215620002a4579182015b82811115620002a357825182559160200191906001019062000286565b5b509050620002b39190620002b7565b5090565b620002dc91905b80821115620002d8576000816000905550600101620002be565b5090565b90565b61185080620002ef6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80636352211e11610097578063b88d4fde11610066578063b88d4fde14610531578063c87b56dd14610636578063def2489b146106dd578063e985e9c514610721576100f5565b80636352211e1461039857806370a082311461040657806395d89b411461045e578063a22cb465146104e1576100f5565b8063095ea7b3116100d3578063095ea7b31461025057806318160ddd1461029e57806323b872dd146102bc57806342842e0e1461032a576100f5565b806301ffc9a7146100fa57806306fdde031461015f578063081812fc146101e2575b600080fd5b6101456004803603602081101561011057600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061079d565b604051808215151515815260200191505060405180910390f35b610167610805565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101a757808201518184015260208101905061018c565b50505050905090810190601f1680156101d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020e600480360360208110156101f857600080fd5b81019080803590602001909291905050506108a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61029c6004803603604081101561026657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061095f565b005b6102a6610b80565b6040518082815260200191505060405180910390f35b610328600480360360608110156102d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b8d565b005b6103966004803603606081101561034057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061109e565b005b6103c4600480360360208110156103ae57600080fd5b81019080803590602001909291905050506110be565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104486004803603602081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611184565b6040518082815260200191505060405180910390f35b6104666111cd565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104a657808201518184015260208101905061048b565b50505050905090810190601f1680156104d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61052f600480360360408110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061126f565b005b6106346004803603608081101561054757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105ae57600080fd5b8201836020820111156105c057600080fd5b803590602001918460018302840111640100000000831117156105e257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611370565b005b6106626004803603602081101561064c57600080fd5b8101908080359060200190929190505050611381565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106a2578082015181840152602081019050610687565b50505050905090810190601f1680156106cf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61071f600480360360208110156106f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114a0565b005b6107836004803603604081101561073757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114ac565b604051808215151515815260200191505060405180910390f35b600060096000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b606060068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561089d5780601f106108725761010080835404028352916020019161089d565b820191906000526020600020905b81548152906001019060200180831161088057829003601f168201915b5050505050905090565b60006108b282611540565b610924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f696e76616c69640000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061096a826110be565b9050600061097783611551565b90503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480610a395750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610aab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f7065726d697373696f6e0000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008090505b600a811015610b275780600a8302018573ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a48080600101915050610ab1565b50836002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6000600a60045402905090565b6000610b9882611551565b90506000610ba5836110be565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610c3f57503373ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b80610cd05750600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610d42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f7065726d697373696f6e0000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610de3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f6f776e657200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610e86576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f7a65726f0000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008090505b600a811015610f025780600a8402018573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48080600101915050610e8c565b50836005600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600a600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550610ff9611565565b600073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611097576002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b5050505050565b6110b983838360405180602001604052806000815250611370565b505050565b60006110c982611540565b61113b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f696e76616c69640000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600061114683611551565b90506005600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112655780601f1061123a57610100808354040283529160200191611265565b820191906000526020600020905b81548152906001019060200180831161124857829003601f168201915b5050505050905090565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a380600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61137b848484610b8d565b50505050565b606061138c82611540565b6113fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f696e76616c69640000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114945780601f1061146957610100808354040283529160200191611494565b820191906000526020600020905b81548152906001019060200180831161147757829003601f168201915b50505050509050919050565b6114a9816116df565b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600a6004540282109050919050565b6000600a828161155d57fe5b049050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634f6ccce76004546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156115db57600080fd5b505afa1580156115ef573d6000803e3d6000fd5b505050506040513d602081101561160557600080fd5b8101908080519060200190929190505050905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561168c57600080fd5b505afa1580156116a0573d6000803e3d6000fd5b505050506040513d60208110156116b657600080fd5b810190808051906020019092919050505090506116d2816116df565b6116db336116df565b5050565b6000600454905060008090505b600a8110156117635780600a8302018373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a480806001019150506116ec565b50816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600460008154809291906001019190505550505056fea264697066735822122070bc9c4b95adc3334a83fbd0c57263652f5fee3b8d76d5bf895804cd158a54a364736f6c6343000602003368747470733a2f2f616e616c6c65726779746f616e616c6f67792e6769746875622e696f2f6265656c7a656275622f6d657461646174612f6265656c7a656275622e6a736f6e

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80636352211e11610097578063b88d4fde11610066578063b88d4fde14610531578063c87b56dd14610636578063def2489b146106dd578063e985e9c514610721576100f5565b80636352211e1461039857806370a082311461040657806395d89b411461045e578063a22cb465146104e1576100f5565b8063095ea7b3116100d3578063095ea7b31461025057806318160ddd1461029e57806323b872dd146102bc57806342842e0e1461032a576100f5565b806301ffc9a7146100fa57806306fdde031461015f578063081812fc146101e2575b600080fd5b6101456004803603602081101561011057600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061079d565b604051808215151515815260200191505060405180910390f35b610167610805565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101a757808201518184015260208101905061018c565b50505050905090810190601f1680156101d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020e600480360360208110156101f857600080fd5b81019080803590602001909291905050506108a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61029c6004803603604081101561026657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061095f565b005b6102a6610b80565b6040518082815260200191505060405180910390f35b610328600480360360608110156102d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b8d565b005b6103966004803603606081101561034057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061109e565b005b6103c4600480360360208110156103ae57600080fd5b81019080803590602001909291905050506110be565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104486004803603602081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611184565b6040518082815260200191505060405180910390f35b6104666111cd565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104a657808201518184015260208101905061048b565b50505050905090810190601f1680156104d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61052f600480360360408110156104f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061126f565b005b6106346004803603608081101561054757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105ae57600080fd5b8201836020820111156105c057600080fd5b803590602001918460018302840111640100000000831117156105e257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611370565b005b6106626004803603602081101561064c57600080fd5b8101908080359060200190929190505050611381565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106a2578082015181840152602081019050610687565b50505050905090810190601f1680156106cf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61071f600480360360208110156106f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114a0565b005b6107836004803603604081101561073757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114ac565b604051808215151515815260200191505060405180910390f35b600060096000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b606060068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561089d5780601f106108725761010080835404028352916020019161089d565b820191906000526020600020905b81548152906001019060200180831161088057829003601f168201915b5050505050905090565b60006108b282611540565b610924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f696e76616c69640000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061096a826110be565b9050600061097783611551565b90503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480610a395750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610aab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f7065726d697373696f6e0000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008090505b600a811015610b275780600a8302018573ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a48080600101915050610ab1565b50836002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6000600a60045402905090565b6000610b9882611551565b90506000610ba5836110be565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610c3f57503373ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b80610cd05750600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610d42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f7065726d697373696f6e0000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610de3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f6f776e657200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610e86576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f7a65726f0000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008090505b600a811015610f025780600a8402018573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48080600101915050610e8c565b50836005600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600a600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550610ff9611565565b600073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611097576002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b5050505050565b6110b983838360405180602001604052806000815250611370565b505050565b60006110c982611540565b61113b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f696e76616c69640000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600061114683611551565b90506005600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112655780601f1061123a57610100808354040283529160200191611265565b820191906000526020600020905b81548152906001019060200180831161124857829003601f168201915b5050505050905090565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a380600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61137b848484610b8d565b50505050565b606061138c82611540565b6113fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f696e76616c69640000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114945780601f1061146957610100808354040283529160200191611494565b820191906000526020600020905b81548152906001019060200180831161147757829003601f168201915b50505050509050919050565b6114a9816116df565b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600a6004540282109050919050565b6000600a828161155d57fe5b049050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634f6ccce76004546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156115db57600080fd5b505afa1580156115ef573d6000803e3d6000fd5b505050506040513d602081101561160557600080fd5b8101908080519060200190929190505050905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561168c57600080fd5b505afa1580156116a0573d6000803e3d6000fd5b505050506040513d60208110156116b657600080fd5b810190808051906020019092919050505090506116d2816116df565b6116db336116df565b5050565b6000600454905060008090505b600a8110156117635780600a8302018373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a480806001019150506116ec565b50816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600460008154809291906001019190505550505056fea264697066735822122070bc9c4b95adc3334a83fbd0c57263652f5fee3b8d76d5bf895804cd158a54a364736f6c63430006020033

Deployed Bytecode Sourcemap

29:11520:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29:11520:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11014:133;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11014:133:0;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10557:137;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10557:137:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5464:168;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5464:168:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4665:523;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4665:523:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11449:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7216:1088;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7216:1088:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9685:139;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9685:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3213:210;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3213:210:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2840:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2840:108:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10765:147;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10765:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6418:198;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6418:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9168:151;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;9168:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;9168:151:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9168:151:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9168:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;9168:151:0;;;;;;;;;;;;;;;:::i;:::-;;10266:205;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10266:205:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10266:205:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4209:85;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4209:85:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5939:145;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5939:145:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11014:133;11084:4;11107:19;:32;11127:11;11107:32;;;;;;;;;;;;;;;;;;;;;;;;;;;11100:39;;11014:133;;;:::o;10557:137::-;10596:19;10680:6;10673:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10557:137;:::o;5464:168::-;5526:7;5554:22;5567:8;5554:12;:22::i;:::-;5546:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5605:9;:19;5615:8;5605:19;;;;;;;;;;;;;;;;;;;;;5598:26;;5464:168;;;:::o;4665:523::-;4739:13;4755:17;4763:8;4755:7;:17::i;:::-;4739:33;;4783:12;4798:28;4817:8;4798:18;:28::i;:::-;4783:43;;4857:10;4848:19;;:5;:19;;;:108;;;;4927:10;:17;4938:5;4927:17;;;;;;;;;;;;;;;:29;4945:10;4927:29;;;;;;;;;;;;;;;;;;;;;;;;;4848:108;4839:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5038:7;5048:1;5038:11;;5034:104;5056:2;5052:1;:6;5034:104;;;5124:1;5119:2;5111:7;:10;:14;5100:9;5084:42;;5093:5;5084:42;;;;;;;;;;;;5060:3;;;;;;;5034:104;;;;5171:9;5150;:18;5160:7;5150:18;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;4665:523;;;;:::o;11449:97::-;11495:7;11536:2;11521:12;;:17;11514:24;;11449:97;:::o;7216:1088::-;7304:12;7319:28;7338:8;7319:18;:28::i;:::-;7304:43;;7444:13;7460:17;7468:8;7460:7;:17::i;:::-;7444:33;;7509:10;7500:19;;:5;:19;;;:199;;;;7689:10;7667:32;;:9;:18;7677:7;7667:18;;;;;;;;;;;;;;;;;;;;;:32;;;7500:199;:278;;;;7749:10;:17;7760:5;7749:17;;;;;;;;;;;;;;;:29;7767:10;7749:29;;;;;;;;;;;;;;;;;;;;;;;;;7500:278;7490:346;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7864:5;7855:14;;:5;:14;;;7847:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7912:1;7897:17;;:3;:17;;;;7889:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7941:7;7951:1;7941:11;;7937:98;7959:2;7955:1;:6;7937:98;;;8021:1;8016:2;8008:7;:10;:14;8003:3;7987:36;;7996:5;7987:36;;;;;;;;;;;;7963:3;;;;;;;7937:98;;;;8064:3;8047:6;:15;8054:7;8047:15;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;8099:2;8080:8;:15;8089:5;8080:15;;;;;;;;;;;;;;;;:21;;;;;;;;;;;8129:2;8112:8;:13;8121:3;8112:13;;;;;;;;;;;;;;;;:19;;;;;;;;;;;8144:8;:6;:8::i;:::-;8240:1;8210:32;;:9;:18;8220:7;8210:18;;;;;;;;;;;;;;;;;;;;;:32;;;8207:88;;8265:9;:18;8275:7;8265:18;;;;;;;;;;;;8258:25;;;;;;;;;;;8207:88;7216:1088;;;;;:::o;9685:139::-;9777:39;9794:5;9800:3;9804:8;9777:39;;;;;;;;;;;;:16;:39::i;:::-;9685:139;;;:::o;3213:210::-;3268:7;3295:22;3308:8;3295:12;:22::i;:::-;3287:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3339:12;3354:28;3373:8;3354:18;:28::i;:::-;3339:43;;3400:6;:15;3407:7;3400:15;;;;;;;;;;;;;;;;;;;;;3393:22;;;3213:210;;;:::o;2840:108::-;2898:7;2924:8;:16;2933:6;2924:16;;;;;;;;;;;;;;;;2917:23;;2840:108;;;:::o;10765:147::-;10806:21;10896:8;10889:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10765:147;:::o;6418:198::-;6531:9;6505:47;;6520:10;6505:47;;;6542:9;6505:47;;;;;;;;;;;;;;;;;;;;;;6599:9;6563:10;:22;6574:10;6563:22;;;;;;;;;;;;;;;:33;6586:9;6563:33;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;6418:198;;:::o;9168:151::-;9277:34;9290:5;9297:3;9302:8;9277:12;:34::i;:::-;9168:151;;;;:::o;10266:205::-;10323:13;10402:22;10415:8;10402:12;:22::i;:::-;10394:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10453:10;10446:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10266:205;;;:::o;4209:85::-;4264:22;4276:9;4264:11;:22::i;:::-;4209:85;:::o;5939:145::-;6023:4;6047:10;:18;6058:6;6047:18;;;;;;;;;;;;;;;:29;6066:9;6047:29;;;;;;;;;;;;;;;;;;;;;;;;;6040:36;;5939:145;;;;:::o;2382:119::-;2444:4;2491:2;2478:12;;:15;2467:8;:26;2460:33;;2382:119;;;:::o;3431:108::-;3496:4;3529:2;3519:8;:12;;;;;;3512:19;;3431:108;;;:::o;3997:206::-;4034:12;4049:5;;;;;;;;;;;:18;;;4068:12;;4049:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4049:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4049:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4049:32:0;;;;;;;;;;;;;;;;4034:47;;4092:14;4109:5;;;;;;;;;;;:13;;;4123:7;4109:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4109:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4109:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4109:22:0;;;;;;;;;;;;;;;;4092:39;;4142:19;4154:6;4142:11;:19::i;:::-;4172:23;4184:10;4172:11;:23::i;:::-;3997:206;;:::o;3682:307::-;3739:12;3754;;3739:27;;3783:7;3793:1;3783:11;;3779:106;3801:2;3797:1;:6;3779:106;;;3871:1;3866:2;3858:7;:10;:14;3850:6;3829:44;;3846:1;3829:44;;;;;;;;;;;;3805:3;;;;;;;3779:106;;;;3915:6;3897;:15;3904:7;3897:15;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;3954:2;3934:8;:16;3943:6;3934:16;;;;;;;;;;;;;;;;:22;;;;;;;;;;;3967:12;;:14;;;;;;;;;;;;;3682:307;;:::o

Swarm Source

ipfs://70bc9c4b95adc3334a83fbd0c57263652f5fee3b8d76d5bf895804cd158a54a3
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.