Skip to content

Commit

Permalink
Change the bls.Signer.PublicKey method back
Browse files Browse the repository at this point in the history
  • Loading branch information
richardpringle committed Feb 4, 2025
1 parent ff5398b commit 7de1094
Show file tree
Hide file tree
Showing 29 changed files with 64 additions and 130 deletions.
5 changes: 1 addition & 4 deletions chains/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -490,10 +490,7 @@ func (m *manager) buildChain(chainParams ChainParameters, sb subnets.Subnet) (*c
return nil, fmt.Errorf("error while creating chain's log %w", err)
}

pubKey, err := m.StakingBLSKey.PublicKey()
if err != nil {
return nil, fmt.Errorf("error while getting public key: %w", err)
}
pubKey := m.StakingBLSKey.PublicKey()

ctx := &snow.ConsensusContext{
Context: &snow.Context{
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ require (
github.com/DataDog/zstd v1.5.2
github.com/NYTimes/gziphandler v1.1.1
github.com/antithesishq/antithesis-sdk-go v0.3.8
github.com/ava-labs/coreth v0.14.1-rc.1.0.20250203230632-591b370fc467
github.com/ava-labs/coreth v0.14.1-rc.1.0.20250204181539-66241eebcbed
github.com/ava-labs/ledger-avalanche/go v0.0.0-20241009183145-e6f90a8a1a60
github.com/btcsuite/btcd/btcutil v1.1.3
github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ github.com/antithesishq/antithesis-sdk-go v0.3.8/go.mod h1:IUpT2DPAKh6i/YhSbt6Gl
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
github.com/ava-labs/coreth v0.14.1-rc.1.0.20250203230632-591b370fc467 h1:jvGE3vNCpwtfNfJehX/9aevoImGBGda42cS1vU9bKQk=
github.com/ava-labs/coreth v0.14.1-rc.1.0.20250203230632-591b370fc467/go.mod h1:XEsU30KRI2qI3ghFLSrFAWHsMp9XyFa5rxpn68BJrLw=
github.com/ava-labs/coreth v0.14.1-rc.1.0.20250204181539-66241eebcbed h1:m9JXpuXXx9a/pcwHUQUJ8R1Vp3nndsJSnQxsT5brxDc=
github.com/ava-labs/coreth v0.14.1-rc.1.0.20250204181539-66241eebcbed/go.mod h1:cfL8GjzBa87pxGWIAG4iB4f6vSMyuBHtkmcUk9ms4sE=
github.com/ava-labs/ledger-avalanche/go v0.0.0-20241009183145-e6f90a8a1a60 h1:EL66gtXOAwR/4KYBjOV03LTWgkEXvLePribLlJNu4g0=
github.com/ava-labs/ledger-avalanche/go v0.0.0-20241009183145-e6f90a8a1a60/go.mod h1:/7qKobTfbzBu7eSTVaXMTr56yTYk4j2Px6/8G+idxHo=
github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g=
Expand Down
3 changes: 1 addition & 2 deletions network/p2p/acp118/handler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,7 @@ func TestHandler(t *testing.T) {
ctx := context.Background()
sk, err := localsigner.New()
require.NoError(err)
pk, err := sk.PublicKey()
require.NoError(err)
pk := sk.PublicKey()
networkID := uint32(123)
chainID := ids.GenerateTestID()
signer := warp.NewSigner(sk, networkID, chainID)
Expand Down
9 changes: 3 additions & 6 deletions network/peer/peer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -320,8 +320,7 @@ func TestInvalidBLSKeyDisconnects(t *testing.T) {
rawPeer0 := newRawTestPeer(t, sharedConfig)
rawPeer1 := newRawTestPeer(t, sharedConfig)

pubKey, err := rawPeer1.config.IPSigner.blsSigner.PublicKey()
require.NoError(err)
pubKey := rawPeer1.config.IPSigner.blsSigner.PublicKey()

require.NoError(rawPeer0.config.Validators.AddStaker(
constants.PrimaryNetworkID,
Expand All @@ -333,8 +332,7 @@ func TestInvalidBLSKeyDisconnects(t *testing.T) {

bogusBLSKey, err := localsigner.New()
require.NoError(err)
bogusPubkey, err := bogusBLSKey.PublicKey()
require.NoError(err)
bogusPubkey := bogusBLSKey.PublicKey()

require.NoError(rawPeer1.config.Validators.AddStaker(
constants.PrimaryNetworkID,
Expand All @@ -357,8 +355,7 @@ func TestShouldDisconnect(t *testing.T) {
txID := ids.GenerateTestID()
blsKey, err := localsigner.New()
require.NoError(t, err)
blsPubKey, err := blsKey.PublicKey()
require.NoError(t, err)
blsPubKey := blsKey.PublicKey()

tests := []struct {
name string
Expand Down
10 changes: 2 additions & 8 deletions node/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -575,10 +575,7 @@ func (n *Node) initNetworking(reg prometheus.Registerer) error {
// we hack one together by just padding our nodeID with zeroes.
dummyTxID := ids.Empty
copy(dummyTxID[:], n.ID.Bytes())
pk, err := n.Config.StakingSigningKey.PublicKey()
if err != nil {
return err
}
pk := n.Config.StakingSigningKey.PublicKey()

err = n.vdrs.AddStaker(
constants.PrimaryNetworkID,
Expand Down Expand Up @@ -1493,10 +1490,7 @@ func (n *Node) initHealthAPI() error {
return "validator doesn't have a BLS key", nil
}

nodePK, err := n.Config.StakingSigningKey.PublicKey()
if err != nil {
return nil, fmt.Errorf("couldn't get node's BLS key: %w", err)
}
nodePK := n.Config.StakingSigningKey.PublicKey()

if nodePK.Equals(vdrPK) {
return "node has the correct BLS key", nil
Expand Down
3 changes: 1 addition & 2 deletions snow/snowtest/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,7 @@ func Context(tb testing.TB, chainID ids.ID) *snow.Context {

secretKey, err := localsigner.New()
require.NoError(err)
publicKey, err := secretKey.PublicKey()
require.NoError(err)
publicKey := secretKey.PublicKey()

aliaser := ids.NewAliaser()
require.NoError(aliaser.Alias(constants.PlatformChainID, "P"))
Expand Down
12 changes: 4 additions & 8 deletions snow/validators/gvalidators/validator_state_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,7 @@ func TestGetValidatorSet(t *testing.T) {
// Happy path
sk0, err := localsigner.New()
require.NoError(err)
pk0, err := sk0.PublicKey()
require.NoError(err)
pk0 := sk0.PublicKey()

vdr0 := &validators.GetValidatorOutput{
NodeID: ids.GenerateTestNodeID(),
Expand All @@ -149,9 +148,8 @@ func TestGetValidatorSet(t *testing.T) {

sk1, err := localsigner.New()
require.NoError(err)
pk1, err := sk1.PublicKey()
pk1 := sk1.PublicKey()

require.NoError(err)
vdr1 := &validators.GetValidatorOutput{
NodeID: ids.GenerateTestNodeID(),
PublicKey: pk1,
Expand Down Expand Up @@ -190,8 +188,7 @@ func TestPublicKeyDeserialize(t *testing.T) {

sk, err := localsigner.New()
require.NoError(err)
pk, err := sk.PublicKey()
require.NoError(err)
pk := sk.PublicKey()

pkBytes := bls.PublicKeyToUncompressedBytes(pk)
pkDe := bls.PublicKeyFromValidUncompressedBytes(pkBytes)
Expand Down Expand Up @@ -232,8 +229,7 @@ func setupValidatorSet(b *testing.B, size int) map[ids.NodeID]*validators.GetVal
set := make(map[ids.NodeID]*validators.GetValidatorOutput, size)
sk, err := localsigner.New()
require.NoError(b, err)
pk, err := sk.PublicKey()
require.NoError(b, err)
pk := sk.PublicKey()

for i := 0; i < size; i++ {
id := ids.GenerateTestNodeID()
Expand Down
21 changes: 7 additions & 14 deletions snow/validators/manager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -218,8 +218,7 @@ func TestGet(t *testing.T) {
sk, err := localsigner.New()
require.NoError(err)

pk, err := sk.PublicKey()
require.NoError(err)
pk := sk.PublicKey()
require.NoError(m.AddStaker(subnetID, nodeID, pk, ids.Empty, 1))

vdr0, ok := m.GetValidator(subnetID, nodeID)
Expand Down Expand Up @@ -309,8 +308,7 @@ func TestGetMap(t *testing.T) {
sk, err := localsigner.New()
require.NoError(err)

pk, err := sk.PublicKey()
require.NoError(err)
pk := sk.PublicKey()

nodeID0 := ids.GenerateTestNodeID()
require.NoError(m.AddStaker(subnetID, nodeID0, pk, ids.Empty, 2))
Expand Down Expand Up @@ -412,8 +410,7 @@ func TestSample(t *testing.T) {
require.NoError(err)

nodeID0 := ids.GenerateTestNodeID()
pk, err := sk.PublicKey()
require.NoError(err)
pk := sk.PublicKey()
require.NoError(m.AddStaker(subnetID, nodeID0, pk, ids.Empty, 1))

sampled, err = m.Sample(subnetID, 1)
Expand Down Expand Up @@ -471,8 +468,7 @@ func TestAddCallback(t *testing.T) {

expectedSK, err := localsigner.New()
require.NoError(err)
expectedPK, err := expectedSK.PublicKey()
require.NoError(err)
expectedPK := expectedSK.PublicKey()

var (
expectedNodeID = ids.GenerateTestNodeID()
Expand Down Expand Up @@ -520,8 +516,7 @@ func TestAddWeightCallback(t *testing.T) {

expectedSK, err := localsigner.New()
require.NoError(err)
expectedPK, err := expectedSK.PublicKey()
require.NoError(err)
expectedPK := expectedSK.PublicKey()

var (
expectedNodeID = ids.GenerateTestNodeID()
Expand Down Expand Up @@ -604,8 +599,7 @@ func TestRemoveWeightCallback(t *testing.T) {

expectedSK, err := localsigner.New()
require.NoError(err)
expectedPK, err := expectedSK.PublicKey()
require.NoError(err)
expectedPK := expectedSK.PublicKey()

var (
expectedNodeID = ids.GenerateTestNodeID()
Expand Down Expand Up @@ -688,8 +682,7 @@ func TestRemoveCallback(t *testing.T) {

expectedSK, err := localsigner.New()
require.NoError(err)
expectedPK, err := expectedSK.PublicKey()
require.NoError(err)
expectedPK := expectedSK.PublicKey()

var (
expectedNodeID = ids.GenerateTestNodeID()
Expand Down
12 changes: 4 additions & 8 deletions snow/validators/set_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,7 @@ func TestSetGet(t *testing.T) {
sk, err := localsigner.New()
require.NoError(err)

pk, err := sk.PublicKey()
require.NoError(err)
pk := sk.PublicKey()
require.NoError(s.Add(nodeID, pk, ids.Empty, 1))

vdr0, ok := s.Get(nodeID)
Expand Down Expand Up @@ -237,8 +236,7 @@ func TestSetMap(t *testing.T) {
sk, err := localsigner.New()
require.NoError(err)

pk, err := sk.PublicKey()
require.NoError(err)
pk := sk.PublicKey()
nodeID0 := ids.GenerateTestNodeID()
require.NoError(s.Add(nodeID0, pk, ids.Empty, 2))

Expand Down Expand Up @@ -337,8 +335,7 @@ func TestSetSample(t *testing.T) {
require.NoError(err)

nodeID0 := ids.GenerateTestNodeID()
pk, err := sk.PublicKey()
require.NoError(err)
pk := sk.PublicKey()
require.NoError(s.Add(nodeID0, pk, ids.Empty, 1))

sampled, err = s.Sample(1)
Expand Down Expand Up @@ -391,8 +388,7 @@ func TestSetAddCallback(t *testing.T) {
nodeID0 := ids.BuildTestNodeID([]byte{1})
sk0, err := localsigner.New()
require.NoError(err)
pk0, err := sk0.PublicKey()
require.NoError(err)
pk0 := sk0.PublicKey()
txID0 := ids.GenerateTestID()
weight0 := uint64(1)

Expand Down
2 changes: 1 addition & 1 deletion utils/crypto/bls/signer.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
package bls

type Signer interface {
PublicKey() (*PublicKey, error)
PublicKey() *PublicKey
Sign(msg []byte) (*Signature, error)
SignProofOfPossession(msg []byte) (*Signature, error)
}
3 changes: 1 addition & 2 deletions utils/crypto/bls/signer/localsigner/bls_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@ type keyPair struct {
func NewKeyPair(require *require.Assertions) keyPair {
sk, err := New()
require.NoError(err)
pk, err := sk.PublicKey()
require.NoError(err)
pk := sk.PublicKey()

return keyPair{sk, pk}
}
Expand Down
8 changes: 5 additions & 3 deletions utils/crypto/bls/signer/localsigner/localsigner.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ type secretKey = blst.SecretKey

type LocalSigner struct {
sk *secretKey
pk *bls.PublicKey
}

// NewSecretKey generates a new secret key from the local source of
Expand All @@ -34,8 +35,9 @@ func New() (*LocalSigner, error) {
}
sk := blst.KeyGen(ikm[:])
ikm = [32]byte{} // zero out the ikm
pk := new(bls.PublicKey).From(sk)

return &LocalSigner{sk: sk}, nil
return &LocalSigner{sk: sk, pk: pk}, nil
}

// ToBytes returns the big-endian format of the secret key.
Expand All @@ -58,8 +60,8 @@ func FromBytes(skBytes []byte) (*LocalSigner, error) {

// PublicKey returns the public key that corresponds to this secret
// key.
func (s *LocalSigner) PublicKey() (*bls.PublicKey, error) {
return new(bls.PublicKey).From(s.sk), nil
func (s *LocalSigner) PublicKey() *bls.PublicKey {
return s.pk
}

// Sign [msg] to authorize this message
Expand Down
3 changes: 1 addition & 2 deletions vms/platformvm/block/executor/verifier_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1219,8 +1219,7 @@ func TestBlockExecutionWithComplexity(t *testing.T) {
func TestDeactivateLowBalanceL1Validators(t *testing.T) {
sk, err := localsigner.New()
require.NoError(t, err)
pk, err := sk.PublicKey()
require.NoError(t, err)
pk := sk.PublicKey()

var (
pkBytes = bls.PublicKeyToUncompressedBytes(pk)
Expand Down
9 changes: 3 additions & 6 deletions vms/platformvm/network/warp_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -180,8 +180,7 @@ func TestSignatureRequestVerifySubnetToL1Conversion(t *testing.T) {
func TestSignatureRequestVerifyL1ValidatorRegistrationRegistered(t *testing.T) {
sk, err := localsigner.New()
require.NoError(t, err)
pk, err := sk.PublicKey()
require.NoError(t, err)
pk := sk.PublicKey()

var (
l1Validator = state.L1Validator{
Expand Down Expand Up @@ -245,8 +244,7 @@ func TestSignatureRequestVerifyL1ValidatorRegistrationNotRegistered(t *testing.T

sk, err := localsigner.FromBytes(skBytes)
require.NoError(t, err)
pk, err := sk.PublicKey()
require.NoError(t, err)
pk := sk.PublicKey()

var (
convertedSubnetID = ids.ID{3}
Expand Down Expand Up @@ -550,8 +548,7 @@ func TestSignatureRequestVerifyL1ValidatorRegistrationNotRegistered(t *testing.T
func TestSignatureRequestVerifyL1ValidatorWeight(t *testing.T) {
sk, err := localsigner.New()
require.NoError(t, err)
pk, err := sk.PublicKey()
require.NoError(t, err)
pk := sk.PublicKey()

const (
weight = 100
Expand Down
9 changes: 3 additions & 6 deletions vms/platformvm/service_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1029,8 +1029,7 @@ func TestGetValidatorsAtReplyMarshalling(t *testing.T) {
nodeID := ids.GenerateTestNodeID()
sk, err := localsigner.New()
require.NoError(err)
pk, err := sk.PublicKey()
require.NoError(err)
pk := sk.PublicKey()

reply.Validators[nodeID] = &validators.GetValidatorOutput{
NodeID: nodeID,
Expand Down Expand Up @@ -1340,14 +1339,12 @@ func TestGetCurrentValidatorsForL1(t *testing.T) {

sk, err := localsigner.New()
require.NoError(t, err)
pk, err := sk.PublicKey()
require.NoError(t, err)
pk := sk.PublicKey()
pkBytes := bls.PublicKeyToUncompressedBytes(pk)

otherSK, err := localsigner.New()
require.NoError(t, err)
otherPK, err := otherSK.PublicKey()
require.NoError(t, err)
otherPK := otherSK.PublicKey()
otherPKBytes := bls.PublicKeyToUncompressedBytes(otherPK)

tests := []struct {
Expand Down
5 changes: 1 addition & 4 deletions vms/platformvm/signer/proof_of_possession.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,7 @@ type ProofOfPossession struct {
}

func NewProofOfPossession(sk bls.Signer) (*ProofOfPossession, error) {
pk, err := sk.PublicKey()
if err != nil {
return nil, err
}
pk := sk.PublicKey()

pkBytes := bls.PublicKeyToCompressedBytes(pk)
sig, err := sk.SignProofOfPossession(pkBytes)
Expand Down
Loading

0 comments on commit 7de1094

Please sign in to comment.