contract Admin {

	address public	admin;
	address public	feeAccount; // address feeAccount, which will receive fee.
	address public 	nextVersionAddress; // this is next address exchange
	bool 	public	orderEnd; // this is var use when Admin want close exchange
	string  public 	version; // number version example 1.0, test_1.0
	uint 	public	feeTake; //percentage times (1 ether)
	bool	public	pause;

	modifier assertAdmin() {
		if ( msg.sender != admin ) {
			revert();
		}
		_;
	}

	/*
	*	This is function, is needed to change address admin.
	*/
	function setAdmin( address _admin ) assertAdmin public {
		admin = _admin;
	}
	function setPause (bool state) assertAdmin public {
		pause = state;
	}
	/*
	* 	This is function, is needed to change version smart-contract.
	*/
	function setVersion(string _version) assertAdmin public {
		version = _version;	
	}

	/*
	* 	This is function, is needed to set address, next smart-contracts.
	*/
	function setNextVersionAddress(address _nextVersionAddress) assertAdmin public{
		nextVersionAddress = _nextVersionAddress;	
	}

	/*
	* 	This is function, is needed to stop, news orders.
	*	Can not turn off it.
	*/
	function setOrderEnd() assertAdmin public {
		orderEnd = true;
	}

	/*
	*	This is function, is needed to change address feeAccount.
	*/
	function setFeeAccount( address _feeAccount ) assertAdmin public {
		feeAccount = _feeAccount;
	}

	/*
	* 	This is function, is needed to set new fee.
	*	Can only be changed down.
	*/
	
	function setFeeTake( uint _feeTake ) assertAdmin public {
		feeTake = _feeTake;
	}
}
function setFeeTake( uint _feeTake ) assertAdmin public {
	feeTake = _feeTake;
}

/*
 	* 	This is function, is needed to set new fee.
 	*	Can only be changed down.
 	*/