Contract 0x3cd9024168e6240b4f18b466d9bea9f8efc66004

 

TxHash Block Age From To Value [TxFee]
0x3100945df9a8abe712962b2481d23787c3460ddc1f001da002f91e99abfbc451707092234 days 11 hrs ago0x637615f9c2634b7e36d8354a15edbe6b6e11b7d7  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000907146
0x206bcca231906411e349b9fffed715be124f0790152b112b3cc07c8f0eb661de705302037 days 16 hrs ago0x38e8e139d0553e8f971ea3e947a793462d62dbff  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.0001764
0x8a1313732cf9742fc66b1f6aade7b088b572a3c82f8913f3cc3bd308329825de704288839 days 12 hrs ago0x637615f9c2634b7e36d8354a15edbe6b6e11b7d7  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.00050397
0x0fbc3d3cac2971c821fd3512f077cd9144eb28cb34a10e740f00977ef53c72d5694266756 days 20 hrs ago0xfe7ec0dbe4c874237adcc7eb4a4bc2fb0a1ab858  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000102195001
0xf8891cdd2fec1958b90560d084491eb509da06a1f07dc3a241f2e9a8d627e72f679499181 days 11 hrs ago0x637615f9c2634b7e36d8354a15edbe6b6e11b7d7  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.00043240626
0xdb27268cf0f1925717327e0c5dfd82bb1d43b98a583edde77c5a142a25a397526631395108 days 7 hrs ago0x5b4a30f91929155d198e391bd2eb04409f2a91ca  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.0001764
0x0a2cf3fd48e23b7747c991d68ea304a2fdab56aefe62a7ef51a0e05146a0edd96609735111 days 20 hrs ago0x62b0f63036413b1818a4d467ba8f5fada5747b41  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.00018848478
0xd939b31b935ce89f426c9c1b08c87e5716f775cacb7babf6f90957d7717c11376604320112 days 17 hrs ago0xf6954784b411c5f76a37583872a2b7621c78797b  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.0000252
0xf122d017b5383c248ec411a3c0a0029135956eca73c6b38d05ed77b22701046f6574711117 days 14 hrs ago0x2afd45f742202d2325b11f3bd187fab97636d47b  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.0003024
0x713200d6e7da63fd991ae6e8b23ec6e3c03d80321cf39903b27d2691df3a244d6569232118 days 11 hrs ago0x6796579ead564c361ede67084b5a3896f1589add  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000251985
0xcc77e82bf39c41bbd6d1580804fa57a75438474ba6e04675a02b5cbd0e9942916556726120 days 12 hrs ago0x5d1f6147f5009c4691fc9631d8e2cbf4ab52a7de  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.00050397
0x4dfde77c9f7937ae75f1bac18ef83ad56ed5837676df99491a195ed1e92143b56544518122 days 12 hrs ago0xbae21a444139b67d520f8bbd135d06eed5daab6d  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000252
0x248f578a562fe5386a96843cd1c44c5dd6fdcc215500ef3eb6907d822dc2650f6538947123 days 10 hrs ago0xaf9d577fd0bdd03ee5325f7b26ffd07230f20b44  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000604764
0x5066d6b1311ff6b096f6fd1facc378a8dd404918024d1f8b5933a590f539e39f6538934123 days 10 hrs ago0xaf9d577fd0bdd03ee5325f7b26ffd07230f20b44  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000201588
0x42f87eeb1bcbbab2e9e73d12974a0ad491c593d21e85f520afa1defbb1d8bf136538708123 days 11 hrs ago0x849ff6cad2a2c39e977e887ddc32529e0b902a0b  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.00008626
0x71efec1172e61894e4b99b543263c4adad02563c27a98769c41b81e96351900b6501531129 days 12 hrs ago0xe6992b592b08deb79c6f4dfd71c51d532a98c0ba  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000251985
0xdba0e6f0eb0b225f9078eb2b6f5477dbe34de5e8534a5fd60d79decff06f1b0d6500152129 days 18 hrs ago0xb8357ab25c0a2aef076f42609b07fb9d0e345b77  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.00012196074
0x99a94c5eaa00ef02264fb09c966f1a98164424cad519193a015ca575a27134d86489963131 days 9 hrs ago0xeae23477ffcb76d9dbdcbee42dd2fca9f7b311d7  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.0002872629
0x7bdbb2d1db4ce2bcf31136fd451a291cdd8a2e908ff06ae6f1e97bc973a386d66468429134 days 21 hrs ago0x5b0b7e87d7b9d8d79748aff5d121a4ae7fbeac71  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.0000280345
0x03a5020968c0a995c6343db3a0297b3393d3b801a665625d259ddb96a01731b96459601136 days 7 hrs ago0xd99ac607d31347e5a923c549107ace3acf6710c3  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0x34c4387f579f1c883c94aa264ebe866c460e667472ff820879db7d7252f83d6b6459498136 days 8 hrs ago0x960134d0b90c6e9033e554169bd56a504c3045a7  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0xcf0da836527fade2601b5a53d67355b6c6c18326a1c8740834b6bd899c9676176459386136 days 8 hrs ago0x307e6b975382bf799281d6848a1facc33c9fbeb5  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0x003c244585ccd848161be2866134deb695fe1a1dcff3875ca6d294a33941bbd76459341136 days 8 hrs ago0x98f039b560fa02f8a832841ffc1ef4b5638984e7  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0xa3734e8e496ecba346fcdcaa50996e385a1d3a6557bd65e14d0f35c792a0c38d6459341136 days 8 hrs ago0x752a75affda35ce515145a19c17e08348fd4695f  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
0xeed32e05126aed1e266f55223583452585125054468e5dbc7469cba9f7f994516459341136 days 8 hrs ago0x2832a3ca5277022d6749f59fc96a9488029c18d8  IN   0x3cd9024168e6240b4f18b466d9bea9f8efc660040 Ether0.000023679
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) Solidity Compiler Bugs.

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


Contract Source Code
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
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
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.