More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 10,100 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Airdrop | 7311977 | 1969 days ago | IN | 0.00017 ETH | 0.00053266 | ||||
Airdrop | 7059831 | 2020 days ago | IN | 0 ETH | 0.0001615 | ||||
Airdrop | 7020196 | 2028 days ago | IN | 0 ETH | 0.00002685 | ||||
Airdrop | 7011686 | 2029 days ago | IN | 0 ETH | 0.00002685 | ||||
Airdrop | 7010633 | 2029 days ago | IN | 0 ETH | 0.00002691 | ||||
Airdrop | 7007016 | 2030 days ago | IN | 0 ETH | 0.00002685 | ||||
Airdrop | 7005044 | 2030 days ago | IN | 0 ETH | 0.00002691 | ||||
Airdrop | 7004868 | 2030 days ago | IN | 0 ETH | 0.00002691 | ||||
Airdrop | 7004672 | 2030 days ago | IN | 0 ETH | 0.00002691 | ||||
Airdrop | 7004633 | 2030 days ago | IN | 0 ETH | 0.00002691 | ||||
Airdrop | 7004528 | 2030 days ago | IN | 0 ETH | 0.00002685 | ||||
Airdrop | 6971514 | 2036 days ago | IN | 0 ETH | 0.00002691 | ||||
Airdrop | 6644790 | 2090 days ago | IN | 0 ETH | 0.00002691 | ||||
Airdrop | 6630913 | 2092 days ago | IN | 0 ETH | 0.00002691 | ||||
Airdrop | 6594719 | 2098 days ago | IN | 0 ETH | 0.00002691 | ||||
Airdrop | 6579725 | 2101 days ago | IN | 0 ETH | 0.00002691 | ||||
Transfer | 6569572 | 2102 days ago | IN | 0 ETH | 0.00012627 | ||||
Airdrop | 6564919 | 2103 days ago | IN | 0 ETH | 0.00010766 | ||||
Airdrop | 6564916 | 2103 days ago | IN | 0 ETH | 0.00002685 | ||||
Transfer | 6564207 | 2103 days ago | IN | 0 ETH | 0.00008418 | ||||
Transfer | 6564195 | 2103 days ago | IN | 0 ETH | 0.00008418 | ||||
Lock | 6563048 | 2104 days ago | IN | 0 ETH | 0.00016887 | ||||
Airdrop | 6562513 | 2104 days ago | IN | 0 ETH | 0.00110758 | ||||
Airdrop | 6562488 | 2104 days ago | IN | 0 ETH | 0.00110682 | ||||
Airdrop | 6561871 | 2104 days ago | IN | 0 ETH | 0.00030919 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | ||||
---|---|---|---|---|---|---|---|
6562513 | 2104 days ago | 0 ETH | |||||
6562488 | 2104 days ago | 0 ETH | |||||
6561871 | 2104 days ago | 0 ETH | |||||
6561542 | 2104 days ago | 0 ETH | |||||
6561531 | 2104 days ago | 0 ETH | |||||
6561030 | 2104 days ago | 0 ETH | |||||
6561019 | 2104 days ago | 0 ETH | |||||
6561014 | 2104 days ago | 0 ETH | |||||
6560684 | 2104 days ago | 0 ETH | |||||
6560684 | 2104 days ago | 0 ETH | |||||
6560679 | 2104 days ago | 0 ETH | |||||
6560679 | 2104 days ago | 0 ETH | |||||
6560678 | 2104 days ago | 0 ETH | |||||
6560618 | 2104 days ago | 0 ETH | |||||
6560611 | 2104 days ago | 0 ETH | |||||
6560611 | 2104 days ago | 0 ETH | |||||
6560611 | 2104 days ago | 0 ETH | |||||
6560608 | 2104 days ago | 0 ETH | |||||
6560604 | 2104 days ago | 0 ETH | |||||
6560595 | 2104 days ago | 0 ETH | |||||
6560589 | 2104 days ago | 0 ETH | |||||
6560583 | 2104 days ago | 0 ETH | |||||
6560578 | 2104 days ago | 0 ETH | |||||
6560493 | 2104 days ago | 0 ETH | |||||
6560486 | 2104 days ago | 0 ETH |
Loading...
Loading
Contract Name:
BITOXAirdrop
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 500 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-09-26 */ pragma solidity 0.4.24; // File: contracts/commons/SafeMath.sol /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a / b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } // File: contracts/flavours/Ownable.sol /** * @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 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 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)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } // File: contracts/flavours/Lockable.sol /** * @title Lockable * @dev Base contract which allows children to * implement main operations locking mechanism. */ contract Lockable is Ownable { event Lock(); event Unlock(); bool public locked = false; /** * @dev Modifier to make a function callable * only when the contract is not locked. */ modifier whenNotLocked() { require(!locked); _; } /** * @dev Modifier to make a function callable * only when the contract is locked. */ modifier whenLocked() { require(locked); _; } /** * @dev called by the owner to lock, triggers locked state */ function lock() public onlyOwner whenNotLocked { locked = true; emit Lock(); } /** * @dev called by the owner * to unlock, returns to unlocked state */ function unlock() public onlyOwner whenLocked { locked = false; emit Unlock(); } } // File: contracts/base/ERC20Token.sol interface ERC20Token { function transferFrom(address from_, address to_, uint value_) external returns (bool); function transfer(address to_, uint value_) external returns (bool); function balanceOf(address owner_) external returns (uint); } // File: contracts/base/BaseAirdrop.sol contract BaseAirdrop is Lockable { using SafeMath for uint; ERC20Token public token; address public tokenHolder; mapping(address => bool) public users; event AirdropToken(address indexed to, uint amount); constructor(address _token, address _tokenHolder) public { require(_token != address(0) && _tokenHolder != address(0)); token = ERC20Token(_token); tokenHolder = _tokenHolder; } function airdrop(uint8 v, bytes32 r, bytes32 s, uint amount) public whenNotLocked { if (users[msg.sender] || ecrecover(prefixedHash(amount), v, r, s) != owner) { revert(); } users[msg.sender] = true; token.transferFrom(tokenHolder, msg.sender, amount); emit AirdropToken(msg.sender, amount); } function getAirdropStatus(address user) public constant returns (bool success) { return users[user]; } function originalHash(uint amount) internal view returns (bytes32) { return keccak256(abi.encodePacked( "Signed for Airdrop", address(this), address(token), msg.sender, amount )); } function prefixedHash(uint amount) internal view returns (bytes32) { bytes memory prefix = "\x19Ethereum Signed Message:\n32"; return keccak256(abi.encodePacked(prefix, originalHash(amount))); } } // File: contracts/BITOXAirdrop.sol /** * @title BITOX token airdrop contract. */ contract BITOXAirdrop is BaseAirdrop { constructor(address _token, address _tokenHolder) public BaseAirdrop(_token, _tokenHolder) { locked = true; } // Disable direct payments function() external payable { revert(); } // withdraw funds only for owner function withdraw() public onlyOwner { owner.transfer(address(this).balance); } // withdraw stuck tokens only for owner function withdrawTokens(address _someToken) public onlyOwner { ERC20Token someToken = ERC20Token(_someToken); uint balance = someToken.balanceOf(this); someToken.transfer(owner, balance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenHolder","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_someToken","type":"address"}],"name":"withdrawTokens","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":"unlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"users","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"},{"name":"amount","type":"uint256"}],"name":"airdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"locked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"getAirdropStatus","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"lock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_token","type":"address"},{"name":"_tokenHolder","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"AirdropToken","type":"event"},{"anonymous":false,"inputs":[],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[],"name":"Unlock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60806040526000805460a060020a60ff021916905534801561002057600080fd5b50604051604080610abe83398101604052805160209091015160008054600160a060020a031916331790558181600160a060020a0382161580159061006d5750600160a060020a03811615155b151561007857600080fd5b60018054600160a060020a03938416600160a060020a0319918216179091556002805492909316911617905550506000805460a060020a60ff021916740100000000000000000000000000000000000000001790556109e2806100dc6000396000f3006080604052600436106100b95763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633ccfd60b81146100be578063420a83e7146100d557806349df728c146101065780638da5cb5b14610127578063a69df4b51461013c578063a87430ba14610151578063caf91b3014610186578063cf309012146101aa578063eed7eaea146101bf578063f2fde38b146101e0578063f83d08ba14610201578063fc0c546a14610216575b600080fd5b3480156100ca57600080fd5b506100d361022b565b005b3480156100e157600080fd5b506100ea610280565b60408051600160a060020a039092168252519081900360200190f35b34801561011257600080fd5b506100d3600160a060020a036004351661028f565b34801561013357600080fd5b506100ea6103de565b34801561014857600080fd5b506100d36103ed565b34801561015d57600080fd5b50610172600160a060020a0360043516610474565b604080519115158252519081900360200190f35b34801561019257600080fd5b506100d360ff60043516602435604435606435610489565b3480156101b657600080fd5b50610172610650565b3480156101cb57600080fd5b50610172600160a060020a0360043516610671565b3480156101ec57600080fd5b506100d3600160a060020a036004351661068f565b34801561020d57600080fd5b506100d3610723565b34801561022257600080fd5b506100ea6107c0565b600054600160a060020a0316331461024257600080fd5b60008054604051600160a060020a0390911691303180156108fc02929091818181858888f1935050505015801561027d573d6000803e3d6000fd5b50565b600254600160a060020a031681565b600080548190600160a060020a031633146102a957600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561030d57600080fd5b505af1158015610321573d6000803e3d6000fd5b505050506040513d602081101561033757600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b1580156103ad57600080fd5b505af11580156103c1573d6000803e3d6000fd5b505050506040513d60208110156103d757600080fd5b5050505050565b600054600160a060020a031681565b600054600160a060020a0316331461040457600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561042d57600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f70e3fffea7bbb557facdee48ed7f7af5179030adef9ad0c876df039a718f359e9190a1565b60036020526000908152604090205460ff1681565b60005474010000000000000000000000000000000000000000900460ff16156104b157600080fd5b3360009081526003602052604090205460ff168061054d5750600054600160a060020a031660016104e1836107cf565b60408051600080825260208083018085529490945260ff8a16828401526060820189905260808201889052915160a08083019493601f198301938390039091019190865af1158015610537573d6000803e3d6000fd5b50505060206040510351600160a060020a031614155b1561055757600080fd5b336000818152600360209081526040808320805460ff191660019081179091555460025482517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03918216600482015260248101969096526044860187905291519116936323b872dd9360648083019493928390030190829087803b1580156105e857600080fd5b505af11580156105fc573d6000803e3d6000fd5b505050506040513d602081101561061257600080fd5b505060408051828152905133917fb6b09d42fae5c5eedc2e2b4c72342ea7f76d69f00732b2183cf65d40b5afaeb3919081900360200190a250505050565b60005474010000000000000000000000000000000000000000900460ff1681565b600160a060020a031660009081526003602052604090205460ff1690565b600054600160a060020a031633146106a657600080fd5b600160a060020a03811615156106bb57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316331461073a57600080fd5b60005474010000000000000000000000000000000000000000900460ff161561076257600080fd5b6000805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001781556040517f46620e39f4e119bf05f13544f8ef38338fc06c17f6b731c7f95bee356572db969190a1565b600154600160a060020a031681565b60408051808201909152601c81527f19457468657265756d205369676e6564204d6573736167653a0a333200000000602082015260009080610810846108d5565b6040516020018083805190602001908083835b602083106108425780518252601f199092019160209182019101610823565b51815160209384036101000a600019018019909216911617905292019384525060408051808503815293820190819052835193945092839250908401908083835b602083106108a25780518252601f199092019160209182019101610883565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b600154604080517f5369676e656420666f722041697264726f7000000000000000000000000000006020808301919091526c010000000000000000000000003081026032840152600160a060020a03909416840260468301523393909302605a820152606e80820185905282518083039091018152608e9091019182905280516000939192918291908401908083835b602083106109845780518252601f199092019160209182019101610965565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120959450505050505600a165627a7a7230582039f99304fcee6a180ec49f6af953b6e7605656f91bb1305796681f57adbfffa10029000000000000000000000000bdda280ee7bccc68f3be60a369b6b1eaee02493c000000000000000000000000521aff68ac6f05f36ae75fc786eec3b310baf68b
Deployed Bytecode
0x6080604052600436106100b95763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633ccfd60b81146100be578063420a83e7146100d557806349df728c146101065780638da5cb5b14610127578063a69df4b51461013c578063a87430ba14610151578063caf91b3014610186578063cf309012146101aa578063eed7eaea146101bf578063f2fde38b146101e0578063f83d08ba14610201578063fc0c546a14610216575b600080fd5b3480156100ca57600080fd5b506100d361022b565b005b3480156100e157600080fd5b506100ea610280565b60408051600160a060020a039092168252519081900360200190f35b34801561011257600080fd5b506100d3600160a060020a036004351661028f565b34801561013357600080fd5b506100ea6103de565b34801561014857600080fd5b506100d36103ed565b34801561015d57600080fd5b50610172600160a060020a0360043516610474565b604080519115158252519081900360200190f35b34801561019257600080fd5b506100d360ff60043516602435604435606435610489565b3480156101b657600080fd5b50610172610650565b3480156101cb57600080fd5b50610172600160a060020a0360043516610671565b3480156101ec57600080fd5b506100d3600160a060020a036004351661068f565b34801561020d57600080fd5b506100d3610723565b34801561022257600080fd5b506100ea6107c0565b600054600160a060020a0316331461024257600080fd5b60008054604051600160a060020a0390911691303180156108fc02929091818181858888f1935050505015801561027d573d6000803e3d6000fd5b50565b600254600160a060020a031681565b600080548190600160a060020a031633146102a957600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561030d57600080fd5b505af1158015610321573d6000803e3d6000fd5b505050506040513d602081101561033757600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b1580156103ad57600080fd5b505af11580156103c1573d6000803e3d6000fd5b505050506040513d60208110156103d757600080fd5b5050505050565b600054600160a060020a031681565b600054600160a060020a0316331461040457600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561042d57600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f70e3fffea7bbb557facdee48ed7f7af5179030adef9ad0c876df039a718f359e9190a1565b60036020526000908152604090205460ff1681565b60005474010000000000000000000000000000000000000000900460ff16156104b157600080fd5b3360009081526003602052604090205460ff168061054d5750600054600160a060020a031660016104e1836107cf565b60408051600080825260208083018085529490945260ff8a16828401526060820189905260808201889052915160a08083019493601f198301938390039091019190865af1158015610537573d6000803e3d6000fd5b50505060206040510351600160a060020a031614155b1561055757600080fd5b336000818152600360209081526040808320805460ff191660019081179091555460025482517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03918216600482015260248101969096526044860187905291519116936323b872dd9360648083019493928390030190829087803b1580156105e857600080fd5b505af11580156105fc573d6000803e3d6000fd5b505050506040513d602081101561061257600080fd5b505060408051828152905133917fb6b09d42fae5c5eedc2e2b4c72342ea7f76d69f00732b2183cf65d40b5afaeb3919081900360200190a250505050565b60005474010000000000000000000000000000000000000000900460ff1681565b600160a060020a031660009081526003602052604090205460ff1690565b600054600160a060020a031633146106a657600080fd5b600160a060020a03811615156106bb57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316331461073a57600080fd5b60005474010000000000000000000000000000000000000000900460ff161561076257600080fd5b6000805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001781556040517f46620e39f4e119bf05f13544f8ef38338fc06c17f6b731c7f95bee356572db969190a1565b600154600160a060020a031681565b60408051808201909152601c81527f19457468657265756d205369676e6564204d6573736167653a0a333200000000602082015260009080610810846108d5565b6040516020018083805190602001908083835b602083106108425780518252601f199092019160209182019101610823565b51815160209384036101000a600019018019909216911617905292019384525060408051808503815293820190819052835193945092839250908401908083835b602083106108a25780518252601f199092019160209182019101610883565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b600154604080517f5369676e656420666f722041697264726f7000000000000000000000000000006020808301919091526c010000000000000000000000003081026032840152600160a060020a03909416840260468301523393909302605a820152606e80820185905282518083039091018152608e9091019182905280516000939192918291908401908083835b602083106109845780518252601f199092019160209182019101610965565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120959450505050505600a165627a7a7230582039f99304fcee6a180ec49f6af953b6e7605656f91bb1305796681f57adbfffa10029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000bdda280ee7bccc68f3be60a369b6b1eaee02493c000000000000000000000000521aff68ac6f05f36ae75fc786eec3b310baf68b
-----Decoded View---------------
Arg [0] : _token (address): 0xbDda280Ee7bcCC68F3be60a369b6B1eAee02493C
Arg [1] : _tokenHolder (address): 0x521aFF68aC6F05f36ae75Fc786eeC3B310BaF68B
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000bdda280ee7bccc68f3be60a369b6b1eaee02493c
Arg [1] : 000000000000000000000000521aff68ac6f05f36ae75fc786eec3b310baf68b
Swarm Source
bzzr://39f99304fcee6a180ec49f6af953b6e7605656f91bb1305796681f57adbfffa1
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 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.