Overview
S Balance
0 S
S Value
$0.00More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
1455085 | 24 days ago | Contract Creation | 0 S |
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
Contract Source Code (Solidity Standard Json-Input format)
// 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"); } }
{ "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 Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"}]
Contract Creation Code
6080604052348015600e575f5ffd5b506101c28061001c5f395ff3fe608060405260043610610021575f3560e01c8063101e8952146100d35761007f565b3661007f5760405162461bcd60e51b8152602060048201526024808201527f55736520666f727761726428292066756e6374696f6e20746f2073656e6420456044820152633a3432b960e11b60648201526084015b60405180910390fd5b60405162461bcd60e51b8152602060048201526024808201527f55736520666f727761726428292066756e6374696f6e20746f2073656e6420456044820152633a3432b960e11b6064820152608401610076565b6100e66100e136600461017b565b6100e8565b005b73ffffffffffffffffffffffffffffffffffffffff8116610135576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f5f34865af1905080610177576040517f096dc0e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f6020828403121561018b575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101ae575f5ffd5b939250505056fea164736f6c634300081b000a
Deployed Bytecode
0x608060405260043610610021575f3560e01c8063101e8952146100d35761007f565b3661007f5760405162461bcd60e51b8152602060048201526024808201527f55736520666f727761726428292066756e6374696f6e20746f2073656e6420456044820152633a3432b960e11b60648201526084015b60405180910390fd5b60405162461bcd60e51b8152602060048201526024808201527f55736520666f727761726428292066756e6374696f6e20746f2073656e6420456044820152633a3432b960e11b6064820152608401610076565b6100e66100e136600461017b565b6100e8565b005b73ffffffffffffffffffffffffffffffffffffffff8116610135576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f5f34865af1905080610177576040517f096dc0e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f6020828403121561018b575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101ae575f5ffd5b939250505056fea164736f6c634300081b000a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.