This nametag was submitted by Kleros Scout.
Latest 25 from a total of 260,644 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Sponsored Call V... | 135803381 | 260 days ago | IN | 0 ETH | 0.000000064956 | ||||
| Sponsored Call V... | 135799366 | 260 days ago | IN | 0 ETH | 0.000000042353 | ||||
| Sponsored Call V... | 135799366 | 260 days ago | IN | 0 ETH | 0.000000080609 | ||||
| Sponsored Call V... | 135799365 | 260 days ago | IN | 0 ETH | 0.00000011419 | ||||
| Sponsored Call V... | 135797980 | 260 days ago | IN | 0 ETH | 0.000000045692 | ||||
| Sponsored Call V... | 135794683 | 260 days ago | IN | 0 ETH | 0.000000101167 | ||||
| Sponsored Call V... | 135792580 | 260 days ago | IN | 0 ETH | 0.000000045113 | ||||
| Sponsored Call V... | 135789287 | 261 days ago | IN | 0 ETH | 0.000000046893 | ||||
| Sponsored Call V... | 135787180 | 261 days ago | IN | 0 ETH | 0.000000082408 | ||||
| Sponsored Call V... | 135781780 | 261 days ago | IN | 0 ETH | 0.000000165583 | ||||
| Sponsored Call V... | 135776380 | 261 days ago | IN | 0 ETH | 0.000000145519 | ||||
| Sponsored Call V... | 135770981 | 261 days ago | IN | 0 ETH | 0.000000124281 | ||||
| Sponsored Call V... | 135765580 | 261 days ago | IN | 0 ETH | 0.000000063021 | ||||
| Sponsored Call V... | 135760179 | 261 days ago | IN | 0 ETH | 0.00000004342 | ||||
| Sponsored Call V... | 135754781 | 261 days ago | IN | 0 ETH | 0.000000043779 | ||||
| Sponsored Call V... | 135749678 | 261 days ago | IN | 0 ETH | 0.00000002312 | ||||
| Sponsored Call V... | 135748483 | 262 days ago | IN | 0 ETH | 0.000000035278 | ||||
| Sponsored Call V... | 135743981 | 262 days ago | IN | 0 ETH | 0.000000040982 | ||||
| Sponsored Call V... | 135741280 | 262 days ago | IN | 0 ETH | 0.000000106322 | ||||
| Sponsored Call V... | 135738586 | 262 days ago | IN | 0 ETH | 0.000000381485 | ||||
| Sponsored Call V... | 135733179 | 262 days ago | IN | 0 ETH | 0.000000262269 | ||||
| Sponsored Call V... | 135731365 | 262 days ago | IN | 0 ETH | 0.000000398097 | ||||
| Sponsored Call V... | 135731364 | 262 days ago | IN | 0 ETH | 0.000000451177 | ||||
| Sponsored Call V... | 135729880 | 262 days ago | IN | 0 ETH | 0.000000278932 | ||||
| Sponsored Call V... | 135722382 | 262 days ago | IN | 0 ETH | 0.000000156065 |
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 115546128 | 729 days ago | Contract Creation | 0 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
GelatoRelay1BalanceV2
Compiler Version
v0.8.20+commit.a1b79de6
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.revertingContractCall(_data, "GelatoRelay.sponsoredCallV2:");
emit LogUseGelato1BalanceV2();
}
}// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;
interface IGelato1BalanceV2 {
event 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;
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))));
} else {
revert(
string(abi.encodePacked(_tracingInfo, "NoErrorSelector"))
);
}
} else {
revert(
string(abi.encodePacked(_tracingInfo, "UnexpectedReturndata"))
);
}
}
function returnError(
bytes memory _bytes,
string memory _tracingInfo
) internal pure returns (string memory) {
// 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)
}
return string(abi.encodePacked(_tracingInfo, string(_bytes)));
} else {
return
string(abi.encodePacked(_tracingInfo, "NoErrorSelector"));
}
} else {
return
string(abi.encodePacked(_tracingInfo, "UnexpectedReturndata"));
}
}
}// 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);
}
}
// 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;
}
}{
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs",
"useLiteralContent": true
},
"optimizer": {
"enabled": true,
"runs": 999999
},
"remappings": [],
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}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
608060405234801561001057600080fd5b506105bb806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ad718d2a14610030575b600080fd5b61004361003e366004610312565b610045565b005b6100d185858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601c81527f47656c61746f52656c61792e73706f6e736f72656443616c6c56323a00000000602082015273ffffffffffffffffffffffffffffffffffffffff8b169392509050610103565b506040517f8e4f8b7f1299a63a6b46587ec357933d2006e5697cd46d99297e670cee1dbeb190600090a1505050505050565b606060008473ffffffffffffffffffffffffffffffffffffffff168460405161012c91906103eb565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b509250905080156102045781516000036101ff5773ffffffffffffffffffffffffffffffffffffffff85163b1515836040516020016101ad9190610407565b604051602081830303815290604052906101fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f49190610448565b60405180910390fd5b505b61020e565b61020e8284610216565b509392505050565b602082516102249190610499565b6004036103015760208201517fffffffff0000000000000000000000000000000000000000000000000000000081167f08c379a000000000000000000000000000000000000000000000000000000000036102f05760448301925081836040516020016102929291906104d4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526101f491600401610448565b816040516020016102929190610503565b806040516020016102929190610544565b60008060008060008060a0878903121561032b57600080fd5b863573ffffffffffffffffffffffffffffffffffffffff8116811461034f57600080fd5b9550602087013567ffffffffffffffff8082111561036c57600080fd5b818901915089601f83011261038057600080fd5b81358181111561038f57600080fd5b8a60208285010111156103a157600080fd5b979a60209290920199509697604081013597506060810135965060800135945092505050565b60005b838110156103e25781810151838201526020016103ca565b50506000910152565b600082516103fd8184602087016103c7565b9190910192915050565b600082516104198184602087016103c7565b7f43616c6c20746f206e6f6e20636f6e7472616374000000000000000000000000920191825250601401919050565b60208152600082518060208401526104678160408501602087016103c7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000826104cf577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b600083516104e68184602088016103c7565b8351908301906104fa8183602088016103c7565b01949350505050565b600082516105158184602087016103c7565b7f4e6f4572726f7253656c6563746f720000000000000000000000000000000000920191825250600f01919050565b600082516105568184602087016103c7565b7f556e657870656374656452657475726e6461746100000000000000000000000092019182525060140191905056fea2646970667358221220582610a37287a07756e82c4742887f464821fa0391645f7cf8c1a59deaf80aa564736f6c63430008140033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ad718d2a14610030575b600080fd5b61004361003e366004610312565b610045565b005b6100d185858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601c81527f47656c61746f52656c61792e73706f6e736f72656443616c6c56323a00000000602082015273ffffffffffffffffffffffffffffffffffffffff8b169392509050610103565b506040517f8e4f8b7f1299a63a6b46587ec357933d2006e5697cd46d99297e670cee1dbeb190600090a1505050505050565b606060008473ffffffffffffffffffffffffffffffffffffffff168460405161012c91906103eb565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b509250905080156102045781516000036101ff5773ffffffffffffffffffffffffffffffffffffffff85163b1515836040516020016101ad9190610407565b604051602081830303815290604052906101fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f49190610448565b60405180910390fd5b505b61020e565b61020e8284610216565b509392505050565b602082516102249190610499565b6004036103015760208201517fffffffff0000000000000000000000000000000000000000000000000000000081167f08c379a000000000000000000000000000000000000000000000000000000000036102f05760448301925081836040516020016102929291906104d4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526101f491600401610448565b816040516020016102929190610503565b806040516020016102929190610544565b60008060008060008060a0878903121561032b57600080fd5b863573ffffffffffffffffffffffffffffffffffffffff8116811461034f57600080fd5b9550602087013567ffffffffffffffff8082111561036c57600080fd5b818901915089601f83011261038057600080fd5b81358181111561038f57600080fd5b8a60208285010111156103a157600080fd5b979a60209290920199509697604081013597506060810135965060800135945092505050565b60005b838110156103e25781810151838201526020016103ca565b50506000910152565b600082516103fd8184602087016103c7565b9190910192915050565b600082516104198184602087016103c7565b7f43616c6c20746f206e6f6e20636f6e7472616374000000000000000000000000920191825250601401919050565b60208152600082518060208401526104678160408501602087016103c7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000826104cf577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b600083516104e68184602088016103c7565b8351908301906104fa8183602088016103c7565b01949350505050565b600082516105158184602087016103c7565b7f4e6f4572726f7253656c6563746f720000000000000000000000000000000000920191825250600f01919050565b600082516105568184602087016103c7565b7f556e657870656374656452657475726e6461746100000000000000000000000092019182525060140191905056fea2646970667358221220582610a37287a07756e82c4742887f464821fa0391645f7cf8c1a59deaf80aa564736f6c63430008140033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
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.