ETH Price: $2,607.59 (+0.54%)
Gas: 1 Gwei

Contract

0xd712722D256Df900c42Da2a09E7aF73663a94F7f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer144384442022-03-22 21:05:47871 days ago1647983147IN
FoodCoin: Old Token
0 ETH0.0013537155.10978322
Transfer80022962019-06-21 15:33:091877 days ago1561131189IN
FoodCoin: Old Token
0 ETH0.0002909712
Transfer66806912018-11-10 21:14:332099 days ago1541884473IN
FoodCoin: Old Token
0 ETH0.000048242
Transfer61960442018-08-22 23:37:572179 days ago1534981077IN
FoodCoin: Old Token
0 ETH0.001447260
Transfer61960032018-08-22 23:27:082179 days ago1534980428IN
FoodCoin: Old Token
0 ETH0.0014460
Transfer61715992018-08-18 20:49:182183 days ago1534625358IN
FoodCoin: Old Token
0 ETH0.0009862941
Transfer61715632018-08-18 20:41:202183 days ago1534624880IN
FoodCoin: Old Token
0 ETH0.0009862941
Transfer61715192018-08-18 20:31:282183 days ago1534624288IN
FoodCoin: Old Token
0 ETH0.0002405610
Transfer60940852018-08-05 18:13:122196 days ago1533492792IN
FoodCoin: Old Token
0 ETH0.001447260
Transfer60530932018-07-29 20:05:462203 days ago1532894746IN
FoodCoin: Old Token
0 ETH0.0003627615
Transfer59778852018-07-17 1:31:152216 days ago1531791075IN
FoodCoin: Old Token
0 ETH0.001447260
Transfer58934052018-07-02 16:28:022231 days ago1530548882IN
FoodCoin: Old Token
0 ETH0.0015518764
Transfer58932522018-07-02 15:50:472231 days ago1530546647IN
FoodCoin: Old Token
0 ETH0.0021338288
Transfer58783172018-06-30 2:49:572233 days ago1530326997IN
FoodCoin: Old Token
0 ETH0.001447260
Transfer58782512018-06-30 2:34:152233 days ago1530326055IN
FoodCoin: Old Token
0 ETH0.001447260
Transfer58780952018-06-30 1:59:212233 days ago1530323961IN
FoodCoin: Old Token
0 ETH0.0014433660
Transfer58482402018-06-24 21:35:042238 days ago1529876104IN
FoodCoin: Old Token
0 ETH0.0005065221
Transfer58482232018-06-24 21:30:162238 days ago1529875816IN
FoodCoin: Old Token
0 ETH0.0005078621
Transfer58481882018-06-24 21:20:442238 days ago1529875244IN
FoodCoin: Old Token
0 ETH0.0005078621
Transfer57309442018-06-04 13:17:492259 days ago1528118269IN
FoodCoin: Old Token
0 ETH0.0009699240
Transfer57247232018-06-03 10:39:502260 days ago1528022390IN
FoodCoin: Old Token
0 ETH0.0009915441
Transfer56514232018-05-21 10:42:042273 days ago1526899324IN
FoodCoin: Old Token
0 ETH0.000736931
Transfer56513252018-05-21 10:14:382273 days ago1526897678IN
FoodCoin: Old Token
0 ETH0.0004836820
Transfer56512152018-05-21 9:46:182273 days ago1526895978IN
FoodCoin: Old Token
0 ETH0.0004111217
Transfer56083962018-05-13 20:31:112280 days ago1526243471IN
FoodCoin: Old Token
0 ETH0.0009862941
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:
FoodcoinEcosystem

Compiler Version
v0.4.16+commit.d7661dd9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

pragma solidity ^0.4.16;

contract SafeMath {

    function safeAdd(uint256 x, uint256 y) view internal returns (uint256) {
        uint256 z = x + y;
        assert((z >= x) && (z >= y));
        return z;
    }

    function safeSubtract(uint256 x, uint256 y) view internal returns (uint256) {
        assert(x >= y);
        uint256 z = x - y;
        return z;
    }

    function safeMult(uint256 x, uint256 y) view internal returns (uint256) {
        uint256 z = x * y;
        assert((x == 0) || (z / x == y));
        return z;
    }

    function safeDiv(uint256 a, uint256 b) view internal returns (uint256) {
        assert(b > 0);
        uint c = a / b;
        assert(a == b * c + a % b);
        return c;
    }
}

contract Owner {
	
	// Адреса владельцев
	mapping ( address => bool ) public ownerAddressMap;
	// Соответсвие адреса владельца и его номера
	mapping ( address => uint256 ) public ownerAddressNumberMap;
	// список менеджеров
	mapping ( uint256 => address ) public ownerListMap;
	// сколько всего менеджеров
	uint256 public ownerCountInt = 0;
	
	// событие "изменение в контракте"
	event ContractManagementUpdate( string _type, address _initiator, address _to, bool _newvalue );

	// модификатор - если смотрит владелец
	modifier isOwner {
        require( ownerAddressMap[msg.sender]==true );
        _;
    }
	
	// создание/включение владельца
	function ownerOn( address _onOwnerAddress ) external isOwner returns (bool retrnVal) {
		// Check if it's a non-zero address
		require( _onOwnerAddress != address(0) );
		// если такой владелец есть (стартового владельца удалить нельзя)
		if ( ownerAddressNumberMap[ _onOwnerAddress ]>0 )
		{
			// если такой владелец отключен, влючим его обратно
			if ( !ownerAddressMap[ _onOwnerAddress ] )
			{
				ownerAddressMap[ _onOwnerAddress ] = true;
				ContractManagementUpdate( "Owner", msg.sender, _onOwnerAddress, true );
				retrnVal = true;
			}
			else
			{
				retrnVal = false;
			}
		}
		// если такого владеьца нет
		else
		{
			ownerAddressMap[ _onOwnerAddress ] = true;
			ownerAddressNumberMap[ _onOwnerAddress ] = ownerCountInt;
			ownerListMap[ ownerCountInt ] = _onOwnerAddress;
			ownerCountInt++;
			ContractManagementUpdate( "Owner", msg.sender, _onOwnerAddress, true );
			retrnVal = true;
		}
	}
	
	// отключение менеджера
	function ownerOff( address _offOwnerAddress ) external isOwner returns (bool retrnVal) {
		// если такой менеджер есть и он не 0-вой, а также активен
		// 0-вой менеджер не может быть отключен
		if ( ownerAddressNumberMap[ _offOwnerAddress ]>0 && ownerAddressMap[ _offOwnerAddress ] )
		{
			ownerAddressMap[ _offOwnerAddress ] = false;
			ContractManagementUpdate( "Owner", msg.sender, _offOwnerAddress, false );
			retrnVal = true;
		}
		else
		{
			retrnVal = false;
		}
	}

	// конструктор, при создании контракта добалвяет создателя в "неудаляемые" создатели
	function Owner() public {
		// создаем владельца
		ownerAddressMap[ msg.sender ] = true;
		ownerAddressNumberMap[ msg.sender ] = ownerCountInt;
		ownerListMap[ ownerCountInt ] = msg.sender;
		ownerCountInt++;
	}
}

contract SpecialManager is Owner {

	// адреса специальных менеджеров
	mapping ( address => bool ) public specialManagerAddressMap;
	// Соответсвие адреса специального менеджера и его номера
	mapping ( address => uint256 ) public specialManagerAddressNumberMap;
	// список специальноых менеджеров
	mapping ( uint256 => address ) public specialManagerListMap;
	// сколько всего специальных менеджеров
	uint256 public specialManagerCountInt = 0;
	
	// модификатор - если смотрит владелец или специальный менеджер
	modifier isSpecialManagerOrOwner {
        require( specialManagerAddressMap[msg.sender]==true || ownerAddressMap[msg.sender]==true );
        _;
    }
	
	// создание/включение специального менеджера
	function specialManagerOn( address _onSpecialManagerAddress ) external isOwner returns (bool retrnVal) {
		// Check if it's a non-zero address
		require( _onSpecialManagerAddress != address(0) );
		// если такой менеджер есть
		if ( specialManagerAddressNumberMap[ _onSpecialManagerAddress ]>0 )
		{
			// если такой менеджер отключен, влючим его обратно
			if ( !specialManagerAddressMap[ _onSpecialManagerAddress ] )
			{
				specialManagerAddressMap[ _onSpecialManagerAddress ] = true;
				ContractManagementUpdate( "Special Manager", msg.sender, _onSpecialManagerAddress, true );
				retrnVal = true;
			}
			else
			{
				retrnVal = false;
			}
		}
		// если такого менеджера нет
		else
		{
			specialManagerAddressMap[ _onSpecialManagerAddress ] = true;
			specialManagerAddressNumberMap[ _onSpecialManagerAddress ] = specialManagerCountInt;
			specialManagerListMap[ specialManagerCountInt ] = _onSpecialManagerAddress;
			specialManagerCountInt++;
			ContractManagementUpdate( "Special Manager", msg.sender, _onSpecialManagerAddress, true );
			retrnVal = true;
		}
	}
	
	// отключение менеджера
	function specialManagerOff( address _offSpecialManagerAddress ) external isOwner returns (bool retrnVal) {
		// если такой менеджер есть и он не 0-вой, а также активен
		// 0-вой менеджер не может быть отключен
		if ( specialManagerAddressNumberMap[ _offSpecialManagerAddress ]>0 && specialManagerAddressMap[ _offSpecialManagerAddress ] )
		{
			specialManagerAddressMap[ _offSpecialManagerAddress ] = false;
			ContractManagementUpdate( "Special Manager", msg.sender, _offSpecialManagerAddress, false );
			retrnVal = true;
		}
		else
		{
			retrnVal = false;
		}
	}


	// конструктор, добавляет создателя в суперменеджеры
	function SpecialManager() public {
		// создаем менеджера
		specialManagerAddressMap[ msg.sender ] = true;
		specialManagerAddressNumberMap[ msg.sender ] = specialManagerCountInt;
		specialManagerListMap[ specialManagerCountInt ] = msg.sender;
		specialManagerCountInt++;
	}
}

contract Manager is SpecialManager {
	
	// адрес менеджеров
	mapping ( address => bool ) public managerAddressMap;
	// Соответсвие адреса менеджеров и его номера
	mapping ( address => uint256 ) public managerAddressNumberMap;
	// список менеджеров
	mapping ( uint256 => address ) public managerListMap;
	// сколько всего менеджеров
	uint256 public managerCountInt = 0;
	
	// модификатор - если смотрит владелец или менеджер
	modifier isManagerOrOwner {
        require( managerAddressMap[msg.sender]==true || ownerAddressMap[msg.sender]==true );
        _;
    }
	
	// создание/включение менеджера
	function managerOn( address _onManagerAddress ) external isOwner returns (bool retrnVal) {
		// Check if it's a non-zero address
		require( _onManagerAddress != address(0) );
		// если такой менеджер есть
		if ( managerAddressNumberMap[ _onManagerAddress ]>0 )
		{
			// если такой менеджер отключен, влючим его обратно
			if ( !managerAddressMap[ _onManagerAddress ] )
			{
				managerAddressMap[ _onManagerAddress ] = true;
				ContractManagementUpdate( "Manager", msg.sender, _onManagerAddress, true );
				retrnVal = true;
			}
			else
			{
				retrnVal = false;
			}
		}
		// если такого менеджера нет
		else
		{
			managerAddressMap[ _onManagerAddress ] = true;
			managerAddressNumberMap[ _onManagerAddress ] = managerCountInt;
			managerListMap[ managerCountInt ] = _onManagerAddress;
			managerCountInt++;
			ContractManagementUpdate( "Manager", msg.sender, _onManagerAddress, true );
			retrnVal = true;
		}
	}
	
	// отключение менеджера
	function managerOff( address _offManagerAddress ) external isOwner returns (bool retrnVal) {
		// если такой менеджер есть и он не 0-вой, а также активен
		// 0-вой менеджер не может быть отключен
		if ( managerAddressNumberMap[ _offManagerAddress ]>0 && managerAddressMap[ _offManagerAddress ] )
		{
			managerAddressMap[ _offManagerAddress ] = false;
			ContractManagementUpdate( "Manager", msg.sender, _offManagerAddress, false );
			retrnVal = true;
		}
		else
		{
			retrnVal = false;
		}
	}


	// конструктор, добавляет создателя в менеджеры
	function Manager() public {
		// создаем менеджера
		managerAddressMap[ msg.sender ] = true;
		managerAddressNumberMap[ msg.sender ] = managerCountInt;
		managerListMap[ managerCountInt ] = msg.sender;
		managerCountInt++;
	}
}

contract Management is Manager {
	
	// текстовое описание контракта
	string public description = "";
	
	// текущий статус разрешения транзакций
	// TRUE - транзакции возможны
	// FALSE - транзакции не возможны
	bool public transactionsOn = false;
	
	// текущий статус эмиссии
	// TRUE - эмиссия возможна, менеджеры могут добавлять в контракт токены
	// FALSE - эмиссия невозможна, менеджеры не могут добавлять в контракт токены
	bool public emissionOn = true;

	// потолок эмиссии
	uint256 public tokenCreationCap = 0;
	
	// модификатор - транзакции возможны
	modifier isTransactionsOn{
        require( transactionsOn );
        _;
    }
	
	// модификатор - эмиссия возможна
	modifier isEmissionOn{
        require( emissionOn );
        _;
    }
	
	// функция изменения статуса транзакций
	function transactionsStatusUpdate( bool _on ) external isOwner
	{
		transactionsOn = _on;
	}
	
	// функция изменения статуса эмиссии
	function emissionStatusUpdate( bool _on ) external isOwner
	{
		emissionOn = _on;
	}
	
	// установка потолка эмиссии
	function tokenCreationCapUpdate( uint256 _newVal ) external isOwner
	{
		tokenCreationCap = _newVal;
	}
	
	// событие, "смена описания"
	event DescriptionPublished( string _description, address _initiator);
	
	// изменение текста
	function descriptionUpdate( string _newVal ) external isOwner
	{
		description = _newVal;
		DescriptionPublished( _newVal, msg.sender );
	}
}

// Токен-контракт FoodCoin Ecosystem
contract FoodcoinEcosystem is SafeMath, Management {
	
	// название токена
	string public constant name = "FoodCoin EcoSystem";
	// короткое название токена
	string public constant symbol = "FOOD";
	// точность токена (знаков после запятой для вывода в кошельках)
	uint256 public constant decimals = 8;
	// общее кол-во выпущенных токенов
	uint256 public totalSupply = 0;
	
	// состояние счета
	mapping ( address => uint256 ) balances;
	// список всех счетов
	mapping ( uint256 => address ) public balancesListAddressMap;
	// соответсвие счета и его номера
	mapping ( address => uint256 ) public balancesListNumberMap;
	// текстовое описание счета
	mapping ( address => string ) public balancesAddressDescription;
	// общее кол-во всех счетов
	uint256 balancesCountInt = 1;
	
	// делегирование на управление счетом на определенную сумму
	mapping ( address => mapping ( address => uint256 ) ) allowed;
	
	
	// событие - транзакция
	event Transfer(address _from, address _to, uint256 _value, address _initiator);
	
	// событие делегирование управления счетом
	event Approval(address indexed _owner, address indexed _spender, uint256 _value);
	
	// событие - эмиссия
	event TokenEmissionEvent( address initiatorAddress, uint256 amount, bool emissionOk );
	
	// событие - списание средств
	event WithdrawEvent( address initiatorAddress, address toAddress, bool withdrawOk, uint256 withdrawValue, uint256 newBalancesValue );
	
	
	// проссмотра баланса счета
	function balanceOf( address _owner ) external view returns ( uint256 )
	{
		return balances[ _owner ];
	}
	// Check if a given user has been delegated rights to perform transfers on behalf of the account owner
	function allowance( address _owner, address _initiator ) external view returns ( uint256 remaining )
	{
		return allowed[ _owner ][ _initiator ];
	}
	// общее кол-во счетов
	function balancesQuantity() external view returns ( uint256 )
	{
		return balancesCountInt - 1;
	}
	
	// функция непосредственного перевода токенов. Если это первое получение средств для какого-то счета, то также создается детальная информация по этому счету
	function _addClientAddress( address _balancesAddress, uint256 _amount ) internal
	{
		// check if this address is not on the list yet
		if ( balancesListNumberMap[ _balancesAddress ] == 0 )
		{
			// add it to the list
			balancesListAddressMap[ balancesCountInt ] = _balancesAddress;
			balancesListNumberMap[ _balancesAddress ] = balancesCountInt;
			// increment account counter
			balancesCountInt++;
		}
		// add tokens to the account 
		balances[ _balancesAddress ] = safeAdd( balances[ _balancesAddress ], _amount );
	}
	// Internal function that performs the actual transfer (cannot be called externally)
	function _transfer( address _from, address _to, uint256 _value ) internal isTransactionsOn returns ( bool success )
	{
		// If the amount to transfer is greater than 0, and sender has funds available
		if ( _value > 0 && balances[ _from ] >= _value )
		{
			// Subtract from sender account
			balances[ _from ] -= _value;
			// Add to receiver's account
			_addClientAddress( _to, _value );
			// Perform the transfer
			Transfer( _from, _to, _value, msg.sender );
			// Successfully completed transfer
			return true;
		}
		// Return false if there are problems
		else
		{
			return false;
		}
	}
	// функция перевода токенов
	function transfer(address _to, uint256 _value) external isTransactionsOn returns ( bool success )
	{
		return _transfer( msg.sender, _to, _value );
	}
	// функция перевода токенов с делегированного счета
	function transferFrom(address _from, address _to, uint256 _value) external isTransactionsOn returns ( bool success )
	{
		// Check if the transfer initiator has permissions to move funds from the sender's account
		if ( allowed[_from][msg.sender] >= _value )
		{
			// If yes - perform transfer 
			if ( _transfer( _from, _to, _value ) )
			{
				// Decrease the total amount that initiator has permissions to access
				allowed[_from][msg.sender] = safeSubtract(allowed[_from][msg.sender], _value);
				return true;
			}
			else
			{
				return false;
			}
		}
		else
		{
			return false;
		}
	}
	// функция делегирования управления счетом на определенную сумму
	function approve( address _initiator, uint256 _value ) external isTransactionsOn returns ( bool success )
	{
		// Grant the rights for a certain amount of tokens only
		allowed[ msg.sender ][ _initiator ] = _value;
		// Initiate the Approval event
		Approval( msg.sender, _initiator, _value );
		return true;
	}
	
	// функция эмиссии (менеджер или владелец контракта создает токены и отправляет их на определенный счет)
	function tokenEmission(address _reciever, uint256 _amount) external isManagerOrOwner isEmissionOn returns ( bool returnVal )
	{
		// Check if it's a non-zero address
		require( _reciever != address(0) );
		// Calculate number of tokens after generation
		uint256 checkedSupply = safeAdd( totalSupply, _amount );
		// сумма к эмиссии
		uint256 amountTmp = _amount;
		// Если потолок эмиссии установлен, то нельзя выпускать больше этого потолка
		if ( tokenCreationCap > 0 && tokenCreationCap < checkedSupply )
		{
			amountTmp = 0;
		}
		// если попытка добавить больше 0-ля токенов
		if ( amountTmp > 0 )
		{
			// If no error, add generated tokens to a given address
			_addClientAddress( _reciever, amountTmp );
			// increase total supply of tokens
			totalSupply = checkedSupply;
			TokenEmissionEvent( msg.sender, _amount, true);
		}
		else
		{
			returnVal = false;
			TokenEmissionEvent( msg.sender, _amount, false);
		}
	}
	
	// функция списания токенов
	function withdraw( address _to, uint256 _amount ) external isSpecialManagerOrOwner returns ( bool returnVal, uint256 withdrawValue, uint256 newBalancesValue )
	{
		// check if this is a valid account
		if ( balances[ _to ] > 0 )
		{
			// сумма к списанию
			uint256 amountTmp = _amount;
			// нельзя списать больше, чем есть на счету
			if ( balances[ _to ] < _amount )
			{
				amountTmp = balances[ _to ];
			}
			// проводим списывание
			balances[ _to ] = safeSubtract( balances[ _to ], amountTmp );
			// меняем текущее общее кол-во токенов
			totalSupply = safeSubtract( totalSupply, amountTmp );
			// возвращаем ответ
			returnVal = true;
			withdrawValue = amountTmp;
			newBalancesValue = balances[ _to ];
			WithdrawEvent( msg.sender, _to, true, amountTmp, balances[ _to ] );
		}
		else
		{
			returnVal = false;
			withdrawValue = 0;
			newBalancesValue = 0;
			WithdrawEvent( msg.sender, _to, false, _amount, balances[ _to ] );
		}
	}
	
	// добавление описания к счету
	function balancesAddressDescriptionUpdate( string _newDescription ) external returns ( bool returnVal )
	{
		// если такой аккаунт есть или владелец контракта
		if ( balancesListNumberMap[ msg.sender ] > 0 || ownerAddressMap[msg.sender]==true )
		{
			balancesAddressDescription[ msg.sender ] = _newDescription;
			returnVal = true;
		}
		else
		{
			returnVal = false;
		}
	}
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_initiator","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_offManagerAddress","type":"address"}],"name":"managerOff","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"balancesQuantity","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_onSpecialManagerAddress","type":"address"}],"name":"specialManagerOn","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownerCountInt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"specialManagerAddressMap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_onOwnerAddress","type":"address"}],"name":"ownerOn","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transactionsOn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ownerAddressMap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"managerAddressMap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newVal","type":"string"}],"name":"descriptionUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_offSpecialManagerAddress","type":"address"}],"name":"specialManagerOff","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenCreationCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"description","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"specialManagerAddressNumberMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"emissionOn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"specialManagerCountInt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"managerListMap","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_onManagerAddress","type":"address"}],"name":"managerOn","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_reciever","type":"address"},{"name":"_amount","type":"uint256"}],"name":"tokenEmission","outputs":[{"name":"returnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_on","type":"bool"}],"name":"emissionStatusUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balancesListNumberMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_on","type":"bool"}],"name":"transactionsStatusUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"specialManagerListMap","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newDescription","type":"string"}],"name":"balancesAddressDescriptionUpdate","outputs":[{"name":"returnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"ownerListMap","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_initiator","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"managerAddressNumberMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balancesAddressDescription","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"managerCountInt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"balancesListAddressMap","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newVal","type":"uint256"}],"name":"tokenCreationCapUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ownerAddressNumberMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[{"name":"returnVal","type":"bool"},{"name":"withdrawValue","type":"uint256"},{"name":"newBalancesValue","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_offOwnerAddress","type":"address"}],"name":"ownerOff","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_from","type":"address"},{"indexed":false,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"},{"indexed":false,"name":"_initiator","type":"address"}],"name":"Transfer","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"},{"anonymous":false,"inputs":[{"indexed":false,"name":"initiatorAddress","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"emissionOk","type":"bool"}],"name":"TokenEmissionEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"initiatorAddress","type":"address"},{"indexed":false,"name":"toAddress","type":"address"},{"indexed":false,"name":"withdrawOk","type":"bool"},{"indexed":false,"name":"withdrawValue","type":"uint256"},{"indexed":false,"name":"newBalancesValue","type":"uint256"}],"name":"WithdrawEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_description","type":"string"},{"indexed":false,"name":"_initiator","type":"address"}],"name":"DescriptionPublished","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_type","type":"string"},{"indexed":false,"name":"_initiator","type":"address"},{"indexed":false,"name":"_to","type":"address"},{"indexed":false,"name":"_newvalue","type":"bool"}],"name":"ContractManagementUpdate","type":"event"}]

6060604052600060035560006007556000600b55602060405190810160405260008152600c9080516200003792916020019062000164565b50600d805461ffff19166101001790556000600e819055600f5560016014555b5b5b600160a060020a033316600081815260208181526040808320805460ff19166001908117909155600380548285528386208190558552600290935292208054600160a060020a03191690931790925581540190555b600160a060020a0333166000818152600460209081526040808320805460ff1916600190811790915560078054600585528386208190558552600690935292208054600160a060020a03191690931790925581540190555b600160a060020a0333166000818152600860209081526040808320805460ff19166001908117909155600b8054600985528386208190558552600a90935292208054600160a060020a03191690931790925581540190555b6200020e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001a757805160ff1916838001178555620001d7565b82800160010185558215620001d7579182015b82811115620001d7578251825591602001919060010190620001ba565b5b50620001e6929150620001ea565b5090565b6200020b91905b80821115620001e65760008155600101620001f1565b5090565b90565b612195806200021e6000396000f300606060405236156102015763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610206578063095ea7b31461029157806318160ddd146102c75780631855e405146102ec5780632322f4841461031f57806323b872dd146103445780632980a7b614610380578063313ce567146103b3578063332fa5bb146103d857806337c345cd146103fd5780634e232730146104305780635120bb20146104635780635788a0811461048a57806361314ee3146104bd57806366357f57146104f05780636a87f66d146105105780636f7920fd1461054357806370a08231146105685780637284e41614610599578063832b2c601461062457806384e1bf7414610655578063855c145b1461067c57806387113b88146106a157806395d89b41146106d357806396f2710d1461075e5780639739951c146107915780639f3edbe1146107c7578063a6ffefae146107e1578063a9059cbb14610812578063c047c1d814610848578063c0d3f37814610862578063c96304e814610894578063c96c8a1d146108c6578063dd62ed3e146108f8578063e7a354051461092f578063e7d137ec14610960578063ed861e13146109f7578063ef2a914714610a1c578063f234bac514610a4e578063f317b85b14610a66578063f3fef3a314610a97578063f9b4d63a14610adf575b600080fd5b341561021157600080fd5b610219610b12565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102565780820151818401525b60200161023d565b50505050905090810190601f1680156102835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561029c57600080fd5b6102b3600160a060020a0360043516602435610b49565b604051901515815260200160405180910390f35b34156102d257600080fd5b6102da610bc8565b60405190815260200160405180910390f35b34156102f757600080fd5b6102b3600160a060020a0360043516610bce565b604051901515815260200160405180910390f35b341561032a57600080fd5b6102da610ce5565b60405190815260200160405180910390f35b341561034f57600080fd5b6102b3600160a060020a0360043581169060243516604435610cf0565b604051901515815260200160405180910390f35b341561038b57600080fd5b6102b3600160a060020a0360043516610dbc565b604051901515815260200160405180910390f35b34156103be57600080fd5b6102da610fd1565b60405190815260200160405180910390f35b34156103e357600080fd5b6102da610fd6565b60405190815260200160405180910390f35b341561040857600080fd5b6102b3600160a060020a0360043516610fdc565b604051901515815260200160405180910390f35b341561043b57600080fd5b6102b3600160a060020a0360043516610ff1565b604051901515815260200160405180910390f35b341561046e57600080fd5b6102b3611203565b604051901515815260200160405180910390f35b341561049557600080fd5b6102b3600160a060020a036004351661120c565b604051901515815260200160405180910390f35b34156104c857600080fd5b6102b3600160a060020a0360043516611221565b604051901515815260200160405180910390f35b34156104fb57600080fd5b61050e6004803560248101910135611236565b005b341561051b57600080fd5b6102b3600160a060020a03600435166112d1565b604051901515815260200160405180910390f35b341561054e57600080fd5b6102da6113e8565b60405190815260200160405180910390f35b341561057357600080fd5b6102da600160a060020a03600435166113ee565b60405190815260200160405180910390f35b34156105a457600080fd5b61021961140d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102565780820151818401525b60200161023d565b50505050905090810190601f1680156102835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561062f57600080fd5b6102da600160a060020a03600435166114ab565b60405190815260200160405180910390f35b341561066057600080fd5b6102b36114bd565b604051901515815260200160405180910390f35b341561068757600080fd5b6102da6114cb565b60405190815260200160405180910390f35b34156106ac57600080fd5b6106b76004356114d1565b604051600160a060020a03909116815260200160405180910390f35b34156106de57600080fd5b6102196114ec565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102565780820151818401525b60200161023d565b50505050905090810190601f1680156102835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561076957600080fd5b6102b3600160a060020a0360043516611523565b604051901515815260200160405180910390f35b341561079c57600080fd5b6102b3600160a060020a0360043516602435611738565b604051901515815260200160405180910390f35b34156107d257600080fd5b61050e60043515156118bd565b005b34156107ec57600080fd5b6102da600160a060020a03600435166118ff565b60405190815260200160405180910390f35b341561081d57600080fd5b6102b3600160a060020a0360043516602435611911565b604051901515815260200160405180910390f35b341561085357600080fd5b61050e600435151561193a565b005b341561086d57600080fd5b6106b7600435611977565b604051600160a060020a03909116815260200160405180910390f35b341561089f57600080fd5b6102b36004803560248101910135611992565b604051901515815260200160405180910390f35b34156108d157600080fd5b6106b7600435611a13565b604051600160a060020a03909116815260200160405180910390f35b341561090357600080fd5b6102da600160a060020a0360043581169060243516611a2e565b60405190815260200160405180910390f35b341561093a57600080fd5b6102da600160a060020a0360043516611a5b565b60405190815260200160405180910390f35b341561096b57600080fd5b610219600160a060020a0360043516611a6d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102565780820151818401525b60200161023d565b50505050905090810190601f1680156102835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a0257600080fd5b6102da611b1d565b60405190815260200160405180910390f35b3415610a2757600080fd5b6106b7600435611b23565b604051600160a060020a03909116815260200160405180910390f35b3415610a5957600080fd5b61050e600435611b3e565b005b3415610a7157600080fd5b6102da600160a060020a0360043516611b72565b60405190815260200160405180910390f35b3415610aa257600080fd5b610ab9600160a060020a0360043516602435611b84565b604051921515835260208301919091526040808301919091526060909101905180910390f35b3415610aea57600080fd5b6102b3600160a060020a0360043516611dbf565b604051901515815260200160405180910390f35b60408051908101604052601281527f466f6f64436f696e2045636f53797374656d0000000000000000000000000000602082015281565b600d5460009060ff161515610b5d57600080fd5b600160a060020a03338116600081815260156020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b5b92915050565b600f5481565b600160a060020a03331660009081526020819052604081205460ff161515600114610bf857600080fd5b600160a060020a038216600090815260096020526040812054118015610c365750600160a060020a03821660009081526008602052604090205460ff165b15610cda57600160a060020a038216600090815260086020526040808220805460ff1916905560008051602061214a83398151915291339185919051600160a060020a03938416602082015291909216604080830191909152911515606082015260808082526007908201527f4d616e616765720000000000000000000000000000000000000000000000000060a082015260c001905180910390a1506001610cde565b5060005b5b5b919050565b601454600019015b90565b600d5460009060ff161515610d0457600080fd5b600160a060020a0380851660009081526015602090815260408083203390941683529290522054829010610da257610d3d848484611ed6565b15610da257600160a060020a0380851660009081526015602090815260408083203390941683529290522054610d739083611fb2565b600160a060020a0380861660009081526015602090815260408083203390941683529290522055506001610db3565b506000610db3565b610db3565b5060005b5b5b9392505050565b600160a060020a03331660009081526020819052604081205460ff161515600114610de657600080fd5b600160a060020a0382161515610dfb57600080fd5b600160a060020a0382166000908152600560205260408120541115610eea57600160a060020a03821660009081526004602052604090205460ff161515610ee157600160a060020a03821660009081526004602052604090819020805460ff1916600190811790915560008051602061214a833981519152913391859151600160a060020a0393841660208201529190921660408083019190915291151560608201526080808252600f908201527f5370656369616c204d616e61676572000000000000000000000000000000000060a082015260c001905180910390a1506001610ee5565b5060005b610cde565b600160a060020a0382166000818152600460209081526040808320805460ff1916600190811790915560078054600585528386208190558552600690935292819020805473ffffffffffffffffffffffffffffffffffffffff191690941790935580548201905560008051602061214a833981519152913391859151600160a060020a0393841660208201529190921660408083019190915291151560608201526080808252600f908201527f5370656369616c204d616e61676572000000000000000000000000000000000060a082015260c001905180910390a15060015b5b5b919050565b600881565b60035481565b60046020526000908152604090205460ff1681565b600160a060020a03331660009081526020819052604081205460ff16151560011461101b57600080fd5b600160a060020a038216151561103057600080fd5b600160a060020a038216600090815260016020526040812054111561111f57600160a060020a03821660009081526020819052604090205460ff161515610ee157600160a060020a03821660009081526020819052604090819020805460ff1916600190811790915560008051602061214a833981519152913391859151600160a060020a03938416602082015291909216604080830191909152911515606082015260808082526005908201527f4f776e657200000000000000000000000000000000000000000000000000000060a082015260c001905180910390a1506001610ee5565b5060005b610cde565b600160a060020a038216600081815260208181526040808320805460ff19166001908117909155600380548285528386208190558552600290935292819020805473ffffffffffffffffffffffffffffffffffffffff191690941790935580548201905560008051602061214a833981519152913391859151600160a060020a03938416602082015291909216604080830191909152911515606082015260808082526005908201527f4f776e657200000000000000000000000000000000000000000000000000000060a082015260c001905180910390a15060015b5b5b919050565b600d5460ff1681565b60006020819052908152604090205460ff1681565b60086020526000908152604090205460ff1681565b600160a060020a03331660009081526020819052604090205460ff16151560011461126057600080fd5b61126c600c83836120a9565b507f39b61914f7b671bd1243b7fdcab04d9db0afc45761a099512be0488f49a4ee28828233604051600160a060020a0382166020820152604080825281018390528060608101858580828437820191505094505050505060405180910390a15b5b5050565b600160a060020a03331660009081526020819052604081205460ff1615156001146112fb57600080fd5b600160a060020a0382166000908152600560205260408120541180156113395750600160a060020a03821660009081526004602052604090205460ff165b15610cda57600160a060020a038216600090815260046020526040808220805460ff1916905560008051602061214a83398151915291339185919051600160a060020a0393841660208201529190921660408083019190915291151560608201526080808252600f908201527f5370656369616c204d616e61676572000000000000000000000000000000000060a082015260c001905180910390a1506001610cde565b5060005b5b5b919050565b600e5481565b600160a060020a0381166000908152601060205260409020545b919050565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a35780601f10611478576101008083540402835291602001916114a3565b820191906000526020600020905b81548152906001019060200180831161148657829003601f168201915b505050505081565b60056020526000908152604090205481565b600d54610100900460ff1681565b60075481565b600a60205260009081526040902054600160a060020a031681565b60408051908101604052600481527f464f4f4400000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a03331660009081526020819052604081205460ff16151560011461154d57600080fd5b600160a060020a038216151561156257600080fd5b600160a060020a038216600090815260096020526040812054111561165157600160a060020a03821660009081526008602052604090205460ff161515610ee157600160a060020a03821660009081526008602052604090819020805460ff1916600190811790915560008051602061214a833981519152913391859151600160a060020a03938416602082015291909216604080830191909152911515606082015260808082526007908201527f4d616e616765720000000000000000000000000000000000000000000000000060a082015260c001905180910390a1506001610ee5565b5060005b610cde565b600160a060020a0382166000818152600860209081526040808320805460ff19166001908117909155600b8054600985528386208190558552600a90935292819020805473ffffffffffffffffffffffffffffffffffffffff191690941790935580548201905560008051602061214a833981519152913391859151600160a060020a03938416602082015291909216604080830191909152911515606082015260808082526007908201527f4d616e616765720000000000000000000000000000000000000000000000000060a082015260c001905180910390a15060015b5b5b919050565b600160a060020a0333166000908152600860205260408120548190819060ff161515600114806117855750600160a060020a03331660009081526020819052604090205460ff1615156001145b151561179057600080fd5b600d54610100900460ff1615156117a657600080fd5b600160a060020a03851615156117bb57600080fd5b6117c7600f5485611fcd565b91508390506000600e541180156117df575081600e54105b156117e8575060005b6000811115611859576117fb8582611ff5565b600f8290557fe6b55ff367ef38563f2bd3fa0ce811ab39eb6e110ecde03d81824cbd092e1b5333856001604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390a16118b2565b600092507fe6b55ff367ef38563f2bd3fa0ce811ab39eb6e110ecde03d81824cbd092e1b5333856000604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390a15b5b5b5b505092915050565b600160a060020a03331660009081526020819052604090205460ff1615156001146118e757600080fd5b600d805461ff001916610100831515021790555b5b50565b60126020526000908152604090205481565b600d5460009060ff16151561192557600080fd5b611930338484611ed6565b90505b5b92915050565b600160a060020a03331660009081526020819052604090205460ff16151560011461196457600080fd5b600d805460ff19168215151790555b5b50565b600660205260009081526040902054600160a060020a031681565b600160a060020a033316600090815260126020526040812054819011806119d65750600160a060020a03331660009081526020819052604090205460ff1615156001145b15611a0857600160a060020a03331660009081526013602052604090206119fe9084846120a9565b5060019050610bc1565b5060005b5b92915050565b600260205260009081526040902054600160a060020a031681565b600160a060020a038083166000908152601560209081526040808320938516835292905220545b92915050565b60096020526000908152604090205481565b60136020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a35780601f10611478576101008083540402835291602001916114a3565b820191906000526020600020905b81548152906001019060200180831161148657829003601f168201915b505050505081565b600b5481565b601160205260009081526040902054600160a060020a031681565b600160a060020a03331660009081526020819052604090205460ff161515600114611b6857600080fd5b600e8190555b5b50565b60016020526000908152604090205481565b600160a060020a03331660009081526004602052604081205481908190819060ff16151560011480611bd35750600160a060020a03331660009081526020819052604090205460ff1615156001145b1515611bde57600080fd5b600160a060020a0386166000908152601060205260408120541115611d1d5750600160a060020a038516600090815260106020526040902054849081901015611c3c5750600160a060020a0385166000908152601060205260409020545b600160a060020a038616600090815260106020526040902054611c5f9082611fb2565b600160a060020a038716600090815260106020526040902055600f54611c859082611fb2565b600f55600160a060020a03861660009081526010602052604090819020546001955091935090915082907f21fb39d465705759b484312812365a55968e5c2dd91a66bd729f2938267362d3903390889087908590879051600160a060020a0395861681529390941660208401529015156040808401919091526060830191909152608082019290925260a001905180910390a1611db5565b6000935060009250600091507f21fb39d465705759b484312812365a55968e5c2dd91a66bd729f2938267362d33387600088601060008c600160a060020a0316600160a060020a0316815260200190815260200160002054604051600160a060020a0395861681529390941660208401529015156040808401919091526060830191909152608082019290925260a001905180910390a15b5b5b509250925092565b600160a060020a03331660009081526020819052604081205460ff161515600114611de957600080fd5b600160a060020a038216600090815260016020526040812054118015611e275750600160a060020a03821660009081526020819052604090205460ff165b15610cda57600160a060020a038216600090815260208190526040808220805460ff1916905560008051602061214a83398151915291339185919051600160a060020a03938416602082015291909216604080830191909152911515606082015260808082526005908201527f4f776e657200000000000000000000000000000000000000000000000000000060a082015260c001905180910390a1506001610cde565b5060005b5b5b919050565b600d5460009060ff161515611eea57600080fd5b600082118015611f135750600160a060020a038416600090815260106020526040902054829010155b15610da257600160a060020a038416600090815260106020526040902080548390039055611f418383611ff5565b7f5f2147fb558c977441fbdfebcf8cd5776606adc8da5ff95566fc2a4137e54d1384848433604051600160a060020a03948516815292841660208401526040808401929092529092166060820152608001905180910390a1506001610db3565b506000610db3565b5b5b9392505050565b60008082841015611fbf57fe5b5050808203805b5092915050565b6000828201838110801590611fe25750828110155b1515611fea57fe5b8091505b5092915050565b600160a060020a038216600090815260126020526040902054151561206857601480546000908152601160209081526040808320805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0388169081179091558454908452601290925290912081905560010190555b600160a060020a03821660009081526010602052604090205461208b9082611fcd565b600160a060020a0383166000908152601060205260409020555b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106120ea5782800160ff19823516178555612117565b82800160010185558215612117579182015b828111156121175782358255916020019190600101906120fc565b5b50612124929150612128565b5090565b610ced91905b80821115612124576000815560010161212e565b5090565b9056006c6101fd1570b1aab5df950281927dc38948a2c946b8dba26b29dbe98fbe2d8da165627a7a72305820df6e09e125cbc20e3be7a9fcf54d44e42a82d60d58dd54bb7c2f1f177982198d0029

Deployed Bytecode

0x606060405236156102015763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610206578063095ea7b31461029157806318160ddd146102c75780631855e405146102ec5780632322f4841461031f57806323b872dd146103445780632980a7b614610380578063313ce567146103b3578063332fa5bb146103d857806337c345cd146103fd5780634e232730146104305780635120bb20146104635780635788a0811461048a57806361314ee3146104bd57806366357f57146104f05780636a87f66d146105105780636f7920fd1461054357806370a08231146105685780637284e41614610599578063832b2c601461062457806384e1bf7414610655578063855c145b1461067c57806387113b88146106a157806395d89b41146106d357806396f2710d1461075e5780639739951c146107915780639f3edbe1146107c7578063a6ffefae146107e1578063a9059cbb14610812578063c047c1d814610848578063c0d3f37814610862578063c96304e814610894578063c96c8a1d146108c6578063dd62ed3e146108f8578063e7a354051461092f578063e7d137ec14610960578063ed861e13146109f7578063ef2a914714610a1c578063f234bac514610a4e578063f317b85b14610a66578063f3fef3a314610a97578063f9b4d63a14610adf575b600080fd5b341561021157600080fd5b610219610b12565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102565780820151818401525b60200161023d565b50505050905090810190601f1680156102835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561029c57600080fd5b6102b3600160a060020a0360043516602435610b49565b604051901515815260200160405180910390f35b34156102d257600080fd5b6102da610bc8565b60405190815260200160405180910390f35b34156102f757600080fd5b6102b3600160a060020a0360043516610bce565b604051901515815260200160405180910390f35b341561032a57600080fd5b6102da610ce5565b60405190815260200160405180910390f35b341561034f57600080fd5b6102b3600160a060020a0360043581169060243516604435610cf0565b604051901515815260200160405180910390f35b341561038b57600080fd5b6102b3600160a060020a0360043516610dbc565b604051901515815260200160405180910390f35b34156103be57600080fd5b6102da610fd1565b60405190815260200160405180910390f35b34156103e357600080fd5b6102da610fd6565b60405190815260200160405180910390f35b341561040857600080fd5b6102b3600160a060020a0360043516610fdc565b604051901515815260200160405180910390f35b341561043b57600080fd5b6102b3600160a060020a0360043516610ff1565b604051901515815260200160405180910390f35b341561046e57600080fd5b6102b3611203565b604051901515815260200160405180910390f35b341561049557600080fd5b6102b3600160a060020a036004351661120c565b604051901515815260200160405180910390f35b34156104c857600080fd5b6102b3600160a060020a0360043516611221565b604051901515815260200160405180910390f35b34156104fb57600080fd5b61050e6004803560248101910135611236565b005b341561051b57600080fd5b6102b3600160a060020a03600435166112d1565b604051901515815260200160405180910390f35b341561054e57600080fd5b6102da6113e8565b60405190815260200160405180910390f35b341561057357600080fd5b6102da600160a060020a03600435166113ee565b60405190815260200160405180910390f35b34156105a457600080fd5b61021961140d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102565780820151818401525b60200161023d565b50505050905090810190601f1680156102835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561062f57600080fd5b6102da600160a060020a03600435166114ab565b60405190815260200160405180910390f35b341561066057600080fd5b6102b36114bd565b604051901515815260200160405180910390f35b341561068757600080fd5b6102da6114cb565b60405190815260200160405180910390f35b34156106ac57600080fd5b6106b76004356114d1565b604051600160a060020a03909116815260200160405180910390f35b34156106de57600080fd5b6102196114ec565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102565780820151818401525b60200161023d565b50505050905090810190601f1680156102835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561076957600080fd5b6102b3600160a060020a0360043516611523565b604051901515815260200160405180910390f35b341561079c57600080fd5b6102b3600160a060020a0360043516602435611738565b604051901515815260200160405180910390f35b34156107d257600080fd5b61050e60043515156118bd565b005b34156107ec57600080fd5b6102da600160a060020a03600435166118ff565b60405190815260200160405180910390f35b341561081d57600080fd5b6102b3600160a060020a0360043516602435611911565b604051901515815260200160405180910390f35b341561085357600080fd5b61050e600435151561193a565b005b341561086d57600080fd5b6106b7600435611977565b604051600160a060020a03909116815260200160405180910390f35b341561089f57600080fd5b6102b36004803560248101910135611992565b604051901515815260200160405180910390f35b34156108d157600080fd5b6106b7600435611a13565b604051600160a060020a03909116815260200160405180910390f35b341561090357600080fd5b6102da600160a060020a0360043581169060243516611a2e565b60405190815260200160405180910390f35b341561093a57600080fd5b6102da600160a060020a0360043516611a5b565b60405190815260200160405180910390f35b341561096b57600080fd5b610219600160a060020a0360043516611a6d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102565780820151818401525b60200161023d565b50505050905090810190601f1680156102835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a0257600080fd5b6102da611b1d565b60405190815260200160405180910390f35b3415610a2757600080fd5b6106b7600435611b23565b604051600160a060020a03909116815260200160405180910390f35b3415610a5957600080fd5b61050e600435611b3e565b005b3415610a7157600080fd5b6102da600160a060020a0360043516611b72565b60405190815260200160405180910390f35b3415610aa257600080fd5b610ab9600160a060020a0360043516602435611b84565b604051921515835260208301919091526040808301919091526060909101905180910390f35b3415610aea57600080fd5b6102b3600160a060020a0360043516611dbf565b604051901515815260200160405180910390f35b60408051908101604052601281527f466f6f64436f696e2045636f53797374656d0000000000000000000000000000602082015281565b600d5460009060ff161515610b5d57600080fd5b600160a060020a03338116600081815260156020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b5b92915050565b600f5481565b600160a060020a03331660009081526020819052604081205460ff161515600114610bf857600080fd5b600160a060020a038216600090815260096020526040812054118015610c365750600160a060020a03821660009081526008602052604090205460ff165b15610cda57600160a060020a038216600090815260086020526040808220805460ff1916905560008051602061214a83398151915291339185919051600160a060020a03938416602082015291909216604080830191909152911515606082015260808082526007908201527f4d616e616765720000000000000000000000000000000000000000000000000060a082015260c001905180910390a1506001610cde565b5060005b5b5b919050565b601454600019015b90565b600d5460009060ff161515610d0457600080fd5b600160a060020a0380851660009081526015602090815260408083203390941683529290522054829010610da257610d3d848484611ed6565b15610da257600160a060020a0380851660009081526015602090815260408083203390941683529290522054610d739083611fb2565b600160a060020a0380861660009081526015602090815260408083203390941683529290522055506001610db3565b506000610db3565b610db3565b5060005b5b5b9392505050565b600160a060020a03331660009081526020819052604081205460ff161515600114610de657600080fd5b600160a060020a0382161515610dfb57600080fd5b600160a060020a0382166000908152600560205260408120541115610eea57600160a060020a03821660009081526004602052604090205460ff161515610ee157600160a060020a03821660009081526004602052604090819020805460ff1916600190811790915560008051602061214a833981519152913391859151600160a060020a0393841660208201529190921660408083019190915291151560608201526080808252600f908201527f5370656369616c204d616e61676572000000000000000000000000000000000060a082015260c001905180910390a1506001610ee5565b5060005b610cde565b600160a060020a0382166000818152600460209081526040808320805460ff1916600190811790915560078054600585528386208190558552600690935292819020805473ffffffffffffffffffffffffffffffffffffffff191690941790935580548201905560008051602061214a833981519152913391859151600160a060020a0393841660208201529190921660408083019190915291151560608201526080808252600f908201527f5370656369616c204d616e61676572000000000000000000000000000000000060a082015260c001905180910390a15060015b5b5b919050565b600881565b60035481565b60046020526000908152604090205460ff1681565b600160a060020a03331660009081526020819052604081205460ff16151560011461101b57600080fd5b600160a060020a038216151561103057600080fd5b600160a060020a038216600090815260016020526040812054111561111f57600160a060020a03821660009081526020819052604090205460ff161515610ee157600160a060020a03821660009081526020819052604090819020805460ff1916600190811790915560008051602061214a833981519152913391859151600160a060020a03938416602082015291909216604080830191909152911515606082015260808082526005908201527f4f776e657200000000000000000000000000000000000000000000000000000060a082015260c001905180910390a1506001610ee5565b5060005b610cde565b600160a060020a038216600081815260208181526040808320805460ff19166001908117909155600380548285528386208190558552600290935292819020805473ffffffffffffffffffffffffffffffffffffffff191690941790935580548201905560008051602061214a833981519152913391859151600160a060020a03938416602082015291909216604080830191909152911515606082015260808082526005908201527f4f776e657200000000000000000000000000000000000000000000000000000060a082015260c001905180910390a15060015b5b5b919050565b600d5460ff1681565b60006020819052908152604090205460ff1681565b60086020526000908152604090205460ff1681565b600160a060020a03331660009081526020819052604090205460ff16151560011461126057600080fd5b61126c600c83836120a9565b507f39b61914f7b671bd1243b7fdcab04d9db0afc45761a099512be0488f49a4ee28828233604051600160a060020a0382166020820152604080825281018390528060608101858580828437820191505094505050505060405180910390a15b5b5050565b600160a060020a03331660009081526020819052604081205460ff1615156001146112fb57600080fd5b600160a060020a0382166000908152600560205260408120541180156113395750600160a060020a03821660009081526004602052604090205460ff165b15610cda57600160a060020a038216600090815260046020526040808220805460ff1916905560008051602061214a83398151915291339185919051600160a060020a0393841660208201529190921660408083019190915291151560608201526080808252600f908201527f5370656369616c204d616e61676572000000000000000000000000000000000060a082015260c001905180910390a1506001610cde565b5060005b5b5b919050565b600e5481565b600160a060020a0381166000908152601060205260409020545b919050565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a35780601f10611478576101008083540402835291602001916114a3565b820191906000526020600020905b81548152906001019060200180831161148657829003601f168201915b505050505081565b60056020526000908152604090205481565b600d54610100900460ff1681565b60075481565b600a60205260009081526040902054600160a060020a031681565b60408051908101604052600481527f464f4f4400000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a03331660009081526020819052604081205460ff16151560011461154d57600080fd5b600160a060020a038216151561156257600080fd5b600160a060020a038216600090815260096020526040812054111561165157600160a060020a03821660009081526008602052604090205460ff161515610ee157600160a060020a03821660009081526008602052604090819020805460ff1916600190811790915560008051602061214a833981519152913391859151600160a060020a03938416602082015291909216604080830191909152911515606082015260808082526007908201527f4d616e616765720000000000000000000000000000000000000000000000000060a082015260c001905180910390a1506001610ee5565b5060005b610cde565b600160a060020a0382166000818152600860209081526040808320805460ff19166001908117909155600b8054600985528386208190558552600a90935292819020805473ffffffffffffffffffffffffffffffffffffffff191690941790935580548201905560008051602061214a833981519152913391859151600160a060020a03938416602082015291909216604080830191909152911515606082015260808082526007908201527f4d616e616765720000000000000000000000000000000000000000000000000060a082015260c001905180910390a15060015b5b5b919050565b600160a060020a0333166000908152600860205260408120548190819060ff161515600114806117855750600160a060020a03331660009081526020819052604090205460ff1615156001145b151561179057600080fd5b600d54610100900460ff1615156117a657600080fd5b600160a060020a03851615156117bb57600080fd5b6117c7600f5485611fcd565b91508390506000600e541180156117df575081600e54105b156117e8575060005b6000811115611859576117fb8582611ff5565b600f8290557fe6b55ff367ef38563f2bd3fa0ce811ab39eb6e110ecde03d81824cbd092e1b5333856001604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390a16118b2565b600092507fe6b55ff367ef38563f2bd3fa0ce811ab39eb6e110ecde03d81824cbd092e1b5333856000604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390a15b5b5b5b505092915050565b600160a060020a03331660009081526020819052604090205460ff1615156001146118e757600080fd5b600d805461ff001916610100831515021790555b5b50565b60126020526000908152604090205481565b600d5460009060ff16151561192557600080fd5b611930338484611ed6565b90505b5b92915050565b600160a060020a03331660009081526020819052604090205460ff16151560011461196457600080fd5b600d805460ff19168215151790555b5b50565b600660205260009081526040902054600160a060020a031681565b600160a060020a033316600090815260126020526040812054819011806119d65750600160a060020a03331660009081526020819052604090205460ff1615156001145b15611a0857600160a060020a03331660009081526013602052604090206119fe9084846120a9565b5060019050610bc1565b5060005b5b92915050565b600260205260009081526040902054600160a060020a031681565b600160a060020a038083166000908152601560209081526040808320938516835292905220545b92915050565b60096020526000908152604090205481565b60136020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114a35780601f10611478576101008083540402835291602001916114a3565b820191906000526020600020905b81548152906001019060200180831161148657829003601f168201915b505050505081565b600b5481565b601160205260009081526040902054600160a060020a031681565b600160a060020a03331660009081526020819052604090205460ff161515600114611b6857600080fd5b600e8190555b5b50565b60016020526000908152604090205481565b600160a060020a03331660009081526004602052604081205481908190819060ff16151560011480611bd35750600160a060020a03331660009081526020819052604090205460ff1615156001145b1515611bde57600080fd5b600160a060020a0386166000908152601060205260408120541115611d1d5750600160a060020a038516600090815260106020526040902054849081901015611c3c5750600160a060020a0385166000908152601060205260409020545b600160a060020a038616600090815260106020526040902054611c5f9082611fb2565b600160a060020a038716600090815260106020526040902055600f54611c859082611fb2565b600f55600160a060020a03861660009081526010602052604090819020546001955091935090915082907f21fb39d465705759b484312812365a55968e5c2dd91a66bd729f2938267362d3903390889087908590879051600160a060020a0395861681529390941660208401529015156040808401919091526060830191909152608082019290925260a001905180910390a1611db5565b6000935060009250600091507f21fb39d465705759b484312812365a55968e5c2dd91a66bd729f2938267362d33387600088601060008c600160a060020a0316600160a060020a0316815260200190815260200160002054604051600160a060020a0395861681529390941660208401529015156040808401919091526060830191909152608082019290925260a001905180910390a15b5b5b509250925092565b600160a060020a03331660009081526020819052604081205460ff161515600114611de957600080fd5b600160a060020a038216600090815260016020526040812054118015611e275750600160a060020a03821660009081526020819052604090205460ff165b15610cda57600160a060020a038216600090815260208190526040808220805460ff1916905560008051602061214a83398151915291339185919051600160a060020a03938416602082015291909216604080830191909152911515606082015260808082526005908201527f4f776e657200000000000000000000000000000000000000000000000000000060a082015260c001905180910390a1506001610cde565b5060005b5b5b919050565b600d5460009060ff161515611eea57600080fd5b600082118015611f135750600160a060020a038416600090815260106020526040902054829010155b15610da257600160a060020a038416600090815260106020526040902080548390039055611f418383611ff5565b7f5f2147fb558c977441fbdfebcf8cd5776606adc8da5ff95566fc2a4137e54d1384848433604051600160a060020a03948516815292841660208401526040808401929092529092166060820152608001905180910390a1506001610db3565b506000610db3565b5b5b9392505050565b60008082841015611fbf57fe5b5050808203805b5092915050565b6000828201838110801590611fe25750828110155b1515611fea57fe5b8091505b5092915050565b600160a060020a038216600090815260126020526040902054151561206857601480546000908152601160209081526040808320805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0388169081179091558454908452601290925290912081905560010190555b600160a060020a03821660009081526010602052604090205461208b9082611fcd565b600160a060020a0383166000908152601060205260409020555b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106120ea5782800160ff19823516178555612117565b82800160010185558215612117579182015b828111156121175782358255916020019190600101906120fc565b5b50612124929150612128565b5090565b610ced91905b80821115612124576000815560010161212e565b5090565b9056006c6101fd1570b1aab5df950281927dc38948a2c946b8dba26b29dbe98fbe2d8da165627a7a72305820df6e09e125cbc20e3be7a9fcf54d44e42a82d60d58dd54bb7c2f1f177982198d0029

Swarm Source

bzzr://df6e09e125cbc20e3be7a9fcf54d44e42a82d60d58dd54bb7c2f1f177982198d

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.