public HuobiMarketByPriceWebsocketClient(
     IHuobiMarketByPriceWebsocketCommunicator communicator,
     IHuobiSerializer serializer,
     ILogger <HuobiMarketByPriceWebsocketClient> logger)
     : base(communicator, serializer, logger)
 {
 }
        internal static bool TryParse(
            IHuobiSerializer serializer,
            string input,
            [MaybeNullWhen(false)] out SubscribeResponse response)
        {
            var result = serializer.TryDeserializeIfContains(input, "\"subbed\"", out response);

            return(result && response?.Timestamp.Ticks > 0);
        }
 public HuobiAccountWebsocketClient(
     IOptions <HuobiAccountWebsocketClientConfig> config,
     IHuobiAccountWebsocketCommunicator communicator,
     IHuobiSerializer serializer,
     IHuobiAuthenticationRequestFactory authenticationRequestFactory,
     ILogger <HuobiAccountWebsocketClient> logger)
     : base(communicator, serializer, logger)
 {
     _config = config;
     _authenticationRequestFactory = authenticationRequestFactory;
 }
        internal static bool TryParse(
            IHuobiSerializer serializer,
            string input,
            [MaybeNullWhen(false)] out TradeDetailsMessage response)
        {
            var result = serializer.TryDeserializeIfContains(
                input,
                AccountSubscriptionType.TradeDetails.ToTopicId(),
                "\"message\"",
                out response);

            return(result && response?.Data?.TradeTime.Ticks > 0);
        }
Esempio n. 5
0
        protected HuobiWebsocketClientBase(
            IHuobiGenericWebsocketCommunicator communicator,
            IHuobiSerializer serializer,
            ILogger <HuobiWebsocketClientBase <TStreams> > logger)
        {
            Communicator = communicator;
            Serializer   = serializer;
            _logger      = logger;

            _messageReceivedSubscription       = Communicator.MessageReceived.Subscribe(HandleMessage);
            _reconnectionHappenedSubscription  = Communicator.ReconnectionHappened.Subscribe(HandleReconnectionInfoMessage);
            _disconnectionHappenedSubscription = Communicator.DisconnectionHappened.Subscribe(HandleDisconnectionInfoMessage);
        }
        internal static bool TryParse(
            IHuobiSerializer serializer,
            string input,
            [MaybeNullWhen(false)] out PingRequest response)
        {
            var result = serializer.TryDeserializeIfContains(
                input,
                new[]
            {
                "\"ping\""
            },
                out response);

            return(result && response?.Value > 0);
        }
Esempio n. 7
0
        internal static bool TryParse(
            IHuobiSerializer serializer,
            string input,
            [MaybeNullWhen(false)] out AccountPingRequest response)
        {
            var result = serializer.TryDeserializeIfContains(
                input,
                new[]
            {
                "\"ping\""
            },
                out response);

            return(result && string.Equals(response?.Action, "ping"));
        }
Esempio n. 8
0
        internal static bool TryParse(
            IHuobiSerializer serializer,
            string input,
            [MaybeNullWhen(false)] out MarketByPricePullResponse response)
        {
            var result = serializer.TryDeserializeIfContains(
                input,
                new[]
            {
                "\"rep\"",
                SubscriptionType.MarketByPrice.ToTopicId()
            },
                out response);

            return(result && response?.Data?.SeqNum > 0);
        }
        internal static bool TryParse(
            IHuobiSerializer serializer,
            string input,
            [MaybeNullWhen(false)] out MarketCandlestickPullResponse response)
        {
            var result = serializer.TryDeserializeIfContains(
                input,
                new[]
            {
                "\"rep\"",
                SubscriptionType.MarketCandlestick.ToTopicId()
            },
                out response);

            return(result && response?.Data?.FirstOrDefault()?.Id > 0);
        }
Esempio n. 10
0
        internal static bool TryParse(
            IHuobiSerializer serializer,
            string input,
            [MaybeNullWhen(false)] out AccountErrorMessage response)
        {
            var result = serializer.TryDeserializeIfContains(
                input,
                new[]
            {
                "\"code\"",
                "\"message\""
            },
                out response);

            return(result && response?.Code != 200);
        }
Esempio n. 11
0
        internal static bool TryParse(
            IHuobiSerializer serializer,
            string input,
            [MaybeNullWhen(false)] out MarketBestBidOfferUpdateMessage response)
        {
            var result = serializer.TryDeserializeIfContains(
                input,
                new[]
            {
                "\"tick\"",
                SubscriptionType.MarketBestBidOffer.ToTopicId()
            },
                out response);

            return(result && !string.IsNullOrEmpty(response?.Tick?.Symbol));
        }
        internal static bool TryParse(
            IHuobiSerializer serializer,
            string input,
            [MaybeNullWhen(false)] out AuthenticationResponse response)
        {
            var result = serializer.TryDeserializeIfContains(
                input,
                new[]
            {
                "\"req\"",
                "\"auth\""
            },
                out response);

            return(result);
        }
Esempio n. 13
0
        internal static bool TryParse(
            IHuobiSerializer serializer,
            string input,
            [MaybeNullWhen(false)] out MarketCandlestickUpdateMessage response)
        {
            var result = serializer.TryDeserializeIfContains(
                input,
                new[]
            {
                "\"tick\"",
                SubscriptionType.MarketCandlestick.ToTopicId()
            },
                out response);

            return(result && response?.Tick?.Id > 0);
        }
        internal static bool TryParse(
            IHuobiSerializer serializer,
            string input,
            [MaybeNullWhen(false)] out ConditionalOrderTriggerFailureMessage response)
        {
            var result = serializer.TryDeserializeIfContains(
                input,
                new[]
            {
                AccountSubscriptionType.Orders.ToTopicId(),
                OrderEventType.Trigger.ToString().ToLower()
            },
                out response);

            return(result && response?.Data?.ErrorCode > 0);
        }
        internal static bool TryParse(
            IHuobiSerializer serializer,
            string input,
            [MaybeNullWhen(false)] out OrderCanceledMessage response)
        {
            var result = serializer.TryDeserializeIfContains(
                input,
                new[]
            {
                AccountSubscriptionType.Orders.ToTopicId(),
                OrderEventType.Cancellation.ToString().ToLower()
            },
                out response);

            return(result && response?.Data?.OrderId > 0);
        }
        internal static bool TryParse(
            IHuobiSerializer serializer,
            string input,
            [MaybeNullWhen(false)] out AccountSubscribeResponse response)
        {
            var result = serializer.TryDeserializeIfContains(
                input,
                new[]
            {
                "\"sub\"",
                "\"code\""
            },
                new[]
            {
                "\"message\""
            },
                out response);

            return(result);
        }
Esempio n. 17
0
        internal static bool TryParse(IHuobiSerializer serializer, string input, [MaybeNullWhen(false)] out ErrorMessage response)
        {
            var result = serializer.TryDeserializeIfContains(input, "\"err-code\"", out response);

            return(result && !string.IsNullOrEmpty(response?.ErrorCode));
        }