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
import (

View file

@ -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
// }

View file

@ -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
// }