Exemple #1
0
        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));
        }
Exemple #2
0
        public async void UpCheck()
        {
            var quorumEnclave = new QuorumEnclave(url + ":9081");

            Assert.True(await quorumEnclave.UpCheckAsync());
        }