diff --git a/CHANGELOG.md b/CHANGELOG.md index 82c882c9..15647240 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,11 +39,13 @@ Ref: https://keepachangelog.com/en/1.0.0/ ## Improvements +* (app) [tharsis#794](https://github.com/tharsis/ethermint/pull/794) Setup in-place store migrators. * (ci) [tharsis#784](https://github.com/tharsis/ethermint/pull/784) Enable automatic backport of PRs. * (rpc) [tharsis#786](https://github.com/tharsis/ethermint/pull/786) Improve error message of `SendTransaction`/`SendRawTransaction` JSON-RPC APIs. ### Bug Fixes +* (evm) [tharsis#794](https://github.com/tharsis/ethermint/pull/794) Register EVM gRPC `Msg` server. * (feemarket) [tharsis#770](https://github.com/tharsis/ethermint/pull/770) Enable fee market (EIP1559) by default. * (rpc) [tharsis#769](https://github.com/tharsis/ethermint/pull/769) Fix default Ethereum signer for JSON-RPC. * (rpc) [tharsis#781](https://github.com/tharsis/ethermint/pull/781) Fix get block invalid transactions filter. diff --git a/cmd/ethermintd/root.go b/cmd/ethermintd/root.go index 6ac50016..277bf1b5 100644 --- a/cmd/ethermintd/root.go +++ b/cmd/ethermintd/root.go @@ -99,7 +99,7 @@ func NewRootCmd() (*cobra.Command, params.EncodingConfig) { genutilcli.InitCmd(app.ModuleBasics, app.DefaultNodeHome), ), genutilcli.CollectGenTxsCmd(banktypes.GenesisBalancesIterator{}, app.DefaultNodeHome), - genutilcli.MigrateGenesisCmd(), + genutilcli.MigrateGenesisCmd(), // TODO: shouldn't this include the local app version instead of the SDK? genutilcli.GenTxCmd(app.ModuleBasics, encodingConfig.TxConfig, banktypes.GenesisBalancesIterator{}, app.DefaultNodeHome), genutilcli.ValidateGenesisCmd(app.ModuleBasics), AddGenesisAccountCmd(app.DefaultNodeHome), diff --git a/x/evm/keeper/migrations.go b/x/evm/keeper/migrations.go new file mode 100644 index 00000000..3be1ada6 --- /dev/null +++ b/x/evm/keeper/migrations.go @@ -0,0 +1,13 @@ +package keeper + +// Migrator is a struct for handling in-place store migrations. +type Migrator struct { + keeper Keeper +} + +// NewMigrator returns a new Migrator. +func NewMigrator(keeper Keeper) Migrator { + return Migrator{ + keeper: keeper, + } +} diff --git a/x/evm/module.go b/x/evm/module.go index 8c38bf55..ff07071e 100644 --- a/x/evm/module.go +++ b/x/evm/module.go @@ -115,15 +115,15 @@ func (AppModule) Name() string { // RegisterInvariants interface for registering invariants. Performs a no-op // as the evm module doesn't expose invariants. func (am AppModule) RegisterInvariants(ir sdk.InvariantRegistry) { - // Invariats lead to performance degradation - // - // keeper.RegisterInvariants(ir, *am.keeper) } // RegisterQueryService registers a GRPC query service to respond to the // module-specific GRPC queries. func (am AppModule) RegisterServices(cfg module.Configurator) { + types.RegisterMsgServer(cfg.MsgServer(), am.keeper) types.RegisterQueryServer(cfg.QueryServer(), am.keeper) + + _ = keeper.NewMigrator(*am.keeper) } // Route returns the message routing key for the evm module. diff --git a/x/feemarket/keeper/migrations.go b/x/feemarket/keeper/migrations.go new file mode 100644 index 00000000..3be1ada6 --- /dev/null +++ b/x/feemarket/keeper/migrations.go @@ -0,0 +1,13 @@ +package keeper + +// Migrator is a struct for handling in-place store migrations. +type Migrator struct { + keeper Keeper +} + +// NewMigrator returns a new Migrator. +func NewMigrator(keeper Keeper) Migrator { + return Migrator{ + keeper: keeper, + } +} diff --git a/x/feemarket/module.go b/x/feemarket/module.go index f6937e88..88939671 100644 --- a/x/feemarket/module.go +++ b/x/feemarket/module.go @@ -116,6 +116,8 @@ func (am AppModule) RegisterInvariants(ir sdk.InvariantRegistry) {} // module-specific GRPC queries. func (am AppModule) RegisterServices(cfg module.Configurator) { types.RegisterQueryServer(cfg.QueryServer(), am.keeper) + + _ = keeper.NewMigrator(am.keeper) } // Route returns the message routing key for the fee market module.