ETH Price: $2,408.21 (+1.77%)

Contract

0x27Dce1eC4d3f72C3E457Cc50354f1F975dDEf488
 
Transaction Hash
Method
Block
From
To
Transfer164919282023-01-26 15:36:59617 days ago1674747419IN
AirToken
0 ETH0.0006428426.07148825
Transfer159554312022-11-12 17:28:59692 days ago1668274139IN
AirToken
0 ETH0.0003760115.25
Transfer156844442022-10-05 20:59:35730 days ago1665003575IN
AirToken
0 ETH0.0003601614.6
Transfer153722182022-08-19 15:56:29777 days ago1660924589IN
AirToken
0 ETH0.00034814.1
Transfer153715592022-08-19 13:28:59778 days ago1660915739IN
AirToken
0 ETH0.0003035712.3
Transfer152772832022-08-04 17:49:23792 days ago1659635363IN
AirToken
0 ETH0.0005868323.8
Transfer151610132022-07-17 15:43:56810 days ago1658072636IN
AirToken
0 ETH0.0006043924.5
Transfer151610132022-07-17 15:43:56810 days ago1658072636IN
AirToken
0 ETH0.000439117.8
Transfer150222552022-06-25 5:58:04833 days ago1656136684IN
AirToken
0 ETH0.0005101520.7
Transfer149885042022-06-19 2:53:21839 days ago1655607201IN
AirToken
0 ETH0.0003109812.6
Transfer147329702022-05-08 0:30:49881 days ago1651969849IN
AirToken
0 ETH0.0006928628.1
Transfer142160702022-02-16 8:30:50962 days ago1645000250IN
AirToken
0 ETH0.0016125665.4
Transfer139098522021-12-31 0:17:111009 days ago1640909831IN
AirToken
0 ETH0.0031715128.5
Transfer135511062021-11-04 15:47:511065 days ago1636040871IN
AirToken
0 ETH0.00399637162
Transfer133944692021-10-11 1:46:131090 days ago1633916773IN
AirToken
0 ETH0.0014794260
Transfer130185522021-08-13 18:46:171148 days ago1628880377IN
AirToken
0 ETH0.0011835348
Transfer129517012021-08-03 10:10:161159 days ago1627985416IN
AirToken
0 ETH0.0006410826
Transfer129133872021-07-28 8:23:061165 days ago1627460586IN
AirToken
0 ETH0.000596424.2
Transfer129133472021-07-28 8:15:001165 days ago1627460100IN
AirToken
0 ETH0.0005766923.4
Transfer127998242021-07-10 13:07:261183 days ago1625922446IN
AirToken
0 ETH0.0002713511
Transfer127998152021-07-10 13:05:001183 days ago1625922300IN
AirToken
0 ETH0.0002713511
Transfer127997522021-07-10 12:48:021183 days ago1625921282IN
AirToken
0 ETH0.0002466910
Transfer127174632021-06-27 17:39:011195 days ago1624815541IN
AirToken
0 ETH0.0006512626.4
Transfer127000502021-06-25 0:21:341198 days ago1624580494IN
AirToken
0 ETH0.0003451914
Transfer127000372021-06-25 0:18:321198 days ago1624580312IN
AirToken
0 ETH0.0003451914
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:
Token

Compiler Version
v0.4.14+commit.c2215d46

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-09-11
*/

// Copyright New Alchemy Limited, 2017. All rights reserved.

pragma solidity >=0.4.10;

// from Zeppelin
contract SafeMath {
	function safeMul(uint a, uint b) internal returns (uint) {
		uint c = a * b;
		require(a == 0 || c / a == b);
		return c;
	}

	function safeSub(uint a, uint b) internal returns (uint) {
		require(b <= a);
		return a - b;
	}

	function safeAdd(uint a, uint b) internal returns (uint) {
		uint c = a + b;
		require(c>=a && c>=b);
		return c;
	}
}

contract Owned {
	address public owner;
	address newOwner;

	function Owned() {
		owner = msg.sender;
	}

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

	function changeOwner(address _newOwner) onlyOwner {
		newOwner = _newOwner;
	}

	function acceptOwnership() {
		if (msg.sender == newOwner) {
			owner = newOwner;
		}
	}
}

contract Pausable is Owned {
	bool public paused;

	function pause() onlyOwner {
		paused = true;
	}

	function unpause() onlyOwner {
		paused = false;
	}

	modifier notPaused() {
		require(!paused);
		_;
	}
}

contract Finalizable is Owned {
	bool public finalized;

	function finalize() onlyOwner {
		finalized = true;
	}

	modifier notFinalized() {
		require(!finalized);
		_;
	}
}

contract IToken {
	function transfer(address _to, uint _value) returns (bool);
	function balanceOf(address owner) returns(uint);
}

// In case someone accidentally sends token to one of these contracts,
// add a way to get them back out.
contract TokenReceivable is Owned {
	function claimTokens(address _token, address _to) onlyOwner returns (bool) {
		IToken token = IToken(_token);
		return token.transfer(_to, token.balanceOf(this));
	}
}

contract EventDefinitions {
	event Transfer(address indexed from, address indexed to, uint value);
	event TransferInternalLedgerAT(address indexed _from, address _to, uint256 indexed _value, bytes32 indexed mdn);
	event Approval(address indexed owner, address indexed spender, uint value);
}

contract Token is Finalizable, TokenReceivable, SafeMath, EventDefinitions, Pausable {
	// Set these appropriately before you deploy
	string constant public name = "AirToken";
	uint8 constant public decimals = 8;
	string constant public symbol = "AIR";
	Controller public controller;
	string public motd;
	address public atFundDeposit;
	event Motd(string message);

	// functions below this line are onlyOwner

	// set "message of the day"
	function setMotd(string _m) onlyOwner {
		motd = _m;
		Motd(_m);
	}

	function setController(address _c) onlyOwner notFinalized {
		controller = Controller(_c);
	}

	function setBeneficiary(address _beneficiary) onlyOwner {
		atFundDeposit = _beneficiary;
	}

	// functions below this line are public

	function balanceOf(address a) constant returns (uint) {
		return controller.balanceOf(a);
	}

	function totalSupply() constant returns (uint) {
		return controller.totalSupply();
	}

	function allowance(address _owner, address _spender) constant returns (uint) {
		return controller.allowance(_owner, _spender);
	}

	function transfer(address _to, uint _value) onlyPayloadSize(2) notPaused returns (bool success) {
		if (controller.transfer(msg.sender, _to, _value)) {
			Transfer(msg.sender, _to, _value);
			return true;
		}
		return false;
	}

	function transferFrom(address _from, address _to, uint _value) onlyPayloadSize(3) notPaused returns (bool success) {
		if (controller.transferFrom(msg.sender, _from, _to, _value)) {
			Transfer(_from, _to, _value);
			return true;
		}
		return false;
	}

	function approve(address _spender, uint _value) onlyPayloadSize(2) notPaused returns (bool success) {
		// promote safe user behavior
		if (controller.approve(msg.sender, _spender, _value)) {
			Approval(msg.sender, _spender, _value);
			return true;
		}
		return false;
	}

	function increaseApproval (address _spender, uint _addedValue) onlyPayloadSize(2) notPaused returns (bool success) {
		if (controller.increaseApproval(msg.sender, _spender, _addedValue)) {
			uint newval = controller.allowance(msg.sender, _spender);
			Approval(msg.sender, _spender, newval);
			return true;
		}
		return false;
	}

	function decreaseApproval (address _spender, uint _subtractedValue) onlyPayloadSize(2) notPaused returns (bool success) {
		if (controller.decreaseApproval(msg.sender, _spender, _subtractedValue)) {
			uint newval = controller.allowance(msg.sender, _spender);
			Approval(msg.sender, _spender, newval);
			return true;
		}
		return false;
	}

	modifier onlyPayloadSize(uint numwords) {
		assert(msg.data.length >= numwords * 32 + 4);
		_;
	}

	function burn(uint _amount) notPaused {
		controller.burn(msg.sender, _amount);
		Transfer(msg.sender, 0x0, _amount);
	}

	function transferToInternalLedger(uint256 _value, bytes32 _mdn) external returns (bool success) {
		require(atFundDeposit != 0);
		if (transfer(atFundDeposit, _value)) {
			TransferInternalLedgerAT(msg.sender, atFundDeposit, _value, _mdn);
			return true;
		}
		return false;
	}

	// functions below this line are onlyController

	modifier onlyController() {
		assert(msg.sender == address(controller));
		_;
	}


	function controllerTransfer(address _from, address _to, uint _value) onlyController {
		Transfer(_from, _to, _value);
	}

	function controllerApprove(address _owner, address _spender, uint _value) onlyController {
		Approval(_owner, _spender, _value);
	}
}

contract Controller is Owned, Finalizable {
	Ledger public ledger;
	Token public token;

	function Controller() {
	}

	// functions below this line are onlyOwner

	function setToken(address _token) onlyOwner {
		token = Token(_token);
	}

	function setLedger(address _ledger) onlyOwner {
		ledger = Ledger(_ledger);
	}

	modifier onlyToken() {
		require(msg.sender == address(token));
		_;
	}

	modifier onlyLedger() {
		require(msg.sender == address(ledger));
		_;
	}

	// public functions

	function totalSupply() constant returns (uint) {
		return ledger.totalSupply();
	}

	function balanceOf(address _a) constant returns (uint) {
		return ledger.balanceOf(_a);
	}

	function allowance(address _owner, address _spender) constant returns (uint) {
		return ledger.allowance(_owner, _spender);
	}

	// functions below this line are onlyLedger

	function ledgerTransfer(address from, address to, uint val) onlyLedger {
		token.controllerTransfer(from, to, val);
	}

	// functions below this line are onlyToken

	function transfer(address _from, address _to, uint _value) onlyToken returns (bool success) {
		return ledger.transfer(_from, _to, _value);
	}

	function transferFrom(address _spender, address _from, address _to, uint _value) onlyToken returns (bool success) {
		return ledger.transferFrom(_spender, _from, _to, _value);
	}

	function approve(address _owner, address _spender, uint _value) onlyToken returns (bool success) {
		return ledger.approve(_owner, _spender, _value);
	}

	function increaseApproval (address _owner, address _spender, uint _addedValue) onlyToken returns (bool success) {
		return ledger.increaseApproval(_owner, _spender, _addedValue);
	}

	function decreaseApproval (address _owner, address _spender, uint _subtractedValue) onlyToken returns (bool success) {
		return ledger.decreaseApproval(_owner, _spender, _subtractedValue);
	}

	function burn(address _owner, uint _amount) onlyToken {
		ledger.burn(_owner, _amount);
	}
}

contract Ledger is Owned, SafeMath, Finalizable {
	Controller public controller;
	mapping(address => uint) public balanceOf;
	mapping (address => mapping (address => uint)) public allowance;
	uint public totalSupply;
	uint public mintingNonce;
	bool public mintingStopped;

	// functions below this line are onlyOwner

	function Ledger() {
	}

	function setController(address _controller) onlyOwner notFinalized {
		controller = Controller(_controller);
	}

	function stopMinting() onlyOwner {
		mintingStopped = true;
	}

	function multiMint(uint nonce, uint256[] bits) onlyOwner {
		require(!mintingStopped);
		if (nonce != mintingNonce) return;
		mintingNonce += 1;
		uint256 lomask = (1 << 96) - 1;
		uint created = 0;
		for (uint i=0; i<bits.length; i++) {
			address a = address(bits[i]>>96);
			uint value = bits[i]&lomask;
			balanceOf[a] = balanceOf[a] + value;
			controller.ledgerTransfer(0, a, value);
			created += value;
		}
		totalSupply += created;
	}

	// functions below this line are onlyController

	modifier onlyController() {
		require(msg.sender == address(controller));
		_;
	}

	function transfer(address _from, address _to, uint _value) onlyController returns (bool success) {
		if (balanceOf[_from] < _value) return false;

		balanceOf[_from] = safeSub(balanceOf[_from], _value);
		balanceOf[_to] = safeAdd(balanceOf[_to], _value);
		return true;
	}

	function transferFrom(address _spender, address _from, address _to, uint _value) onlyController returns (bool success) {
		if (balanceOf[_from] < _value) return false;

		var allowed = allowance[_from][_spender];
		if (allowed < _value) return false;

		balanceOf[_to] = safeAdd(balanceOf[_to], _value);
		balanceOf[_from] = safeSub(balanceOf[_from], _value);
		allowance[_from][_spender] = safeSub(allowed, _value);
		return true;
	}

	function approve(address _owner, address _spender, uint _value) onlyController returns (bool success) {
		// require user to set to zero before resetting to nonzero
		if ((_value != 0) && (allowance[_owner][_spender] != 0)) {
			return false;
		}

		allowance[_owner][_spender] = _value;
		return true;
	}

	function increaseApproval (address _owner, address _spender, uint _addedValue) onlyController returns (bool success) {
		uint oldValue = allowance[_owner][_spender];
		allowance[_owner][_spender] = safeAdd(oldValue, _addedValue);
		return true;
	}

	function decreaseApproval (address _owner, address _spender, uint _subtractedValue) onlyController returns (bool success) {
		uint oldValue = allowance[_owner][_spender];
		if (_subtractedValue > oldValue) {
			allowance[_owner][_spender] = 0;
		} else {
			allowance[_owner][_spender] = safeSub(oldValue, _subtractedValue);
		}
		return true;
	}

	function burn(address _owner, uint _amount) onlyController {
		balanceOf[_owner] = safeSub(balanceOf[_owner], _amount);
		totalSupply = safeSub(totalSupply, _amount);
	}
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"setBeneficiary","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"atFundDeposit","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"},{"name":"_mdn","type":"bytes32"}],"name":"transferToInternalLedger","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"motd","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_m","type":"string"}],"name":"setMotd","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_to","type":"address"}],"name":"claimTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"a","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"controllerApprove","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_c","type":"address"}],"name":"setController","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"controllerTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"finalized","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"controller","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"message","type":"string"}],"name":"Motd","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_to","type":"address"},{"indexed":true,"name":"_value","type":"uint256"},{"indexed":true,"name":"mdn","type":"bytes32"}],"name":"TransferInternalLedgerAT","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

60606040525b60008054600160a060020a03191633600160a060020a03161790555b5b61175c806100316000396000f300606060405236156101645763ffffffff60e060020a60003504166306fdde038114610169578063095ea7b3146101f457806318160ddd1461022a5780631c31f7101461024f578063208e8914146102705780632168c9881461029f57806323b872dd146102cc578063313ce567146103085780633f4ba83a1461033157806342966c68146103465780634bb278f31461035e5780635aab4ac8146103735780635c975abb146103fe5780635fe59b9d14610425578063661884631461047857806369ffa08a146104ae57806370a08231146104e757806379ba5097146105185780638456cb591461052d5780638da5cb5b146105425780638e339b661461057157806392eefe9b1461059b57806395d89b41146105bc5780639b50438714610647578063a6f9dae114610671578063a9059cbb14610692578063b3f05b97146106c8578063d73dd623146106ef578063dd62ed3e14610725578063f77c47911461075c575b600080fd5b341561017457600080fd5b61017c61078b565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101b95780820151818401525b6020016101a0565b50505050905090810190601f1680156101e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101ff57600080fd5b610216600160a060020a03600435166024356107c2565b604051901515815260200160405180910390f35b341561023557600080fd5b61023d6108c0565b60405190815260200160405180910390f35b341561025a57600080fd5b61026e600160a060020a036004351661092a565b005b341561027b57600080fd5b610283610972565b604051600160a060020a03909116815260200160405180910390f35b34156102aa57600080fd5b610216600435602435610981565b604051901515815260200160405180910390f35b34156102d757600080fd5b610216600160a060020a0360043581169060243516604435610a19565b604051901515815260200160405180910390f35b341561031357600080fd5b61031b610b1f565b60405160ff909116815260200160405180910390f35b341561033c57600080fd5b61026e610b24565b005b341561035157600080fd5b61026e600435610b62565b005b341561036957600080fd5b61026e610c15565b005b341561037e57600080fd5b61017c610c69565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101b95780820151818401525b6020016101a0565b50505050905090810190601f1680156101e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561040957600080fd5b610216610d07565b604051901515815260200160405180910390f35b341561043057600080fd5b61026e60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610d1795505050505050565b005b341561048357600080fd5b610216600160a060020a0360043516602435610de4565b604051901515815260200160405180910390f35b34156104b957600080fd5b610216600160a060020a0360043581169060243516610f62565b604051901515815260200160405180910390f35b34156104f257600080fd5b61023d600160a060020a036004351661106c565b60405190815260200160405180910390f35b341561052357600080fd5b61026e6110e9565b005b341561053857600080fd5b61026e611133565b005b341561054d57600080fd5b610283611177565b604051600160a060020a03909116815260200160405180910390f35b341561057c57600080fd5b61026e600160a060020a0360043581169060243516604435611186565b005b34156105a657600080fd5b61026e600160a060020a03600435166111da565b005b34156105c757600080fd5b61017c61124b565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101b95780820151818401525b6020016101a0565b50505050905090810190601f1680156101e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561065257600080fd5b61026e600160a060020a0360043581169060243516604435611282565b005b341561067c57600080fd5b61026e600160a060020a03600435166112d6565b005b341561069d57600080fd5b610216600160a060020a036004351660243561131e565b604051901515815260200160405180910390f35b34156106d357600080fd5b61021661141c565b604051901515815260200160405180910390f35b34156106fa57600080fd5b610216600160a060020a036004351660243561143d565b604051901515815260200160405180910390f35b341561073057600080fd5b61023d600160a060020a03600435811690602435166115bb565b60405190815260200160405180910390f35b341561076757600080fd5b610283611641565b604051600160a060020a03909116815260200160405180910390f35b60408051908101604052600881527f416972546f6b656e000000000000000000000000000000000000000000000000602082015281565b6000600260443610156107d157fe5b60015460a860020a900460ff16156107e857600080fd5b600254600160a060020a031663e1f21c6733868660006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561085457600080fd5b6102c65a03f1151561086557600080fd5b50505060405180519050156108b25783600160a060020a031633600160a060020a03166000805160206117118339815191528560405190815260200160405180910390a3600191506108b7565b600091505b5b5b5092915050565b600254600090600160a060020a03166318160ddd82604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561090a57600080fd5b6102c65a03f1151561091b57600080fd5b50505060405180519150505b90565b60005433600160a060020a0390811691161461094557600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600454600160a060020a031681565b600454600090600160a060020a0316151561099b57600080fd5b6004546109b190600160a060020a03168461131e565b15610a0f5760045482908490600160a060020a03338116917f86908b3f3f9828632b7dca74c7eebc45084def3494635a3089c029a7e3be3f2b9116604051600160a060020a03909116815260200160405180910390a4506001610a13565b5060005b92915050565b600060036064361015610a2857fe5b60015460a860020a900460ff1615610a3f57600080fd5b600254600160a060020a03166315dacbea3387878760006040516020015260405160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152921660448201526064810191909152608401602060405180830381600087803b1515610ab257600080fd5b6102c65a03f11515610ac357600080fd5b5050506040518051905015610b105783600160a060020a031685600160a060020a03166000805160206116f18339815191528560405190815260200160405180910390a360019150610b15565b600091505b5b5b509392505050565b600881565b60005433600160a060020a03908116911614610b3f57600080fd5b6001805475ff000000000000000000000000000000000000000000191690555b5b565b60015460a860020a900460ff1615610b7957600080fd5b600254600160a060020a0316639dc29fac338360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610bcf57600080fd5b6102c65a03f11515610be057600080fd5b505050600033600160a060020a03166000805160206116f18339815191528360405190815260200160405180910390a35b5b50565b60005433600160a060020a03908116911614610c3057600080fd5b6001805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790555b5b565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cff5780601f10610cd457610100808354040283529160200191610cff565b820191906000526020600020905b815481529060010190602001808311610ce257829003601f168201915b505050505081565b60015460a860020a900460ff1681565b60005433600160a060020a03908116911614610d3257600080fd5b6003818051610d45929160200190611650565b507f6e7666d68b6b7c619b2fe5a2c3dd0564bf3e02b0508b217d7a28ce5805583eab8160405160208082528190810183818151815260200191508051906020019080838360005b83811015610da55780820151818401525b602001610d8c565b50505050905090810190601f168015610dd25780820380516001836020036101000a031916815260200191505b509250505060405180910390a15b5b50565b60008060026044361015610df457fe5b60015460a860020a900460ff1615610e0b57600080fd5b600254600160a060020a031663f019c26733878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610e7757600080fd5b6102c65a03f11515610e8857600080fd5b5050506040518051905015610f5357600254600160a060020a031663dd62ed3e338760006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610ef857600080fd5b6102c65a03f11515610f0957600080fd5b50505060405180519050915084600160a060020a031633600160a060020a03166000805160206117118339815191528460405190815260200160405180910390a360019250610f58565b600092505b5b5b505092915050565b60008054819033600160a060020a03908116911614610f8057600080fd5b5082600160a060020a03811663a9059cbb84826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610fe057600080fd5b6102c65a03f11515610ff157600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561104757600080fd5b6102c65a03f1151561105857600080fd5b50505060405180519250505b5b5092915050565b600254600090600160a060020a03166370a0823183836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156110c757600080fd5b6102c65a03f115156110d857600080fd5b50505060405180519150505b919050565b60015433600160a060020a0390811691161415610b5f576001546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b5b565b60005433600160a060020a0390811691161461114e57600080fd5b6001805475ff000000000000000000000000000000000000000000191660a860020a1790555b5b565b600054600160a060020a031681565b60025433600160a060020a0390811691161461119e57fe5b81600160a060020a031683600160a060020a03166000805160206117118339815191528360405190815260200160405180910390a35b5b505050565b60005433600160a060020a039081169116146111f557600080fd5b60015474010000000000000000000000000000000000000000900460ff161561121d57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b60408051908101604052600381527f4149520000000000000000000000000000000000000000000000000000000000602082015281565b60025433600160a060020a0390811691161461129a57fe5b81600160a060020a031683600160a060020a03166000805160206116f18339815191528360405190815260200160405180910390a35b5b505050565b60005433600160a060020a039081169116146112f157600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60006002604436101561132d57fe5b60015460a860020a900460ff161561134457600080fd5b600254600160a060020a031663beabacc833868660006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156113b057600080fd5b6102c65a03f115156113c157600080fd5b50505060405180519050156108b25783600160a060020a031633600160a060020a03166000805160206116f18339815191528560405190815260200160405180910390a3600191506108b7565b600091505b5b5b5092915050565b60015474010000000000000000000000000000000000000000900460ff1681565b6000806002604436101561144d57fe5b60015460a860020a900460ff161561146457600080fd5b600254600160a060020a031663bcdd612133878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610e7757600080fd5b6102c65a03f11515610e8857600080fd5b5050506040518051905015610f5357600254600160a060020a031663dd62ed3e338760006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610ef857600080fd5b6102c65a03f11515610f0957600080fd5b50505060405180519050915084600160a060020a031633600160a060020a03166000805160206117118339815191528460405190815260200160405180910390a360019250610f58565b600092505b5b5b505092915050565b600254600090600160a060020a031663dd62ed3e8484846040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561161e57600080fd5b6102c65a03f1151561162f57600080fd5b50505060405180519150505b92915050565b600254600160a060020a031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061169157805160ff19168380011785556116be565b828001600101855582156116be579182015b828111156116be5782518255916020019190600101906116a3565b5b506116cb9291506116cf565b5090565b61092791905b808211156116cb57600081556001016116d5565b5090565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a72305820e818ad9a2a6fb409c2977e754612e416958ee850489676bea1b13c9d330dab130029

Deployed Bytecode

0x606060405236156101645763ffffffff60e060020a60003504166306fdde038114610169578063095ea7b3146101f457806318160ddd1461022a5780631c31f7101461024f578063208e8914146102705780632168c9881461029f57806323b872dd146102cc578063313ce567146103085780633f4ba83a1461033157806342966c68146103465780634bb278f31461035e5780635aab4ac8146103735780635c975abb146103fe5780635fe59b9d14610425578063661884631461047857806369ffa08a146104ae57806370a08231146104e757806379ba5097146105185780638456cb591461052d5780638da5cb5b146105425780638e339b661461057157806392eefe9b1461059b57806395d89b41146105bc5780639b50438714610647578063a6f9dae114610671578063a9059cbb14610692578063b3f05b97146106c8578063d73dd623146106ef578063dd62ed3e14610725578063f77c47911461075c575b600080fd5b341561017457600080fd5b61017c61078b565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101b95780820151818401525b6020016101a0565b50505050905090810190601f1680156101e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101ff57600080fd5b610216600160a060020a03600435166024356107c2565b604051901515815260200160405180910390f35b341561023557600080fd5b61023d6108c0565b60405190815260200160405180910390f35b341561025a57600080fd5b61026e600160a060020a036004351661092a565b005b341561027b57600080fd5b610283610972565b604051600160a060020a03909116815260200160405180910390f35b34156102aa57600080fd5b610216600435602435610981565b604051901515815260200160405180910390f35b34156102d757600080fd5b610216600160a060020a0360043581169060243516604435610a19565b604051901515815260200160405180910390f35b341561031357600080fd5b61031b610b1f565b60405160ff909116815260200160405180910390f35b341561033c57600080fd5b61026e610b24565b005b341561035157600080fd5b61026e600435610b62565b005b341561036957600080fd5b61026e610c15565b005b341561037e57600080fd5b61017c610c69565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101b95780820151818401525b6020016101a0565b50505050905090810190601f1680156101e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561040957600080fd5b610216610d07565b604051901515815260200160405180910390f35b341561043057600080fd5b61026e60046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610d1795505050505050565b005b341561048357600080fd5b610216600160a060020a0360043516602435610de4565b604051901515815260200160405180910390f35b34156104b957600080fd5b610216600160a060020a0360043581169060243516610f62565b604051901515815260200160405180910390f35b34156104f257600080fd5b61023d600160a060020a036004351661106c565b60405190815260200160405180910390f35b341561052357600080fd5b61026e6110e9565b005b341561053857600080fd5b61026e611133565b005b341561054d57600080fd5b610283611177565b604051600160a060020a03909116815260200160405180910390f35b341561057c57600080fd5b61026e600160a060020a0360043581169060243516604435611186565b005b34156105a657600080fd5b61026e600160a060020a03600435166111da565b005b34156105c757600080fd5b61017c61124b565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101b95780820151818401525b6020016101a0565b50505050905090810190601f1680156101e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561065257600080fd5b61026e600160a060020a0360043581169060243516604435611282565b005b341561067c57600080fd5b61026e600160a060020a03600435166112d6565b005b341561069d57600080fd5b610216600160a060020a036004351660243561131e565b604051901515815260200160405180910390f35b34156106d357600080fd5b61021661141c565b604051901515815260200160405180910390f35b34156106fa57600080fd5b610216600160a060020a036004351660243561143d565b604051901515815260200160405180910390f35b341561073057600080fd5b61023d600160a060020a03600435811690602435166115bb565b60405190815260200160405180910390f35b341561076757600080fd5b610283611641565b604051600160a060020a03909116815260200160405180910390f35b60408051908101604052600881527f416972546f6b656e000000000000000000000000000000000000000000000000602082015281565b6000600260443610156107d157fe5b60015460a860020a900460ff16156107e857600080fd5b600254600160a060020a031663e1f21c6733868660006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561085457600080fd5b6102c65a03f1151561086557600080fd5b50505060405180519050156108b25783600160a060020a031633600160a060020a03166000805160206117118339815191528560405190815260200160405180910390a3600191506108b7565b600091505b5b5b5092915050565b600254600090600160a060020a03166318160ddd82604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561090a57600080fd5b6102c65a03f1151561091b57600080fd5b50505060405180519150505b90565b60005433600160a060020a0390811691161461094557600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600454600160a060020a031681565b600454600090600160a060020a0316151561099b57600080fd5b6004546109b190600160a060020a03168461131e565b15610a0f5760045482908490600160a060020a03338116917f86908b3f3f9828632b7dca74c7eebc45084def3494635a3089c029a7e3be3f2b9116604051600160a060020a03909116815260200160405180910390a4506001610a13565b5060005b92915050565b600060036064361015610a2857fe5b60015460a860020a900460ff1615610a3f57600080fd5b600254600160a060020a03166315dacbea3387878760006040516020015260405160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152921660448201526064810191909152608401602060405180830381600087803b1515610ab257600080fd5b6102c65a03f11515610ac357600080fd5b5050506040518051905015610b105783600160a060020a031685600160a060020a03166000805160206116f18339815191528560405190815260200160405180910390a360019150610b15565b600091505b5b5b509392505050565b600881565b60005433600160a060020a03908116911614610b3f57600080fd5b6001805475ff000000000000000000000000000000000000000000191690555b5b565b60015460a860020a900460ff1615610b7957600080fd5b600254600160a060020a0316639dc29fac338360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610bcf57600080fd5b6102c65a03f11515610be057600080fd5b505050600033600160a060020a03166000805160206116f18339815191528360405190815260200160405180910390a35b5b50565b60005433600160a060020a03908116911614610c3057600080fd5b6001805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790555b5b565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cff5780601f10610cd457610100808354040283529160200191610cff565b820191906000526020600020905b815481529060010190602001808311610ce257829003601f168201915b505050505081565b60015460a860020a900460ff1681565b60005433600160a060020a03908116911614610d3257600080fd5b6003818051610d45929160200190611650565b507f6e7666d68b6b7c619b2fe5a2c3dd0564bf3e02b0508b217d7a28ce5805583eab8160405160208082528190810183818151815260200191508051906020019080838360005b83811015610da55780820151818401525b602001610d8c565b50505050905090810190601f168015610dd25780820380516001836020036101000a031916815260200191505b509250505060405180910390a15b5b50565b60008060026044361015610df457fe5b60015460a860020a900460ff1615610e0b57600080fd5b600254600160a060020a031663f019c26733878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610e7757600080fd5b6102c65a03f11515610e8857600080fd5b5050506040518051905015610f5357600254600160a060020a031663dd62ed3e338760006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610ef857600080fd5b6102c65a03f11515610f0957600080fd5b50505060405180519050915084600160a060020a031633600160a060020a03166000805160206117118339815191528460405190815260200160405180910390a360019250610f58565b600092505b5b5b505092915050565b60008054819033600160a060020a03908116911614610f8057600080fd5b5082600160a060020a03811663a9059cbb84826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610fe057600080fd5b6102c65a03f11515610ff157600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561104757600080fd5b6102c65a03f1151561105857600080fd5b50505060405180519250505b5b5092915050565b600254600090600160a060020a03166370a0823183836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156110c757600080fd5b6102c65a03f115156110d857600080fd5b50505060405180519150505b919050565b60015433600160a060020a0390811691161415610b5f576001546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b5b565b60005433600160a060020a0390811691161461114e57600080fd5b6001805475ff000000000000000000000000000000000000000000191660a860020a1790555b5b565b600054600160a060020a031681565b60025433600160a060020a0390811691161461119e57fe5b81600160a060020a031683600160a060020a03166000805160206117118339815191528360405190815260200160405180910390a35b5b505050565b60005433600160a060020a039081169116146111f557600080fd5b60015474010000000000000000000000000000000000000000900460ff161561121d57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b60408051908101604052600381527f4149520000000000000000000000000000000000000000000000000000000000602082015281565b60025433600160a060020a0390811691161461129a57fe5b81600160a060020a031683600160a060020a03166000805160206116f18339815191528360405190815260200160405180910390a35b5b505050565b60005433600160a060020a039081169116146112f157600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60006002604436101561132d57fe5b60015460a860020a900460ff161561134457600080fd5b600254600160a060020a031663beabacc833868660006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156113b057600080fd5b6102c65a03f115156113c157600080fd5b50505060405180519050156108b25783600160a060020a031633600160a060020a03166000805160206116f18339815191528560405190815260200160405180910390a3600191506108b7565b600091505b5b5b5092915050565b60015474010000000000000000000000000000000000000000900460ff1681565b6000806002604436101561144d57fe5b60015460a860020a900460ff161561146457600080fd5b600254600160a060020a031663bcdd612133878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610e7757600080fd5b6102c65a03f11515610e8857600080fd5b5050506040518051905015610f5357600254600160a060020a031663dd62ed3e338760006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610ef857600080fd5b6102c65a03f11515610f0957600080fd5b50505060405180519050915084600160a060020a031633600160a060020a03166000805160206117118339815191528460405190815260200160405180910390a360019250610f58565b600092505b5b5b505092915050565b600254600090600160a060020a031663dd62ed3e8484846040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561161e57600080fd5b6102c65a03f1151561162f57600080fd5b50505060405180519150505b92915050565b600254600160a060020a031681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061169157805160ff19168380011785556116be565b828001600101855582156116be579182015b828111156116be5782518255916020019190600101906116a3565b5b506116cb9291506116cf565b5090565b61092791905b808211156116cb57600081556001016116d5565b5090565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a72305820e818ad9a2a6fb409c2977e754612e416958ee850489676bea1b13c9d330dab130029

Swarm Source

bzzr://e818ad9a2a6fb409c2977e754612e416958ee850489676bea1b13c9d330dab13

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

AirToken is an Ethereum-based ERC-20 digital utility token that facilitates the transfer of mobile airtime, data and currency, as well as payments for goods and services, with minimal friction and fees.

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.