MOVR Price: $6.41 (-3.64%)
Gas: 3.3 GWei

Contract

0x40A2aCCbd92BCA938b02010E17A5b8929b49130D

Overview

MOVR Balance

Moonriver Chain LogoMoonriver Chain LogoMoonriver Chain Logo0 MOVR

MOVR Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Multi Send67206542024-05-09 13:51:48321 days ago1715262708IN
0x40A2aCCb...29b49130D
0 MOVR0.000438891.25
Multi Send65677352024-04-17 13:13:06343 days ago1713359586IN
0x40A2aCCb...29b49130D
0 MOVR0.000225111.25
Multi Send65669452024-04-17 10:26:42344 days ago1713349602IN
0x40A2aCCb...29b49130D
0 MOVR0.000274391.25
Multi Send62032592024-02-23 13:01:00397 days ago1708693260IN
0x40A2aCCb...29b49130D
0 MOVR0.000323611.99971897
Multi Send59590422024-01-16 16:39:00435 days ago1705423140IN
0x40A2aCCb...29b49130D
0 MOVR0.000319452.75
Multi Send55265412023-11-13 16:26:18499 days ago1699892778IN
0x40A2aCCb...29b49130D
0 MOVR0.000317032.75
Multi Send49506992023-08-22 22:05:36582 days ago1692741936IN
0x40A2aCCb...29b49130D
0 MOVR0.00095412.84717775
Multi Send46222602023-07-07 19:07:32628 days ago1688756852IN
0x40A2aCCb...29b49130D
0 MOVR0.000522433.25007794
Multi Send46222532023-07-07 19:06:00628 days ago1688756760IN
0x40A2aCCb...29b49130D
0 MOVR0.001831399.25
Multi Send46222392023-07-07 19:03:06628 days ago1688756586IN
0x40A2aCCb...29b49130D
0 MOVR0.000764153.25
Multi Send46222242023-07-07 18:59:48628 days ago1688756388IN
0x40A2aCCb...29b49130D
0 MOVR0.000643263.25
Multi Send46222092023-07-07 18:56:48628 days ago1688756208IN
0x40A2aCCb...29b49130D
0 MOVR0.00088523.25
Multi Send46196642023-07-07 10:21:12629 days ago1688725272IN
0x40A2aCCb...29b49130D
0 MOVR0.002768632.896575
Multi Send46196432023-07-07 10:17:00629 days ago1688725020IN
0x40A2aCCb...29b49130D
0 MOVR0.004585632.83872913
Multi Send46143112023-07-06 16:14:55629 days ago1688660095IN
0x40A2aCCb...29b49130D
0 MOVR0.003501922.9475
Multi Send45655482023-06-29 19:48:00636 days ago1688068080IN
0x40A2aCCb...29b49130D
0 MOVR0.003261892.9475
Multi Send45654192023-06-29 19:21:54636 days ago1688066514IN
0x40A2aCCb...29b49130D
0 MOVR0.004761342.9475
Multi Send45624492023-06-29 9:19:30637 days ago1688030370IN
0x40A2aCCb...29b49130D
0 MOVR0.000885173.25
Multi Send45624362023-06-29 9:16:48637 days ago1688030208IN
0x40A2aCCb...29b49130D
0 MOVR0.000643343.25
Multi Send45624252023-06-29 9:14:30637 days ago1688030070IN
0x40A2aCCb...29b49130D
0 MOVR0.00064353.25
Multi Send45624152023-06-29 9:12:30637 days ago1688029950IN
0x40A2aCCb...29b49130D
0 MOVR0.000522383.25
Multi Send45624052023-06-29 9:10:30637 days ago1688029830IN
0x40A2aCCb...29b49130D
0 MOVR0.0007643.25
Multi Send45137942023-06-22 13:06:30643 days ago1687439190IN
0x40A2aCCb...29b49130D
0 MOVR0.001006233.25
Multi Send44696812023-06-16 8:07:12650 days ago1686902832IN
0x40A2aCCb...29b49130D
0 MOVR0.000522383.25
Multi Send44696722023-06-16 8:05:24650 days ago1686902724IN
0x40A2aCCb...29b49130D
0 MOVR0.000522423.25
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
93898802024-12-10 2:22:06107 days ago1733797326
0x40A2aCCb...29b49130D
0.19497673 MOVR
91926742024-11-25 23:37:30121 days ago1732577850
0x40A2aCCb...29b49130D
17.78182572 MOVR
91150652024-11-20 8:39:12127 days ago1732091952
0x40A2aCCb...29b49130D
5 MOVR
91150652024-11-20 8:39:12127 days ago1732091952
0x40A2aCCb...29b49130D
5 MOVR
91150652024-11-20 8:39:12127 days ago1732091952
0x40A2aCCb...29b49130D
5 MOVR
91150652024-11-20 8:39:12127 days ago1732091952
0x40A2aCCb...29b49130D
5 MOVR
91150652024-11-20 8:39:12127 days ago1732091952
0x40A2aCCb...29b49130D
5 MOVR
91150652024-11-20 8:39:12127 days ago1732091952
0x40A2aCCb...29b49130D
5 MOVR
91150652024-11-20 8:39:12127 days ago1732091952
0x40A2aCCb...29b49130D
5 MOVR
91150652024-11-20 8:39:12127 days ago1732091952
0x40A2aCCb...29b49130D
5 MOVR
91150652024-11-20 8:39:12127 days ago1732091952
0x40A2aCCb...29b49130D
5 MOVR
91150652024-11-20 8:39:12127 days ago1732091952
0x40A2aCCb...29b49130D
5 MOVR
86152342024-10-15 13:40:24162 days ago1728999624
0x40A2aCCb...29b49130D
23.04 MOVR
86152342024-10-15 13:40:24162 days ago1728999624
0x40A2aCCb...29b49130D
22.75 MOVR
86152342024-10-15 13:40:24162 days ago1728999624
0x40A2aCCb...29b49130D
22.59 MOVR
86152342024-10-15 13:40:24162 days ago1728999624
0x40A2aCCb...29b49130D
27.26 MOVR
86152342024-10-15 13:40:24162 days ago1728999624
0x40A2aCCb...29b49130D
22.51 MOVR
86152342024-10-15 13:40:24162 days ago1728999624
0x40A2aCCb...29b49130D
23.59 MOVR
86152342024-10-15 13:40:24162 days ago1728999624
0x40A2aCCb...29b49130D
23.17 MOVR
86152342024-10-15 13:40:24162 days ago1728999624
0x40A2aCCb...29b49130D
23.35 MOVR
86152342024-10-15 13:40:24162 days ago1728999624
0x40A2aCCb...29b49130D
22.87 MOVR
86152342024-10-15 13:40:24162 days ago1728999624
0x40A2aCCb...29b49130D
22.25 MOVR
72688672024-07-10 15:26:24259 days ago1720625184
0x40A2aCCb...29b49130D
8.22039 MOVR
72688672024-07-10 15:26:24259 days ago1720625184
0x40A2aCCb...29b49130D
8.17399 MOVR
72688672024-07-10 15:26:24259 days ago1720625184
0x40A2aCCb...29b49130D
8.14973 MOVR
View All Internal Transactions
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 LGPLv3 license
File 1 of 1 : MultiSendCallOnly.sol
// 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))
            }
        }
    }
}

Settings
{
  "evmVersion": "istanbul",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs",
    "useLiteralContent": true
  },
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "remappings": [],
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

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

608060405234801561001057600080fd5b5061019a806100206000396000f3fe60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100dc6004803603602081101561003957600080fd5b810190808035906020019064010000000081111561005657600080fd5b82018360208201111561006857600080fd5b8035906020019184600183028401116401000000008311171561008a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506100de565b005b805160205b8181101561015f578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461012857600181146101385761013d565b6000808585888a5af1915061013d565b600080fd5b50600081141561014c57600080fd5b82605501870196505050505050506100e3565b50505056fea264697066735822122035246402746c96964495cae5b36461fd44dfb89f8e6cf6f6b8d60c0aa89f414864736f6c63430007060033

Deployed Bytecode

0x60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100dc6004803603602081101561003957600080fd5b810190808035906020019064010000000081111561005657600080fd5b82018360208201111561006857600080fd5b8035906020019184600183028401116401000000008311171561008a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506100de565b005b805160205b8181101561015f578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461012857600181146101385761013d565b6000808585888a5af1915061013d565b600080fd5b50600081141561014c57600080fd5b82605501870196505050505050506100e3565b50505056fea264697066735822122035246402746c96964495cae5b36461fd44dfb89f8e6cf6f6b8d60c0aa89f414864736f6c63430007060033

Block Transaction Gas Used Reward
view all blocks collator

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
[ 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.