/// <summary>	Makes raw syncronus request </summary>
        ///
        /// <remarks>	Paul, 26/11/2014. </remarks>
        ///
        /// <typeparam name="T">	Request packet </typeparam>
        /// <param name="request">	. </param>
        ///
        /// <returns>	A BitsharesResponse&lt;T&gt; </returns>
        public BitsharesResponse <T> MakeRawRequestSync <T>(BitsharesRequest request)
        {
            string result = Rest.ExecutePostSync(m_rpcUrl, JsonSerializer.SerializeToString(request), Rest.kContentTypeJson, m_rpcUsername, m_rpcPassword);
            BitsharesResponse <T> response = JsonSerializer.DeserializeFromString <BitsharesResponse <T> >(result);

            if (response.result == null)
            {
                // an error may have occured here
                BitsharesErrorResponse error = JsonSerializer.DeserializeFromString <BitsharesErrorResponse>(result);
                if (error.error != null)
                {
                    throw new BitsharesRpcException(error.error);
                }
            }

            return(response);
        }
        /// <summary>	Makes syncronus request </summary>
        ///
        /// <remarks>	Paul, 26/11/2014. </remarks>
        ///
        /// <typeparam name="T">	Request packet. </typeparam>
        /// <param name="request">	. </param>
        ///
        /// <returns>	A T. </returns>
        public T MakeRequestSync <T>(BitsharesRequest request)
        {
            BitsharesResponse <T> response = MakeRawRequestSync <T>(request);

            return(response.result);
        }