ETH Price: $4,485.55 (-5.08%)

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
Bridge235277292025-10-07 18:40:3532 mins ago1759862435IN
0x46b0EF86...6dD747fa5
0 ETH0.000034111.05228
Bridge235277272025-10-07 18:40:1133 mins ago1759862411IN
0x46b0EF86...6dD747fa5
0 ETH0.000102060.99631824
Bridge235273452025-10-07 17:23:231 hr ago1759857803IN
0x46b0EF86...6dD747fa5
0 ETH0.000047291.45614576
Bridge235273402025-10-07 17:22:231 hr ago1759857743IN
0x46b0EF86...6dD747fa5
0 ETH0.000132991.55751508
Bridge235273382025-10-07 17:21:591 hr ago1759857719IN
0x46b0EF86...6dD747fa5
0 ETH0.000051091.57317659
Bridge235273352025-10-07 17:21:231 hr ago1759857683IN
0x46b0EF86...6dD747fa5
0 ETH0.000133031.55802487
Bridge235273332025-10-07 17:20:591 hr ago1759857659IN
0x46b0EF86...6dD747fa5
0 ETH0.000052591.61929047
Bridge235273302025-10-07 17:20:231 hr ago1759857623IN
0x46b0EF86...6dD747fa5
0 ETH0.00014051.64583405
Bridge235273222025-10-07 17:18:471 hr ago1759857527IN
0x46b0EF86...6dD747fa5
0 ETH0.00005281.62725135
Bridge235273192025-10-07 17:18:111 hr ago1759857491IN
0x46b0EF86...6dD747fa5
0 ETH0.000134991.58072744
Bridge235273162025-10-07 17:17:351 hr ago1759857455IN
0x46b0EF86...6dD747fa5
0 ETH0.000052891.62843899
Bridge235273142025-10-07 17:17:111 hr ago1759857431IN
0x46b0EF86...6dD747fa5
0 ETH0.000133241.56010476
Bridge235272932025-10-07 17:12:592 hrs ago1759857179IN
0x46b0EF86...6dD747fa5
0 ETH0.000205252.00225172
Bridge235272922025-10-07 17:12:472 hrs ago1759857167IN
0x46b0EF86...6dD747fa5
0 ETH0.000065322.01116824
Bridge235272912025-10-07 17:12:352 hrs ago1759857155IN
0x46b0EF86...6dD747fa5
0 ETH0.000197871.93072065
Bridge235223672025-10-07 0:41:1118 hrs ago1759797671IN
0x46b0EF86...6dD747fa5
0 ETH0.000017810.17378752
Bridge235222862025-10-07 0:24:4718 hrs ago1759796687IN
0x46b0EF86...6dD747fa5
0 ETH0.000005630.17381601
Bridge235222832025-10-07 0:24:1118 hrs ago1759796651IN
0x46b0EF86...6dD747fa5
0 ETH0.000015050.17635878
Bridge235215432025-10-06 21:55:3521 hrs ago1759787735IN
0x46b0EF86...6dD747fa5
0 ETH0.000033360.32568225
Bridge235207972025-10-06 19:25:2323 hrs ago1759778723IN
0x46b0EF86...6dD747fa5
0 ETH0.000112551.09830058
Bridge235180792025-10-06 10:17:3532 hrs ago1759745855IN
0x46b0EF86...6dD747fa5
0 ETH0.000003830.11833173
Bridge235180762025-10-06 10:16:5932 hrs ago1759745819IN
0x46b0EF86...6dD747fa5
0 ETH0.000012870.12566332
Bridge235169562025-10-06 6:31:2336 hrs ago1759732283IN
0x46b0EF86...6dD747fa5
0 ETH0.000015780.15409445
Bridge235157932025-10-06 2:37:3540 hrs ago1759718255IN
0x46b0EF86...6dD747fa5
0 ETH0.000014690.14344384
Bridge235128912025-10-05 16:54:112 days ago1759683251IN
0x46b0EF86...6dD747fa5
0 ETH0.000006270.19332391
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
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.