Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 3,487 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Get Airdrop | 6439039 | 2275 days ago | IN | 0 ETH | 0.00009073 | ||||
Transfer | 6275292 | 2302 days ago | IN | 0 ETH | 0.00005471 | ||||
Get Airdrop | 6275243 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273404 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273401 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273350 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273348 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273346 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273308 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273308 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273299 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273297 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273297 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273260 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273257 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273255 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273255 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273253 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273159 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273154 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273150 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273143 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6273142 | 2302 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6268822 | 2303 days ago | IN | 0 ETH | 0.00022683 | ||||
Get Airdrop | 6268820 | 2303 days ago | IN | 0 ETH | 0.00022683 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
AirdropContractium
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-07-11 */ pragma solidity ^0.4.18 ; library SafeMath { 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; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } 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 c) { c = a + b; assert(c >= a); return c; } } contract ContractiumInterface { function balanceOf(address who) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function contractSpend(address _from, uint256 _value) public returns (bool); function allowance(address _owner, address _spender) public view returns (uint256); function owner() public view returns (address); } contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function Ownable() public { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner); _; } function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract AirdropContractium is Ownable { using SafeMath for uint256; //Contractium contract interface ContractiumInterface ctuContract; //Store addresses submitted mapping(address => bool) submitted; uint8 public constant decimals = 18; uint256 public constant INITIAL_AIRDROP = 20000000 * (10 ** uint256(decimals)); address public constant CTU_ADDRESS = 0x943ACa8ed65FBf188A7D369Cfc2BeE0aE435ee1B; address public ctu_owner = 0x69f4965e77dFF568cF2f8877F2B39d636D581ae8; uint256 public reward = 200 * (10 ** uint256(decimals)); uint256 public remainAirdrop; event Submit(address _addr, bool _isSuccess); constructor() public { owner = msg.sender; remainAirdrop = INITIAL_AIRDROP; ctuContract = ContractiumInterface(CTU_ADDRESS); } function getAirdrop() public isNotSubmitted isRemain returns (bool) { return submit(msg.sender); } function batchSubmit(address[] _addresses) public onlyOwner { for(uint i; i < _addresses.length; i++) { if (!submitted[_addresses[i]]) { submit(_addresses[i]); } } } function submit(address _addr) private returns (bool) { address _from = ctu_owner; address _to = _addr; uint256 _value = uint256(reward); bool isSuccess = ctuContract.transferFrom(_from, _to, _value); if (isSuccess) { submitted[_to] = true; remainAirdrop = remainAirdrop.sub(_value); } emit Submit(_addr, isSuccess); closeAirdrop(); return isSuccess; } modifier isNotSubmitted() { require(!submitted[msg.sender]); _; } modifier isRemain() { require(remainAirdrop > 0); require(reward > 0); _; } function closeAirdrop() private { address _owner = ctu_owner; address _spender = address(this); uint256 _remain = ctuContract.allowance(_owner, _spender); if (_remain < reward) { reward = 0; remainAirdrop = 0; } } function setCtuContract(address _ctuAddress) public onlyOwner returns (bool) { require(_ctuAddress != address(0x0)); ctuContract = ContractiumInterface(_ctuAddress); ctu_owner = ctuContract.owner(); return true; } function setRemainAirdrop(uint256 _remain) public onlyOwner returns (bool) { remainAirdrop = _remain; return true; } function setReward(uint256 _reward) public onlyOwner returns (bool) { reward = _reward; return true; } function transferOwnership(address _addr) public onlyOwner { super.transferOwnership(_addr); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"CTU_ADDRESS","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_reward","type":"uint256"}],"name":"setReward","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"remainAirdrop","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_remain","type":"uint256"}],"name":"setRemainAirdrop","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ctuAddress","type":"address"}],"name":"setCtuContract","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_AIRDROP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"}],"name":"batchSubmit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ctu_owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"getAirdrop","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_addr","type":"address"},{"indexed":false,"name":"_isSuccess","type":"bool"}],"name":"Submit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405260038054600160a060020a0319167369f4965e77dff568cf2f8877f2b39d636d581ae8179055680ad78ebc5ac620000060045534801561004357600080fd5b5060008054600160a060020a0319908116339081178216179091556a108b2a2c280290940000006005556001805490911673943aca8ed65fbf188a7d369cfc2bee0ae435ee1b1790556108108061009b6000396000f3006080604052600436106100c45763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c55f81881146100c9578063228cb733146100fa578063293be45614610121578063313ce5671461014d5780633a3fdf051461017857806355c605001461018d5780638da5cb5b146101a5578063a31ffa30146101ba578063b5922a2b146101db578063be268c3f146101f0578063c6b4ad8014610247578063d25f82a01461025c578063f2fde38b14610271575b600080fd5b3480156100d557600080fd5b506100de610292565b60408051600160a060020a039092168252519081900360200190f35b34801561010657600080fd5b5061010f6102aa565b60408051918252519081900360200190f35b34801561012d57600080fd5b506101396004356102b0565b604080519115158252519081900360200190f35b34801561015957600080fd5b506101626102d1565b6040805160ff9092168252519081900360200190f35b34801561018457600080fd5b5061010f6102d6565b34801561019957600080fd5b506101396004356102dc565b3480156101b157600080fd5b506100de6102fd565b3480156101c657600080fd5b50610139600160a060020a036004351661030c565b3480156101e757600080fd5b5061010f61041d565b3480156101fc57600080fd5b50604080516020600480358082013583810280860185019096528085526102459536959394602494938501929182918501908490808284375094975061042c9650505050505050565b005b34801561025357600080fd5b506100de6104b9565b34801561026857600080fd5b506101396104c8565b34801561027d57600080fd5b50610245600160a060020a0360043516610511565b73943aca8ed65fbf188a7d369cfc2bee0ae435ee1b81565b60045481565b60008054600160a060020a031633146102c857600080fd5b50600455600190565b601281565b60055481565b60008054600160a060020a031633146102f457600080fd5b50600555600190565b600054600160a060020a031681565b60008054600160a060020a0316331461032457600080fd5b600160a060020a038216151561033957600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038481169190911791829055604080517f8da5cb5b00000000000000000000000000000000000000000000000000000000815290519290911691638da5cb5b916004808201926020929091908290030181600087803b1580156103bd57600080fd5b505af11580156103d1573d6000803e3d6000fd5b505050506040513d60208110156103e757600080fd5b50516003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055506001919050565b6a108b2a2c2802909400000081565b60008054600160a060020a0316331461044457600080fd5b81518110156104b55760026000838381518110151561045f57fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff1615156104ad576104ab828281518110151561049c57fe5b90602001906020020151610534565b505b600101610444565b5050565b600354600160a060020a031681565b3360009081526002602052604081205460ff16156104e557600080fd5b6005546000106104f457600080fd5b60045460001061050357600080fd5b61050c33610534565b905090565b600054600160a060020a0316331461052857600080fd5b6105318161067d565b50565b60035460048054600154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03958616948101859052868616602482015260448101849052905160009587949387939116916323b872dd9160648082019260209290919082900301818787803b1580156105b957600080fd5b505af11580156105cd573d6000803e3d6000fd5b505050506040513d60208110156105e357600080fd5b50519050801561062757600160a060020a0383166000908152600260205260409020805460ff19166001179055600554610623908363ffffffff61071116565b6005555b60408051600160a060020a0388168152821515602082015281517fd1cba7308fe436ffd981cd849402c6ef3f58dccedbb599aac9402bb0e4422006929181900390910190a1610674610723565b95945050505050565b600054600160a060020a0316331461069457600080fd5b600160a060020a03811615156106a957600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008282111561071d57fe5b50900390565b600354600154604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03938416600482018190523060248301819052925190949293600093169163dd62ed3e91604480830192602092919082900301818787803b15801561079b57600080fd5b505af11580156107af573d6000803e3d6000fd5b505050506040513d60208110156107c557600080fd5b50516004549091508110156107df57600060048190556005555b5050505600a165627a7a7230582042dae8482b4c741793358199060c87d8af7326c9169eaed4a2137c66e10d46c40029
Deployed Bytecode
0x6080604052600436106100c45763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c55f81881146100c9578063228cb733146100fa578063293be45614610121578063313ce5671461014d5780633a3fdf051461017857806355c605001461018d5780638da5cb5b146101a5578063a31ffa30146101ba578063b5922a2b146101db578063be268c3f146101f0578063c6b4ad8014610247578063d25f82a01461025c578063f2fde38b14610271575b600080fd5b3480156100d557600080fd5b506100de610292565b60408051600160a060020a039092168252519081900360200190f35b34801561010657600080fd5b5061010f6102aa565b60408051918252519081900360200190f35b34801561012d57600080fd5b506101396004356102b0565b604080519115158252519081900360200190f35b34801561015957600080fd5b506101626102d1565b6040805160ff9092168252519081900360200190f35b34801561018457600080fd5b5061010f6102d6565b34801561019957600080fd5b506101396004356102dc565b3480156101b157600080fd5b506100de6102fd565b3480156101c657600080fd5b50610139600160a060020a036004351661030c565b3480156101e757600080fd5b5061010f61041d565b3480156101fc57600080fd5b50604080516020600480358082013583810280860185019096528085526102459536959394602494938501929182918501908490808284375094975061042c9650505050505050565b005b34801561025357600080fd5b506100de6104b9565b34801561026857600080fd5b506101396104c8565b34801561027d57600080fd5b50610245600160a060020a0360043516610511565b73943aca8ed65fbf188a7d369cfc2bee0ae435ee1b81565b60045481565b60008054600160a060020a031633146102c857600080fd5b50600455600190565b601281565b60055481565b60008054600160a060020a031633146102f457600080fd5b50600555600190565b600054600160a060020a031681565b60008054600160a060020a0316331461032457600080fd5b600160a060020a038216151561033957600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038481169190911791829055604080517f8da5cb5b00000000000000000000000000000000000000000000000000000000815290519290911691638da5cb5b916004808201926020929091908290030181600087803b1580156103bd57600080fd5b505af11580156103d1573d6000803e3d6000fd5b505050506040513d60208110156103e757600080fd5b50516003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055506001919050565b6a108b2a2c2802909400000081565b60008054600160a060020a0316331461044457600080fd5b81518110156104b55760026000838381518110151561045f57fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff1615156104ad576104ab828281518110151561049c57fe5b90602001906020020151610534565b505b600101610444565b5050565b600354600160a060020a031681565b3360009081526002602052604081205460ff16156104e557600080fd5b6005546000106104f457600080fd5b60045460001061050357600080fd5b61050c33610534565b905090565b600054600160a060020a0316331461052857600080fd5b6105318161067d565b50565b60035460048054600154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03958616948101859052868616602482015260448101849052905160009587949387939116916323b872dd9160648082019260209290919082900301818787803b1580156105b957600080fd5b505af11580156105cd573d6000803e3d6000fd5b505050506040513d60208110156105e357600080fd5b50519050801561062757600160a060020a0383166000908152600260205260409020805460ff19166001179055600554610623908363ffffffff61071116565b6005555b60408051600160a060020a0388168152821515602082015281517fd1cba7308fe436ffd981cd849402c6ef3f58dccedbb599aac9402bb0e4422006929181900390910190a1610674610723565b95945050505050565b600054600160a060020a0316331461069457600080fd5b600160a060020a03811615156106a957600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008282111561071d57fe5b50900390565b600354600154604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03938416600482018190523060248301819052925190949293600093169163dd62ed3e91604480830192602092919082900301818787803b15801561079b57600080fd5b505af11580156107af573d6000803e3d6000fd5b505050506040513d60208110156107c557600080fd5b50516004549091508110156107df57600060048190556005555b5050505600a165627a7a7230582042dae8482b4c741793358199060c87d8af7326c9169eaed4a2137c66e10d46c40029
Swarm Source
bzzr://42dae8482b4c741793358199060c87d8af7326c9169eaed4a2137c66e10d46c4
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.