ETH Price: $1,526.23 (-7.29%)
Gas: 0.46 Gwei
 

Overview

ETH Balance

0.023 ETH

Eth Value

$35.10 (@ $1,526.23/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Multisend Ether134911512021-10-26 5:37:371262 days ago1635226657IN
0x2A690186...65947f0b6
0.025 ETH0.0049239100

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-134911512021-10-26 5:37:371262 days ago1635226657
0x2A690186...65947f0b6
0.001 ETH
-134911512021-10-26 5:37:371262 days ago1635226657
0x2A690186...65947f0b6
0.001 ETH
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x36a899C0...14A1c260B
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Multisend

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2021-07-07
*/

// SPDX-License-Identifier: MIT
// The following contract is a simplified version of https://github.com/rstormsf/multisender.
pragma solidity >=0.6.0 <0.7.0;


contract Multisend {
    event Multisended(address indexed _from, address[] _to, uint256[] _value);
    event FeeChanged(uint256 _fee);
    event AuthorizedAddrChanged(address _newAuthorizedAddr);
    event Withdrawn(address indexed receiver, uint256 amount);

    uint256 internal contractFee = 0 ether; // A contract-caller has to pay this fee to get service
    address internal authorizedAddr;

    constructor() public {
        authorizedAddr = msg.sender;
    }

    function changeFee(uint256 fee) public {
        require(msg.sender == authorizedAddr, "You are not authorized.");
        contractFee = fee;
        emit FeeChanged(fee);
    }

    function changeAuthorizedAddr(address newAuthorizedAddr) public {
        require(msg.sender == authorizedAddr, "You are not authorized.");
        authorizedAddr = newAuthorizedAddr;
        emit AuthorizedAddrChanged(newAuthorizedAddr);
    }

    function withdraw(address payable receiver) public {
        require(msg.sender == authorizedAddr, "You are not authorized.");
        uint256 amount = address(this).balance;
        emit Withdrawn(receiver, amount);
        receiver.transfer(amount);
    }

    function multisendEther(address[] memory receivers, uint256[] memory amounts) public payable {
        uint256 total = msg.value;
        require(total >= contractFee, "Do not have enough tokens to pay the contract fee.");
        total = total - contractFee;
        uint256 i = 0;

        for (i; i < receivers.length; i++) {
            require(total >= amounts[i], "Do not have enough tokens to send.");
            total = total - amounts[i];
            address payable receiver = address(uint160(receivers[i]));
            receiver.transfer(amounts[i]);
        }
        emit Multisended(msg.sender, receivers, amounts);
    }

    function checkContractFee() public view returns(uint){
        return contractFee;
    }

    function checkAuthorizedAddr() public view returns(address){
        return authorizedAddr;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newAuthorizedAddr","type":"address"}],"name":"AuthorizedAddrChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"FeeChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"address[]","name":"_to","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"_value","type":"uint256[]"}],"name":"Multisended","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[{"internalType":"address","name":"newAuthorizedAddr","type":"address"}],"name":"changeAuthorizedAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkAuthorizedAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkContractFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"receivers","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"multisendEther","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address payable","name":"receiver","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

Deployed Bytecode

0x6080604052600436106100555760003560e01c806351cff8d91461005a5780636a1db1bf146100ab5780639c58f86a146100e6578063a3c5313e14610111578063ab883d2814610162578063f463a7b6146102ae575b600080fd5b34801561006657600080fd5b506100a96004803603602081101561007d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102ef565b005b3480156100b757600080fd5b506100e4600480360360208110156100ce57600080fd5b8101908080359060200190929190505050610450565b005b3480156100f257600080fd5b506100fb610554565b6040518082815260200191505060405180910390f35b34801561011d57600080fd5b506101606004803603602081101561013457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061055d565b005b6102ac6004803603604081101561017857600080fd5b810190808035906020019064010000000081111561019557600080fd5b8201836020820111156101a757600080fd5b803590602001918460208302840111640100000000831117156101c957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561022957600080fd5b82018360208201111561023b57600080fd5b8035906020019184602083028401116401000000008311171561025d57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506106b1565b005b3480156102ba57600080fd5b506102c3610906565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f596f7520617265206e6f7420617574686f72697a65642e00000000000000000081525060200191505060405180910390fd5b60004790508173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040518082815260200191505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561044b573d6000803e3d6000fd5b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610513576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f596f7520617265206e6f7420617574686f72697a65642e00000000000000000081525060200191505060405180910390fd5b806000819055507f6bbc57480a46553fa4d156ce702beef5f3ad66303b0ed1a5d4cb44966c6584c3816040518082815260200191505060405180910390a150565b60008054905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610620576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f596f7520617265206e6f7420617574686f72697a65642e00000000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff40873e2bdfd2d1deb9feef30a790a98d7ac06281dc80ee7ba9a89d59782768081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000349050600054811015610711576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806109316032913960400191505060405180910390fd5b6000548103905060005b83518110156108285782818151811061073057fe5b6020026020010151821015610790576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806109636022913960400191505060405180910390fd5b82818151811061079c57fe5b60200260200101518203915060008482815181106107b657fe5b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff166108fc8584815181106107e657fe5b60200260200101519081150290604051600060405180830381858888f19350505050158015610819573d6000803e3d6000fd5b5050808060010191505061071b565b3373ffffffffffffffffffffffffffffffffffffffff167f4b1ad591cbcc36a48265fe6fae4c11c2a4da16ff36e6830aba96dfcca6bbd3ec8585604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156108a957808201518184015260208101905061088e565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156108eb5780820151818401526020810190506108d0565b5050505090500194505050505060405180910390a250505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690509056fe446f206e6f74206861766520656e6f75676820746f6b656e7320746f207061792074686520636f6e7472616374206665652e446f206e6f74206861766520656e6f75676820746f6b656e7320746f2073656e642ea2646970667358221220459d751ef2304a0a63b9598ec7b14b4514acbb776c81f268b9612a82b350e32364736f6c634300060c0033

Deployed Bytecode Sourcemap

165:2059:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1097:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;652:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2024:90;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;841:248;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1367:649;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2122:99;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1097:262;1181:14;;;;;;;;;;;1167:28;;:10;:28;;;1159:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1234:14;1251:21;1234:38;;1298:8;1288:27;;;1308:6;1288:27;;;;;;;;;;;;;;;;;;1326:8;:17;;:25;1344:6;1326:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1097:262;;:::o;652:181::-;724:14;;;;;;;;;;;710:28;;:10;:28;;;702:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;791:3;777:11;:17;;;;810:15;821:3;810:15;;;;;;;;;;;;;;;;;;652:181;:::o;2024:90::-;2072:4;2095:11;;2088:18;;2024:90;:::o;841:248::-;938:14;;;;;;;;;;;924:28;;:10;:28;;;916:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1008:17;991:14;;:34;;;;;;;;;;;;;;;;;;1041:40;1063:17;1041:40;;;;;;;;;;;;;;;;;;;;841:248;:::o;1367:649::-;1471:13;1487:9;1471:25;;1524:11;;1515:5;:20;;1507:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1617:11;;1609:5;:19;1601:27;;1639:9;1665:285;1677:9;:16;1673:1;:20;1665:285;;;1732:7;1740:1;1732:10;;;;;;;;;;;;;;1723:5;:19;;1715:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1812:7;1820:1;1812:10;;;;;;;;;;;;;;1804:5;:18;1796:26;;1837:24;1880:9;1890:1;1880:12;;;;;;;;;;;;;;1837:57;;1909:8;:17;;:29;1927:7;1935:1;1927:10;;;;;;;;;;;;;;1909:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1665:285;1695:3;;;;;;;1665:285;;;1977:10;1965:43;;;1989:9;2000:7;1965:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1367:649;;;;:::o;2122:99::-;2173:7;2199:14;;;;;;;;;;;2192:21;;2122:99;:::o

Swarm Source

ipfs://459d751ef2304a0a63b9598ec7b14b4514acbb776c81f268b9612a82b350e323

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

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