Feature Tip: Add private address tag to any address under My Name Tag !
Latest 25 from a total of 57,188 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Multi Send | 24565021 | 4 hrs ago | IN | 0 ETH | 0.00002195 | ||||
| Multi Send | 24564864 | 4 hrs ago | IN | 0 ETH | 0.00003218 | ||||
| Multi Send | 24564574 | 5 hrs ago | IN | 0 ETH | 0.00005403 | ||||
| Multi Send | 24564406 | 6 hrs ago | IN | 0 ETH | 0.00036111 | ||||
| Multi Send | 24563450 | 9 hrs ago | IN | 0 ETH | 0.00112973 | ||||
| Multi Send | 24562957 | 10 hrs ago | IN | 0 ETH | 0.00002531 | ||||
| Multi Send | 24562820 | 11 hrs ago | IN | 0 ETH | 0.00042585 | ||||
| Multi Send | 24560885 | 17 hrs ago | IN | 0 ETH | 0.00001195 | ||||
| Multi Send | 24559795 | 21 hrs ago | IN | 0 ETH | 0.00000949 | ||||
| Multi Send | 24558671 | 25 hrs ago | IN | 0 ETH | 0.00001176 | ||||
| Multi Send | 24558433 | 26 hrs ago | IN | 0 ETH | 0.00015877 | ||||
| Multi Send | 24556555 | 32 hrs ago | IN | 0 ETH | 0.00003678 | ||||
| Multi Send | 24555831 | 34 hrs ago | IN | 0 ETH | 0.00002001 | ||||
| Multi Send | 24555375 | 36 hrs ago | IN | 0 ETH | 0.0000103 | ||||
| Multi Send | 24553745 | 41 hrs ago | IN | 0 ETH | 0.00018188 | ||||
| Multi Send | 24552929 | 44 hrs ago | IN | 0 ETH | 0.00038653 | ||||
| Multi Send | 24552709 | 45 hrs ago | IN | 0 ETH | 0.00000859 | ||||
| Multi Send | 24552380 | 46 hrs ago | IN | 0 ETH | 0.00001524 | ||||
| Multi Send | 24552362 | 46 hrs ago | IN | 0 ETH | 0.00001678 | ||||
| Multi Send | 24552359 | 46 hrs ago | IN | 0 ETH | 0.00062085 | ||||
| Multi Send | 24552077 | 47 hrs ago | IN | 0 ETH | 0.00000898 | ||||
| Multi Send | 24552045 | 47 hrs ago | IN | 0 ETH | 0.00001137 | ||||
| Multi Send | 24552020 | 47 hrs ago | IN | 0 ETH | 0.00002105 | ||||
| Multi Send | 24552014 | 47 hrs ago | IN | 0 ETH | 0.00001873 | ||||
| Multi Send | 24551516 | 2 days ago | IN | 0 ETH | 0.00001435 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 23241120 | 185 days ago | 0.0001 ETH | ||||
| Transfer | 22987137 | 220 days ago | 0.005 ETH | ||||
| Transfer | 22944964 | 226 days ago | 0.013116 ETH | ||||
| Transfer | 22732271 | 256 days ago | 0.01 ETH | ||||
| Transfer | 22732271 | 256 days ago | 3.5 ETH | ||||
| Transfer | 22732271 | 256 days ago | 3 ETH | ||||
| Transfer | 22723921 | 257 days ago | 0.0367 ETH | ||||
| Transfer | 22718415 | 258 days ago | 0.01 ETH | ||||
| Transfer | 22718415 | 258 days ago | 5 ETH | ||||
| Transfer | 22718415 | 258 days ago | 4 ETH | ||||
| Transfer | 22716459 | 258 days ago | 0.01 ETH | ||||
| Transfer | 22716459 | 258 days ago | 5 ETH | ||||
| Transfer | 22716459 | 258 days ago | 4 ETH | ||||
| Transfer | 22701900 | 260 days ago | 0.015 ETH | ||||
| Transfer | 22700492 | 260 days ago | 0.04 ETH | ||||
| Transfer | 22695243 | 261 days ago | 0.01 ETH | ||||
| Transfer | 22695243 | 261 days ago | 3.5 ETH | ||||
| Transfer | 22695243 | 261 days ago | 3.1 ETH | ||||
| Transfer | 22693341 | 261 days ago | 0.0045 ETH | ||||
| Transfer | 22625562 | 271 days ago | 0.01 ETH | ||||
| Transfer | 22625562 | 271 days ago | 5 ETH | ||||
| Transfer | 22625562 | 271 days ago | 3.1 ETH | ||||
| Transfer | 22617118 | 272 days ago | 0.01 ETH | ||||
| Transfer | 22617118 | 272 days ago | 5 ETH | ||||
| Transfer | 22617118 | 272 days ago | 3.5 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
MultiSendCallOnly
Compiler Version
v0.7.6+commit.7338295f
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion, GNU LGPLv3 license, Audited
Contract Source Code (Solidity Standard Json-Input format)Audit Report
// SPDX-License-Identifier: LGPL-3.0-only pragma solidity >=0.7.0 <0.9.0; /// @title Multi Send Call Only - Allows to batch multiple transactions into one, but only calls /// @author Stefan George - <[email protected]> /// @author Richard Meissner - <[email protected]> /// @notice The guard logic is not required here as this contract doesn't support nested delegate calls contract MultiSendCallOnly { /// @dev Sends multiple transactions and reverts all if one fails. /// @param transactions Encoded transactions. Each transaction is encoded as a packed bytes of /// operation has to be uint8(0) in this version (=> 1 byte), /// to as a address (=> 20 bytes), /// value as a uint256 (=> 32 bytes), /// data length as a uint256 (=> 32 bytes), /// data as bytes. /// see abi.encodePacked for more information on packed encoding /// @notice The code is for most part the same as the normal MultiSend (to keep compatibility), /// but reverts if a transaction tries to use a delegatecall. /// @notice This method is payable as delegatecalls keep the msg.value from the previous call /// If the calling method (e.g. execTransaction) received ETH this would revert otherwise function multiSend(bytes memory transactions) public payable { // solhint-disable-next-line no-inline-assembly assembly { let length := mload(transactions) let i := 0x20 for { // Pre block is not used in "while mode" } lt(i, length) { // Post block is not used in "while mode" } { // First byte of the data is the operation. // We shift by 248 bits (256 - 8 [operation byte]) it right since mload will always load 32 bytes (a word). // This will also zero out unused data. let operation := shr(0xf8, mload(add(transactions, i))) // We offset the load address by 1 byte (operation byte) // We shift it right by 96 bits (256 - 160 [20 address bytes]) to right-align the data and zero out unused data. let to := shr(0x60, mload(add(transactions, add(i, 0x01)))) // We offset the load address by 21 byte (operation byte + 20 address bytes) let value := mload(add(transactions, add(i, 0x15))) // We offset the load address by 53 byte (operation byte + 20 address bytes + 32 value bytes) let dataLength := mload(add(transactions, add(i, 0x35))) // We offset the load address by 85 byte (operation byte + 20 address bytes + 32 value bytes + 32 data length bytes) let data := add(transactions, add(i, 0x55)) let success := 0 switch operation case 0 { success := call(gas(), to, value, data, dataLength, 0, 0) } // This version does not allow delegatecalls case 1 { revert(0, 0) } if eq(success, 0) { revert(0, 0) } // Next entry starts at 85 byte + data length i := add(i, add(0x55, dataLength)) } } } }
{
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs",
"useLiteralContent": true
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": [],
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
}
}Contract Security Audit
- G0 Group - May 1st, 2021 - Security Audit Report
Contract ABI
API[{"inputs":[{"internalType":"bytes","name":"transactions","type":"bytes"}],"name":"multiSend","outputs":[],"stateMutability":"payable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b5061019a806100206000396000f3fe60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100dc6004803603602081101561003957600080fd5b810190808035906020019064010000000081111561005657600080fd5b82018360208201111561006857600080fd5b8035906020019184600183028401116401000000008311171561008a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506100de565b005b805160205b8181101561015f578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461012857600181146101385761013d565b6000808585888a5af1915061013d565b600080fd5b50600081141561014c57600080fd5b82605501870196505050505050506100e3565b50505056fea264697066735822122035246402746c96964495cae5b36461fd44dfb89f8e6cf6f6b8d60c0aa89f414864736f6c63430007060033
Deployed Bytecode
0x60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100dc6004803603602081101561003957600080fd5b810190808035906020019064010000000081111561005657600080fd5b82018360208201111561006857600080fd5b8035906020019184600183028401116401000000008311171561008a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506100de565b005b805160205b8181101561015f578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461012857600181146101385761013d565b6000808585888a5af1915061013d565b600080fd5b50600081141561014c57600080fd5b82605501870196505050505050506100e3565b50505056fea264697066735822122035246402746c96964495cae5b36461fd44dfb89f8e6cf6f6b8d60c0aa89f414864736f6c63430007060033
Loading...
Loading
Loading...
Loading
OVERVIEW
Library for call-only transaction batching used in Gnosis SafeNet Worth in USD
$0.01
Net Worth in ETH
0.000008
Token Allocations
BNB
84.08%
ETH
15.92%
Multichain Portfolio | 33 Chains
Loading...
Loading
Loading...
Loading
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.