Beispiel #1
0
        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);
        }