More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 38 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Multisend Token | 11277508 | 1535 days ago | IN | 0 ETH | 0.00184417 | ||||
Multisend Token | 11277508 | 1535 days ago | IN | 0 ETH | 0.00186073 | ||||
Multisend Token | 11277489 | 1535 days ago | IN | 0 ETH | 0.00200326 | ||||
Multisend Token | 11235162 | 1542 days ago | IN | 0 ETH | 0.00172872 | ||||
Multisend Token | 11235137 | 1542 days ago | IN | 0 ETH | 0.00168426 | ||||
Multisend Token | 11235117 | 1542 days ago | IN | 0 ETH | 0.00158054 | ||||
Multisend Token | 11228892 | 1543 days ago | IN | 0 ETH | 0.0024202 | ||||
Multisend Token | 11228874 | 1543 days ago | IN | 0 ETH | 0.0024202 | ||||
Multisend Token | 11228808 | 1543 days ago | IN | 0 ETH | 0.00227203 | ||||
Multisend Token | 11217791 | 1544 days ago | IN | 0 ETH | 0.00157669 | ||||
Multisend Token | 11217763 | 1544 days ago | IN | 0 ETH | 0.00371306 | ||||
Multisend Token | 11217728 | 1544 days ago | IN | 0 ETH | 0.0023989 | ||||
Multisend Token | 11217552 | 1544 days ago | IN | 0 ETH | 0.00187152 | ||||
Multisend Token | 11217545 | 1544 days ago | IN | 0 ETH | 0.00180913 | ||||
Multisend Token | 11217494 | 1544 days ago | IN | 0 ETH | 0.00168733 | ||||
Multisend Token | 11217090 | 1544 days ago | IN | 0 ETH | 0.0003939 | ||||
Multisend Token | 11217040 | 1544 days ago | IN | 0 ETH | 0.00056623 | ||||
Multisend Token | 11216855 | 1544 days ago | IN | 0 ETH | 0.00063077 | ||||
Multisend Token | 11216798 | 1545 days ago | IN | 0 ETH | 0.00054229 | ||||
Multisend Token | 11216780 | 1545 days ago | IN | 0 ETH | 0.00051375 | ||||
Multisend Token | 11216471 | 1545 days ago | IN | 0 ETH | 0.00055263 | ||||
Multisend Token | 11216458 | 1545 days ago | IN | 0 ETH | 0.00054229 | ||||
Multisend Token | 11216408 | 1545 days ago | IN | 0 ETH | 0.00118529 | ||||
Multisend Token | 11216366 | 1545 days ago | IN | 0 ETH | 0.00053196 | ||||
Multisend Token | 11216126 | 1545 days ago | IN | 0 ETH | 0.00045037 |
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
Contract Source Code (Solidity)
/** *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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.