Source Code
Latest 25 from a total of 3,023 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Exec_606Ba Xt | 25683653 | 7 hrs ago | IN | 0 HYPE | 0.00377696 | ||||
| Exec_606Ba Xt | 25188912 | 5 days ago | IN | 0 HYPE | 0.0000256 | ||||
| Exec_606Ba Xt | 25155695 | 6 days ago | IN | 0 HYPE | 0.00147453 | ||||
| Exec_606Ba Xt | 25155674 | 6 days ago | IN | 0 HYPE | 0.00184885 | ||||
| Exec_606Ba Xt | 25155662 | 6 days ago | IN | 0 HYPE | 0.00237027 | ||||
| Exec_606Ba Xt | 25090752 | 7 days ago | IN | 0 HYPE | 0.00009146 | ||||
| Exec_606Ba Xt | 25090745 | 7 days ago | IN | 0 HYPE | 0.00011176 | ||||
| Exec_606Ba Xt | 25090734 | 7 days ago | IN | 0 HYPE | 0.0000264 | ||||
| Exec_606Ba Xt | 25090731 | 7 days ago | IN | 0 HYPE | 0.00002935 | ||||
| Exec_606Ba Xt | 25090719 | 7 days ago | IN | 0 HYPE | 0.00028834 | ||||
| Exec_606Ba Xt | 25090707 | 7 days ago | IN | 0 HYPE | 0.00003494 | ||||
| Exec_606Ba Xt | 25090691 | 7 days ago | IN | 0 HYPE | 0.00002844 | ||||
| Exec_606Ba Xt | 25090687 | 7 days ago | IN | 0 HYPE | 0.00014437 | ||||
| Exec_606Ba Xt | 25090681 | 7 days ago | IN | 0 HYPE | 0.0000264 | ||||
| Exec_606Ba Xt | 25090677 | 7 days ago | IN | 0 HYPE | 0.0000333 | ||||
| Exec_606Ba Xt | 25090667 | 7 days ago | IN | 0 HYPE | 0.00003038 | ||||
| Exec_606Ba Xt | 25090662 | 7 days ago | IN | 0 HYPE | 0.00003138 | ||||
| Exec_606Ba Xt | 25090654 | 7 days ago | IN | 0 HYPE | 0.00003037 | ||||
| Exec_606Ba Xt | 25090649 | 7 days ago | IN | 0 HYPE | 0.00003163 | ||||
| Exec_606Ba Xt | 25090620 | 7 days ago | IN | 0 HYPE | 0.00003892 | ||||
| Exec_606Ba Xt | 25090609 | 7 days ago | IN | 0 HYPE | 0.00002865 | ||||
| Exec_606Ba Xt | 25090601 | 7 days ago | IN | 0 HYPE | 0.00008171 | ||||
| Exec_606Ba Xt | 25090599 | 7 days ago | IN | 0 HYPE | 0.00009656 | ||||
| Exec_606Ba Xt | 25090587 | 7 days ago | IN | 0 HYPE | 0.00010111 | ||||
| Exec_606Ba Xt | 25090563 | 7 days ago | IN | 0 HYPE | 0.00003576 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Executor
Compiler Version
v0.8.25+commit.b61c2a91
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// 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)))
}
}
}{
"libraries": {
".sol": {}
},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$358.70
Net Worth in HYPE
Token Allocations
KHYPE
92.04%
WHYPE
3.18%
STHYPE
2.39%
Others
2.39%
Multichain Portfolio | 35 Chains
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.