fix: modify build eth fn definition for account unlock handling (#412)

This commit is contained in:
Manav Darji 2022-05-23 15:27:35 +05:30 committed by GitHub
parent 1b53044055
commit 2323f2c96e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 7 deletions

View file

@ -615,7 +615,7 @@ func (c *Config) loadChain() error {
return nil
}
func (c *Config) buildEth(accountManager *accounts.Manager) (*ethconfig.Config, error) {
func (c *Config) buildEth(stack *node.Node, accountManager *accounts.Manager) (*ethconfig.Config, error) {
dbHandles, err := makeDatabaseHandles()
if err != nil {
return nil, err
@ -670,15 +670,15 @@ func (c *Config) buildEth(accountManager *accounts.Manager) (*ethconfig.Config,
// unlock accounts
if len(c.Accounts.Unlock) > 0 {
if !stack.Config().InsecureUnlockAllowed && stack.Config().ExtRPCEnabled() {
return nil, fmt.Errorf("Account unlock with HTTP access is forbidden!")
return nil, fmt.Errorf("account unlock with HTTP access is forbidden")
}
ks := stack.AccountManager().Backends(keystore.KeyStoreType)[0].(*keystore.KeyStore)
ks := accountManager.Backends(keystore.KeyStoreType)[0].(*keystore.KeyStore)
passwords, err := MakePasswordListFromFile(c.Accounts.PasswordFile)
if err != nil {
return nil, err
}
if len(passwords) < len(c.Accounts.Unlock) {
return nil, fmt.Errorf("Number of passwords provided (%v) is less than number of accounts (%v) to unlock",
return nil, fmt.Errorf("number of passwords provided (%v) is less than number of accounts (%v) to unlock",
len(passwords), len(c.Accounts.Unlock))
}
for i, account := range c.Accounts.Unlock {

View file

@ -16,7 +16,7 @@ func TestConfigDefault(t *testing.T) {
_, err := config.buildNode()
assert.NoError(t, err)
_, err = config.buildEth(nil)
_, err = config.buildEth(nil, nil)
assert.NoError(t, err)
}

View file

@ -95,7 +95,7 @@ func NewServer(config *Config) (*Server, error) {
stack.AccountManager().AddBackend(keystore.NewKeyStore(keydir, n, p))
// register the ethereum backend
ethCfg, err := config.buildEth(stack.AccountManager())
ethCfg, err := config.buildEth(stack, stack.AccountManager())
if err != nil {
return nil, err
}
@ -106,7 +106,7 @@ func NewServer(config *Config) (*Server, error) {
srv.backend = backend
} else {
// register the ethereum backend (with temporary created account manager)
ethCfg, err := config.buildEth(accountManager)
ethCfg, err := config.buildEth(stack, accountManager)
if err != nil {
return nil, err
}