Пример #1
0
        protected override async Task <ECDSASignature> SignExternallyAsync(byte[] hash)
        {
            if (hash == null)
            {
                throw new ArgumentNullException(nameof(hash));
            }
            SignResult result;

            if (UseLegacyECDSA256)
            {
                result = await CryptoClient.SignAsync("ECDSA256", hash).ConfigureAwait(false);
            }
            else
            {
                result = await CryptoClient.SignAsync(SignatureAlgorithm.ES256K, hash).ConfigureAwait(false);
            }



            return(ECDSASignatureFactory.FromComponents(result.Signature).MakeCanonical());
        }
Пример #2
0
 public CryptoClientUnitTest()
 {
     cancellationTokenSource = new CancellationTokenSource();
     cryptoModels            = CryptoQuoteList(BTCsymbol, CurrencyList);
     httpMessageHandlerMock  = new Mock <HttpMessageHandler>();
     mockOptions             = new Mock <IOptionsMonitor <ExternalApiOptions> >();
     mockOptions.Setup(x => x.CurrentValue)
     .Returns(new ExternalApiOptions {
         ApiKey = "test", Uri = "https://pro-api.coinmarketcap.com/"
     });
     mockLogger = new Mock <ILogger <CryptoClient> >();
     httpMessageHandlerMock.Protected()
     .SetupSequence <Task <HttpResponseMessage> >(
         "SendAsync",
         ItExpr.IsAny <HttpRequestMessage>(),
         ItExpr.IsAny <CancellationToken>()
         ).ReturnsAsync(new HttpResponseMessage()
     {
         StatusCode = HttpStatusCode.OK,
         Content    = new StreamContent(GetStream(cryptoModels[0]))
     })
     .ReturnsAsync(new HttpResponseMessage()
     {
         StatusCode = HttpStatusCode.OK,
         Content    = new StreamContent(GetStream(cryptoModels[1]))
     })
     .ReturnsAsync(new HttpResponseMessage()
     {
         StatusCode = HttpStatusCode.OK,
         Content    = new StreamContent(GetStream(cryptoModels[2]))
     })
     .ReturnsAsync(new HttpResponseMessage()
     {
         StatusCode = HttpStatusCode.OK,
         Content    = new StreamContent(GetStream(cryptoModels[3]))
     });
     _httpClient  = new HttpClient(httpMessageHandlerMock.Object);
     cryptoClient = new CryptoClient(_httpClient, mockOptions.Object, mockLogger.Object);
 }
Пример #3
0
        private void btnConnect_Click(object sender, EventArgs e)
        {
            if (client != null)
            {
                client.Close();
            }

            client = new CryptoClient();
            client.MessageReceived += Socket_MessageReceived;
            client.ConnectionEnded += Socket_ConnectionEnded;

            bool connected = client.Connect(new IPEndPoint(IPAddress.Parse(txtIP.Text), 4242));

            if (connected)
            {
                Log("Connected to server.");
            }
            else
            {
                Log("Could not connect to server.");
            }
        }