Address Contract Verified
Address
0xe3cc16Cffa085C78e5D8144C74Fa97e4Fe53d68d
Balance
0 ETH
Nonce
1
Code Size
862 bytes
Creator
Create2 Deployer at tx 0x8615bf7e...7c83c2
Indexed Transactions
1 (24,437,425 → 24,437,425)
Gas Used (indexed)
263,780
Contract Bytecode
862 bytes
0x6080604052600436101561001257600080fd5b60003560e01c80631ba0e812146100cb5763ffa1ad741461003257600080fd5b346100c65760003660031901126100c65760408051906100528183610306565b602082527f4d756c7469526563656976655769746847617344726f704f66662d302e302e316020830152805180926020825280519081602084015260005b8281106100af5750506000828201840152601f01601f19168101030190f35b602082820181015187830187015286945001610090565b600080fd5b60603660031901126100c65760043567ffffffffffffffff81116100c6576100f79036906004016102d5565b60243567ffffffffffffffff81116100c6576101179036906004016102d5565b6044356001600160a01b038116939192908490036100c6578282036102bd57909236829003601e1901919060005b8581101561023957600581901b878101356001600160a01b03811691600091839003610221578784101561022557850135868112156102215785019182359267ffffffffffffffff841161021d57602001833603811361021d57813b1561021d578291849183604460405180988196829563f953cec760e01b845260206004850152816024850152848401378181018301849052601f01601f191681010301925af1801561021057906001939291610200575b505001610145565b61020991610306565b88806101f8565b50604051903d90823e3d90fd5b8280fd5b5080fd5b634e487b7160e01b82526032600452602482fd5b503461024157005b600080808034855af13d156102b8573d67ffffffffffffffff81116102a25760405190610278601f8201601f191660200183610306565b8152600060203d92013e5b1561028a57005b634913b37360e11b6000526004523460245260446000fd5b634e487b7160e01b600052604160045260246000fd5b610283565b50630135ce2d60e31b60005260045260245260446000fd5b9181601f840112156100c65782359167ffffffffffffffff83116100c6576020808501948460051b0101116100c657565b90601f8019910116810190811067ffffffffffffffff8211176102a25760405256fea26469706673582212203ac49255d300e0247651969f4206a6663fe1277458ef068b762168a30488508564736f6c634300081c0033
Verified Source Code Full Match
Compiler: v0.8.28+commit.7893614a
EVM: london
Optimization: Yes (200 runs)
MultiReceiveWithGasDropOff.sol 41 lines
// SPDX-License-Identifier: Apache 2
pragma solidity ^0.8.19;
import "./interfaces/IMultiReceiveWithGasDropOff.sol";
import "./interfaces/IReceiveMessage.sol";
string constant multiReceiverWithGasDropOffVersion = "MultiReceiveWithGasDropOff-0.0.1";
/// @title MultiReceiveWithGasDropOff
/// @author Executor Project Contributors.
/// @notice The MultiReceiveWithGasDropOff contract is a shim contract that does multiple message receives in a single call and drops off gas at the specified address.
contract MultiReceiveWithGasDropOff is IMultiReceiveWithGasDropOff {
string public constant VERSION = multiReceiverWithGasDropOffVersion;
// ==================== External Interface ===============================================
/// @inheritdoc IMultiReceiveWithGasDropOff
function receiveMessages(address[] calldata contracts, bytes[] calldata messages, address payeeAddress)
external
payable
{
if (contracts.length != messages.length) {
revert InvalidParameters(contracts.length, messages.length);
}
uint256 len = contracts.length;
for (uint256 idx = 0; idx < len;) {
IReceiveMessage(contracts[idx]).receiveMessage(messages[idx]);
unchecked {
idx++;
}
}
if (msg.value > 0) {
(bool dropOffSuccessful,) = payable(payeeAddress).call{value: msg.value}("");
if (!dropOffSuccessful) {
revert DropOffFailed(payeeAddress, msg.value);
}
}
}
}
IMultiReceiveWithGasDropOff.sol 15 lines
// SPDX-License-Identifier: Apache 2
pragma solidity ^0.8.19;
interface IMultiReceiveWithGasDropOff {
error InvalidParameters(uint256, uint256);
error DropOffFailed(address, uint256);
/// @notice Receive a series of messages on the specified contracts and do gas drop off if necessary.
/// @param contracts An array of contracts to receive messages.
/// @param messages An array of messages to be received, in lock-step with contracts.
/// @param payeeAddress The address to receive the gas drop off.
function receiveMessages(address[] calldata contracts, bytes[] calldata messages, address payeeAddress)
external
payable;
}
IReceiveMessage.sol 8 lines
// SPDX-License-Identifier: Apache 2
pragma solidity ^0.8.19;
interface IReceiveMessage {
/// @notice Receive an attested message.
/// @param encodedMessage The attested message.
function receiveMessage(bytes memory encodedMessage) external;
}
Read Contract
VERSION 0xffa1ad74 → string
Write Contract 1 functions
These functions modify contract state and require a wallet transaction to execute.
receiveMessages 0x1ba0e812
address[] contracts
bytes[] messages
address payeeAddress
Top Interactions
| Address | Txns | Sent | Received |
|---|---|---|---|
| 0x520559de...fa0E | 1 | 1 |
Recent Transactions
|
| Hash | Block | Age | From/To | Value | |
|---|---|---|---|---|---|
| 0xe2854d51...66e76e | 24,437,425 | IN | 0x520559de...fa0E | 0 ETH |