Skip to content

Commit

Permalink
feat: upgraded app with paloma module to SDK v0.50 (#1060)
Browse files Browse the repository at this point in the history
Co-authored-by: ruthishvitwit <[email protected]>
Co-authored-by: deepan95dev <[email protected]>
Co-authored-by: Deepan kumar <[email protected]>
  • Loading branch information
4 people authored Jan 9, 2024
1 parent f5b2e36 commit 15ce39e
Show file tree
Hide file tree
Showing 16 changed files with 193 additions and 120 deletions.
77 changes: 38 additions & 39 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,9 +145,9 @@ import (
evmmodulekeeper "github.com/palomachain/paloma/x/evm/keeper"
evmmoduletypes "github.com/palomachain/paloma/x/evm/types"

// palomamodule "github.com/palomachain/paloma/x/paloma"
// palomamodulekeeper "github.com/palomachain/paloma/x/paloma/keeper"
// palomamoduletypes "github.com/palomachain/paloma/x/paloma/types"
palomamodule "github.com/palomachain/paloma/x/paloma"
palomamodulekeeper "github.com/palomachain/paloma/x/paloma/keeper"
palomamoduletypes "github.com/palomachain/paloma/x/paloma/types"
schedulermodule "github.com/palomachain/paloma/x/scheduler"
schedulermodulekeeper "github.com/palomachain/paloma/x/scheduler/keeper"
schedulermoduletypes "github.com/palomachain/paloma/x/scheduler/types"
Expand Down Expand Up @@ -175,7 +175,7 @@ func getGovProposalHandlers() []govclient.ProposalHandler {
return []govclient.ProposalHandler{
paramsclient.ProposalHandler,
gravityclient.ProposalHandler,
// treasuryclient.ProposalHandler,
treasuryclient.ProposalHandler,
evmclient.ProposalHandler,
treasuryclient.ProposalHandler,
}
Expand Down Expand Up @@ -206,12 +206,12 @@ var (
vesting.AppModuleBasic{},
schedulermodule.AppModuleBasic{},
consensusmodule.AppModuleBasic{},
// valsetmodule.AppModuleBasic{},
valsetmodule.AppModuleBasic{},
wasm.AppModuleBasic{},
evm.AppModuleBasic{},
gravitymodule.AppModuleBasic{},
// palomamodule.AppModuleBasic{},
// treasurymodule.AppModuleBasic{},
palomamodule.AppModuleBasic{},
treasurymodule.AppModuleBasic{},
consensus.AppModuleBasic{},
transfer.AppModuleBasic{},
ibc.AppModuleBasic{},
Expand Down Expand Up @@ -294,11 +294,11 @@ type App struct {
SchedulerKeeper schedulermodulekeeper.Keeper
ConsensusKeeper consensusmodulekeeper.Keeper
ValsetKeeper valsetmodulekeeper.Keeper
// PalomaKeeper palomamodulekeeper.Keeper
TreasuryKeeper treasurymodulekeeper.Keeper
EvmKeeper evmmodulekeeper.Keeper
GravityKeeper gravitymodulekeeper.Keeper
wasmKeeper wasmkeeper.Keeper
PalomaKeeper palomamodulekeeper.Keeper
TreasuryKeeper treasurymodulekeeper.Keeper
EvmKeeper evmmodulekeeper.Keeper
GravityKeeper gravitymodulekeeper.Keeper
wasmKeeper wasmkeeper.Keeper

// ModuleManager is the module manager
ModuleManager *module.Manager
Expand Down Expand Up @@ -370,10 +370,10 @@ func New(
capabilitytypes.StoreKey,
schedulermoduletypes.StoreKey,
consensusmoduletypes.StoreKey,
// valsetmoduletypes.StoreKey,
valsetmoduletypes.StoreKey,
treasurymoduletypes.StoreKey,
valsetmoduletypes.StoreKey,
// treasurymoduletypes.StoreKey,
treasurymoduletypes.StoreKey,
evmmoduletypes.StoreKey,
gravitymoduletypes.StoreKey,
consensusparamtypes.StoreKey,
Expand All @@ -387,7 +387,7 @@ func New(
evmmoduletypes.MemStoreKey,
schedulermoduletypes.MemStoreKey,
treasurymoduletypes.MemStoreKey,
// palomamoduletypes.MemStoreKey,
palomamoduletypes.MemStoreKey,
)

app := &App{
Expand Down Expand Up @@ -616,19 +616,18 @@ func New(
gravitymodulekeeper.NewGravityStoreGetter(keys[gravitymoduletypes.StoreKey]),
)

// app.PalomaKeeper = *palomamodulekeeper.NewKeeper(
// appCodec,
// keys[palomamoduletypes.StoreKey],
// memKeys[palomamoduletypes.MemStoreKey],
// app.GetSubspace(palomamoduletypes.ModuleName),
// semverVersion,
// app.ValsetKeeper,
// app.PalomaKeeper.Upgrade,
// )

// app.PalomaKeeper.ExternalChains = []palomamoduletypes.ExternalChainSupporterKeeper{
// app.EvmKeeper,
// }
app.PalomaKeeper = *palomamodulekeeper.NewKeeper(
appCodec,
runtime.NewKVStoreService(keys[palomamoduletypes.StoreKey]),
app.GetSubspace(palomamoduletypes.ModuleName),
semverVersion,
app.ValsetKeeper,
app.PalomaKeeper.Upgrade,
)

app.PalomaKeeper.ExternalChains = []palomamoduletypes.ExternalChainSupporterKeeper{
app.EvmKeeper,
}

// Create evidence Keeper for to register the IBC light client misbehaviour evidence route
evidenceKeeper := evidencekeeper.NewKeeper(
Expand Down Expand Up @@ -783,7 +782,7 @@ func New(
consensusModule := consensusmodule.NewAppModule(appCodec, app.ConsensusKeeper, app.AccountKeeper, app.BankKeeper)
valsetModule := valsetmodule.NewAppModule(appCodec, app.ValsetKeeper, app.AccountKeeper, app.BankKeeper)
schedulerModule := schedulermodule.NewAppModule(appCodec, app.SchedulerKeeper, app.AccountKeeper, app.BankKeeper)
// palomaModule := palomamodule.NewAppModule(appCodec, app.PalomaKeeper, app.AccountKeeper, app.BankKeeper)
palomaModule := palomamodule.NewAppModule(appCodec, app.PalomaKeeper, app.AccountKeeper, app.BankKeeper)
gravityModule := gravitymodule.NewAppModule(appCodec, app.GravityKeeper, app.BankKeeper)
treasuryModule := treasurymodule.NewAppModule(appCodec, app.TreasuryKeeper, app.AccountKeeper, app.BankKeeper)
app.ModuleManager = module.NewManager(
Expand Down Expand Up @@ -812,7 +811,7 @@ func New(
evmModule,
valsetModule,
gravityModule,
// palomaModule,
palomaModule,
treasuryModule,
wasm.NewAppModule(appCodec, &app.wasmKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper, app.MsgServiceRouter(), app.GetSubspace(wasm.ModuleName)),
ibc.NewAppModule(app.IBCKeeper),
Expand Down Expand Up @@ -858,7 +857,7 @@ func New(
vestingtypes.ModuleName,
genutiltypes.ModuleName,
valsetmoduletypes.ModuleName,
// palomamoduletypes.ModuleName,
palomamoduletypes.ModuleName,
evmmoduletypes.ModuleName,
wasmtypes.ModuleName,
gravitymoduletypes.ModuleName,
Expand Down Expand Up @@ -890,7 +889,7 @@ func New(
vestingtypes.ModuleName,
genutiltypes.ModuleName,
valsetmoduletypes.ModuleName,
// palomamoduletypes.ModuleName,
palomamoduletypes.ModuleName,
evmmoduletypes.ModuleName,
wasmtypes.ModuleName,
gravitymoduletypes.ModuleName,
Expand Down Expand Up @@ -927,7 +926,7 @@ func New(
schedulermoduletypes.ModuleName,
consensusmoduletypes.ModuleName,
valsetmoduletypes.ModuleName,
// palomamoduletypes.ModuleName,
palomamoduletypes.ModuleName,
ibctransfertypes.ModuleName,
ibcexported.ModuleName,
icatypes.ModuleName,
Expand Down Expand Up @@ -973,7 +972,7 @@ func New(
app.SetEndBlocker(app.EndBlocker)

/*baseAnteHandler*/
_, err = ante.NewAnteHandler(
baseAnteHandler, err := ante.NewAnteHandler(
ante.HandlerOptions{
AccountKeeper: app.AccountKeeper,
BankKeeper: app.BankKeeper,
Expand All @@ -986,12 +985,12 @@ func New(
panic(err)
}
anteDecorators := []sdk.AnteDecorator{
// palomamodule.NewAnteHandlerDecorator(baseAnteHandler),
palomamodule.NewAnteHandlerDecorator(baseAnteHandler),
}
anteDecorators = append(anteDecorators)
// palomamodule.NewLogMsgDecorator(app.appCodec),
// palomamodule.NewVerifyAuthorisedSignatureDecorator(app.FeeGrantKeeper),

anteDecorators = append(anteDecorators,
palomamodule.NewLogMsgDecorator(app.appCodec),
palomamodule.NewVerifyAuthorisedSignatureDecorator(app.FeeGrantKeeper),
)
anteHandler := sdk.ChainAnteDecorators(
anteDecorators...,
)
Expand Down
4 changes: 2 additions & 2 deletions testutil/keeper/paloma.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package keeper

import (
"github.com/cosmos/cosmos-sdk/runtime"
"testing"

"cosmossdk.io/log"
Expand Down Expand Up @@ -40,8 +41,7 @@ func PalomaKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) {
)
k := keeper.NewKeeper(
cdc,
storeKey,
memStoreKey,
runtime.NewKVStoreService(storeKey),
paramsSubspace,
"v0.0.1", // do not use this PalomaKeeper function!
valsetkeeper.Keeper{},
Expand Down
18 changes: 16 additions & 2 deletions util/keeper/address.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,22 @@
package keeper

import "cosmossdk.io/core/address"
import (
"errors"

"cosmossdk.io/core/address"
)

type err string

const ErrFailedToParseValAddress err = "failed to parse validator address from bech32"

func (e err) Error() string {
return string(e)
}
func ValAddressFromBech32(addressCodec address.Codec, valAddr string) ([]byte, error) {
bz, err := addressCodec.StringToBytes(valAddr)
return bz, err
if err != nil {
return nil, errors.Join(ErrFailedToParseValAddress, err)
}
return bz, nil
}
24 changes: 24 additions & 0 deletions util/keeper/address_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package keeper

import (
"github.com/cosmos/cosmos-sdk/codec/address"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/palomachain/paloma/testutil"
"github.com/stretchr/testify/assert"
"testing"
)

func TestValAddressConversion(t *testing.T) {
codec := address.Bech32Codec{
Bech32Prefix: sdk.GetConfig().GetBech32ValidatorAddrPrefix(),
}

validators := testutil.GenValidators(2, 25000)
bech32, err := ValAddressFromBech32(codec, validators[0].GetOperator())
actual, _ := codec.StringToBytes(validators[0].GetOperator())
different, _ := ValAddressFromBech32(codec, validators[1].GetOperator())
assert.NoError(t, err)
assert.NotNil(t, bech32)
assert.Equal(t, bech32, actual)
assert.NotEqual(t, bech32, different)
}
13 changes: 8 additions & 5 deletions x/paloma/ante.go
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
package paloma

import (
"context"
"fmt"
"github.com/palomachain/paloma/util/liblog"

"github.com/cometbft/cometbft/libs/log"
"cosmossdk.io/log"
"cosmossdk.io/x/feegrant"
"github.com/cosmos/cosmos-sdk/codec"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/x/feegrant"
"github.com/gogo/protobuf/proto"
"github.com/palomachain/paloma/util/libmeta"
"github.com/palomachain/paloma/x/paloma/types"
vtypes "github.com/palomachain/paloma/x/valset/types"
)

func logger(ctx sdk.Context) log.Logger {
return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName))
func logger(ctx context.Context) log.Logger {
sdkCtx := sdk.UnwrapSDKContext(ctx)
return liblog.FromSDKLogger(sdkCtx.Logger()).With("module", fmt.Sprintf("x/%s", types.ModuleName))
}

// HandlerDecorator is an ante decorator wrapper for an ante handler
Expand Down Expand Up @@ -90,7 +93,7 @@ func (d VerifyAuthorisedSignatureDecorator) AnteHandle(ctx sdk.Context, tx sdk.T
}

creator := m.GetMetadata().GetCreator()
signers := msg.GetSigners()
signers := libmeta.GetSigners(m)

signedByCreator := func() bool {
for _, v := range signers {
Expand Down
2 changes: 1 addition & 1 deletion x/paloma/ante_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ import (
"reflect"
"testing"

"cosmossdk.io/x/feegrant"
"github.com/cometbft/cometbft/libs/log"
tmproto "github.com/cometbft/cometbft/proto/tendermint/types"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/x/feegrant"
"github.com/palomachain/paloma/x/paloma"
"github.com/palomachain/paloma/x/paloma/types"
vtypes "github.com/palomachain/paloma/x/valset/types"
Expand Down
7 changes: 4 additions & 3 deletions x/paloma/genesis.go
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
package paloma

import (
sdk "github.com/cosmos/cosmos-sdk/types"
"context"

"github.com/palomachain/paloma/x/paloma/keeper"
"github.com/palomachain/paloma/x/paloma/types"
)

// InitGenesis initializes the capability module's state from a provided genesis
// state.
func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) {
func InitGenesis(ctx context.Context, k keeper.Keeper, genState types.GenesisState) {
k.SetParams(ctx, genState.Params)
}

// ExportGenesis returns the capability module's exported genesis.
func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState {
func ExportGenesis(ctx context.Context, k keeper.Keeper) *types.GenesisState {
genesis := types.DefaultGenesis()
genesis.Params = k.GetParams(ctx)

Expand Down
2 changes: 1 addition & 1 deletion x/paloma/keeper/grpc_query_params_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (

func TestParamsQuery(t *testing.T) {
keeper, ctx := testkeeper.PalomaKeeper(t)
wctx := sdk.WrapSDKContext(ctx)
wctx := sdk.UnwrapSDKContext(ctx)
params := types.DefaultParams()
keeper.SetParams(ctx, params)

Expand Down
Loading

0 comments on commit 15ce39e

Please sign in to comment.