The core protocol of WoopChain
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
woop/crypto/pki/utils_test.go

64 lines
1.8 KiB

package pki
import (
6 years ago
"encoding/binary"
"reflect"
"testing"
"time"
6 years ago
"github.com/harmony-one/bls/ffi/go/bls"
)
func TestGetAddressFromPublicKey(test *testing.T) {
t := time.Now().UnixNano()
6 years ago
priKey := [32]byte{}
binary.LittleEndian.PutUint32(priKey[:], uint32(t))
var privateKey bls.SecretKey
privateKey.SetLittleEndian(priKey[:])
addr1 := GetAddressFromPublicKey(privateKey.GetPublicKey())
addr2 := GetAddressFromPrivateKey(&privateKey)
if !reflect.DeepEqual(addr1, addr2) {
test.Error("two public address should be equal")
}
}
func TestGetAddressFromPrivateKeyBytes(test *testing.T) {
t := time.Now().UnixNano()
priKey := [32]byte{}
binary.LittleEndian.PutUint32(priKey[:], uint32(t))
address1 := GetAddressFromPrivateKeyBytes(priKey)
var privateKey bls.SecretKey
privateKey.SetLittleEndian(priKey[:])
address2 := GetAddressFromPublicKey(privateKey.GetPublicKey())
if !reflect.DeepEqual(address1, address2) {
test.Error("two public address should be equal")
}
}
func TestGetAddressFromInt(test *testing.T) {
t := time.Now().UnixNano()
address1 := GetAddressFromInt(int(t))
priKey := [32]byte{}
binary.LittleEndian.PutUint32(priKey[:], uint32(t))
var privateKey bls.SecretKey
privateKey.SetLittleEndian(priKey[:])
address2 := GetAddressFromPublicKey(privateKey.GetPublicKey())
if !reflect.DeepEqual(address1, address2) {
test.Error("two public address should be equal")
}
}
func TestGetBLSPrivateKeyFromInt(test *testing.T) {
t := time.Now().UnixNano()
privateKey1 := GetBLSPrivateKeyFromInt(int(t))
priKey := [32]byte{}
binary.LittleEndian.PutUint32(priKey[:], uint32(t))
var privateKey2 bls.SecretKey
privateKey2.SetLittleEndian(priKey[:])
address1 := GetAddressFromPrivateKey(privateKey1)
address2 := GetAddressFromPrivateKey(&privateKey2)
if !reflect.DeepEqual(address1, address2) {
test.Error("two public address should be equal")
}
}