forked from cerc-io/plugeth
Merge pull request #21173 from karalabe/faucet-delete-oldaccs
cmd/faucet: delete old keystore when importing new faucet key
This commit is contained in:
commit
cefa2ab1bd
@ -449,19 +449,25 @@ func (ks *KeyStore) Import(keyJSON []byte, passphrase, newPassphrase string) (ac
|
|||||||
}
|
}
|
||||||
ks.importMu.Lock()
|
ks.importMu.Lock()
|
||||||
defer ks.importMu.Unlock()
|
defer ks.importMu.Unlock()
|
||||||
|
|
||||||
if ks.cache.hasAddress(key.Address) {
|
if ks.cache.hasAddress(key.Address) {
|
||||||
return accounts.Account{}, ErrAccountAlreadyExists
|
return accounts.Account{
|
||||||
|
Address: key.Address,
|
||||||
|
}, ErrAccountAlreadyExists
|
||||||
}
|
}
|
||||||
return ks.importKey(key, newPassphrase)
|
return ks.importKey(key, newPassphrase)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ImportECDSA stores the given key into the key directory, encrypting it with the passphrase.
|
// ImportECDSA stores the given key into the key directory, encrypting it with the passphrase.
|
||||||
func (ks *KeyStore) ImportECDSA(priv *ecdsa.PrivateKey, passphrase string) (accounts.Account, error) {
|
func (ks *KeyStore) ImportECDSA(priv *ecdsa.PrivateKey, passphrase string) (accounts.Account, error) {
|
||||||
key := newKeyFromECDSA(priv)
|
|
||||||
ks.importMu.Lock()
|
ks.importMu.Lock()
|
||||||
defer ks.importMu.Unlock()
|
defer ks.importMu.Unlock()
|
||||||
|
|
||||||
|
key := newKeyFromECDSA(priv)
|
||||||
if ks.cache.hasAddress(key.Address) {
|
if ks.cache.hasAddress(key.Address) {
|
||||||
return accounts.Account{}, ErrAccountAlreadyExists
|
return accounts.Account{
|
||||||
|
Address: key.Address,
|
||||||
|
}, ErrAccountAlreadyExists
|
||||||
}
|
}
|
||||||
return ks.importKey(key, passphrase)
|
return ks.importKey(key, passphrase)
|
||||||
}
|
}
|
||||||
|
@ -162,7 +162,6 @@ func main() {
|
|||||||
if blob, err = ioutil.ReadFile(*accPassFlag); err != nil {
|
if blob, err = ioutil.ReadFile(*accPassFlag); err != nil {
|
||||||
log.Crit("Failed to read account password contents", "file", *accPassFlag, "err", err)
|
log.Crit("Failed to read account password contents", "file", *accPassFlag, "err", err)
|
||||||
}
|
}
|
||||||
// Delete trailing newline in password
|
|
||||||
pass := strings.TrimSuffix(string(blob), "\n")
|
pass := strings.TrimSuffix(string(blob), "\n")
|
||||||
|
|
||||||
ks := keystore.NewKeyStore(filepath.Join(os.Getenv("HOME"), ".faucet", "keys"), keystore.StandardScryptN, keystore.StandardScryptP)
|
ks := keystore.NewKeyStore(filepath.Join(os.Getenv("HOME"), ".faucet", "keys"), keystore.StandardScryptN, keystore.StandardScryptP)
|
||||||
@ -173,8 +172,9 @@ func main() {
|
|||||||
if err != nil && err != keystore.ErrAccountAlreadyExists {
|
if err != nil && err != keystore.ErrAccountAlreadyExists {
|
||||||
log.Crit("Failed to import faucet signer account", "err", err)
|
log.Crit("Failed to import faucet signer account", "err", err)
|
||||||
}
|
}
|
||||||
ks.Unlock(acc, pass)
|
if err := ks.Unlock(acc, pass); err != nil {
|
||||||
|
log.Crit("Failed to unlock faucet signer account", "err", err)
|
||||||
|
}
|
||||||
// Assemble and start the faucet light service
|
// Assemble and start the faucet light service
|
||||||
faucet, err := newFaucet(genesis, *ethPortFlag, enodes, *netFlag, *statsFlag, ks, website.Bytes())
|
faucet, err := newFaucet(genesis, *ethPortFlag, enodes, *netFlag, *statsFlag, ks, website.Bytes())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user