ETH Price: $3,350.47 (+4.06%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Multisend Token112775082020-11-17 20:03:081535 days ago1605643388IN
0xa9446eE9...6446C9F1D
0 ETH0.0018441764.64
Multisend Token112775082020-11-17 20:03:081535 days ago1605643388IN
0xa9446eE9...6446C9F1D
0 ETH0.0018607364
Multisend Token112774892020-11-17 19:58:001535 days ago1605643080IN
0xa9446eE9...6446C9F1D
0 ETH0.0020032673
Multisend Token112351622020-11-11 8:15:481542 days ago1605082548IN
0xa9446eE9...6446C9F1D
0 ETH0.0017287235
Multisend Token112351372020-11-11 8:10:431542 days ago1605082243IN
0xa9446eE9...6446C9F1D
0 ETH0.0016842634.1
Multisend Token112351172020-11-11 8:03:561542 days ago1605081836IN
0xa9446eE9...6446C9F1D
0 ETH0.0015805432.00000145
Multisend Token112288922020-11-10 9:02:291543 days ago1604998949IN
0xa9446eE9...6446C9F1D
0 ETH0.002420249
Multisend Token112288742020-11-10 8:59:271543 days ago1604998767IN
0xa9446eE9...6446C9F1D
0 ETH0.002420249
Multisend Token112288082020-11-10 8:43:081543 days ago1604997788IN
0xa9446eE9...6446C9F1D
0 ETH0.0022720346
Multisend Token112177912020-11-08 16:21:391544 days ago1604852499IN
0xa9446eE9...6446C9F1D
0 ETH0.0015766931.92211324
Multisend Token112177632020-11-08 16:15:031544 days ago1604852103IN
0xa9446eE9...6446C9F1D
0 ETH0.0037130633
Multisend Token112177282020-11-08 16:06:511544 days ago1604851611IN
0xa9446eE9...6446C9F1D
0 ETH0.002398931.00000145
Multisend Token112175522020-11-08 15:26:301544 days ago1604849190IN
0xa9446eE9...6446C9F1D
0 ETH0.0018715230
Multisend Token112175452020-11-08 15:25:391544 days ago1604849139IN
0xa9446eE9...6446C9F1D
0 ETH0.0018091329
Multisend Token112174942020-11-08 15:14:451544 days ago1604848485IN
0xa9446eE9...6446C9F1D
0 ETH0.0016873329
Multisend Token112170902020-11-08 13:46:451544 days ago1604843205IN
0xa9446eE9...6446C9F1D
0 ETH0.000393916
Multisend Token112170402020-11-08 13:37:411544 days ago1604842661IN
0xa9446eE9...6446C9F1D
0 ETH0.0005662323.00000123
Multisend Token112168552020-11-08 12:57:351544 days ago1604840255IN
0xa9446eE9...6446C9F1D
0 ETH0.0006307722.1
Multisend Token112167982020-11-08 12:41:021545 days ago1604839262IN
0xa9446eE9...6446C9F1D
0 ETH0.0005422919.00000145
Multisend Token112167802020-11-08 12:37:051545 days ago1604839025IN
0xa9446eE9...6446C9F1D
0 ETH0.0005137518.00000145
Multisend Token112164712020-11-08 11:30:191545 days ago1604835019IN
0xa9446eE9...6446C9F1D
0 ETH0.0005526319
Multisend Token112164582020-11-08 11:27:021545 days ago1604834822IN
0xa9446eE9...6446C9F1D
0 ETH0.0005422919
Multisend Token112164082020-11-08 11:15:341545 days ago1604834134IN
0xa9446eE9...6446C9F1D
0 ETH0.0011852919
Multisend Token112163662020-11-08 11:05:531545 days ago1604833553IN
0xa9446eE9...6446C9F1D
0 ETH0.0005319619
Multisend Token112161262020-11-08 10:09:241545 days ago1604830164IN
0xa9446eE9...6446C9F1D
0 ETH0.0004503715.2
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

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

Contract Name:
airdrop

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-09-30
*/

pragma solidity ^0.4.24;


/**
 * @title EternalStorage
 * @dev This contract holds all the necessary state variables to carry out the storage of any contract.
 */
contract EternalStorage {

    mapping(bytes32 => uint256) internal uintStorage;
    mapping(bytes32 => string) internal stringStorage;
    mapping(bytes32 => address) internal addressStorage;
    mapping(bytes32 => bytes) internal bytesStorage;
    mapping(bytes32 => bool) internal boolStorage;
    mapping(bytes32 => int256) internal intStorage;

}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
        if (a == 0) {
            return 0;
        }
        c = a * b;
        assert(c / a == b);
        return c;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        // uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return a / b;
    }

    /**
    * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a + b;
        assert(c >= a);
        return c;
    }
}

contract ERC20 {
    uint256 public totalSupply;

    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);

    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);
}
/**
 * @title Ownable
 * @dev This contract has an owner address providing basic authorization control
 */
contract Ownable is EternalStorage {
    /**
    * @dev Event to show ownership has been transferred
    * @param previousOwner representing the address of the previous owner
    * @param newOwner representing the address of the new owner
    */
    event OwnershipTransferred(address previousOwner, address newOwner);
    
    address ownerAddress;
    
    constructor () {
        ownerAddress = msg.sender;
    }
    
    /**
    * @dev Throws if called by any account other than the owner.
    */
    modifier onlyOwner() {
        require(msg.sender == owner());
        _;
    }

    /**
    * @dev Tells the address of the owner
    * @return the address of the owner
    */
    function owner() public view returns (address) {
        return ownerAddress;
    }

    /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    * @param newOwner the address to transfer ownership to.
    */
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        setOwner(newOwner);
    }

    /**
    * @dev Sets a new owner address
    */
    function setOwner(address newOwner) internal {
        emit OwnershipTransferred(owner(), newOwner);
        ownerAddress = newOwner;
    }
}


contract airdrop is Ownable{
      using SafeMath for uint256;

    event Multisended(uint256 total, address tokenAddress);

    //  function arrayLimit() public view returns(uint256) {
    //     return uintStorage[keccak256(abi.encodePacked("arrayLimit"))];
    // }
        
    function setTxCount(address customer, uint256 _txCount) private {
        uintStorage[keccak256(abi.encodePacked("txCount", customer))] = _txCount;
    }

    // function setArrayLimit(uint256 _newLimit) public onlyOwner {
    //     require(_newLimit != 0);
    //     uintStorage[keccak256("arrayLimit")] = _newLimit;
    // }
    
    function txCount(address customer) public view returns(uint256) {
        return uintStorage[keccak256(abi.encodePacked("txCount", customer))];
    }
    
    function multisendToken(address token, address[] _contributors, uint256[] _balances) public onlyOwner  {
      
            uint256 total = 0;
            // require(_contributors.length <= arrayLimit());
            ERC20 erc20token = ERC20(token);
            uint8 i = 0;
            for (i; i < _contributors.length; i++) {
                erc20token.transfer(_contributors[i], _balances[i]);
                total += _balances[i];
            }
            setTxCount(msg.sender, txCount(msg.sender).add(1));
            emit Multisended(total, token);
        }
    
    
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"_contributors","type":"address[]"},{"name":"_balances","type":"uint256[]"}],"name":"multisendToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"customer","type":"address"}],"name":"txCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"total","type":"uint256"},{"indexed":false,"name":"tokenAddress","type":"address"}],"name":"Multisended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"previousOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

Deployed Bytecode

0x6080604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b66f3f581146100665780638da5cb5b14610104578063c1258f6914610135578063f2fde38b14610168575b600080fd5b34801561007257600080fd5b50604080516020600460248035828101358481028087018601909752808652610102968435600160a060020a031696369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506101899650505050505050565b005b34801561011057600080fd5b50610119610332565b60408051600160a060020a039092168252519081900360200190f35b34801561014157600080fd5b50610156600160a060020a0360043516610341565b60408051918252519081900360200190f35b34801561017457600080fd5b50610102600160a060020a036004351661041f565b6000806000610196610332565b600160a060020a031633146101aa57600080fd5b5060009150849050815b84518160ff1610156102c45781600160a060020a031663a9059cbb868360ff168151811015156101e057fe5b90602001906020020151868460ff168151811015156101fb57fe5b906020019060200201516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561027057600080fd5b505af1158015610284573d6000803e3d6000fd5b505050506040513d602081101561029a57600080fd5b50508351849060ff83169081106102ad57fe5b6020908102909101015192909201916001016101b4565b6102e7336102e260016102d633610341565b9063ffffffff61045c16565b61046f565b60408051848152600160a060020a038816602082015281517f04afd2ce457d973046bd54f5d7d36368546da08b88be1bca8ae50e32b451da17929181900390910190a1505050505050565b600654600160a060020a031690565b60008060008360405160200180807f7478436f756e740000000000000000000000000000000000000000000000000081525060070182600160a060020a0316600160a060020a03166c010000000000000000000000000281526014019150506040516020818303038152906040526040518082805190602001908083835b602083106103de5780518252601f1990920191602091820191016103bf565b51815160209384036101000a600019018019909216911617905260408051929094018290039091208652850195909552929092016000205495945050505050565b610427610332565b600160a060020a0316331461043b57600080fd5b600160a060020a038116151561045057600080fd5b6104598161054d565b50565b8181018281101561046957fe5b92915050565b806000808460405160200180807f7478436f756e740000000000000000000000000000000000000000000000000081525060070182600160a060020a0316600160a060020a03166c010000000000000000000000000281526014019150506040516020818303038152906040526040518082805190602001908083835b6020831061050b5780518252601f1990920191602091820191016104ec565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120865285019590955292909201600020939093555050505050565b7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0610576610332565b60408051600160a060020a03928316815291841660208301528051918290030190a16006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820a3bdfaabf9e7efba2ee80d9885469ec0795e96b616d780ce3b612f5d42a0e0f20029

Deployed Bytecode Sourcemap

3842:1395:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4643:579;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4643:579:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4643:579:0;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4643:579:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4643:579:0;;;;-1:-1:-1;4643:579:0;-1:-1:-1;4643:579:0;;-1:-1:-1;4643:579:0;;;;;;;;;-1:-1:-1;4643:579:0;;-1:-1:-1;4643:579:0;;-1:-1:-1;;;;;;;4643:579:0;;;3229:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3229:85:0;;;;;;;;-1:-1:-1;;;;;3229:85:0;;;;;;;;;;;;;;4480:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4480:151:0;-1:-1:-1;;;;;4480:151:0;;;;;;;;;;;;;;;;;;;;;3488:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3488:141:0;-1:-1:-1;;;;;3488:141:0;;;;;4643:579;4769:13;4864:16;4910:7;3093;:5;:7::i;:::-;-1:-1:-1;;;;;3079:21:0;:10;:21;3071:30;;;;;;-1:-1:-1;4785:1:0;;-1:-1:-1;4889:5:0;;-1:-1:-1;4785:1:0;4936:165;4948:13;:20;4944:1;:24;;;4936:165;;;4994:10;-1:-1:-1;;;;;4994:19:0;;5014:13;5028:1;5014:16;;;;;;;;;;;;;;;;;;;;5032:9;5042:1;5032:12;;;;;;;;;;;;;;;;;;;;4994:51;;;;;;;;;;;;;-1:-1:-1;;;;;4994:51:0;-1:-1:-1;;;;;4994:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4994:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4994:51:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;5073:12:0;;:9;;:12;;;;;;;;;;;;;;;;;;;5064:21;;;;;4970:3;;4936:165;;;5115:50;5126:10;5138:26;5162:1;5138:19;5146:10;5138:7;:19::i;:::-;:23;:26;:23;:26;:::i;:::-;5115:10;:50::i;:::-;5185:25;;;;;;-1:-1:-1;;;;;5185:25:0;;;;;;;;;;;;;;;;;;;4643:579;;;;;;:::o;3229:85::-;3294:12;;-1:-1:-1;;;;;3294:12:0;3229:85;:::o;4480:151::-;4535:7;4562:11;:61;4612:8;4584:37;;;;;;;;;;;;;-1:-1:-1;;;;;4584:37:0;-1:-1:-1;;;;;4584:37:0;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4584:37:0;;;4574:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;4574:48:0;;;;;;;;;;;;;4562:61;;;;;;;;;;;;-1:-1:-1;4562:61:0;;;4480:151;-1:-1:-1;;;;;4480:151:0:o;3488:141::-;3093:7;:5;:7::i;:::-;-1:-1:-1;;;;;3079:21:0;:10;:21;3071:30;;;;;;-1:-1:-1;;;;;3569:22:0;;;;3561:31;;;;;;3603:18;3612:8;3603;:18::i;:::-;3488:141;:::o;1641:::-;1725:5;;;1748:6;;;;1741:14;;;;1641:141;;;;:::o;4133:155::-;4272:8;4208:11;:61;4258:8;4230:37;;;;;;;;;;;;;-1:-1:-1;;;;;4230:37:0;-1:-1:-1;;;;;4230:37:0;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4230:37:0;;;4220:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;4220:48:0;;;;;;;;;;;;;4208:61;;;;;;;;;;;;-1:-1:-1;4208:61:0;:72;;;;-1:-1:-1;;;;;4133:155:0:o;3691:142::-;3752:39;3773:7;:5;:7::i;:::-;3752:39;;;-1:-1:-1;;;;;3752:39:0;;;;;;;;;;;;;;;;;;;;;3802:12;:23;;-1:-1:-1;;3802:23:0;-1:-1:-1;;;;;3802:23:0;;;;;;;;;;3691:142::o

Swarm Source

bzzr://a3bdfaabf9e7efba2ee80d9885469ec0795e96b616d780ce3b612f5d42a0e0f2

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  ]

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.