Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
GasliteDrop
Compiler Version
v0.8.21+commit.d9974bed
Optimization Enabled:
Yes with 200 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 }
}
}
}
}{
"remappings": [
"erc721a/=lib/erc721a/",
"@openzeppelin/=lib/openzeppelin-contracts/",
"@closedsea/=lib/closedsea/src/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
"closedsea/=lib/closedsea/src/",
"ds-test/=lib/forge-std/lib/ds-test/src/",
"erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
"erc721a-upgradeable/=lib/closedsea/lib/erc721a-upgradeable/contracts/",
"forge-std/=lib/forge-std/src/",
"openzeppelin-contracts-upgradeable/=lib/closedsea/lib/openzeppelin-contracts-upgradeable/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"operator-filter-registry/=lib/closedsea/lib/operator-filter-registry/",
"solady/=lib/closedsea/lib/solady/"
],
"optimizer": {
"enabled": true,
"runs": 200
},
"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
Contract ABI
API[{"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"}]Contract Creation Code
608060405234801561001057600080fd5b506101a3806100206000396000f3fe60806040526004361061001e5760003560e01c80631d5659fb14610023575b600080fd5b6100366100313660046100de565b610038565b005b82811461004457600080fd5b6323b872dd60e01b600052336004528260051b8401828503855b80356024528181033560445260008060646000808c5af161007e57600080fd5b60200182811061005e575050505050505050565b60008083601f8401126100a457600080fd5b50813567ffffffffffffffff8111156100bc57600080fd5b6020830191508360208260051b85010111156100d757600080fd5b9250929050565b6000806000806000606086880312156100f657600080fd5b85356001600160a01b038116811461010d57600080fd5b9450602086013567ffffffffffffffff8082111561012a57600080fd5b61013689838a01610092565b9096509450604088013591508082111561014f57600080fd5b5061015c88828901610092565b96999598509396509294939250505056fea26469706673582212207cd67cb1fbfda0cfe13e7c7b15f5fe80d220cfbde398996b5a6d5abdd6b7aa7664736f6c63430008150033
Deployed Bytecode
0x60806040526004361061001e5760003560e01c80631d5659fb14610023575b600080fd5b6100366100313660046100de565b610038565b005b82811461004457600080fd5b6323b872dd60e01b600052336004528260051b8401828503855b80356024528181033560445260008060646000808c5af161007e57600080fd5b60200182811061005e575050505050505050565b60008083601f8401126100a457600080fd5b50813567ffffffffffffffff8111156100bc57600080fd5b6020830191508360208260051b85010111156100d757600080fd5b9250929050565b6000806000806000606086880312156100f657600080fd5b85356001600160a01b038116811461010d57600080fd5b9450602086013567ffffffffffffffff8082111561012a57600080fd5b61013689838a01610092565b9096509450604088013591508082111561014f57600080fd5b5061015c88828901610092565b96999598509396509294939250505056fea26469706673582212207cd67cb1fbfda0cfe13e7c7b15f5fe80d220cfbde398996b5a6d5abdd6b7aa7664736f6c63430008150033
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.