ETH Price: $2,731.88 (-4.89%)

Contract

0xa5a2e5A4aa8Fd0CB021c00fc62283F337c175d07

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

ContractCreator

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Airdrop ERC1155163879552025-08-08 14:43:36175 days ago1754664216IN
0xa5a2e5A4...37c175d07
0 ETH0.000304340.04525
Airdrop ERC1155163783932025-08-08 12:00:03175 days ago1754654403IN
0xa5a2e5A4...37c175d07
0 ETH0.000053330.046
Airdrop ERC1155163783642025-08-08 11:59:24175 days ago1754654364IN
0xa5a2e5A4...37c175d07
0 ETH0.000048120.046
Airdrop ERC1155163783252025-08-08 11:58:45175 days ago1754654325IN
0xa5a2e5A4...37c175d07
0 ETH0.000046770.046
Airdrop ERC1155163782812025-08-08 11:58:01175 days ago1754654281IN
0xa5a2e5A4...37c175d07
0 ETH0.000052470.046
Airdrop ERC1155160509402025-08-04 13:23:39179 days ago1754313819IN
0xa5a2e5A4...37c175d07
0 ETH0.000104860.04525
Airdrop ERC1155158764312025-08-02 10:46:24181 days ago1754131584IN
0xa5a2e5A4...37c175d07
0 ETH0.000115790.046
Airdrop ERC1155158763812025-08-02 10:45:33181 days ago1754131533IN
0xa5a2e5A4...37c175d07
0 ETH0.000122420.046
Airdrop ERC1155158763192025-08-02 10:44:31181 days ago1754131471IN
0xa5a2e5A4...37c175d07
0 ETH0.000091840.046
Airdrop ERC1155158761232025-08-02 10:41:14181 days ago1754131274IN
0xa5a2e5A4...37c175d07
0 ETH0.000116390.046
Airdrop ERC1155137363092025-07-07 21:08:22206 days ago1751922502IN
0xa5a2e5A4...37c175d07
0 ETH0.000113880.046
Airdrop ERC1155137362572025-07-07 21:07:28206 days ago1751922448IN
0xa5a2e5A4...37c175d07
0 ETH0.000113830.046
Airdrop ERC1155137362202025-07-07 21:06:48206 days ago1751922408IN
0xa5a2e5A4...37c175d07
0 ETH0.000106340.046
Airdrop ERC1155137361672025-07-07 21:05:54206 days ago1751922354IN
0xa5a2e5A4...37c175d07
0 ETH0.000114370.046
Airdrop ERC1155137357382025-07-07 20:58:30206 days ago1751921910IN
0xa5a2e5A4...37c175d07
0 ETH0.000117520.046
Airdrop ERC1155137195902025-07-07 16:21:39206 days ago1751905299IN
0xa5a2e5A4...37c175d07
0 ETH0.000119390.046
Airdrop ERC115575277782025-04-24 17:08:13280 days ago1745514493IN
0xa5a2e5A4...37c175d07
0 ETH0.000793810.04525
Airdrop ERC115575219172025-04-24 15:28:15280 days ago1745508495IN
0xa5a2e5A4...37c175d07
0 ETH0.000013330.04525

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
75200422025-04-24 14:56:10281 days ago1745506570  Contract Creation0 ETH
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GasliteDrop1155

Compiler Version
v0.8.20+commit.a1b79de6

ZkSolc Version
v1.5.12

Optimization Enabled:
Yes with Mode 3

Other Settings:
shanghai EvmVersion
pragma solidity 0.8.20;

// forgefmt: disable-start
/**
                                                                                                                   
                                                          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                                                                                                      
 */
 // forgefmt: disable-end

interface IERC1155 {
    function safeTransferFrom(address _from, address _to, uint256 _id, uint256 _value, bytes calldata _data) external;
}

/// @title GasliteDrop1155
/// @notice Turbo gas optimized bulk transfers of ERC1155
/// @author Harrison (@PopPunkOnChain)
/// @author 0xjustadev (@0xjustadev)
/// @author Gaslite (@GasliteGG)
/// @author Pop Punk LLC (@PopPunkLLC)
contract GasliteDrop1155 {
    bytes32 private immutable SAFE_TRANSFER_FROM_SELECTOR;

    struct AirdropToken {
        uint256 tokenId;
        AirdropTokenAmount[] airdropAmounts;
    }

    struct AirdropTokenAmount {
        uint256 amount;
        address[] recipients;
    }

    constructor() {
        SAFE_TRANSFER_FROM_SELECTOR = IERC1155.safeTransferFrom.selector;
    }

    /// @notice Airdrop ERC1155 tokens to a list of addresses
    /// @param tokenAddress The address of the ERC1155 contract
    /// @param airdropTokens The tokenIds and amounts to airdrop
    function airdropERC1155(address tokenAddress, AirdropToken[] calldata airdropTokens) external {
        bytes32 safeTransferFromSelector = SAFE_TRANSFER_FROM_SELECTOR;
        assembly {
            mstore(0x00, safeTransferFromSelector)
            mstore(0x04, caller())
            mstore(0x84, 0xA0)

            let tokenArrayCalldataOffsetStart := 0x64
            let tokenArrayCalldataOffset := 0x64
            let tokenArrayCalldataOffsetEnd := add(tokenArrayCalldataOffset, shl(5, calldataload(0x44)))

            for {} 1 {} {
                if eq(tokenArrayCalldataOffset, tokenArrayCalldataOffsetEnd) { break }

                let tokenCalldataOffset := add(tokenArrayCalldataOffsetStart, calldataload(tokenArrayCalldataOffset))
                mstore(0x44, calldataload(tokenCalldataOffset))

                let amountArrayCalldataOffsetStart := add(tokenCalldataOffset, 0x60)
                let amountArrayCalldataOffset := amountArrayCalldataOffsetStart
                let amountArrayCalldataOffsetEnd :=
                    add(amountArrayCalldataOffset, shl(5, calldataload(add(tokenCalldataOffset, 0x40))))

                let tmpTokenAddress := tokenAddress

                for {} 1 {} {
                    if eq(amountArrayCalldataOffset, amountArrayCalldataOffsetEnd) { break }

                    let amountCalldataOffset :=
                        add(amountArrayCalldataOffsetStart, calldataload(amountArrayCalldataOffset))
                    mstore(0x64, calldataload(amountCalldataOffset))

                    let recipientArrayCalldataOffset := add(amountCalldataOffset, 0x60)
                    let recipientArrayCalldataOffsetEnd :=
                        add(recipientArrayCalldataOffset, shl(5, calldataload(add(amountCalldataOffset, 0x40))))

                    for {} 1 {} {
                        if eq(recipientArrayCalldataOffset, recipientArrayCalldataOffsetEnd) { break }

                        mstore(0x24, calldataload(recipientArrayCalldataOffset))
                        if iszero(call(gas(), tmpTokenAddress, 0, 0x00, 0xC4, 0, 0)) { revert(0, 0) }

                        recipientArrayCalldataOffset := add(recipientArrayCalldataOffset, 0x20)
                    }

                    amountArrayCalldataOffset := add(amountArrayCalldataOffset, 0x20)
                }

                tokenArrayCalldataOffset := add(tokenArrayCalldataOffset, 0x20)
            }
        }
    }
}

Settings
{
  "viaIR": false,
  "codegen": "yul",
  "remappings": [
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "@solady/=lib/solady/",
    "@ERC721A/=lib/ERC721A/",
    "@murky/=lib/murky/src/",
    "@openzeppelin/=lib/openzeppelin-contracts/",
    "ERC721A/=lib/ERC721A/contracts/",
    "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
    "murky/=lib/murky/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "solady/=lib/solady/"
  ],
  "evmVersion": "shanghai",
  "outputSelection": {
    "*": {
      "*": [
        "abi"
      ]
    }
  },
  "optimizer": {
    "enabled": true,
    "mode": "3",
    "size_fallback": false,
    "disable_system_request_memoization": true
  },
  "metadata": {},
  "libraries": {},
  "enableEraVMExtensions": false,
  "forceEVMLA": false
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address[]","name":"recipients","type":"address[]"}],"internalType":"struct GasliteDrop1155.AirdropTokenAmount[]","name":"airdropAmounts","type":"tuple[]"}],"internalType":"struct GasliteDrop1155.AirdropToken[]","name":"airdropTokens","type":"tuple[]"}],"name":"airdropERC1155","outputs":[],"stateMutability":"nonpayable","type":"function"}]

9c4d535b000000000000000000000000000000000000000000000000000000000000000001000035ba9b0a83121ca255c6f65a2f33d7a9c55f61136503c83368bbac1dea00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x0001000000000002000800000000000200000000000103550000000100200190000000450000c13d000000600210027000000029022001970000008003000039000000400030043f000000040020008c000000920000413d000000000301043b0000002c033001970000002d0030009c000000920000c13d000000440020008c000000920000413d0000000003000416000000000003004b000000920000c13d0000000403100370000000000303043b000600000003001d0000002e0030009c000000920000213d0000002403100370000000000303043b0000002f0030009c000000920000213d0000002304300039000000000024004b000000920000813d0000000404300039000000000141034f000000000101043b0000002f0010009c000000920000213d000000050110021000000000011300190000002401100039000000000021004b000000920000213d000000300100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000000290010009c0000002901008041000000c00110021000000031011001c70000800502000039009f009a0000040f0000000100200190000000540000613d000000000101043b000000000010043f0000000001000411000000040010043f000000a001000039000000840010043f00000044010000390000000001100367000000000101043b0000000501100212000000550000c13d0000000001000019000000a00001042e000000a001000039000000400010043f0000000001000416000000000001004b000000920000c13d0000002a01000041000000800010043f0000014000000443000001600010044300000020010000390000010000100443000000010100003900000120001004430000002b01000041000000a00001042e000000000001042f0000006402000039000100440010003d0000005c0000013d0000000202000029000000010020006c0000002002200039000000430000613d000200000002001d0000000002200367000000000302043b00000064023000390000000001200367000000000101043b000000440010043f000400000003001d000000a4013000390000000001100367000000000101043b0000000501100212000000580000613d0000000402000029000000c403200039000300000031001d000000710000013d00000005030000290000002003300039000000030030006c000000580000613d000500000003001d0000000001300367000000000101043b0000000401100029000000c4031000390000000003300367000000000303043b000000640030043f00000104031000390000000002300367000000000202043b00000005022002120000006d0000613d0000012401100039000700000012001d000800000001001d0000000001100367000000000101043b000000240010043f0000000001000414000000290010009c0000002901008041000000c00110021000000032011001c70000000602000029009f00950000040f0000000100200190000000920000613d00000008010000290000002001100039000000070010006c000000800000c13d0000006d0000013d0000000001000019000000a100010430000000000001042f00000098002104210000000102000039000000000001042d0000000002000019000000000001042d0000009d002104230000000102000039000000000001042d0000000002000019000000000001042d0000009f00000432000000a00001042e000000a1000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffffffff242432a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000080000001000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000089ee927600000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e020000020000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000c40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cd6a2f858eb19dad6267e1ea8c821017d220fed5f8471213b3733d3267162aa5

Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.