ETH Price: $2,817.27 (+2.40%)

Contract

0x000000C48Cdf2b46bEc062483dBD27046dfE3b8d

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

1 Internal Transaction found.

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
168952822025-11-20 11:28:132 days ago1763638093  Contract Creation0 ETH

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EtherForwarder

Compiler Version
v0.8.27+commit.40a35a09

Optimization Enabled:
Yes with 999 runs

Other Settings:
cancun EvmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.27;

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

    /**
     * @notice 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();
    }

    /**
     * @notice Prevents accidental Ether transfers without a destination
     * intentionally using sting and not a custom error here
     */
    receive() external payable {
        // solhint-disable-next-line gas-custom-errors, reason-string, gas-small-strings
        revert("Use forward() function to send Ether");
    }

    /**
     * @notice Prevents accidental Ether transfers without a destination
     * intentionally using sting and not a custom error here
     */
    fallback() external payable {
        // solhint-disable-next-line gas-custom-errors, reason-string, gas-small-strings
        revert("Use forward() function to send Ether");
    }
}

Settings
{
  "remappings": [
    "forge-std/=node_modules/forge-std/src/",
    "account-abstraction/=node_modules/account-abstraction/contracts/",
    "solady/=node_modules/solady/src/",
    "sentinellist/=node_modules/@rhinestone/sentinellist/src/",
    "module-bases/=node_modules/@rhinestone/module-bases/src/",
    "erc7739Validator/=node_modules/@erc7579/erc7739-validator-base/src/",
    "EnumerableSet4337/=node_modules/@erc7579/enumerablemap4337/src/",
    "erc7579/=node_modules/@erc7579/implementation/src/",
    "byteslib/=node_modules/solidity-bytes-utils/contracts/",
    "rlp-reader/=node_modules/solidity-rlp/contracts/",
    "murky-trees/=node_modules/murky/src/",
    "solarray/=node_modules/solarray/src/",
    "excessively-safe-call/=node_modules/excessively-safe-call/src/",
    "@ERC4337/=node_modules/@ERC4337/",
    "@erc7579/=node_modules/@erc7579/",
    "@gnosis.pm/=node_modules/@gnosis.pm/",
    "@openzeppelin/=node_modules/@openzeppelin/",
    "@prb/=node_modules/@prb/",
    "@rhinestone/=node_modules/@rhinestone/",
    "@safe-global/=node_modules/@safe-global/",
    "@zerodev/=node_modules/@zerodev/",
    "account-abstraction-v0.6/=node_modules/account-abstraction-v0.6/",
    "ds-test/=node_modules/ds-test/",
    "hardhat-deploy/=node_modules/hardhat-deploy/",
    "hardhat/=node_modules/hardhat/",
    "solidity-bytes-utils/=node_modules/solidity-bytes-utils/",
    "solidity-rlp/=node_modules/solidity-rlp/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 999
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "none",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "cancun",
  "viaIR": true
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"name":"ForwardFailed","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"}]

6080806040523460155761014d908161001a8239f35b5f80fdfe60806040526004361015610018575b366100bd576100bd565b5f3560e01c63101e89520361000e5760203660031901126100b95760043573ffffffffffffffffffffffffffffffffffffffff81168082036100b95715610091575f8080809334905af11561006957005b7f096dc0e1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fd92e233d000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f55736520666f727761726428292066756e6374696f6e20746f2073656e64204560448201527f74686572000000000000000000000000000000000000000000000000000000006064820152fdfea164736f6c634300081b000a

Deployed Bytecode

0x60806040526004361015610018575b366100bd576100bd565b5f3560e01c63101e89520361000e5760203660031901126100b95760043573ffffffffffffffffffffffffffffffffffffffff81168082036100b95715610091575f8080809334905af11561006957005b7f096dc0e1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fd92e233d000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f55736520666f727761726428292066756e6374696f6e20746f2073656e64204560448201527f74686572000000000000000000000000000000000000000000000000000000006064820152fdfea164736f6c634300081b000a

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