ETH Price: $3,475.44 (+5.40%)

Contract

0x4B14F1aaa878cCF70d58AEC682592dcD0Fe025BA
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer84781632019-09-03 16:09:321963 days ago1567526972IN
0x4B14F1aa...D0Fe025BA
0 ETH0.0002110
Withdraw Ether83435192019-08-13 17:31:371984 days ago1565717497IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000106923.3691496
Transfer81503822019-07-14 16:57:392014 days ago1563123459IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000076123.19512192
Transfer81180652019-07-09 16:08:302019 days ago1562688510IN
0x4B14F1aa...D0Fe025BA
0 ETH0.0000211
Transfer81149402019-07-09 4:36:362019 days ago1562646996IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer81149402019-07-09 4:36:362019 days ago1562646996IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer81147812019-07-09 3:59:142019 days ago1562644754IN
0x4B14F1aa...D0Fe025BA
0 ETH0.00000320.15
Transfer81141872019-07-09 1:44:472019 days ago1562636687IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer81141872019-07-09 1:44:472019 days ago1562636687IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer81141872019-07-09 1:44:472019 days ago1562636687IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer80893792019-07-05 5:18:582023 days ago1562303938IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000023821
Transfer80890832019-07-05 4:17:012023 days ago1562300221IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer80890832019-07-05 4:17:012023 days ago1562300221IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer80890832019-07-05 4:17:012023 days ago1562300221IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer80838972019-07-04 8:56:342024 days ago1562230594IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer80838972019-07-04 8:56:342024 days ago1562230594IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer80825712019-07-04 3:48:132024 days ago1562212093IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer80825182019-07-04 3:36:242024 days ago1562211384IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer80825182019-07-04 3:36:242024 days ago1562211384IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer80825092019-07-04 3:34:192024 days ago1562211259IN
0x4B14F1aa...D0Fe025BA
0 ETH0.00000320.15
Transfer80771662019-07-03 7:43:192025 days ago1562139799IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer80712842019-07-02 9:32:542026 days ago1562059974IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer80712842019-07-02 9:32:542026 days ago1562059974IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer80669592019-07-01 17:19:022027 days ago1562001542IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
Transfer80669592019-07-01 17:19:022027 days ago1562001542IN
0x4B14F1aa...D0Fe025BA
0 ETH0.000003570.15
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
83435192019-08-13 17:31:371984 days ago1565717497
0x4B14F1aa...D0Fe025BA
7.42179022 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VokenAirdrop

Compiler Version
v0.5.7+commit.6da8b019

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-04-15
*/

pragma solidity ^0.5.7;

// Voken Airdrop Fund
//   Just call this contract (send 0 ETH here),
//   and you will receive 100-200 VNET Tokens immediately.
// 
// More info:
//   https://vision.network
//   https://voken.io
//
// Contact us:
//   [email protected]
//   [email protected]


/**
 * @title Ownable
 */
contract Ownable {
    address internal _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 () internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    /**
     * @return the address of the owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @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) external onlyOwner {
        require(newOwner != address(0));
        _owner = newOwner;
        emit OwnershipTransferred(_owner, newOwner);
    }

    /**
     * @dev Rescue compatible ERC20 Token
     *
     * @param tokenAddr ERC20 The address of the ERC20 token contract
     * @param receiver The address of the receiver
     * @param amount uint256
     */
    function rescueTokens(address tokenAddr, address receiver, uint256 amount) external onlyOwner {
        IERC20 _token = IERC20(tokenAddr);
        require(receiver != address(0));
        uint256 balance = _token.balanceOf(address(this));

        require(balance >= amount);
        assert(_token.transfer(receiver, amount));
    }

    /**
     * @dev Withdraw Ether
     */
    function withdrawEther(address payable to, uint256 amount) external onlyOwner {
        require(to != address(0));

        uint256 balance = address(this).balance;

        require(balance >= amount);
        to.transfer(amount);
    }
}


/**
 * @title ERC20 interface
 * @dev see https://eips.ethereum.org/EIPS/eip-20
 */
interface IERC20{
    function balanceOf(address owner) external view returns (uint256);
    function transfer(address to, uint256 value) external returns (bool);
}


/**
 * @title SafeMath
 * @dev Unsigned math operations with safety checks that revert on error.
 */
library SafeMath {
    /**
     * @dev Adds two unsigned integers, reverts on overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a + b;
        assert(c >= a);
        return c;
    }

    /**
     * @dev Subtracts two unsigned integers, reverts 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 Multiplies two unsigned integers, reverts 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 unsigned integers truncating the quotient,
     * reverts on division by zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b > 0);
        uint256 c = a / b;
        assert(a == b * c + a % b);
        return a / b;
    }

    /**
     * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
     * reverts when dividing by zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}


/**
 * @title Voken Airdrop
 */
contract VokenAirdrop is Ownable {
    using SafeMath for uint256;

    IERC20 public Voken;

    mapping(address => bool) public _airdopped;

    event Donate(address indexed account, uint256 amount);

    /**
     * @dev constructor
     */
    constructor() public {
        Voken = IERC20(0x82070415FEe803f94Ce5617Be1878503e58F0a6a);
    }

    /**
     * @dev receive ETH and send Vokens
     */
    function () external payable {
        require(_airdopped[msg.sender] != true);

        uint256 balance = Voken.balanceOf(address(this));
        require(balance > 0);

        uint256 vokenAmount = 100;
        vokenAmount = vokenAmount.add(uint256(keccak256(abi.encode(now, msg.sender, now))) % 100).mul(10 ** 6);
        
        if (vokenAmount <= balance) {
            assert(Voken.transfer(msg.sender, vokenAmount));
        } else {
            assert(Voken.transfer(msg.sender, balance));
        }

        _airdopped[msg.sender] = true;
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"amount","type":"uint256"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"_airdopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Voken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddr","type":"address"},{"name":"receiver","type":"address"},{"name":"amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Donate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

608060405234801561001057600080fd5b50600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600180546001600160a01b0319167382070415fee803f94ce5617be1878503e58f0a6a1790556106a18061008f6000396000f3fe6080604052600436106100555760003560e01c8063522f68151461029357806385aa7bdc146102ce5780638da5cb5b14610315578063b068b7ad14610346578063cea9d26f1461035b578063f2fde38b1461039e575b3360009081526002602052604090205460ff1615156001141561007757600080fd5b60015460408051600160e01b6370a0823102815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156100c557600080fd5b505afa1580156100d9573d6000803e3d6000fd5b505050506040513d60208110156100ef57600080fd5b50519050806100fd57600080fd5b604080514260208083018290523383850152606080840192909252835180840390920182526080909201909252815191012060649061015590620f4240906101499084908190066103d1565b9063ffffffff6103e416565b90508181116101ec5760015460408051600160e01b63a9059cbb0281523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156101b557600080fd5b505af11580156101c9573d6000803e3d6000fd5b505050506040513d60208110156101df57600080fd5b50516101e757fe5b610275565b60015460408051600160e01b63a9059cbb0281523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561024357600080fd5b505af1158015610257573d6000803e3d6000fd5b505050506040513d602081101561026d57600080fd5b505161027557fe5b5050336000908152600260205260409020805460ff19166001179055005b34801561029f57600080fd5b506102cc600480360360408110156102b657600080fd5b506001600160a01b038135169060200135610409565b005b3480156102da57600080fd5b50610301600480360360208110156102f157600080fd5b50356001600160a01b031661047e565b604080519115158252519081900360200190f35b34801561032157600080fd5b5061032a610493565b604080516001600160a01b039092168252519081900360200190f35b34801561035257600080fd5b5061032a6104a2565b34801561036757600080fd5b506102cc6004803603606081101561037e57600080fd5b506001600160a01b038135811691602081013590911690604001356104b1565b3480156103aa57600080fd5b506102cc600480360360208110156103c157600080fd5b50356001600160a01b03166105fd565b818101828110156103de57fe5b92915050565b6000826103f3575060006103de565b508181028183828161040157fe5b04146103de57fe5b6000546001600160a01b0316331461042057600080fd5b6001600160a01b03821661043357600080fd5b30318181101561044257600080fd5b6040516001600160a01b0384169083156108fc029084906000818181858888f19350505050158015610478573d6000803e3d6000fd5b50505050565b60026020526000908152604090205460ff1681565b6000546001600160a01b031690565b6001546001600160a01b031681565b6000546001600160a01b031633146104c857600080fd5b826001600160a01b0383166104dc57600080fd5b60408051600160e01b6370a0823102815230600482015290516000916001600160a01b038416916370a0823191602480820192602092909190829003018186803b15801561052957600080fd5b505afa15801561053d573d6000803e3d6000fd5b505050506040513d602081101561055357600080fd5b505190508281101561056457600080fd5b816001600160a01b031663a9059cbb85856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156105c457600080fd5b505af11580156105d8573d6000803e3d6000fd5b505050506040513d60208110156105ee57600080fd5b50516105f657fe5b5050505050565b6000546001600160a01b0316331461061457600080fd5b6001600160a01b03811661062757600080fd5b600080546001600160a01b0319166001600160a01b0383811691821780845560405192939116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35056fea165627a7a7230582026fd0895ec75949794951f7db29b6baff675839b0e1bb816bfd124516c390cd20029

Deployed Bytecode

0x6080604052600436106100555760003560e01c8063522f68151461029357806385aa7bdc146102ce5780638da5cb5b14610315578063b068b7ad14610346578063cea9d26f1461035b578063f2fde38b1461039e575b3360009081526002602052604090205460ff1615156001141561007757600080fd5b60015460408051600160e01b6370a0823102815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156100c557600080fd5b505afa1580156100d9573d6000803e3d6000fd5b505050506040513d60208110156100ef57600080fd5b50519050806100fd57600080fd5b604080514260208083018290523383850152606080840192909252835180840390920182526080909201909252815191012060649061015590620f4240906101499084908190066103d1565b9063ffffffff6103e416565b90508181116101ec5760015460408051600160e01b63a9059cbb0281523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156101b557600080fd5b505af11580156101c9573d6000803e3d6000fd5b505050506040513d60208110156101df57600080fd5b50516101e757fe5b610275565b60015460408051600160e01b63a9059cbb0281523360048201526024810185905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561024357600080fd5b505af1158015610257573d6000803e3d6000fd5b505050506040513d602081101561026d57600080fd5b505161027557fe5b5050336000908152600260205260409020805460ff19166001179055005b34801561029f57600080fd5b506102cc600480360360408110156102b657600080fd5b506001600160a01b038135169060200135610409565b005b3480156102da57600080fd5b50610301600480360360208110156102f157600080fd5b50356001600160a01b031661047e565b604080519115158252519081900360200190f35b34801561032157600080fd5b5061032a610493565b604080516001600160a01b039092168252519081900360200190f35b34801561035257600080fd5b5061032a6104a2565b34801561036757600080fd5b506102cc6004803603606081101561037e57600080fd5b506001600160a01b038135811691602081013590911690604001356104b1565b3480156103aa57600080fd5b506102cc600480360360208110156103c157600080fd5b50356001600160a01b03166105fd565b818101828110156103de57fe5b92915050565b6000826103f3575060006103de565b508181028183828161040157fe5b04146103de57fe5b6000546001600160a01b0316331461042057600080fd5b6001600160a01b03821661043357600080fd5b30318181101561044257600080fd5b6040516001600160a01b0384169083156108fc029084906000818181858888f19350505050158015610478573d6000803e3d6000fd5b50505050565b60026020526000908152604090205460ff1681565b6000546001600160a01b031690565b6001546001600160a01b031681565b6000546001600160a01b031633146104c857600080fd5b826001600160a01b0383166104dc57600080fd5b60408051600160e01b6370a0823102815230600482015290516000916001600160a01b038416916370a0823191602480820192602092909190829003018186803b15801561052957600080fd5b505afa15801561053d573d6000803e3d6000fd5b505050506040513d602081101561055357600080fd5b505190508281101561056457600080fd5b816001600160a01b031663a9059cbb85856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156105c457600080fd5b505af11580156105d8573d6000803e3d6000fd5b505050506040513d60208110156105ee57600080fd5b50516105f657fe5b5050505050565b6000546001600160a01b0316331461061457600080fd5b6001600160a01b03811661062757600080fd5b600080546001600160a01b0319166001600160a01b0383811691821780845560405192939116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35056fea165627a7a7230582026fd0895ec75949794951f7db29b6baff675839b0e1bb816bfd124516c390cd20029

Swarm Source

bzzr://26fd0895ec75949794951f7db29b6baff675839b0e1bb816bfd124516c390cd2

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.