ETH Price: $2,357.03 (+1.25%)

Contract

0xEfD6F39f2BfcCA783c9b3b925cb8A2b408A26feF
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Get78923712019-06-04 10:42:211928 days ago1559644941IN
0xEfD6F39f...408A26feF
0 ETH0.00037635
Get75147242019-04-06 13:00:251987 days ago1554555625IN
0xEfD6F39f...408A26feF
0 ETH0.000000820.011
Get75127202019-04-06 5:34:031987 days ago1554528843IN
0xEfD6F39f...408A26feF
0 ETH0.000000820.011
Get74846182019-04-01 19:59:331991 days ago1554148773IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get74749242019-03-31 7:55:441993 days ago1554018944IN
0xEfD6F39f...408A26feF
0 ETH0.000301044
Get74748772019-03-31 7:45:181993 days ago1554018318IN
0xEfD6F39f...408A26feF
0 ETH0.000225783
Get73795542019-03-16 10:34:452008 days ago1552732485IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73792012019-03-16 9:24:352008 days ago1552728275IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73156732019-03-06 12:12:402018 days ago1551874360IN
0xEfD6F39f...408A26feF
0 ETH0.000075261
Get73119742019-03-05 22:20:312018 days ago1551824431IN
0xEfD6F39f...408A26feF
0 ETH0.000075261
Get73119542019-03-05 22:14:412018 days ago1551824081IN
0xEfD6F39f...408A26feF
0 ETH0.000112891.5
Get73119402019-03-05 22:10:562018 days ago1551823856IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73119282019-03-05 22:08:122018 days ago1551823692IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73119182019-03-05 22:06:132018 days ago1551823573IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73119082019-03-05 22:04:052018 days ago1551823445IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73118982019-03-05 22:02:092018 days ago1551823329IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73118762019-03-05 21:57:242018 days ago1551823044IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73118532019-03-05 21:53:212018 days ago1551822801IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73118412019-03-05 21:50:212018 days ago1551822621IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73118302019-03-05 21:48:152018 days ago1551822495IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73117922019-03-05 21:42:372018 days ago1551822157IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73117822019-03-05 21:40:202018 days ago1551822020IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73117742019-03-05 21:39:082018 days ago1551821948IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73117642019-03-05 21:36:132018 days ago1551821773IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
Get73117592019-03-05 21:35:052018 days ago1551821705IN
0xEfD6F39f...408A26feF
0 ETH0.000150522
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AirdropDIST

Compiler Version
v0.4.22+commit.4cb486ee

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-08-20
*/

pragma solidity ^0.4.16;

/*SPEND APPROVAL ALERT INTERFACE*/
interface tokenRecipient { 
function receiveApproval(address _from, uint256 _value, 
address _token, bytes _extraData) external; 
}

contract TOC {
/*tokenchanger.io*/

/*TOC TOKEN*/
string public name;
string public symbol;
uint8 public decimals;
uint256 public totalSupply;

/*user coin balance*/
mapping (address => uint256) public balances;
/*user coin allowances*/
mapping(address => mapping (address => uint256)) public allowed;

/*EVENTS*/		
/*broadcast token transfers on the blockchain*/
event Transfer(address indexed from, address indexed to, uint256 value);
/*broadcast token spend approvals on the blockchain*/
event Approval(address indexed _owner, address indexed _spender, uint _value);

/*MINT TOKEN*/
function TOC() public {
name = "Token Changer";
symbol = "TOC";
decimals = 18;
/*one billion base units*/
totalSupply = 10**27;
balances[msg.sender] = totalSupply; 
}

/*INTERNAL TRANSFER*/
function _transfer(address _from, address _to, uint _value) internal {    
/*prevent transfer to invalid address*/    
if(_to == 0x0) revert();
/*check if the sender has enough value to send*/
if(balances[_from] < _value) revert(); 
/*check for overflows*/
if(balances[_to] + _value < balances[_to]) revert();
/*compute sending and receiving balances before transfer*/
uint PreviousBalances = balances[_from] + balances[_to];
/*substract from sender*/
balances[_from] -= _value;
/*add to the recipient*/
balances[_to] += _value; 
/*check integrity of transfer operation*/
assert(balances[_from] + balances[_to] == PreviousBalances);
/*broadcast transaction*/
emit Transfer(_from, _to, _value); 
}

/*PUBLIC TRANSFERS*/
function transfer(address _to, uint256 _value) external returns (bool){
_transfer(msg.sender, _to, _value);
return true;
}

/*APPROVE THIRD PARTY SPENDING*/
function approve(address _spender, uint256 _value) public returns (bool success){
/*update allowance record*/    
allowed[msg.sender][_spender] = _value;
/*broadcast approval*/
emit Approval(msg.sender, _spender, _value); 
return true;                                        
}

/*THIRD PARTY TRANSFER*/
function transferFrom(address _from, address _to, uint256 _value) 
external returns (bool success) {
/*check if the message sender can spend*/
require(_value <= allowed[_from][msg.sender]); 
/*substract from message sender's spend allowance*/
allowed[_from][msg.sender] -= _value;
/*transfer tokens*/
_transfer(_from, _to, _value);
return true;
}

/*APPROVE SPEND ALLOWANCE AND CALL SPENDER*/
function approveAndCall(address _spender, uint256 _value, 
 bytes _extraData) external returns (bool success) {
tokenRecipient 
spender = tokenRecipient(_spender);
if(approve(_spender, _value)) {
spender.receiveApproval(msg.sender, _value, this, _extraData);
}
return true;
}

/*INVALID TRANSACTIONS*/
function () payable external{
revert();  
}

}/////////////////////////////////end of toc token contract

pragma solidity ^0.4.22;

contract AirdropDIST {
/*(c)2018 tokenchanger.io -all rights reserved*/

/*SUPER ADMINS*/
address Mars = 0x1947f347B6ECf1C3D7e1A58E3CDB2A15639D48Be;
address Mercury = 0x00795263bdca13104309Db70c11E8404f81576BE;
address Europa = 0x00e4E3eac5b520BCa1030709a5f6f3dC8B9e1C37;
address Jupiter = 0x2C76F260707672e240DC639e5C9C62efAfB59867;
address Neptune = 0xEB04E1545a488A5018d2b5844F564135211d3696;

/*CONTRACT ADDRESS*/
function GetContractAddr() public constant returns (address){
return this;
}	
address ContractAddr = GetContractAddr();


/*AIRDROP RECEPIENTS*/
struct Accounting{
bool Received;    
}

struct Admin{
bool Authorised; 
uint256 Level;
}

struct Config{
uint256 TocAmount;	
address TocAddr;
}

/*DATA STORAGE*/
mapping (address => Accounting) public account;
mapping (address => Config) public config;
mapping (address => Admin) public admin;

/*AUTHORISE ADMIN*/
function AuthAdmin(address _admin, bool _authority, uint256 _level) external 
returns(bool) {
if((msg.sender != Mars) && (msg.sender != Mercury) && (msg.sender != Europa)
&& (msg.sender != Jupiter) && (msg.sender != Neptune)) revert();  
admin[_admin].Authorised = _authority; 
admin[_admin].Level = _level;
return true;
} 

/*CONFIGURATION*/
function SetUp(uint256 _amount, address _tocaddr) external returns(bool){
/*integrity checks*/      
if(admin[msg.sender].Authorised == false) revert();
if(admin[msg.sender].Level < 5 ) revert();
/*update configuration records*/
config[ContractAddr].TocAmount = _amount;
config[ContractAddr].TocAddr = _tocaddr;
return true;
}

/*DEPOSIT TOC*/
function receiveApproval(address _from, uint256 _value, 
address _token, bytes _extraData) external returns(bool){ 
TOC
TOCCall = TOC(_token);
TOCCall.transferFrom(_from,this,_value);
return true;
}

/*WITHDRAW TOC*/
function Withdraw(uint256 _amount) external returns(bool){
/*integrity checks*/      
if(admin[msg.sender].Authorised == false) revert();
if(admin[msg.sender].Level < 5 ) revert();
/*withdraw TOC from this contract*/
TOC
TOCCall = TOC(config[ContractAddr].TocAddr);
TOCCall.transfer(msg.sender, _amount);
return true;
}

/*GET TOC*/
function Get() external returns(bool){
/*integrity check-1*/      
if(account[msg.sender].Received == true) revert();
/*change message sender received status*/
account[msg.sender].Received = true;
/*send TOC to message sender*/
TOC
TOCCall = TOC(config[ContractAddr].TocAddr);
TOCCall.transfer(msg.sender, config[ContractAddr].TocAmount);
/*integrity check-2*/      
assert(account[msg.sender].Received == true);
return true;
}

/*INVALID TRANSACTIONS*/
function () payable external{
revert();  
}

}////////////////////////////////end of AirdropDIST contract

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"config","outputs":[{"name":"TocAmount","type":"uint256"},{"name":"TocAddr","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_tocaddr","type":"address"}],"name":"SetUp","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"Withdraw","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"admin","outputs":[{"name":"Authorised","type":"bool"},{"name":"Level","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_admin","type":"address"},{"name":"_authority","type":"bool"},{"name":"_level","type":"uint256"}],"name":"AuthAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"account","outputs":[{"name":"Received","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_token","type":"address"},{"name":"_extraData","type":"bytes"}],"name":"receiveApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"Get","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"GetContractAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

608060405260008054600160a060020a0319908116731947f347b6ecf1c3d7e1a58e3cdb2a15639d48be1790915560018054821672795263bdca13104309db70c11e8404f81576be17905560028054821672e4e3eac5b520bca1030709a5f6f3dc8b9e1c37179055600380548216732c76f260707672e240dc639e5c9c62efafb598671790556004805490911673eb04e1545a488a5018d2b5844f564135211d36961790556100b56401000000006100e7810204565b60058054600160a060020a031916600160a060020a03929092169190911790553480156100e157600080fd5b506100eb565b3090565b610702806100fa6000396000f3006080604052600436106100985763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630e68ec95811461009d57806313e5a3b1146100df5780635b6b431d1461011757806363a846f81461012f5780636fb6fde61461016b57806373b9aa91146101945780638f4ffcb1146101b5578063b1976a02146101ed578063d408746a14610202575b600080fd5b3480156100a957600080fd5b506100be600160a060020a0360043516610233565b60408051928352600160a060020a0390911660208301528051918290030190f35b3480156100eb57600080fd5b50610103600435600160a060020a0360243516610255565b604080519115158252519081900360200190f35b34801561012357600080fd5b506101036004356102fd565b34801561013b57600080fd5b50610150600160a060020a0360043516610409565b60408051921515835260208301919091528051918290030190f35b34801561017757600080fd5b50610103600160a060020a03600435166024351515604435610428565b3480156101a057600080fd5b50610103600160a060020a03600435166104e8565b3480156101c157600080fd5b5061010360048035600160a060020a0390811691602480359260443516916064359182019101356104fd565b3480156101f957600080fd5b506101036105ae565b34801561020e57600080fd5b506102176106d2565b60408051600160a060020a039092168252519081900360200190f35b60076020526000908152604090208054600190910154600160a060020a031682565b600160a060020a03331660009081526008602052604081205460ff16151561027c57600080fd5b600160a060020a033316600090815260086020526040902060010154600511156102a557600080fd5b5060058054600160a060020a03908116600090815260076020526040808220959095559154811682529290206001908101805473ffffffffffffffffffffffffffffffffffffffff1916929093169190911790915590565b600160a060020a033316600090815260086020526040812054819060ff16151561032657600080fd5b600160a060020a0333166000908152600860205260409020600101546005111561034f57600080fd5b50600554600160a060020a0390811660009081526007602090815260408083206001015481517fa9059cbb0000000000000000000000000000000000000000000000000000000081523386166004820152602481018890529151941693849363a9059cbb93604480850194919392918390030190829087803b1580156103d457600080fd5b505af11580156103e8573d6000803e3d6000fd5b505050506040513d60208110156103fe57600080fd5b506001949350505050565b6008602052600090815260409020805460019091015460ff9091169082565b6000805433600160a060020a03908116911614801590610457575060015433600160a060020a03908116911614155b8015610472575060025433600160a060020a03908116911614155b801561048d575060035433600160a060020a03908116911614155b80156104a8575060045433600160a060020a03908116911614155b156104b257600080fd5b50600160a060020a0383166000908152600860205260409020805483151560ff1990911617815560019081018290559392505050565b60066020526000908152604090205460ff1681565b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483015230811660248301526044820187905291516000928692908316916323b872dd9160648082019260209290919082900301818887803b15801561057557600080fd5b505af1158015610589573d6000803e3d6000fd5b505050506040513d602081101561059f57600080fd5b50600198975050505050505050565b600160a060020a033316600090815260066020526040812054819060ff161515600114156105db57600080fd5b50600160a060020a033381166000818152600660209081526040808320805460ff19166001908117909155600554861684526007835281842090810154905482517fa9059cbb000000000000000000000000000000000000000000000000000000008152600481019690965260248601529051941693849363a9059cbb9360448083019493928390030190829087803b15801561067757600080fd5b505af115801561068b573d6000803e3d6000fd5b505050506040513d60208110156106a157600080fd5b5050600160a060020a03331660009081526006602052604090205460ff1615156001146106ca57fe5b600191505090565b30905600a165627a7a72305820219ab5be09d64fb6e08399933b71a8f6a692ea548e1d8a56bdbce9f00e4ac6db0029

Deployed Bytecode

0x6080604052600436106100985763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630e68ec95811461009d57806313e5a3b1146100df5780635b6b431d1461011757806363a846f81461012f5780636fb6fde61461016b57806373b9aa91146101945780638f4ffcb1146101b5578063b1976a02146101ed578063d408746a14610202575b600080fd5b3480156100a957600080fd5b506100be600160a060020a0360043516610233565b60408051928352600160a060020a0390911660208301528051918290030190f35b3480156100eb57600080fd5b50610103600435600160a060020a0360243516610255565b604080519115158252519081900360200190f35b34801561012357600080fd5b506101036004356102fd565b34801561013b57600080fd5b50610150600160a060020a0360043516610409565b60408051921515835260208301919091528051918290030190f35b34801561017757600080fd5b50610103600160a060020a03600435166024351515604435610428565b3480156101a057600080fd5b50610103600160a060020a03600435166104e8565b3480156101c157600080fd5b5061010360048035600160a060020a0390811691602480359260443516916064359182019101356104fd565b3480156101f957600080fd5b506101036105ae565b34801561020e57600080fd5b506102176106d2565b60408051600160a060020a039092168252519081900360200190f35b60076020526000908152604090208054600190910154600160a060020a031682565b600160a060020a03331660009081526008602052604081205460ff16151561027c57600080fd5b600160a060020a033316600090815260086020526040902060010154600511156102a557600080fd5b5060058054600160a060020a03908116600090815260076020526040808220959095559154811682529290206001908101805473ffffffffffffffffffffffffffffffffffffffff1916929093169190911790915590565b600160a060020a033316600090815260086020526040812054819060ff16151561032657600080fd5b600160a060020a0333166000908152600860205260409020600101546005111561034f57600080fd5b50600554600160a060020a0390811660009081526007602090815260408083206001015481517fa9059cbb0000000000000000000000000000000000000000000000000000000081523386166004820152602481018890529151941693849363a9059cbb93604480850194919392918390030190829087803b1580156103d457600080fd5b505af11580156103e8573d6000803e3d6000fd5b505050506040513d60208110156103fe57600080fd5b506001949350505050565b6008602052600090815260409020805460019091015460ff9091169082565b6000805433600160a060020a03908116911614801590610457575060015433600160a060020a03908116911614155b8015610472575060025433600160a060020a03908116911614155b801561048d575060035433600160a060020a03908116911614155b80156104a8575060045433600160a060020a03908116911614155b156104b257600080fd5b50600160a060020a0383166000908152600860205260409020805483151560ff1990911617815560019081018290559392505050565b60066020526000908152604090205460ff1681565b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483015230811660248301526044820187905291516000928692908316916323b872dd9160648082019260209290919082900301818887803b15801561057557600080fd5b505af1158015610589573d6000803e3d6000fd5b505050506040513d602081101561059f57600080fd5b50600198975050505050505050565b600160a060020a033316600090815260066020526040812054819060ff161515600114156105db57600080fd5b50600160a060020a033381166000818152600660209081526040808320805460ff19166001908117909155600554861684526007835281842090810154905482517fa9059cbb000000000000000000000000000000000000000000000000000000008152600481019690965260248601529051941693849363a9059cbb9360448083019493928390030190829087803b15801561067757600080fd5b505af115801561068b573d6000803e3d6000fd5b505050506040513d60208110156106a157600080fd5b5050600160a060020a03331660009081526006602052604090205460ff1615156001146106ca57fe5b600191505090565b30905600a165627a7a72305820219ab5be09d64fb6e08399933b71a8f6a692ea548e1d8a56bdbce9f00e4ac6db0029

Swarm Source

bzzr://219ab5be09d64fb6e08399933b71a8f6a692ea548e1d8a56bdbce9f00e4ac6db

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  ]

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.