Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
20322386 | 64 days ago | 2.56681913 ETH | ||||
20322386 | 64 days ago | 1.80196909 ETH | ||||
20322386 | 64 days ago | 1.33659085 ETH | ||||
20322386 | 64 days ago | 1.03241069 ETH | ||||
20322386 | 64 days ago | 0.82269654 ETH | ||||
20322386 | 64 days ago | 0.67200701 ETH | ||||
20322386 | 64 days ago | 0.56009508 ETH | ||||
20322386 | 64 days ago | 0.47470889 ETH | ||||
20322386 | 64 days ago | 0.40808068 ETH | ||||
20322386 | 64 days ago | 0.35509184 ETH | ||||
20322386 | 64 days ago | 0.31225803 ETH | ||||
20322386 | 64 days ago | 0.27714064 ETH | ||||
20322386 | 64 days ago | 0.24799154 ETH | ||||
20322386 | 64 days ago | 0.22353107 ETH | ||||
20322386 | 64 days ago | 0.20280502 ETH | ||||
20322386 | 64 days ago | 0.18509018 ETH | ||||
20322386 | 64 days ago | 0.16983028 ETH | ||||
20322386 | 64 days ago | 0.15659182 ETH | ||||
20322386 | 64 days ago | 0.14503296 ETH | ||||
20322386 | 64 days ago | 0.13488113 ETH | ||||
20322386 | 64 days ago | 0.12591694 ETH | ||||
20322386 | 64 days ago | 0.11796212 ETH | ||||
20322386 | 64 days ago | 0.11087063 ETH | ||||
20322386 | 64 days ago | 0.10452195 ETH | ||||
20322386 | 64 days ago | 0.09881585 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
AirdropTool
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-16 */ pragma solidity 0.8.26; contract AirdropTool { /** * @notice Airdrop ERC20 tokens to a list of addresses * @param _token The address of the ERC20 contract * @param _addresses The addresses to airdrop to * @param _amounts The amounts to airdrop * @param _totalAmount The total amount to airdrop */ function airdropTokens( address _token, address[] calldata _addresses, uint256[] calldata _amounts, uint256 _totalAmount ) external payable { assembly { // Check that the number of addresses matches the number of amounts if iszero(eq(_amounts.length, _addresses.length)) { revert(0, 0) } // transferFrom(address from, address to, uint256 amount) mstore(0x00, hex"23b872dd") // from address mstore(0x04, caller()) // to address (this contract) mstore(0x24, address()) // total amount mstore(0x44, _totalAmount) // transfer total amount to this contract if iszero(call(gas(), _token, 0, 0x00, 0x64, 0, 0)){ revert(0, 0) } // transfer(address to, uint256 value) mstore(0x00, hex"a9059cbb") // end of array let end := add(_addresses.offset, shl(5, _addresses.length)) // diff = _addresses.offset - _amounts.offset let diff := sub(_addresses.offset, _amounts.offset) // Loop through the addresses for { let addressOffset := _addresses.offset } 1 {} { // to address mstore(0x04, calldataload(addressOffset)) // amount mstore(0x24, calldataload(sub(addressOffset, diff))) // transfer the tokens if iszero(call(gas(), _token, 0, 0x00, 0x64, 0, 0)){ revert(0, 0) } // increment the address offset addressOffset := add(addressOffset, 0x20) // if addressOffset >= end, break if iszero(lt(addressOffset, end)) { break } } } } /** * @notice Airdrop ETH to a list of addresses * @param _addresses The addresses to airdrop to * @param _amounts The amounts to airdrop */ function sendBundleETH( address[] calldata _addresses, uint256[] calldata _amounts ) external payable { assembly { // Check that the number of addresses matches the number of amounts if iszero(eq(_amounts.length, _addresses.length)) { revert(0, 0) } // iterator let i := _addresses.offset // end of array let end := add(i, shl(5, _addresses.length)) // diff = _addresses.offset - _amounts.offset let diff := sub(_amounts.offset, _addresses.offset) // Loop through the addresses for {} 1 {} { // transfer the ETH if iszero( call(gas(), calldataload(i), calldataload(add(i, diff)), 0x00, 0x00, 0x00, 0x00) ) { revert(0x00, 0x00) } // increment the iterator i := add(i, 0x20) // if i >= end, break if eq(end, i) { break } } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"},{"internalType":"uint256","name":"_totalAmount","type":"uint256"}],"name":"airdropTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"sendBundleETH","outputs":[],"stateMutability":"payable","type":"function"}]
Contract Creation Code
6080604052348015600e575f80fd5b5061028c8061001c5f395ff3fe608060405260043610610028575f3560e01c8063a76eb31e1461002c578063dcec034914610041575b5f80fd5b61003f61003a366004610155565b610054565b005b61003f61004f3660046101ea565b6100cd565b83821461005f575f80fd5b6323b872dd60e01b5f523360045230602452806044525f8060645f808a5af1610086575f80fd5b63a9059cbb60e01b5f528360051b8501838603865b8035600452818103356024525f8060645f808d5af16100b8575f80fd5b60200182811061009b57505050505050505050565b8281146100d8575f80fd5b838360051b81018584035b5f805f808487013587355af16100f7575f80fd5b6020830192508282036100e35750505050505050565b5f8083601f84011261011d575f80fd5b50813567ffffffffffffffff811115610134575f80fd5b6020830191508360208260051b850101111561014e575f80fd5b9250929050565b5f805f805f806080878903121561016a575f80fd5b86356001600160a01b0381168114610180575f80fd5b9550602087013567ffffffffffffffff81111561019b575f80fd5b6101a789828a0161010d565b909650945050604087013567ffffffffffffffff8111156101c6575f80fd5b6101d289828a0161010d565b979a9699509497949695606090950135949350505050565b5f805f80604085870312156101fd575f80fd5b843567ffffffffffffffff811115610213575f80fd5b61021f8782880161010d565b909550935050602085013567ffffffffffffffff81111561023e575f80fd5b61024a8782880161010d565b9598949750955050505056fea264697066735822122051ae39e4a72bbd7882abf1706e6c1c10dcbc41ea54bffb034e08a3dfb247577c64736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610028575f3560e01c8063a76eb31e1461002c578063dcec034914610041575b5f80fd5b61003f61003a366004610155565b610054565b005b61003f61004f3660046101ea565b6100cd565b83821461005f575f80fd5b6323b872dd60e01b5f523360045230602452806044525f8060645f808a5af1610086575f80fd5b63a9059cbb60e01b5f528360051b8501838603865b8035600452818103356024525f8060645f808d5af16100b8575f80fd5b60200182811061009b57505050505050505050565b8281146100d8575f80fd5b838360051b81018584035b5f805f808487013587355af16100f7575f80fd5b6020830192508282036100e35750505050505050565b5f8083601f84011261011d575f80fd5b50813567ffffffffffffffff811115610134575f80fd5b6020830191508360208260051b850101111561014e575f80fd5b9250929050565b5f805f805f806080878903121561016a575f80fd5b86356001600160a01b0381168114610180575f80fd5b9550602087013567ffffffffffffffff81111561019b575f80fd5b6101a789828a0161010d565b909650945050604087013567ffffffffffffffff8111156101c6575f80fd5b6101d289828a0161010d565b979a9699509497949695606090950135949350505050565b5f805f80604085870312156101fd575f80fd5b843567ffffffffffffffff811115610213575f80fd5b61021f8782880161010d565b909550935050602085013567ffffffffffffffff81111561023e575f80fd5b61024a8782880161010d565b9598949750955050505056fea264697066735822122051ae39e4a72bbd7882abf1706e6c1c10dcbc41ea54bffb034e08a3dfb247577c64736f6c634300081a0033
Deployed Bytecode Sourcemap
27:3517:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;348:1928;;;;;;:::i;:::-;;:::i;:::-;;2454:1087;;;;;;:::i;:::-;;:::i;348:1928::-;675:17;658:15;655:38;645:96;;724:1;721;714:12;645:96;-1:-1:-1;;;835:4:0;828:27;911:8;905:4;898:22;990:9;984:4;977:23;1056:12;1050:4;1043:26;1188:1;1185;1179:4;1173;1170:1;1162:6;1155:5;1150:40;1140:97;;1220:1;1217;1210:12;1140:97;-1:-1:-1;;;1312:4:0;1305:27;1418:17;1415:1;1411:25;1392:17;1388:49;1545:15;1526:17;1522:39;1647:17;1620:638;1748:13;1735:27;1729:4;1722:41;1853:4;1838:13;1834:24;1821:38;1815:4;1808:52;1966:1;1963;1957:4;1951;1948:1;1940:6;1933:5;1928:40;1918:105;;2002:1;1999;1992:12;1918:105;2126:4;2107:24;2210:22;;;1620:638;2200:43;1624:42;;;348:1928;;;;;;:::o;2454:1087::-;2725:17;2708:15;2705:38;2695:96;;2774:1;2771;2764:12;2695:96;2841:17;2926;2923:1;2919:25;2916:1;2912:33;3051:17;3034:15;3030:39;3128:395;3303:4;3297;3291;3285;3277;3274:1;3270:12;3257:26;3253:1;3240:15;3233:5;3228:80;3196:154;;3343:4;3337;3330:18;3196:154;3423:4;3420:1;3416:12;3411:17;;3496:1;3491:3;3488:10;3128:395;3485:23;3132:2;;;2454:1087;;;;:::o;14:367:1:-;77:8;87:6;141:3;134:4;126:6;122:17;118:27;108:55;;159:1;156;149:12;108:55;-1:-1:-1;182:20:1;;225:18;214:30;;211:50;;;257:1;254;247:12;211:50;294:4;286:6;282:17;270:29;;354:3;347:4;337:6;334:1;330:14;322:6;318:27;314:38;311:47;308:67;;;371:1;368;361:12;308:67;14:367;;;;;:::o;386:1011::-;526:6;534;542;550;558;566;619:3;607:9;598:7;594:23;590:33;587:53;;;636:1;633;626:12;587:53;662:23;;-1:-1:-1;;;;;714:31:1;;704:42;;694:70;;760:1;757;750:12;694:70;783:5;-1:-1:-1;839:2:1;824:18;;811:32;866:18;855:30;;852:50;;;898:1;895;888:12;852:50;937:70;999:7;990:6;979:9;975:22;937:70;:::i;:::-;1026:8;;-1:-1:-1;911:96:1;-1:-1:-1;;1114:2:1;1099:18;;1086:32;1143:18;1130:32;;1127:52;;;1175:1;1172;1165:12;1127:52;1214:72;1278:7;1267:8;1256:9;1252:24;1214:72;:::i;:::-;386:1011;;;;-1:-1:-1;386:1011:1;;;;;1387:2;1372:18;;;1359:32;;386:1011;-1:-1:-1;;;;386:1011:1:o;1402:768::-;1524:6;1532;1540;1548;1601:2;1589:9;1580:7;1576:23;1572:32;1569:52;;;1617:1;1614;1607:12;1569:52;1657:9;1644:23;1690:18;1682:6;1679:30;1676:50;;;1722:1;1719;1712:12;1676:50;1761:70;1823:7;1814:6;1803:9;1799:22;1761:70;:::i;:::-;1850:8;;-1:-1:-1;1735:96:1;-1:-1:-1;;1938:2:1;1923:18;;1910:32;1967:18;1954:32;;1951:52;;;1999:1;1996;1989:12;1951:52;2038:72;2102:7;2091:8;2080:9;2076:24;2038:72;:::i;:::-;1402:768;;;;-1:-1:-1;2129:8:1;-1:-1:-1;;;;1402:768:1:o
Swarm Source
ipfs://51ae39e4a72bbd7882abf1706e6c1c10dcbc41ea54bffb034e08a3dfb247577c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.