HYPE Price: $28.78 (+15.64%)
 

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Exec_606Ba Xt256836532026-01-27 12:22:287 hrs ago1769516548IN
0x013b399C...281a049B2
0 HYPE0.003776962.73541667
Exec_606Ba Xt251889122026-01-21 21:10:315 days ago1769029831IN
0x013b399C...281a049B2
0 HYPE0.00002560.55
Exec_606Ba Xt251556952026-01-21 12:05:566 days ago1768997156IN
0x013b399C...281a049B2
0 HYPE0.001474530.98337282
Exec_606Ba Xt251556742026-01-21 12:05:356 days ago1768997135IN
0x013b399C...281a049B2
0 HYPE0.001848851.04884768
Exec_606Ba Xt251556622026-01-21 12:05:236 days ago1768997123IN
0x013b399C...281a049B2
0 HYPE0.002370271.34366293
Exec_606Ba Xt250907522026-01-20 18:21:177 days ago1768933277IN
0x013b399C...281a049B2
0 HYPE0.000091460.32222222
Exec_606Ba Xt250907452026-01-20 18:21:107 days ago1768933270IN
0x013b399C...281a049B2
0 HYPE0.000111760.32222222
Exec_606Ba Xt250907342026-01-20 18:21:007 days ago1768933260IN
0x013b399C...281a049B2
0 HYPE0.00002640.1
Exec_606Ba Xt250907312026-01-20 18:20:577 days ago1768933257IN
0x013b399C...281a049B2
0 HYPE0.000029350.1034747
Exec_606Ba Xt250907192026-01-20 18:20:457 days ago1768933245IN
0x013b399C...281a049B2
0 HYPE0.000288341.01581633
Exec_606Ba Xt250907072026-01-20 18:20:337 days ago1768933233IN
0x013b399C...281a049B2
0 HYPE0.000034940.1
Exec_606Ba Xt250906912026-01-20 18:20:177 days ago1768933217IN
0x013b399C...281a049B2
0 HYPE0.000028440.1
Exec_606Ba Xt250906872026-01-20 18:20:137 days ago1768933213IN
0x013b399C...281a049B2
0 HYPE0.000144370.404768
Exec_606Ba Xt250906812026-01-20 18:20:077 days ago1768933207IN
0x013b399C...281a049B2
0 HYPE0.00002640.1
Exec_606Ba Xt250906772026-01-20 18:20:037 days ago1768933203IN
0x013b399C...281a049B2
0 HYPE0.00003330.1
Exec_606Ba Xt250906672026-01-20 18:19:547 days ago1768933194IN
0x013b399C...281a049B2
0 HYPE0.000030380.1
Exec_606Ba Xt250906622026-01-20 18:19:497 days ago1768933189IN
0x013b399C...281a049B2
0 HYPE0.000031380.1
Exec_606Ba Xt250906542026-01-20 18:19:417 days ago1768933181IN
0x013b399C...281a049B2
0 HYPE0.000030370.1
Exec_606Ba Xt250906492026-01-20 18:19:367 days ago1768933176IN
0x013b399C...281a049B2
0 HYPE0.000031630.1
Exec_606Ba Xt250906202026-01-20 18:19:077 days ago1768933147IN
0x013b399C...281a049B2
0 HYPE0.000038920.1
Exec_606Ba Xt250906092026-01-20 18:18:577 days ago1768933137IN
0x013b399C...281a049B2
0 HYPE0.000028650.10116527
Exec_606Ba Xt250906012026-01-20 18:18:497 days ago1768933129IN
0x013b399C...281a049B2
0 HYPE0.000081710.32222222
Exec_606Ba Xt250905992026-01-20 18:18:477 days ago1768933127IN
0x013b399C...281a049B2
0 HYPE0.000096560.32222222
Exec_606Ba Xt250905872026-01-20 18:18:357 days ago1768933115IN
0x013b399C...281a049B2
0 HYPE0.000101110.32222222
Exec_606Ba Xt250905632026-01-20 18:18:117 days ago1768933091IN
0x013b399C...281a049B2
0 HYPE0.000035760.13543603
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Executor

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT
pragma solidity >=0.5.0 ^0.8.25;

// src/executors/interfaces/IExecutor.sol

struct Placeholder {
    address to;
    bytes data;
    uint64 offset;
    uint64 length;
    uint64 resOffset;
}

interface IExecutor {
    function exec_606BaXt(bytes[] memory data) external payable;

    function call_g0oyU7o(address target, uint256 value, bytes32 context, bytes memory callData) external payable;

    function callWithPlaceholders4845164670(
        address target,
        uint256 value,
        bytes32 context,
        bytes memory callData,
        Placeholder[] calldata placeholders
    )
        external
        payable;

    function transfer(address recipient, uint256 amount) external payable;
}

// src/executors/Executor.sol

uint256 constant FALLBACK_CONTEXT_TLOC = 0;

contract Executor is IExecutor {
    address internal immutable OWNER;

    constructor(address _owner) {
        OWNER = _owner;
    }

    /* EXTERNAL */

    /// @notice Executes a batch of calls.
    function exec_606BaXt(bytes[] memory data) external payable {
        require(msg.sender == OWNER);

        _multicall(data);
    }

    /// @notice Executes a normal call, requiring its success.
    /// @param target The target address to call.
    /// @param value The value of the call.
    /// @param context The 32-bytes concatenation of:
    /// - the address expected to call back. Set to address(0) to prevent any callback.
    /// - the expected callback data index.
    /// @param callData the calldata of the call.
    function call_g0oyU7o(address target, uint256 value, bytes32 context, bytes memory callData) public payable {
        require(msg.sender == address(this));

        bytes32 prevContext = _tload(FALLBACK_CONTEXT_TLOC);

        _tstore(FALLBACK_CONTEXT_TLOC, context);

        (bool success, bytes memory returnData) = target.call{ value: value }(callData);
        if (!success) _revert(returnData);

        _tstore(FALLBACK_CONTEXT_TLOC, prevContext);
    }

    /// @notice Executes a normal call, requiring its success.
    /// @param target The target address to call.
    /// @param value The value of the call.
    /// @param context The 32-bytes concatenation of:
    /// - the address expected to call back. Set to address(0) to prevent any callback.
    /// - the expected callback data index.
    /// @param callData the calldata of the call.
    function callWithPlaceholders4845164670(
        address target,
        uint256 value,
        bytes32 context,
        bytes memory callData,
        Placeholder[] calldata placeholders
    )
        external
        payable
    {
        for (uint256 i; i < placeholders.length; ++i) {
            Placeholder calldata placeholder = placeholders[i];

            (bool success, bytes memory resData) = placeholder.to.staticcall(placeholder.data);
            if (!success) _revert(resData);

            uint64 offset = placeholder.offset;
            uint64 length = placeholder.length;
            uint64 resOffset = placeholder.resOffset;

            assembly ("memory-safe") {
                mcopy(add(callData, add(32, offset)), add(resData, add(32, resOffset)), length)
            }
        }

        call_g0oyU7o(target, value, context, callData);
    }

    /// @notice Transfers ETH to the recipient.
    /// @param recipient The recipient of the transfer. Set to address(0) to transfer to the coinbase.
    /// @param amount The amount to transfer. Automatically minimumed to the current ETH balance.
    function transfer(address recipient, uint256 amount) external payable {
        require(msg.sender == address(this));

        if (recipient == address(0)) recipient = block.coinbase;

        amount = _min(amount, address(this).balance);

        (bool success, bytes memory returnData) = recipient.call{ value: amount }("");
        if (!success) _revert(returnData);
    }

    receive() external payable { }

    fallback(bytes calldata) external payable returns (bytes memory returnData) {
        bytes32 context = _tload(FALLBACK_CONTEXT_TLOC);
        require(msg.sender == address(uint160(uint256(context))));

        uint256 dataIndex = uint256(context >> 160);

        bytes memory fallbackData;
        assembly ("memory-safe") {
            let offset := add(4, calldataload(add(4, mul(32, dataIndex))))
            let length := calldataload(offset)

            fallbackData := mload(0x40)

            calldatacopy(fallbackData, offset, add(32, length))

            mstore(0x40, add(fallbackData, add(32, length)))
        }

        bytes[] memory multicallData;
        (multicallData, returnData) = abi.decode(fallbackData, (bytes[], bytes));

        _multicall(multicallData);
    }

    /* INTERNAL */

    /// @notice Executes a series of calls.
    function _multicall(bytes[] memory data) internal {
        for (uint256 i; i < data.length; ++i) {
            (bool success, bytes memory returnData) = address(this).call(data[i]);
            if (!success) _revert(returnData);
        }
    }

    /// @dev Bubbles up the revert reason / custom error encoded in `returnData`.
    /// @dev Assumes `returnData` is the return data of any kind of failing CALL to a contract.
    function _revert(bytes memory returnData) internal pure {
        uint256 length = returnData.length;
        require(length > 0);

        assembly ("memory-safe") {
            revert(add(32, returnData), length)
        }
    }

    function _tload(uint256 tloc) internal view returns (bytes32 value) {
        assembly ("memory-safe") {
            value := tload(tloc)
        }
    }

    function _tstore(uint256 tloc, bytes32 value) internal {
        assembly ("memory-safe") {
            tstore(tloc, value)
        }
    }

    function _min(uint256 x, uint256 y) internal pure returns (uint256 z) {
        assembly {
            z := xor(x, mul(xor(x, y), lt(y, x)))
        }
    }
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes32","name":"context","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint64","name":"offset","type":"uint64"},{"internalType":"uint64","name":"length","type":"uint64"},{"internalType":"uint64","name":"resOffset","type":"uint64"}],"internalType":"struct Placeholder[]","name":"placeholders","type":"tuple[]"}],"name":"callWithPlaceholders4845164670","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes32","name":"context","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"name":"call_g0oyU7o","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes[]","name":"data","type":"bytes[]"}],"name":"exec_606BaXt","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052348015600e575f80fd5b506040516109d93803806109d9833981016040819052602b91603b565b6001600160a01b03166080526066565b5f60208284031215604a575f80fd5b81516001600160a01b0381168114605f575f80fd5b9392505050565b60805161095b61007e5f395f610242015261095b5ff3fe608060405260043610610037575f3560e01c80156100b357806001146100c857806002146100db578063a9059cbb146100ee5761003e565b3661003e57005b5f366060825c6001600160a01b0381163314610058575f80fd5b60405160a082901c9060208083026004908101350190813590810182843780602001830160405250506060818060200190518101906100979190610523565b955090506100a481610101565b50505050915050805190602001f35b6100c66100c136600461065a565b61019e565b005b6100c66100d63660046106b7565b610237565b6100c66100e9366004610761565b610277565b6100c66100fc366004610815565b610398565b5f5b815181101561019a575f80306001600160a01b031684848151811061012a5761012a61083d565b602002602001015160405161013f9190610851565b5f604051808303815f865af19150503d805f8114610178576040519150601f19603f3d011682016040523d82523d5f602084013e61017d565b606091505b5091509150816101905761019081610429565b5050600101610103565b5050565b3330146101a9575f80fd5b5f805c906101b7908461043b565b5f80866001600160a01b031686856040516101d29190610851565b5f6040518083038185875af1925050503d805f811461020c576040519150601f19603f3d011682016040523d82523d5f602084013e610211565b606091505b5091509150816102245761022481610429565b61022e5f8461043b565b50505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026b575f80fd5b61027481610101565b50565b5f5b8181101561038357368383838181106102945761029461083d565b90506020028101906102a69190610867565b90505f806102b76020840184610885565b6001600160a01b03166102cd60208501856108a5565b6040516102db9291906108ef565b5f60405180830381855afa9150503d805f8114610313576040519150601f19603f3d011682016040523d82523d5f602084013e610318565b606091505b50915091508161032b5761032b81610429565b5f61033c60608501604086016108fe565b90505f61034f60808601606087016108fe565b90505f61036260a08701608088016108fe565b905081816020018501846020018c015e505050505050806001019050610279565b506103908686868661019e565b505050505050565b3330146103a3575f80fd5b6001600160a01b0382166103b5574191505b4780821190821802811890505f80836001600160a01b0316836040515f6040518083038185875af1925050503d805f811461040b576040519150601f19603f3d011682016040523d82523d5f602084013e610410565b606091505b5091509150816104235761042381610429565b50505050565b805180610434575f80fd5b8082602001fd5b80825d5050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561047f5761047f610442565b604052919050565b5f67ffffffffffffffff8211156104a0576104a0610442565b5060051b60200190565b5f67ffffffffffffffff8211156104c3576104c3610442565b50601f01601f191660200190565b5f82601f8301126104e0575f80fd5b81516104f36104ee826104aa565b610456565b818152846020838601011115610507575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f8060408385031215610534575f80fd5b825167ffffffffffffffff8082111561054b575f80fd5b818501915085601f83011261055e575f80fd5b8151602061056e6104ee83610487565b82815260059290921b8401810191818101908984111561058c575f80fd5b8286015b848110156105c2578051868111156105a6575f80fd5b6105b48c86838b01016104d1565b845250918301918301610590565b50918801519196509093505050808211156105db575f80fd5b506105e8858286016104d1565b9150509250929050565b80356001600160a01b0381168114610608575f80fd5b919050565b5f82601f83011261061c575f80fd5b813561062a6104ee826104aa565b81815284602083860101111561063e575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f806080858703121561066d575f80fd5b610676856105f2565b93506020850135925060408501359150606085013567ffffffffffffffff81111561069f575f80fd5b6106ab8782880161060d565b91505092959194509250565b5f60208083850312156106c8575f80fd5b823567ffffffffffffffff808211156106df575f80fd5b818501915085601f8301126106f2575f80fd5b81356107006104ee82610487565b81815260059190911b8301840190848101908883111561071e575f80fd5b8585015b8381101561075457803585811115610738575f80fd5b6107468b89838a010161060d565b845250918601918601610722565b5098975050505050505050565b5f805f805f8060a08789031215610776575f80fd5b61077f876105f2565b95506020870135945060408701359350606087013567ffffffffffffffff808211156107a9575f80fd5b6107b58a838b0161060d565b945060808901359150808211156107ca575f80fd5b818901915089601f8301126107dd575f80fd5b8135818111156107eb575f80fd5b8a60208260051b85010111156107ff575f80fd5b6020830194508093505050509295509295509295565b5f8060408385031215610826575f80fd5b61082f836105f2565b946020939093013593505050565b634e487b7160e01b5f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b5f8235609e1983360301811261087b575f80fd5b9190910192915050565b5f60208284031215610895575f80fd5b61089e826105f2565b9392505050565b5f808335601e198436030181126108ba575f80fd5b83018035915067ffffffffffffffff8211156108d4575f80fd5b6020019150368190038213156108e8575f80fd5b9250929050565b818382375f9101908152919050565b5f6020828403121561090e575f80fd5b813567ffffffffffffffff8116811461089e575f80fdfea26469706673582212205cdfc8cb077dda96b87b244605b42094d15030ec21286b598df7d288db33bd4364736f6c634300081900330000000000000000000000005d5ed9daf45d4d353d8208e62d7192d10c206afe

Deployed Bytecode

0x608060405260043610610037575f3560e01c80156100b357806001146100c857806002146100db578063a9059cbb146100ee5761003e565b3661003e57005b5f366060825c6001600160a01b0381163314610058575f80fd5b60405160a082901c9060208083026004908101350190813590810182843780602001830160405250506060818060200190518101906100979190610523565b955090506100a481610101565b50505050915050805190602001f35b6100c66100c136600461065a565b61019e565b005b6100c66100d63660046106b7565b610237565b6100c66100e9366004610761565b610277565b6100c66100fc366004610815565b610398565b5f5b815181101561019a575f80306001600160a01b031684848151811061012a5761012a61083d565b602002602001015160405161013f9190610851565b5f604051808303815f865af19150503d805f8114610178576040519150601f19603f3d011682016040523d82523d5f602084013e61017d565b606091505b5091509150816101905761019081610429565b5050600101610103565b5050565b3330146101a9575f80fd5b5f805c906101b7908461043b565b5f80866001600160a01b031686856040516101d29190610851565b5f6040518083038185875af1925050503d805f811461020c576040519150601f19603f3d011682016040523d82523d5f602084013e610211565b606091505b5091509150816102245761022481610429565b61022e5f8461043b565b50505050505050565b336001600160a01b037f0000000000000000000000005d5ed9daf45d4d353d8208e62d7192d10c206afe161461026b575f80fd5b61027481610101565b50565b5f5b8181101561038357368383838181106102945761029461083d565b90506020028101906102a69190610867565b90505f806102b76020840184610885565b6001600160a01b03166102cd60208501856108a5565b6040516102db9291906108ef565b5f60405180830381855afa9150503d805f8114610313576040519150601f19603f3d011682016040523d82523d5f602084013e610318565b606091505b50915091508161032b5761032b81610429565b5f61033c60608501604086016108fe565b90505f61034f60808601606087016108fe565b90505f61036260a08701608088016108fe565b905081816020018501846020018c015e505050505050806001019050610279565b506103908686868661019e565b505050505050565b3330146103a3575f80fd5b6001600160a01b0382166103b5574191505b4780821190821802811890505f80836001600160a01b0316836040515f6040518083038185875af1925050503d805f811461040b576040519150601f19603f3d011682016040523d82523d5f602084013e610410565b606091505b5091509150816104235761042381610429565b50505050565b805180610434575f80fd5b8082602001fd5b80825d5050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561047f5761047f610442565b604052919050565b5f67ffffffffffffffff8211156104a0576104a0610442565b5060051b60200190565b5f67ffffffffffffffff8211156104c3576104c3610442565b50601f01601f191660200190565b5f82601f8301126104e0575f80fd5b81516104f36104ee826104aa565b610456565b818152846020838601011115610507575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f8060408385031215610534575f80fd5b825167ffffffffffffffff8082111561054b575f80fd5b818501915085601f83011261055e575f80fd5b8151602061056e6104ee83610487565b82815260059290921b8401810191818101908984111561058c575f80fd5b8286015b848110156105c2578051868111156105a6575f80fd5b6105b48c86838b01016104d1565b845250918301918301610590565b50918801519196509093505050808211156105db575f80fd5b506105e8858286016104d1565b9150509250929050565b80356001600160a01b0381168114610608575f80fd5b919050565b5f82601f83011261061c575f80fd5b813561062a6104ee826104aa565b81815284602083860101111561063e575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f806080858703121561066d575f80fd5b610676856105f2565b93506020850135925060408501359150606085013567ffffffffffffffff81111561069f575f80fd5b6106ab8782880161060d565b91505092959194509250565b5f60208083850312156106c8575f80fd5b823567ffffffffffffffff808211156106df575f80fd5b818501915085601f8301126106f2575f80fd5b81356107006104ee82610487565b81815260059190911b8301840190848101908883111561071e575f80fd5b8585015b8381101561075457803585811115610738575f80fd5b6107468b89838a010161060d565b845250918601918601610722565b5098975050505050505050565b5f805f805f8060a08789031215610776575f80fd5b61077f876105f2565b95506020870135945060408701359350606087013567ffffffffffffffff808211156107a9575f80fd5b6107b58a838b0161060d565b945060808901359150808211156107ca575f80fd5b818901915089601f8301126107dd575f80fd5b8135818111156107eb575f80fd5b8a60208260051b85010111156107ff575f80fd5b6020830194508093505050509295509295509295565b5f8060408385031215610826575f80fd5b61082f836105f2565b946020939093013593505050565b634e487b7160e01b5f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b5f8235609e1983360301811261087b575f80fd5b9190910192915050565b5f60208284031215610895575f80fd5b61089e826105f2565b9392505050565b5f808335601e198436030181126108ba575f80fd5b83018035915067ffffffffffffffff8211156108d4575f80fd5b6020019150368190038213156108e8575f80fd5b9250929050565b818382375f9101908152919050565b5f6020828403121561090e575f80fd5b813567ffffffffffffffff8116811461089e575f80fdfea26469706673582212205cdfc8cb077dda96b87b244605b42094d15030ec21286b598df7d288db33bd4364736f6c63430008190033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000005d5ed9daf45d4d353d8208e62d7192d10c206afe

-----Decoded View---------------
Arg [0] : _owner (address): 0x5D5ed9dAf45D4d353d8208E62d7192d10c206aFe

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005d5ed9daf45d4d353d8208e62d7192d10c206afe


Block Transaction Gas Used Reward
view all blocks ##produced##

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

Validator Index Block Amount
View All Withdrawals

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

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