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(); }
/// <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; }
/// <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); } }
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); }
/// <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)) { }