From e2ae35d98d2dc5c88973c0d4de56eb4e304b899e Mon Sep 17 00:00:00 2001 From: Michael de Hoog Date: Fri, 28 Jul 2023 08:00:59 -1000 Subject: [PATCH] Retry ledger signature on "wallet closed" error --- main.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/main.go b/main.go index 12fd391..f43ffb8 100644 --- a/main.go +++ b/main.go @@ -100,6 +100,15 @@ func main() { fmt.Printf("Data sent to ledger, awaiting signature...") } signature, err := s.sign(hash) + if err == accounts.ErrWalletClosed { + // ledger is flaky sometimes, recreate and retry + fmt.Printf("failed with %s, retrying...", err.Error()) + s, err = createSigner(privateKey, mnemonic, hdPath) + if err != nil { + log.Fatalf("Error creating signer: %v", err) + } + signature, err = s.sign(hash) + } if ledger { fmt.Println("done") }