Example #1
0
        static void CreateBittrexExchange(out BittrexClient exch, out BittrexSocketClient sock)
        {
            var evKeys = Environment.GetEnvironmentVariable("BITTREX_KEY", EnvironmentVariableTarget.User);
            var keys   = evKeys.Split('|');

            var clientOptions = new BittrexClientOptions();

            clientOptions.ApiCredentials = new ApiCredentials(keys[0], keys[1]);
            exch = new BittrexClient(clientOptions);
            //----------
            var socketOptions = new BittrexSocketClientOptions();

            socketOptions.ApiCredentials = clientOptions.ApiCredentials;
            sock = new BittrexSocketClient(socketOptions);
        }
        //public BittrexExchange(KafkaProducer p)
        public BittrexExchange(string bootstrapServers, string topic)
        {
            var evKeys = Environment.GetEnvironmentVariable(ApiKeyEnvVar, EnvironmentVariableTarget.User);
            var keys = evKeys.Split('|');

            var clientOptions = new BittrexClientOptions();
            clientOptions.ApiCredentials = new ApiCredentials(keys[0], keys[1]);
            this.exch = new BittrexClient(clientOptions);
            //----------
            var socketOptions = new BittrexSocketClientOptions();
            socketOptions.ApiCredentials = clientOptions.ApiCredentials;
            this.sock = new BittrexSocketClient(socketOptions);

            //_p = p;
            _p = new KafkaProducer(bootstrapServers, topic);
        }
        public static void InitializeApi(string encryptedCredentialsFile, string password)
        {
            m_creds = Credentials.LoadEncryptedJson(encryptedCredentialsFile, password);
            var cred = m_creds["BITTREX"];

            m_api = new BittrexApi(cred.Key, cred.Secret);

            BittrexClientOptions options = new BittrexClientOptions();

            options.ApiCredentials = new CryptoExchange.Net.Authentication.ApiCredentials(cred.Key, cred.Secret);
            m_client = new BittrexClient(options);

            //m_api.Test();
            //PrintAllBalances();
            //Ping(new string[] { "api.binance.com" });
            //Rebalance();

            //m_api.StartUserDataStream();
        }
Example #4
0
 /// <summary>
 /// Sets the default options to use for new clients
 /// </summary>
 /// <param name="options">The options to use for new clients</param>
 public static void SetDefaultOptions(BittrexClientOptions options)
 {
     defaultOptions = options;
 }
Example #5
0
 /// <summary>
 /// Create a new instance of the BittrexClient with the provided options
 /// </summary>
 public BittrexClient(BittrexClientOptions options) : base(options, options.ApiCredentials == null ? null : new BittrexAuthenticationProvider(options.ApiCredentials))
 {
     Configure(options);
 }
        public bool PlaceOrder(UserTradeOrder aOrder, bool aUseProxy = true)
        {
            if (!IsCredentialsSet)
            {
                throw new Exception("No Credentials were set");
            }

            if (aOrder == null)
            {
                throw new ArgumentNullException(nameof(aOrder), $"Invalid order{aOrder.ID}");
            }

            if (aOrder.Status != OrderStatus.Waiting)
            {
                return(false);
            }

            BittrexClientOptions lBittrexClientOptions = new BittrexClientOptions()
            {
                Proxy          = PandoraProxy.GetApiProxy(),
                ApiCredentials = new ApiCredentials(FUserCredentials.Item1, FUserCredentials.Item2)
            };

            using (BittrexClient lClient = aUseProxy ? new BittrexClient(lBittrexClientOptions) : new BittrexClient())
            {
                if (!aOrder.Market.TryCastToLocalMarket(out ExchangeMarket lExchangeMarket))
                {
                    throw new ArgumentException(nameof(aOrder.Market), "Invalid Market");
                }
                CallResult <BittrexOrder> lResponse;
                if (aOrder.Market.MarketDirection == MarketDirection.Sell)
                {
                    lResponse = lClient.PlaceOrderAsync(lExchangeMarket.MarketPairID, OrderSide.Sell, OrderType.Limit, TimeInForce.GoodTillCancelled, aOrder.SentQuantity, limit: aOrder.Rate).Result;
                }
                else
                {
                    lResponse = lClient.PlaceOrderAsync(lExchangeMarket.MarketPairID, OrderSide.Buy, OrderType.Limit, TimeInForce.GoodTillCancelled, aOrder.SentQuantity / aOrder.Rate, limit: aOrder.Rate).Result;
                }
                if (!lResponse.Success)
                {
                    throw new Exception("Bittrex Error. Message: " + lResponse.Error.Message);
                }

                string lUuid = lResponse.Data.Id;
                CallResult <BittrexOrder> lResponse2 = lClient.GetOrderAsync(lUuid).Result;
                if (!lResponse.Success)
                {
                    throw new Exception("Failed to verify order with server");
                }

                BittrexOrder lReceivedOrder = lResponse2.Data;

                aOrder.ID = lUuid;

                aOrder.OpenTime  = lReceivedOrder.CreatedAt;
                aOrder.Cancelled = lReceivedOrder.OrderToCancel != null;
                aOrder.Completed = lReceivedOrder.ClosedAt.HasValue;

                return(true);
            }
        }
Example #7
0
        public static IBittrexClient CreateAuthenticatedResponseClient <T>(T response, BittrexClientOptions options = null)
        {
            var client = (BittrexClient)CreateClient(options ?? new BittrexClientOptions()
            {
                ApiCredentials = new ApiCredentials("Test", "Test")
            });

            SetResponse(client, JsonConvert.SerializeObject(response));
            return(client);
        }
Example #8
0
 /// <summary>
 /// Create a new instance of the BittrexClient with the provided options
 /// </summary>
 public BittrexClient(BittrexClientOptions options) : base(options, options.ApiCredentials == null ? null : new BittrexAuthenticationProvider(options.ApiCredentials))
 {
     baseAddressV2 = options.BaseAddressV2;
 }
 /// <summary>
 /// Create a new instance of BittrexClient using the default options
 /// NOTE: The V3 API is in open beta. Errors might happen. If so, please report them on https://github.com/jkorf/bittrex.net
 /// </summary>
 public BittrexClientV3(BittrexClientOptions options) : base(options, options.ApiCredentials == null ? null : new BittrexAuthenticationProviderV3(options.ApiCredentials))
 {
 }