ETH Price: $1,788.22 (+13.32%)

Contract

0xa5F565650890fBA1824Ee0F21EbBbF660a179934
Transaction Hash
Method
Block
From
To
0xb6a3296a834024472025-04-23 4:22:3410 mins ago1745382154IN
Reservoir: Relay Receiver
0.00099162 ETH0.000000330.01
0xfce20ecd834023702025-04-23 4:05:5627 mins ago1745381156IN
Reservoir: Relay Receiver
0.0088 ETH0.000000330.01
0x2232492f834020912025-04-23 3:12:331 hr ago1745377953IN
Reservoir: Relay Receiver
0.00116796 ETH0.000000330.01
0x05374761834020452025-04-23 3:03:591 hr ago1745377439IN
Reservoir: Relay Receiver
0.0009 ETH0.000000330.01
0x067f9c85834020142025-04-23 2:59:081 hr ago1745377148IN
Reservoir: Relay Receiver
0.00440235 ETH0.000000330.01
0x3785fda3834017072025-04-23 2:20:392 hrs ago1745374839IN
Reservoir: Relay Receiver
0.00092503 ETH0.000000330.01
0x71577fa8834016742025-04-23 2:16:592 hrs ago1745374619IN
Reservoir: Relay Receiver
0.00002832 ETH0.000000330.01
0x81cc1b1d834014532025-04-23 1:31:413 hrs ago1745371901IN
Reservoir: Relay Receiver
0.001 ETH0.000000330.01
0xa61322b0834012742025-04-23 0:59:103 hrs ago1745369950IN
Reservoir: Relay Receiver
0.00010979 ETH0.000000330.01
0x1d147e16834012552025-04-23 0:53:353 hrs ago1745369615IN
Reservoir: Relay Receiver
0.002742 ETH0.000000330.01
0x492279bf834011792025-04-23 0:34:043 hrs ago1745368444IN
Reservoir: Relay Receiver
0.00095771 ETH0.000000330.01
0xfcb8a824834011422025-04-23 0:23:394 hrs ago1745367819IN
Reservoir: Relay Receiver
0.0028 ETH0.000000330.01
0x0c42b22b834010512025-04-23 0:10:084 hrs ago1745367008IN
Reservoir: Relay Receiver
0.0045 ETH0.000000330.01
0x752f2248834010322025-04-23 0:03:404 hrs ago1745366620IN
Reservoir: Relay Receiver
0.0017 ETH0.000000340.01
0xe2bc8b80834010092025-04-23 0:01:264 hrs ago1745366486IN
Reservoir: Relay Receiver
0.0033 ETH0.000000340.01
0x1d982da7834009602025-04-22 23:51:034 hrs ago1745365863IN
Reservoir: Relay Receiver
0.0054 ETH0.000000340.01
0x36c8bc82834009532025-04-22 23:50:284 hrs ago1745365828IN
Reservoir: Relay Receiver
0.00098099 ETH0.000000340.01
0x638d5f0a834008772025-04-22 23:33:174 hrs ago1745364797IN
Reservoir: Relay Receiver
0.00096491 ETH0.000000340.01
0x681a55a4834008562025-04-22 23:29:025 hrs ago1745364542IN
Reservoir: Relay Receiver
0.004 ETH0.000000340.01
0x75ac290f834008422025-04-22 23:23:085 hrs ago1745364188IN
Reservoir: Relay Receiver
0.00009561 ETH0.000000340.01
0x91309808834005632025-04-22 22:28:076 hrs ago1745360887IN
Reservoir: Relay Receiver
0.00012946 ETH0.000000340.01
0x580ebf37834005082025-04-22 22:21:056 hrs ago1745360465IN
Reservoir: Relay Receiver
0.00013773 ETH0.000000340.01
0xfd4220fc834004312025-04-22 22:07:286 hrs ago1745359648IN
Reservoir: Relay Receiver
0.0004 ETH0.000000340.01
0x951e94c9834004182025-04-22 22:03:396 hrs ago1745359419IN
Reservoir: Relay Receiver
0.0004 ETH0.000000340.01
0x4fd11b45834003242025-04-22 21:50:516 hrs ago1745358651IN
Reservoir: Relay Receiver
0.00009574 ETH0.000000340.01
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
834024472025-04-23 4:22:3410 mins ago1745382154
Reservoir: Relay Receiver
0.00099162 ETH
834023702025-04-23 4:05:5627 mins ago1745381156
Reservoir: Relay Receiver
0.0088 ETH
834020912025-04-23 3:12:331 hr ago1745377953
Reservoir: Relay Receiver
0.00116796 ETH
834020452025-04-23 3:03:591 hr ago1745377439
Reservoir: Relay Receiver
0.0009 ETH
834020142025-04-23 2:59:081 hr ago1745377148
Reservoir: Relay Receiver
0.00440235 ETH
834017072025-04-23 2:20:392 hrs ago1745374839
Reservoir: Relay Receiver
0.00092503 ETH
834016742025-04-23 2:16:592 hrs ago1745374619
Reservoir: Relay Receiver
0.00002832 ETH
834014532025-04-23 1:31:413 hrs ago1745371901
Reservoir: Relay Receiver
0.001 ETH
834012742025-04-23 0:59:103 hrs ago1745369950
Reservoir: Relay Receiver
0.00010979 ETH
834012552025-04-23 0:53:353 hrs ago1745369615
Reservoir: Relay Receiver
0.002742 ETH
834011792025-04-23 0:34:043 hrs ago1745368444
Reservoir: Relay Receiver
0.00095771 ETH
834011422025-04-23 0:23:394 hrs ago1745367819
Reservoir: Relay Receiver
0.0028 ETH
834010512025-04-23 0:10:084 hrs ago1745367008
Reservoir: Relay Receiver
0.0045 ETH
834010322025-04-23 0:03:404 hrs ago1745366620
Reservoir: Relay Receiver
0.0017 ETH
834010092025-04-23 0:01:264 hrs ago1745366486
Reservoir: Relay Receiver
0.0033 ETH
834009602025-04-22 23:51:034 hrs ago1745365863
Reservoir: Relay Receiver
0.0054 ETH
834009532025-04-22 23:50:284 hrs ago1745365828
Reservoir: Relay Receiver
0.00098099 ETH
834008772025-04-22 23:33:174 hrs ago1745364797
Reservoir: Relay Receiver
0.00096491 ETH
834008562025-04-22 23:29:025 hrs ago1745364542
Reservoir: Relay Receiver
0.004 ETH
834008422025-04-22 23:23:085 hrs ago1745364188
Reservoir: Relay Receiver
0.00009561 ETH
834005632025-04-22 22:28:076 hrs ago1745360887
Reservoir: Relay Receiver
0.00012946 ETH
834005082025-04-22 22:21:056 hrs ago1745360465
Reservoir: Relay Receiver
0.00013773 ETH
834004312025-04-22 22:07:286 hrs ago1745359648
Reservoir: Relay Receiver
0.0004 ETH
834004182025-04-22 22:03:396 hrs ago1745359419
Reservoir: Relay Receiver
0.0004 ETH
834003242025-04-22 21:50:516 hrs ago1745358651
Reservoir: Relay Receiver
0.00009574 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.