From 70ba1adc93c80305ac6d5216efd92c74b050d598 Mon Sep 17 00:00:00 2001 From: jholdstock Date: Tue, 30 Jun 2020 09:46:31 +0100 Subject: [PATCH] Combine ImportPrivKey and AddTransaction --- background/background.go | 11 ++--------- rpc/dcrwallet.go | 19 +++++++++++++------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/background/background.go b/background/background.go index 06ba769..bdcd62c 100644 --- a/background/background.go +++ b/background/background.go @@ -192,16 +192,9 @@ func blockConnected() { continue } for _, walletClient := range walletClients { - err = walletClient.ImportPrivKey(ticket.VotingWIF) + err = walletClient.AddTicketForVoting(ticket.VotingWIF, rawTicket.BlockHash, rawTicket.Hex) if err != nil { - log.Errorf("%s: dcrwallet.ImportPrivKey error (wallet=%s, ticketHash=%s): %v", - funcName, walletClient.String(), ticket.Hash, err) - continue - } - - err = walletClient.AddTransaction(rawTicket.BlockHash, rawTicket.Hex) - if err != nil { - log.Errorf("%s: dcrwallet.AddTransaction error (wallet=%s, ticketHash=%s): %v", + log.Errorf("%s: dcrwallet.AddTicketForVoting error (wallet=%s, ticketHash=%s): %v", funcName, walletClient.String(), ticket.Hash, err) continue } diff --git a/rpc/dcrwallet.go b/rpc/dcrwallet.go index 0a472fd..7656be5 100644 --- a/rpc/dcrwallet.go +++ b/rpc/dcrwallet.go @@ -2,6 +2,7 @@ package rpc import ( "context" + "fmt" wallettypes "decred.org/dcrwallet/rpc/jsonrpc/types" "github.com/decred/dcrd/chaincfg/v3" @@ -125,15 +126,21 @@ func (w *WalletConnect) Clients(ctx context.Context, netParams *chaincfg.Params) return walletClients, failedConnections } -func (c *WalletRPC) AddTransaction(blockHash, txHex string) error { - return c.Call(c.ctx, "addtransaction", nil, blockHash, txHex) -} - -func (c *WalletRPC) ImportPrivKey(votingWIF string) error { +func (c *WalletRPC) AddTicketForVoting(votingWIF, blockHash, txHex string) error { label := "imported" rescan := false scanFrom := 0 - return c.Call(c.ctx, "importprivkey", nil, votingWIF, label, rescan, scanFrom) + err := c.Call(c.ctx, "importprivkey", nil, votingWIF, label, rescan, scanFrom) + if err != nil { + return fmt.Errorf("importprivkey failed: %v", err) + } + + err = c.Call(c.ctx, "addtransaction", nil, blockHash, txHex) + if err != nil { + return fmt.Errorf("addtransaction failed: %v", err) + } + + return nil } func (c *WalletRPC) SetVoteChoice(agenda, choice, ticketHash string) error {