Overview
MNT Balance
MNT Value
$0.00Latest 6 from a total of 6 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Airdrop ETH | 79288231 | 262 days ago | IN | 3,100 MNT | 0.01043211 | ||||
| Airdrop ETH | 78592278 | 279 days ago | IN | 20,131.21 MNT | 0.14042768 | ||||
| Airdrop ETH | 78592223 | 279 days ago | IN | 1 MNT | 0.00242221 | ||||
| Airdrop ETH | 78592191 | 279 days ago | IN | 0.3 MNT | 0.00758576 | ||||
| Airdrop ERC20 | 78592031 | 279 days ago | IN | 0 MNT | 0.00440341 | ||||
| Airdrop ERC20 | 78591288 | 279 days ago | IN | 0 MNT | 0.00822756 |
Latest 25 internal transactions (View All)
| Parent Transaction Hash | Block | From | To | ||||
|---|---|---|---|---|---|---|---|
| 79288231 | 262 days ago | 200 MNT | |||||
| 79288231 | 262 days ago | 200 MNT | |||||
| 79288231 | 262 days ago | 300 MNT | |||||
| 79288231 | 262 days ago | 500 MNT | |||||
| 79288231 | 262 days ago | 500 MNT | |||||
| 79288231 | 262 days ago | 700 MNT | |||||
| 79288231 | 262 days ago | 700 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT | |||||
| 78592278 | 279 days ago | 0 MNT |
Cross-Chain Transactions
Contract Source Code (Solidity Standard Json-Input format)
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
/// @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/",
"@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/"
],
"optimizer": {
"enabled": true,
"runs": 999999
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
},
"evmVersion": "shanghai",
"viaIR": false
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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
608060405234801561000f575f80fd5b506103d68061001d5f395ff3fe608060405260043610610033575f3560e01c80631d5659fb1461003757806382947abe1461004c578063c1a380061461005f575b5f80fd5b61004a61004536600461023b565b610072565b005b61004a61005a3660046102b6565b6100e0565b61004a61006d366004610339565b61018b565b82811461007d575f80fd5b7f23b872dd000000000000000000000000000000000000000000000000000000005f52336004528260051b8401828503855b8035602452818103356044525f8060645f808c5af16100cc575f80fd5b6020018281106100af575050505050505050565b8382146100eb575f80fd5b7f23b872dd000000000000000000000000000000000000000000000000000000005f523360045230602452806044525f8060645f808a5af161012b575f80fd5b7fa9059cbb000000000000000000000000000000000000000000000000000000005f528360051b8501838603865b8035600452818103356024525f8060645f808d5af1610176575f80fd5b60200182811061015957505050505050505050565b828114610196575f80fd5b838360051b81018584035b5f805f808487013587355af16101b5575f80fd5b6020830192508282036101a15750505050505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101ee575f80fd5b919050565b5f8083601f840112610203575f80fd5b50813567ffffffffffffffff81111561021a575f80fd5b6020830191508360208260051b8501011115610234575f80fd5b9250929050565b5f805f805f6060868803121561024f575f80fd5b610258866101cb565b9450602086013567ffffffffffffffff80821115610274575f80fd5b61028089838a016101f3565b90965094506040880135915080821115610298575f80fd5b506102a5888289016101f3565b969995985093965092949392505050565b5f805f805f80608087890312156102cb575f80fd5b6102d4876101cb565b9550602087013567ffffffffffffffff808211156102f0575f80fd5b6102fc8a838b016101f3565b90975095506040890135915080821115610314575f80fd5b5061032189828a016101f3565b979a9699509497949695606090950135949350505050565b5f805f806040858703121561034c575f80fd5b843567ffffffffffffffff80821115610363575f80fd5b61036f888389016101f3565b90965094506020870135915080821115610387575f80fd5b50610394878288016101f3565b9598949750955050505056fea264697066735822122095328c8caa91ab93a795758cc7e4f6abb851cb01a368fdb0bfab0bf76698445d64736f6c63430008140033
Deployed Bytecode
0x608060405260043610610033575f3560e01c80631d5659fb1461003757806382947abe1461004c578063c1a380061461005f575b5f80fd5b61004a61004536600461023b565b610072565b005b61004a61005a3660046102b6565b6100e0565b61004a61006d366004610339565b61018b565b82811461007d575f80fd5b7f23b872dd000000000000000000000000000000000000000000000000000000005f52336004528260051b8401828503855b8035602452818103356044525f8060645f808c5af16100cc575f80fd5b6020018281106100af575050505050505050565b8382146100eb575f80fd5b7f23b872dd000000000000000000000000000000000000000000000000000000005f523360045230602452806044525f8060645f808a5af161012b575f80fd5b7fa9059cbb000000000000000000000000000000000000000000000000000000005f528360051b8501838603865b8035600452818103356024525f8060645f808d5af1610176575f80fd5b60200182811061015957505050505050505050565b828114610196575f80fd5b838360051b81018584035b5f805f808487013587355af16101b5575f80fd5b6020830192508282036101a15750505050505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101ee575f80fd5b919050565b5f8083601f840112610203575f80fd5b50813567ffffffffffffffff81111561021a575f80fd5b6020830191508360208260051b8501011115610234575f80fd5b9250929050565b5f805f805f6060868803121561024f575f80fd5b610258866101cb565b9450602086013567ffffffffffffffff80821115610274575f80fd5b61028089838a016101f3565b90965094506040880135915080821115610298575f80fd5b506102a5888289016101f3565b969995985093965092949392505050565b5f805f805f80608087890312156102cb575f80fd5b6102d4876101cb565b9550602087013567ffffffffffffffff808211156102f0575f80fd5b6102fc8a838b016101f3565b90975095506040890135915080821115610314575f80fd5b5061032189828a016101f3565b979a9699509497949695606090950135949350505050565b5f805f806040858703121561034c575f80fd5b843567ffffffffffffffff80821115610363575f80fd5b61036f888389016101f3565b90965094506020870135915080821115610387575f80fd5b50610394878288016101f3565b9598949750955050505056fea264697066735822122095328c8caa91ab93a795758cc7e4f6abb851cb01a368fdb0bfab0bf76698445d64736f6c63430008140033
Deployed Bytecode Sourcemap
2458:4851:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2704:1376;;;;;;:::i;:::-;;:::i;:::-;;4359:1787;;;;;;:::i;:::-;;:::i;6304:1003::-;;;;;;:::i;:::-;;:::i;2704:1376::-;2984:17;2966:16;2963:39;2953:67;;3016:1;3013;3006:12;2953:67;3117:13;3111:4;3104:27;3185:8;3179:4;3172:22;3277:17;3274:1;3270:25;3251:17;3247:49;3403:16;3384:17;3380:40;3503:17;3476:588;3602:13;3589:27;3583:4;3576:41;3706:4;3691:13;3687:24;3674:38;3668:4;3661:52;3814:1;3811;3805:4;3799;3796:1;3790:4;3783:5;3778:38;3768:66;;3830:1;3827;3820:12;3768:66;3935:4;3916:24;4017:22;;;3476:588;4007:43;3480:42;;;2704:1376;;;;;:::o;4359:1787::-;4677:17;4660:15;4657:38;4647:66;;4709:1;4706;4699:12;4647:66;4810:13;4804:4;4797:27;4878:8;4872:4;4865:22;4955:9;4949:4;4942:23;5019:12;5013:4;5006:26;5148:1;5145;5139:4;5133;5130:1;5122:6;5115:5;5110:40;5100:68;;5164:1;5161;5154:12;5100:68;5246:13;5240:4;5233:27;5343:17;5340:1;5336:25;5317:17;5313:49;5468:15;5449:17;5445:39;5567:17;5540:590;5666:13;5653:27;5647:4;5640:41;5769:4;5754:13;5750:24;5737:38;5731:4;5724:52;5880:1;5877;5871:4;5865;5862:1;5854:6;5847:5;5842:40;5832:68;;5896:1;5893;5886:12;5832:68;6001:4;5982:24;6083:22;;;5540:590;6073:43;5544:42;;;4359:1787;;;;;;:::o;6304:1003::-;6544:17;6527:15;6524:38;6514:66;;6576:1;6573;6566:12;6514:66;6627:17;6710;6707:1;6703:25;6700:1;6696:33;6833:17;6816:15;6812:39;6907:384;7058:4;7052;7046;7040;7032;7029:1;7025:12;7012:26;7008:1;6995:15;6988:5;6983:80;6973:150;;7100:4;7094;7087:18;6973:150;7194:4;7191:1;7187:12;7182:17;;7265:1;7260:3;7257:10;6907:384;7254:23;6911:2;;;6304:1003;;;;:::o;14:196:1:-;82:20;;142:42;131:54;;121:65;;111:93;;200:1;197;190:12;111:93;14:196;;;:::o;215:367::-;278:8;288:6;342:3;335:4;327:6;323:17;319:27;309:55;;360:1;357;350:12;309:55;-1:-1:-1;383:20:1;;426:18;415:30;;412:50;;;458:1;455;448:12;412:50;495:4;487:6;483:17;471:29;;555:3;548:4;538:6;535:1;531:14;523:6;519:27;515:38;512:47;509:67;;;572:1;569;562:12;509:67;215:367;;;;;:::o;587:847::-;718:6;726;734;742;750;803:2;791:9;782:7;778:23;774:32;771:52;;;819:1;816;809:12;771:52;842:29;861:9;842:29;:::i;:::-;832:39;;922:2;911:9;907:18;894:32;945:18;986:2;978:6;975:14;972:34;;;1002:1;999;992:12;972:34;1041:70;1103:7;1094:6;1083:9;1079:22;1041:70;:::i;:::-;1130:8;;-1:-1:-1;1015:96:1;-1:-1:-1;1218:2:1;1203:18;;1190:32;;-1:-1:-1;1234:16:1;;;1231:36;;;1263:1;1260;1253:12;1231:36;;1302:72;1366:7;1355:8;1344:9;1340:24;1302:72;:::i;:::-;587:847;;;;-1:-1:-1;587:847:1;;-1:-1:-1;1393:8:1;;1276:98;587:847;-1:-1:-1;;;587:847:1:o;1439:916::-;1579:6;1587;1595;1603;1611;1619;1672:3;1660:9;1651:7;1647:23;1643:33;1640:53;;;1689:1;1686;1679:12;1640:53;1712:29;1731:9;1712:29;:::i;:::-;1702:39;;1792:2;1781:9;1777:18;1764:32;1815:18;1856:2;1848:6;1845:14;1842:34;;;1872:1;1869;1862:12;1842:34;1911:70;1973:7;1964:6;1953:9;1949:22;1911:70;:::i;:::-;2000:8;;-1:-1:-1;1885:96:1;-1:-1:-1;2088:2:1;2073:18;;2060:32;;-1:-1:-1;2104:16:1;;;2101:36;;;2133:1;2130;2123:12;2101:36;;2172:72;2236:7;2225:8;2214:9;2210:24;2172:72;:::i;:::-;1439:916;;;;-1:-1:-1;1439:916:1;;;;;2345:2;2330:18;;;2317:32;;1439:916;-1:-1:-1;;;;1439:916:1:o;2360:773::-;2482:6;2490;2498;2506;2559:2;2547:9;2538:7;2534:23;2530:32;2527:52;;;2575:1;2572;2565:12;2527:52;2615:9;2602:23;2644:18;2685:2;2677:6;2674:14;2671:34;;;2701:1;2698;2691:12;2671:34;2740:70;2802:7;2793:6;2782:9;2778:22;2740:70;:::i;:::-;2829:8;;-1:-1:-1;2714:96:1;-1:-1:-1;2917:2:1;2902:18;;2889:32;;-1:-1:-1;2933:16:1;;;2930:36;;;2962:1;2959;2952:12;2930:36;;3001:72;3065:7;3054:8;3043:9;3039:24;3001:72;:::i;:::-;2360:773;;;;-1:-1:-1;3092:8:1;-1:-1:-1;;;;2360:773:1:o
Swarm Source
ipfs://95328c8caa91ab93a795758cc7e4f6abb851cb01a368fdb0bfab0bf76698445d
Net Worth in USD
Net Worth in MNT
Token Allocations
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| BASE | 100.00% | $2,887.38 | 0.000089 | $0.256977 |
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.