false
true
0

Contract Address Details

0x9148AB505Fd9eaB5141b2b36Ce815E2786b7f7cd

Contract Name
KyberAirDrop
Creator
0x346fbe–73740a at 0x8d57f3–932a5d
Balance
0 PLS ( )
Tokens
Fetching tokens...
Transactions
5,187 Transactions
Transfers
0 Transfers
Gas Used
0
Last Balance Update
26466845
Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
This contract has been partially verified via Sourcify. View contract in Sourcify repository
Contract name:
KyberAirDrop




Optimization enabled
true
Compiler version
v0.4.15+commit.bbb8e64f




Optimization runs
200
Verified at
2026-04-20T11:04:39.488844Z

Constructor Arguments

000000000000000000000000cbac9e86e0b7160f1a8e4835ad01dd51c514afce

Arg [0] (address) : 0xcbac9e86e0b7160f1a8e4835ad01dd51c514afce

              

KyberAirDrop.sol

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(){}
}
        

Compiler Settings

{"remappings":[],"optimizer":{"runs":200,"enabled":true},"libraries":{},"compilationTarget":{"KyberAirDrop.sol":"KyberAirDrop"}}
              

Contract ABI

[{"type":"function","payable":false,"outputs":[{"type":"uint256","name":""}],"name":"dropAmount","inputs":[],"constant":true},{"type":"function","payable":false,"outputs":[],"name":"airDrop","inputs":[{"type":"address","name":"token"},{"type":"address","name":"tokenRepo"},{"type":"address[]","name":"recipients"},{"type":"uint256","name":"amount"},{"type":"bool","name":"kgt"},{"type":"address","name":"kgtToken"}],"constant":false},{"type":"function","payable":false,"outputs":[{"type":"uint256","name":""}],"name":"numDrops","inputs":[],"constant":true},{"type":"function","payable":false,"outputs":[{"type":"address","name":""}],"name":"owner","inputs":[],"constant":true},{"type":"function","payable":false,"outputs":[],"name":"tranferMinterOwnership","inputs":[{"type":"address","name":"kgtToken"},{"type":"address","name":"newOwner"}],"constant":false},{"type":"function","payable":false,"outputs":[],"name":"emergencyERC20Drain","inputs":[{"type":"address","name":"token"},{"type":"uint256","name":"amount"}],"constant":false},{"type":"function","payable":false,"outputs":[],"name":"transferOwnership","inputs":[{"type":"address","name":"newOwner"}],"constant":false},{"type":"constructor","payable":false,"inputs":[{"type":"address","name":"dropper"}]},{"type":"event","name":"TokenDrop","inputs":[{"type":"address","name":"receiver","indexed":false},{"type":"uint256","name":"amount","indexed":false}],"anonymous":false}]
              

Contract Creation Code

Verify & Publish
0x6060604052341561000f57600080fd5b60405160208061066f833981016040528080519150505b5b60008054600160a060020a03191633600160a060020a03161790555b6100598164010000000061053161006082021704565b5b506100ab565b60005433600160a060020a0390811691161461007b57600080fd5b600160a060020a038116156100a65760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b6105b5806100ba6000396000f300606060405236156100675763ffffffff60e060020a60003504166305748be2811461006c578063608bc08c146100915780638bc30096146101125780638da5cb5b146101375780638e744f5414610166578063db0e16f11461018d578063f2fde38b146101b1575b600080fd5b341561007757600080fd5b61007f6101d2565b60405190815260200160405180910390f35b341561009c57600080fd5b610110600160a060020a036004803582169160248035909116919060649060443590810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505084359460208101351515945060400135600160a060020a031692506101d8915050565b005b341561011d57600080fd5b61007f610406565b60405190815260200160405180910390f35b341561014257600080fd5b61014a61040c565b604051600160a060020a03909116815260200160405180910390f35b341561017157600080fd5b610110600160a060020a036004358116906024351661041b565b005b341561019857600080fd5b610110600160a060020a036004351660243561049e565b005b34156101bc57600080fd5b610110600160a060020a0360043516610531565b005b60025481565b6000805433600160a060020a039081169116146101f457600080fd5b831580610208575083671bc16d674ec80000145b8061021a575083674563918244f40000145b151561022557600080fd5b600084111561033f575060005b845181101561033f5786600160a060020a03166323b872dd8787848151811061025757fe5b906020019060200201518760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156102ba57600080fd5b6102c65a03f115156102cb57600080fd5b5050506040518051905015156102dd57fe5b7fb88903f74059b09b78248a0df6ba49200ca616f185ca84aca28d3e74e754ab8685828151811061030a57fe5b9060200190602002015185604051600160a060020a03909216825260208201526040908101905180910390a15b600101610232565b5b82156103e25781600160a060020a031663bd075b84866040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156103a95780820151818401525b602001610390565b5050505090500192505050600060405180830381600087803b15156103cd57600080fd5b6102c65a03f115156103de57600080fd5b5050505b845160018054909101905583855160028054919092020190555b5b50505050505050565b60015481565b600054600160a060020a031681565b60005433600160a060020a0390811691161461043657600080fd5b81600160a060020a031663f2fde38b8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561048457600080fd5b6102c65a03f1151561049557600080fd5b5050505b5b5050565b733eb01b3391ea15ce752d01cf3d3f09dec596f650600160a060020a03831663a9059cbb828460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561051057600080fd5b6102c65a03f1151561052157600080fd5b505050604051805150505b505050565b60005433600160a060020a0390811691161461054c57600080fd5b600160a060020a03811615610584576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b505600a165627a7a723058204aea17b09940a7e1bffd623333825ec4196fa8cf05c50e945fffe7b404e882130029000000000000000000000000cbac9e86e0b7160f1a8e4835ad01dd51c514afce

Deployed ByteCode

0x606060405236156100675763ffffffff60e060020a60003504166305748be2811461006c578063608bc08c146100915780638bc30096146101125780638da5cb5b146101375780638e744f5414610166578063db0e16f11461018d578063f2fde38b146101b1575b600080fd5b341561007757600080fd5b61007f6101d2565b60405190815260200160405180910390f35b341561009c57600080fd5b610110600160a060020a036004803582169160248035909116919060649060443590810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505084359460208101351515945060400135600160a060020a031692506101d8915050565b005b341561011d57600080fd5b61007f610406565b60405190815260200160405180910390f35b341561014257600080fd5b61014a61040c565b604051600160a060020a03909116815260200160405180910390f35b341561017157600080fd5b610110600160a060020a036004358116906024351661041b565b005b341561019857600080fd5b610110600160a060020a036004351660243561049e565b005b34156101bc57600080fd5b610110600160a060020a0360043516610531565b005b60025481565b6000805433600160a060020a039081169116146101f457600080fd5b831580610208575083671bc16d674ec80000145b8061021a575083674563918244f40000145b151561022557600080fd5b600084111561033f575060005b845181101561033f5786600160a060020a03166323b872dd8787848151811061025757fe5b906020019060200201518760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156102ba57600080fd5b6102c65a03f115156102cb57600080fd5b5050506040518051905015156102dd57fe5b7fb88903f74059b09b78248a0df6ba49200ca616f185ca84aca28d3e74e754ab8685828151811061030a57fe5b9060200190602002015185604051600160a060020a03909216825260208201526040908101905180910390a15b600101610232565b5b82156103e25781600160a060020a031663bd075b84866040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156103a95780820151818401525b602001610390565b5050505090500192505050600060405180830381600087803b15156103cd57600080fd5b6102c65a03f115156103de57600080fd5b5050505b845160018054909101905583855160028054919092020190555b5b50505050505050565b60015481565b600054600160a060020a031681565b60005433600160a060020a0390811691161461043657600080fd5b81600160a060020a031663f2fde38b8260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561048457600080fd5b6102c65a03f1151561049557600080fd5b5050505b5b5050565b733eb01b3391ea15ce752d01cf3d3f09dec596f650600160a060020a03831663a9059cbb828460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561051057600080fd5b6102c65a03f1151561052157600080fd5b505050604051805150505b505050565b60005433600160a060020a0390811691161461054c57600080fd5b600160a060020a03811615610584576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b505600a165627a7a723058204aea17b09940a7e1bffd623333825ec4196fa8cf05c50e945fffe7b404e882130029