diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index 27ee7b8be825..503d1d02f392 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -42,6 +42,14 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [#18457](https://github.com/cosmos/cosmos-sdk/pull/18457) Add branch.ExecuteWithGasLimit. * [#19041](https://github.com/cosmos/cosmos-sdk/pull/19041) Add `appmodule.Environment` interface to fetch different services * [#19370](https://github.com/cosmos/cosmos-sdk/pull/19370) Add `appmodule.Migrations` interface to handle migrations +* [#19617](https://github.com/cosmos/cosmos-sdk/pull/19617) Add DataBaseService to store non-consensus data in a database + * Create V2 appmodule with v2 api for runtime/v2 + * Introduce `Transaction.Tx` for use in runtime/v2 + * Introduce `HasUpdateValidators` interface and `ValidatorUpdate` struct for validator updates + * Introduce `HasTxValidation` interface for modules to register tx validation handlers + * `HasGenesis` interface for modules to register import, export, validation and default genesis handlers. The new api works with `proto.Message` + +### Improvements ### API Breaking Changes diff --git a/core/appmodule/module.go b/core/appmodule/module.go index 9b2cdb1e00b0..7f352a28e7b6 100644 --- a/core/appmodule/module.go +++ b/core/appmodule/module.go @@ -3,9 +3,10 @@ package appmodule import ( "context" - appmodule "cosmossdk.io/core/appmodule/v2" "google.golang.org/grpc" "google.golang.org/protobuf/runtime/protoiface" + + appmodule "cosmossdk.io/core/appmodule/v2" ) // AppModule is a tag interface for app module implementations to use as a basis @@ -15,7 +16,12 @@ import ( type AppModule = appmodule.AppModule // HasMigrations is the extension interface that modules should implement to register migrations. -type HasMigrations = appmodule.HasMigrations +type HasMigrations interface { + AppModule + + // RegisterMigrations registers the module's migrations with the app's migrator. + RegisterMigrations(MigrationRegistrar) error +} // HasConsensusVersion is the interface for declaring a module consensus version. type HasConsensusVersion = appmodule.HasConsensusVersion