public async Task<List<Blake256Hash>> PurchaseTicketsAsync(Account account, Amount spendLimit, int reqConfs, Address ticketAddress, uint number, Address poolAddress, double poolFees, uint expiry, Amount txFee, Amount ticketFee, string passphrase) { var ticketAddressStr = ""; if (ticketAddress != null) { ticketAddressStr = ticketAddress.ToString(); } var poolAddressStr = ""; if (poolAddress != null) { poolAddressStr = poolAddress.ToString(); } if (poolAddressStr == "") { poolFees = 0.0; } var client = new WalletService.WalletServiceClient(_channel); var request = new PurchaseTicketsRequest { Passphrase = ByteString.CopyFromUtf8(passphrase), Account = account.AccountNumber, SpendLimit = spendLimit, RequiredConfirmations = (uint)reqConfs, TicketAddress = ticketAddressStr, NumTickets = number, PoolAddress = poolAddressStr, PoolFees = poolFees, Expiry = expiry, TxFee = txFee, TicketFee = ticketFee, }; var response = await client.PurchaseTicketsAsync(request, cancellationToken: _tokenSource.Token); return response.TicketHashes.Select(h => new Blake256Hash(h.ToByteArray())).ToList(); }