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()); }
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); }
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."); } }