Scroll Sepolia Testnet

Contract

0x16007Dad4739b3094434B54072Fb9C094cE970c2

Overview

ETH Balance

Scroll Sepolia LogoScroll Sepolia LogoScroll Sepolia Logo0 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To

There are no matching entries

1 Internal Transaction found.

Latest 1 internal transaction

Parent Transaction Hash Block From To
79747772025-01-23 15:45:0823 days ago1737647108  Contract Creation0 ETH
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x825F70AF...456af1E69
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
EtherForwarder

Compiler Version
v0.8.27+commit.40a35a09

Optimization Enabled:
Yes with 999 runs

Other Settings:
cancun EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : Forwarder.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.27;

/**
 * @title EtherForwarder
 * @dev A contract that forwards received Ether to a specified address
 */
contract EtherForwarder {
    error ZeroAddress();
    error ForwardFailed();
    error UseForwardFunction();

    /**
     * @dev Forwards the received Ether to the specified destination address
     * @param destination The address to forward the Ether to
     */
    function forward(address destination) external payable {
        if (destination == address(0)) revert ZeroAddress();

        // Forward the Ether using assembly
        bool success;
        assembly {
            // Gas-efficient way to forward ETH
            success :=
                call(
                    gas(), // Forward all available gas
                    destination, // Destination address
                    callvalue(), // Amount of ETH to send
                    0, // No data to send
                    0, // No data size
                    0, // No data to receive
                    0 // No data size to receive
                )
        }

        if (!success) revert ForwardFailed();
    }

    /**
     * @dev Prevents accidental Ether transfers without a destination
     */
    receive() external payable {
        revert("Use forward() function to send Ether");
    }

    /**
     * @dev Prevents accidental Ether transfers without a destination
     */
    fallback() external payable {
        revert("Use forward() function to send Ether");
    }
}

Settings
{
  "remappings": [
    "openzeppelin/=node_modules/@openzeppelin/contracts/",
    "account-abstraction/=node_modules/account-abstraction/contracts/",
    "erc7739Validator/=node_modules/erc7739-validator-base/src/",
    "solady/=node_modules/solady/src/",
    "forge-std/=lib/forge-std/src/",
    "@ERC4337/=node_modules/@ERC4337/",
    "@erc7579/=node_modules/@erc7579/",
    "@gnosis.pm/=node_modules/@gnosis.pm/",
    "@openzeppelin/=node_modules/@openzeppelin/",
    "@prb/=node_modules/@prb/",
    "@prb/math/=node_modules/erc7739-validator-base/node_modules/@prb/math/src/",
    "@rhinestone/=node_modules/@rhinestone/",
    "@safe-global/=node_modules/@safe-global/",
    "@zerodev/=node_modules/@zerodev/",
    "ExcessivelySafeCall/=node_modules/erc7739-validator-base/node_modules/excessively-safe-call/src/",
    "account-abstraction-v0.6/=node_modules/account-abstraction-v0.6/",
    "ds-test/=node_modules/ds-test/",
    "enumerableset4337/=node_modules/erc7739-validator-base/node_modules/@erc7579/enumerablemap4337/src/",
    "erc4337-validation/=node_modules/erc7739-validator-base/node_modules/@rhinestone/erc4337-validation/src/",
    "erc7579/=node_modules/erc7579/",
    "erc7739-validator-base/=node_modules/erc7739-validator-base/",
    "excessively-safe-call/=node_modules/excessively-safe-call/",
    "hardhat-deploy/=node_modules/hardhat-deploy/",
    "hardhat/=node_modules/hardhat/",
    "kernel/=node_modules/erc7739-validator-base/node_modules/@zerodev/kernel/src/",
    "module-bases/=node_modules/erc7739-validator-base/node_modules/@rhinestone/module-bases/src/",
    "modulekit/=node_modules/erc7739-validator-base/node_modules/@rhinestone/modulekit/src/",
    "safe7579/=node_modules/erc7739-validator-base/node_modules/@rhinestone/safe7579/src/",
    "sentinellist/=node_modules/erc7739-validator-base/node_modules/@rhinestone/sentinellist/src/",
    "solarray/=node_modules/solarray/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 999
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "none",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "cancun",
  "viaIR": false,
  "libraries": {}
}

Contract ABI

[{"inputs":[],"name":"ForwardFailed","type":"error"},{"inputs":[],"name":"UseForwardFunction","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"destination","type":"address"}],"name":"forward","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x608060405260043610610021575f3560e01c8063101e8952146100d35761007f565b3661007f5760405162461bcd60e51b8152602060048201526024808201527f55736520666f727761726428292066756e6374696f6e20746f2073656e6420456044820152633a3432b960e11b60648201526084015b60405180910390fd5b60405162461bcd60e51b8152602060048201526024808201527f55736520666f727761726428292066756e6374696f6e20746f2073656e6420456044820152633a3432b960e11b6064820152608401610076565b6100e66100e136600461017b565b6100e8565b005b73ffffffffffffffffffffffffffffffffffffffff8116610135576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f5f34865af1905080610177576040517f096dc0e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f6020828403121561018b575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101ae575f5ffd5b939250505056fea164736f6c634300081b000a

Block Transaction Gas Used Reward
view all blocks sequenced

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  ]

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.