Transactions
Token Transfers
Tokens
Internal Transactions
Coin Balance History
Logs
Code
Write Contract
- Contract name:
- BatchTransferEgonTokens
- Optimization enabled
- true
- Compiler version
- v0.8.10+commit.fc410830
- Optimization runs
- 200
- EVM Version
- default
- Verified at
- 2024-03-24T08:32:30.424366Z
Constructor Arguments
000000000000000000000000230ac7bbe80f178c4286c7cc96ff3378a9346240
Arg [0] (address) : 0x230ac7bbe80f178c4286c7cc96ff3378a9346240
Contract source code
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IERC20 { function transfer(address to, uint256 amount) external returns (bool); // Other ERC20 functions can be defined here as needed } contract BatchTransferEgonTokens { address owner; // Event declaration for logging event Transfer(address indexed from, address indexed to, uint256 amount); constructor(address _owner){ owner = _owner; } // Function to send Ether to multiple addresses function sendEGon(IERC20 token,address[] memory _to, uint256[] memory _amount) public payable { // Check if the input arrays match in length require(_to.length == _amount.length, "Address and amount arrays must have the same length"); require(owner==msg.sender,"Invalid user"); // Perform the transfers for (uint256 i = 0; i < _to.length; i++) { // Safety check to prevent sending Ether to 0x0 address require(_to[i] != address(0), "Cannot send to zero address"); // Transfer Ether to each address require(token.transfer(_to[i], _amount[i]), "Transfer failed"); // Emit a log event for the transfer emit Transfer(msg.sender, _to[i], _amount[i]); } } // Function to allow contract to receive Ether. // Without this, contract cannot be sent Ether in calls to sendEther receive() external payable {} // Fallback function in case receive() is not triggered fallback() external payable {} function withdrawFunds(IERC20 token,uint256 amount,address user) external { require(owner==msg.sender,"Invalid user"); token.transfer(user,amount); } }
Contract ABI
[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"address","name":"_owner","internalType":"address"}]},{"type":"event","name":"Transfer","inputs":[{"type":"address","name":"from","internalType":"address","indexed":true},{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"amount","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"fallback","stateMutability":"payable"},{"type":"function","stateMutability":"payable","outputs":[],"name":"sendEGon","inputs":[{"type":"address","name":"token","internalType":"contract IERC20"},{"type":"address[]","name":"_to","internalType":"address[]"},{"type":"uint256[]","name":"_amount","internalType":"uint256[]"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"withdrawFunds","inputs":[{"type":"address","name":"token","internalType":"contract IERC20"},{"type":"uint256","name":"amount","internalType":"uint256"},{"type":"address","name":"user","internalType":"address"}]},{"type":"receive","stateMutability":"payable"}]
Deployed ByteCode
0x60806040526004361061002a5760003560e01c806347c6b45e146100335780637d906a591461005357005b3661003157005b005b34801561003f57600080fd5b5061003161004e366004610409565b610066565b610031610061366004610521565b61012d565b6000546001600160a01b031633146100b45760405162461bcd60e51b815260206004820152600c60248201526b24b73b30b634b2103ab9b2b960a11b60448201526064015b60405180910390fd5b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af1158015610103573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012791906105f7565b50505050565b805182511461019a5760405162461bcd60e51b815260206004820152603360248201527f4164647265737320616e6420616d6f756e7420617272617973206d75737420686044820152720c2ecca40e8d0ca40e6c2daca40d8cadccee8d606b1b60648201526084016100ab565b6000546001600160a01b031633146101e35760405162461bcd60e51b815260206004820152600c60248201526b24b73b30b634b2103ab9b2b960a11b60448201526064016100ab565b60005b82518110156101275760006001600160a01b031683828151811061020c5761020c610620565b60200260200101516001600160a01b0316141561026b5760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742073656e6420746f207a65726f2061646472657373000000000060448201526064016100ab565b836001600160a01b031663a9059cbb84838151811061028c5761028c610620565b60200260200101518484815181106102a6576102a6610620565b60200260200101516040518363ffffffff1660e01b81526004016102df9291906001600160a01b03929092168252602082015260400190565b6020604051808303816000875af11580156102fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032291906105f7565b6103605760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016100ab565b82818151811061037257610372610620565b60200260200101516001600160a01b0316336001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8484815181106103c0576103c0610620565b60200260200101516040516103d791815260200190565b60405180910390a3806103e981610636565b9150506101e6565b6001600160a01b038116811461040657600080fd5b50565b60008060006060848603121561041e57600080fd5b8335610429816103f1565b9250602084013591506040840135610440816103f1565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561048a5761048a61044b565b604052919050565b600067ffffffffffffffff8211156104ac576104ac61044b565b5060051b60200190565b600082601f8301126104c757600080fd5b813560206104dc6104d783610492565b610461565b82815260059290921b840181019181810190868411156104fb57600080fd5b8286015b8481101561051657803583529183019183016104ff565b509695505050505050565b60008060006060848603121561053657600080fd5b8335610541816103f1565b925060208481013567ffffffffffffffff8082111561055f57600080fd5b818701915087601f83011261057357600080fd5b81356105816104d782610492565b81815260059190911b8301840190848101908a8311156105a057600080fd5b938501935b828510156105c75784356105b8816103f1565b825293850193908501906105a5565b9650505060408701359250808311156105df57600080fd5b50506105ed868287016104b6565b9150509250925092565b60006020828403121561060957600080fd5b8151801515811461061957600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b600060001982141561065857634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220401dfa31d27454771459ddc255f241eab8caa5bf78f5d5fb7b297ee7b1c309f064736f6c634300080a0033