ETH Price: $2,488.10 (+4.42%)

Contract

0x6FE756B9C61CF7e9f11D96740B096e51B64eBf13
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

> 10 Internal Transactions found.

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
195148502024-03-25 23:48:59337 days ago1711410539
0x6FE756B9...1B64eBf13
0 ETH
195148502024-03-25 23:48:59337 days ago1711410539
0x6FE756B9...1B64eBf13
0 ETH
195074292024-03-24 22:42:35338 days ago1711320155
0x6FE756B9...1B64eBf13
0 ETH
195074292024-03-24 22:42:35338 days ago1711320155
0x6FE756B9...1B64eBf13
0 ETH
195000112024-03-23 21:37:23339 days ago1711229843
0x6FE756B9...1B64eBf13
0 ETH
195000112024-03-23 21:37:23339 days ago1711229843
0x6FE756B9...1B64eBf13
0 ETH
194925962024-03-22 20:39:23340 days ago1711139963
0x6FE756B9...1B64eBf13
0 ETH
194925962024-03-22 20:39:23340 days ago1711139963
0x6FE756B9...1B64eBf13
0 ETH
194851792024-03-21 19:42:47341 days ago1711050167
0x6FE756B9...1B64eBf13
0 ETH
194851792024-03-21 19:42:47341 days ago1711050167
0x6FE756B9...1B64eBf13
0 ETH
194777412024-03-20 18:37:47342 days ago1710959867
0x6FE756B9...1B64eBf13
0 ETH
194777412024-03-20 18:37:47342 days ago1710959867
0x6FE756B9...1B64eBf13
0 ETH
194703052024-03-19 17:33:59343 days ago1710869639
0x6FE756B9...1B64eBf13
0 ETH
194703052024-03-19 17:33:59343 days ago1710869639
0x6FE756B9...1B64eBf13
0 ETH
194094122024-03-11 4:16:47352 days ago1710130607
0x6FE756B9...1B64eBf13
0 ETH
194094122024-03-11 4:16:47352 days ago1710130607
0x6FE756B9...1B64eBf13
0 ETH
194018902024-03-10 3:03:47353 days ago1710039827
0x6FE756B9...1B64eBf13
0 ETH
194018902024-03-10 3:03:47353 days ago1710039827
0x6FE756B9...1B64eBf13
0 ETH
193944302024-03-09 2:02:23354 days ago1709949743
0x6FE756B9...1B64eBf13
0 ETH
193944302024-03-09 2:02:23354 days ago1709949743
0x6FE756B9...1B64eBf13
0 ETH
193591612024-03-04 3:38:11359 days ago1709523491
0x6FE756B9...1B64eBf13
0 ETH
193591612024-03-04 3:38:11359 days ago1709523491
0x6FE756B9...1B64eBf13
0 ETH
193389982024-03-01 8:01:23362 days ago1709280083
0x6FE756B9...1B64eBf13
0 ETH
193389982024-03-01 8:01:23362 days ago1709280083
0x6FE756B9...1B64eBf13
0 ETH
193350512024-02-29 18:47:35362 days ago1709232455
0x6FE756B9...1B64eBf13
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CallExecutorV2

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 800 runs

Other Settings:
default evmVersion
File 1 of 2 : CallExecutorV2.sol
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity =0.8.10;
pragma abicoder v1;

/**
 *    ,,                           ,,                                
 *   *MM                           db                      `7MM      
 *    MM                                                     MM      
 *    MM,dMMb.      `7Mb,od8     `7MM      `7MMpMMMb.        MM  ,MP'
 *    MM    `Mb       MM' "'       MM        MM    MM        MM ;Y   
 *    MM     M8       MM           MM        MM    MM        MM;Mm   
 *    MM.   ,M9       MM           MM        MM    MM        MM `Mb. 
 *    P^YbmdP'      .JMML.       .JMML.    .JMML  JMML.    .JMML. YA.
 *
 *    CallExecutorV2.sol :: 0x6FE756B9C61CF7e9f11D96740B096e51B64eBf13
 *    etherscan.io verified 2022-11-01
 */ 

import '@openzeppelin/contracts/security/ReentrancyGuard.sol';

/**
 * @dev Used as a proxy for call execution to obscure msg.sender of the
 * caller. msg.sender will be the address of the CallExecutor contract.
 *
 * Instances of Proxy (user account contracts) use CallExecutor to execute
 * unsigned data calls without exposing themselves as msg.sender. Users can
 * sign messages that allow public unsigned data execution via CallExecutor
 * without allowing public calls to be executed directly from their Proxy
 * contract.
 *
 * This is implemented specifically for swap calls that allow unsigned data
 * execution. If unsigned data was executed directly from the Proxy contract,
 * an attacker could make a call that satisfies the swap required conditions
 * but also makes other malicious calls that rely on msg.sender. Forcing all
 * unsigned data execution to be done through a CallExecutor ensures that an
 * attacker cannot impersonate the users's account.
 *
 * ReentrancyGuard is implemented here to revert on callbacks to any verifier
 * functions that use CallExecutorV2.proxyCall()
 * 
 * CallExecutorV2 is modified from https://github.com/brinktrade/brink-verifiers/blob/985900cb405e4d59e37258416d68f36ac443481f/contracts/External/CallExecutor.sol
 * This version adds ReentrancyGuard and removes the data return so that the
 * nonReentrant modifier always unlocks the guard at the end of the function
 *
 */
contract CallExecutorV2 is ReentrancyGuard {

  constructor () ReentrancyGuard() {}

  /**
   * @dev A payable function that executes a call with `data` on the
   * contract address `to`
   *
   * Sets value for the call to `callvalue`, the amount of Eth provided with
   * the call
   */
  function proxyCall(address to, bytes memory data) external payable nonReentrant() {
    // execute `data` on execution contract address `to`
    assembly {
      let result := call(gas(), to, callvalue(), add(data, 0x20), mload(data), 0, 0)
      returndatacopy(0, 0, returndatasize())
      if eq(result, 0) { revert(0, returndatasize()) }
    }
  }
}

File 2 of 2 : ReentrancyGuard.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and make it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        // On the first call to nonReentrant, _notEntered will be true
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;

        _;

        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 800
  },
  "metadata": {
    "bytecodeHash": "none"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"proxyCall","outputs":[],"stateMutability":"payable","type":"function"}]

608060405234801561001057600080fd5b506001600055610178806100256000396000f3fe60806040526004361061001e5760003560e01c80632a31f6b414610023575b600080fd5b6100e66004803603604081101561003957600080fd5b73ffffffffffffffffffffffffffffffffffffffff823516919081019060408101602082013564010000000081111561007157600080fd5b82018360208201111561008357600080fd5b803590602001918460018302840111640100000000831117156100a557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506100e8945050505050565b005b6002600054141561013f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640160405180910390fd5b60026000908155815181906020840134865af13d6000803e80610161573d6000fd5b505060016000555056fea164736f6c634300080a000a

Deployed Bytecode

0x60806040526004361061001e5760003560e01c80632a31f6b414610023575b600080fd5b6100e66004803603604081101561003957600080fd5b73ffffffffffffffffffffffffffffffffffffffff823516919081019060408101602082013564010000000081111561007157600080fd5b82018360208201111561008357600080fd5b803590602001918460018302840111640100000000831117156100a557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506100e8945050505050565b005b6002600054141561013f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640160405180910390fd5b60026000908155815181906020840134865af13d6000803e80610161573d6000fd5b505060016000555056fea164736f6c634300080a000a

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

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.