Contract Overview
Balance:
0 FTM
FTM Value:
$0.00
My Name Tag:
Not Available, login to update
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | ||
---|---|---|---|---|---|---|---|---|
0x778e10862dcb51bcdc383d835b5542a3493d462808624f82fda73cefe2588e24 | 0x60806040 | 6671169 | 631 days 8 hrs ago | 0x3ea8375b450e443a9bb5cac5f4be9f8f646d7318 | IN | Create: MultiSend | 0 FTM | 0.07950132 |
[ Download CSV Export ]
Latest 21 internal transactions
[ Download CSV Export ]
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
MultiSend
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at FtmScan.com on 2021-05-18 */ pragma solidity >=0.5.0 <0.7.0; /// @title Multi Send - Allows to batch multiple transactions into one. /// @author Nick Dodson - <[email protected]> /// @author Gonçalo Sá - <[email protected]> /// @author Stefan George - <[email protected]> /// @author Richard Meissner - <[email protected]> contract MultiSend { bytes32 constant private GUARD_VALUE = keccak256("multisend.guard.bytes32"); bytes32 guard; constructor() public { guard = GUARD_VALUE; } /// @dev Sends multiple transactions and reverts all if one fails. /// @param transactions Encoded transactions. Each transaction is encoded as a packed bytes of /// operation as a uint8 with 0 for a call or 1 for a delegatecall (=> 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 function multiSend(bytes memory transactions) public { require(guard != GUARD_VALUE, "MultiSend should only be called via delegatecall"); // solium-disable-next-line security/no-inline-assembly assembly { let length := mload(transactions) let i := 0x20 for { } lt(i, length) { } { // 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) } case 1 { success := delegatecall(gas, to, data, dataLength, 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
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":false,"inputs":[{"internalType":"bytes","name":"transactions","type":"bytes"}],"name":"multiSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405180807f6d756c746973656e642e67756172642e627974657333320000000000000000008152506017019050604051809103902060008190555061026c8061005c6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80638d80ff0a14610030575b600080fd5b6100e96004803603602081101561004657600080fd5b810190808035906020019064010000000081111561006357600080fd5b82018360208201111561007557600080fd5b8035906020019184600183028401116401000000008311171561009757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506100eb565b005b60405180807f6d756c746973656e642e67756172642e6279746573333200000000000000000081525060170190506040518091039020600054141561017b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806102086030913960400191505060405180910390fd5b805160205b81811015610202578083015160f81c6001820184015160601c6015830185015160358401860151605585018701600085600081146101c557600181146101d5576101e0565b6000808585888a5af191506101e0565b6000808585895af491505b5060008114156101ef57600080fd5b8260550187019650505050505050610180565b50505056fe4d756c746953656e642073686f756c64206f6e6c792062652063616c6c6564207669612064656c656761746563616c6ca265627a7a72315820ae67036f45802cff18efa0f8b760d9e466af9909fd5ec5a527b1dc65c30be74764736f6c63430005110032
Deployed ByteCode Sourcemap
320:2744:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;320:2744:0;;;;;;;;;;;;;;;;;;;1124:1937;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1124:1937:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1124:1937:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1124:1937:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1124:1937:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1124:1937:0;;;;;;;;;;;;;;;:::i;:::-;;;387:36;;;;;;;;;;;;;;;;;;;1210:5;;:20;;1202:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1403:12;1397:19;1439:4;1457:1586;1471:6;1468:1;1465:13;1457:1586;;;1796:1;1782:12;1778:20;1772:27;1766:4;1762:38;2073:4;2070:1;2066:12;2052;2048:31;2042:38;2036:4;2032:49;2237:4;2234:1;2230:12;2216;2212:31;2206:38;2422:4;2419:1;2415:12;2401;2397:31;2391:38;2618:4;2615:1;2611:12;2597;2593:31;2657:1;2683:9;2715:1;2710:66;;;;2799:1;2794:67;;;;2676:185;;2710:66;2772:1;2769;2757:10;2751:4;2744:5;2740:2;2735:3;2730:44;2719:55;;2710:66;;2794:67;2857:1;2854;2842:10;2836:4;2832:2;2827:3;2814:45;2803:56;;2676:185;;2894:1;2885:7;2882:14;2879:2;;;2909:1;2906;2899:12;2879:2;3016:10;3010:4;3006:21;3003:1;2999:29;2994:34;;1483:1560;;;;;;1457:1586;;;1368:1686;;;:::o
Swarm Source
bzzr://ae67036f45802cff18efa0f8b760d9e466af9909fd5ec5a527b1dc65c30be747
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Validator ID :
0 FTM
Amount Staked
0
Amount Delegated
0
Staking Total
0
Staking Start Epoch
0
Staking Start Time
0
Proof of Importance
0
Origination Score
0
Validation Score
0
Active
0
Online
0
Downtime
0 s
Address | Amount | claimed Rewards | Created On Epoch | Created On |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.