HYPE Price: $39.13 (-1.67%)

Contract

0x013b399C2fc483Af2348302206A5832281a049B2

Overview

HYPE Balance

HyperEvm LogoHyperEvm LogoHyperEvm Logo0 HYPE

HYPE Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec_606Ba Xt77874292025-07-07 16:42:152 hrs ago1751906535IN
0x013b399C...281a049B2
0 HYPE0.000039190.14398325
Exec_606Ba Xt77874112025-07-07 16:41:582 hrs ago1751906518IN
0x013b399C...281a049B2
0 HYPE0.000115290.16388236
Exec_606Ba Xt77873872025-07-07 16:41:342 hrs ago1751906494IN
0x013b399C...281a049B2
0 HYPE0.000084420.12
Exec_606Ba Xt77873732025-07-07 16:41:202 hrs ago1751906480IN
0x013b399C...281a049B2
0 HYPE0.000084420.12
Exec_606Ba Xt77873512025-07-07 16:40:592 hrs ago1751906459IN
0x013b399C...281a049B2
0 HYPE0.000105520.15
Exec_606Ba Xt77873372025-07-07 16:40:452 hrs ago1751906445IN
0x013b399C...281a049B2
0 HYPE0.000105520.15
Exec_606Ba Xt77873242025-07-07 16:40:322 hrs ago1751906432IN
0x013b399C...281a049B2
0 HYPE0.000084410.12
Exec_606Ba Xt77873062025-07-07 16:40:142 hrs ago1751906414IN
0x013b399C...281a049B2
0 HYPE0.0001060.15067343
Exec_606Ba Xt77872792025-07-07 16:39:482 hrs ago1751906388IN
0x013b399C...281a049B2
0 HYPE0.00010720.15238652
Exec_606Ba Xt77872592025-07-07 16:39:282 hrs ago1751906368IN
0x013b399C...281a049B2
0 HYPE0.0001060.15067343
Exec_606Ba Xt77872462025-07-07 16:39:152 hrs ago1751906355IN
0x013b399C...281a049B2
0 HYPE0.000212440.30197543
Exec_606Ba Xt77871932025-07-07 16:38:232 hrs ago1751906303IN
0x013b399C...281a049B2
0 HYPE0.000098480.14
Exec_606Ba Xt77871762025-07-07 16:38:062 hrs ago1751906286IN
0x013b399C...281a049B2
0 HYPE0.000098480.14
Exec_606Ba Xt77871552025-07-07 16:37:462 hrs ago1751906266IN
0x013b399C...281a049B2
0 HYPE0.000095670.136
Exec_606Ba Xt77871472025-07-07 16:37:382 hrs ago1751906258IN
0x013b399C...281a049B2
0 HYPE0.000091450.13
Exec_606Ba Xt77871192025-07-07 16:37:102 hrs ago1751906230IN
0x013b399C...281a049B2
0 HYPE0.000091450.13
Exec_606Ba Xt77871052025-07-07 16:36:572 hrs ago1751906217IN
0x013b399C...281a049B2
0 HYPE0.000101140.14377145
Exec_606Ba Xt77870782025-07-07 16:36:302 hrs ago1751906190IN
0x013b399C...281a049B2
0 HYPE0.000091450.13
Exec_606Ba Xt77870652025-07-07 16:36:172 hrs ago1751906177IN
0x013b399C...281a049B2
0 HYPE0.000092570.13158826
Exec_606Ba Xt77870382025-07-07 16:35:512 hrs ago1751906151IN
0x013b399C...281a049B2
0 HYPE0.000100240.14248673
Exec_606Ba Xt77870192025-07-07 16:35:322 hrs ago1751906132IN
0x013b399C...281a049B2
0 HYPE0.000095670.136
Exec_606Ba Xt77870002025-07-07 16:35:132 hrs ago1751906113IN
0x013b399C...281a049B2
0 HYPE0.000084420.12
Exec_606Ba Xt77869802025-07-07 16:34:542 hrs ago1751906094IN
0x013b399C...281a049B2
0 HYPE0.000091450.13
Exec_606Ba Xt77869612025-07-07 16:34:352 hrs ago1751906075IN
0x013b399C...281a049B2
0 HYPE0.000091450.13
Exec_606Ba Xt77869432025-07-07 16:34:172 hrs ago1751906057IN
0x013b399C...281a049B2
0 HYPE0.000107260.15247068
View all transactions

Advanced mode:
Parent Transaction Hash Block From To
View All Internal 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

Validator Index Block Amount
View All Withdrawals

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

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