ETH Price: $3,901.27 (-6.39%)

Contract

0xaD6CC5a465E5c8284a49eC9eD10EFE275460678c

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Aggregate3Value96595712025-08-28 17:33:0228 days ago1756402382IN
0xaD6CC5a4...75460678c
0.050056 ETH0.000001380.00100026
Aggregate3Value41748912025-06-26 6:01:4291 days ago1750917702IN
0xaD6CC5a4...75460678c
0.139853 ETH0.000060161.00000025

Latest 4 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
96595712025-08-28 17:33:0228 days ago1756402382
0xaD6CC5a4...75460678c
0.050056 ETH
41748912025-06-26 6:01:4291 days ago1750917702
0xaD6CC5a4...75460678c
0.01884 ETH
41748912025-06-26 6:01:4291 days ago1750917702
0xaD6CC5a4...75460678c
0.050427 ETH
41748912025-06-26 6:01:4291 days ago1750917702
0xaD6CC5a4...75460678c
0.070586 ETH

Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RedstoneMulticall3

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;


contract RedstoneMulticall3 {
    struct RedstoneCall3 {
        address target;
        bool allowFailure;
        bytes callData;
        uint256 gasLimit;
    }

    /// @notice Aggregate calls, ensuring each returns success if required
    /// @param calls An array of Call3 structs
    /// @return returnData An array of Result structs
    function aggregate3(RedstoneCall3[] calldata calls) public payable returns (Result[] memory returnData) {
        uint256 length = calls.length;
        returnData = new Result[](length);
        RedstoneCall3 calldata calli;
        for (uint256 i = 0; i < length;) {
            Result memory result = returnData[i];
            calli = calls[i];
            (result.success, result.returnData) = calli.target.call{gas: calli.gasLimit}(calli.callData);
            assembly {
                // Revert if the call fails and failure is not allowed
                // `allowFailure := calldataload(add(calli, 0x20))` and `success := mload(result)`
                if iszero(or(calldataload(add(calli, 0x20)), mload(result))) {
                    // set "Error(string)" signature: bytes32(bytes4(keccak256("Error(string)")))
                    mstore(0x00, 0x08c379a000000000000000000000000000000000000000000000000000000000)
                    // set data offset
                    mstore(0x04, 0x0000000000000000000000000000000000000000000000000000000000000020)
                    // set length of revert string
                    mstore(0x24, 0x0000000000000000000000000000000000000000000000000000000000000017)
                    // set revert string: bytes32(abi.encodePacked("Multicall3: call failed"))
                    mstore(0x44, 0x4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000)
                    revert(0x00, 0x64)
                }
            }
            unchecked { ++i; }
        }
    }
    
    /** 
                                                            IMPORTANT
        Rest of the code is copied from import "./Mulitcall3.sol" (omitted aggregate3) we don't use inheritence to have single aggregate3 function 
    */

     struct Call {
        address target;
        bytes callData;
    }

    struct Call3 {
        address target;
        bool allowFailure;
        bytes callData;
    }

    struct Call3Value {
        address target;
        bool allowFailure;
        uint256 value;
        bytes callData;
    }

    struct Result {
        bool success;
        bytes returnData;
    }

    /// @notice Backwards-compatible call aggregation with Multicall
    /// @param calls An array of Call structs
    /// @return blockNumber The block number where the calls were executed
    /// @return returnData An array of bytes containing the responses
    function aggregate(Call[] calldata calls) public payable returns (uint256 blockNumber, bytes[] memory returnData) {
        blockNumber = block.number;
        uint256 length = calls.length;
        returnData = new bytes[](length);
        Call calldata call;
        for (uint256 i = 0; i < length;) {
            bool success;
            call = calls[i];
            (success, returnData[i]) = call.target.call(call.callData);
            require(success, "Multicall3: call failed");
            unchecked { ++i; }
        }
    }

    /// @notice Backwards-compatible with Multicall2
    /// @notice Aggregate calls without requiring success
    /// @param requireSuccess If true, require all calls to succeed
    /// @param calls An array of Call structs
    /// @return returnData An array of Result structs
    function tryAggregate(bool requireSuccess, Call[] calldata calls) public payable returns (Result[] memory returnData) {
        uint256 length = calls.length;
        returnData = new Result[](length);
        Call calldata call;
        for (uint256 i = 0; i < length;) {
            Result memory result = returnData[i];
            call = calls[i];
            (result.success, result.returnData) = call.target.call(call.callData);
            if (requireSuccess) require(result.success, "Multicall3: call failed");
            unchecked { ++i; }
        }
    }

    /// @notice Backwards-compatible with Multicall2
    /// @notice Aggregate calls and allow failures using tryAggregate
    /// @param calls An array of Call structs
    /// @return blockNumber The block number where the calls were executed
    /// @return blockHash The hash of the block where the calls were executed
    /// @return returnData An array of Result structs
    function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls) public payable returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) {
        blockNumber = block.number;
        blockHash = blockhash(block.number);
        returnData = tryAggregate(requireSuccess, calls);
    }

    /// @notice Backwards-compatible with Multicall2
    /// @notice Aggregate calls and allow failures using tryAggregate
    /// @param calls An array of Call structs
    /// @return blockNumber The block number where the calls were executed
    /// @return blockHash The hash of the block where the calls were executed
    /// @return returnData An array of Result structs
    function blockAndAggregate(Call[] calldata calls) public payable returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) {
        (blockNumber, blockHash, returnData) = tryBlockAndAggregate(true, calls);
    }

    /// @notice Aggregate calls with a msg value
    /// @notice Reverts if msg.value is less than the sum of the call values
    /// @param calls An array of Call3Value structs
    /// @return returnData An array of Result structs
    function aggregate3Value(Call3Value[] calldata calls) public payable returns (Result[] memory returnData) {
        uint256 valAccumulator;
        uint256 length = calls.length;
        returnData = new Result[](length);
        Call3Value calldata calli;
        for (uint256 i = 0; i < length;) {
            Result memory result = returnData[i];
            calli = calls[i];
            uint256 val = calli.value;
            // Humanity will be a Type V Kardashev Civilization before this overflows - andreas
            // ~ 10^25 Wei in existence << ~ 10^76 size uint fits in a uint256
            unchecked { valAccumulator += val; }
            (result.success, result.returnData) = calli.target.call{value: val}(calli.callData);
            assembly {
                // Revert if the call fails and failure is not allowed
                // `allowFailure := calldataload(add(calli, 0x20))` and `success := mload(result)`
                if iszero(or(calldataload(add(calli, 0x20)), mload(result))) {
                    // set "Error(string)" signature: bytes32(bytes4(keccak256("Error(string)")))
                    mstore(0x00, 0x08c379a000000000000000000000000000000000000000000000000000000000)
                    // set data offset
                    mstore(0x04, 0x0000000000000000000000000000000000000000000000000000000000000020)
                    // set length of revert string
                    mstore(0x24, 0x0000000000000000000000000000000000000000000000000000000000000017)
                    // set revert string: bytes32(abi.encodePacked("Multicall3: call failed"))
                    mstore(0x44, 0x4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000)
                    revert(0x00, 0x84)
                }
            }
            unchecked { ++i; }
        }
        // Finally, make sure the msg.value = SUM(call[0...i].value)
        require(msg.value == valAccumulator, "Multicall3: value mismatch");
    }

    /// @notice Returns the block hash for the given block number
    /// @param blockNumber The block number
    function getBlockHash(uint256 blockNumber) public view returns (bytes32 blockHash) {
        blockHash = blockhash(blockNumber);
    }

    /// @notice Returns the block number
    function getBlockNumber() public view returns (uint256 blockNumber) {
        blockNumber = block.number;
    }

    /// @notice Returns the block coinbase
    function getCurrentBlockCoinbase() public view returns (address coinbase) {
        coinbase = block.coinbase;
    }

    /// @notice Returns the block difficulty
    function getCurrentBlockDifficulty() public view returns (uint256 difficulty) {
        difficulty = block.difficulty;
    }

    /// @notice Returns the block gas limit
    function getCurrentBlockGasLimit() public view returns (uint256 gaslimit) {
        gaslimit = block.gaslimit;
    }

    /// @notice Returns the block timestamp
    function getCurrentBlockTimestamp() public view returns (uint256 timestamp) {
        timestamp = block.timestamp;
    }

    /// @notice Returns the (ETH) balance of a given address
    function getEthBalance(address addr) public view returns (uint256 balance) {
        balance = addr.balance;
    }

    /// @notice Returns the block hash of the last block
    function getLastBlockHash() public view returns (bytes32 blockHash) {
        unchecked {
            blockHash = blockhash(block.number - 1);
        }
    }

    /// @notice Gets the base fee of the given block
    /// @notice Can revert if the BASEFEE opcode is not implemented by the given chain
    function getBasefee() public view returns (uint256 basefee) {
        basefee = block.basefee;
    }

    /// @notice Returns the chain id
    function getChainId() public view returns (uint256 chainid) {
        chainid = block.chainid;
    }
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct RedstoneMulticall3.Call[]","name":"calls","type":"tuple[]"}],"name":"aggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes[]","name":"returnData","type":"bytes[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"allowFailure","type":"bool"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"uint256","name":"gasLimit","type":"uint256"}],"internalType":"struct RedstoneMulticall3.RedstoneCall3[]","name":"calls","type":"tuple[]"}],"name":"aggregate3","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct RedstoneMulticall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"allowFailure","type":"bool"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct RedstoneMulticall3.Call3Value[]","name":"calls","type":"tuple[]"}],"name":"aggregate3Value","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct RedstoneMulticall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct RedstoneMulticall3.Call[]","name":"calls","type":"tuple[]"}],"name":"blockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct RedstoneMulticall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getBasefee","outputs":[{"internalType":"uint256","name":"basefee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"chainid","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockCoinbase","outputs":[{"internalType":"address","name":"coinbase","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockDifficulty","outputs":[{"internalType":"uint256","name":"difficulty","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockGasLimit","outputs":[{"internalType":"uint256","name":"gaslimit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getEthBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct RedstoneMulticall3.Call[]","name":"calls","type":"tuple[]"}],"name":"tryAggregate","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct RedstoneMulticall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct RedstoneMulticall3.Call[]","name":"calls","type":"tuple[]"}],"name":"tryBlockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct RedstoneMulticall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"}]

608060405234801561001057600080fd5b506115b6806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806386d516e8146102ca57806398679064146102f5576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c10565b60405180910390f35b61013d60048036038101906101389190610c9a565b6103f7565b60405161014a9190610e91565b60405180910390f35b61016d60048036038101906101689190610f09565b610615565b60405161017b929190611018565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611061565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c10565b60405180910390f35b6101f460048036038101906101ef91906110a8565b6107bf565b60405161020393929190611108565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c10565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c10565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a4565b6107f1565b6040516102969190610c10565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c10565b60405180910390f35b3480156102d657600080fd5b506102df61081a565b6040516102ec9190610c10565b60405180910390f35b61030f600480360381019061030a9190611227565b610822565b60405161031c9190610e91565b60405180910390f35b34801561033157600080fd5b5061033a6109f2565b6040516103479190611283565b60405180910390f35b61036a600480360381019061036591906110a8565b6109fa565b6040516103779190610e91565b60405180910390f35b61039a60048036038101906103959190610f09565b610bac565b6040516103a993929190611108565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112ca565b610bd0565b6040516103e69190611061565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112f7565b5b60405190808252806020026020018201604052801561045557816020015b610442610bdb565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611326565b5b6020026020010151905087878381811061049657610495611326565b5b90506020028101906104a89190611364565b925060008360400135905080860195508360000160208101906104cb91906111a4565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138c565b60405161050092919061142e565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a4565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112f7565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611326565b5b90506020028101906106a791906114c4565b92508260000160208101906106bc91906111a4565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138c565b6040516106f092919061142e565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611326565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c90611538565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109fa565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b600045905090565b606060008383905090508067ffffffffffffffff811115610846576108456112f7565b5b60405190808252806020026020018201604052801561087f57816020015b61086c610bdb565b8152602001906001900390816108645790505b5091503660005b828110156109e95760008482815181106108a3576108a2611326565b5b602002602001015190508686838181106108c0576108bf611326565b5b90506020028101906108d29190611558565b92508260000160208101906108e791906111a4565b73ffffffffffffffffffffffffffffffffffffffff168360600135848060400190610912919061138c565b60405161092092919061142e565b60006040518083038160008787f1925050503d806000811461095e576040519150601f19603f3d011682016040523d82523d6000602084013e610963565b606091505b5082600001836020018290528215151515815250505080516020840135176109dd577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b81600101915050610886565b50505092915050565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1e57610a1d6112f7565b5b604051908082528060200260200182016040528015610a5757816020015b610a44610bdb565b815260200190600190039081610a3c5790505b5091503660005b82811015610ba2576000848281518110610a7b57610a7a611326565b5b60200260200101519050868683818110610a9857610a97611326565b5b9050602002810190610aaa91906114c4565b9250826000016020810190610abf91906111a4565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610ae5919061138c565b604051610af392919061142e565b6000604051808303816000865af19150503d8060008114610b30576040519150601f19603f3d011682016040523d82523d6000602084013e610b35565b606091505b508260000183602001829052821515151581525050508715610b96578060000151610b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8c90611538565b60405180910390fd5b5b81600101915050610a5e565b5050509392505050565b6000806060610bbd600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0a81610bf7565b82525050565b6000602082019050610c256000830184610c01565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5a57610c59610c35565b5b8235905067ffffffffffffffff811115610c7757610c76610c3a565b5b602083019150836020820283011115610c9357610c92610c3f565b5b9250929050565b60008060208385031215610cb157610cb0610c2b565b5b600083013567ffffffffffffffff811115610ccf57610cce610c30565b5b610cdb85828601610c44565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2881610d13565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d68578082015181840152602081019050610d4d565b60008484015250505050565b6000601f19601f8301169050919050565b6000610d9082610d2e565b610d9a8185610d39565b9350610daa818560208601610d4a565b610db381610d74565b840191505092915050565b6000604083016000830151610dd66000860182610d1f565b5060208301518482036020860152610dee8282610d85565b9150508091505092915050565b6000610e078383610dbe565b905092915050565b6000602082019050919050565b6000610e2782610ce7565b610e318185610cf2565b935083602082028501610e4385610d03565b8060005b85811015610e7f5784840389528151610e608582610dfb565b9450610e6b83610e0f565b925060208a01995050600181019050610e47565b50829750879550505050505092915050565b60006020820190508181036000830152610eab8184610e1c565b905092915050565b60008083601f840112610ec957610ec8610c35565b5b8235905067ffffffffffffffff811115610ee657610ee5610c3a565b5b602083019150836020820283011115610f0257610f01610c3f565b5b9250929050565b60008060208385031215610f2057610f1f610c2b565b5b600083013567ffffffffffffffff811115610f3e57610f3d610c30565b5b610f4a85828601610eb3565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f8e8383610d85565b905092915050565b6000602082019050919050565b6000610fae82610f56565b610fb88185610f61565b935083602082028501610fca85610f72565b8060005b858110156110065784840389528151610fe78582610f82565b9450610ff283610f96565b925060208a01995050600181019050610fce565b50829750879550505050505092915050565b600060408201905061102d6000830185610c01565b818103602083015261103f8184610fa3565b90509392505050565b6000819050919050565b61105b81611048565b82525050565b60006020820190506110766000830184611052565b92915050565b61108581610d13565b811461109057600080fd5b50565b6000813590506110a28161107c565b92915050565b6000806000604084860312156110c1576110c0610c2b565b5b60006110cf86828701611093565b935050602084013567ffffffffffffffff8111156110f0576110ef610c30565b5b6110fc86828701610eb3565b92509250509250925092565b600060608201905061111d6000830186610c01565b61112a6020830185611052565b818103604083015261113c8184610e1c565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117182611146565b9050919050565b61118181611166565b811461118c57600080fd5b50565b60008135905061119e81611178565b92915050565b6000602082840312156111ba576111b9610c2b565b5b60006111c88482850161118f565b91505092915050565b60008083601f8401126111e7576111e6610c35565b5b8235905067ffffffffffffffff81111561120457611203610c3a565b5b6020830191508360208202830111156112205761121f610c3f565b5b9250929050565b6000806020838503121561123e5761123d610c2b565b5b600083013567ffffffffffffffff81111561125c5761125b610c30565b5b611268858286016111d1565b92509250509250929050565b61127d81611166565b82525050565b60006020820190506112986000830184611274565b92915050565b6112a781610bf7565b81146112b257600080fd5b50565b6000813590506112c48161129e565b92915050565b6000602082840312156112e0576112df610c2b565b5b60006112ee848285016112b5565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b6000823560016080038336030381126113805761137f611355565b5b80830191505092915050565b600080833560016020038436030381126113a9576113a8611355565b5b80840192508235915067ffffffffffffffff8211156113cb576113ca61135a565b5b6020830192506001820236038313156113e7576113e661135f565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141583856113ef565b93506114228385846113fa565b82840190509392505050565b600061143b828486611409565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b600061148e601a83611447565b915061149982611458565b602082019050919050565b600060208201905081810360008301526114bd81611481565b9050919050565b6000823560016040038336030381126114e0576114df611355565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b6000611522601783611447565b915061152d826114ec565b602082019050919050565b6000602082019050818103600083015261155181611515565b9050919050565b60008235600160800383360303811261157457611573611355565b5b8083019150509291505056fea2646970667358221220ad388e1f9a63786032ecc2f91cf239b3354e2f873d482e4bc6f5979e1535bb6b64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806386d516e8146102ca57806398679064146102f5576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c10565b60405180910390f35b61013d60048036038101906101389190610c9a565b6103f7565b60405161014a9190610e91565b60405180910390f35b61016d60048036038101906101689190610f09565b610615565b60405161017b929190611018565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611061565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c10565b60405180910390f35b6101f460048036038101906101ef91906110a8565b6107bf565b60405161020393929190611108565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c10565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c10565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a4565b6107f1565b6040516102969190610c10565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c10565b60405180910390f35b3480156102d657600080fd5b506102df61081a565b6040516102ec9190610c10565b60405180910390f35b61030f600480360381019061030a9190611227565b610822565b60405161031c9190610e91565b60405180910390f35b34801561033157600080fd5b5061033a6109f2565b6040516103479190611283565b60405180910390f35b61036a600480360381019061036591906110a8565b6109fa565b6040516103779190610e91565b60405180910390f35b61039a60048036038101906103959190610f09565b610bac565b6040516103a993929190611108565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112ca565b610bd0565b6040516103e69190611061565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112f7565b5b60405190808252806020026020018201604052801561045557816020015b610442610bdb565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611326565b5b6020026020010151905087878381811061049657610495611326565b5b90506020028101906104a89190611364565b925060008360400135905080860195508360000160208101906104cb91906111a4565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138c565b60405161050092919061142e565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a4565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112f7565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611326565b5b90506020028101906106a791906114c4565b92508260000160208101906106bc91906111a4565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138c565b6040516106f092919061142e565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611326565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c90611538565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109fa565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b600045905090565b606060008383905090508067ffffffffffffffff811115610846576108456112f7565b5b60405190808252806020026020018201604052801561087f57816020015b61086c610bdb565b8152602001906001900390816108645790505b5091503660005b828110156109e95760008482815181106108a3576108a2611326565b5b602002602001015190508686838181106108c0576108bf611326565b5b90506020028101906108d29190611558565b92508260000160208101906108e791906111a4565b73ffffffffffffffffffffffffffffffffffffffff168360600135848060400190610912919061138c565b60405161092092919061142e565b60006040518083038160008787f1925050503d806000811461095e576040519150601f19603f3d011682016040523d82523d6000602084013e610963565b606091505b5082600001836020018290528215151515815250505080516020840135176109dd577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b81600101915050610886565b50505092915050565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1e57610a1d6112f7565b5b604051908082528060200260200182016040528015610a5757816020015b610a44610bdb565b815260200190600190039081610a3c5790505b5091503660005b82811015610ba2576000848281518110610a7b57610a7a611326565b5b60200260200101519050868683818110610a9857610a97611326565b5b9050602002810190610aaa91906114c4565b9250826000016020810190610abf91906111a4565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610ae5919061138c565b604051610af392919061142e565b6000604051808303816000865af19150503d8060008114610b30576040519150601f19603f3d011682016040523d82523d6000602084013e610b35565b606091505b508260000183602001829052821515151581525050508715610b96578060000151610b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8c90611538565b60405180910390fd5b5b81600101915050610a5e565b5050509392505050565b6000806060610bbd600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0a81610bf7565b82525050565b6000602082019050610c256000830184610c01565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5a57610c59610c35565b5b8235905067ffffffffffffffff811115610c7757610c76610c3a565b5b602083019150836020820283011115610c9357610c92610c3f565b5b9250929050565b60008060208385031215610cb157610cb0610c2b565b5b600083013567ffffffffffffffff811115610ccf57610cce610c30565b5b610cdb85828601610c44565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2881610d13565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d68578082015181840152602081019050610d4d565b60008484015250505050565b6000601f19601f8301169050919050565b6000610d9082610d2e565b610d9a8185610d39565b9350610daa818560208601610d4a565b610db381610d74565b840191505092915050565b6000604083016000830151610dd66000860182610d1f565b5060208301518482036020860152610dee8282610d85565b9150508091505092915050565b6000610e078383610dbe565b905092915050565b6000602082019050919050565b6000610e2782610ce7565b610e318185610cf2565b935083602082028501610e4385610d03565b8060005b85811015610e7f5784840389528151610e608582610dfb565b9450610e6b83610e0f565b925060208a01995050600181019050610e47565b50829750879550505050505092915050565b60006020820190508181036000830152610eab8184610e1c565b905092915050565b60008083601f840112610ec957610ec8610c35565b5b8235905067ffffffffffffffff811115610ee657610ee5610c3a565b5b602083019150836020820283011115610f0257610f01610c3f565b5b9250929050565b60008060208385031215610f2057610f1f610c2b565b5b600083013567ffffffffffffffff811115610f3e57610f3d610c30565b5b610f4a85828601610eb3565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f8e8383610d85565b905092915050565b6000602082019050919050565b6000610fae82610f56565b610fb88185610f61565b935083602082028501610fca85610f72565b8060005b858110156110065784840389528151610fe78582610f82565b9450610ff283610f96565b925060208a01995050600181019050610fce565b50829750879550505050505092915050565b600060408201905061102d6000830185610c01565b818103602083015261103f8184610fa3565b90509392505050565b6000819050919050565b61105b81611048565b82525050565b60006020820190506110766000830184611052565b92915050565b61108581610d13565b811461109057600080fd5b50565b6000813590506110a28161107c565b92915050565b6000806000604084860312156110c1576110c0610c2b565b5b60006110cf86828701611093565b935050602084013567ffffffffffffffff8111156110f0576110ef610c30565b5b6110fc86828701610eb3565b92509250509250925092565b600060608201905061111d6000830186610c01565b61112a6020830185611052565b818103604083015261113c8184610e1c565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117182611146565b9050919050565b61118181611166565b811461118c57600080fd5b50565b60008135905061119e81611178565b92915050565b6000602082840312156111ba576111b9610c2b565b5b60006111c88482850161118f565b91505092915050565b60008083601f8401126111e7576111e6610c35565b5b8235905067ffffffffffffffff81111561120457611203610c3a565b5b6020830191508360208202830111156112205761121f610c3f565b5b9250929050565b6000806020838503121561123e5761123d610c2b565b5b600083013567ffffffffffffffff81111561125c5761125b610c30565b5b611268858286016111d1565b92509250509250929050565b61127d81611166565b82525050565b60006020820190506112986000830184611274565b92915050565b6112a781610bf7565b81146112b257600080fd5b50565b6000813590506112c48161129e565b92915050565b6000602082840312156112e0576112df610c2b565b5b60006112ee848285016112b5565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b6000823560016080038336030381126113805761137f611355565b5b80830191505092915050565b600080833560016020038436030381126113a9576113a8611355565b5b80840192508235915067ffffffffffffffff8211156113cb576113ca61135a565b5b6020830192506001820236038313156113e7576113e661135f565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141583856113ef565b93506114228385846113fa565b82840190509392505050565b600061143b828486611409565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b600061148e601a83611447565b915061149982611458565b602082019050919050565b600060208201905081810360008301526114bd81611481565b9050919050565b6000823560016040038336030381126114e0576114df611355565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b6000611522601783611447565b915061152d826114ec565b602082019050919050565b6000602082019050818103600083015261155181611515565b9050919050565b60008235600160800383360303811261157457611573611355565b5b8083019150509291505056fea2646970667358221220ad388e1f9a63786032ecc2f91cf239b3354e2f873d482e4bc6f5979e1535bb6b64736f6c63430008110033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ 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.