ETH Price: $1,526.74 (-8.63%)

Contract

0x23aBA6c567bFdB2D2296ddA233f496064dad4d33

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sponsored Call V...64115422025-04-10 21:18:111 hr ago1744319891IN
0x23aBA6c5...64dad4d33
0 ETH0.000005540.05096527
Sponsored Call V...64062842025-04-10 19:47:522 hrs ago1744314472IN
0x23aBA6c5...64dad4d33
0 ETH0.000005460.049775
Sponsored Call V...64009982025-04-10 18:17:324 hrs ago1744309052IN
0x23aBA6c5...64dad4d33
0 ETH0.000006350.049775
Sponsored Call V...63957042025-04-10 16:47:105 hrs ago1744303630IN
0x23aBA6c5...64dad4d33
0 ETH0.000007110.049775
Sponsored Call V...63905432025-04-10 15:16:567 hrs ago1744298216IN
0x23aBA6c5...64dad4d33
0 ETH0.000005770.05046155
Sponsored Call V...63852832025-04-10 13:46:378 hrs ago1744292797IN
0x23aBA6c5...64dad4d33
0 ETH0.00000640.049775
Sponsored Call V...63800272025-04-10 12:16:1810 hrs ago1744287378IN
0x23aBA6c5...64dad4d33
0 ETH0.000005420.04983333
Sponsored Call V...63747832025-04-10 10:46:0011 hrs ago1744281960IN
0x23aBA6c5...64dad4d33
0 ETH0.000005410.049775
Sponsored Call V...63694812025-04-10 9:15:4113 hrs ago1744276541IN
0x23aBA6c5...64dad4d33
0 ETH0.000005410.049775
Sponsored Call V...63641902025-04-10 7:45:0214 hrs ago1744271102IN
0x23aBA6c5...64dad4d33
0 ETH0.000005440.049775
Sponsored Call V...63589252025-04-10 6:14:4116 hrs ago1744265681IN
0x23aBA6c5...64dad4d33
0 ETH0.000005410.049775
Sponsored Call V...63536422025-04-10 4:44:2217 hrs ago1744260262IN
0x23aBA6c5...64dad4d33
0 ETH0.000005420.049852
Sponsored Call V...63483432025-04-10 3:14:0419 hrs ago1744254844IN
0x23aBA6c5...64dad4d33
0 ETH0.000005410.049775
Sponsored Call V...63430562025-04-10 1:43:4420 hrs ago1744249424IN
0x23aBA6c5...64dad4d33
0 ETH0.000005410.049775
Sponsored Call V...63378212025-04-10 0:13:2422 hrs ago1744244004IN
0x23aBA6c5...64dad4d33
0 ETH0.000004730.049775
Sponsored Call V...63326042025-04-09 22:43:0523 hrs ago1744238585IN
0x23aBA6c5...64dad4d33
0 ETH0.000005460.049775
Sponsored Call V...63273662025-04-09 21:12:4225 hrs ago1744233162IN
0x23aBA6c5...64dad4d33
0 ETH0.00000550.049775
Sponsored Call V...63220582025-04-09 19:42:2626 hrs ago1744227746IN
0x23aBA6c5...64dad4d33
0 ETH0.000006020.0504172
Sponsored Call V...63167542025-04-09 18:11:3928 hrs ago1744222299IN
0x23aBA6c5...64dad4d33
0 ETH0.000006420.049775
Sponsored Call V...63114862025-04-09 16:41:1229 hrs ago1744216872IN
0x23aBA6c5...64dad4d33
0 ETH0.000006020.05526537
Sponsored Call V...63062422025-04-09 15:10:5231 hrs ago1744211452IN
0x23aBA6c5...64dad4d33
0 ETH0.000005450.049775
Sponsored Call V...63009942025-04-09 13:40:3232 hrs ago1744206032IN
0x23aBA6c5...64dad4d33
0 ETH0.00000580.05326798
Sponsored Call V...62957792025-04-09 12:10:1534 hrs ago1744200615IN
0x23aBA6c5...64dad4d33
0 ETH0.000005440.04988823
Sponsored Call V...62906062025-04-09 10:39:5735 hrs ago1744195197IN
0x23aBA6c5...64dad4d33
0 ETH0.000005670.05211699
Sponsored Call V...62854602025-04-09 9:09:3937 hrs ago1744189779IN
0x23aBA6c5...64dad4d33
0 ETH0.000005410.049775
VIEW ADVANCED FILTER

Latest 1 internal transaction

Parent Transaction Hash Block From To
45375892025-03-19 10:55:0422 days ago1742381704  Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GelatoRelay1BalanceV2

Compiler Version
v0.8.20+commit.a1b79de6

ZkSolc Version
v1.5.11

Optimization Enabled:
Yes with Mode 3

Other Settings:
paris EvmVersion
File 1 of 5 : GelatoRelay1BalanceV2.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;

import {IGelatoRelay1BalanceV2} from "./interfaces/IGelatoRelay1BalanceV2.sol";
import {IGelato1BalanceV2} from "./interfaces/IGelato1BalanceV2.sol";
import {GelatoCallUtils} from "./lib/GelatoCallUtils.sol";

/// @title  Gelato Relay V2 contract
/// @notice This contract deals with Gelato 1Balance payments
/// @dev    This contract must NEVER hold funds!
/// @dev    Maliciously crafted transaction payloads could wipe out any funds left here
// solhint-disable-next-line max-states-count
contract GelatoRelay1BalanceV2 is IGelatoRelay1BalanceV2, IGelato1BalanceV2 {
    using GelatoCallUtils for address;

    /// @notice Relay call + One Balance payment - with sponsor authentication
    /// @dev    This method can be called directly without passing through the diamond
    /// @dev    The validity of the emitted LogUseGelato1BalanceV2 event must be verified off-chain
    /// @dev    Payment is handled with off-chain accounting using Gelato's 1Balance system
    /// @param _target Relay call target
    /// @param _data Relay call data
    /// @param _correlationId Unique task identifier generated by gelato
    /// Signature is split into `r` and `vs` - See https://eips.ethereum.org/EIPS/eip-2098
    /// @param _r Checker signature
    /// @param _vs Checker signature
    function sponsoredCallV2(
        address _target,
        bytes calldata _data,
        bytes32 _correlationId,
        bytes32 _r,
        bytes32 _vs
    ) external {
        // These parameters are decoded from calldata
        (_correlationId);
        (_r);
        (_vs);

        // INTERACTIONS
        _target.revertingContractCallNoCopy(
            _data,
            "GelatoRelay.sponsoredCallV2:"
        );

        emit LogUseGelato1BalanceV2();
    }
}

File 2 of 5 : IGelatoRelay1BalanceV2.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;

interface IGelatoRelay1BalanceV2 {
    function sponsoredCallV2(
        address _target,
        bytes calldata _data,
        bytes32 _correlationId,
        bytes32 _r,
        bytes32 _vs
    ) external;
}

File 3 of 5 : IGelato1BalanceV2.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;

interface IGelato1BalanceV2 {
    event LogUseGelato1BalanceV2();
}

File 4 of 5 : GelatoCallUtils.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;

import {GelatoBytes} from "./GelatoBytes.sol";

library GelatoCallUtils {
    using GelatoBytes for bytes;

    function revertingContractCall(
        address _contract,
        bytes memory _data,
        string memory _errorMsg
    ) internal returns (bytes memory returndata) {
        bool success;
        (success, returndata) = _contract.call(_data);

        // solhint-disable-next-line max-line-length
        // https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/blob/f9b6fc3fdab7aca33a9cfa8837c5cd7f67e176be/contracts/utils/AddressUpgradeable.sol#L177
        if (success) {
            if (returndata.length == 0) {
                // only check isContract if the call was successful and the return data is empty
                // otherwise we already know that it was a contract
                require(
                    isContract(_contract),
                    string(abi.encodePacked(_errorMsg, "Call to non contract"))
                );
            }
        } else {
            returndata.revertWithError(_errorMsg);
        }
    }

    function revertingContractCallNoCopy(
        address _contract,
        bytes calldata _data,
        string memory _errorMsg
    ) internal returns (bytes memory returndata) {
        bool success;
        (success, returndata) = _contract.call(_data);

        // solhint-disable-next-line max-line-length
        // https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/blob/f9b6fc3fdab7aca33a9cfa8837c5cd7f67e176be/contracts/utils/AddressUpgradeable.sol#L177
        if (success) {
            if (returndata.length == 0) {
                // only check isContract if the call was successful and the return data is empty
                // otherwise we already know that it was a contract
                require(
                    isContract(_contract),
                    string(abi.encodePacked(_errorMsg, "Call to non contract"))
                );
            }
        } else {
            returndata.revertWithError(_errorMsg);
        }
    }

    // solhint-disable-next-line max-line-length
    // https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/blob/f9b6fc3fdab7aca33a9cfa8837c5cd7f67e176be/contracts/utils/AddressUpgradeable.sol#L36
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize/address.code.length, which returns 0
        // for contracts in construction, since the code is only stored at the end
        // of the constructor execution.

        return account.code.length > 0;
    }
}

File 5 of 5 : GelatoBytes.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;

library GelatoBytes {
    function calldataSliceSelector(
        bytes calldata _bytes
    ) internal pure returns (bytes4 selector) {
        selector =
            _bytes[0] |
            (bytes4(_bytes[1]) >> 8) |
            (bytes4(_bytes[2]) >> 16) |
            (bytes4(_bytes[3]) >> 24);
    }

    function memorySliceSelector(
        bytes memory _bytes
    ) internal pure returns (bytes4 selector) {
        selector =
            _bytes[0] |
            (bytes4(_bytes[1]) >> 8) |
            (bytes4(_bytes[2]) >> 16) |
            (bytes4(_bytes[3]) >> 24);
    }

    function revertWithError(
        bytes memory _bytes,
        string memory _tracingInfo
    ) internal pure {
        // 68: 32-location, 32-length, 4-ErrorSelector, UTF-8 err
        if (_bytes.length % 32 == 4) {
            bytes4 selector;
            assembly {
                selector := mload(add(0x20, _bytes))
            }
            if (selector == 0x08c379a0) {
                // Function selector for Error(string)
                assembly {
                    _bytes := add(_bytes, 68)
                }
                revert(string(abi.encodePacked(_tracingInfo, string(_bytes))));
            }
        }

        // Bubble up unrecognised errors directly
        assembly {
            revert(add(_bytes, 0x20), mload(_bytes))
        }
    }
}

Settings
{
  "evmVersion": "paris",
  "optimizer": {
    "enabled": true,
    "mode": "3"
  },
  "outputSelection": {
    "*": {
      "*": [
        "abi"
      ]
    }
  },
  "detectMissingLibraries": false,
  "forceEVMLA": false,
  "enableEraVMExtensions": true,
  "codegen": "evmla",
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[],"name":"LogUseGelato1BalanceV2","type":"event"},{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"bytes32","name":"_correlationId","type":"bytes32"},{"internalType":"bytes32","name":"_r","type":"bytes32"},{"internalType":"bytes32","name":"_vs","type":"bytes32"}],"name":"sponsoredCallV2","outputs":[],"stateMutability":"nonpayable","type":"function"}]

9c4d535b00000000000000000000000000000000000000000000000000000000000000000100006996d72ead2e379595572a89652e311d32808a7af8886b2f17469f289d00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x00040000000000020000008003000039000000400030043f00000001002001900000008f0000c13d00000060021002700000005403200197000000040030008c000001080000413d000000000201043b0000005602200197000000570020009c000001080000c13d000000a40030008c000001080000413d0000000002000416000000000002004b000001080000c13d0000000402100370000000000202043b000000580020009c000001080000213d0000002404100370000000000504043b000000590050009c000001080000213d0000002304500039000000000034004b000001080000813d0000000404500039000000000641034f000000000906043b000000590090009c000001080000213d00000000059500190000002405500039000000000035004b000001080000213d000000c003000039000000400030043f0000001c05000039000000800050043f0000005a05000041000000a00050043f0000002004400039000000000441034f00000067059001980000001f0690018f000000c001500039000000370000613d000000000704034f000000007807043c0000000003830436000000000013004b000000330000c13d000000000006004b000000440000613d000000000354034f0000000304600210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000c0019000390000000000010435000000540090009c000000540900804100000060019002100000000003000414000000540030009c0000005403008041000000c003300210000000000131019f0000005b011001c7000400000002001d014a01400000040f00000060031002700000005403300198000000970000c13d000000600a000039000000800900003900000000010a04330000000100200190000000be0000613d000000000001004b000000fb0000c13d00000060010000410000000000100443000000040100002900000004001004430000000001000414000000540010009c0000005401008041000000c00110021000000061011001c70000800202000039014a01450000040f00000001002001900000010a0000613d000000400200043d0000002004200039000000000101043b000000800300043d000000000003004b000000760000613d00000000050000190000000006450019000000a007500039000000000707043300000000007604350000002005500039000000000035004b0000006f0000413d00000000044300190000006205000041000000000054043500000014043000390000000000420435000000530330003900000067033001970000000004230019000000000034004b00000000030000390000000103004039000000590040009c000000ed0000213d0000000100300190000000ed0000c13d000000400040043f000000000001004b000000fb0000c13d0000005f0100004100000000001404350000000401400039000400000004001d014a012a0000040f0000000402000029000000e40000013d0000000001000416000000000001004b000001080000c13d00000020010000390000010000100443000001200000044300000055010000410000014b0001042e0000001f043000390000005c044001970000003f044000390000005d04400197000000400a00043d00000000044a00190000000000a4004b00000000050000390000000105004039000000590040009c000000ed0000213d0000000100500190000000ed0000c13d000000400040043f0000001f0430018f00000000093a04360000005e053001980000000003590019000000b00000613d000000000601034f0000000007090019000000006806043c0000000007870436000000000037004b000000ac0000c13d000000000004004b000000560000613d000000000151034f0000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000130435000000560000013d0000001f0210018f000000040020008c000000f30000c13d000000000209043300000056022001970000005f0020009c000000f30000c13d000000800300043d000300000003001d000000400100043d000400000001001d0000002002100039000200000002001d000000a00100003900010000000a001d014a011d0000040f00000002020000290000000302200029000000010400002900000044014000390000000003010433000200000003001d0000006401400039014a011d0000040f00000002020000290000000302200029000000040100002900000000002104350000002002200039014a010b0000040f0000005f01000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029014a012a0000040f00000003020000290000000001210049000000540010009c00000054010080410000006001100210000000540020009c00000054020080410000004002200210000000000121019f0000014c000104300000006501000041000000000010043f0000004101000039000000040010043f00000066010000410000014c00010430000000540090009c00000054090080410000004002900210000000540010009c00000054010080410000006001100210000000000121019f0000014c000104300000000001000414000000540010009c0000005401008041000000c00110021000000063011001c70000800d0200003900000001030000390000006404000041014a01400000040f0000000100200190000001080000613d00000000010000190000014b0001042e00000000010000190000014c00010430000000000001042f0000001f0220003900000067022001970000000001120019000000000021004b00000000020000390000000102004039000000590010009c000001170000213d0000000100200190000001170000c13d000000400010043f000000000001042d0000006501000041000000000010043f0000004101000039000000040010043f00000066010000410000014c00010430000000000003004b000001270000613d000000000400001900000000052400190000000006140019000000000606043300000000006504350000002004400039000000000034004b000001200000413d00000000012300190000000000010435000000000001042d00000020030000390000000004310436000000003202043400000000002404350000004001100039000000000002004b000001390000613d000000000400001900000000051400190000000006430019000000000606043300000000006504350000002004400039000000000024004b000001320000413d000000000312001900000000000304350000001f0220003900000067022001970000000001210019000000000001042d000000000001042f00000143002104210000000102000039000000000001042d0000000002000019000000000001042d00000148002104230000000102000039000000000001042d0000000002000019000000000001042d0000014a000004320000014b0001042e0000014c0001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000200000000000000000000000000000040000001000000000000000000ffffffff00000000000000000000000000000000000000000000000000000000ad718d2a00000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff47656c61746f52656c61792e73706f6e736f72656443616c6c56323a000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000003ffffffe000000000000000000000000000000000000000000000000000000000ffffffe008c379a0000000000000000000000000000000000000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b83020000020000000000000000000000000000002400000000000000000000000043616c6c20746f206e6f6e20636f6e747261637400000000000000000000000002000000000000000000000000000000000000000000000000000000000000008e4f8b7f1299a63a6b46587ec357933d2006e5697cd46d99297e670cee1dbeb14e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841bbebb0e8ca42dfa4a37446502e3b4e307b10c4162a4855f09c57ff3f392b7

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