Skip to content

Commit 13635f0

Browse files
richardpringletsachiherman
authored andcommitted
encapsulate signer (#3576)
Signed-off-by: Richard Pringle <[email protected]>
1 parent 7b68691 commit 13635f0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+363
-364
lines changed

chains/manager.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ type ManagerConfig struct {
186186
SybilProtectionEnabled bool
187187
StakingTLSSigner crypto.Signer
188188
StakingTLSCert *staking.Certificate
189-
StakingBLSKey *bls.SecretKey
189+
StakingBLSKey bls.Signer
190190
TracingEnabled bool
191191
// Must not be used unless [TracingEnabled] is true as this may be nil.
192192
Tracer trace.Tracer
@@ -497,7 +497,7 @@ func (m *manager) buildChain(chainParams ChainParameters, sb subnets.Subnet) (*c
497497
SubnetID: chainParams.SubnetID,
498498
ChainID: chainParams.ID,
499499
NodeID: m.NodeID,
500-
PublicKey: bls.PublicFromSecretKey(m.StakingBLSKey),
500+
PublicKey: m.StakingBLSKey.PublicKey(),
501501
NetworkUpgrades: m.Upgrades,
502502

503503
XChainID: m.XChainID,

config/config.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -645,9 +645,9 @@ func getStakingTLSCert(v *viper.Viper) (tls.Certificate, error) {
645645
}
646646
}
647647

648-
func getStakingSigner(v *viper.Viper) (*bls.SecretKey, error) {
648+
func getStakingSigner(v *viper.Viper) (bls.Signer, error) {
649649
if v.GetBool(StakingEphemeralSignerEnabledKey) {
650-
key, err := bls.NewSecretKey()
650+
key, err := bls.NewSigner()
651651
if err != nil {
652652
return nil, fmt.Errorf("couldn't generate ephemeral signing key: %w", err)
653653
}
@@ -685,7 +685,7 @@ func getStakingSigner(v *viper.Viper) (*bls.SecretKey, error) {
685685
return nil, errMissingStakingSigningKeyFile
686686
}
687687

688-
key, err := bls.NewSecretKey()
688+
key, err := bls.NewSigner()
689689
if err != nil {
690690
return nil, fmt.Errorf("couldn't generate new signing key: %w", err)
691691
}
@@ -694,7 +694,7 @@ func getStakingSigner(v *viper.Viper) (*bls.SecretKey, error) {
694694
return nil, fmt.Errorf("couldn't create path for signing key at %s: %w", signingKeyPath, err)
695695
}
696696

697-
keyBytes := bls.SecretKeyToBytes(key)
697+
keyBytes := key.ToBytes()
698698
if err := os.WriteFile(signingKeyPath, keyBytes, perms.ReadWrite); err != nil {
699699
return nil, fmt.Errorf("couldn't write new signing key to %s: %w", signingKeyPath, err)
700700
}

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ require (
1010
github.com/DataDog/zstd v1.5.2
1111
github.com/NYTimes/gziphandler v1.1.1
1212
github.com/antithesishq/antithesis-sdk-go v0.3.8
13-
github.com/ava-labs/coreth v0.13.9-rc.1
13+
github.com/ava-labs/coreth v0.13.9-rc.2-encapsulate-signer
1414
github.com/ava-labs/ledger-avalanche/go v0.0.0-20241009183145-e6f90a8a1a60
1515
github.com/btcsuite/btcd/btcutil v1.1.3
1616
github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ github.com/antithesishq/antithesis-sdk-go v0.3.8/go.mod h1:IUpT2DPAKh6i/YhSbt6Gl
6464
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
6565
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
6666
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
67-
github.com/ava-labs/coreth v0.13.9-rc.1 h1:qIICpC/OZGYUP37QnLgIqqwGmxnLwLpZaUlqJNI85vU=
68-
github.com/ava-labs/coreth v0.13.9-rc.1/go.mod h1:7aMsRIo/3GBE44qWZMjnfqdqfcfZ5yShTTm2LObLaYo=
67+
github.com/ava-labs/coreth v0.13.9-rc.2-encapsulate-signer h1:mRB03tLPUvgNko4nP4VwWQdiHeHaLHtdwsnqwxrsGec=
68+
github.com/ava-labs/coreth v0.13.9-rc.2-encapsulate-signer/go.mod h1:tqRAe+7bGLo2Rq/Ph4iYMSch72ag/Jn0DiDMDz1Xa9E=
6969
github.com/ava-labs/ledger-avalanche/go v0.0.0-20241009183145-e6f90a8a1a60 h1:EL66gtXOAwR/4KYBjOV03LTWgkEXvLePribLlJNu4g0=
7070
github.com/ava-labs/ledger-avalanche/go v0.0.0-20241009183145-e6f90a8a1a60/go.mod h1:/7qKobTfbzBu7eSTVaXMTr56yTYk4j2Px6/8G+idxHo=
7171
github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g=

network/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ type Config struct {
128128
// TLSKey is this node's TLS key that is used to sign IPs.
129129
TLSKey crypto.Signer `json:"-"`
130130
// BLSKey is this node's BLS key that is used to sign IPs.
131-
BLSKey *bls.SecretKey `json:"-"`
131+
BLSKey bls.Signer `json:"-"`
132132

133133
// TrackedSubnets of the node.
134134
// It must not include the primary network ID.

network/network_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ func newTestNetwork(t *testing.T, count int) (*testDialer, []*testListener, []id
175175
require.NoError(t, err)
176176
nodeID := ids.NodeIDFromCert(cert)
177177

178-
blsKey, err := bls.NewSecretKey()
178+
blsKey, err := bls.NewSigner()
179179
require.NoError(t, err)
180180

181181
config := defaultConfig

network/p2p/acp118/handler_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ func TestHandler(t *testing.T) {
7373
require := require.New(t)
7474

7575
ctx := context.Background()
76-
sk, err := bls.NewSecretKey()
76+
sk, err := bls.NewSigner()
7777
require.NoError(err)
78-
pk := bls.PublicFromSecretKey(sk)
78+
pk := sk.PublicKey()
7979
networkID := uint32(123)
8080
chainID := ids.GenerateTestID()
8181
signer := warp.NewSigner(sk, networkID, chainID)

network/peer/ip.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@ type UnsignedIP struct {
3232
}
3333

3434
// Sign this IP with the provided signer and return the signed IP.
35-
func (ip *UnsignedIP) Sign(tlsSigner crypto.Signer, blsSigner *bls.SecretKey) (*SignedIP, error) {
35+
func (ip *UnsignedIP) Sign(tlsSigner crypto.Signer, blsSigner bls.Signer) (*SignedIP, error) {
3636
ipBytes := ip.bytes()
3737
tlsSignature, err := tlsSigner.Sign(
3838
rand.Reader,
3939
hashing.ComputeHash256(ipBytes),
4040
crypto.SHA256,
4141
)
42-
blsSignature := bls.SignProofOfPossession(blsSigner, ipBytes)
42+
blsSignature := blsSigner.SignProofOfPossession(ipBytes)
4343
return &SignedIP{
4444
UnsignedIP: *ip,
4545
TLSSignature: tlsSignature,

network/peer/ip_signer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ type IPSigner struct {
1818
ip *utils.Atomic[netip.AddrPort]
1919
clock mockable.Clock
2020
tlsSigner crypto.Signer
21-
blsSigner *bls.SecretKey
21+
blsSigner bls.Signer
2222

2323
// Must be held while accessing [signedIP]
2424
signedIPLock sync.RWMutex
@@ -30,7 +30,7 @@ type IPSigner struct {
3030
func NewIPSigner(
3131
ip *utils.Atomic[netip.AddrPort],
3232
tlsSigner crypto.Signer,
33-
blsSigner *bls.SecretKey,
33+
blsSigner bls.Signer,
3434
) *IPSigner {
3535
return &IPSigner{
3636
ip: ip,

network/peer/ip_signer_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func TestIPSigner(t *testing.T) {
2828
require.NoError(err)
2929

3030
tlsKey := tlsCert.PrivateKey.(crypto.Signer)
31-
blsKey, err := bls.NewSecretKey()
31+
blsKey, err := bls.NewSigner()
3232
require.NoError(err)
3333

3434
s := NewIPSigner(dynIP, tlsKey, blsKey)

0 commit comments

Comments
 (0)