AVAX Price: $49.23 (-2.40%)
 

Overview

AVAX Balance

Avalanche C-Chain LogoAvalanche C-Chain LogoAvalanche C-Chain Logo0 AVAX

AVAX Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Multi Send544228192024-12-16 13:53:472 hrs ago1734357227IN
0xA1dabEF3...4AC44102B
0 AVAX0.0095675326.5
Multi Send544097862024-12-16 6:28:3410 hrs ago1734330514IN
0xA1dabEF3...4AC44102B
0 AVAX0.0070924225
Multi Send543015392024-12-13 16:14:073 days ago1734106447IN
0xA1dabEF3...4AC44102B
0 AVAX0.0126169725
Multi Send542698342024-12-12 22:08:463 days ago1734041326IN
0xA1dabEF3...4AC44102B
0 AVAX0.0053600225
Multi Send542624242024-12-12 17:58:453 days ago1734026325IN
0xA1dabEF3...4AC44102B
0 AVAX0.0018696428.45
Multi Send542253532024-12-11 20:37:184 days ago1733949438IN
0xA1dabEF3...4AC44102B
0 AVAX0.092002925
Multi Send542189202024-12-11 16:57:224 days ago1733936242IN
0xA1dabEF3...4AC44102B
0 AVAX0.0469040725
Multi Send542164792024-12-11 15:34:285 days ago1733931268IN
0xA1dabEF3...4AC44102B
0 AVAX0.0044834728
Multi Send542156462024-12-11 15:06:555 days ago1733929615IN
0xA1dabEF3...4AC44102B
0 AVAX0.0078137225
Multi Send541765722024-12-10 16:55:005 days ago1733849700IN
0xA1dabEF3...4AC44102B
0 AVAX0.0090271725
Multi Send541760492024-12-10 16:38:225 days ago1733848702IN
0xA1dabEF3...4AC44102B
0 AVAX0.0091930125.4609842
Multi Send541601682024-12-10 7:46:016 days ago1733816761IN
0xA1dabEF3...4AC44102B
0 AVAX0.0249008225
Multi Send541051992024-12-09 0:36:427 days ago1733704602IN
0xA1dabEF3...4AC44102B
0 AVAX0.0408881727
Multi Send541048642024-12-09 0:25:287 days ago1733703928IN
0xA1dabEF3...4AC44102B
0 AVAX0.234118232.1
Multi Send541047962024-12-09 0:22:587 days ago1733703778IN
0xA1dabEF3...4AC44102B
0 AVAX0.0845011435.71
Multi Send540167812024-12-06 21:39:159 days ago1733521155IN
0xA1dabEF3...4AC44102B
0 AVAX0.0113347725
Multi Send540116202024-12-06 18:42:239 days ago1733510543IN
0xA1dabEF3...4AC44102B
0 AVAX0.0233180725
Multi Send539775832024-12-05 23:27:0910 days ago1733441229IN
0xA1dabEF3...4AC44102B
0 AVAX0.004075225
Multi Send539775182024-12-05 23:24:5910 days ago1733441099IN
0xA1dabEF3...4AC44102B
0 AVAX0.0059179525
Multi Send539448272024-12-05 4:58:3011 days ago1733374710IN
0xA1dabEF3...4AC44102B
0 AVAX0.0249090725
Multi Send539210572024-12-04 15:49:4712 days ago1733327387IN
0xA1dabEF3...4AC44102B
0 AVAX0.003553225
Multi Send538804432024-12-03 17:00:1812 days ago1733245218IN
0xA1dabEF3...4AC44102B
0 AVAX0.0067689525
Multi Send538786902024-12-03 16:01:2813 days ago1733241688IN
0xA1dabEF3...4AC44102B
0 AVAX0.0090271725
Multi Send538783932024-12-03 15:51:2113 days ago1733241081IN
0xA1dabEF3...4AC44102B
0 AVAX0.0090268725
Multi Send538289612024-12-02 12:27:4614 days ago1733142466IN
0xA1dabEF3...4AC44102B
0 AVAX0.0455248428.75
View all transactions

Latest 1 internal transaction

Parent Transaction Hash Block From To
49495012021-09-28 11:09:061175 days ago1632827346  Contract Creation0 AVAX
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MultiSendCallOnly

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at snowscan.xyz on 2021-12-21
*/

// 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))
            }
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"bytes","name":"transactions","type":"bytes"}],"name":"multiSend","outputs":[],"stateMutability":"payable","type":"function"}]

608060405234801561001057600080fd5b5061019a806100206000396000f3fe60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100dc6004803603602081101561003957600080fd5b810190808035906020019064010000000081111561005657600080fd5b82018360208201111561006857600080fd5b8035906020019184600183028401116401000000008311171561008a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506100de565b005b805160205b8181101561015f578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461012857600181146101385761013d565b6000808585888a5af1915061013d565b600080fd5b50600081141561014c57600080fd5b82605501870196505050505050506100e3565b50505056fea264697066735822122035246402746c96964495cae5b36461fd44dfb89f8e6cf6f6b8d60c0aa89f414864736f6c63430007060033

Deployed Bytecode

0x60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100dc6004803603602081101561003957600080fd5b810190808035906020019064010000000081111561005657600080fd5b82018360208201111561006857600080fd5b8035906020019184600183028401116401000000008311171561008a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506100de565b005b805160205b8181101561015f578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461012857600181146101385761013d565b6000808585888a5af1915061013d565b600080fd5b50600081141561014c57600080fd5b82605501870196505050505050506100e3565b50505056fea264697066735822122035246402746c96964495cae5b36461fd44dfb89f8e6cf6f6b8d60c0aa89f414864736f6c63430007060033

Deployed Bytecode Sourcemap

381:3136:0:-:0;;;;;;;;;;;;;;;;;;;;;1378:2136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1551:12;1545:19;1587:4;1605:1891;1690:6;1687:1;1684:13;1605:1891;;;2087:1;2073:12;2069:20;2063:27;2057:4;2053:38;2364:4;2361:1;2357:12;2343;2339:31;2333:38;2327:4;2323:49;2528:4;2525:1;2521:12;2507;2503:31;2497:38;2713:4;2710:1;2706:12;2692;2688:31;2682:38;2909:4;2906:1;2902:12;2888;2884:31;2948:1;2974:9;3010:1;3005:114;;;;3212:1;3207:69;;;;2967:309;;3005:114;3094:1;3091;3079:10;3073:4;3066:5;3062:2;3055:5;3050:46;3039:57;;3005:114;;3207:69;3251:1;3248;3241:12;2967:309;;3309:1;3300:7;3297:14;3294:2;;;3345:1;3342;3335:12;3294:2;3469:10;3463:4;3459:21;3456:1;3452:29;3447:34;;1774:1722;;;;;;1605:1891;;;1516:1991;;;:::o

Swarm Source

ipfs://35246402746c96964495cae5b36461fd44dfb89f8e6cf6f6b8d60c0aa89f4148

Block Transaction Gas Used Reward
view all blocks ##produced##

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

Validator Index Block Amount
View All Withdrawals

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