Skip to content

Commit

Permalink
make collections private
Browse files Browse the repository at this point in the history
  • Loading branch information
GAtom22 committed Feb 28, 2025
1 parent 3dfc1f6 commit 6a98556
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 27 deletions.
6 changes: 3 additions & 3 deletions x/incentive/keeper/genesis.go
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ func (k Keeper) refundableMsgHashes(ctx context.Context) ([]string, error) {
func (k Keeper) finalityProvidersCurrentRewards(ctx context.Context) ([]types.FinalityProviderCurrentRewardsEntry, error) {
entries := make([]types.FinalityProviderCurrentRewardsEntry, 0)

iter, err := k.FinalityProviderCurrentRewards.Iterate(ctx, nil)
iter, err := k.finalityProviderCurrentRewards.Iterate(ctx, nil)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -320,7 +320,7 @@ func (k Keeper) finalityProvidersCurrentRewards(ctx context.Context) ([]types.Fi
func (k Keeper) finalityProvidersHistoricalRewards(ctx context.Context) ([]types.FinalityProviderHistoricalRewardsEntry, error) {
entries := make([]types.FinalityProviderHistoricalRewardsEntry, 0)

iter, err := k.FinalityProviderHistoricalRewards.Iterate(ctx, nil)
iter, err := k.finalityProviderHistoricalRewards.Iterate(ctx, nil)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -357,7 +357,7 @@ func (k Keeper) finalityProvidersHistoricalRewards(ctx context.Context) ([]types
func (k Keeper) btcDelegationRewardsTrackers(ctx context.Context) ([]types.BTCDelegationRewardsTrackerEntry, error) {
entries := make([]types.BTCDelegationRewardsTrackerEntry, 0)

iter, err := k.BTCDelegationRewardsTracker.Iterate(ctx, nil)
iter, err := k.btcDelegationRewardsTracker.Iterate(ctx, nil)
if err != nil {
return nil, err
}
Expand Down
30 changes: 25 additions & 5 deletions x/incentive/keeper/genesis_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@ import (
"cosmossdk.io/collections"
"cosmossdk.io/store/prefix"
storetypes "cosmossdk.io/store/types"
appparams "github.com/babylonlabs-io/babylon/app/params"
"github.com/babylonlabs-io/babylon/testutil/datagen"
keepertest "github.com/babylonlabs-io/babylon/testutil/keeper"
"github.com/babylonlabs-io/babylon/x/incentive/keeper"
"github.com/babylonlabs-io/babylon/x/incentive/types"
"github.com/cosmos/cosmos-sdk/codec"
"github.com/cosmos/cosmos-sdk/runtime"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/golang/mock/gomock"
Expand Down Expand Up @@ -223,6 +225,7 @@ func FuzzTestExportGenesis(f *testing.F) {
defer ctrl.Finish()

var (
encConfig = appparams.DefaultEncodingConfig()
storeService = runtime.NewKVStoreService(sk)
store = storeService.OpenKVStore(ctx)
storeAdaptor = runtime.KVStoreAdapter(store)
Expand All @@ -240,21 +243,38 @@ func FuzzTestExportGenesis(f *testing.F) {
k.RefundableMsgKeySet.Set(ctx, bz)

// FP current rewards
k.FinalityProviderCurrentRewards.Set(ctx, sdk.MustAccAddressFromBech32(gs.FinalityProvidersCurrentRewards[i].Address).Bytes(), *gs.FinalityProvidersCurrentRewards[i].Rewards)
fpCurrRwdKeyBz, err := collections.EncodeKeyWithPrefix(types.FinalityProviderCurrentRewardsKeyPrefix.Bytes(), collections.BytesKey, sdk.MustAccAddressFromBech32(gs.FinalityProvidersCurrentRewards[i].Address).Bytes())
require.NoError(t, err)

currRwdBz, err := codec.CollValue[types.FinalityProviderCurrentRewards](encConfig.Codec).Encode(*gs.FinalityProvidersCurrentRewards[i].Rewards)
require.NoError(t, err)
require.NoError(t, store.Set(fpCurrRwdKeyBz, currRwdBz))

// FP historical rewards
fphrKey := collections.Join(
sdk.MustAccAddressFromBech32(gs.FinalityProvidersHistoricalRewards[i].Address).Bytes(),
gs.FinalityProvidersHistoricalRewards[i].Period,
)

// FP historical rewards
k.FinalityProviderHistoricalRewards.Set(ctx, fphrKey, *gs.FinalityProvidersHistoricalRewards[i].Rewards)
fphrKeyBz, err := collections.EncodeKeyWithPrefix(types.FinalityProviderHistoricalRewardsKeyPrefix.Bytes(), collections.PairKeyCodec(collections.BytesKey, collections.Uint64Key), fphrKey)
require.NoError(t, err)

histRwdBz, err := codec.CollValue[types.FinalityProviderHistoricalRewards](encConfig.Codec).Encode(*gs.FinalityProvidersHistoricalRewards[i].Rewards)
require.NoError(t, err)
require.NoError(t, store.Set(fphrKeyBz, histRwdBz))

// BTCDelegationRewardsTracker
bdrtKey := collections.Join(
sdk.MustAccAddressFromBech32(gs.BtcDelegationRewardsTrackers[i].FinalityProviderAddress).Bytes(),
sdk.MustAccAddressFromBech32(gs.BtcDelegationRewardsTrackers[i].DelegatorAddress).Bytes(),
)

// BTCDelegationRewardsTracker
k.BTCDelegationRewardsTracker.Set(ctx, bdrtKey, *gs.BtcDelegationRewardsTrackers[i].Tracker)
bdrtKeyBz, err := collections.EncodeKeyWithPrefix(types.BTCDelegationRewardsTrackerKeyPrefix.Bytes(), collections.PairKeyCodec(collections.BytesKey, collections.BytesKey), bdrtKey)
require.NoError(t, err)

bdrtBz, err := codec.CollValue[types.BTCDelegationRewardsTracker](encConfig.Codec).Encode(*gs.BtcDelegationRewardsTrackers[i].Tracker)
require.NoError(t, err)
require.NoError(t, store.Set(bdrtKeyBz, bdrtBz))

// btcDel2FP
st := prefix.NewStore(storeAdaptor, types.BTCDelegatorToFPKey)
Expand Down
18 changes: 9 additions & 9 deletions x/incentive/keeper/keeper.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ type (

// Collections structures for rewards

// BTCDelegationRewardsTracker maps (FpAddr, DelAddr) => BTCDelegationRewardsTracker
BTCDelegationRewardsTracker collections.Map[collections.Pair[[]byte, []byte], types.BTCDelegationRewardsTracker]
// FinalityProviderHistoricalRewards maps (FpAddr, period) => FinalityProviderHistoricalRewards
FinalityProviderHistoricalRewards collections.Map[collections.Pair[[]byte, uint64], types.FinalityProviderHistoricalRewards]
// FinalityProviderCurrentRewards maps (FpAddr) => FinalityProviderCurrentRewards
FinalityProviderCurrentRewards collections.Map[[]byte, types.FinalityProviderCurrentRewards]
// btcDelegationRewardsTracker maps (FpAddr, DelAddr) => BTCDelegationRewardsTracker
btcDelegationRewardsTracker collections.Map[collections.Pair[[]byte, []byte], types.BTCDelegationRewardsTracker]
// finalityProviderHistoricalRewards maps (FpAddr, period) => FinalityProviderHistoricalRewards
finalityProviderHistoricalRewards collections.Map[collections.Pair[[]byte, uint64], types.FinalityProviderHistoricalRewards]
// finalityProviderCurrentRewards maps (FpAddr) => FinalityProviderCurrentRewards
finalityProviderCurrentRewards collections.Map[[]byte, types.FinalityProviderCurrentRewards]
}
)

Expand Down Expand Up @@ -66,23 +66,23 @@ func NewKeeper(
),

// Collections structures for rewards
BTCDelegationRewardsTracker: collections.NewMap(
btcDelegationRewardsTracker: collections.NewMap(
sb,
types.BTCDelegationRewardsTrackerKeyPrefix,
"btc_delegation_rewards_tracker",
// keys: (FpAddr, DelAddr)
collections.PairKeyCodec(collections.BytesKey, collections.BytesKey),
codec.CollValue[types.BTCDelegationRewardsTracker](cdc),
),
FinalityProviderHistoricalRewards: collections.NewMap(
finalityProviderHistoricalRewards: collections.NewMap(
sb,
types.FinalityProviderHistoricalRewardsKeyPrefix,
"fp_historical_rewards",
// keys: (FpAddr, period)
collections.PairKeyCodec(collections.BytesKey, collections.Uint64Key),
codec.CollValue[types.FinalityProviderHistoricalRewards](cdc),
),
FinalityProviderCurrentRewards: collections.NewMap(
finalityProviderCurrentRewards: collections.NewMap(
sb,
types.FinalityProviderCurrentRewardsKeyPrefix,
"fp_current_rewards",
Expand Down
20 changes: 10 additions & 10 deletions x/incentive/keeper/reward_tracker_store.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ func (k Keeper) deleteBTCDelegatorToFP(ctx context.Context, del, fp sdk.AccAddre
// GetFinalityProviderCurrentRewards returns the Finality Provider current rewards
// based on the FP address key
func (k Keeper) GetFinalityProviderCurrentRewards(ctx context.Context, fp sdk.AccAddress) (types.FinalityProviderCurrentRewards, error) {
value, err := k.FinalityProviderCurrentRewards.Get(ctx, fp.Bytes())
value, err := k.finalityProviderCurrentRewards.Get(ctx, fp.Bytes())
if err != nil {
return types.FinalityProviderCurrentRewards{}, types.ErrFPCurrentRewardsNotFound
}
Expand All @@ -71,7 +71,7 @@ func (k Keeper) GetFinalityProviderCurrentRewards(ctx context.Context, fp sdk.Ac
// It stops if the function `it` returns an error.
func (k Keeper) IterateBTCDelegationRewardsTracker(ctx context.Context, fp sdk.AccAddress, it func(fp, del sdk.AccAddress) error) error {
rng := collections.NewPrefixedPairRange[[]byte, []byte](fp.Bytes())
return k.BTCDelegationRewardsTracker.Walk(ctx, rng, func(key collections.Pair[[]byte, []byte], value types.BTCDelegationRewardsTracker) (stop bool, err error) {
return k.btcDelegationRewardsTracker.Walk(ctx, rng, func(key collections.Pair[[]byte, []byte], value types.BTCDelegationRewardsTracker) (stop bool, err error) {
del := sdk.AccAddress(key.K2())
if err := it(fp, del); err != nil {
return err != nil, err
Expand All @@ -83,7 +83,7 @@ func (k Keeper) IterateBTCDelegationRewardsTracker(ctx context.Context, fp sdk.A
// deleteKeysFromBTCDelegationRewardsTracker iterates over all the BTC delegation rewards tracker by the finality provider and deletes it.
func (k Keeper) deleteKeysFromBTCDelegationRewardsTracker(ctx context.Context, fp sdk.AccAddress, delKeys [][]byte) {
rng := collections.NewPrefixedPairRange[[]byte, []byte](fp.Bytes())
err := k.BTCDelegationRewardsTracker.Clear(ctx, rng)
err := k.btcDelegationRewardsTracker.Clear(ctx, rng)
if err != nil {
k.Logger(sdk.UnwrapSDKContext(ctx)).Error("error deleting BTCDelegationRewardsTracker", "error", err)
}
Expand All @@ -95,7 +95,7 @@ func (k Keeper) deleteKeysFromBTCDelegationRewardsTracker(ctx context.Context, f
// GetBTCDelegationRewardsTracker returns the BTCDelegationRewardsTracker based on the delegation key (fp, del)
// It returns an error in case the key is not found.
func (k Keeper) GetBTCDelegationRewardsTracker(ctx context.Context, fp, del sdk.AccAddress) (types.BTCDelegationRewardsTracker, error) {
value, err := k.BTCDelegationRewardsTracker.Get(ctx, collections.Join(fp.Bytes(), del.Bytes()))
value, err := k.btcDelegationRewardsTracker.Get(ctx, collections.Join(fp.Bytes(), del.Bytes()))
if err != nil {
return types.BTCDelegationRewardsTracker{}, types.ErrBTCDelegationRewardsTrackerNotFound
}
Expand All @@ -105,19 +105,19 @@ func (k Keeper) GetBTCDelegationRewardsTracker(ctx context.Context, fp, del sdk.
// setBTCDelegationRewardsTracker sets a new structure in the store, it fails and returns an error if the rwd fails to marshal.
func (k Keeper) setBTCDelegationRewardsTracker(ctx context.Context, fp, del sdk.AccAddress, rwd types.BTCDelegationRewardsTracker) error {
k.setBTCDelegatorToFP(ctx, del, fp)
return k.BTCDelegationRewardsTracker.Set(ctx, collections.Join(fp.Bytes(), del.Bytes()), rwd)
return k.btcDelegationRewardsTracker.Set(ctx, collections.Join(fp.Bytes(), del.Bytes()), rwd)
}

// setFinalityProviderCurrentRewards sets a new structure in the store, it fails and returns an error if the rwd fails to marshal.
func (k Keeper) setFinalityProviderCurrentRewards(ctx context.Context, fp sdk.AccAddress, rwd types.FinalityProviderCurrentRewards) error {
return k.FinalityProviderCurrentRewards.Set(ctx, fp.Bytes(), rwd)
return k.finalityProviderCurrentRewards.Set(ctx, fp.Bytes(), rwd)
}

// deleteAllFromFinalityProviderRwd deletes all the data related to Finality Provider Rewards
// Historical and current from a fp address key.
func (k Keeper) deleteAllFromFinalityProviderRwd(ctx context.Context, fp sdk.AccAddress) {
rng := collections.NewPrefixedPairRange[[]byte, uint64](fp.Bytes())
err := k.FinalityProviderHistoricalRewards.Clear(ctx, rng)
err := k.finalityProviderHistoricalRewards.Clear(ctx, rng)
if err != nil {
k.Logger(sdk.UnwrapSDKContext(ctx)).Error("error deleting FinalityProviderHistoricalRewards", "error", err)
}
Expand All @@ -127,15 +127,15 @@ func (k Keeper) deleteAllFromFinalityProviderRwd(ctx context.Context, fp sdk.Acc

// deleteFinalityProviderCurrentRewards deletes the current FP reward based on the key received
func (k Keeper) deleteFinalityProviderCurrentRewards(ctx context.Context, fp sdk.AccAddress) {
if err := k.FinalityProviderCurrentRewards.Remove(ctx, fp.Bytes()); err != nil {
if err := k.finalityProviderCurrentRewards.Remove(ctx, fp.Bytes()); err != nil {
k.Logger(sdk.UnwrapSDKContext(ctx)).Error("error deleting FinalityProviderCurrentRewards", "error", err)
}
}

// GetFinalityProviderHistoricalRewards returns the FinalityProviderHistoricalRewards based on the key (fp, period)
// It returns an error if the key is not found inside the store.
func (k Keeper) GetFinalityProviderHistoricalRewards(ctx context.Context, fp sdk.AccAddress, period uint64) (types.FinalityProviderHistoricalRewards, error) {
value, err := k.FinalityProviderHistoricalRewards.Get(ctx, collections.Join(fp.Bytes(), period))
value, err := k.finalityProviderHistoricalRewards.Get(ctx, collections.Join(fp.Bytes(), period))
if err != nil {
return types.FinalityProviderHistoricalRewards{}, types.ErrFPHistoricalRewardsNotFound
}
Expand All @@ -145,7 +145,7 @@ func (k Keeper) GetFinalityProviderHistoricalRewards(ctx context.Context, fp sdk
// setFinalityProviderHistoricalRewards sets a new value inside the store, it returns an error
// if the marshal of the `rwd` fails.
func (k Keeper) setFinalityProviderHistoricalRewards(ctx context.Context, fp sdk.AccAddress, period uint64, rwd types.FinalityProviderHistoricalRewards) error {
return k.FinalityProviderHistoricalRewards.Set(ctx, collections.Join(fp.Bytes(), period), rwd)
return k.finalityProviderHistoricalRewards.Set(ctx, collections.Join(fp.Bytes(), period), rwd)
}

// subDelegationSat subtracts an amount of active stake from the BTCDelegationRewardsTracker
Expand Down

0 comments on commit 6a98556

Please sign in to comment.