Skip to content

Commit 19bd73d

Browse files
committed
clean up unused methods from the hare oracle (#6682)
## Motivation Cleaning up dead code
1 parent e59c5ca commit 19bd73d

File tree

9 files changed

+6
-204
lines changed

9 files changed

+6
-204
lines changed

blocks/certifier.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ func (c *Certifier) certifySingleSigner(
250250
bid types.BlockID,
251251
beacon types.Beacon,
252252
) error {
253-
proof := eligibility.GenVRF(context.Background(), s.VRFSigner(), beacon, lid, eligibility.CertifyRound)
253+
proof := eligibility.GenVRF(s.VRFSigner(), beacon, lid, eligibility.CertifyRound)
254254
eligibilityCount, err := c.oracle.CalcEligibility(
255255
ctx,
256256
lid,

hare3/eligibility/interface.go

-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"context"
55

66
"github.com/spacemeshos/go-spacemesh/common/types"
7-
"github.com/spacemeshos/go-spacemesh/signing"
87
)
98

109
//go:generate mockgen -typed -package=eligibility -destination=./mocks.go -source=./interface.go
@@ -22,5 +21,4 @@ type vrfVerifier interface {
2221
type Rolacle interface {
2322
Validate(context.Context, types.LayerID, uint32, int, types.NodeID, types.VrfSignature, uint16) (bool, error)
2423
CalcEligibility(context.Context, types.LayerID, uint32, int, types.NodeID, types.VrfSignature) (uint16, error)
25-
Proof(context.Context, *signing.VRFSigner, types.LayerID, uint32) (types.VrfSignature, error)
2624
}

hare3/eligibility/mocks.go

-40
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

hare3/eligibility/oracle.go

-34
Original file line numberDiff line numberDiff line change
@@ -381,23 +381,8 @@ func (o *Oracle) CalcEligibility(
381381
return uint16(n), nil
382382
}
383383

384-
// Proof returns the role proof for the current Layer & Round.
385-
func (o *Oracle) Proof(
386-
ctx context.Context,
387-
signer *signing.VRFSigner,
388-
layer types.LayerID,
389-
round uint32,
390-
) (types.VrfSignature, error) {
391-
beacon, err := o.beacons.GetBeacon(layer.GetEpoch())
392-
if err != nil {
393-
return types.EmptyVrfSignature, fmt.Errorf("get beacon: %w", err)
394-
}
395-
return GenVRF(ctx, signer, beacon, layer, round), nil
396-
}
397-
398384
// GenVRF generates vrf for hare eligibility.
399385
func GenVRF(
400-
ctx context.Context,
401386
signer *signing.VRFSigner,
402387
beacon types.Beacon,
403388
layer types.LayerID,
@@ -538,25 +523,6 @@ func (o *Oracle) activeSetFromRefBallots(epoch types.EpochID) ([]types.ATXID, er
538523
return maps.Keys(activeMap), nil
539524
}
540525

541-
// IsIdentityActiveOnConsensusView returns true if the provided identity is active on the consensus view derived
542-
// from the specified layer, false otherwise.
543-
func (o *Oracle) IsIdentityActiveOnConsensusView(
544-
ctx context.Context,
545-
edID types.NodeID,
546-
layer types.LayerID,
547-
) (bool, error) {
548-
o.log.Debug("hare oracle checking for active identity", log.ZContext(ctx))
549-
defer func() {
550-
o.log.Debug("hare oracle active identity check complete", log.ZContext(ctx))
551-
}()
552-
actives, err := o.actives(ctx, layer)
553-
if err != nil {
554-
return false, err
555-
}
556-
_, exist := actives.set[edID]
557-
return exist, nil
558-
}
559-
560526
func (o *Oracle) UpdateActiveSet(epoch types.EpochID, activeSet []types.ATXID) {
561527
o.log.Debug("received activeset update",
562528
zap.Uint32("epoch", epoch.Uint32()),

hare3/eligibility/oracle_test.go

+1-45
Original file line numberDiff line numberDiff line change
@@ -409,8 +409,7 @@ func Test_VrfSignVerify(t *testing.T) {
409409
// round is handpicked for vrf signature to pass
410410
const round = 0
411411

412-
proof, err := o.Proof(context.Background(), signer.VRFSigner(), lid, round)
413-
require.NoError(t, err)
412+
proof := GenVRF(signer.VRFSigner(), types.Beacon{1, 0, 0, 0}, lid, round)
414413

415414
res, err := o.CalcEligibility(context.Background(), lid, round, 10, nid, proof)
416415
require.NoError(t, err)
@@ -421,49 +420,6 @@ func Test_VrfSignVerify(t *testing.T) {
421420
require.True(t, valid)
422421
}
423422

424-
func Test_Proof_BeaconError(t *testing.T) {
425-
o := defaultOracle(t)
426-
427-
signer, err := signing.NewEdSigner()
428-
require.NoError(t, err)
429-
430-
layer := types.LayerID(2)
431-
errUnknown := errors.New("unknown")
432-
o.mBeacon.EXPECT().GetBeacon(layer.GetEpoch()).Return(types.EmptyBeacon, errUnknown).Times(1)
433-
434-
_, err = o.Proof(context.Background(), signer.VRFSigner(), layer, 3)
435-
require.ErrorIs(t, err, errUnknown)
436-
}
437-
438-
func Test_Proof(t *testing.T) {
439-
o := defaultOracle(t)
440-
layer := types.LayerID(2)
441-
o.mBeacon.EXPECT().GetBeacon(layer.GetEpoch()).Return(types.Beacon{1, 0, 0, 0}, nil)
442-
443-
signer, err := signing.NewEdSigner()
444-
require.NoError(t, err)
445-
446-
sig, err := o.Proof(context.Background(), signer.VRFSigner(), layer, 3)
447-
require.NoError(t, err)
448-
require.NotNil(t, sig)
449-
}
450-
451-
func TestOracle_IsIdentityActive(t *testing.T) {
452-
o := defaultOracle(t)
453-
layer := types.LayerID(defLayersPerEpoch * 4)
454-
numMiners := 2
455-
o.mSyncer.EXPECT().IsSynced(context.Background()).Return(false).AnyTimes()
456-
miners := o.createLayerData(layer.Sub(defLayersPerEpoch), numMiners)
457-
for _, nodeID := range miners {
458-
v, err := o.IsIdentityActiveOnConsensusView(context.Background(), nodeID, layer)
459-
require.NoError(t, err)
460-
require.True(t, v)
461-
}
462-
v, err := o.IsIdentityActiveOnConsensusView(context.Background(), types.NodeID{7, 7, 7}, layer)
463-
require.NoError(t, err)
464-
require.False(t, v)
465-
}
466-
467423
func TestBuildVRFMessage_BeaconError(t *testing.T) {
468424
o := defaultOracle(t)
469425
errUnknown := errors.New("unknown")

hare3/legacy_oracle.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func (lg *legacyOracle) active(
4949
layer types.LayerID,
5050
ir IterRound,
5151
) *types.HareEligibility {
52-
vrf := eligibility.GenVRF(context.Background(), signer.VRFSigner(), beacon, layer, ir.Absolute())
52+
vrf := eligibility.GenVRF(signer.VRFSigner(), beacon, layer, ir.Absolute())
5353
committee := int(lg.config.CommitteeFor(layer))
5454
if ir.Round == propose {
5555
committee = int(lg.config.Leaders)

hare4/eligibility/oracle.go

-34
Original file line numberDiff line numberDiff line change
@@ -381,23 +381,8 @@ func (o *Oracle) CalcEligibility(
381381
return uint16(n), nil
382382
}
383383

384-
// Proof returns the role proof for the current Layer & Round.
385-
func (o *Oracle) Proof(
386-
ctx context.Context,
387-
signer *signing.VRFSigner,
388-
layer types.LayerID,
389-
round uint32,
390-
) (types.VrfSignature, error) {
391-
beacon, err := o.beacons.GetBeacon(layer.GetEpoch())
392-
if err != nil {
393-
return types.EmptyVrfSignature, fmt.Errorf("get beacon: %w", err)
394-
}
395-
return GenVRF(ctx, signer, beacon, layer, round), nil
396-
}
397-
398384
// GenVRF generates vrf for hare eligibility.
399385
func GenVRF(
400-
ctx context.Context,
401386
signer *signing.VRFSigner,
402387
beacon types.Beacon,
403388
layer types.LayerID,
@@ -538,25 +523,6 @@ func (o *Oracle) activeSetFromRefBallots(epoch types.EpochID) ([]types.ATXID, er
538523
return maps.Keys(activeMap), nil
539524
}
540525

541-
// IsIdentityActiveOnConsensusView returns true if the provided identity is active on the consensus view derived
542-
// from the specified layer, false otherwise.
543-
func (o *Oracle) IsIdentityActiveOnConsensusView(
544-
ctx context.Context,
545-
edID types.NodeID,
546-
layer types.LayerID,
547-
) (bool, error) {
548-
o.log.Debug("hare oracle checking for active identity", log.ZContext(ctx))
549-
defer func() {
550-
o.log.Debug("hare oracle active identity check complete", log.ZContext(ctx))
551-
}()
552-
actives, err := o.actives(ctx, layer)
553-
if err != nil {
554-
return false, err
555-
}
556-
_, exist := actives.set[edID]
557-
return exist, nil
558-
}
559-
560526
func (o *Oracle) UpdateActiveSet(epoch types.EpochID, activeSet []types.ATXID) {
561527
o.log.Info("received activeset update",
562528
zap.Uint32("epoch", epoch.Uint32()),

hare4/eligibility/oracle_test.go

+1-45
Original file line numberDiff line numberDiff line change
@@ -409,8 +409,7 @@ func Test_VrfSignVerify(t *testing.T) {
409409
// round is handpicked for vrf signature to pass
410410
const round = 0
411411

412-
proof, err := o.Proof(context.Background(), signer.VRFSigner(), lid, round)
413-
require.NoError(t, err)
412+
proof := GenVRF(signer.VRFSigner(), types.Beacon{1, 0, 0, 0}, lid, round)
414413

415414
res, err := o.CalcEligibility(context.Background(), lid, round, 10, nid, proof)
416415
require.NoError(t, err)
@@ -421,49 +420,6 @@ func Test_VrfSignVerify(t *testing.T) {
421420
require.True(t, valid)
422421
}
423422

424-
func Test_Proof_BeaconError(t *testing.T) {
425-
o := defaultOracle(t)
426-
427-
signer, err := signing.NewEdSigner()
428-
require.NoError(t, err)
429-
430-
layer := types.LayerID(2)
431-
errUnknown := errors.New("unknown")
432-
o.mBeacon.EXPECT().GetBeacon(layer.GetEpoch()).Return(types.EmptyBeacon, errUnknown).Times(1)
433-
434-
_, err = o.Proof(context.Background(), signer.VRFSigner(), layer, 3)
435-
require.ErrorIs(t, err, errUnknown)
436-
}
437-
438-
func Test_Proof(t *testing.T) {
439-
o := defaultOracle(t)
440-
layer := types.LayerID(2)
441-
o.mBeacon.EXPECT().GetBeacon(layer.GetEpoch()).Return(types.Beacon{1, 0, 0, 0}, nil)
442-
443-
signer, err := signing.NewEdSigner()
444-
require.NoError(t, err)
445-
446-
sig, err := o.Proof(context.Background(), signer.VRFSigner(), layer, 3)
447-
require.NoError(t, err)
448-
require.NotNil(t, sig)
449-
}
450-
451-
func TestOracle_IsIdentityActive(t *testing.T) {
452-
o := defaultOracle(t)
453-
layer := types.LayerID(defLayersPerEpoch * 4)
454-
numMiners := 2
455-
o.mSyncer.EXPECT().IsSynced(context.Background()).Return(false).AnyTimes()
456-
miners := o.createLayerData(layer.Sub(defLayersPerEpoch), numMiners)
457-
for _, nodeID := range miners {
458-
v, err := o.IsIdentityActiveOnConsensusView(context.Background(), nodeID, layer)
459-
require.NoError(t, err)
460-
require.True(t, v)
461-
}
462-
v, err := o.IsIdentityActiveOnConsensusView(context.Background(), types.NodeID{7, 7, 7}, layer)
463-
require.NoError(t, err)
464-
require.False(t, v)
465-
}
466-
467423
func TestBuildVRFMessage_BeaconError(t *testing.T) {
468424
o := defaultOracle(t)
469425
errUnknown := errors.New("unknown")

hare4/legacy_oracle.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"go.uber.org/zap"
88

99
"github.com/spacemeshos/go-spacemesh/common/types"
10-
"github.com/spacemeshos/go-spacemesh/hare3/eligibility"
10+
"github.com/spacemeshos/go-spacemesh/hare4/eligibility"
1111
"github.com/spacemeshos/go-spacemesh/signing"
1212
)
1313

@@ -49,7 +49,7 @@ func (lg *legacyOracle) active(
4949
layer types.LayerID,
5050
ir IterRound,
5151
) *types.HareEligibility {
52-
vrf := eligibility.GenVRF(context.Background(), signer.VRFSigner(), beacon, layer, ir.Absolute())
52+
vrf := eligibility.GenVRF(signer.VRFSigner(), beacon, layer, ir.Absolute())
5353
committee := int(lg.config.CommitteeFor(layer))
5454
if ir.Round == propose {
5555
committee = int(lg.config.Leaders)

0 commit comments

Comments
 (0)