Skip to content

Commit

Permalink
remove unused Mesh and rewards methods (#6773)
Browse files Browse the repository at this point in the history
## Motivation

Cleanup
  • Loading branch information
poszu committed Mar 6, 2025
1 parent 3a1369e commit d685eae
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 179 deletions.
1 change: 0 additions & 1 deletion api/grpcserver/v1/interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,6 @@ type meshAPI interface {
GetLayer(types.LayerID) (*types.Layer, error)
GetLayerVerified(types.LayerID) (*types.Block, error)
GetRewardsByCoinbase(types.Address) ([]*types.Reward, error)
GetRewardsBySmesherId(id types.NodeID) ([]*types.Reward, error)
LatestLayer() types.LayerID
LatestLayerInState() types.LayerID
ProcessedLayer() types.LayerID
Expand Down
39 changes: 0 additions & 39 deletions api/grpcserver/v1/mocks.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 0 additions & 10 deletions mesh/mesh.go
Original file line number Diff line number Diff line change
Expand Up @@ -617,16 +617,6 @@ func (msh *Mesh) GetRewardsByCoinbase(coinbase types.Address) ([]*types.Reward,
return rewards.ListByCoinbase(msh.cdb, coinbase)
}

// GetRewardsBySmesherId retrieves account's rewards by the smesher ID.
func (msh *Mesh) GetRewardsBySmesherId(smesherID types.NodeID) ([]*types.Reward, error) {
return rewards.ListBySmesherId(msh.cdb, smesherID)
}

// LastVerified returns the latest layer verified by tortoise.
func (msh *Mesh) LastVerified() types.LayerID {
return msh.trtl.LatestComplete()
}

type MissingBlocksError struct {
Blocks []types.BlockID
}
Expand Down
72 changes: 21 additions & 51 deletions sql/rewards/rewards.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package rewards

import (
"errors"
"fmt"

"github.com/spacemeshos/go-spacemesh/common/types"
Expand Down Expand Up @@ -57,58 +56,29 @@ func Revert(db sql.Executor, revertTo types.LayerID) error {
return nil
}

// ListByKey lists rewards from all layers for the specified smesherID and/or coinbase.
func ListByKey(db sql.Executor, coinbase *types.Address, smesherID *types.NodeID) (rst []*types.Reward, err error) {
var whereClause string
var binder func(*sql.Statement)
if coinbase != nil && smesherID != nil {
whereClause = "pubkey = ?1 and coinbase = ?2"
binder = func(stmt *sql.Statement) {
stmt.BindBytes(1, smesherID[:])
stmt.BindBytes(2, coinbase[:])
}
} else if coinbase != nil {
whereClause = "coinbase = ?1"
binder = func(stmt *sql.Statement) {
stmt.BindBytes(1, coinbase[:])
}
} else if smesherID != nil {
whereClause = "pubkey = ?1"
binder = func(stmt *sql.Statement) {
stmt.BindBytes(1, smesherID[:])
}
} else {
return nil, errors.New("must specify coinbase and/or smesherID")
}
stmt := fmt.Sprintf(
"%s where %s order by layer;",
fullQuery, whereClause)
_, err = db.Exec(stmt, binder, func(stmt *sql.Statement) bool {
smID := types.NodeID{}
cbase := types.Address{}
stmt.ColumnBytes(0, smID[:])
stmt.ColumnBytes(1, cbase[:])
reward := &types.Reward{
SmesherID: smID,
Coinbase: cbase,
Layer: types.LayerID(uint32(stmt.ColumnInt64(2))),
TotalReward: uint64(stmt.ColumnInt64(3)),
LayerReward: uint64(stmt.ColumnInt64(4)),
}
rst = append(rst, reward)
return true
})
return rst, err
}

// ListByCoinbase lists rewards from all layers for the coinbase address.
func ListByCoinbase(db sql.Executor, coinbase types.Address) (rst []*types.Reward, err error) {
return ListByKey(db, &coinbase, nil)
}

// ListBySmesherId lists rewards from all layers for the smesher ID.
func ListBySmesherId(db sql.Executor, smesherID types.NodeID) (rst []*types.Reward, err error) {
return ListByKey(db, nil, &smesherID)
_, err = db.Exec(
fullQuery+" where coinbase = ?1 order by layer;",
func(stmt *sql.Statement) {
stmt.BindBytes(1, coinbase[:])
},
func(stmt *sql.Statement) bool {
smID := types.NodeID{}
cbase := types.Address{}
stmt.ColumnBytes(0, smID[:])
stmt.ColumnBytes(1, cbase[:])
reward := &types.Reward{
SmesherID: smID,
Coinbase: cbase,
Layer: types.LayerID(uint32(stmt.ColumnInt64(2))),
TotalReward: uint64(stmt.ColumnInt64(3)),
LayerReward: uint64(stmt.ColumnInt64(4)),
}
rst = append(rst, reward)
return true
})
return rst, err
}

func IterateRewardsOps(
Expand Down
78 changes: 0 additions & 78 deletions sql/rewards/rewards_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,48 +90,11 @@ func TestRewards(t *testing.T) {
require.Equal(t, part, got[1].TotalReward)
require.Equal(t, lyrReward, got[1].LayerReward)

got, err = ListBySmesherId(db, smesherID1)
require.NoError(t, err)
require.Len(t, got, 1)
require.Equal(t, coinbase1, got[0].Coinbase)
require.Equal(t, lid1, got[0].Layer)
require.Equal(t, smesherID1, got[0].SmesherID)
require.Equal(t, part, got[0].TotalReward)
require.Equal(t, lyrReward, got[0].LayerReward)

got, err = ListBySmesherId(db, smesherID2)
require.NoError(t, err)
require.Len(t, got, 2)
require.Equal(t, coinbase1, got[0].Coinbase)
require.Equal(t, lid1, got[0].Layer)
require.Equal(t, smesherID2, got[0].SmesherID)
require.Equal(t, part, got[0].TotalReward)
require.Equal(t, lyrReward, got[0].LayerReward)
require.Equal(t, coinbase2, got[1].Coinbase)
require.Equal(t, lid2, got[1].Layer)
require.Equal(t, smesherID2, got[1].SmesherID)
require.Equal(t, part, got[1].TotalReward)
require.Equal(t, lyrReward, got[1].LayerReward)

got, err = ListBySmesherId(db, smesherID3)
require.NoError(t, err)
require.Len(t, got, 1)
require.Equal(t, coinbase2, got[0].Coinbase)
require.Equal(t, lid1, got[0].Layer)
require.Equal(t, smesherID3, got[0].SmesherID)
require.Equal(t, part, got[0].TotalReward)
require.Equal(t, lyrReward, got[0].LayerReward)

unknownAddr := types.Address{1, 2, 3}
got, err = ListByCoinbase(db, unknownAddr)
require.NoError(t, err)
require.Empty(t, got)

unknownSmesher := types.NodeID{1, 2, 3}
got, err = ListBySmesherId(db, unknownSmesher)
require.NoError(t, err)
require.Empty(t, got)

require.NoError(t, Revert(db, lid1))
got, err = ListByCoinbase(db, coinbase1)
require.NoError(t, err)
Expand All @@ -156,33 +119,6 @@ func TestRewards(t *testing.T) {
require.Equal(t, part, got[0].TotalReward)
require.Equal(t, lyrReward, got[0].LayerReward)

got, err = ListBySmesherId(db, smesherID1)
require.NoError(t, err)
require.Len(t, got, 1)
require.Equal(t, coinbase1, got[0].Coinbase)
require.Equal(t, lid1, got[0].Layer)
require.Equal(t, smesherID1, got[0].SmesherID)
require.Equal(t, part, got[0].TotalReward)
require.Equal(t, lyrReward, got[0].LayerReward)

got, err = ListBySmesherId(db, smesherID2)
require.NoError(t, err)
require.Len(t, got, 1)
require.Equal(t, coinbase1, got[0].Coinbase)
require.Equal(t, lid1, got[0].Layer)
require.Equal(t, smesherID2, got[0].SmesherID)
require.Equal(t, part, got[0].TotalReward)
require.Equal(t, lyrReward, got[0].LayerReward)

got, err = ListBySmesherId(db, smesherID3)
require.NoError(t, err)
require.Len(t, got, 1)
require.Equal(t, coinbase2, got[0].Coinbase)
require.Equal(t, lid1, got[0].Layer)
require.Equal(t, smesherID3, got[0].SmesherID)
require.Equal(t, part, got[0].TotalReward)
require.Equal(t, lyrReward, got[0].LayerReward)

// This should fail: there cannot be two (smesherID, layer) rows.
require.ErrorIs(t, Add(db, &types.Reward{
Layer: lid1,
Expand Down Expand Up @@ -312,11 +248,6 @@ func Test_0008Migration(t *testing.T) {
// this should not be set
require.Equal(t, types.NodeID{0}, rewards[0].SmesherID)

// this should return nothing (since smesherID wasn't set)
rewards, err = ListBySmesherId(db, reward.SmesherID)
require.NoError(t, err)
require.Empty(t, rewards)

// add more data and verify that we can read it both ways
reward = &types.Reward{
Layer: 9001,
Expand All @@ -336,13 +267,4 @@ func Test_0008Migration(t *testing.T) {
require.Equal(t, reward.LayerReward, rewards[1].LayerReward)
require.Equal(t, reward.Layer, rewards[1].Layer)
require.Equal(t, reward.SmesherID, rewards[1].SmesherID)

rewards, err = ListBySmesherId(db, reward.SmesherID)
require.NoError(t, err)
require.Len(t, rewards, 1)
require.Equal(t, reward.Coinbase, rewards[0].Coinbase)
require.Equal(t, reward.TotalReward, rewards[0].TotalReward)
require.Equal(t, reward.LayerReward, rewards[0].LayerReward)
require.Equal(t, reward.Layer, rewards[0].Layer)
require.Equal(t, reward.SmesherID, rewards[0].SmesherID)
}

0 comments on commit d685eae

Please sign in to comment.