Working Nimbus branch with geth keystore

This commit is contained in:
Pedro Pombeiro 2020-01-09 19:11:56 +01:00 committed by Pedro Pombeiro
parent d4710faae2
commit 93975aa900
3 changed files with 47 additions and 51 deletions

View file

@ -1,5 +1,3 @@
// +build !nimbus
package account package account
import ( import (

View file

@ -18,12 +18,12 @@ func NewNimbusManager() *NimbusManager {
return m return m
} }
// InitKeystore sets key manager and key store. // // InitKeystore sets key manager and key store.
func (m *Manager) InitKeystore(keydir string) error { // func (m *Manager) InitKeystore(keydir string) error {
m.mu.Lock() // m.mu.Lock()
defer m.mu.Unlock() // defer m.mu.Unlock()
var err error // var err error
m.keystore, err = makeKeyStore(keydir) // m.keystore, err = makeKeyStore(keydir)
return err // return err
} // }

View file

@ -3,49 +3,47 @@
package account package account
import ( import (
// "io/ioutil" "io/ioutil"
// "os" "os"
// gethbridge "github.com/status-im/status-go/eth-node/bridge/geth" "github.com/ethereum/go-ethereum/accounts"
nimbusbridge "github.com/status-im/status-go/eth-node/bridge/nimbus" "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" "github.com/status-im/status-go/eth-node/types"
) )
// // makeAccountManager creates ethereum accounts.Manager with single disk backend and lightweight kdf. // 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. // If keydir is empty new temporary directory with go-ethereum-keystore will be intialized.
// func makeAccountManager(keydir string) (manager *accounts.Manager, err error) { func makeAccountManager(keydir string) (manager *accounts.Manager, err error) {
// if keydir == "" { if keydir == "" {
// // There is no datadir. // There is no datadir.
// keydir, err = ioutil.TempDir("", "nimbus-keystore") keydir, err = ioutil.TempDir("", "nimbus-keystore")
// } }
// if err != nil { if err != nil {
// return nil, err return nil, err
// } }
// if err := os.MkdirAll(keydir, 0700); err != nil { if err := os.MkdirAll(keydir, 0700); err != nil {
// return nil, err return nil, err
// } }
// config := accounts.Config{InsecureUnlockAllowed: false} config := accounts.Config{InsecureUnlockAllowed: false}
// return accounts.NewManager(&config, keystore.NewKeyStore(keydir, keystore.LightScryptN, keystore.LightScryptP)), nil 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
} }
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
// }