Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 752 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Airdrop ERC721 | 21192342 | 7 days ago | IN | 0 ETH | 0.05326056 | ||||
Airdrop ERC721 | 21192042 | 7 days ago | IN | 0 ETH | 0.03957334 | ||||
Airdrop ERC721 | 21182450 | 8 days ago | IN | 0 ETH | 0.1246851 | ||||
Airdrop ERC20 | 21161657 | 11 days ago | IN | 0 ETH | 0.00294801 | ||||
Airdrop ERC20 | 21161651 | 11 days ago | IN | 0 ETH | 0.00487037 | ||||
Airdrop ERC20 | 21149639 | 13 days ago | IN | 0 ETH | 0.00665802 | ||||
Airdrop ERC20 | 21149581 | 13 days ago | IN | 0 ETH | 0.00822213 | ||||
Airdrop ERC20 | 21149569 | 13 days ago | IN | 0 ETH | 0.00421338 | ||||
Airdrop ERC20 | 21135130 | 15 days ago | IN | 0 ETH | 0.00228313 | ||||
Airdrop ERC20 | 21135128 | 15 days ago | IN | 0 ETH | 0.03724454 | ||||
Airdrop ERC721 | 21135116 | 15 days ago | IN | 0 ETH | 0.01165847 | ||||
Airdrop ETH | 21129839 | 16 days ago | IN | 0.054 ETH | 0.00318629 | ||||
Airdrop ETH | 21121175 | 17 days ago | IN | 0.08 ETH | 0.00972752 | ||||
Airdrop ERC721 | 21104162 | 19 days ago | IN | 0 ETH | 0.03032602 | ||||
Airdrop ERC721 | 21103594 | 19 days ago | IN | 0 ETH | 0.10676522 | ||||
Airdrop ERC721 | 21103575 | 19 days ago | IN | 0 ETH | 0.00424207 | ||||
Airdrop ERC721 | 21103561 | 19 days ago | IN | 0 ETH | 0.02425704 | ||||
Airdrop ERC721 | 21103554 | 19 days ago | IN | 0 ETH | 0.0008812 | ||||
Airdrop ERC721 | 21103547 | 19 days ago | IN | 0 ETH | 0.00339771 | ||||
Airdrop ERC20 | 21103191 | 20 days ago | IN | 0 ETH | 0.00027755 | ||||
Airdrop ERC20 | 21096758 | 20 days ago | IN | 0 ETH | 0.00988955 | ||||
Airdrop ERC20 | 21092686 | 21 days ago | IN | 0 ETH | 0.02029408 | ||||
Airdrop ERC20 | 21075065 | 23 days ago | IN | 0 ETH | 0.08257439 | ||||
Airdrop ERC20 | 21075054 | 23 days ago | IN | 0 ETH | 0.07224817 | ||||
Airdrop ERC20 | 21043620 | 28 days ago | IN | 0 ETH | 0.01527049 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
21215060 | 4 days ago | 0.02 ETH | ||||
21215059 | 4 days ago | 0.81 ETH | ||||
21215059 | 4 days ago | 0.16 ETH | ||||
21215059 | 4 days ago | 0.65 ETH | ||||
21215059 | 4 days ago | 1.29 ETH | ||||
21215059 | 4 days ago | 0.65 ETH | ||||
21215059 | 4 days ago | 3.87 ETH | ||||
21215059 | 4 days ago | 4.84 ETH | ||||
21215059 | 4 days ago | 3.87 ETH | ||||
21215059 | 4 days ago | 4.84 ETH | ||||
21215059 | 4 days ago | 21 ETH | ||||
21151878 | 13 days ago | 0.5849748 ETH | ||||
21129839 | 16 days ago | 0.003 ETH | ||||
21129839 | 16 days ago | 0.003 ETH | ||||
21129839 | 16 days ago | 0.003 ETH | ||||
21129839 | 16 days ago | 0.003 ETH | ||||
21129839 | 16 days ago | 0.003 ETH | ||||
21129839 | 16 days ago | 0.003 ETH | ||||
21129839 | 16 days ago | 0.003 ETH | ||||
21129839 | 16 days ago | 0.003 ETH | ||||
21129839 | 16 days ago | 0.003 ETH | ||||
21129839 | 16 days ago | 0.003 ETH | ||||
21129839 | 16 days ago | 0.003 ETH | ||||
21129839 | 16 days ago | 0.003 ETH | ||||
21129839 | 16 days ago | 0.003 ETH |
Loading...
Loading
Contract Name:
GasliteDrop
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 9999999 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity 0.8.19; /** bbbbbbbb dddddddd b::::::b d::::::d b::::::b d::::::d b::::::b d::::::d b:::::b d:::::d ggggggggg ggggg aaaaaaaaaaaaa ssssssssss b:::::bbbbbbbbb aaaaaaaaaaaaa ddddddddd:::::d g:::::::::ggg::::g a::::::::::::a ss::::::::::s b::::::::::::::bb a::::::::::::a dd::::::::::::::d g:::::::::::::::::g aaaaaaaaa:::::ass:::::::::::::s b::::::::::::::::b aaaaaaaaa:::::a d::::::::::::::::d g::::::ggggg::::::gg a::::as::::::ssss:::::s b:::::bbbbb:::::::b a::::ad:::::::ddddd:::::d g:::::g g:::::g aaaaaaa:::::a s:::::s ssssss b:::::b b::::::b aaaaaaa:::::ad::::::d d:::::d g:::::g g:::::g aa::::::::::::a s::::::s b:::::b b:::::b aa::::::::::::ad:::::d d:::::d g:::::g g:::::g a::::aaaa::::::a s::::::s b:::::b b:::::b a::::aaaa::::::ad:::::d d:::::d g::::::g g:::::ga::::a a:::::assssss s:::::s b:::::b b:::::ba::::a a:::::ad:::::d d:::::d g:::::::ggggg:::::ga::::a a:::::as:::::ssss::::::s b:::::bbbbbb::::::ba::::a a:::::ad::::::ddddd::::::dd g::::::::::::::::ga:::::aaaa::::::as::::::::::::::s b::::::::::::::::b a:::::aaaa::::::a d:::::::::::::::::d gg::::::::::::::g a::::::::::aa:::as:::::::::::ss b:::::::::::::::b a::::::::::aa:::a d:::::::::ddd::::d gggggggg::::::g aaaaaaaaaa aaaa sssssssssss bbbbbbbbbbbbbbbb aaaaaaaaaa aaaa ddddddddd ddddd g:::::g gggggg g:::::g g:::::gg gg:::::g g::::::ggg:::::::g gg:::::::::::::g ggg::::::ggg gggggg */ /** * @title GasliteDrop * @notice Turbo gas optimized bulk transfers of ERC20, ERC721, and ETH * @author Harrison (@PopPunkOnChain) * @author Gaslite (@GasliteGG) * @author Pop Punk LLC (@PopPunkLLC) */ contract GasliteDrop { /** * @notice Airdrop ERC721 tokens to a list of addresses * @param _nft The address of the ERC721 contract * @param _addresses The addresses to airdrop to * @param _tokenIds The tokenIds to airdrop */ function airdropERC721( address _nft, address[] calldata _addresses, uint256[] calldata _tokenIds ) external payable { assembly { // Check that the number of addresses matches the number of tokenIds if iszero(eq(_tokenIds.length, _addresses.length)) { revert(0, 0) } // transferFrom(address from, address to, uint256 tokenId) mstore(0x00, hex"23b872dd") // from address mstore(0x04, caller()) // end of array let end := add(_addresses.offset, shl(5, _addresses.length)) // diff = _addresses.offset - _tokenIds.offset let diff := sub(_addresses.offset, _tokenIds.offset) // Loop through the addresses for { let addressOffset := _addresses.offset } 1 {} { // to address mstore(0x24, calldataload(addressOffset)) // tokenId mstore(0x44, calldataload(sub(addressOffset, diff))) // transfer the token if iszero(call(gas(), _nft, 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 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 airdropERC20( 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 airdropETH( 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 } } } } }
{ "remappings": [ "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "@solady/=lib/solady/src/", "@openzeppelin/=lib/openzeppelin-contracts/contracts/", "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", "solady/=lib/solady/" ], "optimizer": { "enabled": true, "runs": 9999999 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "paris", "libraries": {} }
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":"airdropERC20","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"airdropERC721","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"airdropETH","outputs":[],"stateMutability":"payable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50610400806100206000396000f3fe6080604052600436106100345760003560e01c80631d5659fb1461003957806382947abe1461004e578063c1a3800614610061575b600080fd5b61004c610047366004610254565b610074565b005b61004c61005c3660046102d5565b6100e7565b61004c61006f36600461035e565b61019b565b82811461008057600080fd5b7f23b872dd00000000000000000000000000000000000000000000000000000000600052336004528260051b8401828503855b80356024528181033560445260008060646000808c5af16100d357600080fd5b6020018281106100b3575050505050505050565b8382146100f357600080fd5b7f23b872dd0000000000000000000000000000000000000000000000000000000060005233600452306024528060445260008060646000808a5af161013757600080fd5b7fa9059cbb000000000000000000000000000000000000000000000000000000006000528360051b8501838603865b80356004528181033560245260008060646000808d5af161018657600080fd5b60200182811061016657505050505050505050565b8281146101a757600080fd5b838360051b81018584035b6000806000808487013587355af16101c957600080fd5b6020830192508282036101b25750505050505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461020357600080fd5b919050565b60008083601f84011261021a57600080fd5b50813567ffffffffffffffff81111561023257600080fd5b6020830191508360208260051b850101111561024d57600080fd5b9250929050565b60008060008060006060868803121561026c57600080fd5b610275866101df565b9450602086013567ffffffffffffffff8082111561029257600080fd5b61029e89838a01610208565b909650945060408801359150808211156102b757600080fd5b506102c488828901610208565b969995985093965092949392505050565b600080600080600080608087890312156102ee57600080fd5b6102f7876101df565b9550602087013567ffffffffffffffff8082111561031457600080fd5b6103208a838b01610208565b9097509550604089013591508082111561033957600080fd5b5061034689828a01610208565b979a9699509497949695606090950135949350505050565b6000806000806040858703121561037457600080fd5b843567ffffffffffffffff8082111561038c57600080fd5b61039888838901610208565b909650945060208701359150808211156103b157600080fd5b506103be87828801610208565b9598949750955050505056fea2646970667358221220792dccaaf3120aecf3c06a58bf4e368e4bc40ceb2a47dc5d8a9ae6936fadc6d164736f6c63430008130033
Deployed Bytecode
0x6080604052600436106100345760003560e01c80631d5659fb1461003957806382947abe1461004e578063c1a3800614610061575b600080fd5b61004c610047366004610254565b610074565b005b61004c61005c3660046102d5565b6100e7565b61004c61006f36600461035e565b61019b565b82811461008057600080fd5b7f23b872dd00000000000000000000000000000000000000000000000000000000600052336004528260051b8401828503855b80356024528181033560445260008060646000808c5af16100d357600080fd5b6020018281106100b3575050505050505050565b8382146100f357600080fd5b7f23b872dd0000000000000000000000000000000000000000000000000000000060005233600452306024528060445260008060646000808a5af161013757600080fd5b7fa9059cbb000000000000000000000000000000000000000000000000000000006000528360051b8501838603865b80356004528181033560245260008060646000808d5af161018657600080fd5b60200182811061016657505050505050505050565b8281146101a757600080fd5b838360051b81018584035b6000806000808487013587355af16101c957600080fd5b6020830192508282036101b25750505050505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461020357600080fd5b919050565b60008083601f84011261021a57600080fd5b50813567ffffffffffffffff81111561023257600080fd5b6020830191508360208260051b850101111561024d57600080fd5b9250929050565b60008060008060006060868803121561026c57600080fd5b610275866101df565b9450602086013567ffffffffffffffff8082111561029257600080fd5b61029e89838a01610208565b909650945060408801359150808211156102b757600080fd5b506102c488828901610208565b969995985093965092949392505050565b600080600080600080608087890312156102ee57600080fd5b6102f7876101df565b9550602087013567ffffffffffffffff8082111561031457600080fd5b6103208a838b01610208565b9097509550604089013591508082111561033957600080fd5b5061034689828a01610208565b979a9699509497949695606090950135949350505050565b6000806000806040858703121561037457600080fd5b843567ffffffffffffffff8082111561038c57600080fd5b61039888838901610208565b909650945060208701359150808211156103b157600080fd5b506103be87828801610208565b9598949750955050505056fea2646970667358221220792dccaaf3120aecf3c06a58bf4e368e4bc40ceb2a47dc5d8a9ae6936fadc6d164736f6c63430008130033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
BLAST | 41.06% | $3,317.47 | 0.00322656 | $10.7 | |
AVAX | 25.54% | $42.69 | 0.1559 | $6.66 | |
ETH | 11.29% | $0.007395 | 398.033 | $2.94 | |
ETH | 3.66% | $3.04 | 0.314 | $0.9544 | |
ETH | 2.37% | <$0.000001 | 1,387,000 | $0.6166 | |
ETH | 1.18% | $0.999972 | 0.3076 | $0.3076 | |
POL | 5.73% | <$0.000001 | 39,635,279.3007 | $1.49 | |
ARB | 4.07% | $0.999939 | 1.0616 | $1.06 | |
ZKSYNC | 4.06% | $3,317.18 | 0.00031885 | $1.06 | |
BASE | 1.04% | $0.00042 | 646.226 | $0.2711 | |
BASE | <0.01% | $3,280.13 | 0.00000000000002 | <$0.000001 |
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.