Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: upgraded app with paloma module to SDK v0.50 #1060

Merged
merged 25 commits into from
Jan 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
1208482
chore: upgraded app with paloma module to SDK v0.50
vishal-kanna Dec 15, 2023
44f6093
fix: resolved merge conflicts with v0.50.0-upgrade branch
ruthishvitwit Dec 19, 2023
c4d6adf
fix: resolved app.go merge conflicts with v0.50.0-upgrade branch
ruthishvitwit Dec 19, 2023
3264303
chore: fixed keeper,ante files and app.go in paloma
deepan95dev Dec 19, 2023
c888245
chore: removed comment in testutil/paloma
deepan95dev Dec 19, 2023
729f836
chore: reviewed changes in ante.go and libmeta
deepan95dev Dec 19, 2023
df3afaa
chore: valset uncommented in palomaKeeper
deepan95dev Dec 21, 2023
66069f7
Merge branch 'v0.50.0-upgrade' of https://github.com/palomachain/palo…
deepan95dev Dec 21, 2023
af28df0
Merge branch 'v0.50.0-upgrade' into paloma-changes
deepan95dev Dec 22, 2023
bed6430
Merge branch 'v0.50.0-upgrade' into paloma-changes
vishal-kanna Dec 26, 2023
8eb2e52
chore: moved StringToBytes function to local keeper
deepan95dev Dec 26, 2023
643edb5
chore: removed error return in mustGetValAddr function
deepan95dev Dec 27, 2023
db20620
chore: used liblog in mustGetValAddr function
deepan95dev Dec 27, 2023
0d7aeb4
chore: reviewed changes in paloma and util
deepan95dev Dec 28, 2023
dd40c15
Merge branch 'v0.50.0-upgrade' into paloma-changes
deepan95dev Dec 28, 2023
300b527
chore: reviewed changes in ante.go
deepan95dev Dec 28, 2023
bcad409
Merge remote-tracking branch 'origin/paloma-changes' into paloma-changes
deepan95dev Dec 28, 2023
226a01f
chore: created util function to get valAddress as per review comments
vishal-kanna Jan 4, 2024
ab8c403
chore: GetSigners usage moved to libmeta
deepan95dev Jan 4, 2024
2ace5fd
Merge branch 'v0.50.0-upgrade' of https://github.com/palomachain/palo…
deepan95dev Jan 8, 2024
ad08cb4
chore: logged, returned, asserted error from valAddress, ante_test re…
deepan95dev Jan 8, 2024
f0b2a03
chore: added error from valAddr to whoops
deepan95dev Jan 8, 2024
f3246c6
chore: added test coverage for address.go util
deepan95dev Jan 8, 2024
ed69008
chore: removed additional valAddr and added test case
deepan95dev Jan 8, 2024
577d881
chore: removed superfluous error check
deepan95dev Jan 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading