diff --git a/account/accounts_geth.go b/account/accounts_geth.go index e6cf27d68..0bd25569a 100644 --- a/account/accounts_geth.go +++ b/account/accounts_geth.go @@ -1,5 +1,3 @@ -// +build !nimbus - package account import ( diff --git a/account/accounts_nimbus.go b/account/accounts_nimbus.go index 7f8bcaf78..3ebe0f9ec 100644 --- a/account/accounts_nimbus.go +++ b/account/accounts_nimbus.go @@ -18,12 +18,12 @@ func NewNimbusManager() *NimbusManager { return m } -// InitKeystore sets key manager and key store. -func (m *Manager) InitKeystore(keydir string) error { - m.mu.Lock() - defer m.mu.Unlock() +// // InitKeystore sets key manager and key store. +// func (m *Manager) InitKeystore(keydir string) error { +// m.mu.Lock() +// defer m.mu.Unlock() - var err error - m.keystore, err = makeKeyStore(keydir) - return err -} +// var err error +// m.keystore, err = makeKeyStore(keydir) +// return err +// } diff --git a/account/keystore_nimbus.go b/account/keystore_nimbus.go index ecf8896b5..c343f2c23 100644 --- a/account/keystore_nimbus.go +++ b/account/keystore_nimbus.go @@ -3,49 +3,47 @@ package account import ( - // "io/ioutil" - // "os" + "io/ioutil" + "os" - // gethbridge "github.com/status-im/status-go/eth-node/bridge/geth" - nimbusbridge "github.com/status-im/status-go/eth-node/bridge/nimbus" + "github.com/ethereum/go-ethereum/accounts" + "github.com/ethereum/go-ethereum/accounts/keystore" + + gethbridge "github.com/status-im/status-go/eth-node/bridge/geth" + // nimbusbridge "github.com/status-im/status-go/eth-node/bridge/nimbus" "github.com/status-im/status-go/eth-node/types" ) -// // makeAccountManager creates ethereum accounts.Manager with single disk backend and lightweight kdf. -// // If keydir is empty new temporary directory with go-ethereum-keystore will be intialized. -// func makeAccountManager(keydir string) (manager *accounts.Manager, err error) { -// if keydir == "" { -// // There is no datadir. -// keydir, err = ioutil.TempDir("", "nimbus-keystore") -// } -// if err != nil { -// return nil, err -// } -// if err := os.MkdirAll(keydir, 0700); err != nil { -// return nil, err -// } -// config := accounts.Config{InsecureUnlockAllowed: false} -// return accounts.NewManager(&config, keystore.NewKeyStore(keydir, keystore.LightScryptN, keystore.LightScryptP)), nil -// } - -// func makeKeyStore(keydir string) (types.KeyStore, error) { -// manager, err := makeAccountManager(keydir) -// if err != nil { -// return err -// } - -// backends := manager.Backends(keystore.KeyStoreType) -// if len(backends) == 0 { -// return nil, ErrAccountKeyStoreMissing -// } -// keyStore, ok := backends[0].(*keystore.KeyStore) -// if !ok { -// return nil, ErrAccountKeyStoreMissing -// } - -// return gethbridge.WrapKeyStore(keyStore), nil -// } - -func makeKeyStore(_ string) (types.KeyStore, error) { - return nimbusbridge.WrapKeyStore(), nil +// makeAccountManager creates ethereum accounts.Manager with single disk backend and lightweight kdf. +// If keydir is empty new temporary directory with go-ethereum-keystore will be intialized. +func makeAccountManager(keydir string) (manager *accounts.Manager, err error) { + if keydir == "" { + // There is no datadir. + keydir, err = ioutil.TempDir("", "nimbus-keystore") + } + if err != nil { + return nil, err + } + if err := os.MkdirAll(keydir, 0700); err != nil { + return nil, err + } + config := accounts.Config{InsecureUnlockAllowed: false} + return accounts.NewManager(&config, keystore.NewKeyStore(keydir, keystore.LightScryptN, keystore.LightScryptP)), nil } + +func makeKeyStore(manager *accounts.Manager) (types.KeyStore, error) { + backends := manager.Backends(keystore.KeyStoreType) + if len(backends) == 0 { + return nil, ErrAccountKeyStoreMissing + } + keyStore, ok := backends[0].(*keystore.KeyStore) + if !ok { + return nil, ErrAccountKeyStoreMissing + } + + return gethbridge.WrapKeyStore(keyStore), nil +} + +// func makeKeyStore(_ string) (types.KeyStore, error) { +// return nimbusbridge.WrapKeyStore(), nil +// }