More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Name:
AirDrop
Compiler Version
v0.4.24+commit.e67f0147
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-09-27 */ // File: openzeppelin-solidity/contracts/ownership/Ownable.sol pragma solidity ^0.4.23; /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipRenounced(address indexed previousOwner); event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to relinquish control of the contract. */ function renounceOwnership() public onlyOwner { emit OwnershipRenounced(owner); owner = address(0); } /** * @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 { _transferOwnership(_newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function _transferOwnership(address _newOwner) internal { require(_newOwner != address(0)); emit OwnershipTransferred(owner, _newOwner); owner = _newOwner; } } // File: openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol pragma solidity ^0.4.23; /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } // File: openzeppelin-solidity/contracts/token/ERC20/ERC20.sol pragma solidity ^0.4.23; /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval( address indexed owner, address indexed spender, uint256 value ); } // File: sc-library/contracts/ERC223/ERC223Receiver.sol pragma solidity ^0.4.23; /** * @title Contract that will work with ERC223 tokens. */ contract ERC223Receiver { /** * @dev Standard ERC223 function that will handle incoming token transfers. * * @param _from Token sender address. * @param _value Amount of tokens. * @param _data Transaction metadata. */ function tokenFallback(address _from, uint _value, bytes _data) public; } // File: contracts/AirDrop.sol pragma solidity ^0.4.24; contract AirDrop is Ownable { ERC20 public token; uint public createdAt; constructor(address _target, ERC20 _token) public { owner = _target; token = _token; createdAt = block.number; } function transfer(address[] _addresses, uint[] _amounts) external onlyOwner { require(_addresses.length == _amounts.length); for (uint i = 0; i < _addresses.length; i ++) { token.transfer(_addresses[i], _amounts[i]); } } function transferFrom(address _from, address[] _addresses, uint[] _amounts) external onlyOwner { require(_addresses.length == _amounts.length); for (uint i = 0; i < _addresses.length; i ++) { token.transferFrom(_from, _addresses[i], _amounts[i]); } } function tokenFallback(address, uint, bytes) public pure { // receive tokens } function withdraw(uint _value) public onlyOwner { token.transfer(owner, _value); } function withdrawToken(address _token, uint _value) public onlyOwner { ERC20(_token).transfer(owner, _value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_addresses","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"createdAt","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"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_target","type":"address"},{"name":"_token","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405160408061079583398101604052805160209091015160008054600160a060020a03938416600160a060020a0319918216331782161790915560018054939092169216919091179055436002556107268061006f6000396000f30060806040526004361061008a5763ffffffff60e060020a6000350416632e1a7d4d811461008f57806346091499146100a9578063715018a6146100e25780638da5cb5b146100f75780639e281a9814610128578063c0ee0b8a1461014c578063cf09e0d0146101b5578063f2fde38b146101dc578063fc0c546a146101fd578063ffc3a76914610212575b600080fd5b34801561009b57600080fd5b506100a760043561023e565b005b3480156100b557600080fd5b506100a760048035600160a060020a031690602480358082019290810135916044359081019101356102fa565b3480156100ee57600080fd5b506100a7610414565b34801561010357600080fd5b5061010c610480565b60408051600160a060020a039092168252519081900360200190f35b34801561013457600080fd5b506100a7600160a060020a036004351660243561048f565b34801561015857600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100a7948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506102f59650505050505050565b3480156101c157600080fd5b506101ca610546565b60408051918252519081900360200190f35b3480156101e857600080fd5b506100a7600160a060020a036004351661054c565b34801561020957600080fd5b5061010c61056f565b34801561021e57600080fd5b506100a7602460048035828101929082013591813591820191013561057e565b600054600160a060020a0316331461025557600080fd5b60015460008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919093169263a9059cbb9260448083019360209390929083900390910190829087803b1580156102cb57600080fd5b505af11580156102df573d6000803e3d6000fd5b505050506040513d60208110156102f557600080fd5b505050565b60008054600160a060020a0316331461031257600080fd5b83821461031e57600080fd5b5060005b8381101561040c57600154600160a060020a03166323b872dd8787878581811061034857fe5b90506020020135600160a060020a0316868686818110151561036657fe5b905060200201356040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183600160a060020a0316600160a060020a031681526020018281526020019350505050602060405180830381600087803b1580156103d857600080fd5b505af11580156103ec573d6000803e3d6000fd5b505050506040513d602081101561040257600080fd5b5050600101610322565b505050505050565b600054600160a060020a0316331461042b57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b600054600160a060020a031633146104a657600080fd5b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519185169263a9059cbb926044808401936020939083900390910190829087803b15801561051657600080fd5b505af115801561052a573d6000803e3d6000fd5b505050506040513d602081101561054057600080fd5b50505050565b60025481565b600054600160a060020a0316331461056357600080fd5b61056c8161067d565b50565b600154600160a060020a031681565b60008054600160a060020a0316331461059657600080fd5b8382146105a257600080fd5b5060005b8381101561067657600154600160a060020a031663a9059cbb8686848181106105cb57fe5b90506020020135600160a060020a031685858581811015156105e957fe5b905060200201356040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561064257600080fd5b505af1158015610656573d6000803e3d6000fd5b505050506040513d602081101561066c57600080fd5b50506001016105a6565b5050505050565b600160a060020a038116151561069257600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820f9f9ff356140f3ee8caba675491f99222e59aa0929361266b0a3a136f2ba02780029
Deployed Bytecode
0x60806040526004361061008a5763ffffffff60e060020a6000350416632e1a7d4d811461008f57806346091499146100a9578063715018a6146100e25780638da5cb5b146100f75780639e281a9814610128578063c0ee0b8a1461014c578063cf09e0d0146101b5578063f2fde38b146101dc578063fc0c546a146101fd578063ffc3a76914610212575b600080fd5b34801561009b57600080fd5b506100a760043561023e565b005b3480156100b557600080fd5b506100a760048035600160a060020a031690602480358082019290810135916044359081019101356102fa565b3480156100ee57600080fd5b506100a7610414565b34801561010357600080fd5b5061010c610480565b60408051600160a060020a039092168252519081900360200190f35b34801561013457600080fd5b506100a7600160a060020a036004351660243561048f565b34801561015857600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100a7948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506102f59650505050505050565b3480156101c157600080fd5b506101ca610546565b60408051918252519081900360200190f35b3480156101e857600080fd5b506100a7600160a060020a036004351661054c565b34801561020957600080fd5b5061010c61056f565b34801561021e57600080fd5b506100a7602460048035828101929082013591813591820191013561057e565b600054600160a060020a0316331461025557600080fd5b60015460008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051919093169263a9059cbb9260448083019360209390929083900390910190829087803b1580156102cb57600080fd5b505af11580156102df573d6000803e3d6000fd5b505050506040513d60208110156102f557600080fd5b505050565b60008054600160a060020a0316331461031257600080fd5b83821461031e57600080fd5b5060005b8381101561040c57600154600160a060020a03166323b872dd8787878581811061034857fe5b90506020020135600160a060020a0316868686818110151561036657fe5b905060200201356040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183600160a060020a0316600160a060020a031681526020018281526020019350505050602060405180830381600087803b1580156103d857600080fd5b505af11580156103ec573d6000803e3d6000fd5b505050506040513d602081101561040257600080fd5b5050600101610322565b505050505050565b600054600160a060020a0316331461042b57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b600054600160a060020a031633146104a657600080fd5b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519185169263a9059cbb926044808401936020939083900390910190829087803b15801561051657600080fd5b505af115801561052a573d6000803e3d6000fd5b505050506040513d602081101561054057600080fd5b50505050565b60025481565b600054600160a060020a0316331461056357600080fd5b61056c8161067d565b50565b600154600160a060020a031681565b60008054600160a060020a0316331461059657600080fd5b8382146105a257600080fd5b5060005b8381101561067657600154600160a060020a031663a9059cbb8686848181106105cb57fe5b90506020020135600160a060020a031685858581811015156105e957fe5b905060200201356040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561064257600080fd5b505af1158015610656573d6000803e3d6000fd5b505050506040513d602081101561066c57600080fd5b50506001016105a6565b5050505050565b600160a060020a038116151561069257600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820f9f9ff356140f3ee8caba675491f99222e59aa0929361266b0a3a136f2ba02780029
Deployed Bytecode Sourcemap
3316:1152:0:-;;;;;;;;;-1:-1:-1;;;3316:1152:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4236:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4236:96:0;;;;;;;3831:297;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3831:297:0;;;;-1:-1:-1;;;;;3831:297:0;;;;;;;;;;;;;;;;;;;;;;;;931:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;931:114:0;;;;313:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;313:20:0;;;;;;;;-1:-1:-1;;;;;313:20:0;;;;;;;;;;;;;;4340:125;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4340:125:0;-1:-1:-1;;;;;4340:125:0;;;;;;;4136:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4136:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4136:92:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4136:92:0;;-1:-1:-1;4136:92:0;;-1:-1:-1;;;;;;;4136:92:0;3376:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3376:21:0;;;;;;;;;;;;;;;;;;;;1213:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1213:105:0;-1:-1:-1;;;;;1213:105:0;;;;;3351:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3351:18:0;;;;3556:267;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3556:267:0;;;;;;;;;;;;;;;;;;;;;;;;4236:96;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;4295:5;;;4310;;4295:29;;;;;;-1:-1:-1;;;;;4310:5:0;;;4295:29;;;;;;;;;;;;:5;;;;;:14;;:29;;;;;;;;;;;;;;;;;;;:5;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;4295:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4295:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;4236:96:0:o;3831:297::-;4000:6;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;3945:36;;;3937:45;;;;;;-1:-1:-1;4009:1:0;3995:126;4012:21;;;3995:126;;;4056:5;;-1:-1:-1;;;;;4056:5:0;:18;4075:5;4082:10;;4093:1;4082:13;;;;;;;;;;;;;-1:-1:-1;;;;;4082:13:0;4097:8;;4106:1;4097:11;;;;;;;;;;;;;;;4056:53;;;;;-1:-1:-1;;;4056:53:0;;;;;;;-1:-1:-1;;;;;4056:53:0;-1:-1:-1;;;;;4056:53:0;;;;;;-1:-1:-1;;;;;4056:53:0;-1:-1:-1;;;;;4056:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4056:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4056:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;4035:4:0;;3995:126;;;3831:297;;;;;;:::o;931:114::-;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;1008:5;;;989:25;;-1:-1:-1;;;;;1008:5:0;;;;989:25;;;1037:1;1021:18;;-1:-1:-1;;1021:18:0;;;931:114::o;313:20::-;;;-1:-1:-1;;;;;313:20:0;;:::o;4340:125::-;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;4443:5;;;4420:37;;;;;;-1:-1:-1;;;;;4443:5:0;;;4420:37;;;;;;;;;;;;:22;;;;;;:37;;;;;;;;;;;;;;;;;:22;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;4420:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4420:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;4340:125:0:o;3376:21::-;;;;:::o;1213:105::-;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;1283:29;1302:9;1283:18;:29::i;:::-;1213:105;:::o;3351:18::-;;;-1:-1:-1;;;;;3351:18:0;;:::o;3556:267::-;3706:6;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;3651:36;;;3643:45;;;;;;-1:-1:-1;3715:1:0;3701:115;3718:21;;;3701:115;;;3762:5;;-1:-1:-1;;;;;3762:5:0;:14;3777:10;;3788:1;3777:13;;;;;;;;;;;;;-1:-1:-1;;;;;3777:13:0;3792:8;;3801:1;3792:11;;;;;;;;;;;;;;;3762:42;;;;;-1:-1:-1;;;3762:42:0;;;;;;;-1:-1:-1;;;;;3762:42:0;-1:-1:-1;;;;;3762:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3762:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3762:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;3741:4:0;;3701:115;;;3556:267;;;;;:::o;1459:175::-;-1:-1:-1;;;;;1530:23:0;;;;1522:32;;;;;;1587:5;;;1566:38;;-1:-1:-1;;;;;1566:38:0;;;;1587:5;;;1566:38;;;1611:5;:17;;-1:-1:-1;;1611:17:0;-1:-1:-1;;;;;1611:17:0;;;;;;;;;;1459:175::o
Swarm Source
bzzr://f9f9ff356140f3ee8caba675491f99222e59aa0929361266b0a3a136f2ba0278
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 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.