cosmos-sdk/proto/cosmos/app/runtime/v2/module.proto
2024-08-05 10:20:24 +00:00

82 lines
3.0 KiB
Protocol Buffer

syntax = "proto3";
package cosmos.app.runtime.v2;
import "cosmos/app/v1alpha1/module.proto";
// Module is the config object for the runtime module.
message Module {
option (cosmos.app.v1alpha1.module) = {
go_import: "cosmossdk.io/runtime/v2"
use_package: {name: "cosmos.app.v1alpha1"}
};
// app_name is the name of the app.
string app_name = 1;
// pre_blockers specifies the module names of pre blockers
// to call in the order in which they should be called. If this is left empty
// no pre blocker will be registered.
repeated string pre_blockers = 2;
// begin_blockers specifies the module names of begin blockers
// to call in the order in which they should be called. If this is left empty
// no begin blocker will be registered.
repeated string begin_blockers = 3;
// end_blockers specifies the module names of the end blockers
// to call in the order in which they should be called. If this is left empty
// no end blocker will be registered.
repeated string end_blockers = 4;
// tx_validators specifies the module names for tx validators
// If this is left empty, no tx validation will be registered.
repeated string tx_validators = 5;
// init_genesis specifies the module names of init genesis functions
// to call in the order in which they should be called. If this is left empty
// no init genesis function will be registered.
repeated string init_genesis = 6;
// export_genesis specifies the order in which to export module genesis data.
// If this is left empty, the init_genesis order will be used for export genesis
// if it is specified.
repeated string export_genesis = 7;
// order_migrations defines the order in which module migrations are performed.
// If this is left empty, it uses the default migration order (alphabetically).
repeated string order_migrations = 8;
// GasConfig is the config object for gas limits.
GasConfig gas_config = 9;
// override_store_keys is an optional list of overrides for the module store keys
// to be used in keeper construction.
repeated StoreKeyConfig override_store_keys = 10;
// skip_store_keys 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.
// NOTE: the provided environment variable will have a fake store service.
repeated string skip_store_keys = 11;
}
// GasConfig is the config object for gas limits.
message GasConfig {
// validate_tx_gas_limit is the gas limit for validating a tx.
uint64 validate_tx_gas_limit = 1;
// query_gas_limit is the gas limit for querying.
uint64 query_gas_limit = 2;
// simulation_gas_limit is the gas limit for simulation.
uint64 simulation_gas_limit = 3;
}
// StoreKeyConfig may be supplied to override the default module store key, which
// is the module name.
message StoreKeyConfig {
// name of the module to override the store key of
string module_name = 1;
// the kv store key to use instead of the module name.
string kv_store_key = 2;
}