package account import ( "github.com/ethereum/go-ethereum/accounts" "github.com/status-im/status-go/account/generator" ) // GethManager represents account manager interface. type GethManager struct { *Manager gethAccManager *accounts.Manager } // NewGethManager returns new node account manager. func NewGethManager() *GethManager { m := &GethManager{} m.Manager = &Manager{accountsGenerator: generator.New(m)} return m } // InitKeystore sets key manager and key store. func (m *GethManager) InitKeystore(keydir string) error { m.mu.Lock() defer m.mu.Unlock() var err error m.gethAccManager, err = makeAccountManager(keydir) if err != nil { return err } m.keystore, err = makeKeyStore(m.gethAccManager) return err } func (m *GethManager) GetManager() *accounts.Manager { m.mu.RLock() defer m.mu.RUnlock() return m.gethAccManager }