From 0e1812f6bf590fb92f6b69e98fcf9555eb41d492 Mon Sep 17 00:00:00 2001 From: zc-p Date: Sun, 21 Apr 2024 09:47:35 +0800 Subject: [PATCH] opt loop --- accounts/manager.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/accounts/manager.go b/accounts/manager.go index cbe4f7c79d..acc727f20a 100644 --- a/accounts/manager.go +++ b/accounts/manager.go @@ -66,15 +66,16 @@ type Manager struct { func NewManager(config *Config, backends ...Backend) *Manager { // Retrieve the initial list of wallets from the backends and sort by URL var wallets []Wallet - for _, backend := range backends { - wallets = merge(wallets, backend.Wallets()...) - } + // Subscribe to wallet notifications from all backends updates := make(chan WalletEvent, managerSubBufferSize) subs := make([]event.Subscription, len(backends)) + for i, backend := range backends { subs[i] = backend.Subscribe(updates) + + wallets = merge(wallets, backend.Wallets()...) } // Assemble the account manager and return am := &Manager{