Contract Overview
Balance: 0.010013309410000199 Ether
Ether Value: $1.76 (@ $175.80/ETH)
Transactions: 74380 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x4bf7cfdb499f77688ae96914a1207ad3c2e973f9at txn 0xa31fb152152ee8d267cd110fae7af27ba302793603301d53268b231f3a46564b
Token Balance:
 Latest 25 transactions from a total of 74380 transactions

TxHash Age From To Value [TxFee]
0xdb27268cf0f1925717327e0c5dfd82bb1d43b98a583edde77c5a142a25a3975215 days 20 hrs ago0x5b4a30f91929155d198e391bd2eb04409f2a91ca  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.0001764
0x0a2cf3fd48e23b7747c991d68ea304a2fdab56aefe62a7ef51a0e05146a0edd919 days 10 hrs ago0x62b0f63036413b1818a4d467ba8f5fada5747b41  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.00018848478
0xd939b31b935ce89f426c9c1b08c87e5716f775cacb7babf6f90957d7717c113720 days 7 hrs ago0xf6954784b411c5f76a37583872a2b7621c78797b  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.0000252
0xf122d017b5383c248ec411a3c0a0029135956eca73c6b38d05ed77b22701046f25 days 3 hrs ago0x2afd45f742202d2325b11f3bd187fab97636d47b  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.0003024
0x713200d6e7da63fd991ae6e8b23ec6e3c03d80321cf39903b27d2691df3a244d26 days 1 hr ago0x6796579ead564c361ede67084b5a3896f1589add  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000251985
0xcc77e82bf39c41bbd6d1580804fa57a75438474ba6e04675a02b5cbd0e99429128 days 2 hrs ago0x5d1f6147f5009c4691fc9631d8e2cbf4ab52a7de  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.00050397
0x4dfde77c9f7937ae75f1bac18ef83ad56ed5837676df99491a195ed1e92143b530 days 2 hrs ago0xbae21a444139b67d520f8bbd135d06eed5daab6d  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000252
0x248f578a562fe5386a96843cd1c44c5dd6fdcc215500ef3eb6907d822dc2650f31 days 10 mins ago0xaf9d577fd0bdd03ee5325f7b26ffd07230f20b44  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000604764
0x5066d6b1311ff6b096f6fd1facc378a8dd404918024d1f8b5933a590f539e39f31 days 13 mins ago0xaf9d577fd0bdd03ee5325f7b26ffd07230f20b44  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000201588
0x42f87eeb1bcbbab2e9e73d12974a0ad491c593d21e85f520afa1defbb1d8bf1331 days 1 hr ago0x849ff6cad2a2c39e977e887ddc32529e0b902a0b  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.00008626
0x71efec1172e61894e4b99b543263c4adad02563c27a98769c41b81e96351900b37 days 2 hrs ago0xe6992b592b08deb79c6f4dfd71c51d532a98c0ba  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000251985
0xdba0e6f0eb0b225f9078eb2b6f5477dbe34de5e8534a5fd60d79decff06f1b0d37 days 7 hrs ago0xb8357ab25c0a2aef076f42609b07fb9d0e345b77  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.00012196074
0x99a94c5eaa00ef02264fb09c966f1a98164424cad519193a015ca575a27134d838 days 23 hrs ago0xeae23477ffcb76d9dbdcbee42dd2fca9f7b311d7  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.0002872629
0x7bdbb2d1db4ce2bcf31136fd451a291cdd8a2e908ff06ae6f1e97bc973a386d642 days 11 hrs ago0x5b0b7e87d7b9d8d79748aff5d121a4ae7fbeac71  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.0000280345
0x03a5020968c0a995c6343db3a0297b3393d3b801a665625d259ddb96a01731b943 days 21 hrs ago0xd99ac607d31347e5a923c549107ace3acf6710c3  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0x34c4387f579f1c883c94aa264ebe866c460e667472ff820879db7d7252f83d6b43 days 21 hrs ago0x960134d0b90c6e9033e554169bd56a504c3045a7  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0xcf0da836527fade2601b5a53d67355b6c6c18326a1c8740834b6bd899c96761743 days 22 hrs ago0x307e6b975382bf799281d6848a1facc33c9fbeb5  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0x003c244585ccd848161be2866134deb695fe1a1dcff3875ca6d294a33941bbd743 days 22 hrs ago0x98f039b560fa02f8a832841ffc1ef4b5638984e7  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0xa3734e8e496ecba346fcdcaa50996e385a1d3a6557bd65e14d0f35c792a0c38d43 days 22 hrs ago0x752a75affda35ce515145a19c17e08348fd4695f  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0xeed32e05126aed1e266f55223583452585125054468e5dbc7469cba9f7f9945143 days 22 hrs ago0x2832a3ca5277022d6749f59fc96a9488029c18d8  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0x2b85abc90a8a96dc542a63fcb7609c4a48fd433b8e3ee72f47ff791365f060b343 days 22 hrs ago0x40b2dbc0fb906753e34cfaf3d3168e8df60cbb06  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0x766c05c6cbff7a659430a5befffd064b12b3a373a6740a72e77e576e04401b6143 days 22 hrs ago0x60931aec60c6881578aa5059e51ef7847332e6ec  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0xd89688826e18a0d44bb074bf5606d4318c8c1bcbdabb163cc7807767606d9cb143 days 22 hrs ago0x71bf8698d7e6511e77342fdd1416ebfb5d49974b  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0xe188608e2ec9055e258c89f4066150e3cfe6ef28ffcb16e59b12407e029d30ec43 days 22 hrs ago0x42895ce5f7c5ef0c8c5193b697107ca6a2cab28a  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0x6882b634b1f75eadc953e9a36873f0651d9fe59383f6746a71529be6af6ec03f43 days 22 hrs ago0xd1a2438788df0d55831e08bd83e86f80cecc6a9c  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: AirDropContract
Compiler Text: v0.4.24+commit.e67f0147
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.24;

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) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        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;
    }
}

contract Ownable {

    address public owner;

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address newOwner) onlyOwner public {
        owner = newOwner;
    }
}

contract Erc20Token {
    function balanceOf(address _owner) constant public returns (uint256);

    function transfer(address _to, uint256 _value) public returns (bool);
}

contract AirDropContract is Ownable {

    using SafeMath for uint256;

    Erc20Token public tokenRewardContract;

    uint256 public totalAirDropToken;

    address public collectorAddress;

    mapping(address => uint256) public balanceOf;

    event FundTransfer(address backer, uint256 amount, bool isContribution);
    event Additional(uint amount);
    event Burn(uint amount);
    event CollectAirDropTokenBack(address collectorAddress,uint256 airDropTokenNum);

    /**
     * Constructor function
     */
    constructor(
        address _tokenRewardContract,
        address _collectorAddress
    ) public {
        totalAirDropToken = 2e7;
        tokenRewardContract = Erc20Token(_tokenRewardContract);
        collectorAddress = _collectorAddress;
    }

    /**
     * Fallback function
     *
     * The function without name is the default function that is called whenever anyone sends funds to a contract
     */
    function() payable public {
        require(totalAirDropToken > 0);
        require(balanceOf[msg.sender] == 0);
        uint256 amount = getCurrentCandyAmount();
        require(amount > 0);

        totalAirDropToken = totalAirDropToken.sub(amount);
        balanceOf[msg.sender] = amount;

        tokenRewardContract.transfer(msg.sender, amount * 1e18);
        emit FundTransfer(msg.sender, amount, true);
    }

    function getCurrentCandyAmount() private view returns (uint256 amount){
        if (totalAirDropToken >= 10e6) {
            return 200;
        } else if (totalAirDropToken >= 2.5e6) {
            return 150;
        } else if (totalAirDropToken >= 0.5e6) {
            return 100;
        } else if (totalAirDropToken >= 50) {
            return 50;
        } else {
            return 0;
        }
    }

    /**
     *  Add airdrop tokens
     */
    function additional(uint256 amount) public onlyOwner {
        require(amount > 0);

        totalAirDropToken = totalAirDropToken.add(amount);
        emit Additional(amount);
    }

    /**
    *  burn airdrop tokens
    */
    function burn(uint256 amount) public onlyOwner {
        require(amount > 0);

        totalAirDropToken = totalAirDropToken.sub(amount);
        emit Burn(amount);
    }


    /**
     *  The owner of the contract modifies the recovery address of the token
     */
    function modifyCollectorAddress(address newCollectorAddress) public onlyOwner returns (bool) {
        collectorAddress = newCollectorAddress;
    }

    /**
     *  Recovery of remaining tokens
     */
    function collectAirDropTokenBack(uint256 airDropTokenNum) public onlyOwner {
        require(totalAirDropToken > 0);
        require(collectorAddress != 0x0);

        if (airDropTokenNum > 0) {
            tokenRewardContract.transfer(collectorAddress, airDropTokenNum * 1e18);
        } else {
            tokenRewardContract.transfer(collectorAddress, totalAirDropToken * 1e18);
            totalAirDropToken = 0;
        }
        emit CollectAirDropTokenBack(collectorAddress, airDropTokenNum);
    }

    /**
     *  Recovery donated ether
     */
    function collectEtherBack() public onlyOwner {
        uint256 b = address(this).balance;
        require(b > 0);
        require(collectorAddress != 0x0);

        collectorAddress.transfer(b);
    }

    /**
     *  Get the tokenAddress token balance of someone
     */
    function getTokenBalance(address tokenAddress, address who) view public returns (uint){
        Erc20Token t = Erc20Token(tokenAddress);
        return t.balanceOf(who);
    }

    /**
     *  Recycle other ERC20 tokens
     */
    function collectOtherTokens(address tokenContract) onlyOwner public returns (bool) {
        Erc20Token t = Erc20Token(tokenContract);

        uint256 b = t.balanceOf(address(this));
        return t.transfer(collectorAddress, b);
    }

}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"newCollectorAddress","type":"address"}],"name":"modifyCollectorAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenRewardContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenContract","type":"address"}],"name":"collectOtherTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"collectEtherBack","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"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":"tokenAddress","type":"address"},{"name":"who","type":"address"}],"name":"getTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"collectorAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalAirDropToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"airDropTokenNum","type":"uint256"}],"name":"collectAirDropTokenBack","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"additional","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_tokenRewardContract","type":"address"},{"name":"_collectorAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"backer","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"isContribution","type":"bool"}],"name":"FundTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Additional","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"collectorAddress","type":"address"},{"indexed":false,"name":"airDropTokenNum","type":"uint256"}],"name":"CollectAirDropTokenBack","type":"event"}]

  Contract Creation Code Switch To Opcodes View
608060405234801561001057600080fd5b50604051604080610a6883398101604052805160209091015160008054600160a060020a031990811633179091556301312d0060025560018054600160a060020a03948516908316179055600380549390921692169190911790556109ee8061007a6000396000f3006080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166319583b0581146101f957806333caaa431461022e57806342966c681461025f57806364e2ec50146102795780636e56dce51461029a57806370a08231146102af5780638da5cb5b146102e2578063c489744b146102f7578063c973c2e31461031e578063dcaf391e14610333578063e2edfc2014610348578063f2fde38b14610360578063fea7bcfb14610381575b6000806002541115156100d657600080fd5b33600090815260046020526040902054156100f057600080fd5b6100f8610399565b90506000811161010757600080fd5b60025461011a908263ffffffff6103f216565b600255336000818152600460208181526040808420869055600154815160e060020a63a9059cbb02815293840195909552670de0b6b3a76400008602602484015251600160a060020a039094169363a9059cbb936044808501948390030190829087803b15801561018a57600080fd5b505af115801561019e573d6000803e3d6000fd5b505050506040513d60208110156101b457600080fd5b5050604080513381526020810183905260018183015290517fe842aea7a5f1b01049d752008c53c52890b1a6daf660cf39e8eec506112bbdf69181900360600190a150005b34801561020557600080fd5b5061021a600160a060020a0360043516610404565b604080519115158252519081900360200190f35b34801561023a57600080fd5b5061024361044d565b60408051600160a060020a039092168252519081900360200190f35b34801561026b57600080fd5b5061027760043561045c565b005b34801561028557600080fd5b5061021a600160a060020a03600435166104cc565b3480156102a657600080fd5b50610277610608565b3480156102bb57600080fd5b506102d0600160a060020a0360043516610685565b60408051918252519081900360200190f35b3480156102ee57600080fd5b50610243610697565b34801561030357600080fd5b506102d0600160a060020a03600435811690602435166106a6565b34801561032a57600080fd5b50610243610720565b34801561033f57600080fd5b506102d061072f565b34801561035457600080fd5b50610277600435610735565b34801561036c57600080fd5b50610277600160a060020a03600435166108f6565b34801561038d57600080fd5b5061027760043561093c565b6000629896806002541015156103b1575060c86103ef565b600254622625a0116103c5575060966103ef565b6002546207a120116103d9575060646103ef565b6002546032116103eb575060326103ef565b5060005b90565b6000828211156103fe57fe5b50900390565b60008054600160a060020a0316331461041c57600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03939093169290921790915590565b600154600160a060020a031681565b600054600160a060020a0316331461047357600080fd5b6000811161048057600080fd5b600254610493908263ffffffff6103f216565b6002556040805182815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a150565b6000805481908190600160a060020a031633146104e857600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051859350600160a060020a038416916370a082319160248083019260209291908290030181600087803b15801561054c57600080fd5b505af1158015610560573d6000803e3d6000fd5b505050506040513d602081101561057657600080fd5b50516003546040805160e060020a63a9059cbb028152600160a060020a0392831660048201526024810184905290519293509084169163a9059cbb916044808201926020929091908290030181600087803b1580156105d457600080fd5b505af11580156105e8573d6000803e3d6000fd5b505050506040513d60208110156105fe57600080fd5b5051949350505050565b60008054600160a060020a0316331461062057600080fd5b5030316000811161063057600080fd5b600354600160a060020a0316151561064757600080fd5b600354604051600160a060020a039091169082156108fc029083906000818181858888f19350505050158015610681573d6000803e3d6000fd5b5050565b60046020526000908152604090205481565b600054600160a060020a031681565b60008083905080600160a060020a03166370a08231846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b1580156105d457600080fd5b600354600160a060020a031681565b60025481565b600054600160a060020a0316331461074c57600080fd5b60025460001061075b57600080fd5b600354600160a060020a0316151561077257600080fd5b6000811115610812576001546003546040805160e060020a63a9059cbb028152600160a060020a039283166004820152670de0b6b3a7640000850260248201529051919092169163a9059cbb9160448083019260209291908290030181600087803b1580156107e057600080fd5b505af11580156107f4573d6000803e3d6000fd5b505050506040513d602081101561080a57600080fd5b506108ac9050565b6001546003546002546040805160e060020a63a9059cbb028152600160a060020a039384166004820152670de0b6b3a7640000909202602483015251919092169163a9059cbb9160448083019260209291908290030181600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b505060006002555b60035460408051600160a060020a0390921682526020820183905280517f5bb2088db384b9cb55b46f8d45bfc9bd6e9ea7c868e8ec19e1228866b9b44dc49281900390910190a150565b600054600160a060020a0316331461090d57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316331461095357600080fd5b6000811161096057600080fd5b600254610973908263ffffffff6109ac16565b6002556040805182815290517f964b22b433d65756b36336984502590cccf56c5721696fa141842ea2058d0f0e9181900360200190a150565b6000828201838110156109bb57fe5b93925050505600a165627a7a72305820b8e9c885dbec7876474abe98f18601adf2456174746e612bc96913417750742d0029000000000000000000000000420a43153da24b9e2aedcec2b8158a8653a3317e0000000000000000000000004bf7cfdb499f77688ae96914a1207ad3c2e973f9

    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000420a43153da24b9e2aedcec2b8158a8653a3317e0000000000000000000000004bf7cfdb499f77688ae96914a1207ad3c2e973f9

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000420a43153da24b9e2aedcec2b8158a8653a3317e
Arg [1] : 0000000000000000000000004bf7cfdb499f77688ae96914a1207ad3c2e973f9


   Swarm Source:
bzzr://b8e9c885dbec7876474abe98f18601adf2456174746e612bc96913417750742d

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.