From e655fd535e5bd46ac474dab2a6cad4881397ae57 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 17:00:16 +0000 Subject: [PATCH] feat: introduce x/validate and split x/auth/tx/config (backport #21822) (#21836) --- .github/pr_labeler.yml | 2 + CHANGELOG.md | 7 + UPGRADING.md | 14 +- client/v2/go.mod | 2 +- client/v2/go.sum | 4 +- go.mod | 2 +- go.sum | 4 +- .../cosmos/auth/module/v1/module.proto | 0 .../cosmos/auth/v1beta1/accounts.proto | 0 .../cosmos/auth/v1beta1/auth.proto | 0 .../cosmos/auth/v1beta1/genesis.proto | 0 .../cosmos/auth/v1beta1/query.proto | 0 .../cosmos/auth/v1beta1/tx.proto | 0 proto/cosmos/tx/config/v1/config.proto | 8 - proto/cosmos/validate/module/v1/module.proto | 12 ++ server/v2/cometbft/go.mod | 2 +- server/v2/cometbft/go.sum | 4 +- simapp/app_config.go | 21 ++- simapp/go.mod | 2 +- simapp/go.sum | 4 +- simapp/simd/cmd/testnet_test.go | 1 + simapp/v2/app_config.go | 24 ++- simapp/v2/go.mod | 2 +- simapp/v2/go.sum | 4 +- tests/e2e/accounts/base_account_test.go | 1 + tests/e2e/auth/keeper/app_config.go | 1 + tests/e2e/baseapp/block_gas_test.go | 1 + tests/go.mod | 2 +- tests/go.sum | 4 +- .../accounts_retro_compatibility_test.go | 4 +- tests/integration/bank/app_test.go | 1 + tests/integration/distribution/appconfig.go | 1 + tests/integration/evidence/app_config.go | 1 + tests/integration/mint/app_config.go | 1 + tests/integration/protocolpool/app_config.go | 1 + tests/integration/runtime/query_test.go | 1 + .../server/grpc/out_of_gas_test.go | 1 + tests/integration/server/grpc/server_test.go | 1 + tests/integration/slashing/app_config.go | 1 + tests/integration/slashing/slashing_test.go | 1 + tests/integration/staking/app_config.go | 1 + testutil/configurator/configurator.go | 18 +- testutil/types.go | 39 ++--- x/README.md | 1 + x/accounts/defaults/base/account.go | 2 +- x/accounts/defaults/base/go.mod | 2 +- x/accounts/defaults/base/go.sum | 4 +- x/accounts/defaults/lockup/go.mod | 2 +- x/accounts/defaults/lockup/go.sum | 4 +- x/accounts/defaults/multisig/go.mod | 2 +- x/accounts/defaults/multisig/go.sum | 4 +- x/accounts/go.mod | 2 +- x/accounts/go.sum | 4 +- x/auth/keeper/grpc_query.go | 4 +- x/auth/proto/buf.gen.gogo.yaml | 8 - x/auth/proto/buf.gen.pulsar.yaml | 18 -- x/auth/proto/buf.lock | 28 ---- x/auth/proto/buf.yaml | 18 -- x/auth/tx/README.md | 37 ++++- x/auth/tx/config/depinject.go | 155 ++---------------- x/auth/types/accounts.pb.go | 54 +++--- x/authz/go.mod | 2 +- x/authz/go.sum | 4 +- x/bank/go.mod | 2 +- x/bank/go.sum | 4 +- x/circuit/go.mod | 2 +- x/circuit/go.sum | 4 +- x/consensus/go.mod | 2 +- x/consensus/go.sum | 4 +- x/distribution/go.mod | 2 +- x/distribution/go.sum | 4 +- x/epochs/go.mod | 2 +- x/epochs/go.sum | 4 +- x/evidence/go.mod | 2 +- x/evidence/go.sum | 4 +- x/feegrant/go.mod | 2 +- x/feegrant/go.sum | 4 +- x/gov/go.mod | 2 +- x/gov/go.sum | 4 +- x/group/go.mod | 2 +- x/group/go.sum | 4 +- x/mint/go.mod | 2 +- x/mint/go.sum | 4 +- x/nft/go.mod | 2 +- x/nft/go.sum | 4 +- x/params/go.mod | 2 +- x/params/go.sum | 4 +- x/protocolpool/go.mod | 2 +- x/protocolpool/go.sum | 4 +- x/slashing/go.mod | 2 +- x/slashing/go.sum | 4 +- x/staking/go.mod | 2 +- x/staking/go.sum | 4 +- x/upgrade/go.mod | 2 +- x/upgrade/go.sum | 4 +- x/validate/README.md | 35 ++++ x/validate/depinject.go | 145 ++++++++++++++++ x/validate/keys.go | 4 + x/{auth/tx/config => validate}/module.go | 2 +- 99 files changed, 457 insertions(+), 380 deletions(-) rename {x/auth/proto => proto}/cosmos/auth/module/v1/module.proto (100%) rename {x/auth/proto => proto}/cosmos/auth/v1beta1/accounts.proto (100%) rename {x/auth/proto => proto}/cosmos/auth/v1beta1/auth.proto (100%) rename {x/auth/proto => proto}/cosmos/auth/v1beta1/genesis.proto (100%) rename {x/auth/proto => proto}/cosmos/auth/v1beta1/query.proto (100%) rename {x/auth/proto => proto}/cosmos/auth/v1beta1/tx.proto (100%) create mode 100644 proto/cosmos/validate/module/v1/module.proto delete mode 100644 x/auth/proto/buf.gen.gogo.yaml delete mode 100644 x/auth/proto/buf.gen.pulsar.yaml delete mode 100644 x/auth/proto/buf.lock delete mode 100644 x/auth/proto/buf.yaml create mode 100644 x/validate/README.md create mode 100644 x/validate/depinject.go create mode 100644 x/validate/keys.go rename x/{auth/tx/config => validate}/module.go (99%) diff --git a/.github/pr_labeler.yml b/.github/pr_labeler.yml index c861d7bc736b..4a1a6ff07780 100644 --- a/.github/pr_labeler.yml +++ b/.github/pr_labeler.yml @@ -78,6 +78,8 @@ - x/upgrade/**/* "C:x/epochs": - x/epochs/**/* +"C:x/validate": + - x/validate/**/* "C:server/v2": - server/v2/**/* "C:server/v2 stf": diff --git a/CHANGELOG.md b/CHANGELOG.md index 484a4f49259b..a633c7dbec3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,11 @@ Ref: https://keepachangelog.com/en/1.0.0/ Every module contains its own CHANGELOG.md. Please refer to the module you are interested in. +### Features + +* (x/validate) [#21822](https://github.com/cosmos/cosmos-sdk/pull/21822) New module solely responsible for providing ante/post handlers and tx validators for v2. It can be extended by the app developer to provide extra tx validators. + * In comparison to x/auth/tx/config, there is no app config to skip ante/post handlers, as overwriting them in baseapp or not injecting the x/validate module has the same effect. + ### Improvements * (genutil) [#21701](https://github.com/cosmos/cosmos-sdk/pull/21701) Improved error messages for genesis validation. @@ -49,6 +54,8 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i ### API Breaking Changes * (types/mempool) [#21744](https://github.com/cosmos/cosmos-sdk/pull/21744) Update types/mempool.Mempool interface to take decoded transactions. This avoid to decode the transaction twice. +* (x/auth/tx/config) [#21822](https://github.com/cosmos/cosmos-sdk/pull/21822) Sign mode textual is no more automatically added to tx config when using runtime. Should be added manually on the server side. +* (x/auth/tx/config) [#21822](https://github.com/cosmos/cosmos-sdk/pull/21822) This depinject module now only provide txconfig and tx config options. `x/validate` now handles the providing of ante/post handlers, alongside tx validators for v2. The corresponding app config options have been removed from the depinject module config. ## [v0.52.0](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.52.0) - 2024-XX-XX diff --git a/UPGRADING.md b/UPGRADING.md index 50665cae996d..f6f2a5289b4a 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -65,7 +65,7 @@ For non depinject users, simply call `RegisterLegacyAminoCodec` and `RegisterInt Additionally, thanks to the genesis simplification, as explained in [the genesis interface update](#genesis-interface), the module manager `InitGenesis` and `ExportGenesis` methods do not require the codec anymore. -##### GRPC WEB +##### gRPC Web Grpc-web embedded client has been removed from the server. If you would like to use grpc-web, you can use the [envoy proxy](https://www.envoyproxy.io/docs/envoy/latest/start/start). Here's how to set it up: @@ -276,6 +276,11 @@ used as a TTL for the transaction and is used to provide replay protection. See [ADR-070](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-070-unordered-transactions.md) for more details. +#### Sign Mode Textual + +With the split of `x/auth/tx/config` in two (x/auth/tx/config as depinject module for txconfig and tx options) and `x/validate`, sign mode textual is no more automatically configured when using runtime (it was previously the case). +For the same instructions than for legacy app wiring to enable sign mode textual (see in v0.50 UPGRADING documentation). + ### Depinject `app_config.go` / `app.yml` With the introduction of [environment in modules](#core-api), depinject automatically creates the environment for all modules. @@ -416,7 +421,7 @@ if err != nil { } ``` -### `x/crisis` +#### `x/crisis` The `x/crisis` module was removed due to it not being supported or functional any longer. @@ -459,3 +464,8 @@ storetypes.StoreUpgrades{ }, } ``` + +#### `x/validate` + +Introducing `x/validate` a module that is solely used for registering default ante/post handlers and global tx validators when using runtime and runtime/v2. If you wish to set your custom ante/post handlers, no need to use this module. +You can however always extend them by adding extra tx validators (see `x/validate` documentation). diff --git a/client/v2/go.mod b/client/v2/go.mod index f265d6e1d3ae..5e7c527135c9 100644 --- a/client/v2/go.mod +++ b/client/v2/go.mod @@ -175,7 +175,7 @@ replace github.com/cosmos/cosmos-sdk => ./../../ // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ./../../x/bank diff --git a/client/v2/go.sum b/client/v2/go.sum index 0799f976c48b..28a3f162ed03 100644 --- a/client/v2/go.sum +++ b/client/v2/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/go.mod b/go.mod index f8fff2fc83c7..1e891148a498 100644 --- a/go.mod +++ b/go.mod @@ -181,7 +181,7 @@ require ( // TODO remove after all modules have their own go.mods replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ./x/bank diff --git a/go.sum b/go.sum index d74cc90c3c7e..40f2ea2f02bb 100644 --- a/go.sum +++ b/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/auth/proto/cosmos/auth/module/v1/module.proto b/proto/cosmos/auth/module/v1/module.proto similarity index 100% rename from x/auth/proto/cosmos/auth/module/v1/module.proto rename to proto/cosmos/auth/module/v1/module.proto diff --git a/x/auth/proto/cosmos/auth/v1beta1/accounts.proto b/proto/cosmos/auth/v1beta1/accounts.proto similarity index 100% rename from x/auth/proto/cosmos/auth/v1beta1/accounts.proto rename to proto/cosmos/auth/v1beta1/accounts.proto diff --git a/x/auth/proto/cosmos/auth/v1beta1/auth.proto b/proto/cosmos/auth/v1beta1/auth.proto similarity index 100% rename from x/auth/proto/cosmos/auth/v1beta1/auth.proto rename to proto/cosmos/auth/v1beta1/auth.proto diff --git a/x/auth/proto/cosmos/auth/v1beta1/genesis.proto b/proto/cosmos/auth/v1beta1/genesis.proto similarity index 100% rename from x/auth/proto/cosmos/auth/v1beta1/genesis.proto rename to proto/cosmos/auth/v1beta1/genesis.proto diff --git a/x/auth/proto/cosmos/auth/v1beta1/query.proto b/proto/cosmos/auth/v1beta1/query.proto similarity index 100% rename from x/auth/proto/cosmos/auth/v1beta1/query.proto rename to proto/cosmos/auth/v1beta1/query.proto diff --git a/x/auth/proto/cosmos/auth/v1beta1/tx.proto b/proto/cosmos/auth/v1beta1/tx.proto similarity index 100% rename from x/auth/proto/cosmos/auth/v1beta1/tx.proto rename to proto/cosmos/auth/v1beta1/tx.proto diff --git a/proto/cosmos/tx/config/v1/config.proto b/proto/cosmos/tx/config/v1/config.proto index 65c6b6bbac8d..adfb28c1d7ec 100644 --- a/proto/cosmos/tx/config/v1/config.proto +++ b/proto/cosmos/tx/config/v1/config.proto @@ -9,12 +9,4 @@ message Config { option (cosmos.app.v1alpha1.module) = { go_import: "github.com/cosmos/cosmos-sdk/x/auth/tx" }; - - // skip_ante_handler defines whether the ante handler registration should be skipped in case an app wants to override - // this functionality. - bool skip_ante_handler = 1; - - // skip_post_handler defines whether the post handler registration should be skipped in case an app wants to override - // this functionality. - bool skip_post_handler = 2; } diff --git a/proto/cosmos/validate/module/v1/module.proto b/proto/cosmos/validate/module/v1/module.proto new file mode 100644 index 000000000000..f65327573112 --- /dev/null +++ b/proto/cosmos/validate/module/v1/module.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; + +package cosmos.validate.module.v1; + +import "cosmos/app/v1alpha1/module.proto"; + +// Module is the config object of the x/validate module. +message Module { + option (cosmos.app.v1alpha1.module) = { + go_import: "github.com/cosmos/cosmos-sdk/x/validate" + }; +} diff --git a/server/v2/cometbft/go.mod b/server/v2/cometbft/go.mod index 8dc98a1688d7..f5ea5bf19932 100644 --- a/server/v2/cometbft/go.mod +++ b/server/v2/cometbft/go.mod @@ -4,7 +4,7 @@ go 1.23.1 replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/core => cosmossdk.io/core v1.0.0-alpha.3 // main // pseudo version lower than the latest tag diff --git a/server/v2/cometbft/go.sum b/server/v2/cometbft/go.sum index bd4eb8e0e077..38891c96028b 100644 --- a/server/v2/cometbft/go.sum +++ b/server/v2/cometbft/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/simapp/app_config.go b/simapp/app_config.go index d4c21d453c29..189fdbd6829f 100644 --- a/simapp/app_config.go +++ b/simapp/app_config.go @@ -28,6 +28,7 @@ import ( stakingmodulev1 "cosmossdk.io/api/cosmos/staking/module/v1" txconfigv1 "cosmossdk.io/api/cosmos/tx/config/v1" upgrademodulev1 "cosmossdk.io/api/cosmos/upgrade/module/v1" + validatemodulev1 "cosmossdk.io/api/cosmos/validate/module/v1" vestingmodulev1 "cosmossdk.io/api/cosmos/vesting/module/v1" "cosmossdk.io/depinject/appconfig" "cosmossdk.io/x/accounts" @@ -67,11 +68,12 @@ import ( "github.com/cosmos/cosmos-sdk/runtime" _ "github.com/cosmos/cosmos-sdk/testutil/x/counter" // import for side-effects countertypes "github.com/cosmos/cosmos-sdk/testutil/x/counter/types" - _ "github.com/cosmos/cosmos-sdk/x/auth/tx/config" // import for side-effects + authtxconfig "github.com/cosmos/cosmos-sdk/x/auth/tx/config" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" _ "github.com/cosmos/cosmos-sdk/x/auth/vesting" // import for side-effects vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" + "github.com/cosmos/cosmos-sdk/x/validate" ) var ( @@ -178,10 +180,19 @@ var ( // SkipStoreKeys is an optional list of store keys to skip when constructing the // module's keeper. This is useful when a module does not have a store key. SkipStoreKeys: []string{ - "tx", + authtxconfig.DepinjectModuleName, + validate.ModuleName, }, }), }, + { + Name: authtxconfig.DepinjectModuleName, // x/auth/tx/config depinject module (not app module), use to provide tx configuration + Config: appconfig.WrapAny(&txconfigv1.Config{}), + }, + { + Name: validate.ModuleName, + Config: appconfig.WrapAny(&validatemodulev1.Module{}), + }, { Name: authtypes.ModuleName, Config: appconfig.WrapAny(&authmodulev1.Module{ @@ -215,12 +226,6 @@ var ( Name: slashingtypes.ModuleName, Config: appconfig.WrapAny(&slashingmodulev1.Module{}), }, - { - Name: "tx", - Config: appconfig.WrapAny(&txconfigv1.Config{ - SkipAnteHandler: true, // SimApp is using non default AnteHandler such as circuit and unorderedtx decorators - }), - }, { Name: genutiltypes.ModuleName, Config: appconfig.WrapAny(&genutilmodulev1.Module{}), diff --git a/simapp/go.mod b/simapp/go.mod index 6d141c64cbdb..8e1b928a04cb 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -238,7 +238,7 @@ require ( // SimApp on main always tests the latest extracted SDK modules importing the sdk replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main cosmossdk.io/client/v2 => ../client/v2 // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main diff --git a/simapp/go.sum b/simapp/go.sum index c28869104e7a..eeaae63d3810 100644 --- a/simapp/go.sum +++ b/simapp/go.sum @@ -192,8 +192,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/simapp/simd/cmd/testnet_test.go b/simapp/simd/cmd/testnet_test.go index f60a56596c27..f7bea40d28b3 100644 --- a/simapp/simd/cmd/testnet_test.go +++ b/simapp/simd/cmd/testnet_test.go @@ -34,6 +34,7 @@ func Test_TestnetCmd(t *testing.T) { configurator.StakingModule(), configurator.ConsensusModule(), configurator.TxModule(), + configurator.ValidateModule(), configurator.MintModule(), ) var moduleManager *module.Manager diff --git a/simapp/v2/app_config.go b/simapp/v2/app_config.go index 9fd6b2a7c231..0a2270ed1787 100644 --- a/simapp/v2/app_config.go +++ b/simapp/v2/app_config.go @@ -28,6 +28,7 @@ import ( stakingmodulev1 "cosmossdk.io/api/cosmos/staking/module/v1" txconfigv1 "cosmossdk.io/api/cosmos/tx/config/v1" upgrademodulev1 "cosmossdk.io/api/cosmos/upgrade/module/v1" + validatemodulev1 "cosmossdk.io/api/cosmos/validate/module/v1" vestingmodulev1 "cosmossdk.io/api/cosmos/vesting/module/v1" "cosmossdk.io/depinject/appconfig" "cosmossdk.io/x/accounts" @@ -65,12 +66,13 @@ import ( upgradetypes "cosmossdk.io/x/upgrade/types" "github.com/cosmos/cosmos-sdk/runtime" - _ "github.com/cosmos/cosmos-sdk/x/auth" // import for side-effects - _ "github.com/cosmos/cosmos-sdk/x/auth/tx/config" // import for side-effects + _ "github.com/cosmos/cosmos-sdk/x/auth" // import for side-effects + authtxconfig "github.com/cosmos/cosmos-sdk/x/auth/tx/config" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" _ "github.com/cosmos/cosmos-sdk/x/auth/vesting" // import for side-effects vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" + "github.com/cosmos/cosmos-sdk/x/validate" ) var ( @@ -179,8 +181,22 @@ var ( QueryGasLimit: 100_000, SimulationGasLimit: 100_000, }, + // SkipStoreKeys is an optional list of store keys to skip when constructing the + // module's keeper. This is useful when a module does not have a store key. + SkipStoreKeys: []string{ + authtxconfig.DepinjectModuleName, + validate.ModuleName, + }, }), }, + { + Name: authtxconfig.DepinjectModuleName, // x/auth/tx/config depinject module (not app module), use to provide tx configuration + Config: appconfig.WrapAny(&txconfigv1.Config{}), + }, + { + Name: validate.ModuleName, + Config: appconfig.WrapAny(&validatemodulev1.Module{}), + }, { Name: authtypes.ModuleName, Config: appconfig.WrapAny(&authmodulev1.Module{ @@ -214,10 +230,6 @@ var ( Name: slashingtypes.ModuleName, Config: appconfig.WrapAny(&slashingmodulev1.Module{}), }, - { - Name: "tx", - Config: appconfig.WrapAny(&txconfigv1.Config{}), - }, { Name: genutiltypes.ModuleName, Config: appconfig.WrapAny(&genutilmodulev1.Module{}), diff --git a/simapp/v2/go.mod b/simapp/v2/go.mod index ef59f2667c4d..ac02bb1a90aa 100644 --- a/simapp/v2/go.mod +++ b/simapp/v2/go.mod @@ -246,7 +246,7 @@ require ( // SimApp on main always tests the latest extracted SDK modules importing the sdk replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main cosmossdk.io/client/v2 => ../../client/v2 // pseudo version lower than the latest tag cosmossdk.io/core => cosmossdk.io/core v1.0.0-alpha.3.0.20240920095614-aa90bb43d8f8 // main diff --git a/simapp/v2/go.sum b/simapp/v2/go.sum index dcbe2bb110a7..529d9792889b 100644 --- a/simapp/v2/go.sum +++ b/simapp/v2/go.sum @@ -192,8 +192,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3.0.20240920095614-aa90bb43d8f8 h1:kBXv2cxy3M6nGQozQBAg6fmzeLT839GRuOy3CuITDbY= diff --git a/tests/e2e/accounts/base_account_test.go b/tests/e2e/accounts/base_account_test.go index 80c181e0bc6e..bfaee8bbb357 100644 --- a/tests/e2e/accounts/base_account_test.go +++ b/tests/e2e/accounts/base_account_test.go @@ -6,6 +6,7 @@ import ( "math/rand" "testing" + gogoproto "github.com/cosmos/gogoproto/proto" gogoany "github.com/cosmos/gogoproto/types/any" "cosmossdk.io/simapp" diff --git a/tests/e2e/auth/keeper/app_config.go b/tests/e2e/auth/keeper/app_config.go index 7d761d63129e..051fb5efeac7 100644 --- a/tests/e2e/auth/keeper/app_config.go +++ b/tests/e2e/auth/keeper/app_config.go @@ -20,6 +20,7 @@ var AppConfig = configurator.NewAppConfig( configurator.VestingModule(), configurator.StakingModule(), configurator.TxModule(), + configurator.ValidateModule(), configurator.ConsensusModule(), configurator.GenutilModule(), ) diff --git a/tests/e2e/baseapp/block_gas_test.go b/tests/e2e/baseapp/block_gas_test.go index 3ce100399438..8de527ec5bd5 100644 --- a/tests/e2e/baseapp/block_gas_test.go +++ b/tests/e2e/baseapp/block_gas_test.go @@ -88,6 +88,7 @@ func TestBaseApp_BlockGas(t *testing.T) { configurator.AccountsModule(), configurator.AuthModule(), configurator.TxModule(), + configurator.ValidateModule(), configurator.ConsensusModule(), configurator.BankModule(), configurator.StakingModule(), diff --git a/tests/go.mod b/tests/go.mod index b3ddb19b25f8..23ff8a044c00 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -236,7 +236,7 @@ require ( // SimApp on main always tests the latest extracted SDK modules importing the sdk replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main cosmossdk.io/client/v2 => ../client/v2 // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main diff --git a/tests/go.sum b/tests/go.sum index a5ee4935ec0e..16b7cd962af1 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -192,8 +192,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/tests/integration/auth/keeper/accounts_retro_compatibility_test.go b/tests/integration/auth/keeper/accounts_retro_compatibility_test.go index 361dab20c815..eb27f4ce36b9 100644 --- a/tests/integration/auth/keeper/accounts_retro_compatibility_test.go +++ b/tests/integration/auth/keeper/accounts_retro_compatibility_test.go @@ -46,7 +46,7 @@ func TestAuthToAccountsGRPCCompat(t *testing.T) { valid := &mockRetroCompatAccount{ retroCompat: &authtypes.QueryLegacyAccountResponse{ Account: &codectypes.Any{}, - Info: &authtypes.BaseAccount{ + Base: &authtypes.BaseAccount{ Address: "test", PubKey: nil, AccountNumber: 10, @@ -86,7 +86,7 @@ func TestAuthToAccountsGRPCCompat(t *testing.T) { Address: f.mustAddr(valid.address), }) require.NoError(t, err) - require.Equal(t, infoResp.Info, valid.retroCompat.Info) + require.Equal(t, infoResp.Info, valid.retroCompat.Base) accountResp, err := qs.Account(f.ctx, &authtypes.QueryAccountRequest{ Address: f.mustAddr(noInfo.address), diff --git a/tests/integration/bank/app_test.go b/tests/integration/bank/app_test.go index 6db4b4a0ff70..bc6cbf6d8a5c 100644 --- a/tests/integration/bank/app_test.go +++ b/tests/integration/bank/app_test.go @@ -97,6 +97,7 @@ func createTestSuite(t *testing.T, genesisAccounts []authtypes.GenesisAccount) s configurator.AuthModule(), configurator.StakingModule(), configurator.TxModule(), + configurator.ValidateModule(), configurator.ConsensusModule(), configurator.BankModule(), configurator.GovModule(), diff --git a/tests/integration/distribution/appconfig.go b/tests/integration/distribution/appconfig.go index 62cf1fc57b4b..1342dabef75f 100644 --- a/tests/integration/distribution/appconfig.go +++ b/tests/integration/distribution/appconfig.go @@ -21,6 +21,7 @@ var AppConfig = configurator.NewAppConfig( configurator.BankModule(), configurator.StakingModule(), configurator.TxModule(), + configurator.ValidateModule(), configurator.ConsensusModule(), configurator.GenutilModule(), configurator.DistributionModule(), diff --git a/tests/integration/evidence/app_config.go b/tests/integration/evidence/app_config.go index 02640cf9a0b1..f328a31b056a 100644 --- a/tests/integration/evidence/app_config.go +++ b/tests/integration/evidence/app_config.go @@ -21,6 +21,7 @@ var AppConfig = configurator.NewAppConfig( configurator.StakingModule(), configurator.SlashingModule(), configurator.TxModule(), + configurator.ValidateModule(), configurator.ConsensusModule(), configurator.EvidenceModule(), configurator.GenutilModule(), diff --git a/tests/integration/mint/app_config.go b/tests/integration/mint/app_config.go index 438b652f4ca5..b074d723d9cb 100644 --- a/tests/integration/mint/app_config.go +++ b/tests/integration/mint/app_config.go @@ -19,6 +19,7 @@ var AppConfig = configurator.NewAppConfig( configurator.BankModule(), configurator.StakingModule(), configurator.TxModule(), + configurator.ValidateModule(), configurator.ConsensusModule(), configurator.GenutilModule(), configurator.MintModule(), diff --git a/tests/integration/protocolpool/app_config.go b/tests/integration/protocolpool/app_config.go index 686a6b93dcd6..34f39a3111ac 100644 --- a/tests/integration/protocolpool/app_config.go +++ b/tests/integration/protocolpool/app_config.go @@ -21,6 +21,7 @@ var AppConfig = configurator.NewAppConfig( configurator.BankModule(), configurator.StakingModule(), configurator.TxModule(), + configurator.ValidateModule(), configurator.ConsensusModule(), configurator.GenutilModule(), configurator.MintModule(), diff --git a/tests/integration/runtime/query_test.go b/tests/integration/runtime/query_test.go index 22b261206c36..f1c2b82ab433 100644 --- a/tests/integration/runtime/query_test.go +++ b/tests/integration/runtime/query_test.go @@ -46,6 +46,7 @@ func initFixture(t assert.TestingT) *fixture { configurator.AccountsModule(), configurator.AuthModule(), configurator.TxModule(), + configurator.ValidateModule(), configurator.ConsensusModule(), configurator.BankModule(), configurator.StakingModule(), diff --git a/tests/integration/server/grpc/out_of_gas_test.go b/tests/integration/server/grpc/out_of_gas_test.go index 3e26d54c4f1b..eabd41fc754d 100644 --- a/tests/integration/server/grpc/out_of_gas_test.go +++ b/tests/integration/server/grpc/out_of_gas_test.go @@ -45,6 +45,7 @@ func (s *IntegrationTestOutOfGasSuite) SetupSuite() { configurator.StakingModule(), configurator.ConsensusModule(), configurator.TxModule(), + configurator.ValidateModule(), ), baseapp.SetQueryGasLimit(10)) s.NoError(err) s.cfg.NumValidators = 1 diff --git a/tests/integration/server/grpc/server_test.go b/tests/integration/server/grpc/server_test.go index c0cc8748a6bd..e8d6d180b435 100644 --- a/tests/integration/server/grpc/server_test.go +++ b/tests/integration/server/grpc/server_test.go @@ -56,6 +56,7 @@ func (s *IntegrationTestSuite) SetupSuite() { configurator.StakingModule(), configurator.ConsensusModule(), configurator.TxModule(), + configurator.ValidateModule(), )) s.NoError(err) s.cfg.NumValidators = 1 diff --git a/tests/integration/slashing/app_config.go b/tests/integration/slashing/app_config.go index f649e196fb75..415bea47145d 100644 --- a/tests/integration/slashing/app_config.go +++ b/tests/integration/slashing/app_config.go @@ -23,6 +23,7 @@ var AppConfig = configurator.NewAppConfig( configurator.StakingModule(), configurator.SlashingModule(), configurator.TxModule(), + configurator.ValidateModule(), configurator.ConsensusModule(), configurator.GenutilModule(), configurator.MintModule(), diff --git a/tests/integration/slashing/slashing_test.go b/tests/integration/slashing/slashing_test.go index 035d013b369e..60fc4f1e5ac6 100644 --- a/tests/integration/slashing/slashing_test.go +++ b/tests/integration/slashing/slashing_test.go @@ -67,6 +67,7 @@ func TestSlashingMsgs(t *testing.T) { configurator.StakingModule(), configurator.SlashingModule(), configurator.TxModule(), + configurator.ValidateModule(), configurator.ConsensusModule(), configurator.BankModule(), ), diff --git a/tests/integration/staking/app_config.go b/tests/integration/staking/app_config.go index 9bfb400e6c09..4c08ff1faef6 100644 --- a/tests/integration/staking/app_config.go +++ b/tests/integration/staking/app_config.go @@ -22,6 +22,7 @@ var AppConfig = configurator.NewAppConfig( configurator.BankModule(), configurator.StakingModule(), configurator.TxModule(), + configurator.ValidateModule(), configurator.ConsensusModule(), configurator.GenutilModule(), configurator.MintModule(), diff --git a/testutil/configurator/configurator.go b/testutil/configurator/configurator.go index 91c93ba2d5b0..f6114e704f1f 100644 --- a/testutil/configurator/configurator.go +++ b/testutil/configurator/configurator.go @@ -24,11 +24,16 @@ import ( slashingmodulev1 "cosmossdk.io/api/cosmos/slashing/module/v1" stakingmodulev1 "cosmossdk.io/api/cosmos/staking/module/v1" txconfigv1 "cosmossdk.io/api/cosmos/tx/config/v1" + validatemodulev1 "cosmossdk.io/api/cosmos/validate/module/v1" vestingmodulev1 "cosmossdk.io/api/cosmos/vesting/module/v1" "cosmossdk.io/depinject" "cosmossdk.io/depinject/appconfig" "github.com/cosmos/cosmos-sdk/testutil" + _ "github.com/cosmos/cosmos-sdk/x/auth" // import as blank for app wiring + _ "github.com/cosmos/cosmos-sdk/x/auth/tx/config" // import as blank for app wiring + _ "github.com/cosmos/cosmos-sdk/x/genutil" // import as blank for app wiring + _ "github.com/cosmos/cosmos-sdk/x/validate" // import as blank for app wiring ) // Config should never need to be instantiated manually and is solely used for ModuleOption. @@ -183,13 +188,22 @@ func ParamsModule() ModuleOption { func TxModule() ModuleOption { return func(config *Config) { - config.ModuleConfigs[testutil.TxModuleName] = &appv1alpha1.ModuleConfig{ - Name: testutil.TxModuleName, + config.ModuleConfigs[testutil.AuthTxConfigDepinjectModuleName] = &appv1alpha1.ModuleConfig{ + Name: testutil.AuthTxConfigDepinjectModuleName, Config: appconfig.WrapAny(&txconfigv1.Config{}), } } } +func ValidateModule() ModuleOption { + return func(config *Config) { + config.ModuleConfigs[testutil.ValidateModuleName] = &appv1alpha1.ModuleConfig{ + Name: testutil.ValidateModuleName, + Config: appconfig.WrapAny(&validatemodulev1.Module{}), + } + } +} + func StakingModule() ModuleOption { return func(config *Config) { config.ModuleConfigs[testutil.StakingModuleName] = &appv1alpha1.ModuleConfig{ diff --git a/testutil/types.go b/testutil/types.go index d4db7fadcabd..3c3ff5c73cc4 100644 --- a/testutil/types.go +++ b/testutil/types.go @@ -4,23 +4,24 @@ package testutil // Those constants are defined here to be used in the SDK without importing those modules. const ( - AccountsModuleName = "accounts" - AuthModuleName = "auth" - AuthzModuleName = "authz" - BankModuleName = "bank" - CircuitModuleName = "circuit" - DistributionModuleName = "distribution" - EvidenceModuleName = "evidence" - FeegrantModuleName = "feegrant" - GovModuleName = "gov" - GroupModuleName = "group" - MintModuleName = "mint" - NFTModuleName = "nft" - ParamsModuleName = "params" - ProtocolPoolModuleName = "protocolpool" - SlashingModuleName = "slashing" - StakingModuleName = "staking" - TxModuleName = "tx" - UpgradeModuleName = "upgrade" - EpochsModuleName = "epochs" + AccountsModuleName = "accounts" + AuthModuleName = "auth" + AuthzModuleName = "authz" + BankModuleName = "bank" + CircuitModuleName = "circuit" + DistributionModuleName = "distribution" + EvidenceModuleName = "evidence" + FeegrantModuleName = "feegrant" + GovModuleName = "gov" + GroupModuleName = "group" + MintModuleName = "mint" + NFTModuleName = "nft" + ParamsModuleName = "params" + ProtocolPoolModuleName = "protocolpool" + SlashingModuleName = "slashing" + StakingModuleName = "staking" + AuthTxConfigDepinjectModuleName = "tx" + UpgradeModuleName = "upgrade" + EpochsModuleName = "epochs" + ValidateModuleName = "validate" ) diff --git a/x/README.md b/x/README.md index 8aadbbf776f2..721157391313 100644 --- a/x/README.md +++ b/x/README.md @@ -25,6 +25,7 @@ Here are some production-grade modules that can be used in Cosmos SDK applicatio * [Staking](./staking/README.md) - Proof-of-Stake layer for public blockchains. * [tx](./tx/README.md) - Tx utilities for the Cosmos SDK. * [Upgrade](./upgrade/README.md) - Software upgrades handling and coordination. +* [Validate](./validate/README.md) - Global ante/post handlers and tx validator setup. To learn more about the process of building modules, visit the [building modules reference documentation](https://docs.cosmos.network/main/building-modules/intro). diff --git a/x/accounts/defaults/base/account.go b/x/accounts/defaults/base/account.go index ba0f711150b1..edeed35c7a3a 100644 --- a/x/accounts/defaults/base/account.go +++ b/x/accounts/defaults/base/account.go @@ -296,7 +296,7 @@ func (a Account) AuthRetroCompatibility(ctx context.Context, _ *authtypes.QueryL return &authtypes.QueryLegacyAccountResponse{ Account: baseAccountAny, - Info: baseAccount, + Base: baseAccount, }, nil } diff --git a/x/accounts/defaults/base/go.mod b/x/accounts/defaults/base/go.mod index f0affac32d7f..775a3c449baa 100644 --- a/x/accounts/defaults/base/go.mod +++ b/x/accounts/defaults/base/go.mod @@ -171,7 +171,7 @@ replace github.com/cosmos/cosmos-sdk => ../../../../. replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/accounts => ../../. diff --git a/x/accounts/defaults/base/go.sum b/x/accounts/defaults/base/go.sum index 8118175b7b5e..20a85555d69a 100644 --- a/x/accounts/defaults/base/go.sum +++ b/x/accounts/defaults/base/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/accounts/defaults/lockup/go.mod b/x/accounts/defaults/lockup/go.mod index 46fca8a90695..6ecd3d13f57f 100644 --- a/x/accounts/defaults/lockup/go.mod +++ b/x/accounts/defaults/lockup/go.mod @@ -151,7 +151,7 @@ replace github.com/cosmos/cosmos-sdk => ../../../../. replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/accounts => ../../. diff --git a/x/accounts/defaults/lockup/go.sum b/x/accounts/defaults/lockup/go.sum index d6270a100b02..932d8cf4960f 100644 --- a/x/accounts/defaults/lockup/go.sum +++ b/x/accounts/defaults/lockup/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/accounts/defaults/multisig/go.mod b/x/accounts/defaults/multisig/go.mod index 17c13d67e929..10f9c5271254 100644 --- a/x/accounts/defaults/multisig/go.mod +++ b/x/accounts/defaults/multisig/go.mod @@ -171,7 +171,7 @@ replace github.com/cosmos/cosmos-sdk => ../../../../. replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/accounts => ../../. diff --git a/x/accounts/defaults/multisig/go.sum b/x/accounts/defaults/multisig/go.sum index 8118175b7b5e..20a85555d69a 100644 --- a/x/accounts/defaults/multisig/go.sum +++ b/x/accounts/defaults/multisig/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/accounts/go.mod b/x/accounts/go.mod index 4b43b6229585..0ac9e081033b 100644 --- a/x/accounts/go.mod +++ b/x/accounts/go.mod @@ -177,7 +177,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/accounts/defaults/base => ./defaults/base diff --git a/x/accounts/go.sum b/x/accounts/go.sum index 51e81b3c4b29..2167cd70d840 100644 --- a/x/accounts/go.sum +++ b/x/accounts/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/auth/keeper/grpc_query.go b/x/auth/keeper/grpc_query.go index f64de8f0a20e..101c0755801a 100644 --- a/x/auth/keeper/grpc_query.go +++ b/x/auth/keeper/grpc_query.go @@ -231,10 +231,10 @@ func (s queryServer) AccountInfo(ctx context.Context, req *types.QueryAccountInf xAccount, err := s.getFromXAccounts(ctx, addr) // account info is nil it means that the account can be encapsulated into a // legacy account representation but not a base account one. - if err != nil || xAccount.Info == nil { + if err != nil || xAccount.Base == nil { return nil, status.Errorf(codes.NotFound, "account %s not found", req.Address) } - return &types.QueryAccountInfoResponse{Info: xAccount.Info}, nil + return &types.QueryAccountInfoResponse{Info: xAccount.Base}, nil } // if there is no public key, avoid serializing the nil value diff --git a/x/auth/proto/buf.gen.gogo.yaml b/x/auth/proto/buf.gen.gogo.yaml deleted file mode 100644 index db36231d0c82..000000000000 --- a/x/auth/proto/buf.gen.gogo.yaml +++ /dev/null @@ -1,8 +0,0 @@ -version: v1 -plugins: - - name: gocosmos - out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - - name: grpc-gateway - out: .. - opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/auth/proto/buf.gen.pulsar.yaml b/x/auth/proto/buf.gen.pulsar.yaml deleted file mode 100644 index 88a5b0419d7f..000000000000 --- a/x/auth/proto/buf.gen.pulsar.yaml +++ /dev/null @@ -1,18 +0,0 @@ -version: v1 -managed: - enabled: true - go_package_prefix: - default: cosmossdk.io/api - except: - - buf.build/googleapis/googleapis - - buf.build/cosmos/gogo-proto - - buf.build/cosmos/cosmos-proto - override: - buf.build/cosmos/cosmos-sdk: cosmossdk.io/api -plugins: - - name: go-pulsar - out: .. - opt: paths=source_relative - - name: go-grpc - out: .. - opt: paths=source_relative diff --git a/x/auth/proto/buf.lock b/x/auth/proto/buf.lock deleted file mode 100644 index 28c135cc08bb..000000000000 --- a/x/auth/proto/buf.lock +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by buf. DO NOT EDIT. -version: v1 -deps: - - remote: buf.build - owner: cosmos - repository: cosmos-proto - commit: 04467658e59e44bbb22fe568206e1f70 - digest: shake256:73a640bd60e0c523b0f8237ff34eab67c45a38b64bbbde1d80224819d272dbf316ac183526bd245f994af6608b025f5130483d0133c5edd385531326b5990466 - - remote: buf.build - owner: cosmos - repository: cosmos-sdk - commit: cf13c7d232dd405180c2af616fa8a075 - digest: shake256:769a38e306a98339b549bc96991c97fae8bd3ceb1a7646c7bfe9a74e406ab068372970fbc5abda1891e2f3c36527cf2d3a25f631739d36900787226e564bb612 - - remote: buf.build - owner: cosmos - repository: gogo-proto - commit: 5e5b9fdd01804356895f8f79a6f1ddc1 - digest: shake256:0b85da49e2e5f9ebc4806eae058e2f56096ff3b1c59d1fb7c190413dd15f45dd456f0b69ced9059341c80795d2b6c943de15b120a9e0308b499e43e4b5fc2952 - - remote: buf.build - owner: googleapis - repository: googleapis - commit: 28151c0d0a1641bf938a7672c500e01d - digest: shake256:49215edf8ef57f7863004539deff8834cfb2195113f0b890dd1f67815d9353e28e668019165b9d872395871eeafcbab3ccfdb2b5f11734d3cca95be9e8d139de - - remote: buf.build - owner: protocolbuffers - repository: wellknowntypes - commit: 657250e6a39648cbb169d079a60bd9ba - digest: shake256:00de25001b8dd2e29d85fc4bcc3ede7aed886d76d67f5e0f7a9b320b90f871d3eb73507d50818d823a0512f3f8db77a11c043685528403e31ff3fef18323a9fb diff --git a/x/auth/proto/buf.yaml b/x/auth/proto/buf.yaml deleted file mode 100644 index e59a92092e2b..000000000000 --- a/x/auth/proto/buf.yaml +++ /dev/null @@ -1,18 +0,0 @@ -version: v1 -name: buf.build/mods/auth -deps: - - buf.build/cosmos/cosmos-sdk # pin the Cosmos SDK version - - buf.build/cosmos/cosmos-proto - - buf.build/cosmos/gogo-proto - - buf.build/googleapis/googleapis -lint: - use: - - DEFAULT - - COMMENTS - - FILE_LOWER_SNAKE_CASE - except: - - UNARY_RPC - - COMMENT_FIELD - - SERVICE_SUFFIX - - PACKAGE_VERSION_SUFFIX - - RPC_REQUEST_STANDARD_NAME diff --git a/x/auth/tx/README.md b/x/auth/tx/README.md index 981f375dc0de..07941952cdc5 100644 --- a/x/auth/tx/README.md +++ b/x/auth/tx/README.md @@ -17,18 +17,28 @@ This document specifies the `x/auth/tx` package of the Cosmos SDK. This package represents the Cosmos SDK implementation of the `client.TxConfig`, `client.TxBuilder`, `client.TxEncoder` and `client.TxDecoder` interfaces. -It contains as well a depinject module and app module the registration of ante/post handler via `runtime` and tx validator via `runtime/v2`. - ## Contents -* [Transactions](#transactions) +* [`x/auth/tx`](#xauthtx) + * [Abstract](#abstract) + * [Contents](#contents) + * [Transactions](#transactions) * [`TxConfig`](#txconfig) * [`TxBuilder`](#txbuilder) * [`TxEncoder`/ `TxDecoder`](#txencoder-txdecoder) -* [Depinject \& App Module](#depinject--app-module) -* [Client](#client) + * [`x/auth/tx/config`](#xauthtxconfig) + * [Storage](#storage) + * [Client](#client) * [CLI](#cli) + * [Query](#query) + * [Transactions](#transactions-1) + * [`encode`](#encode) + * [`decode`](#decode) * [gRPC](#grpc) + * [`TxDecode`](#txdecode) + * [`TxEncode`](#txencode) + * [`TxDecodeAmino`](#txdecodeamino) + * [`TxEncodeAmino`](#txencodeamino) ## Transactions @@ -60,12 +70,21 @@ A `client.TxBuilder` can be accessed with `TxConfig.NewTxBuilder()`. More information about `TxEncoder` and `TxDecoder` can be found [here](https://docs.cosmos.network/main/core/encoding#transaction-encoding). -## Depinject & App Module +## `x/auth/tx/config` + +The `x/auth/tx/config` contains a depinject module. +The depinject module is to outputs the `TxConfig` and `TxConfigOptions` for the app. -The `x/auth/tx/config` contains a depinject module and app module. -The depinject module is there to setup ante/post handlers on an runtime app (via baseapp options) and the tx validator on the runtime/v2 app (via app module). It as well outputs the `TxConfig` and `TxConfigOptions` for the app. +### Storage -The app module is purely there for registering tx validators, due to the design of tx validators (tx validator belong to modules). +This module has no store key. Do not forget to add the module name in the `SkipStoreKeys` runtime config present in the app config. + +```go +SkipStoreKeys: []string{ + authtxconfig.DepinjectModuleName, + validate.ModuleName, +}, +``` ## Client diff --git a/x/auth/tx/config/depinject.go b/x/auth/tx/config/depinject.go index 9c753fbd4729..bda9ca8735e7 100644 --- a/x/auth/tx/config/depinject.go +++ b/x/auth/tx/config/depinject.go @@ -2,8 +2,6 @@ package tx import ( "context" - "errors" - "fmt" gogoproto "github.com/cosmos/gogoproto/proto" "google.golang.org/grpc" @@ -14,9 +12,6 @@ import ( bankv1beta1 "cosmossdk.io/api/cosmos/bank/v1beta1" txconfigv1 "cosmossdk.io/api/cosmos/tx/config/v1" "cosmossdk.io/core/address" - appmodulev2 "cosmossdk.io/core/appmodule/v2" - "cosmossdk.io/core/server" - "cosmossdk.io/core/transaction" "cosmossdk.io/depinject" "cosmossdk.io/depinject/appconfig" txsigning "cosmossdk.io/x/tx/signing" @@ -26,17 +21,11 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/runtime" - sdk "github.com/cosmos/cosmos-sdk/types" - signingtypes "github.com/cosmos/cosmos-sdk/types/tx/signing" - "github.com/cosmos/cosmos-sdk/x/auth/ante" - "github.com/cosmos/cosmos-sdk/x/auth/ante/unorderedtx" - "github.com/cosmos/cosmos-sdk/x/auth/posthandler" "github.com/cosmos/cosmos-sdk/x/auth/tx" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" ) -// flagMinGasPricesV2 is the flag name for the minimum gas prices in the main server v2 component. -const flagMinGasPricesV2 = "server.minimum-gas-prices" +// DepinjectModuleName is the module name used for depinject. +const DepinjectModuleName = "tx" func init() { appconfig.RegisterModule(&txconfigv1.Config{}, @@ -48,32 +37,19 @@ func init() { type ModuleInputs struct { depinject.In - Config *txconfigv1.Config - AddressCodec address.Codec - ValidatorAddressCodec address.ValidatorAddressCodec - Codec codec.Codec - ProtoFileResolver txsigning.ProtoFileResolver - Environment appmodulev2.Environment - // BankKeeper is the expected bank keeper to be passed to AnteHandlers / Tx Validators - ConsensusKeeper ante.ConsensusKeeper - BankKeeper authtypes.BankKeeper `optional:"true"` - MetadataBankKeeper BankKeeper `optional:"true"` - AccountKeeper ante.AccountKeeper `optional:"true"` - FeeGrantKeeper ante.FeegrantKeeper `optional:"true"` - AccountAbstractionKeeper ante.AccountAbstractionKeeper `optional:"true"` - CustomSignModeHandlers func() []txsigning.SignModeHandler `optional:"true"` - CustomGetSigners []txsigning.CustomGetSigner `optional:"true"` - ExtraTxValidators []appmodulev2.TxValidator[transaction.Tx] `optional:"true"` - UnorderedTxManager *unorderedtx.Manager `optional:"true"` - TxFeeChecker ante.TxFeeChecker `optional:"true"` - DynamicConfig server.DynamicConfig `optional:"true"` + Config *txconfigv1.Config + AddressCodec address.Codec + ValidatorAddressCodec address.ValidatorAddressCodec + Codec codec.Codec + ProtoFileResolver txsigning.ProtoFileResolver + CustomSignModeHandlers func() []txsigning.SignModeHandler `optional:"true"` + CustomGetSigners []txsigning.CustomGetSigner `optional:"true"` } type ModuleOutputs struct { depinject.Out - Module appmodulev2.AppModule // This is only useful for chains using server/v2. It setup tx validators that don't belong to other modules. - BaseAppOption runtime.BaseAppOption // This is only useful for chains using baseapp. Server/v2 chains use TxValidator. + BaseAppOption runtime.BaseAppOption // This is only useful for chains using baseapp. TxConfig client.TxConfig TxConfigOptions tx.ConfigOptions } @@ -103,123 +79,22 @@ func ProvideModule(in ModuleInputs) ModuleOutputs { txConfigOptions.SigningOptions.CustomGetSigners[mode.MsgType] = mode.Fn } - // enable SIGN_MODE_TEXTUAL only if bank keeper is available - if in.MetadataBankKeeper != nil { - txConfigOptions.EnabledSignModes = append(txConfigOptions.EnabledSignModes, signingtypes.SignMode_SIGN_MODE_TEXTUAL) - txConfigOptions.TextualCoinMetadataQueryFn = NewBankKeeperCoinMetadataQueryFn(in.MetadataBankKeeper) - } - txConfig, err := tx.NewTxConfigWithOptions(in.Codec, txConfigOptions) if err != nil { panic(err) } - svd := ante.NewSigVerificationDecorator( - in.AccountKeeper, - txConfig.SignModeHandler(), - ante.DefaultSigVerificationGasConsumer, - in.AccountAbstractionKeeper, - ) - - var ( - minGasPrices sdk.DecCoins - feeTxValidator *ante.DeductFeeDecorator - unorderedTxValidator *ante.UnorderedTxDecorator - ) - if in.AccountKeeper != nil && in.BankKeeper != nil && in.DynamicConfig != nil { - minGasPricesStr := in.DynamicConfig.GetString(flagMinGasPricesV2) - minGasPrices, err = sdk.ParseDecCoins(minGasPricesStr) - if err != nil { - panic(fmt.Sprintf("invalid minimum gas prices: %v", err)) - } - - feeTxValidator = ante.NewDeductFeeDecorator(in.AccountKeeper, in.BankKeeper, in.FeeGrantKeeper, in.TxFeeChecker) - feeTxValidator.SetMinGasPrices(minGasPrices) // set min gas price in deduct fee decorator - } - - if in.UnorderedTxManager != nil { - unorderedTxValidator = ante.NewUnorderedTxDecorator(unorderedtx.DefaultMaxTimeoutDuration, in.UnorderedTxManager, in.Environment, ante.DefaultSha256Cost) - } - return ModuleOutputs{ - Module: NewAppModule(svd, feeTxValidator, unorderedTxValidator, in.ExtraTxValidators...), - BaseAppOption: newBaseAppOption(txConfig, in), + BaseAppOption: func(app *baseapp.BaseApp) { + app.SetTxDecoder(txConfig.TxDecoder()) + app.SetTxEncoder(txConfig.TxEncoder()) + }, TxConfig: txConfig, TxConfigOptions: txConfigOptions, } } -// newBaseAppOption returns baseapp option that sets the ante handler and post handler -// and set the tx encoder and decoder on baseapp. -func newBaseAppOption(txConfig client.TxConfig, in ModuleInputs) func(app *baseapp.BaseApp) { - return func(app *baseapp.BaseApp) { - // AnteHandlers - if !in.Config.SkipAnteHandler { - anteHandler, err := newAnteHandler(txConfig, in) - if err != nil { - panic(err) - } - app.SetAnteHandler(anteHandler) - } - - // PostHandlers - if !in.Config.SkipPostHandler { - // In v0.46, the SDK introduces _postHandlers_. PostHandlers are like - // antehandlers, but are run _after_ the `runMsgs` execution. They are also - // defined as a chain, and have the same signature as antehandlers. - // - // In baseapp, postHandlers are run in the same store branch as `runMsgs`, - // meaning that both `runMsgs` and `postHandler` state will be committed if - // both are successful, and both will be reverted if any of the two fails. - // - // The SDK exposes a default empty postHandlers chain. - // - // Please note that changing any of the anteHandler or postHandler chain is - // likely to be a state-machine breaking change, which needs a coordinated - // upgrade. - postHandler, err := posthandler.NewPostHandler( - posthandler.HandlerOptions{}, - ) - if err != nil { - panic(err) - } - app.SetPostHandler(postHandler) - } - - // TxDecoder/TxEncoder - app.SetTxDecoder(txConfig.TxDecoder()) - app.SetTxEncoder(txConfig.TxEncoder()) - } -} - -func newAnteHandler(txConfig client.TxConfig, in ModuleInputs) (sdk.AnteHandler, error) { - if in.BankKeeper == nil { - return nil, errors.New("both AccountKeeper and BankKeeper are required") - } - - anteHandler, err := ante.NewAnteHandler( - ante.HandlerOptions{ - Environment: in.Environment, - AccountKeeper: in.AccountKeeper, - ConsensusKeeper: in.ConsensusKeeper, - BankKeeper: in.BankKeeper, - SignModeHandler: txConfig.SignModeHandler(), - FeegrantKeeper: in.FeeGrantKeeper, - SigGasConsumer: ante.DefaultSigVerificationGasConsumer, - UnorderedTxManager: in.UnorderedTxManager, - }, - ) - if err != nil { - return nil, fmt.Errorf("failed to create ante handler: %w", err) - } - - return anteHandler, nil -} - -// NewBankKeeperCoinMetadataQueryFn creates a new Textual struct using the given -// BankKeeper to retrieve coin metadata. -// -// This function should be used in the server (app.go) and is already injected thanks to app wiring for app_di. +// NewBankKeeperCoinMetadataQueryFn creates a new Textual struct using the given BankKeeper to retrieve coin metadata. func NewBankKeeperCoinMetadataQueryFn(bk BankKeeper) textual.CoinMetadataQueryFn { return func(ctx context.Context, denom string) (*bankv1beta1.Metadata, error) { res, err := bk.DenomMetadataV2(ctx, &bankv1beta1.QueryDenomMetadataRequest{Denom: denom}) diff --git a/x/auth/types/accounts.pb.go b/x/auth/types/accounts.pb.go index 380a1e9195c9..58f078127712 100644 --- a/x/auth/types/accounts.pb.go +++ b/x/auth/types/accounts.pb.go @@ -71,9 +71,9 @@ type QueryLegacyAccountResponse struct { // sdk.AccountI interface. Account *any.Any `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` // info represents the account as a BaseAccount, this can return - // nil if the account cannot be represented as a base account. + // nil if the account cannot be represented as a BaseAccount. // This is used in the gRPC QueryAccountInfo method. - Info *BaseAccount `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + Base *BaseAccount `protobuf:"bytes,2,opt,name=base,proto3" json:"base,omitempty"` } func (m *QueryLegacyAccountResponse) Reset() { *m = QueryLegacyAccountResponse{} } @@ -116,9 +116,9 @@ func (m *QueryLegacyAccountResponse) GetAccount() *any.Any { return nil } -func (m *QueryLegacyAccountResponse) GetInfo() *BaseAccount { +func (m *QueryLegacyAccountResponse) GetBase() *BaseAccount { if m != nil { - return m.Info + return m.Base } return nil } @@ -133,23 +133,23 @@ func init() { } var fileDescriptor_25696478f9b3e7f4 = []byte{ - // 247 bytes of a gzipped FileDescriptorProto + // 246 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0xcf, 0xb1, 0x4e, 0xc3, 0x30, 0x10, 0x06, 0xe0, 0x18, 0x21, 0x90, 0xcc, 0x16, 0x3a, 0x94, 0x0c, 0x56, 0x95, 0x09, 0x06, 0xce, - 0x2a, 0xf0, 0x02, 0x2d, 0x2b, 0x0b, 0x1d, 0xd9, 0x1c, 0xe3, 0xa6, 0x15, 0xd4, 0x17, 0xf5, 0x6c, - 0x84, 0x57, 0x9e, 0x80, 0xc7, 0x62, 0xec, 0xc8, 0x88, 0x92, 0x17, 0x41, 0xb5, 0x93, 0xa9, 0x9d, - 0x2c, 0xd9, 0x9f, 0xef, 0xfe, 0x9f, 0x97, 0x1a, 0x69, 0x83, 0x24, 0x95, 0x77, 0x2b, 0xf9, 0x31, - 0xad, 0x8c, 0x53, 0x53, 0xa9, 0xb4, 0x46, 0x6f, 0x1d, 0x41, 0xb3, 0x45, 0x87, 0xf9, 0x65, 0x32, - 0xb0, 0x37, 0xd0, 0x9b, 0xe2, 0xaa, 0x46, 0xac, 0xdf, 0x8d, 0x8c, 0xa4, 0xf2, 0x4b, 0xa9, 0x6c, - 0x48, 0xbe, 0x10, 0x47, 0x67, 0xee, 0x3f, 0xc7, 0xf7, 0x72, 0xc4, 0xf3, 0x67, 0x6f, 0xb6, 0xe1, - 0xc9, 0xd4, 0x4a, 0x87, 0x59, 0x5a, 0x56, 0x7e, 0x31, 0x5e, 0x1c, 0x5e, 0x2f, 0x0c, 0x35, 0x68, - 0xc9, 0xe4, 0xc0, 0xcf, 0xfb, 0x58, 0x63, 0x36, 0x61, 0xd7, 0x17, 0x77, 0x23, 0x48, 0x09, 0x60, - 0x48, 0x00, 0x33, 0x1b, 0x16, 0x03, 0xca, 0x1f, 0xf8, 0xe9, 0xda, 0x2e, 0x71, 0x7c, 0x12, 0xf1, - 0x04, 0x8e, 0x74, 0x80, 0xb9, 0x22, 0x33, 0xec, 0x89, 0x7a, 0xfe, 0xf8, 0xd3, 0x0a, 0xb6, 0x6b, - 0x05, 0xfb, 0x6b, 0x05, 0xfb, 0xee, 0x44, 0xb6, 0xeb, 0x44, 0xf6, 0xdb, 0x89, 0xec, 0xe5, 0xa6, - 0x5e, 0xbb, 0x95, 0xaf, 0x40, 0xe3, 0x46, 0xf6, 0xfd, 0xd2, 0x71, 0x4b, 0xaf, 0x6f, 0xf2, 0x33, - 0x95, 0x75, 0xa1, 0x31, 0x54, 0x9d, 0xc5, 0x44, 0xf7, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xdf, - 0x0d, 0xc9, 0xcb, 0x5c, 0x01, 0x00, 0x00, + 0x2a, 0xf0, 0x02, 0x2d, 0x2b, 0x0b, 0x1d, 0xd9, 0x6c, 0x63, 0x52, 0x04, 0xcd, 0x45, 0x3d, 0x1b, + 0xe1, 0x95, 0x27, 0xe0, 0xb1, 0x18, 0x3b, 0x32, 0xa2, 0xe4, 0x45, 0x50, 0xed, 0x64, 0x6a, 0x26, + 0x4b, 0xf6, 0xe7, 0xbb, 0xff, 0xe7, 0xa5, 0x41, 0xda, 0x20, 0x49, 0xe5, 0xdd, 0x5a, 0x7e, 0xcc, + 0xb5, 0x75, 0x6a, 0x2e, 0x95, 0x31, 0xe8, 0x6b, 0x47, 0xd0, 0x6c, 0xd1, 0x61, 0x7e, 0x9e, 0x0c, + 0xec, 0x0d, 0xf4, 0xa6, 0xb8, 0xa8, 0x10, 0xab, 0x77, 0x2b, 0x23, 0xd1, 0xfe, 0x45, 0xaa, 0x3a, + 0x24, 0x5f, 0x88, 0xd1, 0x99, 0xfb, 0xcf, 0xf1, 0xbd, 0x9c, 0xf0, 0xfc, 0xd1, 0xdb, 0x6d, 0x78, + 0xb0, 0x95, 0x32, 0x61, 0x91, 0x96, 0x95, 0x5f, 0x8c, 0x17, 0x87, 0xd7, 0x2b, 0x4b, 0x0d, 0xd6, + 0x64, 0x73, 0xe0, 0xa7, 0x7d, 0xac, 0x29, 0x9b, 0xb1, 0xcb, 0xb3, 0x9b, 0x09, 0xa4, 0x04, 0x30, + 0x24, 0x80, 0x45, 0x1d, 0x56, 0x03, 0xca, 0xef, 0xf8, 0xb1, 0x56, 0x64, 0xa7, 0x47, 0x11, 0xcf, + 0x60, 0xa4, 0x03, 0x2c, 0x15, 0xd9, 0x61, 0x4f, 0xd4, 0xcb, 0xfb, 0x9f, 0x56, 0xb0, 0x5d, 0x2b, + 0xd8, 0x5f, 0x2b, 0xd8, 0x77, 0x27, 0xb2, 0x5d, 0x27, 0xb2, 0xdf, 0x4e, 0x64, 0x4f, 0x57, 0xd5, + 0xab, 0x5b, 0x7b, 0x0d, 0x06, 0x37, 0xb2, 0xef, 0x97, 0x8e, 0x6b, 0x7a, 0x7e, 0x93, 0x9f, 0xa9, + 0xac, 0x0b, 0x8d, 0x25, 0x7d, 0x12, 0x13, 0xdd, 0xfe, 0x07, 0x00, 0x00, 0xff, 0xff, 0x5c, 0xc3, + 0xec, 0xca, 0x5c, 0x01, 0x00, 0x00, } func (m *QueryLegacyAccount) Marshal() (dAtA []byte, err error) { @@ -195,9 +195,9 @@ func (m *QueryLegacyAccountResponse) MarshalToSizedBuffer(dAtA []byte) (int, err _ = i var l int _ = l - if m.Info != nil { + if m.Base != nil { { - size, err := m.Info.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Base.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -252,8 +252,8 @@ func (m *QueryLegacyAccountResponse) Size() (n int) { l = m.Account.Size() n += 1 + l + sovAccounts(uint64(l)) } - if m.Info != nil { - l = m.Info.Size() + if m.Base != nil { + l = m.Base.Size() n += 1 + l + sovAccounts(uint64(l)) } return n @@ -382,7 +382,7 @@ func (m *QueryLegacyAccountResponse) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Info", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Base", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -409,10 +409,10 @@ func (m *QueryLegacyAccountResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Info == nil { - m.Info = &BaseAccount{} + if m.Base == nil { + m.Base = &BaseAccount{} } - if err := m.Info.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Base.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/x/authz/go.mod b/x/authz/go.mod index bd73e6943b59..07cf672fb56b 100644 --- a/x/authz/go.mod +++ b/x/authz/go.mod @@ -173,7 +173,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/authz/go.sum b/x/authz/go.sum index 51e81b3c4b29..2167cd70d840 100644 --- a/x/authz/go.sum +++ b/x/authz/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/bank/go.mod b/x/bank/go.mod index 1aa0f3872a24..1b1cdfdf6d81 100644 --- a/x/bank/go.mod +++ b/x/bank/go.mod @@ -174,7 +174,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/staking => ../staking diff --git a/x/bank/go.sum b/x/bank/go.sum index 51e81b3c4b29..2167cd70d840 100644 --- a/x/bank/go.sum +++ b/x/bank/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/circuit/go.mod b/x/circuit/go.mod index 29f67fb02f04..a2fe6f52d9e3 100644 --- a/x/circuit/go.mod +++ b/x/circuit/go.mod @@ -172,7 +172,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/circuit/go.sum b/x/circuit/go.sum index 51e81b3c4b29..2167cd70d840 100644 --- a/x/circuit/go.sum +++ b/x/circuit/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/consensus/go.mod b/x/consensus/go.mod index 1749ab39ad7d..03bbb350d261 100644 --- a/x/consensus/go.mod +++ b/x/consensus/go.mod @@ -170,7 +170,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/consensus/go.sum b/x/consensus/go.sum index 8118175b7b5e..20a85555d69a 100644 --- a/x/consensus/go.sum +++ b/x/consensus/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/distribution/go.mod b/x/distribution/go.mod index 2945dafd8c34..e44e02e1c5a6 100644 --- a/x/distribution/go.mod +++ b/x/distribution/go.mod @@ -172,7 +172,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/distribution/go.sum b/x/distribution/go.sum index 51e81b3c4b29..2167cd70d840 100644 --- a/x/distribution/go.sum +++ b/x/distribution/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/epochs/go.mod b/x/epochs/go.mod index 9b7c37a105ac..6e96b11a294f 100644 --- a/x/epochs/go.mod +++ b/x/epochs/go.mod @@ -175,7 +175,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/epochs/go.sum b/x/epochs/go.sum index 8118175b7b5e..20a85555d69a 100644 --- a/x/epochs/go.sum +++ b/x/epochs/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/evidence/go.mod b/x/evidence/go.mod index a6e36ce2c839..d9453eaf59fe 100644 --- a/x/evidence/go.mod +++ b/x/evidence/go.mod @@ -172,7 +172,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/evidence/go.sum b/x/evidence/go.sum index 51e81b3c4b29..2167cd70d840 100644 --- a/x/evidence/go.sum +++ b/x/evidence/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/feegrant/go.mod b/x/feegrant/go.mod index e71e35ff983c..21524bcfaa2c 100644 --- a/x/feegrant/go.mod +++ b/x/feegrant/go.mod @@ -179,7 +179,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/feegrant/go.sum b/x/feegrant/go.sum index 0799f976c48b..28a3f162ed03 100644 --- a/x/feegrant/go.sum +++ b/x/feegrant/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/gov/go.mod b/x/gov/go.mod index 8e7400ed912a..6852ff95bf0f 100644 --- a/x/gov/go.mod +++ b/x/gov/go.mod @@ -178,7 +178,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/gov/go.sum b/x/gov/go.sum index 7aac9dedf1be..7fee7bcdc7c9 100644 --- a/x/gov/go.sum +++ b/x/gov/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/group/go.mod b/x/group/go.mod index 1f345948840a..7d62609931aa 100644 --- a/x/group/go.mod +++ b/x/group/go.mod @@ -185,7 +185,7 @@ replace github.com/cosmos/cosmos-sdk => ../../ // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/accounts => ../accounts diff --git a/x/group/go.sum b/x/group/go.sum index 291da48fcc45..59db1e11fff8 100644 --- a/x/group/go.sum +++ b/x/group/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/mint/go.mod b/x/mint/go.mod index 937dd24b783c..1c410182c8e9 100644 --- a/x/mint/go.mod +++ b/x/mint/go.mod @@ -176,7 +176,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/mint/go.sum b/x/mint/go.sum index 51e81b3c4b29..2167cd70d840 100644 --- a/x/mint/go.sum +++ b/x/mint/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/nft/go.mod b/x/nft/go.mod index 823882ad74c9..5d8d203709a3 100644 --- a/x/nft/go.mod +++ b/x/nft/go.mod @@ -172,7 +172,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/nft/go.sum b/x/nft/go.sum index 51e81b3c4b29..2167cd70d840 100644 --- a/x/nft/go.sum +++ b/x/nft/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/params/go.mod b/x/params/go.mod index 263a50e2015f..d07a9778568e 100644 --- a/x/params/go.mod +++ b/x/params/go.mod @@ -164,7 +164,7 @@ replace github.com/cosmos/cosmos-sdk => ../.. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/params/go.sum b/x/params/go.sum index b58fdacf67e3..d68bc56c001a 100644 --- a/x/params/go.sum +++ b/x/params/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/protocolpool/go.mod b/x/protocolpool/go.mod index 24f0d9b86a6f..51e10edb6597 100644 --- a/x/protocolpool/go.mod +++ b/x/protocolpool/go.mod @@ -172,7 +172,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/protocolpool/go.sum b/x/protocolpool/go.sum index 51e81b3c4b29..2167cd70d840 100644 --- a/x/protocolpool/go.sum +++ b/x/protocolpool/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/slashing/go.mod b/x/slashing/go.mod index b61fec6d5872..2c203b4cd375 100644 --- a/x/slashing/go.mod +++ b/x/slashing/go.mod @@ -173,7 +173,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/slashing/go.sum b/x/slashing/go.sum index 3ecffb078d23..d9ff2d2b5a98 100644 --- a/x/slashing/go.sum +++ b/x/slashing/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/staking/go.mod b/x/staking/go.mod index 29941539dd69..96d55b5f0b88 100644 --- a/x/staking/go.mod +++ b/x/staking/go.mod @@ -171,7 +171,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/staking/go.sum b/x/staking/go.sum index 51e81b3c4b29..2167cd70d840 100644 --- a/x/staking/go.sum +++ b/x/staking/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/upgrade/go.mod b/x/upgrade/go.mod index 523b9cb8e6a2..6ad2a35fa902 100644 --- a/x/upgrade/go.mod +++ b/x/upgrade/go.mod @@ -202,7 +202,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. replace ( // pseudo version lower than the latest tag - cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 // main + cosmossdk.io/api => cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 // main // pseudo version lower than the latest tag cosmossdk.io/store => cosmossdk.io/store v1.0.0-rc.0.0.20240913190136-3bc707a5a214 // main cosmossdk.io/x/bank => ../bank diff --git a/x/upgrade/go.sum b/x/upgrade/go.sum index 9d139a69257b..b64490dcfcff 100644 --- a/x/upgrade/go.sum +++ b/x/upgrade/go.sum @@ -192,8 +192,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897 h1:YV9M+9pClbzPncO5XMSc3kIgDWjb7DdZ/DtURaWqle8= -cosmossdk.io/api v0.7.3-0.20240815194237-858ec2fcb897/go.mod h1:oqpDMZQpEgSo0Cm4F+0yxoC9UQbo/SlodZR4zeOqBsE= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435 h1:HRaMQVxKBmrix3021I6r1cgB/pqiKXdbJNjHRR4zs9k= +cosmossdk.io/api v0.7.3-0.20240920150546-763e4d68e435/go.mod h1:YMfx2ATpgITsoydD3hIBa8IkDHtyXp/14rmG0d3sEew= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab h1:E/IWad76v1Nc4Atswaccpt7twJ0VwHkbY94/PhmZfTo= cosmossdk.io/collections v0.4.1-0.20240802064046-23fac2f1b8ab/go.mod h1:Or+5eVAo1aiS1DnPK90eQykGc59LGBWtqwBoJcxXTmw= cosmossdk.io/core v1.0.0-alpha.3 h1:pnxaYAas7llXgVz1lM7X6De74nWrhNKnB3yMKe4OUUA= diff --git a/x/validate/README.md b/x/validate/README.md new file mode 100644 index 000000000000..f077102a06ef --- /dev/null +++ b/x/validate/README.md @@ -0,0 +1,35 @@ +# x/validate + +:::tip +This module is only required when using runtime and runtime v2 and you want to make use of the pre-defined ante/poste handlers or tx validators. +::: + +The `x/validate` is an app module solely there to setup ante/post handlers on a runtime app (via baseapp options) and the global tx validators on a runtime/v2 app (via app module). Depinject will automatically inject the ante/post handlers and tx validators into the app. Module specific tx validators should be registered on their own modules. + +## Extra TxValidators + +It is possible to add extra tx validators to the app. This is useful when you want to add extra tx validators that do not belong to one specific module. For example, you can add a tx validator that checks if the tx is signed by a specific address. + +In your `app.go`, when using runtime/v2, supply the extra tx validators using `depinject`: + +```go +appConfig = depinject.Configs( + AppConfig(), + depinject.Supply( + []appmodulev2.TxValidator[transaction.Tx]{ + // Add extra tx validators here + } + ), +) +``` + +## Storage + +This module has no store key. Do not forget to add the module name in the `SkipStoreKeys` runtime config present in the app config. + +```go +SkipStoreKeys: []string{ + authtxconfig.DepinjectModuleName, + validate.ModuleName, +}, +``` diff --git a/x/validate/depinject.go b/x/validate/depinject.go new file mode 100644 index 000000000000..9f508717f04f --- /dev/null +++ b/x/validate/depinject.go @@ -0,0 +1,145 @@ +package validate + +import ( + "fmt" + + modulev1 "cosmossdk.io/api/cosmos/validate/module/v1" + appmodulev2 "cosmossdk.io/core/appmodule/v2" + "cosmossdk.io/core/server" + "cosmossdk.io/core/transaction" + "cosmossdk.io/depinject" + "cosmossdk.io/depinject/appconfig" + + "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/runtime" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/auth/ante" + "github.com/cosmos/cosmos-sdk/x/auth/ante/unorderedtx" + "github.com/cosmos/cosmos-sdk/x/auth/posthandler" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" +) + +// flagMinGasPricesV2 is the flag name for the minimum gas prices in the main server v2 component. +const flagMinGasPricesV2 = "server.minimum-gas-prices" + +func init() { + appconfig.RegisterModule(&modulev1.Module{}, + appconfig.Provide(ProvideModule), + ) +} + +type ModuleInputs struct { + depinject.In + + ModuleConfig *modulev1.Module + Environment appmodulev2.Environment + TxConfig client.TxConfig + DynamicConfig server.DynamicConfig `optional:"true"` + + AccountKeeper ante.AccountKeeper + BankKeeper authtypes.BankKeeper + ConsensusKeeper ante.ConsensusKeeper + FeeGrantKeeper ante.FeegrantKeeper `optional:"true"` + AccountAbstractionKeeper ante.AccountAbstractionKeeper `optional:"true"` + ExtraTxValidators []appmodulev2.TxValidator[transaction.Tx] `optional:"true"` + UnorderedTxManager *unorderedtx.Manager `optional:"true"` + TxFeeChecker ante.TxFeeChecker `optional:"true"` +} + +type ModuleOutputs struct { + depinject.Out + + Module appmodulev2.AppModule // Only useful for chains using server/v2. It setup tx validators that don't belong to other modules. + BaseAppOption runtime.BaseAppOption // Only useful for chains using baseapp. Server/v2 chains use TxValidator. +} + +func ProvideModule(in ModuleInputs) ModuleOutputs { + svd := ante.NewSigVerificationDecorator( + in.AccountKeeper, + in.TxConfig.SignModeHandler(), + ante.DefaultSigVerificationGasConsumer, + in.AccountAbstractionKeeper, // can be nil + ) + + var ( + err error + minGasPrices sdk.DecCoins + feeTxValidator *ante.DeductFeeDecorator + unorderedTxValidator *ante.UnorderedTxDecorator + ) + + if in.DynamicConfig != nil { + minGasPricesStr := in.DynamicConfig.GetString(flagMinGasPricesV2) + minGasPrices, err = sdk.ParseDecCoins(minGasPricesStr) + if err != nil { + panic(fmt.Sprintf("invalid minimum gas prices: %v", err)) + } + + feeTxValidator = ante.NewDeductFeeDecorator(in.AccountKeeper, in.BankKeeper, in.FeeGrantKeeper, in.TxFeeChecker) + feeTxValidator.SetMinGasPrices(minGasPrices) // set min gas price in deduct fee decorator + } + + if in.UnorderedTxManager != nil { + unorderedTxValidator = ante.NewUnorderedTxDecorator(unorderedtx.DefaultMaxTimeoutDuration, in.UnorderedTxManager, in.Environment, ante.DefaultSha256Cost) + } + + return ModuleOutputs{ + Module: NewAppModule(svd, feeTxValidator, unorderedTxValidator, in.ExtraTxValidators...), + BaseAppOption: newBaseAppOption(in), + } +} + +// newBaseAppOption returns baseapp option that sets the ante handler and post handler +// and set the tx encoder and decoder on baseapp. +func newBaseAppOption(in ModuleInputs) func(app *baseapp.BaseApp) { + return func(app *baseapp.BaseApp) { + anteHandler, err := newAnteHandler(in) + if err != nil { + panic(err) + } + app.SetAnteHandler(anteHandler) + + // PostHandlers + // In v0.46, the SDK introduces _postHandlers_. PostHandlers are like + // antehandlers, but are run _after_ the `runMsgs` execution. They are also + // defined as a chain, and have the same signature as antehandlers. + // + // In baseapp, postHandlers are run in the same store branch as `runMsgs`, + // meaning that both `runMsgs` and `postHandler` state will be committed if + // both are successful, and both will be reverted if any of the two fails. + // + // The SDK exposes a default empty postHandlers chain. + // + // Please note that changing any of the anteHandler or postHandler chain is + // likely to be a state-machine breaking change, which needs a coordinated + // upgrade. + postHandler, err := posthandler.NewPostHandler( + posthandler.HandlerOptions{}, + ) + if err != nil { + panic(err) + } + app.SetPostHandler(postHandler) + } +} + +func newAnteHandler(in ModuleInputs) (sdk.AnteHandler, error) { + anteHandler, err := ante.NewAnteHandler( + ante.HandlerOptions{ + Environment: in.Environment, + AccountKeeper: in.AccountKeeper, + ConsensusKeeper: in.ConsensusKeeper, + BankKeeper: in.BankKeeper, + SignModeHandler: in.TxConfig.SignModeHandler(), + FeegrantKeeper: in.FeeGrantKeeper, + SigGasConsumer: ante.DefaultSigVerificationGasConsumer, + UnorderedTxManager: in.UnorderedTxManager, + }, + ) + if err != nil { + return nil, fmt.Errorf("failed to create ante handler: %w", err) + } + + return anteHandler, nil +} diff --git a/x/validate/keys.go b/x/validate/keys.go new file mode 100644 index 000000000000..de6282ccd9de --- /dev/null +++ b/x/validate/keys.go @@ -0,0 +1,4 @@ +package validate + +// ModuleName is the name of the validate module. +const ModuleName = "validate" diff --git a/x/auth/tx/config/module.go b/x/validate/module.go similarity index 99% rename from x/auth/tx/config/module.go rename to x/validate/module.go index 2529f36bc8e3..f547e63fe085 100644 --- a/x/auth/tx/config/module.go +++ b/x/validate/module.go @@ -1,4 +1,4 @@ -package tx +package validate import ( "context"