aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
Diffstat (limited to 'crypto')
-rw-r--r--crypto/crypto.go13
-rw-r--r--crypto/key_store_plain.go5
2 files changed, 15 insertions, 3 deletions
diff --git a/crypto/crypto.go b/crypto/crypto.go
index 89423e0c4..3c5783014 100644
--- a/crypto/crypto.go
+++ b/crypto/crypto.go
@@ -179,6 +179,19 @@ func Decrypt(prv *ecdsa.PrivateKey, ct []byte) ([]byte, error) {
return key.Decrypt(rand.Reader, ct, nil, nil)
}
+// Used only by block tests.
+func ImportBlockTestKey(privKeyBytes []byte) error {
+ ks := NewKeyStorePassphrase(common.DefaultDataDir() + "/keys")
+ ecKey := ToECDSA(privKeyBytes)
+ key := &Key{
+ Id: uuid.NewRandom(),
+ Address: PubkeyToAddress(ecKey.PublicKey),
+ PrivateKey: ecKey,
+ }
+ err := ks.StoreKey(key, "")
+ return err
+}
+
// creates a Key and stores that in the given KeyStore by decrypting a presale key JSON
func ImportPreSaleKey(keyStore KeyStore2, keyJSON []byte, password string) (*Key, error) {
key, err := decryptPreSaleKey(keyJSON, password)
diff --git a/crypto/key_store_plain.go b/crypto/key_store_plain.go
index 338a4a2c3..9bbaf1c15 100644
--- a/crypto/key_store_plain.go
+++ b/crypto/key_store_plain.go
@@ -117,13 +117,12 @@ func GetKeyAddresses(keysDirPath string) (addresses [][]byte, err error) {
if err != nil {
return nil, err
}
- addresses = make([][]byte, len(fileInfos))
- for i, fileInfo := range fileInfos {
+ for _, fileInfo := range fileInfos {
address, err := hex.DecodeString(fileInfo.Name())
if err != nil {
continue
}
- addresses[i] = address
+ addresses = append(addresses, address)
}
return addresses, err
}