// protected override Task<IEnumerable<ExchangeTransaction>> OnGetWithdrawHistoryAsync(string currency) => throw new NotImplementedException();
        // protected override Task<Dictionary<string, decimal>> OnGetMarginAmountsAvailableToTradeAsync(bool includeZeroBalances) => throw new NotImplementedException();
        // protected override Task<ExchangeMarginPositionResult> OnGetOpenPositionAsync(string marketSymbol) => throw new NotImplementedException();
        // protected override Task<ExchangeCloseMarginPositionResult> OnCloseMarginPositionAsync(string marketSymbol) => throw new NotImplementedException();

        /*
         */

        protected override Uri ProcessRequestUrl(UriBuilder url, Dictionary <string, object> payload, string method)
        {
            if (CanMakeAuthenticatedRequest(payload) && method == "GET" && payload.Count != 0)
            {
                var realPayload = new Dictionary <string, object>();
                payload.CopyTo(realPayload);
                realPayload.Remove("nonce");
                CryptoUtility.AppendPayloadToQuery(url, realPayload);
            }
            return(base.ProcessRequestUrl(url, payload, method));
        }