More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 5,188 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Emergency ERC20D... | 4348259 | 2548 days ago | IN | 0 ETH | 0.00156876 | ||||
Tranfer Minter O... | 4348242 | 2548 days ago | IN | 0 ETH | 0.0013102 | ||||
Air Drop | 4347582 | 2548 days ago | IN | 0 ETH | 0.09865914 | ||||
Air Drop | 4347578 | 2548 days ago | IN | 0 ETH | 0.00124975 | ||||
Air Drop | 4347027 | 2549 days ago | IN | 0 ETH | 0.00270548 | ||||
Air Drop | 4347027 | 2549 days ago | IN | 0 ETH | 0.00270548 | ||||
Air Drop | 4347026 | 2549 days ago | IN | 0 ETH | 0.00282599 | ||||
Air Drop | 4347023 | 2549 days ago | IN | 0 ETH | 0.00282548 | ||||
Air Drop | 4347023 | 2549 days ago | IN | 0 ETH | 0.00282496 | ||||
Air Drop | 4347023 | 2549 days ago | IN | 0 ETH | 0.00282599 | ||||
Air Drop | 4347023 | 2549 days ago | IN | 0 ETH | 0.00270599 | ||||
Air Drop | 4347022 | 2549 days ago | IN | 0 ETH | 0.00282599 | ||||
Air Drop | 4347022 | 2549 days ago | IN | 0 ETH | 0.00282599 | ||||
Air Drop | 4347021 | 2549 days ago | IN | 0 ETH | 0.00282548 | ||||
Air Drop | 4347021 | 2549 days ago | IN | 0 ETH | 0.00270496 | ||||
Air Drop | 4347018 | 2549 days ago | IN | 0 ETH | 0.00282599 | ||||
Air Drop | 4347017 | 2549 days ago | IN | 0 ETH | 0.00282496 | ||||
Air Drop | 4347016 | 2549 days ago | IN | 0 ETH | 0.00282599 | ||||
Air Drop | 4347012 | 2549 days ago | IN | 0 ETH | 0.00282496 | ||||
Air Drop | 4347012 | 2549 days ago | IN | 0 ETH | 0.00282599 | ||||
Air Drop | 4347012 | 2549 days ago | IN | 0 ETH | 0.00282496 | ||||
Air Drop | 4347011 | 2549 days ago | IN | 0 ETH | 0.00282548 | ||||
Air Drop | 4347011 | 2549 days ago | IN | 0 ETH | 0.00282548 | ||||
Air Drop | 4347010 | 2549 days ago | IN | 0 ETH | 0.00282548 | ||||
Air Drop | 4347009 | 2549 days ago | IN | 0 ETH | 0.00282599 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
KyberAirDrop
Compiler Version
v0.4.15+commit.bbb8e64f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-09-25 */ pragma solidity ^0.4.13; contract Ownable { address public owner; /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() { 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) onlyOwner { if (newOwner != address(0)) { owner = newOwner; } } } contract KyberAirDrop is Ownable { uint public numDrops; uint public dropAmount; function KyberAirDrop( address dropper ) { transferOwnership(dropper); } event TokenDrop( address receiver, uint amount ); function airDrop( ERC20Interface token, address tokenRepo, address[] recipients, uint amount, bool kgt, KyberGenesisToken kgtToken ) onlyOwner { require( amount == 0 || amount == (2*(10**18)) || amount == (5*(10**18)) ); if( amount > 0 ) { for( uint i = 0 ; i < recipients.length ; i++ ) { assert( token.transferFrom( tokenRepo, recipients[i], amount ) ); TokenDrop( recipients[i], amount ); } } if( kgt ) { kgtToken.mint(recipients); } numDrops += recipients.length; dropAmount += recipients.length * amount; } function tranferMinterOwnership( KyberGenesisToken kgtToken, address newOwner ) onlyOwner { kgtToken.transferOwnership(newOwner); } function emergencyERC20Drain( ERC20Interface token, uint amount ) { // callable by anyone address kyberMultisig = 0x3EB01B3391EA15CE752d01Cf3D3F09deC596F650; token.transfer( kyberMultisig, amount ); } } contract KyberGenesisToken is Ownable { string public constant name = "Kyber Genesis Token"; string public constant symbol = "KGT"; uint public constant decimals = 0; uint public totalSupply = 0; mapping(address=>uint) public balanceOf; function KyberGenesisToken( address minter ) { transferOwnership(minter); } event Transfer(address indexed _from, address indexed _to, uint _value); event EndMinting( uint timestamp ); function mint( address[] recipients ) onlyOwner { uint newRecipients = 0; for( uint i = 0 ; i < recipients.length ; i++ ){ address recipient = recipients[i]; if( balanceOf[recipient] == 0 ){ Transfer( address(0x0), recipient, 1 ); balanceOf[recipient] = 1; newRecipients++; } } totalSupply += newRecipients; } function endMinting() onlyOwner { transferOwnership(address(0xdead)); EndMinting(block.timestamp); } function burn() { require(balanceOf[msg.sender] == 1 ); Transfer( msg.sender, address(0x0), 1 ); balanceOf[msg.sender] = 0; totalSupply--; } function emergencyERC20Drain( ERC20Interface token, uint amount ){ // callable by anyone address kyberMultisig = 0x3EB01B3391EA15CE752d01Cf3D3F09deC596F650; token.transfer( kyberMultisig, amount ); } // ERC20 stubs function transfer(address _to, uint _value) returns (bool){ revert(); } function transferFrom(address _from, address _to, uint _value) returns (bool){ revert(); } function approve(address _spender, uint _value) returns (bool){ revert(); } function allowance(address _owner, address _spender) constant returns (uint){ return 0; } event Approval(address indexed _owner, address indexed _spender, uint _value); } contract ERC20Interface { function transferFrom(address _from, address _to, uint _value) returns (bool){} function transfer(address _to, uint _value) returns (bool){} function ERC20Interface(){} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"dropAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"tokenRepo","type":"address"},{"name":"recipients","type":"address[]"},{"name":"amount","type":"uint256"},{"name":"kgt","type":"bool"},{"name":"kgtToken","type":"address"}],"name":"airDrop","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numDrops","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"kgtToken","type":"address"},{"name":"newOwner","type":"address"}],"name":"tranferMinterOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"amount","type":"uint256"}],"name":"emergencyERC20Drain","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"dropper","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"receiver","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenDrop","type":"event"}]
Contract Creation Code
6060604052341561000f57600080fd5b60405160208061066f833981016040528080519150505b5b60008054600160a060020a03191633600160a060020a03161790555b6100598164010000000061053161006082021704565b5b506100ab565b60005433600160a060020a0390811691161461007b57600080fd5b600160a060020a038116156100a65760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b6105b5806100ba6000396000f300606060405236156100675763ffffffff60e060020a60003504166305748be2811461006c578063608bc08c146100915780638bc30096146101125780638da5cb5b146101375780638e744f5414610166578063db0e16f11461018d578063f2fde38b146101b1575b600080fd5b341561007757600080fd5b61007f6101d2565b60405190815260200160405180910390f35b341561009c57600080fd5b610110600160a060020a036004803582169160248035909116919060649060443590810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505084359460208101351515945060400135600160a060020a031692506101d8915050565b005b341561011d57600080fd5b61007f610406565b60405190815260200160405180910390f35b341561014257600080fd5b61014a61040c565b604051600160a060020a03909116815260200160405180910390f35b341561017157600080fd5b610110600160a060020a036004358116906024351661041b565b005b341561019857600080fd5b610110600160a060020a036004351660243561049e565b005b34156101bc57600080fd5b610110600160a060020a0360043516610531565b005b60025481565b6000805433600160a060020a039081169116146101f457600080fd5b831580610208575083671bc16d674ec80000145b8061021a575083674563918244f40000145b151561022557600080fd5b600084111561033f575060005b845181101561033f5786600160a060020a03166323b872dd8787848151811061025757fe5b906020019060200201518760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156102ba57600080fd5b6102c65a03f115156102cb57600080fd5b5050506040518051905015156102dd57fe5b7fb88903f74059b09b78248a0df6ba49200ca616f185ca84aca28d3e74e754ab8685828151811061030a57fe5b9060200190602002015185604051600160a060020a03909216825260208201526040908101905180910390a15b600101610232565b5b82156103e25781600160a060020a031663bd075b84866040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156103a95780820151818401525b602001610390565b5050505090500192505050600060405180830381600087803b15156103cd57600080fd5b6102c65a03f115156103de57600080fd5b5050505b845160018054909101905583855160028054919092020190555b5b50505050505050565b60015481565b600054600160a060020a031681565b60005433600160a060020a0390811691161461043657600080fd5b81600160a060020a031663f2fde38b8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561048457600080fd5b6102c65a03f1151561049557600080fd5b5050505b5b5050565b733eb01b3391ea15ce752d01cf3d3f09dec596f650600160a060020a03831663a9059cbb828460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561051057600080fd5b6102c65a03f1151561052157600080fd5b505050604051805150505b505050565b60005433600160a060020a0390811691161461054c57600080fd5b600160a060020a03811615610584576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b505600a165627a7a723058204aea17b09940a7e1bffd623333825ec4196fa8cf05c50e945fffe7b404e882130029000000000000000000000000cbac9e86e0b7160f1a8e4835ad01dd51c514afce
Deployed Bytecode
0x606060405236156100675763ffffffff60e060020a60003504166305748be2811461006c578063608bc08c146100915780638bc30096146101125780638da5cb5b146101375780638e744f5414610166578063db0e16f11461018d578063f2fde38b146101b1575b600080fd5b341561007757600080fd5b61007f6101d2565b60405190815260200160405180910390f35b341561009c57600080fd5b610110600160a060020a036004803582169160248035909116919060649060443590810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505084359460208101351515945060400135600160a060020a031692506101d8915050565b005b341561011d57600080fd5b61007f610406565b60405190815260200160405180910390f35b341561014257600080fd5b61014a61040c565b604051600160a060020a03909116815260200160405180910390f35b341561017157600080fd5b610110600160a060020a036004358116906024351661041b565b005b341561019857600080fd5b610110600160a060020a036004351660243561049e565b005b34156101bc57600080fd5b610110600160a060020a0360043516610531565b005b60025481565b6000805433600160a060020a039081169116146101f457600080fd5b831580610208575083671bc16d674ec80000145b8061021a575083674563918244f40000145b151561022557600080fd5b600084111561033f575060005b845181101561033f5786600160a060020a03166323b872dd8787848151811061025757fe5b906020019060200201518760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156102ba57600080fd5b6102c65a03f115156102cb57600080fd5b5050506040518051905015156102dd57fe5b7fb88903f74059b09b78248a0df6ba49200ca616f185ca84aca28d3e74e754ab8685828151811061030a57fe5b9060200190602002015185604051600160a060020a03909216825260208201526040908101905180910390a15b600101610232565b5b82156103e25781600160a060020a031663bd075b84866040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156103a95780820151818401525b602001610390565b5050505090500192505050600060405180830381600087803b15156103cd57600080fd5b6102c65a03f115156103de57600080fd5b5050505b845160018054909101905583855160028054919092020190555b5b50505050505050565b60015481565b600054600160a060020a031681565b60005433600160a060020a0390811691161461043657600080fd5b81600160a060020a031663f2fde38b8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561048457600080fd5b6102c65a03f1151561049557600080fd5b5050505b5b5050565b733eb01b3391ea15ce752d01cf3d3f09dec596f650600160a060020a03831663a9059cbb828460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561051057600080fd5b6102c65a03f1151561052157600080fd5b505050604051805150505b505050565b60005433600160a060020a0390811691161461054c57600080fd5b600160a060020a03811615610584576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b505600a165627a7a723058204aea17b09940a7e1bffd623333825ec4196fa8cf05c50e945fffe7b404e882130029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000cBAC9e86E0B7160F1a8E4835ad01Dd51c514afce
-----Decoded View---------------
Arg [0] : dropper (address): 0xcBAC9e86E0B7160F1a8E4835ad01Dd51c514afce
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000cBAC9e86E0B7160F1a8E4835ad01Dd51c514afce
Swarm Source
bzzr://4aea17b09940a7e1bffd623333825ec4196fa8cf05c50e945fffe7b404e88213
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.