ETH Price: $2,374.88 (+5.58%)
Gas: 41 Gwei

Contract

0x3D7E5eE442051B6B4536ee09613cc913B4CfC943
 

Overview

ETH Balance

0.005 ETH

Eth Value

$11.87 (@ $2,374.88/ETH)

Multi Chain

Multichain Addresses

1 address found via
Transaction Hash
Method
Block
From
To
Value
Mint154540322022-09-01 16:58:56462 days 10 hrs ago1662051536IN
0x3D7E5e...B4CfC943
0.001 ETH0.001429227.51058985
Transfer From151834022022-07-21 2:58:16505 days 8 mins ago1658372296IN
0x3D7E5e...B4CfC943
0 ETH0.0005850318.11971634
Mint151829352022-07-21 1:13:44505 days 1 hr ago1658366024IN
0x3D7E5e...B4CfC943
0.001 ETH0.0010902520.64996944
Mint151828932022-07-21 1:04:37505 days 2 hrs ago1658365477IN
0x3D7E5e...B4CfC943
0.001 ETH0.0010747720.10321997
Mint150355422022-06-27 17:50:07528 days 9 hrs ago1656352207IN
0x3D7E5e...B4CfC943
0.001 ETH0.0075593145.81141511
Mint150272362022-06-26 4:37:28529 days 22 hrs ago1656218248IN
0x3D7E5e...B4CfC943
0.001 ETH0.0019790638.19186363
0x66038d7e150270302022-06-26 3:45:27529 days 23 hrs ago1656215127IN
 Create: MPOTelegraph
0 ETH0.0209816715

Advanced mode:
Parent Txn Hash Block From To Value
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MPOTelegraph

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

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

/// @dev This is a very stripped down ERC-721 knock-off with gas savings as a top priority. Some features may be unsafe or missing.

contract MPOTelegraph {
    address private _owner;
    uint256 private _price = 1000000000000000; // 0.001 eth
    string public name = "Metaversal Post Office Telegraph";
    string public symbol = "MPOT";
    string public baseURI = "https://9amtetu7r1.execute-api.us-east-1.amazonaws.com/?id=";

    constructor() {
        _owner = msg.sender;
    }

    // ERC721 --------------------------------------------------------------->>
    mapping(uint256 => address) private ownership;
    mapping(uint256 => address) private approvedForToken;
    mapping(address => mapping(address => bool)) private approvedForAll;
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Mint(address indexed from, uint256 indexed tokenId, string text);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    function ownerOf(uint256 _tokenId) public view virtual returns (address) {
        return ownership[_tokenId];
    }

    function transferFrom(
        address _from,
        address _to,
        uint256 _tokenId
    ) public {
        require(msg.sender == ownership[_tokenId] || msg.sender == getApproved(_tokenId) || isApprovedForAll(ownership[_tokenId], msg.sender), "Unauthorized");
        require(ownership[_tokenId] == _from, "The from address does not own this token"); 

        // Clear approvals from the previous owner
        approvedForToken[_tokenId] = address(0);

        ownership[_tokenId] = _to;
        emit Transfer(_from, _to, _tokenId);
    }

    function approve(address _candidate, uint256 _tokenId) public virtual {
        require(msg.sender == ownership[_tokenId] || isApprovedForAll(ownership[_tokenId], msg.sender), "Unauthorized");
        approvedForToken[_tokenId] = _candidate;
        emit Approval(ownership[_tokenId], _candidate, _tokenId);
    }

    function getApproved(uint256 _tokenId) public view virtual returns (address) {
        return approvedForToken[_tokenId];
    }

    function setApprovalForAll(address _candidate, bool _approved) public virtual {
        approvedForAll[msg.sender][_candidate] = _approved;
        emit ApprovalForAll(msg.sender, _candidate, _approved);
    }

    function isApprovedForAll(address _owner, address _candidate) public view virtual returns (bool) {
        return approvedForAll[_owner][_candidate];
    }

    // UNSAFE - USE AT OWN RISK
    function safeTransferFrom(address _from, address _to, uint256 _tokenId) public { transferFrom(_from, _to, _tokenId); }
    function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes calldata data) public { transferFrom(_from, _to, _tokenId); }
    
    // Ignored
    function balanceOf(address _owner) public view virtual returns (uint256) { return 0; }
    // <<--------------------------------------------------------------- ERC721

    // ERC721Metadata-------------------------------------------------------->>
    function tokenURI(uint256 _tokenId) public view virtual returns (string memory) {
        return string(abi.encodePacked(baseURI, uint2str(_tokenId)));
    }
    // <<------------------------------------------------------- ERC721Metadata


    // ERC165 --------------------------------------------------------------->>
    function supportsInterface(bytes4 _interfaceId) public pure returns (bool) {
        return _interfaceId == 0x80ac58cd || // IERC721
            _interfaceId == 0x5b5e139f || // IERC721Metadata
            _interfaceId == 0x01ffc9a7; // IERC165
    }
    // <<--------------------------------------------------------------- ERC165

    // Other functions ------------------------------------------------------>>

    function updateBaseURI(string memory uri) public {
        require(msg.sender == _owner, "Unauthorized");
        baseURI = uri;
    }

    function price() public view returns (uint256) {
        return _price;
    }

    function updatePrice(uint256 newPrice) public {
        require(msg.sender == _owner, "Unauthorized");
        _price = newPrice;
    }

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

    function transferOwnership(address newOwner) public {
        require(msg.sender == _owner, "Unauthorized");
        _owner = newOwner;
    }

    function mint(uint256 id, address to, string calldata text) public payable {
        require(to != address(0), "No recipient");
        require(msg.value >= _price, "Send more ETH");
        require(ownership[id] == address(0), "ID already in use");
        ownership[id] = to;

        // What a normal mint event looks like
        emit Transfer(address(0), to, id);
        // Additional mint event to get the sender and text on-chain
        emit Mint(msg.sender, id, text);
    }

    function reply(uint256 id, address to, string calldata text) public {
        require(to != msg.sender, "Sorry, can't reply to yourself");
        require(ownership[id] != address(0), "ID doesn't exist");
        require(msg.sender == ownership[id] || msg.sender == getApproved(id) || isApprovedForAll(ownership[id], msg.sender), "Not your message to burn");
        ownership[id] = to;
        // Burn for housekeeping
        emit Transfer(ownership[id], address(0), id);
        // Transfer to prev 'from' address (now 'to' address) to bypass marketplace hidden folder rules
        emit Transfer(address(0), ownership[id], id);
        // Mint for the new message
        emit Mint(msg.sender, id, text);
    }

    // Required by etherscan.io
    function totalSupply() public view virtual returns (uint256) {
        return 1;
    }

    function withdraw() public payable {
        (bool success, ) = payable(_owner).call{value: address(this).balance}("");
        require(success, "Could not transfer money to contractOwner");
    }

    function uint2str(uint _i) internal pure returns (string memory _uintAsString) {
        if (_i == 0) {
            return "0";
        }
        uint j = _i;
        uint len;
        while (j != 0) {
            len++;
            j /= 10;
        }
        bytes memory bstr = new bytes(len);
        uint k = len;
        while (_i != 0) {
            k = k-1;
            uint8 temp = (48 + uint8(_i - _i / 10 * 10));
            bytes1 b1 = bytes1(temp);
            bstr[k] = b1;
            _i /= 10;
        }
        return string(bstr);
    }

}

Settings
{
  "remappings": [
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "src/=src/",
    "test/=test/",
    "script/=script/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"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":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"string","name":"text","type":"string"}],"name":"Mint","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":"_candidate","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":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"_candidate","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"string","name":"text","type":"string"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"string","name":"text","type":"string"}],"name":"reply","outputs":[],"stateMutability":"nonpayable","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":"_candidate","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":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"uri","type":"string"}],"name":"updateBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPrice","type":"uint256"}],"name":"updatePrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"payable","type":"function"}]

66038d7ea4c6800060015560c0604052602060808190527f4d65746176657273616c20506f7374204f66666963652054656c65677261706860a09081526200004b9160029190620000d1565b5060408051808201909152600480825263135413d560e21b60209092019182526200007991600391620000d1565b506040518060600160405280603b8152602001620016bf603b91398051620000aa91600491602090910190620000d1565b50348015620000b857600080fd5b50600080546001600160a01b03191633179055620001b3565b828054620000df9062000177565b90600052602060002090601f0160209004810192826200010357600085556200014e565b82601f106200011e57805160ff19168380011785556200014e565b828001600101855582156200014e579182015b828111156200014e57825182559160200191906001019062000131565b506200015c92915062000160565b5090565b5b808211156200015c576000815560010162000161565b600181811c908216806200018c57607f821691505b602082108103620001ad57634e487b7160e01b600052602260045260246000fd5b50919050565b6114fc80620001c36000396000f3fe6080604052600436106101405760003560e01c80638d6cc56d116100b6578063b88d4fde1161006f578063b88d4fde14610386578063c87b56dd146103a6578063e67e402c146103c6578063e985e9c5146103d9578063ea78fffb146103f9578063f2fde38b1461041957600080fd5b80638d6cc56d146102de5780638da5cb5b146102fe578063931688cb1461031c57806395d89b411461033c578063a035b1fe14610351578063a22cb4651461036657600080fd5b806323b872dd1161010857806323b872dd1461022a5780633ccfd60b1461024a57806342842e0e146102525780636352211e146102725780636c0360eb146102a857806370a08231146102bd57600080fd5b806301ffc9a71461014557806306fdde031461017a578063081812fc1461019c578063095ea7b3146101ea57806318160ddd1461020c575b600080fd5b34801561015157600080fd5b50610165610160366004610f01565b610439565b60405190151581526020015b60405180910390f35b34801561018657600080fd5b5061018f61048b565b6040516101719190610f62565b3480156101a857600080fd5b506101d26101b7366004610f95565b6000908152600660205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610171565b3480156101f657600080fd5b5061020a610205366004610fca565b610519565b005b34801561021857600080fd5b5060015b604051908152602001610171565b34801561023657600080fd5b5061020a610245366004610ff4565b6105e7565b61020a61073f565b34801561025e57600080fd5b5061020a61026d366004610ff4565b6107f7565b34801561027e57600080fd5b506101d261028d366004610f95565b6000908152600560205260409020546001600160a01b031690565b3480156102b457600080fd5b5061018f610807565b3480156102c957600080fd5b5061021c6102d8366004611030565b50600090565b3480156102ea57600080fd5b5061020a6102f9366004610f95565b610814565b34801561030a57600080fd5b506000546001600160a01b03166101d2565b34801561032857600080fd5b5061020a610337366004611061565b610843565b34801561034857600080fd5b5061018f610884565b34801561035d57600080fd5b5060015461021c565b34801561037257600080fd5b5061020a610381366004611112565b610891565b34801561039257600080fd5b5061020a6103a1366004611197565b6108fd565b3480156103b257600080fd5b5061018f6103c1366004610f95565b61090f565b61020a6103d4366004611206565b610943565b3480156103e557600080fd5b506101656103f4366004611260565b610ab0565b34801561040557600080fd5b5061020a610414366004611206565b610ade565b34801561042557600080fd5b5061020a610434366004611030565b610cf0565b60006380ac58cd60e01b6001600160e01b03198316148061046a5750635b5e139f60e01b6001600160e01b03198316145b8061048557506301ffc9a760e01b6001600160e01b03198316145b92915050565b6002805461049890611293565b80601f01602080910402602001604051908101604052809291908181526020018280546104c490611293565b80156105115780601f106104e657610100808354040283529160200191610511565b820191906000526020600020905b8154815290600101906020018083116104f457829003601f168201915b505050505081565b6000818152600560205260409020546001600160a01b031633148061055b575060008181526005602052604090205461055b906001600160a01b031633610ab0565b6105805760405162461bcd60e51b8152600401610577906112cd565b60405180910390fd5b600081815260066020908152604080832080546001600160a01b0319166001600160a01b038781169182179092556005909352818420549151859492909116917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a45050565b6000818152600560205260409020546001600160a01b031633148061062257506000818152600660205260409020546001600160a01b031633145b8061064a575060008181526005602052604090205461064a906001600160a01b031633610ab0565b6106665760405162461bcd60e51b8152600401610577906112cd565b6000818152600560205260409020546001600160a01b038481169116146106e05760405162461bcd60e51b815260206004820152602860248201527f5468652066726f6d206164647265737320646f6573206e6f74206f776e20746860448201526734b9903a37b5b2b760c11b6064820152608401610577565b600081815260066020908152604080832080546001600160a01b0319908116909155600590925280832080546001600160a01b038781169190941681179091559051849391928716916000805160206114a783398151915291a4505050565b600080546040516001600160a01b039091169047908381818185875af1925050503d806000811461078c576040519150601f19603f3d011682016040523d82523d6000602084013e610791565b606091505b50509050806107f45760405162461bcd60e51b815260206004820152602960248201527f436f756c64206e6f74207472616e73666572206d6f6e657920746f20636f6e746044820152683930b1ba27bbb732b960b91b6064820152608401610577565b50565b6108028383836105e7565b505050565b6004805461049890611293565b6000546001600160a01b0316331461083e5760405162461bcd60e51b8152600401610577906112cd565b600155565b6000546001600160a01b0316331461086d5760405162461bcd60e51b8152600401610577906112cd565b8051610880906004906020840190610e68565b5050565b6003805461049890611293565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6109088585856105e7565b5050505050565b6060600461091c83610d3c565b60405160200161092d92919061130f565b6040516020818303038152906040529050919050565b6001600160a01b0383166109885760405162461bcd60e51b815260206004820152600c60248201526b139bc81c9958da5c1a595b9d60a21b6044820152606401610577565b6001543410156109ca5760405162461bcd60e51b815260206004820152600d60248201526c0a6cadcc840dadee4ca408aa89609b1b6044820152606401610577565b6000848152600560205260409020546001600160a01b031615610a235760405162461bcd60e51b8152602060048201526011602482015270494420616c726561647920696e2075736560781b6044820152606401610577565b60008481526005602052604080822080546001600160a01b0319166001600160a01b03871690811790915590518692906000805160206114a7833981519152908290a483336001600160a01b03167f85a66b9141978db9980f7e0ce3b468cebf4f7999f32b23091c5c03e798b1ba7a8484604051610aa29291906113b5565b60405180910390a350505050565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b336001600160a01b03841603610b365760405162461bcd60e51b815260206004820152601e60248201527f536f7272792c2063616e2774207265706c7920746f20796f757273656c6600006044820152606401610577565b6000848152600560205260409020546001600160a01b0316610b8d5760405162461bcd60e51b815260206004820152601060248201526f125108191bd95cdb89dd08195e1a5cdd60821b6044820152606401610577565b6000848152600560205260409020546001600160a01b0316331480610bc857506000848152600660205260409020546001600160a01b031633145b80610bf05750600084815260056020526040902054610bf0906001600160a01b031633610ab0565b610c3c5760405162461bcd60e51b815260206004820152601860248201527f4e6f7420796f7572206d65737361676520746f206275726e00000000000000006044820152606401610577565b60008481526005602052604080822080546001600160a01b0319166001600160a01b0387169081179091559051869291906000805160206114a7833981519152908390a460008481526005602052604080822054905186926001600160a01b0390921691906000805160206114a7833981519152908290a483336001600160a01b03167f85a66b9141978db9980f7e0ce3b468cebf4f7999f32b23091c5c03e798b1ba7a8484604051610aa29291906113b5565b6000546001600160a01b03163314610d1a5760405162461bcd60e51b8152600401610577906112cd565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b606081600003610d635750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610d8d5780610d77816113fa565b9150610d869050600a83611413565b9150610d67565b60008167ffffffffffffffff811115610da857610da861104b565b6040519080825280601f01601f191660200182016040528015610dd2576020820181803683370190505b509050815b8515610e5f57610de8600182611435565b90506000610df7600a88611413565b610e0290600a61144c565b610e0c9088611435565b610e1790603061146b565b905060008160f81b905080848481518110610e3457610e34611490565b60200101906001600160f81b031916908160001a905350610e56600a89611413565b97505050610dd7565b50949350505050565b828054610e7490611293565b90600052602060002090601f016020900481019282610e965760008555610edc565b82601f10610eaf57805160ff1916838001178555610edc565b82800160010185558215610edc579182015b82811115610edc578251825591602001919060010190610ec1565b50610ee8929150610eec565b5090565b5b80821115610ee85760008155600101610eed565b600060208284031215610f1357600080fd5b81356001600160e01b031981168114610f2b57600080fd5b9392505050565b60005b83811015610f4d578181015183820152602001610f35565b83811115610f5c576000848401525b50505050565b6020815260008251806020840152610f81816040850160208701610f32565b601f01601f19169190910160400192915050565b600060208284031215610fa757600080fd5b5035919050565b80356001600160a01b0381168114610fc557600080fd5b919050565b60008060408385031215610fdd57600080fd5b610fe683610fae565b946020939093013593505050565b60008060006060848603121561100957600080fd5b61101284610fae565b925061102060208501610fae565b9150604084013590509250925092565b60006020828403121561104257600080fd5b610f2b82610fae565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561107357600080fd5b813567ffffffffffffffff8082111561108b57600080fd5b818401915084601f83011261109f57600080fd5b8135818111156110b1576110b161104b565b604051601f8201601f19908116603f011681019083821181831017156110d9576110d961104b565b816040528281528760208487010111156110f257600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000806040838503121561112557600080fd5b61112e83610fae565b91506020830135801515811461114357600080fd5b809150509250929050565b60008083601f84011261116057600080fd5b50813567ffffffffffffffff81111561117857600080fd5b60208301915083602082850101111561119057600080fd5b9250929050565b6000806000806000608086880312156111af57600080fd5b6111b886610fae565b94506111c660208701610fae565b935060408601359250606086013567ffffffffffffffff8111156111e957600080fd5b6111f58882890161114e565b969995985093965092949392505050565b6000806000806060858703121561121c57600080fd5b8435935061122c60208601610fae565b9250604085013567ffffffffffffffff81111561124857600080fd5b6112548782880161114e565b95989497509550505050565b6000806040838503121561127357600080fd5b61127c83610fae565b915061128a60208401610fae565b90509250929050565b600181811c908216806112a757607f821691505b6020821081036112c757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600c908201526b155b985d5d1a1bdc9a5e995960a21b604082015260600190565b60008151611305818560208601610f32565b9290920192915050565b600080845481600182811c91508083168061132b57607f831692505b6020808410820361134a57634e487b7160e01b86526022600452602486fd5b81801561135e576001811461136f5761139c565b60ff1986168952848901965061139c565b60008b81526020902060005b868110156113945781548b82015290850190830161137b565b505084890196505b5050505050506113ac81856112f3565b95945050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052601160045260246000fd5b60006001820161140c5761140c6113e4565b5060010190565b60008261143057634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611447576114476113e4565b500390565b6000816000190483118215151615611466576114666113e4565b500290565b600060ff821660ff84168060ff03821115611488576114886113e4565b019392505050565b634e487b7160e01b600052603260045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122025a6713c9f0a30f2e1e1a951ef31b33ef1619e0f5c5d9155c526f250ee7a786964736f6c634300080e003368747470733a2f2f39616d746574753772312e657865637574652d6170692e75732d656173742d312e616d617a6f6e6177732e636f6d2f3f69643d

Deployed Bytecode

0x6080604052600436106101405760003560e01c80638d6cc56d116100b6578063b88d4fde1161006f578063b88d4fde14610386578063c87b56dd146103a6578063e67e402c146103c6578063e985e9c5146103d9578063ea78fffb146103f9578063f2fde38b1461041957600080fd5b80638d6cc56d146102de5780638da5cb5b146102fe578063931688cb1461031c57806395d89b411461033c578063a035b1fe14610351578063a22cb4651461036657600080fd5b806323b872dd1161010857806323b872dd1461022a5780633ccfd60b1461024a57806342842e0e146102525780636352211e146102725780636c0360eb146102a857806370a08231146102bd57600080fd5b806301ffc9a71461014557806306fdde031461017a578063081812fc1461019c578063095ea7b3146101ea57806318160ddd1461020c575b600080fd5b34801561015157600080fd5b50610165610160366004610f01565b610439565b60405190151581526020015b60405180910390f35b34801561018657600080fd5b5061018f61048b565b6040516101719190610f62565b3480156101a857600080fd5b506101d26101b7366004610f95565b6000908152600660205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610171565b3480156101f657600080fd5b5061020a610205366004610fca565b610519565b005b34801561021857600080fd5b5060015b604051908152602001610171565b34801561023657600080fd5b5061020a610245366004610ff4565b6105e7565b61020a61073f565b34801561025e57600080fd5b5061020a61026d366004610ff4565b6107f7565b34801561027e57600080fd5b506101d261028d366004610f95565b6000908152600560205260409020546001600160a01b031690565b3480156102b457600080fd5b5061018f610807565b3480156102c957600080fd5b5061021c6102d8366004611030565b50600090565b3480156102ea57600080fd5b5061020a6102f9366004610f95565b610814565b34801561030a57600080fd5b506000546001600160a01b03166101d2565b34801561032857600080fd5b5061020a610337366004611061565b610843565b34801561034857600080fd5b5061018f610884565b34801561035d57600080fd5b5060015461021c565b34801561037257600080fd5b5061020a610381366004611112565b610891565b34801561039257600080fd5b5061020a6103a1366004611197565b6108fd565b3480156103b257600080fd5b5061018f6103c1366004610f95565b61090f565b61020a6103d4366004611206565b610943565b3480156103e557600080fd5b506101656103f4366004611260565b610ab0565b34801561040557600080fd5b5061020a610414366004611206565b610ade565b34801561042557600080fd5b5061020a610434366004611030565b610cf0565b60006380ac58cd60e01b6001600160e01b03198316148061046a5750635b5e139f60e01b6001600160e01b03198316145b8061048557506301ffc9a760e01b6001600160e01b03198316145b92915050565b6002805461049890611293565b80601f01602080910402602001604051908101604052809291908181526020018280546104c490611293565b80156105115780601f106104e657610100808354040283529160200191610511565b820191906000526020600020905b8154815290600101906020018083116104f457829003601f168201915b505050505081565b6000818152600560205260409020546001600160a01b031633148061055b575060008181526005602052604090205461055b906001600160a01b031633610ab0565b6105805760405162461bcd60e51b8152600401610577906112cd565b60405180910390fd5b600081815260066020908152604080832080546001600160a01b0319166001600160a01b038781169182179092556005909352818420549151859492909116917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a45050565b6000818152600560205260409020546001600160a01b031633148061062257506000818152600660205260409020546001600160a01b031633145b8061064a575060008181526005602052604090205461064a906001600160a01b031633610ab0565b6106665760405162461bcd60e51b8152600401610577906112cd565b6000818152600560205260409020546001600160a01b038481169116146106e05760405162461bcd60e51b815260206004820152602860248201527f5468652066726f6d206164647265737320646f6573206e6f74206f776e20746860448201526734b9903a37b5b2b760c11b6064820152608401610577565b600081815260066020908152604080832080546001600160a01b0319908116909155600590925280832080546001600160a01b038781169190941681179091559051849391928716916000805160206114a783398151915291a4505050565b600080546040516001600160a01b039091169047908381818185875af1925050503d806000811461078c576040519150601f19603f3d011682016040523d82523d6000602084013e610791565b606091505b50509050806107f45760405162461bcd60e51b815260206004820152602960248201527f436f756c64206e6f74207472616e73666572206d6f6e657920746f20636f6e746044820152683930b1ba27bbb732b960b91b6064820152608401610577565b50565b6108028383836105e7565b505050565b6004805461049890611293565b6000546001600160a01b0316331461083e5760405162461bcd60e51b8152600401610577906112cd565b600155565b6000546001600160a01b0316331461086d5760405162461bcd60e51b8152600401610577906112cd565b8051610880906004906020840190610e68565b5050565b6003805461049890611293565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6109088585856105e7565b5050505050565b6060600461091c83610d3c565b60405160200161092d92919061130f565b6040516020818303038152906040529050919050565b6001600160a01b0383166109885760405162461bcd60e51b815260206004820152600c60248201526b139bc81c9958da5c1a595b9d60a21b6044820152606401610577565b6001543410156109ca5760405162461bcd60e51b815260206004820152600d60248201526c0a6cadcc840dadee4ca408aa89609b1b6044820152606401610577565b6000848152600560205260409020546001600160a01b031615610a235760405162461bcd60e51b8152602060048201526011602482015270494420616c726561647920696e2075736560781b6044820152606401610577565b60008481526005602052604080822080546001600160a01b0319166001600160a01b03871690811790915590518692906000805160206114a7833981519152908290a483336001600160a01b03167f85a66b9141978db9980f7e0ce3b468cebf4f7999f32b23091c5c03e798b1ba7a8484604051610aa29291906113b5565b60405180910390a350505050565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b336001600160a01b03841603610b365760405162461bcd60e51b815260206004820152601e60248201527f536f7272792c2063616e2774207265706c7920746f20796f757273656c6600006044820152606401610577565b6000848152600560205260409020546001600160a01b0316610b8d5760405162461bcd60e51b815260206004820152601060248201526f125108191bd95cdb89dd08195e1a5cdd60821b6044820152606401610577565b6000848152600560205260409020546001600160a01b0316331480610bc857506000848152600660205260409020546001600160a01b031633145b80610bf05750600084815260056020526040902054610bf0906001600160a01b031633610ab0565b610c3c5760405162461bcd60e51b815260206004820152601860248201527f4e6f7420796f7572206d65737361676520746f206275726e00000000000000006044820152606401610577565b60008481526005602052604080822080546001600160a01b0319166001600160a01b0387169081179091559051869291906000805160206114a7833981519152908390a460008481526005602052604080822054905186926001600160a01b0390921691906000805160206114a7833981519152908290a483336001600160a01b03167f85a66b9141978db9980f7e0ce3b468cebf4f7999f32b23091c5c03e798b1ba7a8484604051610aa29291906113b5565b6000546001600160a01b03163314610d1a5760405162461bcd60e51b8152600401610577906112cd565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b606081600003610d635750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610d8d5780610d77816113fa565b9150610d869050600a83611413565b9150610d67565b60008167ffffffffffffffff811115610da857610da861104b565b6040519080825280601f01601f191660200182016040528015610dd2576020820181803683370190505b509050815b8515610e5f57610de8600182611435565b90506000610df7600a88611413565b610e0290600a61144c565b610e0c9088611435565b610e1790603061146b565b905060008160f81b905080848481518110610e3457610e34611490565b60200101906001600160f81b031916908160001a905350610e56600a89611413565b97505050610dd7565b50949350505050565b828054610e7490611293565b90600052602060002090601f016020900481019282610e965760008555610edc565b82601f10610eaf57805160ff1916838001178555610edc565b82800160010185558215610edc579182015b82811115610edc578251825591602001919060010190610ec1565b50610ee8929150610eec565b5090565b5b80821115610ee85760008155600101610eed565b600060208284031215610f1357600080fd5b81356001600160e01b031981168114610f2b57600080fd5b9392505050565b60005b83811015610f4d578181015183820152602001610f35565b83811115610f5c576000848401525b50505050565b6020815260008251806020840152610f81816040850160208701610f32565b601f01601f19169190910160400192915050565b600060208284031215610fa757600080fd5b5035919050565b80356001600160a01b0381168114610fc557600080fd5b919050565b60008060408385031215610fdd57600080fd5b610fe683610fae565b946020939093013593505050565b60008060006060848603121561100957600080fd5b61101284610fae565b925061102060208501610fae565b9150604084013590509250925092565b60006020828403121561104257600080fd5b610f2b82610fae565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561107357600080fd5b813567ffffffffffffffff8082111561108b57600080fd5b818401915084601f83011261109f57600080fd5b8135818111156110b1576110b161104b565b604051601f8201601f19908116603f011681019083821181831017156110d9576110d961104b565b816040528281528760208487010111156110f257600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000806040838503121561112557600080fd5b61112e83610fae565b91506020830135801515811461114357600080fd5b809150509250929050565b60008083601f84011261116057600080fd5b50813567ffffffffffffffff81111561117857600080fd5b60208301915083602082850101111561119057600080fd5b9250929050565b6000806000806000608086880312156111af57600080fd5b6111b886610fae565b94506111c660208701610fae565b935060408601359250606086013567ffffffffffffffff8111156111e957600080fd5b6111f58882890161114e565b969995985093965092949392505050565b6000806000806060858703121561121c57600080fd5b8435935061122c60208601610fae565b9250604085013567ffffffffffffffff81111561124857600080fd5b6112548782880161114e565b95989497509550505050565b6000806040838503121561127357600080fd5b61127c83610fae565b915061128a60208401610fae565b90509250929050565b600181811c908216806112a757607f821691505b6020821081036112c757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600c908201526b155b985d5d1a1bdc9a5e995960a21b604082015260600190565b60008151611305818560208601610f32565b9290920192915050565b600080845481600182811c91508083168061132b57607f831692505b6020808410820361134a57634e487b7160e01b86526022600452602486fd5b81801561135e576001811461136f5761139c565b60ff1986168952848901965061139c565b60008b81526020902060005b868110156113945781548b82015290850190830161137b565b505084890196505b5050505050506113ac81856112f3565b95945050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052601160045260246000fd5b60006001820161140c5761140c6113e4565b5060010190565b60008261143057634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611447576114476113e4565b500390565b6000816000190483118215151615611466576114666113e4565b500290565b600060ff821660ff84168060ff03821115611488576114886113e4565b019392505050565b634e487b7160e01b600052603260045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122025a6713c9f0a30f2e1e1a951ef31b33ef1619e0f5c5d9155c526f250ee7a786964736f6c634300080e0033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.