accounts/usbwallet: make wallet responsive while Ledger is busy

parent fb198468
This diff is collapsed.
...@@ -269,6 +269,13 @@ func startNode(ctx *cli.Context, stack *node.Node) { ...@@ -269,6 +269,13 @@ func startNode(ctx *cli.Context, stack *node.Node) {
} }
stateReader := ethclient.NewClient(rpcClient) stateReader := ethclient.NewClient(rpcClient)
// Open and self derive any wallets already attached
for _, wallet := range stack.AccountManager().Wallets() {
if err := wallet.Open(""); err != nil {
glog.V(logger.Warn).Infof("Failed to open wallet %s: %v", wallet.URL(), err)
}
wallet.SelfDerive(accounts.DefaultBaseDerivationPath, stateReader)
}
// Listen for wallet event till termination // Listen for wallet event till termination
for event := range events { for event := range events {
if event.Arrive { if event.Arrive {
...@@ -280,6 +287,7 @@ func startNode(ctx *cli.Context, stack *node.Node) { ...@@ -280,6 +287,7 @@ func startNode(ctx *cli.Context, stack *node.Node) {
event.Wallet.SelfDerive(accounts.DefaultBaseDerivationPath, stateReader) event.Wallet.SelfDerive(accounts.DefaultBaseDerivationPath, stateReader)
} else { } else {
glog.V(logger.Info).Infof("Old wallet dropped: %s", event.Wallet.URL()) glog.V(logger.Info).Infof("Old wallet dropped: %s", event.Wallet.URL())
event.Wallet.Close()
} }
} }
}() }()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment