ETH Price: $3,168.67 (-6.33%)
Gas: 4 Gwei

Contract

0x1014CF898383D275Da1c2ED970D0B2cd5FfeF3c2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Approval For...201918992024-06-28 18:13:1126 days ago1719598391IN
0x1014CF89...d5FfeF3c2
0 ETH0.000231855.05
Set Approval For...201452542024-06-22 5:47:3533 days ago1719035255IN
0x1014CF89...d5FfeF3c2
0 ETH0.000091822
Set Approval For...201024932024-06-16 6:14:5939 days ago1718518499IN
0x1014CF89...d5FfeF3c2
0 ETH0.000139553.03409414
Set Approval For...200373172024-06-07 3:39:2348 days ago1717731563IN
0x1014CF89...d5FfeF3c2
0 ETH0.000189147.88092579
Set Approval For...198495702024-05-11 21:47:2374 days ago1715464043IN
0x1014CF89...d5FfeF3c2
0 ETH0.000093643.88819821
Set Approval For...198492622024-05-11 20:45:2374 days ago1715460323IN
0x1014CF89...d5FfeF3c2
0 ETH0.000137733
Set Approval For...198268382024-05-08 17:30:3578 days ago1715189435IN
0x1014CF89...d5FfeF3c2
0 ETH0.000229064.98006478
Set Approval For...195637992024-04-01 21:57:23114 days ago1712008643IN
0x1014CF89...d5FfeF3c2
0 ETH0.0010352722.50800352
Set Approval For...192344652024-02-15 16:16:59161 days ago1708013819IN
0x1014CF89...d5FfeF3c2
0 ETH0.0012731652.86345313
Set Approval For...191749712024-02-07 7:56:59169 days ago1707292619IN
0x1014CF89...d5FfeF3c2
0 ETH0.0012225326.57909297
Set Approval For...191524562024-02-04 4:03:11172 days ago1707019391IN
0x1014CF89...d5FfeF3c2
0 ETH0.0005547112.06011629
Set Approval For...190833672024-01-25 11:35:59182 days ago1706182559IN
0x1014CF89...d5FfeF3c2
0 ETH0.000785832.62773121
Set Approval For...184761562023-11-01 8:46:47267 days ago1698828407IN
0x1014CF89...d5FfeF3c2
0 ETH0.0003206713.31490896
Set Approval For...183360502023-10-12 18:13:59286 days ago1697134439IN
0x1014CF89...d5FfeF3c2
0 ETH0.0002867811.90779368
Set Approval For...183173052023-10-10 3:14:23289 days ago1696907663IN
0x1014CF89...d5FfeF3c2
0 ETH0.000175666.73445481
Set Approval For...183173002023-10-10 3:13:23289 days ago1696907603IN
0x1014CF89...d5FfeF3c2
0 ETH0.000174437.24295568
Set Approval For...183003482023-10-07 18:17:59291 days ago1696702679IN
0x1014CF89...d5FfeF3c2
0 ETH0.000232515.05515827
Set Approval For...182951742023-10-07 0:56:47292 days ago1696640207IN
0x1014CF89...d5FfeF3c2
0 ETH0.000229565
Set Approval For...182236312023-09-27 0:49:47302 days ago1695775787IN
0x1014CF89...d5FfeF3c2
0 ETH0.000303456.59736362
Safe Transfer Fr...182114592023-09-25 7:57:59304 days ago1695628679IN
0x1014CF89...d5FfeF3c2
0 ETH0.000394657.64262512
Set Approval For...181841222023-09-21 12:02:35308 days ago1695297755IN
0x1014CF89...d5FfeF3c2
0 ETH0.000208848.67170196
Set Approval For...181781072023-09-20 15:50:47309 days ago1695225047IN
0x1014CF89...d5FfeF3c2
0 ETH0.0007215415.6871757
Set Approval For...181634332023-09-18 14:32:35311 days ago1695047555IN
0x1014CF89...d5FfeF3c2
0 ETH0.0007395130.70581223
Set Approval For...181634332023-09-18 14:32:35311 days ago1695047555IN
0x1014CF89...d5FfeF3c2
0 ETH0.0007395130.70581223
Set Approval For...179633482023-08-21 13:17:35339 days ago1692623855IN
0x1014CF89...d5FfeF3c2
0 ETH0.0005642323.42782709
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MonetCardToken

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 6 : MonetCardToken.sol
pragma solidity =0.5.16;

import "./libraries/Address.sol";
import "./libraries/SafeMath.sol";
import "./interfaces/IERC1155TokenReceiver.sol";
import "./Minter.sol";

contract MonetCardToken is Minter {
    using Address for address;
    using SafeMath for uint256;

    bytes4 private constant ERC1155_RECEIVED_VALUE = 0xf23a6e61;
    bytes4 private constant ERC1155_BATCH_RECEIVED_VALUE = 0xbc197c81;
    bytes4 private constant ERC1155_INTERFACE_ID = 0xd9b67a26;

    mapping(address => mapping(uint256 => uint256)) internal _balances;
    mapping(address => mapping(address => bool)) internal _operators;
    mapping(uint256 => uint256) internal _totalSupplies;

    // VIEW

    function isApprovedForAll(address _owner, address _operator) public view returns (bool) {
        return _operators[_owner][_operator];
    }

    function totalSupply(uint256 _id) public view returns (uint256) {
        return _totalSupplies[_id];
    }

    function balanceOf(address _owner, uint256 _id) external view returns (uint256) {
        return _balances[_owner][_id];
    }

    function balanceOfBatch(address[] calldata _owners, uint256[] calldata _ids) external view returns (uint256[] memory) {
        require(_owners.length == _ids.length, "INVALID_ARRAY_LENGTH");

        uint256[] memory batchBalances = new uint256[](_owners.length);
        for (uint256 i = 0; i < _owners.length; i++) {
            batchBalances[i] = _balances[_owners[i]][_ids[i]];
        }
        return batchBalances;
    }

    function cardsNumOf(address _owner, uint256 _level,uint256 _carry) public view returns (uint256 nums) {
        for (uint256 i = 0; i < 4; i++) {
            uint256 num = _balances[_owner][_level.mul(10).add(i)];
            nums = nums.add((_carry**(3 - i)).mul(num));
        }
        return nums;
    }

    function cardsNumOfAll(address _owner, uint256 _carry) public view returns (uint256[10] memory nums) {
        uint256 levelMax = 10;
        for (uint256 i = 0; i < levelMax; i++) {
            nums[i] = cardsNumOf(_owner, levelMax.sub(i), _carry);
        }
    }

    function cardsTotalSupply() public view returns (uint256[40] memory nums) {
        uint256 idx;
        for (uint256 i = 10; i > 0; i--) {
            for (uint256 j = 0; j < 4; j++) {
                nums[idx++] = _totalSupplies[i.mul(10).add(j)];
            }
        }
    }

    function supportsInterface(bytes4 _interfaceID) external pure returns (bool) {
        return _interfaceID == ERC1155_INTERFACE_ID;
    }

    // PRIVATE
    function _mintBatch(address _to, uint256[] memory _ids, uint256[] memory _values) private {
        require(_to != address(0), "INVALID_RECIPIENT");

        uint256 size = _ids.length;
        for (uint256 i = 0; i < size; i++) {
            _totalSupplies[_ids[i]] = _totalSupplies[_ids[i]].add(_values[i]);
            _balances[_to][_ids[i]] = _balances[_to][_ids[i]].add(_values[i]);
        }
        emit TransferBatch(msg.sender, address(0), _to, _ids, _values);
    }

    function _safeBatchBurnFrom(address _from, uint256[] memory _ids, uint256[] memory _values ) private {
        require(_ids.length == _values.length, "INVALID_ARRAYS_LENGTH");

        uint256 size = _ids.length;
        for (uint256 i = 0; i < size; i++) {
            _balances[_from][_ids[i]] = _balances[_from][_ids[i]].sub(
                _values[i]
            );
            _totalSupplies[_ids[i]] = _totalSupplies[_ids[i]].sub(_values[i]);
        }

        emit TransferBatch(msg.sender, _from, address(0), _ids, _values);
    }

    function _safeTransferFrom(address _from, address _to, uint256 _id, uint256 _amount) private {
        _balances[_from][_id] = _balances[_from][_id].sub(_amount); // Subtract amount
        _balances[_to][_id] = _balances[_to][_id].add(_amount); // Add amount

        emit TransferSingle(msg.sender, _from, _to, _id, _amount);
    }

    function _safeBatchTransferFrom(
        address _from,
        address _to,
        uint256[] memory _ids,
        uint256[] memory _amounts
    ) private {
        require(_ids.length == _amounts.length, "INVALID_ARRAYS_LENGTH");

        uint256 size = _ids.length;
        for (uint256 i = 0; i < size; i++) {
            _balances[_from][_ids[i]] = _balances[_from][_ids[i]].sub(
                _amounts[i]
            );
            _balances[_to][_ids[i]] = _balances[_to][_ids[i]].add(_amounts[i]);
        }

        emit TransferBatch(msg.sender, _from, _to, _ids, _amounts);
    }

    function _callonERC1155Received(address _from, address _to, uint256 _id, uint256 _amount, bytes memory _data) private {
        if (_to.isContract()) {
            bytes4 retval = IERC1155TokenReceiver(_to).onERC1155Received(msg.sender, _from, _id, _amount, _data);
            require(retval == ERC1155_RECEIVED_VALUE, "INVALID_ON_RECEIVE_MESSAGE");
        }
    }

    function _callonERC1155BatchReceived(address _from, address _to, uint256[] memory _ids, uint256[] memory _amounts, bytes memory _data) private {
        if (_to.isContract()) {
            bytes4 retval = IERC1155TokenReceiver(_to).onERC1155BatchReceived(msg.sender, _from, _ids, _amounts, _data );
            require(retval == ERC1155_BATCH_RECEIVED_VALUE, "INVALID_ON_RECEIVE_MESSAGE");
        }
    }

    // EXTERNAL
    function safeBatchMint(address _to, uint256[] calldata _ids, uint256[] calldata _values) external onlyMinter {
        require(_ids.length == _values.length, "INVALID_ARRAYS_LENGTH");
        _mintBatch(_to, _ids, _values);
    }

    function safeBatchBurnFrom(address _from, uint256[] calldata _ids, uint256[] calldata _amounts) external {
        require((msg.sender == _from) || isApprovedForAll(_from, msg.sender));

        _safeBatchBurnFrom(_from, _ids, _amounts);
    }

    function safeTransferFrom(address _from, address _to, uint256 _id, uint256 _amount, bytes calldata _data) external {
        require((msg.sender == _from) || isApprovedForAll(_from, msg.sender));
        require(_to != address(0), "INVALID_RECIPIENT");

        _safeTransferFrom(_from, _to, _id, _amount);
        _callonERC1155Received(_from, _to, _id, _amount, _data);
    }

    function safeBatchTransferFrom(address _from, address _to, uint256[] calldata _ids, uint256[] calldata _amounts, bytes calldata _data) external {
        require((msg.sender == _from) || isApprovedForAll(_from, msg.sender));
        require(_to != address(0), "INVALID_RECIPIENT");

        _safeBatchTransferFrom(_from, _to, _ids, _amounts);
        _callonERC1155BatchReceived(_from, _to, _ids, _amounts, _data);
    }

    function cardsBatchMint(address _to, uint256[] calldata _cards) external onlyMinter {
        uint256[] memory _ids = new uint256[](_cards.length);
        uint256[] memory _values = new uint256[](_cards.length);
        for (uint256 i = 0; i < _cards.length; i++) {
            _ids[i] = _cards[i] % 1000;
            _values[i] = _cards[i] / 1000;
        }
        _mintBatch(_to, _ids, _values);
    }

    function cardsBatchBurnFrom(address _from, uint256[] calldata _cards) external {
        require((msg.sender == _from) || isApprovedForAll(_from, msg.sender));

        uint256[] memory _ids = new uint256[](_cards.length);
        uint256[] memory _values = new uint256[](_cards.length);
        for (uint256 i = 0; i < _cards.length; i++) {
            _ids[i] = _cards[i] % 1000;
            _values[i] = _cards[i] / 1000;
        }

        _safeBatchBurnFrom(_from, _ids, _values);
    }

    function setApprovalForAll(address _operator, bool _approved) external {
        _operators[msg.sender][_operator] = _approved;
        emit ApprovalForAll(msg.sender, _operator, _approved);
    }

    // EVENT
    event TransferSingle(address indexed _operator, address indexed _from, address indexed _to, uint256 _id, uint256 _amount);
    event TransferBatch(address indexed _operator, address indexed _from, address indexed _to, uint256[] _ids, uint256[] _amounts);
    event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
    event URI(string _amount, uint256 indexed _id);
}

File 2 of 6 : IERC1155TokenReceiver.sol
pragma solidity >=0.5.0;


interface IERC1155TokenReceiver {

  /**
   * @notice Handle the receipt of a single ERC1155 token type
   * @dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeTransferFrom` after the balance has been updated
   * This function MAY throw to revert and reject the transfer
   * Return of other amount than the magic value MUST result in the transaction being reverted
   * Note: The token contract address is always the message sender
   * @param _operator  The address which called the `safeTransferFrom` function
   * @param _from      The address which previously owned the token
   * @param _id        The id of the token being transferred
   * @param _amount    The amount of tokens being transferred
   * @param _data      Additional data with no specified format
   * @return           `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))`
   */
  function onERC1155Received(address _operator, address _from, uint256 _id, uint256 _amount, bytes calldata _data) external returns(bytes4);

  /**
   * @notice Handle the receipt of multiple ERC1155 token types
   * @dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeBatchTransferFrom` after the balances have been updated
   * This function MAY throw to revert and reject the transfer
   * Return of other amount than the magic value WILL result in the transaction being reverted
   * Note: The token contract address is always the message sender
   * @param _operator  The address which called the `safeBatchTransferFrom` function
   * @param _from      The address which previously owned the token
   * @param _ids       An array containing ids of each token being transferred
   * @param _amounts   An array containing amounts of each token being transferred
   * @param _data      Additional data with no specified format
   * @return           `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))`
   */
  function onERC1155BatchReceived(address _operator, address _from, uint256[] calldata _ids, uint256[] calldata _amounts, bytes calldata _data) external returns(bytes4);
}

File 3 of 6 : Address.sol
pragma solidity =0.5.16;

library Address {

    /**
     * Returns whether the target address is a contract
     * @dev This function will return false if invoked during the constructor of a contract,
     * as the code is not actually created until after the constructor finishes.
     * @param account address of the account to check
     * @return whether the target address is a contract
     */
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        // XXX Currently there is no better way to check if there is a contract in an address
        // than to check the size of the code at that address.
        // See https://ethereum.stackexchange.com/a/14016/36603
        // for more details about how this works.
        // TODO Check this again before the Serenity release, because all addresses will be
        // contracts then.
        // solium-disable-next-line security/no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }

}

File 4 of 6 : SafeMath.sol
pragma solidity =0.5.16;

// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)

library SafeMath {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x, 'ds-math-add-overflow');
    }

    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, 'ds-math-sub-underflow');
    }

    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow');
    }
    
    function div(uint a, uint b) internal pure returns (uint z) {
        require(b > 0);
        return a / b;
    }
}

File 5 of 6 : Minter.sol
pragma solidity =0.5.16;

import './Ownable.sol';

contract Minter is Ownable {
    
    mapping(address => bool) private _minters;
    
    event MinterChanged(address indexed minter, bool approved);


    modifier onlyMinter {
        require(isMinter(), "Minter: caller is not the minter");
        _;
    }

    function isMinter() public view returns (bool){
        return _minters[msg.sender];
    }
    
    function setMinter(address _minter,bool _approved) external onlyOwner {
        _minters[_minter] = _approved;
        emit MinterChanged(_minter,_approved);
    }

}

File 6 of 6 : Ownable.sol
pragma solidity =0.5.16;

contract Ownable {
    address private _owner;

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

    constructor() internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(isOwner(), "Ownable: caller is not the owner");
        _;
    }

    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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

Contract Security Audit

Contract ABI

[{"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":"minter","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"MinterChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"_amount","type":"string"},{"indexed":true,"internalType":"uint256","name":"_id","type":"uint256"}],"name":"URI","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address[]","name":"_owners","type":"address[]"},{"internalType":"uint256[]","name":"_ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256[]","name":"_cards","type":"uint256[]"}],"name":"cardsBatchBurnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256[]","name":"_cards","type":"uint256[]"}],"name":"cardsBatchMint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_level","type":"uint256"},{"internalType":"uint256","name":"_carry","type":"uint256"}],"name":"cardsNumOf","outputs":[{"internalType":"uint256","name":"nums","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_carry","type":"uint256"}],"name":"cardsNumOfAll","outputs":[{"internalType":"uint256[10]","name":"nums","type":"uint256[10]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cardsTotalSupply","outputs":[{"internalType":"uint256[40]","name":"nums","type":"uint256[40]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"safeBatchBurnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"safeBatchMint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256[]","name":"_ids","type":"uint256[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_minter","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes4","name":"_interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040819052600080546001600160a01b03191633178082556001600160a01b0316917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a361208c806100576000396000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c80638f32d59b116100ad578063d2fc1d6e11610071578063d2fc1d6e1461078a578063d99de702146107a8578063e985e9c5146107da578063f242432a14610808578063f2fde38b1461089b5761012b565b80638f32d59b146106a4578063a13078c6146106ac578063a22cb46514610711578063bd85b0391461073f578063cf456ae71461075c5761012b565b8063509c191d116100f4578063509c191d1461045e57806350e59eb31461052c57806374bc2e4b14610534578063882e0e5d146105b25780638da5cb5b146106805761012b565b8062fdd58e1461013057806301ffc9a71461016e578063292565b7146101a95780632eb2c2d6146102295780634e1273f414610350575b600080fd5b61015c6004803603604081101561014657600080fd5b506001600160a01b0381351690602001356108c1565b60408051918252519081900360200190f35b6101956004803603602081101561018457600080fd5b50356001600160e01b0319166108ec565b604080519115158252519081900360200190f35b610227600480360360408110156101bf57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101e957600080fd5b8201836020820111156101fb57600080fd5b803590602001918460208302840111600160201b8311171561021c57600080fd5b509092509050610905565b005b610227600480360360a081101561023f57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b81111561027257600080fd5b82018360208201111561028457600080fd5b803590602001918460208302840111600160201b831117156102a557600080fd5b919390929091602081019035600160201b8111156102c257600080fd5b8201836020820111156102d457600080fd5b803590602001918460208302840111600160201b831117156102f557600080fd5b919390929091602081019035600160201b81111561031257600080fd5b82018360208201111561032457600080fd5b803590602001918460018302840111600160201b8311171561034557600080fd5b509092509050610a1c565b61040e6004803603604081101561036657600080fd5b810190602081018135600160201b81111561038057600080fd5b82018360208201111561039257600080fd5b803590602001918460208302840111600160201b831117156103b357600080fd5b919390929091602081019035600160201b8111156103d057600080fd5b8201836020820111156103e257600080fd5b803590602001918460208302840111600160201b8311171561040357600080fd5b509092509050610bac565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561044a578181015183820152602001610432565b505050509050019250505060405180910390f35b6102276004803603606081101561047457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561049e57600080fd5b8201836020820111156104b057600080fd5b803590602001918460208302840111600160201b831117156104d157600080fd5b919390929091602081019035600160201b8111156104ee57600080fd5b82018360208201111561050057600080fd5b803590602001918460208302840111600160201b8311171561052157600080fd5b509092509050610cc0565b610195610dd3565b6102276004803603604081101561054a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561057457600080fd5b82018360208201111561058657600080fd5b803590602001918460208302840111600160201b831117156105a757600080fd5b509092509050610de9565b610227600480360360608110156105c857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156105f257600080fd5b82018360208201111561060457600080fd5b803590602001918460208302840111600160201b8311171561062557600080fd5b919390929091602081019035600160201b81111561064257600080fd5b82018360208201111561065457600080fd5b803590602001918460208302840111600160201b8311171561067557600080fd5b509092509050610f2d565b610688610fc0565b604080516001600160a01b039092168252519081900360200190f35b610195610fcf565b6106d8600480360360408110156106c257600080fd5b506001600160a01b038135169060200135610fe0565b604051808261014080838360005b838110156106fe5781810151838201526020016106e6565b5050505090500191505060405180910390f35b6102276004803603604081101561072757600080fd5b506001600160a01b0381351690602001351515611030565b61015c6004803603602081101561075557600080fd5b503561109e565b6102276004803603604081101561077257600080fd5b506001600160a01b03813516906020013515156110b0565b610792611169565b60405181518152808261050080838360206106e6565b61015c600480360360608110156107be57600080fd5b506001600160a01b0381351690602081013590604001356111ea565b610195600480360360408110156107f057600080fd5b506001600160a01b0381358116916020013516611271565b610227600480360360a081101561081e57600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359181019060a081016080820135600160201b81111561085d57600080fd5b82018360208201111561086f57600080fd5b803590602001918460018302840111600160201b8311171561089057600080fd5b50909250905061129f565b610227600480360360208110156108b157600080fd5b50356001600160a01b031661136a565b6001600160a01b03821660009081526002602090815260408083208484529091529020545b92915050565b6001600160e01b03198116636cdb3d1360e11b14919050565b336001600160a01b038416148061092157506109218333611271565b61092a57600080fd5b604080518281526020808402820101909152606090828015610956578160200160208202803883390190505b509050606083839050604051908082528060200260200182016040528015610988578160200160208202803883390190505b50905060005b83811015610a09576103e88585838181106109a557fe5b90506020020135816109b357fe5b068382815181106109c057fe5b6020026020010181815250506103e88585838181106109db57fe5b90506020020135816109e957fe5b048282815181106109f657fe5b602090810291909101015260010161098e565b50610a1585838361141e565b5050505050565b336001600160a01b0389161480610a385750610a388833611271565b610a4157600080fd5b6001600160a01b038716610a90576040805162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b604482015290519081900360640190fd5b610aff888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525061166692505050565b610ba2888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152506118ea92505050565b5050505050505050565b6060838214610bf9576040805162461bcd60e51b81526020600482015260146024820152730929cac82989288be82a4a482b2be988a9c8ea8960631b604482015290519081900360640190fd5b604080518581526020808702820101909152606090858015610c25578160200160208202803883390190505b50905060005b85811015610cb65760026000888884818110610c4357fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000206000868684818110610c8157fe5b90506020020135815260200190815260200160002054828281518110610ca357fe5b6020908102919091010152600101610c2b565b5095945050505050565b610cc8610dd3565b610d19576040805162461bcd60e51b815260206004820181905260248201527f4d696e7465723a2063616c6c6572206973206e6f7420746865206d696e746572604482015290519081900360640190fd5b828114610d65576040805162461bcd60e51b81526020600482015260156024820152740929cac82989288be82a4a482b2a6be988a9c8ea89605b1b604482015290519081900360640190fd5b610a158585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808902828101820190935288825290935088925087918291850190849080828437600092019190915250611afe92505050565b3360009081526001602052604090205460ff1690565b610df1610dd3565b610e42576040805162461bcd60e51b815260206004820181905260248201527f4d696e7465723a2063616c6c6572206973206e6f7420746865206d696e746572604482015290519081900360640190fd5b604080518281526020808402820101909152606090828015610e6e578160200160208202803883390190505b509050606083839050604051908082528060200260200182016040528015610ea0578160200160208202803883390190505b50905060005b83811015610f21576103e8858583818110610ebd57fe5b9050602002013581610ecb57fe5b06838281518110610ed857fe5b6020026020010181815250506103e8858583818110610ef357fe5b9050602002013581610f0157fe5b04828281518110610f0e57fe5b6020908102919091010152600101610ea6565b50610a15858383611afe565b336001600160a01b0386161480610f495750610f498533611271565b610f5257600080fd5b610a15858585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080890282810182019093528882529093508892508791829185019084908082843760009201919091525061141e92505050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b610fe8612019565b600a60005b818110156110285761100f85611009848463ffffffff611c8c16565b866111ea565b8382600a811061101b57fe5b6020020152600101610fed565b505092915050565b3360008181526003602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b60009081526004602052604090205490565b6110b8610fcf565b611109576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038216600081815260016020908152604091829020805460ff1916851515908117909155825190815291517f04bca3656717d14c20f88f2a0122832cb0d2807bfc66ed9e932a2202cc59f4959281900390910190a25050565b611171612038565b6000600a5b80156111e55760005b60048110156111db57600460006111ad836111a186600a63ffffffff611cdc16565b9063ffffffff611d3f16565b8152602001908152602001600020548484806001019550602881106111ce57fe5b602002015260010161117f565b5060001901611176565b505090565b6000805b6004811015611269576001600160a01b038516600090815260026020526040812081611225846111a189600a63ffffffff611cdc16565b815260200190815260200160002054905061125e6112518284600303870a611cdc90919063ffffffff16565b849063ffffffff611d3f16565b9250506001016111ee565b509392505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205460ff1690565b336001600160a01b03871614806112bb57506112bb8633611271565b6112c457600080fd5b6001600160a01b038516611313576040805162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b604482015290519081900360640190fd5b61131f86868686611d8e565b6113628686868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e7b92505050565b505050505050565b611372610fcf565b6113c3576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b805182511461146c576040805162461bcd60e51b81526020600482015260156024820152740929cac82989288be82a4a482b2a6be988a9c8ea89605b1b604482015290519081900360640190fd5b815160005b81811015611585576114e883828151811061148857fe5b602002602001015160026000886001600160a01b03166001600160a01b0316815260200190815260200160002060008785815181106114c357fe5b6020026020010151815260200190815260200160002054611c8c90919063ffffffff16565b6001600160a01b0386166000908152600260205260408120865190919087908590811061151157fe5b602002602001015181526020019081526020016000208190555061155283828151811061153a57fe5b6020026020010151600460008785815181106114c357fe5b6004600086848151811061156257fe5b602090810291909101810151825281019190915260400160002055600101611471565b5060006001600160a01b0316846001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561160c5781810151838201526020016115f4565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561164b578181015183820152602001611633565b5050505090500194505050505060405180910390a450505050565b80518251146116b4576040805162461bcd60e51b81526020600482015260156024820152740929cac82989288be82a4a482b2a6be988a9c8ea89605b1b604482015290519081900360640190fd5b815160005b818110156118095761170b8382815181106116d057fe5b602002602001015160026000896001600160a01b03166001600160a01b0316815260200190815260200160002060008785815181106114c357fe5b6001600160a01b0387166000908152600260205260408120865190919087908590811061173457fe5b60200260200101518152602001908152602001600020819055506117bd83828151811061175d57fe5b602002602001015160026000886001600160a01b03166001600160a01b03168152602001908152602001600020600087858151811061179857fe5b6020026020010151815260200190815260200160002054611d3f90919063ffffffff16565b6001600160a01b038616600090815260026020526040812086519091908790859081106117e657fe5b6020908102919091018101518252810191909152604001600020556001016116b9565b50836001600160a01b0316856001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561188f578181015183820152602001611877565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156118ce5781810151838201526020016118b6565b5050505090500194505050505060405180910390a45050505050565b6118fc846001600160a01b0316612013565b15610a15576000846001600160a01b031663bc197c8133888787876040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b03168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561199e578181015183820152602001611986565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156119dd5781810151838201526020016119c5565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015611a19578181015183820152602001611a01565b50505050905090810190601f168015611a465780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b158015611a6b57600080fd5b505af1158015611a7f573d6000803e3d6000fd5b505050506040513d6020811015611a9557600080fd5b505190506001600160e01b0319811663bc197c8160e01b14611362576040805162461bcd60e51b815260206004820152601a60248201527f494e56414c49445f4f4e5f524543454956455f4d455353414745000000000000604482015290519081900360640190fd5b6001600160a01b038316611b4d576040805162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b604482015290519081900360640190fd5b815160005b81811015611c0657611b81838281518110611b6957fe5b60200260200101516004600087858151811061179857fe5b60046000868481518110611b9157fe5b6020026020010151815260200190815260200160002081905550611bba83828151811061175d57fe5b6001600160a01b03861660009081526002602052604081208651909190879085908110611be357fe5b602090810291909101810151825281019190915260400160002055600101611b52565b50836001600160a01b031660006001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360008381101561160c5781810151838201526020016115f4565b808203828111156108e6576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6000811580611cf757505080820282828281611cf457fe5b04145b6108e6576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b808201828110156108e6576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b6001600160a01b0384166000908152600260209081526040808320858452909152902054611dc2908263ffffffff611c8c16565b6001600160a01b038086166000908152600260208181526040808420888552825280842095909555928716825282528281208582529091522054611e0c908263ffffffff611d3f16565b6001600160a01b038085166000818152600260209081526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b611e8d846001600160a01b0316612013565b15610a15576000846001600160a01b031663f23a6e6133888787876040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b0316815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611f30578181015183820152602001611f18565b50505050905090810190601f168015611f5d5780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b158015611f8057600080fd5b505af1158015611f94573d6000803e3d6000fd5b505050506040513d6020811015611faa57600080fd5b505190506001600160e01b0319811663f23a6e6160e01b14611362576040805162461bcd60e51b815260206004820152601a60248201527f494e56414c49445f4f4e5f524543454956455f4d455353414745000000000000604482015290519081900360640190fd5b3b151590565b604051806101400160405280600a906020820280388339509192915050565b604051806105000160405280602890602082028038833950919291505056fea265627a7a7231582027c7975d508348ea6558ad588ab86ea3d1d54de67592f22c1e97024ec943dfb064736f6c63430005100032

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012b5760003560e01c80638f32d59b116100ad578063d2fc1d6e11610071578063d2fc1d6e1461078a578063d99de702146107a8578063e985e9c5146107da578063f242432a14610808578063f2fde38b1461089b5761012b565b80638f32d59b146106a4578063a13078c6146106ac578063a22cb46514610711578063bd85b0391461073f578063cf456ae71461075c5761012b565b8063509c191d116100f4578063509c191d1461045e57806350e59eb31461052c57806374bc2e4b14610534578063882e0e5d146105b25780638da5cb5b146106805761012b565b8062fdd58e1461013057806301ffc9a71461016e578063292565b7146101a95780632eb2c2d6146102295780634e1273f414610350575b600080fd5b61015c6004803603604081101561014657600080fd5b506001600160a01b0381351690602001356108c1565b60408051918252519081900360200190f35b6101956004803603602081101561018457600080fd5b50356001600160e01b0319166108ec565b604080519115158252519081900360200190f35b610227600480360360408110156101bf57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101e957600080fd5b8201836020820111156101fb57600080fd5b803590602001918460208302840111600160201b8311171561021c57600080fd5b509092509050610905565b005b610227600480360360a081101561023f57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b81111561027257600080fd5b82018360208201111561028457600080fd5b803590602001918460208302840111600160201b831117156102a557600080fd5b919390929091602081019035600160201b8111156102c257600080fd5b8201836020820111156102d457600080fd5b803590602001918460208302840111600160201b831117156102f557600080fd5b919390929091602081019035600160201b81111561031257600080fd5b82018360208201111561032457600080fd5b803590602001918460018302840111600160201b8311171561034557600080fd5b509092509050610a1c565b61040e6004803603604081101561036657600080fd5b810190602081018135600160201b81111561038057600080fd5b82018360208201111561039257600080fd5b803590602001918460208302840111600160201b831117156103b357600080fd5b919390929091602081019035600160201b8111156103d057600080fd5b8201836020820111156103e257600080fd5b803590602001918460208302840111600160201b8311171561040357600080fd5b509092509050610bac565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561044a578181015183820152602001610432565b505050509050019250505060405180910390f35b6102276004803603606081101561047457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561049e57600080fd5b8201836020820111156104b057600080fd5b803590602001918460208302840111600160201b831117156104d157600080fd5b919390929091602081019035600160201b8111156104ee57600080fd5b82018360208201111561050057600080fd5b803590602001918460208302840111600160201b8311171561052157600080fd5b509092509050610cc0565b610195610dd3565b6102276004803603604081101561054a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561057457600080fd5b82018360208201111561058657600080fd5b803590602001918460208302840111600160201b831117156105a757600080fd5b509092509050610de9565b610227600480360360608110156105c857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156105f257600080fd5b82018360208201111561060457600080fd5b803590602001918460208302840111600160201b8311171561062557600080fd5b919390929091602081019035600160201b81111561064257600080fd5b82018360208201111561065457600080fd5b803590602001918460208302840111600160201b8311171561067557600080fd5b509092509050610f2d565b610688610fc0565b604080516001600160a01b039092168252519081900360200190f35b610195610fcf565b6106d8600480360360408110156106c257600080fd5b506001600160a01b038135169060200135610fe0565b604051808261014080838360005b838110156106fe5781810151838201526020016106e6565b5050505090500191505060405180910390f35b6102276004803603604081101561072757600080fd5b506001600160a01b0381351690602001351515611030565b61015c6004803603602081101561075557600080fd5b503561109e565b6102276004803603604081101561077257600080fd5b506001600160a01b03813516906020013515156110b0565b610792611169565b60405181518152808261050080838360206106e6565b61015c600480360360608110156107be57600080fd5b506001600160a01b0381351690602081013590604001356111ea565b610195600480360360408110156107f057600080fd5b506001600160a01b0381358116916020013516611271565b610227600480360360a081101561081e57600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359181019060a081016080820135600160201b81111561085d57600080fd5b82018360208201111561086f57600080fd5b803590602001918460018302840111600160201b8311171561089057600080fd5b50909250905061129f565b610227600480360360208110156108b157600080fd5b50356001600160a01b031661136a565b6001600160a01b03821660009081526002602090815260408083208484529091529020545b92915050565b6001600160e01b03198116636cdb3d1360e11b14919050565b336001600160a01b038416148061092157506109218333611271565b61092a57600080fd5b604080518281526020808402820101909152606090828015610956578160200160208202803883390190505b509050606083839050604051908082528060200260200182016040528015610988578160200160208202803883390190505b50905060005b83811015610a09576103e88585838181106109a557fe5b90506020020135816109b357fe5b068382815181106109c057fe5b6020026020010181815250506103e88585838181106109db57fe5b90506020020135816109e957fe5b048282815181106109f657fe5b602090810291909101015260010161098e565b50610a1585838361141e565b5050505050565b336001600160a01b0389161480610a385750610a388833611271565b610a4157600080fd5b6001600160a01b038716610a90576040805162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b604482015290519081900360640190fd5b610aff888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525061166692505050565b610ba2888888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152506118ea92505050565b5050505050505050565b6060838214610bf9576040805162461bcd60e51b81526020600482015260146024820152730929cac82989288be82a4a482b2be988a9c8ea8960631b604482015290519081900360640190fd5b604080518581526020808702820101909152606090858015610c25578160200160208202803883390190505b50905060005b85811015610cb65760026000888884818110610c4357fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b031681526020019081526020016000206000868684818110610c8157fe5b90506020020135815260200190815260200160002054828281518110610ca357fe5b6020908102919091010152600101610c2b565b5095945050505050565b610cc8610dd3565b610d19576040805162461bcd60e51b815260206004820181905260248201527f4d696e7465723a2063616c6c6572206973206e6f7420746865206d696e746572604482015290519081900360640190fd5b828114610d65576040805162461bcd60e51b81526020600482015260156024820152740929cac82989288be82a4a482b2a6be988a9c8ea89605b1b604482015290519081900360640190fd5b610a158585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808902828101820190935288825290935088925087918291850190849080828437600092019190915250611afe92505050565b3360009081526001602052604090205460ff1690565b610df1610dd3565b610e42576040805162461bcd60e51b815260206004820181905260248201527f4d696e7465723a2063616c6c6572206973206e6f7420746865206d696e746572604482015290519081900360640190fd5b604080518281526020808402820101909152606090828015610e6e578160200160208202803883390190505b509050606083839050604051908082528060200260200182016040528015610ea0578160200160208202803883390190505b50905060005b83811015610f21576103e8858583818110610ebd57fe5b9050602002013581610ecb57fe5b06838281518110610ed857fe5b6020026020010181815250506103e8858583818110610ef357fe5b9050602002013581610f0157fe5b04828281518110610f0e57fe5b6020908102919091010152600101610ea6565b50610a15858383611afe565b336001600160a01b0386161480610f495750610f498533611271565b610f5257600080fd5b610a15858585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080890282810182019093528882529093508892508791829185019084908082843760009201919091525061141e92505050565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b610fe8612019565b600a60005b818110156110285761100f85611009848463ffffffff611c8c16565b866111ea565b8382600a811061101b57fe5b6020020152600101610fed565b505092915050565b3360008181526003602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b60009081526004602052604090205490565b6110b8610fcf565b611109576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038216600081815260016020908152604091829020805460ff1916851515908117909155825190815291517f04bca3656717d14c20f88f2a0122832cb0d2807bfc66ed9e932a2202cc59f4959281900390910190a25050565b611171612038565b6000600a5b80156111e55760005b60048110156111db57600460006111ad836111a186600a63ffffffff611cdc16565b9063ffffffff611d3f16565b8152602001908152602001600020548484806001019550602881106111ce57fe5b602002015260010161117f565b5060001901611176565b505090565b6000805b6004811015611269576001600160a01b038516600090815260026020526040812081611225846111a189600a63ffffffff611cdc16565b815260200190815260200160002054905061125e6112518284600303870a611cdc90919063ffffffff16565b849063ffffffff611d3f16565b9250506001016111ee565b509392505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205460ff1690565b336001600160a01b03871614806112bb57506112bb8633611271565b6112c457600080fd5b6001600160a01b038516611313576040805162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b604482015290519081900360640190fd5b61131f86868686611d8e565b6113628686868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e7b92505050565b505050505050565b611372610fcf565b6113c3576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b805182511461146c576040805162461bcd60e51b81526020600482015260156024820152740929cac82989288be82a4a482b2a6be988a9c8ea89605b1b604482015290519081900360640190fd5b815160005b81811015611585576114e883828151811061148857fe5b602002602001015160026000886001600160a01b03166001600160a01b0316815260200190815260200160002060008785815181106114c357fe5b6020026020010151815260200190815260200160002054611c8c90919063ffffffff16565b6001600160a01b0386166000908152600260205260408120865190919087908590811061151157fe5b602002602001015181526020019081526020016000208190555061155283828151811061153a57fe5b6020026020010151600460008785815181106114c357fe5b6004600086848151811061156257fe5b602090810291909101810151825281019190915260400160002055600101611471565b5060006001600160a01b0316846001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561160c5781810151838201526020016115f4565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561164b578181015183820152602001611633565b5050505090500194505050505060405180910390a450505050565b80518251146116b4576040805162461bcd60e51b81526020600482015260156024820152740929cac82989288be82a4a482b2a6be988a9c8ea89605b1b604482015290519081900360640190fd5b815160005b818110156118095761170b8382815181106116d057fe5b602002602001015160026000896001600160a01b03166001600160a01b0316815260200190815260200160002060008785815181106114c357fe5b6001600160a01b0387166000908152600260205260408120865190919087908590811061173457fe5b60200260200101518152602001908152602001600020819055506117bd83828151811061175d57fe5b602002602001015160026000886001600160a01b03166001600160a01b03168152602001908152602001600020600087858151811061179857fe5b6020026020010151815260200190815260200160002054611d3f90919063ffffffff16565b6001600160a01b038616600090815260026020526040812086519091908790859081106117e657fe5b6020908102919091018101518252810191909152604001600020556001016116b9565b50836001600160a01b0316856001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561188f578181015183820152602001611877565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156118ce5781810151838201526020016118b6565b5050505090500194505050505060405180910390a45050505050565b6118fc846001600160a01b0316612013565b15610a15576000846001600160a01b031663bc197c8133888787876040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b03168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561199e578181015183820152602001611986565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156119dd5781810151838201526020016119c5565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015611a19578181015183820152602001611a01565b50505050905090810190601f168015611a465780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b158015611a6b57600080fd5b505af1158015611a7f573d6000803e3d6000fd5b505050506040513d6020811015611a9557600080fd5b505190506001600160e01b0319811663bc197c8160e01b14611362576040805162461bcd60e51b815260206004820152601a60248201527f494e56414c49445f4f4e5f524543454956455f4d455353414745000000000000604482015290519081900360640190fd5b6001600160a01b038316611b4d576040805162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b604482015290519081900360640190fd5b815160005b81811015611c0657611b81838281518110611b6957fe5b60200260200101516004600087858151811061179857fe5b60046000868481518110611b9157fe5b6020026020010151815260200190815260200160002081905550611bba83828151811061175d57fe5b6001600160a01b03861660009081526002602052604081208651909190879085908110611be357fe5b602090810291909101810151825281019190915260400160002055600101611b52565b50836001600160a01b031660006001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360008381101561160c5781810151838201526020016115f4565b808203828111156108e6576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6000811580611cf757505080820282828281611cf457fe5b04145b6108e6576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b808201828110156108e6576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b6001600160a01b0384166000908152600260209081526040808320858452909152902054611dc2908263ffffffff611c8c16565b6001600160a01b038086166000908152600260208181526040808420888552825280842095909555928716825282528281208582529091522054611e0c908263ffffffff611d3f16565b6001600160a01b038085166000818152600260209081526040808320888452825291829020949094558051868152938401859052805191939288169233927fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62929181900390910190a450505050565b611e8d846001600160a01b0316612013565b15610a15576000846001600160a01b031663f23a6e6133888787876040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b0316815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611f30578181015183820152602001611f18565b50505050905090810190601f168015611f5d5780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b158015611f8057600080fd5b505af1158015611f94573d6000803e3d6000fd5b505050506040513d6020811015611faa57600080fd5b505190506001600160e01b0319811663f23a6e6160e01b14611362576040805162461bcd60e51b815260206004820152601a60248201527f494e56414c49445f4f4e5f524543454956455f4d455353414745000000000000604482015290519081900360640190fd5b3b151590565b604051806101400160405280600a906020820280388339509192915050565b604051806105000160405280602890602082028038833950919291505056fea265627a7a7231582027c7975d508348ea6558ad588ab86ea3d1d54de67592f22c1e97024ec943dfb064736f6c63430005100032

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.