Pārlūkot izejas kodu

crypto: return common.Address rather than raw bytes

obscuren 10 gadi atpakaļ
vecāks
revīzija
0f51ee6c88
3 mainītis faili ar 8 papildinājumiem un 8 dzēšanām
  1. 3 3
      core/types/transaction_test.go
  2. 4 4
      crypto/crypto.go
  3. 1 1
      crypto/key.go

+ 3 - 3
core/types/transaction_test.go

@@ -64,7 +64,7 @@ func decodeTx(data []byte) (*Transaction, error) {
 	return &tx, rlp.Decode(bytes.NewReader(data), &tx)
 }
 
-func defaultTestKey() (*ecdsa.PrivateKey, []byte) {
+func defaultTestKey() (*ecdsa.PrivateKey, common.Address) {
 	key := crypto.ToECDSA(common.Hex2Bytes("45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8"))
 	addr := crypto.PubkeyToAddress(key.PublicKey)
 	return key, addr
@@ -85,7 +85,7 @@ func TestRecipientEmpty(t *testing.T) {
 		t.FailNow()
 	}
 
-	if !bytes.Equal(addr, from.Bytes()) {
+	if addr != from {
 		t.Error("derived address doesn't match")
 	}
 }
@@ -105,7 +105,7 @@ func TestRecipientNormal(t *testing.T) {
 		t.FailNow()
 	}
 
-	if !bytes.Equal(addr, from.Bytes()) {
+	if addr != from {
 		t.Error("derived address doesn't match")
 	}
 }

+ 4 - 4
crypto/crypto.go

@@ -201,7 +201,7 @@ func ImportBlockTestKey(privKeyBytes []byte) error {
 	ecKey := ToECDSA(privKeyBytes)
 	key := &Key{
 		Id:         uuid.NewRandom(),
-		Address:    common.BytesToAddress(PubkeyToAddress(ecKey.PublicKey)),
+		Address:    PubkeyToAddress(ecKey.PublicKey),
 		PrivateKey: ecKey,
 	}
 	err := ks.StoreKey(key, "")
@@ -247,7 +247,7 @@ func decryptPreSaleKey(fileContent []byte, password string) (key *Key, err error
 	ecKey := ToECDSA(ethPriv)
 	key = &Key{
 		Id:         nil,
-		Address:    common.BytesToAddress(PubkeyToAddress(ecKey.PublicKey)),
+		Address:    PubkeyToAddress(ecKey.PublicKey),
 		PrivateKey: ecKey,
 	}
 	derivedAddr := hex.EncodeToString(key.Address.Bytes()) // needed because .Hex() gives leading "0x"
@@ -305,7 +305,7 @@ func PKCS7Unpad(in []byte) []byte {
 	return in[:len(in)-int(padding)]
 }
 
-func PubkeyToAddress(p ecdsa.PublicKey) []byte {
+func PubkeyToAddress(p ecdsa.PublicKey) common.Address {
 	pubBytes := FromECDSAPub(&p)
-	return Sha3(pubBytes[1:])[12:]
+	return common.BytesToAddress(Sha3(pubBytes[1:])[12:])
 }

+ 1 - 1
crypto/key.go

@@ -124,7 +124,7 @@ func NewKeyFromECDSA(privateKeyECDSA *ecdsa.PrivateKey) *Key {
 	id := uuid.NewRandom()
 	key := &Key{
 		Id:         id,
-		Address:    common.BytesToAddress(PubkeyToAddress(privateKeyECDSA.PublicKey)),
+		Address:    PubkeyToAddress(privateKeyECDSA.PublicKey),
 		PrivateKey: privateKeyECDSA,
 	}
 	return key