Skip to content

Commit

Permalink
chore: refactor the protobuf directory path
Browse files Browse the repository at this point in the history
  • Loading branch information
mikebraver committed Jul 29, 2024
1 parent 92c95dd commit 9f614dc
Show file tree
Hide file tree
Showing 37 changed files with 493 additions and 438 deletions.
27 changes: 26 additions & 1 deletion app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ import (
"path/filepath"
"sort"

distr "github.com/ExocoreNetwork/exocore/x/feedistribution"
distrkeeper "github.com/ExocoreNetwork/exocore/x/feedistribution/keeper"
distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types"

"github.com/ExocoreNetwork/exocore/x/oracle"
oracleKeeper "github.com/ExocoreNetwork/exocore/x/oracle/keeper"
oracleTypes "github.com/ExocoreNetwork/exocore/x/oracle/types"
Expand Down Expand Up @@ -274,6 +278,7 @@ var (
exoslash.AppModuleBasic{},
avs.AppModuleBasic{},
oracle.AppModuleBasic{},
distr.AppModuleBasic{},
)

// module account permissions
Expand All @@ -288,6 +293,7 @@ var (
}, // used for secure addition and subtraction of balance using module account
erc20types.ModuleName: {authtypes.Minter, authtypes.Burner},
exominttypes.ModuleName: {authtypes.Minter},
distrtypes.ModuleName: nil,
}

// module accounts that are allowed to receive tokens
Expand Down Expand Up @@ -358,6 +364,7 @@ type ExocoreApp struct {
AVSManagerKeeper avsManagerKeeper.Keeper
OracleKeeper oracleKeeper.Keeper
ExomintKeeper exomintkeeper.Keeper
DistrKeeper distrkeeper.Keeper

// the module manager
mm *module.Manager
Expand Down Expand Up @@ -442,6 +449,7 @@ func NewExocoreApp(
avsManagerTypes.StoreKey,
oracleTypes.StoreKey,
exominttypes.StoreKey,
distrtypes.StoreKey,
)

tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey, evmtypes.TransientKey, feemarkettypes.TransientKey)
Expand Down Expand Up @@ -542,6 +550,19 @@ func NewExocoreApp(
authAddrString,
)

// the fee distribution keeper is used to allocate reward to exocore validators on epoch-basis,
// and it'll interact with other modules, like delegation for voting power, mint and inflation and etc.
app.DistrKeeper = distrkeeper.NewKeeper(
appCodec, logger,
authtypes.FeeCollectorName,
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
keys[distrtypes.StoreKey],
app.BankKeeper,
app.AccountKeeper,
app.StakingKeeper,
app.EpochsKeeper,
)

// asset and client chain registry.
app.AssetsKeeper = assetsKeeper.NewKeeper(keys[assetsTypes.StoreKey], appCodec, &app.OracleKeeper)

Expand Down Expand Up @@ -584,10 +605,10 @@ func NewExocoreApp(
app.StakingKeeper.EpochsHooks(), // at this point, the order is irrelevant.
app.ExomintKeeper.EpochsHooks(), // however, this may change once we have distribution
app.AVSManagerKeeper.EpochsHooks(),
app.RewardKeeper.EpochsHooks(),
),
)

// these two modules aren't finalized yet.
app.RewardKeeper = rewardKeeper.NewKeeper(
appCodec, keys[rewardTypes.StoreKey], app.AssetsKeeper,
app.AVSManagerKeeper,
Expand Down Expand Up @@ -894,6 +915,7 @@ func NewExocoreApp(
exoslash.NewAppModule(appCodec, app.ExoSlashKeeper),
avs.NewAppModule(appCodec, app.AVSManagerKeeper),
oracle.NewAppModule(appCodec, app.OracleKeeper, app.AccountKeeper, app.BankKeeper),
distr.NewAppModule(appCodec, app.DistrKeeper),
)

// During begin block slashing happens after reward.BeginBlocker so that
Expand Down Expand Up @@ -931,6 +953,7 @@ func NewExocoreApp(
exoslashTypes.ModuleName,
avsManagerTypes.ModuleName,
oracleTypes.ModuleName,
distrtypes.ModuleName,
)

app.mm.SetOrderEndBlockers(
Expand Down Expand Up @@ -966,6 +989,7 @@ func NewExocoreApp(
avsManagerTypes.ModuleName,
// op module
feemarkettypes.ModuleName, // last in order to retrieve the block gas used
distrtypes.ModuleName,
)

app.mm.SetOrderInitGenesis(
Expand Down Expand Up @@ -1008,6 +1032,7 @@ func NewExocoreApp(
// must be the last module after others have been set up, so that it can check
// the invariants (if configured to do so).
crisistypes.ModuleName,
distrtypes.ModuleName,
)

app.mm.RegisterInvariants(&app.CrisisKeeper)
Expand Down
12 changes: 0 additions & 12 deletions proto/exocore/feedistribute/module/module.proto

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
syntax = "proto3";
package exocore.feedistribute;
package exocore.feedistribute.v1;

import "amino/amino.proto";
import "cosmos/base/v1beta1/coin.proto";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
syntax = "proto3";
package exocore.feedistribute;
package exocore.feedistribute.v1;

import "amino/amino.proto";
import "exocore/feedistribute/params.proto";
import "exocore/feedistribute/v1/params.proto";
import "gogoproto/gogo.proto";

option go_package = "github.com/ExocoreNetwork/exocore/x/feedistribution/types";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
syntax = "proto3";
package exocore.feedistribute;
package exocore.feedistribute.v1;

import "amino/amino.proto";
import "cosmos_proto/cosmos.proto";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
syntax = "proto3";
package exocore.feedistribute;
package exocore.feedistribute.v1;

import "amino/amino.proto";
import "exocore/feedistribute/params.proto";
import "exocore/feedistribute/v1/params.proto";
import "gogoproto/gogo.proto";
import "google/api/annotations.proto";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
syntax = "proto3";
package exocore.feedistribute;
package exocore.feedistribute.v1;

import "amino/amino.proto";
import "cosmos/msg/v1/msg.proto";
import "cosmos_proto/cosmos.proto";
import "exocore/feedistribute/params.proto";
import "exocore/feedistribute/v1/params.proto";
import "gogoproto/gogo.proto";

option go_package = "github.com/ExocoreNetwork/exocore/x/feedistribution/types";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
syntax = "proto3";
package exocore.reward;
package exocore.reward.v1;

import "exocore/reward/params.proto";
import "exocore/reward/v1/params.proto";
import "gogoproto/gogo.proto";

option go_package = "github.com/ExocoreNetwork/exocore/x/reward/types";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
syntax = "proto3";
package exocore.reward;
package exocore.reward.v1;

option go_package = "github.com/ExocoreNetwork/exocore/x/reward/types";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
syntax = "proto3";
package exocore.reward;
package exocore.reward.v1;

import "exocore/reward/params.proto";
import "exocore/reward/v1/params.proto";
import "google/api/annotations.proto";

option go_package = "github.com/ExocoreNetwork/exocore/x/reward/types";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
syntax = "proto3";

package exocore.reward;
package exocore.reward.v1;

import "cosmos/msg/v1/msg.proto";
import "cosmos_proto/cosmos.proto";
import "exocore/reward/params.proto";
import "exocore/reward/v1/params.proto";
import "gogoproto/gogo.proto";

option go_package = "github.com/ExocoreNetwork/exocore/x/reward/types";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
syntax = "proto3";

package exocore.reward;
package exocore.reward.v1;

import "cosmos/base/v1beta1/coin.proto";
import "gogoproto/gogo.proto";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
syntax = "proto3";
package exocore.slash;
package exocore.slash.v1;

import "exocore/slash/params.proto";
import "exocore/slash/v1/params.proto";
import "gogoproto/gogo.proto";
// this line is used by starport scaffolding # genesis/proto/import

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
syntax = "proto3";
package exocore.slash;
package exocore.slash.v1;

option go_package = "github.com/ExocoreNetwork/exocore/x/slash/types";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
syntax = "proto3";
package exocore.slash;
package exocore.slash.v1;

import "exocore/slash/params.proto";
import "exocore/slash/v1/params.proto";
import "google/api/annotations.proto";
// this line is used by starport scaffolding # 1

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
syntax = "proto3";
package exocore.slash;
package exocore.slash.v1;

import "cosmos/msg/v1/msg.proto";
import "cosmos_proto/cosmos.proto";
import "exocore/slash/params.proto";
import "exocore/slash/v1/params.proto";
import "gogoproto/gogo.proto";

option go_package = "github.com/ExocoreNetwork/exocore/x/slash/types";
Expand Down
5 changes: 3 additions & 2 deletions x/feedistribution/keeper/genesis.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package keeper

import (
"fmt"
"github.com/rs/zerolog/log"

"github.com/ExocoreNetwork/exocore/x/feedistribution/types"
sdk "github.com/cosmos/cosmos-sdk/types"
Expand All @@ -15,7 +15,8 @@ func (k Keeper) InitGenesis(ctx sdk.Context, genState types.GenesisState) {
if !found {
// the panic is suitable here because it is being done at genesis, when the node
// is not running. it means that the genesis file is malformed.
panic(fmt.Sprintf("epoch info not found %s", epochID))
log.Error()
return
}
}

Expand Down
29 changes: 24 additions & 5 deletions x/feedistribution/keeper/hooks.go
Original file line number Diff line number Diff line change
@@ -1,17 +1,36 @@
package keeper

import sdk "github.com/cosmos/cosmos-sdk/types"
import (
epochstypes "github.com/ExocoreNetwork/exocore/x/epochs/types"
sdk "github.com/cosmos/cosmos-sdk/types"
)

// EpochsHooksWrapper is the wrapper structure that implements the epochs hooks for the avs
// keeper.
type EpochsHooksWrapper struct {
keeper *Keeper
}

// Interface guard
var _ epochstypes.EpochHooks = EpochsHooksWrapper{}

// BeforeEpochStart: noop, We don't need to do anything here
func (k Keeper) BeforeEpochStart(_ sdk.Context, _ string, _ int64) {
func (wrapper EpochsHooksWrapper) BeforeEpochStart(_ sdk.Context, _ string, _ int64) {
}

// AfterEpochEnd mints and allocates coins at the end of each epoch end
func (k Keeper) AfterEpochEnd(ctx sdk.Context, epochIdentifier string, _ int64) {
expEpochID := k.GetEpochIdentifier(ctx)
func (wrapper EpochsHooksWrapper) AfterEpochEnd(ctx sdk.Context, epochIdentifier string, _ int64) {
expEpochID := wrapper.keeper.GetEpochIdentifier(ctx)
if epochIdentifier != expEpochID {
return
}
// the minted coins generated by minting module will do the token allocation distribution here
// k.AllocateTokens()
previousTotalPower := wrapper.keeper.StakingKeeper.GetLastTotalPower(ctx)

err := wrapper.keeper.AllocateTokens(ctx, previousTotalPower.Int64())
if err != nil {
logger := wrapper.keeper.Logger()
logger.Error("failed to allocate tokens", "err", err)
return
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package feedistribute
package feedistribution

import (
"context"
Expand Down
Loading

0 comments on commit 9f614dc

Please sign in to comment.