prysm-pulse/crypto/ecdsa/utils_test.go
Nishant Das 2ecb905ae5
Update Prysm Libp2p Dependencies (#10958)
* add all changes in

* fix issues

* fix build

* remove curve check

* fix tool

* add test

* add tidy

* fmt

Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-07-01 15:34:11 +00:00

29 lines
756 B
Go

package ecdsa
import (
"crypto/ecdsa"
"testing"
"github.com/btcsuite/btcd/btcec/v2"
gcrypto "github.com/ethereum/go-ethereum/crypto"
"github.com/libp2p/go-libp2p-core/crypto"
"github.com/prysmaticlabs/prysm/testing/assert"
"github.com/prysmaticlabs/prysm/testing/require"
)
func TestConvertToInterfacePubkey(t *testing.T) {
privKey, err := gcrypto.GenerateKey()
require.NoError(t, err)
pubkey, ok := privKey.Public().(*ecdsa.PublicKey)
require.NotEqual(t, false, ok)
altPubkey, err := ConvertToInterfacePubkey(pubkey)
require.NoError(t, err)
nKey := *(altPubkey.(*crypto.Secp256k1PublicKey))
rawKey := btcec.PublicKey(nKey).SerializeUncompressed()
origRawKey := gcrypto.FromECDSAPub(pubkey)
assert.DeepEqual(t, origRawKey, rawKey)
}