Skip to main content
Solidity: ^0.8.24 Inherits: Ownable (OpenZeppelin) Author: Gaslite (https://github.com/PopPunkLLC/gaslite-core/blob/main/src/GasliteDrop.sol) Copied from the commit at cfa107e66a800c2b761eb9a44d3f8f510eca2a84 This contract has been modified from the implementation at the above link.

State Variables

feeReceiver

address public feeReceiver

Functions

airdropERC721

function airdropERC721(
    address _nft,
    address[] calldata _addresses,
    uint256[] calldata _tokenIds
) external payable
Params
NameTypeDescription
_nftaddresserc721 contract
_addressesaddress[]recipients
_tokenIdsuint256[]token-ids to transfer (1-to-1 with addresses)
Reverts: if length mismatch, if any transfer fails, or out-of-gas

airdropERC20

function airdropERC20(
    address _token,
    address[] calldata _addresses,
    uint256[] calldata _amounts,
    uint256 _totalAmount
) external payable
Params
NameTypeDescription
_tokenaddresserc20 contract
_addressesaddress[]recipients
_amountsuint256[]amounts to send (1-to-1 with addresses)
_totalAmountuint256must equal sum(amounts) - transferred once from caller to contract
Reverts: on length mismatch, transfer failure, or insufficient allowance/balance

airdropETH

function airdropETH(
    address[] calldata _addresses,
    uint256[] calldata _amounts
) external payable
Params
NameTypeDescription
_addressesaddress[]recipients
_amountsuint256[]wei to send (1-to-1)
Reverts: on length mismatch or any failed call

setFeeReceiver

function setFeeReceiver(address receiver) external onlyOwner

receive()


receive() external payable
Allow contract to accept bare ETH transfers.

Internal Functions

collectFees

function collectFees() internal
Called by: airdropERC721, airdropERC20, airdropETH (always executed last)