Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
Latest 12 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 23719606 | 116 days ago | 0.001 ETH | ||||
| Transfer | 23719606 | 116 days ago | 0.001 ETH | ||||
| Batch Send ETH | 23719606 | 116 days ago | 0.002 ETH | ||||
| Transfer | 23712423 | 117 days ago | 0.001 ETH | ||||
| Transfer | 23712423 | 117 days ago | 0.001 ETH | ||||
| Batch Send ETH | 23712423 | 117 days ago | 0.002 ETH | ||||
| Transfer | 23712400 | 117 days ago | 0.001 ETH | ||||
| Transfer | 23712400 | 117 days ago | 0.001 ETH | ||||
| Batch Send ETH | 23712400 | 117 days ago | 0.002 ETH | ||||
| Transfer | 23518347 | 145 days ago | 0.001 ETH | ||||
| Transfer | 23518347 | 145 days ago | 0.001 ETH | ||||
| Batch Send ETH | 23518347 | 145 days ago | 0.002 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
BatchSender
Compiler Version
v0.8.25+commit.b61c2a91
Optimization Enabled:
Yes with 999999 runs
Other Settings:
shanghai EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
/**
* @title BatchSender
* @dev A contract that allows batch sending of ETH to multiple recipients
* @notice This contract enables gas-efficient batch transfers of ETH
*/
contract BatchSender {
/**
* @dev Emitted when a batch transfer is executed
* @param sender The address that initiated the batch transfer
* @param recipients Array of recipient addresses
* @param amounts Array of amounts sent to each recipient
* @param totalAmount Total amount of ETH transferred
*/
event BatchTransfer(
address indexed sender,
address[] recipients,
uint256[] amounts,
uint256 totalAmount
);
/**
* @dev Sends ETH to multiple recipients in a single transaction
* @param recipients Array of recipient addresses
* @param amounts Array of amounts to send to each recipient (in wei)
* @notice The msg.value must equal the sum of all amounts
* @notice Arrays must have the same length
*/
function batchSendETH(
address[] calldata recipients,
uint256[] calldata amounts
) external payable {
require(recipients.length > 0, "BatchSender: No recipients");
require(recipients.length == amounts.length, "BatchSender: Array length mismatch");
uint256 totalAmount = 0;
// Calculate total amount and validate
for (uint256 i = 0; i < amounts.length; i++) {
require(amounts[i] > 0, "BatchSender: Amount must be greater than 0");
totalAmount += amounts[i];
}
require(msg.value == totalAmount, "BatchSender: Incorrect ETH amount");
// Execute transfers
for (uint256 i = 0; i < recipients.length; i++) {
require(recipients[i] != address(0), "BatchSender: Invalid recipient address");
require(recipients[i] != address(this), "BatchSender: Cannot send to contract");
(bool success, ) = recipients[i].call{value: amounts[i]}("");
require(success, "BatchSender: Transfer failed");
}
emit BatchTransfer(msg.sender, recipients, amounts, totalAmount);
}
/**
* @dev Allows the contract to receive ETH
*/
receive() external payable {}
/**
* @dev Fallback function to receive ETH
*/
fallback() external payable {}
}{
"remappings": [
"@balancer-labs/v3-interfaces/=lib/balancer-v3-monorepo/pkg/interfaces/",
"@balancer-labs/v3-vault/=lib/balancer-v3-monorepo/pkg/vault/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
"permit2/=lib/permit2/",
"@ensdomains/=node_modules/@ensdomains/",
"@ethereum-waffle/=node_modules/@ethereum-waffle/",
"balancer-v3-monorepo/=lib/balancer-v3-monorepo/",
"ds-test/=lib/forge-std/lib/ds-test/src/",
"erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
"eth-gas-reporter/=node_modules/eth-gas-reporter/",
"forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/",
"forge-std/=lib/forge-std/src/",
"halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/",
"hardhat/=node_modules/hardhat/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"solmate/=lib/permit2/lib/solmate/"
],
"optimizer": {
"enabled": true,
"runs": 999999
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "shanghai",
"viaIR": false
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address[]","name":"recipients","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"totalAmount","type":"uint256"}],"name":"BatchTransfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"batchSendETH","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052348015600e575f80fd5b506107eb8061001c5f395ff3fe60806040526004361061001e575f3560e01c8063c76bd1931461002757005b3661002557005b005b6100256100353660046105f2565b826100a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f426174636853656e6465723a204e6f20726563697069656e747300000000000060448201526064015b60405180910390fd5b828114610130576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f426174636853656e6465723a204172726179206c656e677468206d69736d617460448201527f63680000000000000000000000000000000000000000000000000000000000006064820152608401610098565b5f805b82811015610210575f84848381811061014e5761014e610659565b90506020020135116101e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f426174636853656e6465723a20416d6f756e74206d757374206265206772656160448201527f746572207468616e2030000000000000000000000000000000000000000000006064820152608401610098565b8383828181106101f4576101f4610659565b90506020020135826102069190610686565b9150600101610133565b508034146102a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f426174636853656e6465723a20496e636f72726563742045544820616d6f756e60448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610098565b5f5b8481101561054c575f8686838181106102bd576102bd610659565b90506020020160208101906102d291906106ec565b73ffffffffffffffffffffffffffffffffffffffff1603610375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f426174636853656e6465723a20496e76616c696420726563697069656e74206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610098565b3086868381811061038857610388610659565b905060200201602081019061039d91906106ec565b73ffffffffffffffffffffffffffffffffffffffff160361043f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f426174636853656e6465723a2043616e6e6f742073656e6420746f20636f6e7460448201527f72616374000000000000000000000000000000000000000000000000000000006064820152608401610098565b5f86868381811061045257610452610659565b905060200201602081019061046791906106ec565b73ffffffffffffffffffffffffffffffffffffffff1685858481811061048f5761048f610659565b905060200201356040515f6040518083038185875af1925050503d805f81146104d3576040519150601f19603f3d011682016040523d82523d5f602084013e6104d8565b606091505b5050905080610543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f426174636853656e6465723a205472616e73666572206661696c6564000000006044820152606401610098565b506001016102a2565b503373ffffffffffffffffffffffffffffffffffffffff167f5e90aa1bf1f4e886d6242670d1533a4bfcc75521d052d09b651d727a4e10aa62868686868660405161059b95949392919061070c565b60405180910390a25050505050565b5f8083601f8401126105ba575f80fd5b50813567ffffffffffffffff8111156105d1575f80fd5b6020830191508360208260051b85010111156105eb575f80fd5b9250929050565b5f805f8060408587031215610605575f80fd5b843567ffffffffffffffff8082111561061c575f80fd5b610628888389016105aa565b90965094506020870135915080821115610640575f80fd5b5061064d878288016105aa565b95989497509550505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b808201808211156106be577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106e7575f80fd5b919050565b5f602082840312156106fc575f80fd5b610705826106c4565b9392505050565b606080825281018590525f8660808301825b888110156107595773ffffffffffffffffffffffffffffffffffffffff610744846106c4565b1682526020928301929091019060010161071e565b5083810360208501528581527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861115610791575f80fd5b8560051b91508187602083013760409390930193909352500160200194935050505056fea2646970667358221220863923e851fa5bff32d135a2a72de587a097e46f0264acb100ff9bcf04df906364736f6c63430008190033
Deployed Bytecode
0x60806040526004361061001e575f3560e01c8063c76bd1931461002757005b3661002557005b005b6100256100353660046105f2565b826100a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f426174636853656e6465723a204e6f20726563697069656e747300000000000060448201526064015b60405180910390fd5b828114610130576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f426174636853656e6465723a204172726179206c656e677468206d69736d617460448201527f63680000000000000000000000000000000000000000000000000000000000006064820152608401610098565b5f805b82811015610210575f84848381811061014e5761014e610659565b90506020020135116101e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f426174636853656e6465723a20416d6f756e74206d757374206265206772656160448201527f746572207468616e2030000000000000000000000000000000000000000000006064820152608401610098565b8383828181106101f4576101f4610659565b90506020020135826102069190610686565b9150600101610133565b508034146102a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f426174636853656e6465723a20496e636f72726563742045544820616d6f756e60448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610098565b5f5b8481101561054c575f8686838181106102bd576102bd610659565b90506020020160208101906102d291906106ec565b73ffffffffffffffffffffffffffffffffffffffff1603610375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f426174636853656e6465723a20496e76616c696420726563697069656e74206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610098565b3086868381811061038857610388610659565b905060200201602081019061039d91906106ec565b73ffffffffffffffffffffffffffffffffffffffff160361043f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f426174636853656e6465723a2043616e6e6f742073656e6420746f20636f6e7460448201527f72616374000000000000000000000000000000000000000000000000000000006064820152608401610098565b5f86868381811061045257610452610659565b905060200201602081019061046791906106ec565b73ffffffffffffffffffffffffffffffffffffffff1685858481811061048f5761048f610659565b905060200201356040515f6040518083038185875af1925050503d805f81146104d3576040519150601f19603f3d011682016040523d82523d5f602084013e6104d8565b606091505b5050905080610543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f426174636853656e6465723a205472616e73666572206661696c6564000000006044820152606401610098565b506001016102a2565b503373ffffffffffffffffffffffffffffffffffffffff167f5e90aa1bf1f4e886d6242670d1533a4bfcc75521d052d09b651d727a4e10aa62868686868660405161059b95949392919061070c565b60405180910390a25050505050565b5f8083601f8401126105ba575f80fd5b50813567ffffffffffffffff8111156105d1575f80fd5b6020830191508360208260051b85010111156105eb575f80fd5b9250929050565b5f805f8060408587031215610605575f80fd5b843567ffffffffffffffff8082111561061c575f80fd5b610628888389016105aa565b90965094506020870135915080821115610640575f80fd5b5061064d878288016105aa565b95989497509550505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b808201808211156106be577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106e7575f80fd5b919050565b5f602082840312156106fc575f80fd5b610705826106c4565b9392505050565b606080825281018590525f8660808301825b888110156107595773ffffffffffffffffffffffffffffffffffffffff610744846106c4565b1682526020928301929091019060010161071e565b5083810360208501528581527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861115610791575f80fd5b8560051b91508187602083013760409390930193909352500160200194935050505056fea2646970667358221220863923e851fa5bff32d135a2a72de587a097e46f0264acb100ff9bcf04df906364736f6c63430008190033
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.