public string GetDepositAddress(IExchangeMarket aMarket) { if (!IsCredentialsSet) { throw new Exception("No Credentials were set"); } string lResult; string lTicker = aMarket.SellingCurrencyInfo.Ticker; using (PoloniexClient lClient = new PoloniexClient()) { var lResponse = lClient.GetDepositAddresses(); if (!lResponse.Success) { throw new Exception("Failed to retrieve Poloniex Address. " + lResponse.Error.Message); } if (lResponse.Data.TryGetValue(lTicker, out string lAddress)) { lResult = lAddress; } else { var lNewAddressResponse = lClient.GenerateNewAddress(lTicker); if (!lNewAddressResponse.Success || !Convert.ToBoolean(lNewAddressResponse.Data.success)) { throw new Exception("Failed to retrieve Poloniex Address. " + lResponse.Error.Message); } lResult = lNewAddressResponse.Data.response; } } return(lResult); }