Overview
ETH Balance
0 ETH
ETH Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 245 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Sponsored Call V... | 6411542 | 1 hr ago | IN | 0 ETH | 0.00000554 | ||||
Sponsored Call V... | 6406284 | 2 hrs ago | IN | 0 ETH | 0.00000546 | ||||
Sponsored Call V... | 6400998 | 4 hrs ago | IN | 0 ETH | 0.00000635 | ||||
Sponsored Call V... | 6395704 | 5 hrs ago | IN | 0 ETH | 0.00000711 | ||||
Sponsored Call V... | 6390543 | 7 hrs ago | IN | 0 ETH | 0.00000577 | ||||
Sponsored Call V... | 6385283 | 8 hrs ago | IN | 0 ETH | 0.0000064 | ||||
Sponsored Call V... | 6380027 | 10 hrs ago | IN | 0 ETH | 0.00000542 | ||||
Sponsored Call V... | 6374783 | 11 hrs ago | IN | 0 ETH | 0.00000541 | ||||
Sponsored Call V... | 6369481 | 13 hrs ago | IN | 0 ETH | 0.00000541 | ||||
Sponsored Call V... | 6364190 | 14 hrs ago | IN | 0 ETH | 0.00000544 | ||||
Sponsored Call V... | 6358925 | 16 hrs ago | IN | 0 ETH | 0.00000541 | ||||
Sponsored Call V... | 6353642 | 17 hrs ago | IN | 0 ETH | 0.00000542 | ||||
Sponsored Call V... | 6348343 | 19 hrs ago | IN | 0 ETH | 0.00000541 | ||||
Sponsored Call V... | 6343056 | 20 hrs ago | IN | 0 ETH | 0.00000541 | ||||
Sponsored Call V... | 6337821 | 22 hrs ago | IN | 0 ETH | 0.00000473 | ||||
Sponsored Call V... | 6332604 | 23 hrs ago | IN | 0 ETH | 0.00000546 | ||||
Sponsored Call V... | 6327366 | 25 hrs ago | IN | 0 ETH | 0.0000055 | ||||
Sponsored Call V... | 6322058 | 26 hrs ago | IN | 0 ETH | 0.00000602 | ||||
Sponsored Call V... | 6316754 | 28 hrs ago | IN | 0 ETH | 0.00000642 | ||||
Sponsored Call V... | 6311486 | 29 hrs ago | IN | 0 ETH | 0.00000602 | ||||
Sponsored Call V... | 6306242 | 31 hrs ago | IN | 0 ETH | 0.00000545 | ||||
Sponsored Call V... | 6300994 | 32 hrs ago | IN | 0 ETH | 0.0000058 | ||||
Sponsored Call V... | 6295779 | 34 hrs ago | IN | 0 ETH | 0.00000544 | ||||
Sponsored Call V... | 6290606 | 35 hrs ago | IN | 0 ETH | 0.00000567 | ||||
Sponsored Call V... | 6285460 | 37 hrs ago | IN | 0 ETH | 0.00000541 |
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
4537589 | 22 days ago | Contract Creation | 0 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
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
Contract Source Code (Solidity Standard Json-Input format)
// 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(); } }
// 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; }
// SPDX-License-Identifier: MIT pragma solidity 0.8.20; interface IGelato1BalanceV2 { event LogUseGelato1BalanceV2(); }
// 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; } }
// 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)) } } }
{ "evmVersion": "paris", "optimizer": { "enabled": true, "mode": "3" }, "outputSelection": { "*": { "*": [ "abi" ] } }, "detectMissingLibraries": false, "forceEVMLA": false, "enableEraVMExtensions": true, "codegen": "evmla", "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
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"}]
Contract Creation Code
9c4d535b00000000000000000000000000000000000000000000000000000000000000000100006996d72ead2e379595572a89652e311d32808a7af8886b2f17469f289d00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x00040000000000020000008003000039000000400030043f00000001002001900000008f0000c13d00000060021002700000005403200197000000040030008c000001080000413d000000000201043b0000005602200197000000570020009c000001080000c13d000000a40030008c000001080000413d0000000002000416000000000002004b000001080000c13d0000000402100370000000000202043b000000580020009c000001080000213d0000002404100370000000000504043b000000590050009c000001080000213d0000002304500039000000000034004b000001080000813d0000000404500039000000000641034f000000000906043b000000590090009c000001080000213d00000000059500190000002405500039000000000035004b000001080000213d000000c003000039000000400030043f0000001c05000039000000800050043f0000005a05000041000000a00050043f0000002004400039000000000441034f00000067059001980000001f0690018f000000c001500039000000370000613d000000000704034f000000007807043c0000000003830436000000000013004b000000330000c13d000000000006004b000000440000613d000000000354034f0000000304600210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000c0019000390000000000010435000000540090009c000000540900804100000060019002100000000003000414000000540030009c0000005403008041000000c003300210000000000131019f0000005b011001c7000400000002001d014a01400000040f00000060031002700000005403300198000000970000c13d000000600a000039000000800900003900000000010a04330000000100200190000000be0000613d000000000001004b000000fb0000c13d00000060010000410000000000100443000000040100002900000004001004430000000001000414000000540010009c0000005401008041000000c00110021000000061011001c70000800202000039014a01450000040f00000001002001900000010a0000613d000000400200043d0000002004200039000000000101043b000000800300043d000000000003004b000000760000613d00000000050000190000000006450019000000a007500039000000000707043300000000007604350000002005500039000000000035004b0000006f0000413d00000000044300190000006205000041000000000054043500000014043000390000000000420435000000530330003900000067033001970000000004230019000000000034004b00000000030000390000000103004039000000590040009c000000ed0000213d0000000100300190000000ed0000c13d000000400040043f000000000001004b000000fb0000c13d0000005f0100004100000000001404350000000401400039000400000004001d014a012a0000040f0000000402000029000000e40000013d0000000001000416000000000001004b000001080000c13d00000020010000390000010000100443000001200000044300000055010000410000014b0001042e0000001f043000390000005c044001970000003f044000390000005d04400197000000400a00043d00000000044a00190000000000a4004b00000000050000390000000105004039000000590040009c000000ed0000213d0000000100500190000000ed0000c13d000000400040043f0000001f0430018f00000000093a04360000005e053001980000000003590019000000b00000613d000000000601034f0000000007090019000000006806043c0000000007870436000000000037004b000000ac0000c13d000000000004004b000000560000613d000000000151034f0000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000130435000000560000013d0000001f0210018f000000040020008c000000f30000c13d000000000209043300000056022001970000005f0020009c000000f30000c13d000000800300043d000300000003001d000000400100043d000400000001001d0000002002100039000200000002001d000000a00100003900010000000a001d014a011d0000040f00000002020000290000000302200029000000010400002900000044014000390000000003010433000200000003001d0000006401400039014a011d0000040f00000002020000290000000302200029000000040100002900000000002104350000002002200039014a010b0000040f0000005f01000041000000400200043d000300000002001d000000000012043500000004012000390000000402000029014a012a0000040f00000003020000290000000001210049000000540010009c00000054010080410000006001100210000000540020009c00000054020080410000004002200210000000000121019f0000014c000104300000006501000041000000000010043f0000004101000039000000040010043f00000066010000410000014c00010430000000540090009c00000054090080410000004002900210000000540010009c00000054010080410000006001100210000000000121019f0000014c000104300000000001000414000000540010009c0000005401008041000000c00110021000000063011001c70000800d0200003900000001030000390000006404000041014a01400000040f0000000100200190000001080000613d00000000010000190000014b0001042e00000000010000190000014c00010430000000000001042f0000001f0220003900000067022001970000000001120019000000000021004b00000000020000390000000102004039000000590010009c000001170000213d0000000100200190000001170000c13d000000400010043f000000000001042d0000006501000041000000000010043f0000004101000039000000040010043f00000066010000410000014c00010430000000000003004b000001270000613d000000000400001900000000052400190000000006140019000000000606043300000000006504350000002004400039000000000034004b000001200000413d00000000012300190000000000010435000000000001042d00000020030000390000000004310436000000003202043400000000002404350000004001100039000000000002004b000001390000613d000000000400001900000000051400190000000006430019000000000606043300000000006504350000002004400039000000000024004b000001320000413d000000000312001900000000000304350000001f0220003900000067022001970000000001210019000000000001042d000000000001042f00000143002104210000000102000039000000000001042d0000000002000019000000000001042d00000148002104230000000102000039000000000001042d0000000002000019000000000001042d0000014a000004320000014b0001042e0000014c0001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000200000000000000000000000000000040000001000000000000000000ffffffff00000000000000000000000000000000000000000000000000000000ad718d2a00000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff47656c61746f52656c61792e73706f6e736f72656443616c6c56323a000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000003ffffffe000000000000000000000000000000000000000000000000000000000ffffffe008c379a0000000000000000000000000000000000000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b83020000020000000000000000000000000000002400000000000000000000000043616c6c20746f206e6f6e20636f6e747261637400000000000000000000000002000000000000000000000000000000000000000000000000000000000000008e4f8b7f1299a63a6b46587ec357933d2006e5697cd46d99297e670cee1dbeb14e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841bbebb0e8ca42dfa4a37446502e3b4e307b10c4162a4855f09c57ff3f392b7
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
[ 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.