ETH Price: $1,798.94 (+10.46%)

Contract

0xa5F565650890fBA1824Ee0F21EbBbF660a179934
Transaction Hash
Method
Block
From
To
0x84717b75834054132025-04-23 10:50:5753 secs ago1745405457IN
Reservoir: Relay Receiver
0.0002 ETH0.000000330.01
0xcedc34e2834053832025-04-23 10:48:473 mins ago1745405327IN
Reservoir: Relay Receiver
0.005418 ETH0.000000330.01
0xb89a2832834053572025-04-23 10:43:278 mins ago1745405007IN
Reservoir: Relay Receiver
0.00018 ETH0.000000330.01
0xe6c4d5e8834053432025-04-23 10:40:4511 mins ago1745404845IN
Reservoir: Relay Receiver
0.0116203 ETH0.000000330.01
0xc8fbcb74834053322025-04-23 10:38:5312 mins ago1745404733IN
Reservoir: Relay Receiver
0.00007 ETH0.000000330.01
0x659b7cbd834053002025-04-23 10:35:2616 mins ago1745404526IN
Reservoir: Relay Receiver
0.01297886 ETH0.000000330.01
0xf48ca41c834052932025-04-23 10:34:3817 mins ago1745404478IN
Reservoir: Relay Receiver
0.00014 ETH0.000000330.01
0x82974f43834052422025-04-23 10:28:5422 mins ago1745404134IN
Reservoir: Relay Receiver
0.00013 ETH0.000000330.01
0xf87f1291834052362025-04-23 10:28:3423 mins ago1745404114IN
Reservoir: Relay Receiver
0.001 ETH0.000000330.01
0x99a08094834052272025-04-23 10:27:2624 mins ago1745404046IN
Reservoir: Relay Receiver
0.00013 ETH0.000000330.01
0x71d28bbc834052262025-04-23 10:26:4425 mins ago1745404004IN
Reservoir: Relay Receiver
0.00060461 ETH0.000000330.01
0x00c24532834052252025-04-23 10:26:2725 mins ago1745403987IN
Reservoir: Relay Receiver
0.00015 ETH0.000000330.01
0xcd7cd668834052072025-04-23 10:23:0028 mins ago1745403780IN
Reservoir: Relay Receiver
0.006 ETH0.000000330.01
0x285b52e4834051922025-04-23 10:21:4130 mins ago1745403701IN
Reservoir: Relay Receiver
0.00013 ETH0.000000330.01
0x13ce3c59834051842025-04-23 10:20:1531 mins ago1745403615IN
Reservoir: Relay Receiver
0.01322177 ETH0.000000330.01
0xc73b1634834051562025-04-23 10:17:5833 mins ago1745403478IN
Reservoir: Relay Receiver
0.00013 ETH0.000000330.01
0x52955138834051462025-04-23 10:17:0334 mins ago1745403423IN
Reservoir: Relay Receiver
0.00013 ETH0.000000330.01
0xb1e53a84834051072025-04-23 10:10:5041 mins ago1745403050IN
Reservoir: Relay Receiver
0.00013 ETH0.000000330.01
0x11d28eba834051032025-04-23 10:10:3241 mins ago1745403032IN
Reservoir: Relay Receiver
0.01306053 ETH0.000000330.01
0x176559fd834049832025-04-23 9:56:4555 mins ago1745402205IN
Reservoir: Relay Receiver
0.00148668 ETH0.000000330.01
0xe877f5e4834049772025-04-23 9:54:2957 mins ago1745402069IN
Reservoir: Relay Receiver
0.001 ETH0.000000330.01
0x6b54c03b834049232025-04-23 9:45:591 hr ago1745401559IN
Reservoir: Relay Receiver
0.00821 ETH0.000000330.01
0xd549721d834049142025-04-23 9:43:311 hr ago1745401411IN
Reservoir: Relay Receiver
0.00349281 ETH0.000000330.01
0xefe242be834049082025-04-23 9:41:061 hr ago1745401266IN
Reservoir: Relay Receiver
0.00015 ETH0.000000330.01
0xd964f0db834048652025-04-23 9:35:291 hr ago1745400929IN
Reservoir: Relay Receiver
0.00022043 ETH0.000000330.01
VIEW ADVANCED FILTER

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
834054132025-04-23 10:50:5753 secs ago1745405457
Reservoir: Relay Receiver
0.0002 ETH
834053832025-04-23 10:48:473 mins ago1745405327
Reservoir: Relay Receiver
0.005418 ETH
834053572025-04-23 10:43:278 mins ago1745405007
Reservoir: Relay Receiver
0.00018 ETH
834053432025-04-23 10:40:4511 mins ago1745404845
Reservoir: Relay Receiver
0.0116203 ETH
834053322025-04-23 10:38:5312 mins ago1745404733
Reservoir: Relay Receiver
0.00007 ETH
834053002025-04-23 10:35:2616 mins ago1745404526
Reservoir: Relay Receiver
0.01297886 ETH
834052932025-04-23 10:34:3817 mins ago1745404478
Reservoir: Relay Receiver
0.00014 ETH
834052422025-04-23 10:28:5422 mins ago1745404134
Reservoir: Relay Receiver
0.00013 ETH
834052362025-04-23 10:28:3423 mins ago1745404114
Reservoir: Relay Receiver
0.001 ETH
834052272025-04-23 10:27:2624 mins ago1745404046
Reservoir: Relay Receiver
0.00013 ETH
834052262025-04-23 10:26:4425 mins ago1745404004
Reservoir: Relay Receiver
0.00060461 ETH
834052252025-04-23 10:26:2725 mins ago1745403987
Reservoir: Relay Receiver
0.00015 ETH
834052072025-04-23 10:23:0028 mins ago1745403780
Reservoir: Relay Receiver
0.006 ETH
834051922025-04-23 10:21:4130 mins ago1745403701
Reservoir: Relay Receiver
0.00013 ETH
834051842025-04-23 10:20:1531 mins ago1745403615
Reservoir: Relay Receiver
0.01322177 ETH
834051562025-04-23 10:17:5833 mins ago1745403478
Reservoir: Relay Receiver
0.00013 ETH
834051462025-04-23 10:17:0334 mins ago1745403423
Reservoir: Relay Receiver
0.00013 ETH
834051072025-04-23 10:10:5041 mins ago1745403050
Reservoir: Relay Receiver
0.00013 ETH
834051032025-04-23 10:10:3241 mins ago1745403032
Reservoir: Relay Receiver
0.01306053 ETH
834049832025-04-23 9:56:4555 mins ago1745402205
Reservoir: Relay Receiver
0.00148668 ETH
834049772025-04-23 9:54:2957 mins ago1745402069
Reservoir: Relay Receiver
0.001 ETH
834049232025-04-23 9:45:591 hr ago1745401559
Reservoir: Relay Receiver
0.00821 ETH
834049142025-04-23 9:43:311 hr ago1745401411
Reservoir: Relay Receiver
0.00349281 ETH
834049082025-04-23 9:41:061 hr ago1745401266
Reservoir: Relay Receiver
0.00015 ETH
834048652025-04-23 9:35:291 hr ago1745400929
Reservoir: Relay Receiver
0.00022043 ETH
View All Internal Transactions

Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RelayReceiver

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 1 : RelayReceiver.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.23;

contract RelayReceiver {
    // --- Structs ---

    struct Call {
        address to;
        bytes data;
        uint256 value;
    }

    // --- Errors ---

    error CallFailed();
    error NativeTransferFailed();
    error Unauthorized();

    // --- Events ---

    event FundsForwardedWithData(bytes data);

    // --- Fields ---

    address private immutable SOLVER;

    // --- Constructor ---

    constructor(address solver) {
        SOLVER = solver;
    }

    // --- Public methods ---

    fallback() external payable {
        send(SOLVER, msg.value);
        emit FundsForwardedWithData(msg.data);
    }

    function forward(bytes calldata data) external payable {
        send(SOLVER, msg.value);
        emit FundsForwardedWithData(data);
    }

    // --- Restricted methods ---

    function makeCalls(Call[] calldata calls) external payable {
        if (msg.sender != SOLVER) {
            revert Unauthorized();
        }

        unchecked {
            uint256 length = calls.length;
            for (uint256 i; i < length; i++) {
                Call memory c = calls[i];

                (bool success, ) = c.to.call{value: c.value}(c.data);
                if (!success) {
                    revert CallFailed();
                }
            }
        }
    }

    // --- Internal methods ---

    function send(address to, uint256 value) internal {
        bool success;
        assembly {
            // Save gas by avoiding copying the return data to memory.
            // Provide at most 100k gas to the internal call, which is
            // more than enough to cover common use-cases of logic for
            // receiving native tokens (eg. SCW payable fallbacks).
            success := call(100000, to, value, 0, 0, 0, 0)
        }

        if (!success) {
            revert NativeTransferFailed();
        }
    }
}

Settings
{
  "remappings": [
    "@openzeppelin/=lib/openzeppelin-contracts/contracts/",
    "solady/=lib/solady/",
    "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
    "forge-std/=lib/forge-std/src/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "viaIR": true,
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"solver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"CallFailed","type":"error"},{"inputs":[],"name":"NativeTransferFailed","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"FundsForwardedWithData","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"forward","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"}],"internalType":"struct RelayReceiver.Call[]","name":"calls","type":"tuple[]"}],"name":"makeCalls","outputs":[],"stateMutability":"payable","type":"function"}]

60a03461007757601f6104e138819003918201601f19168301916001600160401b0383118484101761007c5780849260209460405283398101031261007757516001600160a01b03811681036100775760805260405161044e9081610093823960805181818160ab01528181610139015261037d0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610018575b610016610377565b005b6000803560e01c908163d948d4681461003b575063dd4ed8370361000e576100e9565b60203660031901126100e65760043567ffffffffffffffff8082116100e257366023830112156100e25781600401359081116100e25736602482840101116100e2577f936c2ca3b35d2d0b24057b0675c459e4515f48fe132d138e213ae59ffab7f53e916100dc6024926100cf347f00000000000000000000000000000000000000000000000000000000000000006103f3565b60405193849301836101e7565b0390a180f35b8280fd5b80fd5b6020806003193601126101e25760049067ffffffffffffffff9082358281116101e257366023820112156101e25780600401359283116101e2576024810190602436918560051b0101116101e2577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036101d15760005b83811061017357005b61018661018182868561020f565b6102c4565b805160009081906001600160a01b0316926040938785830151920151918883519301915af16101b3610351565b50156101c2575060010161016a565b51633204506f60e01b81528590fd5b6040516282b42960e81b8152600490fd5b600080fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91908110156102315760051b81013590605e19813603018212156101e2570190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b604051906060820182811067ffffffffffffffff82111761027d57604052565b610247565b6040519190601f01601f1916820167ffffffffffffffff81118382101761027d57604052565b67ffffffffffffffff811161027d57601f01601f191660200190565b6060813603126101e2576102d661025d565b9080356001600160a01b03811681036101e25782526020908181013567ffffffffffffffff81116101e25781019136601f840112156101e25782359061032361031e836102a8565b610282565b91808352368282870101116101e2578181600092826040980183870137840101528401520135604082015290565b3d15610372573d9061036561031e836102a8565b9182523d6000602084013e565b606090565b6103a1347f00000000000000000000000000000000000000000000000000000000000000006103f3565b7f936c2ca3b35d2d0b24057b0675c459e4515f48fe132d138e213ae59ffab7f53e604051602081523660208201523660006040830137600060403683010152604081601f19601f3601168101030190a1565b60008080938193620186a0f11561040657565b604051633d2cec6f60e21b8152600490fdfea2646970667358221220caf02629fd057cfee0cb6731c8eded184dc558da485e5cc6ee0bccec8e65dd0564736f6c63430008170033000000000000000000000000f70da97812cb96acdf810712aa562db8dfa3dbef

Deployed Bytecode

0x60806040526004361015610018575b610016610377565b005b6000803560e01c908163d948d4681461003b575063dd4ed8370361000e576100e9565b60203660031901126100e65760043567ffffffffffffffff8082116100e257366023830112156100e25781600401359081116100e25736602482840101116100e2577f936c2ca3b35d2d0b24057b0675c459e4515f48fe132d138e213ae59ffab7f53e916100dc6024926100cf347f000000000000000000000000f70da97812cb96acdf810712aa562db8dfa3dbef6103f3565b60405193849301836101e7565b0390a180f35b8280fd5b80fd5b6020806003193601126101e25760049067ffffffffffffffff9082358281116101e257366023820112156101e25780600401359283116101e2576024810190602436918560051b0101116101e2577f000000000000000000000000f70da97812cb96acdf810712aa562db8dfa3dbef6001600160a01b031633036101d15760005b83811061017357005b61018661018182868561020f565b6102c4565b805160009081906001600160a01b0316926040938785830151920151918883519301915af16101b3610351565b50156101c2575060010161016a565b51633204506f60e01b81528590fd5b6040516282b42960e81b8152600490fd5b600080fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91908110156102315760051b81013590605e19813603018212156101e2570190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b604051906060820182811067ffffffffffffffff82111761027d57604052565b610247565b6040519190601f01601f1916820167ffffffffffffffff81118382101761027d57604052565b67ffffffffffffffff811161027d57601f01601f191660200190565b6060813603126101e2576102d661025d565b9080356001600160a01b03811681036101e25782526020908181013567ffffffffffffffff81116101e25781019136601f840112156101e25782359061032361031e836102a8565b610282565b91808352368282870101116101e2578181600092826040980183870137840101528401520135604082015290565b3d15610372573d9061036561031e836102a8565b9182523d6000602084013e565b606090565b6103a1347f000000000000000000000000f70da97812cb96acdf810712aa562db8dfa3dbef6103f3565b7f936c2ca3b35d2d0b24057b0675c459e4515f48fe132d138e213ae59ffab7f53e604051602081523660208201523660006040830137600060403683010152604081601f19601f3601168101030190a1565b60008080938193620186a0f11561040657565b604051633d2cec6f60e21b8152600490fdfea2646970667358221220caf02629fd057cfee0cb6731c8eded184dc558da485e5cc6ee0bccec8e65dd0564736f6c63430008170033

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

000000000000000000000000f70da97812cb96acdf810712aa562db8dfa3dbef

-----Decoded View---------------
Arg [0] : solver (address): 0xf70da97812CB96acDF810712Aa562db8dfA3dbEF

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000f70da97812cb96acdf810712aa562db8dfa3dbef


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
[ 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.