Example #1
0
        public async Task <Tuple <Transaction, bool> > SignTransactionAsync(string passphrase, Transaction tx)
        {
            var client  = new WalletService.WalletServiceClient(_channel);
            var request = new SignTransactionRequest
            {
                Passphrase            = ByteString.CopyFromUtf8(passphrase),
                SerializedTransaction = ByteString.CopyFrom(tx.Serialize()),
            };
            var response = await client.SignTransactionAsync(request, cancellationToken : _tokenSource.Token);

            var signedTransaction = Transaction.Deserialize(response.Transaction.ToByteArray());
            var complete          = response.UnsignedInputIndexes.Count == 0;

            return(Tuple.Create(signedTransaction, complete));
        }