Skip to content

Commit b3698d7

Browse files
feat: remove unused code (#2677)
1 parent 055e5c3 commit b3698d7

File tree

2 files changed

+0
-212
lines changed

2 files changed

+0
-212
lines changed

lib/grandpa/grandpa.go

Lines changed: 0 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -753,53 +753,6 @@ func (s *Service) determinePreCommit() (*Vote, error) {
753753
return &pvb, nil
754754
}
755755

756-
// isFinalisable returns true if the round is finalisable, false otherwise.
757-
func (s *Service) isFinalisable(round uint64) (bool, error) {
758-
var pvb Vote
759-
var err error
760-
761-
if round == 0 {
762-
return true, nil
763-
}
764-
765-
s.mapLock.Lock()
766-
v, has := s.preVotedBlock[round]
767-
s.mapLock.Unlock()
768-
769-
if !has {
770-
return false, ErrNoPreVotedBlock
771-
}
772-
pvb = *v
773-
774-
bfc, err := s.getBestFinalCandidate()
775-
if err != nil {
776-
return false, err
777-
}
778-
779-
if bfc == nil {
780-
return false, errors.New("cannot find best final candidate for round")
781-
}
782-
783-
pc, err := s.getTotalVotesForBlock(bfc.Hash, precommit)
784-
if err != nil {
785-
return false, err
786-
}
787-
788-
s.mapLock.Lock()
789-
prevBfc := s.bestFinalCandidate[s.state.round-1]
790-
s.mapLock.Unlock()
791-
792-
if prevBfc == nil {
793-
return false, errors.New("cannot find best final candidate for previous round")
794-
}
795-
796-
if bfc.Number <= pvb.Number && (s.state.round == 0 || prevBfc.Number <= bfc.Number) && pc > s.state.threshold() {
797-
return true, nil
798-
}
799-
800-
return false, nil
801-
}
802-
803756
// finalise finalises the round by setting the best final candidate for this round
804757
func (s *Service) finalise() error {
805758
// get best final candidate
@@ -983,52 +936,6 @@ func (s *Service) getBestFinalCandidate() (*Vote, error) {
983936
return bfc, nil
984937
}
985938

986-
// isCompletable returns true if the round is completable, false otherwise
987-
func (s *Service) isCompletable() (bool, error) {
988-
// haven't received enough votes, not completable
989-
if uint64(s.lenVotes(precommit)+len(s.pcEquivocations)) <= s.state.threshold() {
990-
return false, nil
991-
}
992-
993-
prevoted, err := s.getPreVotedBlock()
994-
if err != nil {
995-
return false, err
996-
}
997-
998-
votes := s.getVotes(precommit)
999-
1000-
// for each block with at least 1 vote that's a descendant of the prevoted block,
1001-
// check that (total precommits - total pc equivocations - precommits for that block) >2/3|V|
1002-
// ie. there must not be a descendent of the prevotes block that is preferred
1003-
for _, v := range votes {
1004-
if prevoted.Hash == v.Hash {
1005-
continue
1006-
}
1007-
1008-
// check if the current block is a descendant of prevoted block
1009-
isDescendant, err := s.blockState.IsDescendantOf(prevoted.Hash, v.Hash)
1010-
if err != nil {
1011-
return false, err
1012-
}
1013-
1014-
if !isDescendant {
1015-
continue
1016-
}
1017-
1018-
c, err := s.getTotalVotesForBlock(v.Hash, precommit)
1019-
if err != nil {
1020-
return false, err
1021-
}
1022-
1023-
if uint64(len(votes)-len(s.pcEquivocations))-c <= s.state.threshold() {
1024-
// round isn't completable
1025-
return false, nil
1026-
}
1027-
}
1028-
1029-
return true, nil
1030-
}
1031-
1032939
// getPreVotedBlock returns the current pre-voted block B. also known as GRANDPA-GHOST.
1033940
// the pre-voted block is the block with the highest block number in the set of all the blocks with
1034941
// total votes >2/3 the total number of voters, where the total votes is determined by getTotalVotesForBlock.

lib/grandpa/grandpa_test.go

Lines changed: 0 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -781,43 +781,6 @@ func TestGetPreVotedBlock_EvenMoreCandidates(t *testing.T) {
781781
require.Equal(t, uint32(4), block.Number)
782782
}
783783

784-
func TestIsCompletable(t *testing.T) {
785-
gs, st := newTestService(t)
786-
787-
branches := map[uint]int{6: 1}
788-
state.AddBlocksToStateWithFixedBranches(t, st.Block, 8, branches)
789-
leaves := gs.blockState.Leaves()
790-
791-
voteA, err := NewVoteFromHash(leaves[0], st.Block)
792-
require.NoError(t, err)
793-
voteB, err := NewVoteFromHash(leaves[1], st.Block)
794-
require.NoError(t, err)
795-
796-
for i, k := range kr.Keys {
797-
voter := k.Public().(*ed25519.PublicKey).AsBytes()
798-
799-
if i < 6 {
800-
gs.prevotes.Store(voter, &SignedVote{
801-
Vote: *voteA,
802-
})
803-
gs.precommits.Store(voter, &SignedVote{
804-
Vote: *voteA,
805-
})
806-
} else {
807-
gs.prevotes.Store(voter, &SignedVote{
808-
Vote: *voteB,
809-
})
810-
gs.precommits.Store(voter, &SignedVote{
811-
Vote: *voteB,
812-
})
813-
}
814-
}
815-
816-
completable, err := gs.isCompletable()
817-
require.NoError(t, err)
818-
require.True(t, completable)
819-
}
820-
821784
func TestFindParentWithNumber(t *testing.T) {
822785
gs, st := newTestService(t)
823786

@@ -1050,88 +1013,6 @@ func TestDeterminePreVote_WithInvalidPrimaryPreVote(t *testing.T) {
10501013
require.Equal(t, gs.head.Hash(), pv.Hash)
10511014
}
10521015

1053-
func TestIsFinalisable_True(t *testing.T) {
1054-
gs, st := newTestService(t)
1055-
1056-
branches := map[uint]int{6: 1}
1057-
state.AddBlocksToStateWithFixedBranches(t, st.Block, 8, branches)
1058-
leaves := gs.blockState.Leaves()
1059-
1060-
voteA, err := NewVoteFromHash(leaves[0], st.Block)
1061-
require.NoError(t, err)
1062-
voteB, err := NewVoteFromHash(leaves[1], st.Block)
1063-
require.NoError(t, err)
1064-
1065-
for i, k := range kr.Keys {
1066-
voter := k.Public().(*ed25519.PublicKey).AsBytes()
1067-
1068-
if i < 6 {
1069-
gs.prevotes.Store(voter, &SignedVote{
1070-
Vote: *voteA,
1071-
})
1072-
gs.precommits.Store(voter, &SignedVote{
1073-
Vote: *voteA,
1074-
})
1075-
} else {
1076-
gs.prevotes.Store(voter, &SignedVote{
1077-
Vote: *voteB,
1078-
})
1079-
gs.precommits.Store(voter, &SignedVote{
1080-
Vote: *voteB,
1081-
})
1082-
}
1083-
}
1084-
1085-
finalisable, err := gs.isFinalisable(gs.state.round)
1086-
require.NoError(t, err)
1087-
require.True(t, finalisable)
1088-
}
1089-
1090-
func TestIsFinalisable_False(t *testing.T) {
1091-
gs, st := newTestService(t)
1092-
1093-
branches := map[uint]int{2: 1}
1094-
branches[2] = 1
1095-
state.AddBlocksToStateWithFixedBranches(t, st.Block, 3, branches)
1096-
leaves := gs.blockState.Leaves()
1097-
1098-
voteA, err := NewVoteFromHash(leaves[0], st.Block)
1099-
require.NoError(t, err)
1100-
voteB, err := NewVoteFromHash(leaves[1], st.Block)
1101-
require.NoError(t, err)
1102-
1103-
for i, k := range kr.Keys {
1104-
voter := k.Public().(*ed25519.PublicKey).AsBytes()
1105-
1106-
if i < 6 {
1107-
gs.prevotes.Store(voter, &SignedVote{
1108-
Vote: *voteA,
1109-
})
1110-
gs.precommits.Store(voter, &SignedVote{
1111-
Vote: *voteA,
1112-
})
1113-
} else {
1114-
gs.prevotes.Store(voter, &SignedVote{
1115-
Vote: *voteB,
1116-
})
1117-
gs.precommits.Store(voter, &SignedVote{
1118-
Vote: *voteB,
1119-
})
1120-
}
1121-
}
1122-
1123-
// previous round has finalised block # higher than current, so round is not finalisable
1124-
gs.state.round = 1
1125-
gs.bestFinalCandidate[0] = &Vote{
1126-
Number: 4,
1127-
}
1128-
gs.preVotedBlock[gs.state.round] = voteA
1129-
1130-
finalisable, err := gs.isFinalisable(gs.state.round)
1131-
require.NoError(t, err)
1132-
require.False(t, finalisable)
1133-
}
1134-
11351016
func TestGetGrandpaGHOST_CommonAncestor(t *testing.T) {
11361017
gs, st := newTestService(t)
11371018

0 commit comments

Comments
 (0)