FTM Price: $0.98 (-3.79%)
Gas: 214 GWei

Contract

0x10B62CC1E8D9a9f1Ad05BCC491A7984697c19f7E
 

Overview

FTM Balance

Fantom LogoFantom LogoFantom Logo0 FTM

FTM Value

$0.00

Sponsored

Transaction Hash
Method
Block
From
To
Value
0x60806040144602052021-08-13 1:05:12959 days ago1628816712IN
 Create: MultiSendCallOnly
0 FTM0.0072283851

Latest 25 internal transactions (View All)

Parent Txn Hash Block From To Value
650971612023-07-04 0:41:01269 days ago1688431261
0x10B62CC1...697c19f7E
66,321.80775504 FTM
568656802023-03-03 14:39:10392 days ago1677854350
0x10B62CC1...697c19f7E
10 FTM
544156322023-01-25 16:16:00428 days ago1674663360
0x10B62CC1...697c19f7E
10 FTM
544156322023-01-25 16:16:00428 days ago1674663360
0x10B62CC1...697c19f7E
10 FTM
544156322023-01-25 16:16:00428 days ago1674663360
0x10B62CC1...697c19f7E
10 FTM
544156322023-01-25 16:16:00428 days ago1674663360
0x10B62CC1...697c19f7E
10 FTM
544156322023-01-25 16:16:00428 days ago1674663360
0x10B62CC1...697c19f7E
10 FTM
544156322023-01-25 16:16:00428 days ago1674663360
0x10B62CC1...697c19f7E
10 FTM
544156322023-01-25 16:16:00428 days ago1674663360
0x10B62CC1...697c19f7E
10 FTM
544156322023-01-25 16:16:00428 days ago1674663360
0x10B62CC1...697c19f7E
10 FTM
529673422022-12-28 9:35:34457 days ago1672220134
0x10B62CC1...697c19f7E
3,734.77790681 FTM
420614942022-07-05 8:32:07633 days ago1657009927
0x10B62CC1...697c19f7E
294.57768631 FTM
396607482022-06-03 3:13:20665 days ago1654226000
0x10B62CC1...697c19f7E
188.99321115 FTM
386430122022-05-20 7:19:10679 days ago1653031150
0x10B62CC1...697c19f7E
407.093528 FTM
383764932022-05-16 16:13:55682 days ago1652717635
0x10B62CC1...697c19f7E
300 FTM
383703902022-05-16 14:19:58683 days ago1652710798
0x10B62CC1...697c19f7E
371,000 FTM
383701202022-05-16 14:15:02683 days ago1652710502
0x10B62CC1...697c19f7E
300,000 FTM
383698412022-05-16 14:10:16683 days ago1652710216
0x10B62CC1...697c19f7E
300,000 FTM
383162752022-05-15 20:13:06683 days ago1652645586
0x10B62CC1...697c19f7E
30 FTM
381514092022-05-13 12:11:20686 days ago1652443880
0x10B62CC1...697c19f7E
232.0558007 FTM
373965002022-05-02 14:52:07697 days ago1651503127
0x10B62CC1...697c19f7E
410.04295412 FTM
369316482022-04-25 13:24:46704 days ago1650893086
0x10B62CC1...697c19f7E
373.28953721 FTM
365549152022-04-20 18:27:01708 days ago1650479221
0x10B62CC1...697c19f7E
149.11169717 FTM
359622402022-04-13 14:09:55716 days ago1649858995
0x10B62CC1...697c19f7E
135.45857865 FTM
357864382022-04-11 9:23:00718 days ago1649668980
0x10B62CC1...697c19f7E
0 FTM
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 AGPLv3 license
/**
 *Submitted for verification at ftmscan.com on 2021-08-13
*/

// 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"}]

608060405234801561001057600080fd5b5061019a806100206000396000f3fe60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100dc6004803603602081101561003957600080fd5b810190808035906020019064010000000081111561005657600080fd5b82018360208201111561006857600080fd5b8035906020019184600183028401116401000000008311171561008a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506100de565b005b805160205b8181101561015f578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461012857600181146101385761013d565b6000808585888a5af1915061013d565b600080fd5b50600081141561014c57600080fd5b82605501870196505050505050506100e3565b50505056fea264697066735822122022c2263e30b0552f223b8ff4e2cf9a6272810ab2d37b002766b001cecd7424fb64736f6c63430007060033

Deployed Bytecode

0x60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100dc6004803603602081101561003957600080fd5b810190808035906020019064010000000081111561005657600080fd5b82018360208201111561006857600080fd5b8035906020019184600183028401116401000000008311171561008a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506100de565b005b805160205b8181101561015f578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461012857600181146101385761013d565b6000808585888a5af1915061013d565b600080fd5b50600081141561014c57600080fd5b82605501870196505050505050506100e3565b50505056fea264697066735822122022c2263e30b0552f223b8ff4e2cf9a6272810ab2d37b002766b001cecd7424fb64736f6c63430007060033

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://22c2263e30b0552f223b8ff4e2cf9a6272810ab2d37b002766b001cecd7424fb

Block Transaction Difficulty 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

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