private async Task <string> SignAndSendTransactionAsync(TransactionInput transaction) { if (Client == null) { throw new NullReferenceException("Client not configured"); } if (transaction == null) { throw new ArgumentNullException(nameof(transaction)); } if (!transaction.From.IsTheSameAddress(Account.Address)) { throw new Exception("Invalid account used signing"); } if (PrivateFor != null && PrivateFor.Count > 0) { var enclave = new QuorumEnclave(PrivateUrl); var key = await enclave.StoreRawAsync(Convert.ToBase64String(transaction.Data.HexToByteArray()), PrivateFrom); transaction.Data = Convert.FromBase64String(key).ToHex(); } var ethSendTransaction = new EthSendRawTransaction(Client); var signedTransaction = await SignTransactionRetrievingNextNonceAsync(transaction).ConfigureAwait(false); return(await ethSendTransaction.SendRequestAsync(signedTransaction.EnsureHexPrefix()).ConfigureAwait(false)); }
public async void UpCheck() { var quorumEnclave = new QuorumEnclave(url + ":9081"); Assert.True(await quorumEnclave.UpCheckAsync()); }