ETH Price: $4,465.33 (-4.55%)

Contract

0x46b0EF8603fDA297f16Dc80742Af4796dD747fa5
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Bridge235291812025-10-07 23:31:591 hr ago1759879919IN
0x46b0EF86...6dD747fa5
0 ETH0.000003460.10695038
Bridge235291772025-10-07 23:31:111 hr ago1759879871IN
0x46b0EF86...6dD747fa5
0 ETH0.000009690.11352703
Bridge235280232025-10-07 19:39:475 hrs ago1759865987IN
0x46b0EF86...6dD747fa5
0 ETH0.000013430.41405514
Bridge235280192025-10-07 19:38:595 hrs ago1759865939IN
0x46b0EF86...6dD747fa5
0 ETH0.000036830.43140396
Bridge235277292025-10-07 18:40:356 hrs ago1759862435IN
0x46b0EF86...6dD747fa5
0 ETH0.000034111.05228
Bridge235277272025-10-07 18:40:116 hrs ago1759862411IN
0x46b0EF86...6dD747fa5
0 ETH0.000102060.99631824
Bridge235273452025-10-07 17:23:237 hrs ago1759857803IN
0x46b0EF86...6dD747fa5
0 ETH0.000047291.45614576
Bridge235273402025-10-07 17:22:237 hrs ago1759857743IN
0x46b0EF86...6dD747fa5
0 ETH0.000132991.55751508
Bridge235273382025-10-07 17:21:597 hrs ago1759857719IN
0x46b0EF86...6dD747fa5
0 ETH0.000051091.57317659
Bridge235273352025-10-07 17:21:237 hrs ago1759857683IN
0x46b0EF86...6dD747fa5
0 ETH0.000133031.55802487
Bridge235273332025-10-07 17:20:597 hrs ago1759857659IN
0x46b0EF86...6dD747fa5
0 ETH0.000052591.61929047
Bridge235273302025-10-07 17:20:237 hrs ago1759857623IN
0x46b0EF86...6dD747fa5
0 ETH0.00014051.64583405
Bridge235273222025-10-07 17:18:477 hrs ago1759857527IN
0x46b0EF86...6dD747fa5
0 ETH0.00005281.62725135
Bridge235273192025-10-07 17:18:117 hrs ago1759857491IN
0x46b0EF86...6dD747fa5
0 ETH0.000134991.58072744
Bridge235273162025-10-07 17:17:357 hrs ago1759857455IN
0x46b0EF86...6dD747fa5
0 ETH0.000052891.62843899
Bridge235273142025-10-07 17:17:117 hrs ago1759857431IN
0x46b0EF86...6dD747fa5
0 ETH0.000133241.56010476
Bridge235272932025-10-07 17:12:598 hrs ago1759857179IN
0x46b0EF86...6dD747fa5
0 ETH0.000205252.00225172
Bridge235272922025-10-07 17:12:478 hrs ago1759857167IN
0x46b0EF86...6dD747fa5
0 ETH0.000065322.01116824
Bridge235272912025-10-07 17:12:358 hrs ago1759857155IN
0x46b0EF86...6dD747fa5
0 ETH0.000197871.93072065
Bridge235223672025-10-07 0:41:1124 hrs ago1759797671IN
0x46b0EF86...6dD747fa5
0 ETH0.000017810.17378752
Bridge235222862025-10-07 0:24:4724 hrs ago1759796687IN
0x46b0EF86...6dD747fa5
0 ETH0.000005630.17381601
Bridge235222832025-10-07 0:24:1124 hrs ago1759796651IN
0x46b0EF86...6dD747fa5
0 ETH0.000015050.17635878
Bridge235215432025-10-06 21:55:3527 hrs ago1759787735IN
0x46b0EF86...6dD747fa5
0 ETH0.000033360.32568225
Bridge235207972025-10-06 19:25:2329 hrs ago1759778723IN
0x46b0EF86...6dD747fa5
0 ETH0.000112551.09830058
Bridge235180792025-10-06 10:17:3538 hrs ago1759745855IN
0x46b0EF86...6dD747fa5
0 ETH0.000003830.11833173
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Mint235291772025-10-07 23:31:111 hr ago1759879871
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235291772025-10-07 23:31:111 hr ago1759879871
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235291772025-10-07 23:31:111 hr ago1759879871
0x46b0EF86...6dD747fa5
0 ETH
Mint235280192025-10-07 19:38:595 hrs ago1759865939
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235280192025-10-07 19:38:595 hrs ago1759865939
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235280192025-10-07 19:38:595 hrs ago1759865939
0x46b0EF86...6dD747fa5
0 ETH
Mint235277272025-10-07 18:40:116 hrs ago1759862411
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235277272025-10-07 18:40:116 hrs ago1759862411
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235277272025-10-07 18:40:116 hrs ago1759862411
0x46b0EF86...6dD747fa5
0 ETH
Mint235273402025-10-07 17:22:237 hrs ago1759857743
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235273402025-10-07 17:22:237 hrs ago1759857743
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235273402025-10-07 17:22:237 hrs ago1759857743
0x46b0EF86...6dD747fa5
0 ETH
Mint235273352025-10-07 17:21:237 hrs ago1759857683
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235273352025-10-07 17:21:237 hrs ago1759857683
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235273352025-10-07 17:21:237 hrs ago1759857683
0x46b0EF86...6dD747fa5
0 ETH
Mint235273302025-10-07 17:20:237 hrs ago1759857623
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235273302025-10-07 17:20:237 hrs ago1759857623
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235273302025-10-07 17:20:237 hrs ago1759857623
0x46b0EF86...6dD747fa5
0 ETH
Mint235273192025-10-07 17:18:117 hrs ago1759857491
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235273192025-10-07 17:18:117 hrs ago1759857491
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235273192025-10-07 17:18:117 hrs ago1759857491
0x46b0EF86...6dD747fa5
0 ETH
Mint235273142025-10-07 17:17:117 hrs ago1759857431
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235273142025-10-07 17:17:117 hrs ago1759857431
0x46b0EF86...6dD747fa5
0 ETH
Transfer*235273142025-10-07 17:17:117 hrs ago1759857431
0x46b0EF86...6dD747fa5
0 ETH
Mint235272932025-10-07 17:12:598 hrs ago1759857179
0x46b0EF86...6dD747fa5
0 ETH
View All Internal Transactions
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x0111a121...580368cE5
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
BridgeMinterTimeLock

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;

interface ERC20 {
    function transferOwnership(address _newOwner) external;
    function acceptOwnership() external;
    function totalSupply() external view returns (uint);
    function mint(address to, uint256 value) external;
}

contract BridgeMinterTimeLock {

    // Declare the immutable variables at the contract level
    address public immutable approver;
    address public immutable notary;
    ERC20 public immutable tokenAddress;
    uint256 public immutable chainId;
    bytes32 public immutable domainSeparator;

    address public owner;
    bool private bridging;
    address public pendingOwner;
    address public erc20PendingOwner;
    uint public ownershipTransferInitiatedAt;
    uint public erc20OwnershipTransferInitiatedAt;
    uint constant TRANSFER_DELAY = 48 hours;
    bool public notaryApprove;
    bool public approverApprove;

    mapping(bytes32 => bool) private nonces;

    event Bridged(address  receiver, uint256 amount);
    event TransferOwnership(address indexed owner, bool indexed confirmed);


    constructor(
        address _owner,
        address _approver,
        address _notary,
        address _tokenContractAddress,
        uint256 _chainId
    ) {
        require(_owner != address(0), "Invalid owner");
        require(_approver != address(0), "Invalid approver");
        require(_notary != address(0), "Invalid notary");
        require(_tokenContractAddress != address(0), "Invalid token contract address");

        owner = _owner;
        approver = _approver;
        notary = _notary;
        tokenAddress = ERC20(_tokenContractAddress);
        chainId = _chainId;

        domainSeparator = keccak256(
            abi.encode(
                keccak256("EIP712Domain(string name,string version,uint256 chainId)"),
                keccak256("Neptune Bridge"),
                keccak256("0.0.1"),
                _chainId
            )
        );
    }

    // Function to initiate ownership transfer
    function initiateTransferOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != address(0), "New owner cannot be zero address");
        require(_newOwner != owner, "New owner is already the current owner");
        pendingOwner = _newOwner;
        ownershipTransferInitiatedAt = block.timestamp;
    }

    // Function to finalize ownership transfer after 48 hours
    function finalizeTransferOwnership() public {
        require(msg.sender == pendingOwner, "Only pending owner can finalize ownership transfer");
        require(block.timestamp >= ownershipTransferInitiatedAt + TRANSFER_DELAY, "Must wait 48 hours to confirm transfer.");
        owner = pendingOwner;
        pendingOwner = address(0);
        emit TransferOwnership(owner, true); // Emit an event to log the ownership transfer
}

    modifier onlyOwner() {
        require(msg.sender == owner, "Only owner can call this function");
        _;
    }

    // Function to initiate token ownership transfer
    function initiateTransferTokenOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != address(0), "New owner cannot be zero address");
        erc20OwnershipTransferInitiatedAt = block.timestamp;
        erc20PendingOwner = _newOwner;
    }

    // Function to finalize token ownership transfer after 48 hours
    function completeTransferTokenOwnership() public onlyOwner { 
        require(block.timestamp >= erc20OwnershipTransferInitiatedAt + TRANSFER_DELAY, "Must wait 48 hours to confirm transfer.");
        tokenAddress.transferOwnership(erc20PendingOwner);
        emit TransferOwnership(erc20PendingOwner, true); // Emit an event to log the token ownership transfer
    }

    function acceptTokenOwnership() public {
        tokenAddress.acceptOwnership();
    }

    modifier checkNonce(bytes32 nonce) {
        require(nonces[nonce]==false); // dev: already processed
        _;
    }

    function bridge(address sender, uint256 bridgedAmount, bytes32 nonce, bytes32 messageHash, bytes calldata approvedMessage, bytes calldata notarizedMessage)
    external checkNonce(nonce) {
        require(bridging == false, "Re-entrancy guard triggered: bridging already in progress"); // Re-entrancy guard
        bridging = true;

        bytes32 hashToVerify = keccak256(
            abi.encode(keccak256("SignedMessage(bytes32 key,address sender,uint256 amount)"), nonce, sender, bridgedAmount)
        );

        require(checkEncoding(approvedMessage, messageHash, hashToVerify, approver), "Invalid signature from approver"); // Check approver's signature
        require(checkEncoding(notarizedMessage, messageHash, hashToVerify, notary), "Invalid signature from notary"); // Check notary's signature
        nonces[nonce]=true;

        ERC20(tokenAddress).mint(sender, bridgedAmount);

        emit Bridged(sender, bridgedAmount);
        bridging = false;
    }


    function checkEncoding(bytes memory signedMessage,bytes32 messageHash, bytes32 hashToVerify, address signer) 
    internal view returns(bool){

        bytes32 domainSeparatorHash = keccak256(abi.encodePacked("\x19\x01", domainSeparator, hashToVerify));
        require(messageHash == domainSeparatorHash); //dev: values do not match

        return signer == recoverSigner(messageHash, signedMessage);
    }

    function splitSignature(bytes memory sig)
    internal pure returns (uint8 v, bytes32 r, bytes32 s){
        require(sig.length == 65); // dev: signature invalid

        assembly {
            // first 32 bytes, after the length prefix.
            r := mload(add(sig, 32))
            // second 32 bytes.
            s := mload(add(sig, 64))
            // final byte (first byte of the next 32 bytes).
            v := byte(0, mload(add(sig, 96)))
        }

        return (v, r, s);
    }

    function recoverSigner(bytes32 message, bytes memory sig)
    internal pure returns (address){
        uint8 v;
        bytes32 r;
        bytes32 s;

        (v, r, s) = splitSignature(sig);

        return tryRecover(message, v, r, s);
    }

    function tryRecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s)
    internal 
    pure 
    returns (address) {
        if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {
            return address(0);
        } else if (v != 27 && v != 28) {
            return address(0);
        }

        // If the signature is valid (and not malleable), return the signer address
        address signer = ecrecover(hash, v, r, s);
        if (signer == address(0)) {
            return address(0);
        }

        return signer;
    }
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_approver","type":"address"},{"internalType":"address","name":"_notary","type":"address"},{"internalType":"address","name":"_tokenContractAddress","type":"address"},{"internalType":"uint256","name":"_chainId","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Bridged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"bool","name":"confirmed","type":"bool"}],"name":"TransferOwnership","type":"event"},{"inputs":[],"name":"acceptTokenOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"approver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"approverApprove","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"bridgedAmount","type":"uint256"},{"internalType":"bytes32","name":"nonce","type":"bytes32"},{"internalType":"bytes32","name":"messageHash","type":"bytes32"},{"internalType":"bytes","name":"approvedMessage","type":"bytes"},{"internalType":"bytes","name":"notarizedMessage","type":"bytes"}],"name":"bridge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"chainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"completeTransferTokenOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"domainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"erc20OwnershipTransferInitiatedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"erc20PendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalizeTransferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"initiateTransferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"initiateTransferTokenOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"notary","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"notaryApprove","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownershipTransferInitiatedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenAddress","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

0x6101206040523480156200001257600080fd5b50604051620022563803806200225683398181016040528101906200003891906200042b565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603620000aa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a19062000514565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036200011c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001139062000586565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200018e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200018590620005f8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000200576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001f7906200066a565b60405180910390fd5b846000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508060e081815250507fc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e7fbf362ddb5d91b26633f508c4b8932aac8d6bcea5c25f6f1724c15e83952116d77fae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885836040516020016200035d9493929190620006b8565b604051602081830303815290604052805190602001206101008181525050505050505062000705565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003b8826200038b565b9050919050565b620003ca81620003ab565b8114620003d657600080fd5b50565b600081519050620003ea81620003bf565b92915050565b6000819050919050565b6200040581620003f0565b81146200041157600080fd5b50565b6000815190506200042581620003fa565b92915050565b600080600080600060a086880312156200044a576200044962000386565b5b60006200045a88828901620003d9565b95505060206200046d88828901620003d9565b94505060406200048088828901620003d9565b93505060606200049388828901620003d9565b9250506080620004a68882890162000414565b9150509295509295909350565b600082825260208201905092915050565b7f496e76616c6964206f776e657200000000000000000000000000000000000000600082015250565b6000620004fc600d83620004b3565b91506200050982620004c4565b602082019050919050565b600060208201905081810360008301526200052f81620004ed565b9050919050565b7f496e76616c696420617070726f76657200000000000000000000000000000000600082015250565b60006200056e601083620004b3565b91506200057b8262000536565b602082019050919050565b60006020820190508181036000830152620005a1816200055f565b9050919050565b7f496e76616c6964206e6f74617279000000000000000000000000000000000000600082015250565b6000620005e0600e83620004b3565b9150620005ed82620005a8565b602082019050919050565b600060208201905081810360008301526200061381620005d1565b9050919050565b7f496e76616c696420746f6b656e20636f6e747261637420616464726573730000600082015250565b600062000652601e83620004b3565b91506200065f826200061a565b602082019050919050565b60006020820190508181036000830152620006858162000643565b9050919050565b6000819050919050565b620006a1816200068c565b82525050565b620006b281620003f0565b82525050565b6000608082019050620006cf600083018762000696565b620006de602083018662000696565b620006ed604083018562000696565b620006fc6060830184620006a7565b95945050505050565b60805160a05160c05160e05161010051611ae26200077460003960008181610f1c0152610f43015260006108e40152600081816104fd015281816107a801528181610b420152610de4015260008181610b1e0152610d530152600081816104cd0152610ca40152611ae26000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80639c0ced83116100a25780639e07f0db116100715780639e07f0db14610261578063b46324471461027d578063be027e8b1461029b578063e30c3978146102b9578063f698da25146102d757610116565b80639c0ced83146101fd5780639d1d6b8a1461021b5780639d54c79d146102255780639d76ea581461024357610116565b806338a5e016116100e957806338a5e016146101915780635024f4891461019b5780637298bdf7146101b75780638da5cb5b146101c15780639a8a0592146101df57610116565b8063080fec241461011b578063141a8dd81461013757806316b926461461015557806338184dc314610173575b600080fd5b610135600480360381019061013091906111a1565b6102f5565b005b61013f6104cb565b60405161014c91906111dd565b60405180910390f35b61015d6104ef565b60405161016a9190611211565b60405180910390f35b61017b6104f5565b6040516101889190611211565b60405180910390f35b6101996104fb565b005b6101b560048036038101906101b091906111a1565b61057d565b005b6101bf6106c5565b005b6101c96108be565b6040516101d691906111dd565b60405180910390f35b6101e76108e2565b6040516101f49190611211565b60405180910390f35b610205610906565b60405161021291906111dd565b60405180910390f35b61022361092c565b005b61022d610b1c565b60405161023a91906111dd565b60405180910390f35b61024b610b40565b604051610258919061128b565b60405180910390f35b61027b6004803603810190610276919061136d565b610b64565b005b610285610ece565b6040516102929190611457565b60405180910390f35b6102a3610ee1565b6040516102b09190611457565b60405180910390f35b6102c1610ef4565b6040516102ce91906111dd565b60405180910390f35b6102df610f1a565b6040516102ec9190611481565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037a9061151f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e99061158b565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610480576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104779061161d565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260038190555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60035481565b60045481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166379ba50976040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561056357600080fd5b505af1158015610577573d6000803e3d6000fd5b50505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461060b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106029061151f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361067a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106719061158b565b60405180910390fd5b4260048190555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074a9061151f565b60405180910390fd5b6202a300600454610764919061166c565b4210156107a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079d90611712565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161082191906111dd565b600060405180830381600087803b15801561083b57600080fd5b505af115801561084f573d6000803e3d6000fd5b5050505060011515600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcbe2aa772079086290469c944126fdc8e1438a556b92ebdb5044506435217f0460405160405180910390a3565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b3906117a4565b60405180910390fd5b6202a3006003546109cd919061166c565b421015610a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0690611712565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001151560008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcbe2aa772079086290469c944126fdc8e1438a556b92ebdb5044506435217f0460405160405180910390a3565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b85600015156006600083815260200190815260200160002060009054906101000a900460ff16151514610b9657600080fd5b60001515600060149054906101000a900460ff16151514610bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be390611836565b60405180910390fd5b6001600060146101000a81548160ff02191690831515021790555060007f3c1316138cd3c347ee70454f6b80926b84604f3f07629dbed9845a8c06cc9ea3888b8b604051602001610c409493929190611856565b604051602081830303815290604052805190602001209050610cc886868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505088837f0000000000000000000000000000000000000000000000000000000000000000610f3e565b610d07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfe906118e7565b60405180910390fd5b610d7784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505088837f0000000000000000000000000000000000000000000000000000000000000000610f3e565b610db6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dad90611953565b60405180910390fd5b6001600660008a815260200190815260200160002060006101000a81548160ff0219169083151502179055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340c10f198b8b6040518363ffffffff1660e01b8152600401610e3d929190611973565b600060405180830381600087803b158015610e5757600080fd5b505af1158015610e6b573d6000803e3d6000fd5b505050507f48b87fc02925b37a6aefac60c14fa9d8e9988d7dfadf262d4bd845872ca407308a8a604051610ea0929190611973565b60405180910390a160008060146101000a81548160ff02191690831515021790555050505050505050505050565b600560019054906101000a900460ff1681565b600560009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000084604051602001610f74929190611a14565b604051602081830303815290604052805190602001209050808514610f9857600080fd5b610fa28587610fdb565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614915050949350505050565b600080600080610fea8561100d565b8093508194508295505050506110028684848461103f565b935050505092915050565b6000806000604184511461102057600080fd5b6020840151915060408401519050606084015160001a92509193909250565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c11156110755760009050611131565b601b8460ff161415801561108d5750601c8460ff1614155b1561109b5760009050611131565b6000600186868686604051600081526020016040526040516110c09493929190611a67565b6020604051602081039080840390855afa1580156110e2573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361112c576000915050611131565b809150505b949350505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061116e82611143565b9050919050565b61117e81611163565b811461118957600080fd5b50565b60008135905061119b81611175565b92915050565b6000602082840312156111b7576111b6611139565b5b60006111c58482850161118c565b91505092915050565b6111d781611163565b82525050565b60006020820190506111f260008301846111ce565b92915050565b6000819050919050565b61120b816111f8565b82525050565b60006020820190506112266000830184611202565b92915050565b6000819050919050565b600061125161124c61124784611143565b61122c565b611143565b9050919050565b600061126382611236565b9050919050565b600061127582611258565b9050919050565b6112858161126a565b82525050565b60006020820190506112a0600083018461127c565b92915050565b6112af816111f8565b81146112ba57600080fd5b50565b6000813590506112cc816112a6565b92915050565b6000819050919050565b6112e5816112d2565b81146112f057600080fd5b50565b600081359050611302816112dc565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261132d5761132c611308565b5b8235905067ffffffffffffffff81111561134a5761134961130d565b5b60208301915083600182028301111561136657611365611312565b5b9250929050565b60008060008060008060008060c0898b03121561138d5761138c611139565b5b600061139b8b828c0161118c565b98505060206113ac8b828c016112bd565b97505060406113bd8b828c016112f3565b96505060606113ce8b828c016112f3565b955050608089013567ffffffffffffffff8111156113ef576113ee61113e565b5b6113fb8b828c01611317565b945094505060a089013567ffffffffffffffff81111561141e5761141d61113e565b5b61142a8b828c01611317565b92509250509295985092959890939650565b60008115159050919050565b6114518161143c565b82525050565b600060208201905061146c6000830184611448565b92915050565b61147b816112d2565b82525050565b60006020820190506114966000830184611472565b92915050565b600082825260208201905092915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f60008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b600061150960218361149c565b9150611514826114ad565b604082019050919050565b60006020820190508181036000830152611538816114fc565b9050919050565b7f4e6577206f776e65722063616e6e6f74206265207a65726f2061646472657373600082015250565b600061157560208361149c565b91506115808261153f565b602082019050919050565b600060208201905081810360008301526115a481611568565b9050919050565b7f4e6577206f776e657220697320616c7265616479207468652063757272656e7460008201527f206f776e65720000000000000000000000000000000000000000000000000000602082015250565b600061160760268361149c565b9150611612826115ab565b604082019050919050565b60006020820190508181036000830152611636816115fa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611677826111f8565b9150611682836111f8565b925082820190508082111561169a5761169961163d565b5b92915050565b7f4d757374207761697420343820686f75727320746f20636f6e6669726d20747260008201527f616e736665722e00000000000000000000000000000000000000000000000000602082015250565b60006116fc60278361149c565b9150611707826116a0565b604082019050919050565b6000602082019050818103600083015261172b816116ef565b9050919050565b7f4f6e6c792070656e64696e67206f776e65722063616e2066696e616c697a652060008201527f6f776e657273686970207472616e736665720000000000000000000000000000602082015250565b600061178e60328361149c565b915061179982611732565b604082019050919050565b600060208201905081810360008301526117bd81611781565b9050919050565b7f52652d656e7472616e6379206775617264207472696767657265643a2062726960008201527f6467696e6720616c726561647920696e2070726f677265737300000000000000602082015250565b600061182060398361149c565b915061182b826117c4565b604082019050919050565b6000602082019050818103600083015261184f81611813565b9050919050565b600060808201905061186b6000830187611472565b6118786020830186611472565b61188560408301856111ce565b6118926060830184611202565b95945050505050565b7f496e76616c6964207369676e61747572652066726f6d20617070726f76657200600082015250565b60006118d1601f8361149c565b91506118dc8261189b565b602082019050919050565b60006020820190508181036000830152611900816118c4565b9050919050565b7f496e76616c6964207369676e61747572652066726f6d206e6f74617279000000600082015250565b600061193d601d8361149c565b915061194882611907565b602082019050919050565b6000602082019050818103600083015261196c81611930565b9050919050565b600060408201905061198860008301856111ce565b6119956020830184611202565b9392505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006119dd60028361199c565b91506119e8826119a7565b600282019050919050565b6000819050919050565b611a0e611a09826112d2565b6119f3565b82525050565b6000611a1f826119d0565b9150611a2b82856119fd565b602082019150611a3b82846119fd565b6020820191508190509392505050565b600060ff82169050919050565b611a6181611a4b565b82525050565b6000608082019050611a7c6000830187611472565b611a896020830186611a58565b611a966040830185611472565b611aa36060830184611472565b9594505050505056fea26469706673582212207d3511c409a0fbdd34c23b02d830b41f44dd0362028dd1c55a667861951f203e64736f6c63430008120033000000000000000000000000febc542a0705bd51d82be9458d9c24fd27605bed0000000000000000000000006f8d8a8af3754917e3791ad9225e5594e9a573b00000000000000000000000006ca0e2383862478beec26e62c636caf731db9e9900000000000000000000000019640000000ba88d36206beb10d0e86011c8d08c00000000000000000000000000000000000000000000000000000000000007ac

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101165760003560e01c80639c0ced83116100a25780639e07f0db116100715780639e07f0db14610261578063b46324471461027d578063be027e8b1461029b578063e30c3978146102b9578063f698da25146102d757610116565b80639c0ced83146101fd5780639d1d6b8a1461021b5780639d54c79d146102255780639d76ea581461024357610116565b806338a5e016116100e957806338a5e016146101915780635024f4891461019b5780637298bdf7146101b75780638da5cb5b146101c15780639a8a0592146101df57610116565b8063080fec241461011b578063141a8dd81461013757806316b926461461015557806338184dc314610173575b600080fd5b610135600480360381019061013091906111a1565b6102f5565b005b61013f6104cb565b60405161014c91906111dd565b60405180910390f35b61015d6104ef565b60405161016a9190611211565b60405180910390f35b61017b6104f5565b6040516101889190611211565b60405180910390f35b6101996104fb565b005b6101b560048036038101906101b091906111a1565b61057d565b005b6101bf6106c5565b005b6101c96108be565b6040516101d691906111dd565b60405180910390f35b6101e76108e2565b6040516101f49190611211565b60405180910390f35b610205610906565b60405161021291906111dd565b60405180910390f35b61022361092c565b005b61022d610b1c565b60405161023a91906111dd565b60405180910390f35b61024b610b40565b604051610258919061128b565b60405180910390f35b61027b6004803603810190610276919061136d565b610b64565b005b610285610ece565b6040516102929190611457565b60405180910390f35b6102a3610ee1565b6040516102b09190611457565b60405180910390f35b6102c1610ef4565b6040516102ce91906111dd565b60405180910390f35b6102df610f1a565b6040516102ec9190611481565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037a9061151f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e99061158b565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610480576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104779061161d565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260038190555050565b7f0000000000000000000000006f8d8a8af3754917e3791ad9225e5594e9a573b081565b60035481565b60045481565b7f00000000000000000000000019640000000ba88d36206beb10d0e86011c8d08c73ffffffffffffffffffffffffffffffffffffffff166379ba50976040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561056357600080fd5b505af1158015610577573d6000803e3d6000fd5b50505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461060b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106029061151f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361067a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106719061158b565b60405180910390fd5b4260048190555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074a9061151f565b60405180910390fd5b6202a300600454610764919061166c565b4210156107a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079d90611712565b60405180910390fd5b7f00000000000000000000000019640000000ba88d36206beb10d0e86011c8d08c73ffffffffffffffffffffffffffffffffffffffff1663f2fde38b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161082191906111dd565b600060405180830381600087803b15801561083b57600080fd5b505af115801561084f573d6000803e3d6000fd5b5050505060011515600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcbe2aa772079086290469c944126fdc8e1438a556b92ebdb5044506435217f0460405160405180910390a3565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f00000000000000000000000000000000000000000000000000000000000007ac81565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b3906117a4565b60405180910390fd5b6202a3006003546109cd919061166c565b421015610a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0690611712565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001151560008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcbe2aa772079086290469c944126fdc8e1438a556b92ebdb5044506435217f0460405160405180910390a3565b7f0000000000000000000000006ca0e2383862478beec26e62c636caf731db9e9981565b7f00000000000000000000000019640000000ba88d36206beb10d0e86011c8d08c81565b85600015156006600083815260200190815260200160002060009054906101000a900460ff16151514610b9657600080fd5b60001515600060149054906101000a900460ff16151514610bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be390611836565b60405180910390fd5b6001600060146101000a81548160ff02191690831515021790555060007f3c1316138cd3c347ee70454f6b80926b84604f3f07629dbed9845a8c06cc9ea3888b8b604051602001610c409493929190611856565b604051602081830303815290604052805190602001209050610cc886868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505088837f0000000000000000000000006f8d8a8af3754917e3791ad9225e5594e9a573b0610f3e565b610d07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfe906118e7565b60405180910390fd5b610d7784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505088837f0000000000000000000000006ca0e2383862478beec26e62c636caf731db9e99610f3e565b610db6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dad90611953565b60405180910390fd5b6001600660008a815260200190815260200160002060006101000a81548160ff0219169083151502179055507f00000000000000000000000019640000000ba88d36206beb10d0e86011c8d08c73ffffffffffffffffffffffffffffffffffffffff166340c10f198b8b6040518363ffffffff1660e01b8152600401610e3d929190611973565b600060405180830381600087803b158015610e5757600080fd5b505af1158015610e6b573d6000803e3d6000fd5b505050507f48b87fc02925b37a6aefac60c14fa9d8e9988d7dfadf262d4bd845872ca407308a8a604051610ea0929190611973565b60405180910390a160008060146101000a81548160ff02191690831515021790555050505050505050505050565b600560019054906101000a900460ff1681565b600560009054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f33403dbe924c5f6f05557d1013b29b87926302d73d848e68e69668afdafc1bb981565b6000807f33403dbe924c5f6f05557d1013b29b87926302d73d848e68e69668afdafc1bb984604051602001610f74929190611a14565b604051602081830303815290604052805190602001209050808514610f9857600080fd5b610fa28587610fdb565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614915050949350505050565b600080600080610fea8561100d565b8093508194508295505050506110028684848461103f565b935050505092915050565b6000806000604184511461102057600080fd5b6020840151915060408401519050606084015160001a92509193909250565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c11156110755760009050611131565b601b8460ff161415801561108d5750601c8460ff1614155b1561109b5760009050611131565b6000600186868686604051600081526020016040526040516110c09493929190611a67565b6020604051602081039080840390855afa1580156110e2573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361112c576000915050611131565b809150505b949350505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061116e82611143565b9050919050565b61117e81611163565b811461118957600080fd5b50565b60008135905061119b81611175565b92915050565b6000602082840312156111b7576111b6611139565b5b60006111c58482850161118c565b91505092915050565b6111d781611163565b82525050565b60006020820190506111f260008301846111ce565b92915050565b6000819050919050565b61120b816111f8565b82525050565b60006020820190506112266000830184611202565b92915050565b6000819050919050565b600061125161124c61124784611143565b61122c565b611143565b9050919050565b600061126382611236565b9050919050565b600061127582611258565b9050919050565b6112858161126a565b82525050565b60006020820190506112a0600083018461127c565b92915050565b6112af816111f8565b81146112ba57600080fd5b50565b6000813590506112cc816112a6565b92915050565b6000819050919050565b6112e5816112d2565b81146112f057600080fd5b50565b600081359050611302816112dc565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261132d5761132c611308565b5b8235905067ffffffffffffffff81111561134a5761134961130d565b5b60208301915083600182028301111561136657611365611312565b5b9250929050565b60008060008060008060008060c0898b03121561138d5761138c611139565b5b600061139b8b828c0161118c565b98505060206113ac8b828c016112bd565b97505060406113bd8b828c016112f3565b96505060606113ce8b828c016112f3565b955050608089013567ffffffffffffffff8111156113ef576113ee61113e565b5b6113fb8b828c01611317565b945094505060a089013567ffffffffffffffff81111561141e5761141d61113e565b5b61142a8b828c01611317565b92509250509295985092959890939650565b60008115159050919050565b6114518161143c565b82525050565b600060208201905061146c6000830184611448565b92915050565b61147b816112d2565b82525050565b60006020820190506114966000830184611472565b92915050565b600082825260208201905092915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f60008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b600061150960218361149c565b9150611514826114ad565b604082019050919050565b60006020820190508181036000830152611538816114fc565b9050919050565b7f4e6577206f776e65722063616e6e6f74206265207a65726f2061646472657373600082015250565b600061157560208361149c565b91506115808261153f565b602082019050919050565b600060208201905081810360008301526115a481611568565b9050919050565b7f4e6577206f776e657220697320616c7265616479207468652063757272656e7460008201527f206f776e65720000000000000000000000000000000000000000000000000000602082015250565b600061160760268361149c565b9150611612826115ab565b604082019050919050565b60006020820190508181036000830152611636816115fa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611677826111f8565b9150611682836111f8565b925082820190508082111561169a5761169961163d565b5b92915050565b7f4d757374207761697420343820686f75727320746f20636f6e6669726d20747260008201527f616e736665722e00000000000000000000000000000000000000000000000000602082015250565b60006116fc60278361149c565b9150611707826116a0565b604082019050919050565b6000602082019050818103600083015261172b816116ef565b9050919050565b7f4f6e6c792070656e64696e67206f776e65722063616e2066696e616c697a652060008201527f6f776e657273686970207472616e736665720000000000000000000000000000602082015250565b600061178e60328361149c565b915061179982611732565b604082019050919050565b600060208201905081810360008301526117bd81611781565b9050919050565b7f52652d656e7472616e6379206775617264207472696767657265643a2062726960008201527f6467696e6720616c726561647920696e2070726f677265737300000000000000602082015250565b600061182060398361149c565b915061182b826117c4565b604082019050919050565b6000602082019050818103600083015261184f81611813565b9050919050565b600060808201905061186b6000830187611472565b6118786020830186611472565b61188560408301856111ce565b6118926060830184611202565b95945050505050565b7f496e76616c6964207369676e61747572652066726f6d20617070726f76657200600082015250565b60006118d1601f8361149c565b91506118dc8261189b565b602082019050919050565b60006020820190508181036000830152611900816118c4565b9050919050565b7f496e76616c6964207369676e61747572652066726f6d206e6f74617279000000600082015250565b600061193d601d8361149c565b915061194882611907565b602082019050919050565b6000602082019050818103600083015261196c81611930565b9050919050565b600060408201905061198860008301856111ce565b6119956020830184611202565b9392505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006119dd60028361199c565b91506119e8826119a7565b600282019050919050565b6000819050919050565b611a0e611a09826112d2565b6119f3565b82525050565b6000611a1f826119d0565b9150611a2b82856119fd565b602082019150611a3b82846119fd565b6020820191508190509392505050565b600060ff82169050919050565b611a6181611a4b565b82525050565b6000608082019050611a7c6000830187611472565b611a896020830186611a58565b611a966040830185611472565b611aa36060830184611472565b9594505050505056fea26469706673582212207d3511c409a0fbdd34c23b02d830b41f44dd0362028dd1c55a667861951f203e64736f6c63430008120033

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.