From 99b21ab46ca24e2d2a56e4dd4525ddc714935328 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Thu, 30 Jun 2022 09:34:13 +0100 Subject: [PATCH] refactor: depinject without app.yaml (#12394) --- .../group/{v1 => }/module/v1/module.pulsar.go | 188 +++++++++-------- core/appconfig/config.go | 10 + .../group/{v1 => }/module/v1/module.proto | 2 +- simapp/app.go | 10 +- simapp/app.yaml | 143 ------------- simapp/app_config.go | 196 ++++++++++++++++++ x/group/module/module.go | 2 +- x/group/testutil/app.yaml | 2 +- 8 files changed, 303 insertions(+), 250 deletions(-) rename api/cosmos/group/{v1 => }/module/v1/module.pulsar.go (72%) rename proto/cosmos/group/{v1 => }/module/v1/module.proto (95%) delete mode 100644 simapp/app.yaml create mode 100644 simapp/app_config.go diff --git a/api/cosmos/group/v1/module/v1/module.pulsar.go b/api/cosmos/group/module/v1/module.pulsar.go similarity index 72% rename from api/cosmos/group/v1/module/v1/module.pulsar.go rename to api/cosmos/group/module/v1/module.pulsar.go index d7247408b516..93c72d89337e 100644 --- a/api/cosmos/group/v1/module/v1/module.pulsar.go +++ b/api/cosmos/group/module/v1/module.pulsar.go @@ -22,8 +22,8 @@ var ( ) func init() { - file_cosmos_group_v1_module_v1_module_proto_init() - md_Module = File_cosmos_group_v1_module_v1_module_proto.Messages().ByName("Module") + file_cosmos_group_module_v1_module_proto_init() + md_Module = File_cosmos_group_module_v1_module_proto.Messages().ByName("Module") fd_Module_max_execution_period = md_Module.Fields().ByName("max_execution_period") fd_Module_max_metadata_len = md_Module.Fields().ByName("max_metadata_len") } @@ -37,7 +37,7 @@ func (x *Module) ProtoReflect() protoreflect.Message { } func (x *Module) slowProtoReflect() protoreflect.Message { - mi := &file_cosmos_group_v1_module_v1_module_proto_msgTypes[0] + mi := &file_cosmos_group_module_v1_module_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120,15 +120,15 @@ func (x *fastReflection_Module) Range(f func(protoreflect.FieldDescriptor, proto // a repeated field is populated if it is non-empty. func (x *fastReflection_Module) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cosmos.group.v1.module.v1.Module.max_execution_period": + case "cosmos.group.module.v1.Module.max_execution_period": return x.MaxExecutionPeriod != nil - case "cosmos.group.v1.module.v1.Module.max_metadata_len": + case "cosmos.group.module.v1.Module.max_metadata_len": return x.MaxMetadataLen != uint64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.group.v1.module.v1.Module")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.group.module.v1.Module")) } - panic(fmt.Errorf("message cosmos.group.v1.module.v1.Module does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.group.module.v1.Module does not contain field %s", fd.FullName())) } } @@ -140,15 +140,15 @@ func (x *fastReflection_Module) Has(fd protoreflect.FieldDescriptor) bool { // Clear is a mutating operation and unsafe for concurrent use. func (x *fastReflection_Module) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cosmos.group.v1.module.v1.Module.max_execution_period": + case "cosmos.group.module.v1.Module.max_execution_period": x.MaxExecutionPeriod = nil - case "cosmos.group.v1.module.v1.Module.max_metadata_len": + case "cosmos.group.module.v1.Module.max_metadata_len": x.MaxMetadataLen = uint64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.group.v1.module.v1.Module")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.group.module.v1.Module")) } - panic(fmt.Errorf("message cosmos.group.v1.module.v1.Module does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.group.module.v1.Module does not contain field %s", fd.FullName())) } } @@ -160,17 +160,17 @@ func (x *fastReflection_Module) Clear(fd protoreflect.FieldDescriptor) { // of the value; to obtain a mutable reference, use Mutable. func (x *fastReflection_Module) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cosmos.group.v1.module.v1.Module.max_execution_period": + case "cosmos.group.module.v1.Module.max_execution_period": value := x.MaxExecutionPeriod return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "cosmos.group.v1.module.v1.Module.max_metadata_len": + case "cosmos.group.module.v1.Module.max_metadata_len": value := x.MaxMetadataLen return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.group.v1.module.v1.Module")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.group.module.v1.Module")) } - panic(fmt.Errorf("message cosmos.group.v1.module.v1.Module does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message cosmos.group.module.v1.Module does not contain field %s", descriptor.FullName())) } } @@ -186,15 +186,15 @@ func (x *fastReflection_Module) Get(descriptor protoreflect.FieldDescriptor) pro // Set is a mutating operation and unsafe for concurrent use. func (x *fastReflection_Module) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cosmos.group.v1.module.v1.Module.max_execution_period": + case "cosmos.group.module.v1.Module.max_execution_period": x.MaxExecutionPeriod = value.Message().Interface().(*durationpb.Duration) - case "cosmos.group.v1.module.v1.Module.max_metadata_len": + case "cosmos.group.module.v1.Module.max_metadata_len": x.MaxMetadataLen = value.Uint() default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.group.v1.module.v1.Module")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.group.module.v1.Module")) } - panic(fmt.Errorf("message cosmos.group.v1.module.v1.Module does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.group.module.v1.Module does not contain field %s", fd.FullName())) } } @@ -210,18 +210,18 @@ func (x *fastReflection_Module) Set(fd protoreflect.FieldDescriptor, value proto // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_Module) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cosmos.group.v1.module.v1.Module.max_execution_period": + case "cosmos.group.module.v1.Module.max_execution_period": if x.MaxExecutionPeriod == nil { x.MaxExecutionPeriod = new(durationpb.Duration) } return protoreflect.ValueOfMessage(x.MaxExecutionPeriod.ProtoReflect()) - case "cosmos.group.v1.module.v1.Module.max_metadata_len": - panic(fmt.Errorf("field max_metadata_len of message cosmos.group.v1.module.v1.Module is not mutable")) + case "cosmos.group.module.v1.Module.max_metadata_len": + panic(fmt.Errorf("field max_metadata_len of message cosmos.group.module.v1.Module is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.group.v1.module.v1.Module")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.group.module.v1.Module")) } - panic(fmt.Errorf("message cosmos.group.v1.module.v1.Module does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.group.module.v1.Module does not contain field %s", fd.FullName())) } } @@ -230,16 +230,16 @@ func (x *fastReflection_Module) Mutable(fd protoreflect.FieldDescriptor) protore // For lists, maps, and messages, this returns a new, empty, mutable value. func (x *fastReflection_Module) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cosmos.group.v1.module.v1.Module.max_execution_period": + case "cosmos.group.module.v1.Module.max_execution_period": m := new(durationpb.Duration) return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "cosmos.group.v1.module.v1.Module.max_metadata_len": + case "cosmos.group.module.v1.Module.max_metadata_len": return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.group.v1.module.v1.Module")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.group.module.v1.Module")) } - panic(fmt.Errorf("message cosmos.group.v1.module.v1.Module does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.group.module.v1.Module does not contain field %s", fd.FullName())) } } @@ -249,7 +249,7 @@ func (x *fastReflection_Module) NewField(fd protoreflect.FieldDescriptor) protor func (x *fastReflection_Module) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in cosmos.group.v1.module.v1.Module", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in cosmos.group.module.v1.Module", d.FullName())) } panic("unreachable") } @@ -502,7 +502,7 @@ func (x *fastReflection_Module) ProtoMethods() *protoiface.Methods { // versions: // protoc-gen-go v1.27.0 // protoc (unknown) -// source: cosmos/group/v1/module/v1/module.proto +// source: cosmos/group/module/v1/module.proto const ( // Verify that this generated code is sufficiently up-to-date. @@ -526,7 +526,7 @@ type Module struct { func (x *Module) Reset() { *x = Module{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_group_v1_module_v1_module_proto_msgTypes[0] + mi := &file_cosmos_group_module_v1_module_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -540,7 +540,7 @@ func (*Module) ProtoMessage() {} // Deprecated: Use Module.ProtoReflect.Descriptor instead. func (*Module) Descriptor() ([]byte, []int) { - return file_cosmos_group_v1_module_v1_module_proto_rawDescGZIP(), []int{0} + return file_cosmos_group_module_v1_module_proto_rawDescGZIP(), []int{0} } func (x *Module) GetMaxExecutionPeriod() *durationpb.Duration { @@ -557,67 +557,65 @@ func (x *Module) GetMaxMetadataLen() uint64 { return 0 } -var File_cosmos_group_v1_module_v1_module_proto protoreflect.FileDescriptor - -var file_cosmos_group_v1_module_v1_module_proto_rawDesc = []byte{ - 0x0a, 0x26, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x76, - 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x2e, 0x76, 0x31, 0x1a, 0x20, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x2f, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb7, 0x01, 0x0a, 0x06, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x55, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x08, 0xc8, 0xde, 0x1f, 0x00, 0x98, 0xdf, 0x1f, 0x01, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x28, 0x0a, - 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x65, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x4c, 0x65, 0x6e, 0x3a, 0x2c, 0xba, 0xc0, 0x96, 0xda, 0x01, 0x26, 0x0a, - 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0xea, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x33, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, - 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2f, - 0x76, 0x31, 0x3b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x76, 0x31, 0xa2, 0x02, 0x04, 0x43, 0x47, - 0x56, 0x4d, 0xaa, 0x02, 0x19, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x2e, 0x56, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, - 0x19, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5c, 0x56, 0x31, - 0x5c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x25, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5c, 0x56, 0x31, 0x5c, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x1d, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x3a, 0x3a, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x3a, 0x3a, - 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +var File_cosmos_group_module_v1_module_proto protoreflect.FileDescriptor + +var file_cosmos_group_module_v1_module_proto_rawDesc = []byte{ + 0x0a, 0x23, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x6d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x2e, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x20, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb7, 0x01, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, + 0x12, 0x55, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0x98, + 0xdf, 0x1f, 0x01, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x65, + 0x6e, 0x3a, 0x2c, 0xba, 0xc0, 0x96, 0xda, 0x01, 0x26, 0x0a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, + 0xd6, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0b, + 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x6d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x76, 0x31, 0xa2, + 0x02, 0x03, 0x43, 0x47, 0x4d, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, + 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5c, 0x4d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x5c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5c, 0x56, 0x31, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x3a, 0x3a, 0x4d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_cosmos_group_v1_module_v1_module_proto_rawDescOnce sync.Once - file_cosmos_group_v1_module_v1_module_proto_rawDescData = file_cosmos_group_v1_module_v1_module_proto_rawDesc + file_cosmos_group_module_v1_module_proto_rawDescOnce sync.Once + file_cosmos_group_module_v1_module_proto_rawDescData = file_cosmos_group_module_v1_module_proto_rawDesc ) -func file_cosmos_group_v1_module_v1_module_proto_rawDescGZIP() []byte { - file_cosmos_group_v1_module_v1_module_proto_rawDescOnce.Do(func() { - file_cosmos_group_v1_module_v1_module_proto_rawDescData = protoimpl.X.CompressGZIP(file_cosmos_group_v1_module_v1_module_proto_rawDescData) +func file_cosmos_group_module_v1_module_proto_rawDescGZIP() []byte { + file_cosmos_group_module_v1_module_proto_rawDescOnce.Do(func() { + file_cosmos_group_module_v1_module_proto_rawDescData = protoimpl.X.CompressGZIP(file_cosmos_group_module_v1_module_proto_rawDescData) }) - return file_cosmos_group_v1_module_v1_module_proto_rawDescData + return file_cosmos_group_module_v1_module_proto_rawDescData } -var file_cosmos_group_v1_module_v1_module_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_cosmos_group_v1_module_v1_module_proto_goTypes = []interface{}{ - (*Module)(nil), // 0: cosmos.group.v1.module.v1.Module +var file_cosmos_group_module_v1_module_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_cosmos_group_module_v1_module_proto_goTypes = []interface{}{ + (*Module)(nil), // 0: cosmos.group.module.v1.Module (*durationpb.Duration)(nil), // 1: google.protobuf.Duration } -var file_cosmos_group_v1_module_v1_module_proto_depIdxs = []int32{ - 1, // 0: cosmos.group.v1.module.v1.Module.max_execution_period:type_name -> google.protobuf.Duration +var file_cosmos_group_module_v1_module_proto_depIdxs = []int32{ + 1, // 0: cosmos.group.module.v1.Module.max_execution_period:type_name -> google.protobuf.Duration 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name @@ -625,13 +623,13 @@ var file_cosmos_group_v1_module_v1_module_proto_depIdxs = []int32{ 0, // [0:1] is the sub-list for field type_name } -func init() { file_cosmos_group_v1_module_v1_module_proto_init() } -func file_cosmos_group_v1_module_v1_module_proto_init() { - if File_cosmos_group_v1_module_v1_module_proto != nil { +func init() { file_cosmos_group_module_v1_module_proto_init() } +func file_cosmos_group_module_v1_module_proto_init() { + if File_cosmos_group_module_v1_module_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_cosmos_group_v1_module_v1_module_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_cosmos_group_module_v1_module_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Module); i { case 0: return &v.state @@ -648,18 +646,18 @@ func file_cosmos_group_v1_module_v1_module_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_cosmos_group_v1_module_v1_module_proto_rawDesc, + RawDescriptor: file_cosmos_group_module_v1_module_proto_rawDesc, NumEnums: 0, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_cosmos_group_v1_module_v1_module_proto_goTypes, - DependencyIndexes: file_cosmos_group_v1_module_v1_module_proto_depIdxs, - MessageInfos: file_cosmos_group_v1_module_v1_module_proto_msgTypes, + GoTypes: file_cosmos_group_module_v1_module_proto_goTypes, + DependencyIndexes: file_cosmos_group_module_v1_module_proto_depIdxs, + MessageInfos: file_cosmos_group_module_v1_module_proto_msgTypes, }.Build() - File_cosmos_group_v1_module_v1_module_proto = out.File - file_cosmos_group_v1_module_v1_module_proto_rawDesc = nil - file_cosmos_group_v1_module_v1_module_proto_goTypes = nil - file_cosmos_group_v1_module_v1_module_proto_depIdxs = nil + File_cosmos_group_module_v1_module_proto = out.File + file_cosmos_group_module_v1_module_proto_rawDesc = nil + file_cosmos_group_module_v1_module_proto_goTypes = nil + file_cosmos_group_module_v1_module_proto_depIdxs = nil } diff --git a/core/appconfig/config.go b/core/appconfig/config.go index 97553d8c3789..c883e7117403 100644 --- a/core/appconfig/config.go +++ b/core/appconfig/config.go @@ -40,6 +40,16 @@ func LoadYAML(bz []byte) depinject.Config { return LoadJSON(j) } +// WrapAny marshals a proto message into a proto Any instance +func WrapAny(config protoreflect.ProtoMessage) *anypb.Any { + cfg, err := anypb.New(config) + if err != nil { + panic(err) + } + + return cfg +} + // Compose composes a v1alpha1 app config into a container option by resolving // the required modules and composing their options. func Compose(appConfig *appv1alpha1.Config) depinject.Config { diff --git a/proto/cosmos/group/v1/module/v1/module.proto b/proto/cosmos/group/module/v1/module.proto similarity index 95% rename from proto/cosmos/group/v1/module/v1/module.proto rename to proto/cosmos/group/module/v1/module.proto index 1616663f83cc..390fb5d1b047 100644 --- a/proto/cosmos/group/v1/module/v1/module.proto +++ b/proto/cosmos/group/module/v1/module.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -package cosmos.group.v1.module.v1; +package cosmos.group.module.v1; import "cosmos/app/v1alpha1/module.proto"; import "gogoproto/gogo.proto"; diff --git a/simapp/app.go b/simapp/app.go index fe7ed8ec60ac..b882ec52a982 100644 --- a/simapp/app.go +++ b/simapp/app.go @@ -15,14 +15,11 @@ import ( tmos "github.com/tendermint/tendermint/libs/os" dbm "github.com/tendermint/tm-db" - "cosmossdk.io/core/appconfig" - - "github.com/cosmos/cosmos-sdk/depinject" - "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/depinject" "github.com/cosmos/cosmos-sdk/runtime" "github.com/cosmos/cosmos-sdk/server/api" "github.com/cosmos/cosmos-sdk/server/config" @@ -191,11 +188,6 @@ func init() { DefaultNodeHome = filepath.Join(userHomeDir, ".simapp") } -//go:embed app.yaml -var appConfigYaml []byte - -var AppConfig = appconfig.LoadYAML(appConfigYaml) - // NewSimApp returns a reference to an initialized SimApp. func NewSimApp( logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, invCheckPeriod uint, encodingConfig simappparams.EncodingConfig, diff --git a/simapp/app.yaml b/simapp/app.yaml deleted file mode 100644 index 277b236d006b..000000000000 --- a/simapp/app.yaml +++ /dev/null @@ -1,143 +0,0 @@ -modules: - - name: runtime - config: - "@type": cosmos.app.runtime.v1alpha1.Module - - app_name: SimApp - - # During begin block slashing happens after distr.BeginBlocker so that - # there is nothing left over in the validator fee pool, so as to keep the - # CanWithdrawInvariant invariant. - # NOTE: staking module is required if HistoricalEntries param > 0 - # NOTE: capability module's beginblocker must come before any modules using capabilities (e.g. IBC) - begin_blockers: - [ - upgrade, - capability, - mint, - distribution, - slashing, - evidence, - staking, - auth, - bank, - gov, - crisis, - genutil, - authz, - feegrant, - nft, - group, - params, - vesting, - ] - - end_blockers: - [ - crisis, - gov, - staking, - capability, - auth, - bank, - distribution, - slashing, - mint, - genutil, - evidence, - authz, - feegrant, - nft, - group, - params, - upgrade, - vesting, - ] - - override_store_keys: - - module_name: auth - kv_store_key: acc - - - name: auth - config: - "@type": cosmos.auth.module.v1.Module - bech32_prefix: cosmos - module_account_permissions: - - account: fee_collector - - account: distribution - - account: mint - permissions: [minter] - - account: bonded_tokens_pool - permissions: [burner, staking] - - account: not_bonded_tokens_pool - permissions: [burner, staking] - - account: gov - permissions: [burner] - - account: nft - - - name: params - config: - "@type": cosmos.params.module.v1.Module - - - name: tx - config: - "@type": cosmos.tx.module.v1.Module - - - name: feegrant - config: - "@type": cosmos.feegrant.module.v1.Module - - - name: bank - config: - "@type": cosmos.bank.module.v1.Module - - - name: authz - config: - "@type": cosmos.authz.module.v1.Module - - - name: capability - config: - "@type": cosmos.capability.module.v1.Module - seal_keeper: true - - - name: staking - config: - "@type": cosmos.staking.module.v1.Module - - - name: group - config: - "@type": cosmos.group.v1.module.v1.Module - max_metadata_len: 255 - max_execution_period: "1209600s" - - - name: nft - config: - "@type": cosmos.nft.module.v1.Module - - - name: slashing - config: - "@type": cosmos.slashing.module.v1.Module - - - name: genutil - config: - "@type": cosmos.genutil.module.v1.Module - - - name: mint - config: - "@type": cosmos.mint.module.v1.Module - - - name: evidence - config: - "@type": cosmos.evidence.module.v1.Module - - - name: distribution - config: - "@type": cosmos.distribution.module.v1.Module - - - name: vesting - config: - "@type": cosmos.vesting.module.v1.Module - - - name: upgrade - config: - "@type": cosmos.upgrade.module.v1.Module diff --git a/simapp/app_config.go b/simapp/app_config.go new file mode 100644 index 000000000000..504dd84a5259 --- /dev/null +++ b/simapp/app_config.go @@ -0,0 +1,196 @@ +package simapp + +import ( + "time" + + "google.golang.org/protobuf/types/known/durationpb" + + "cosmossdk.io/core/appconfig" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" + "github.com/cosmos/cosmos-sdk/x/authz" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + evidencetypes "github.com/cosmos/cosmos-sdk/x/evidence/types" + "github.com/cosmos/cosmos-sdk/x/feegrant" + genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + "github.com/cosmos/cosmos-sdk/x/group" + minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + "github.com/cosmos/cosmos-sdk/x/nft" + paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" + slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + + runtimev1alpha1 "cosmossdk.io/api/cosmos/app/runtime/v1alpha1" + appv1alpha1 "cosmossdk.io/api/cosmos/app/v1alpha1" + authmodulev1 "cosmossdk.io/api/cosmos/auth/module/v1" + authzmodulev1 "cosmossdk.io/api/cosmos/authz/module/v1" + bankmodulev1 "cosmossdk.io/api/cosmos/bank/module/v1" + capabilitymodulev1 "cosmossdk.io/api/cosmos/capability/module/v1" + distrmodulev1 "cosmossdk.io/api/cosmos/distribution/module/v1" + evidencemodulev1 "cosmossdk.io/api/cosmos/evidence/module/v1" + feegrantmodulev1 "cosmossdk.io/api/cosmos/feegrant/module/v1" + genutilmodulev1 "cosmossdk.io/api/cosmos/genutil/module/v1" + groupmodulev1 "cosmossdk.io/api/cosmos/group/module/v1" + mintmodulev1 "cosmossdk.io/api/cosmos/mint/module/v1" + nftmodulev1 "cosmossdk.io/api/cosmos/nft/module/v1" + paramsmodulev1 "cosmossdk.io/api/cosmos/params/module/v1" + slashingmodulev1 "cosmossdk.io/api/cosmos/slashing/module/v1" + stakingmodulev1 "cosmossdk.io/api/cosmos/staking/module/v1" + txmodulev1 "cosmossdk.io/api/cosmos/tx/module/v1" + upgrademodulev1 "cosmossdk.io/api/cosmos/upgrade/module/v1" + vestingmodulev1 "cosmossdk.io/api/cosmos/vesting/module/v1" +) + +var AppConfig = appconfig.Compose(&appv1alpha1.Config{ + Modules: []*appv1alpha1.ModuleConfig{ + { + Name: "runtime", + Config: appconfig.WrapAny(&runtimev1alpha1.Module{ + AppName: "SimApp", + // During begin block slashing happens after distr.BeginBlocker so that + // there is nothing left over in the validator fee pool, so as to keep the + // CanWithdrawInvariant invariant. + // NOTE: staking module is required if HistoricalEntries param > 0 + // NOTE: capability module's beginblocker must come before any modules using capabilities (e.g. IBC) + BeginBlockers: []string{ + upgradetypes.ModuleName, + capabilitytypes.ModuleName, + minttypes.ModuleName, + distrtypes.ModuleName, + slashingtypes.ModuleName, + evidencetypes.ModuleName, + stakingtypes.ModuleName, + authtypes.ModuleName, + banktypes.ModuleName, + govtypes.ModuleName, + crisistypes.ModuleName, + genutiltypes.ModuleName, + authz.ModuleName, + feegrant.ModuleName, + nft.ModuleName, + group.ModuleName, + paramstypes.ModuleName, + vestingtypes.ModuleName, + }, + EndBlockers: []string{ + crisistypes.ModuleName, + govtypes.ModuleName, + stakingtypes.ModuleName, + capabilitytypes.ModuleName, + authtypes.ModuleName, + banktypes.ModuleName, + distrtypes.ModuleName, + slashingtypes.ModuleName, + minttypes.ModuleName, + genutiltypes.ModuleName, + evidencetypes.ModuleName, + authz.ModuleName, + feegrant.ModuleName, + nft.ModuleName, + group.ModuleName, + paramstypes.ModuleName, + upgradetypes.ModuleName, + vestingtypes.ModuleName, + }, + OverrideStoreKeys: []*runtimev1alpha1.StoreKeyConfig{ + { + ModuleName: authtypes.ModuleName, + KvStoreKey: "acc", + }, + }, + }), + }, + { + Name: authtypes.ModuleName, + Config: appconfig.WrapAny(&authmodulev1.Module{ + Bech32Prefix: "cosmos", + ModuleAccountPermissions: []*authmodulev1.ModuleAccountPermission{ + {Account: authtypes.FeeCollectorName}, + {Account: distrtypes.ModuleName}, + {Account: minttypes.ModuleName, Permissions: []string{authtypes.Minter}}, + {Account: stakingtypes.BondedPoolName, Permissions: []string{authtypes.Burner, stakingtypes.ModuleName}}, + {Account: stakingtypes.NotBondedPoolName, Permissions: []string{authtypes.Burner, stakingtypes.ModuleName}}, + {Account: govtypes.ModuleName, Permissions: []string{authtypes.Burner}}, + {Account: nft.ModuleName}, + }, + }), + }, + + { + Name: vestingtypes.ModuleName, + Config: appconfig.WrapAny(&vestingmodulev1.Module{}), + }, + { + Name: banktypes.ModuleName, + Config: appconfig.WrapAny(&bankmodulev1.Module{}), + }, + { + Name: stakingtypes.ModuleName, + Config: appconfig.WrapAny(&stakingmodulev1.Module{}), + }, + { + Name: slashingtypes.ModuleName, + Config: appconfig.WrapAny(&slashingmodulev1.Module{}), + }, + { + Name: paramstypes.ModuleName, + Config: appconfig.WrapAny(¶msmodulev1.Module{}), + }, + { + Name: "tx", + Config: appconfig.WrapAny(&txmodulev1.Module{}), + }, + { + Name: genutiltypes.ModuleName, + Config: appconfig.WrapAny(&genutilmodulev1.Module{}), + }, + { + Name: authz.ModuleName, + Config: appconfig.WrapAny(&authzmodulev1.Module{}), + }, + { + Name: upgradetypes.ModuleName, + Config: appconfig.WrapAny(&upgrademodulev1.Module{}), + }, + { + Name: distrtypes.ModuleName, + Config: appconfig.WrapAny(&distrmodulev1.Module{}), + }, + { + Name: capabilitytypes.ModuleName, + Config: appconfig.WrapAny(&capabilitymodulev1.Module{ + SealKeeper: true, + }), + }, + { + Name: evidencetypes.ModuleName, + Config: appconfig.WrapAny(&evidencemodulev1.Module{}), + }, + { + Name: minttypes.ModuleName, + Config: appconfig.WrapAny(&mintmodulev1.Module{}), + }, + { + Name: group.ModuleName, + Config: appconfig.WrapAny(&groupmodulev1.Module{ + MaxExecutionPeriod: durationpb.New(time.Second * 1209600), + MaxMetadataLen: 255, + }), + }, + { + Name: nft.ModuleName, + Config: appconfig.WrapAny(&nftmodulev1.Module{}), + }, + { + Name: feegrant.ModuleName, + Config: appconfig.WrapAny(&feegrantmodulev1.Module{}), + }, + }, +}) + +// Alternatively this configuration can be set as yaml or json: https://github.com/cosmos/cosmos-sdk/blob/91b1d83f1339e235a1dfa929ecc00084101a19e3/simapp/app.yaml diff --git a/x/group/module/module.go b/x/group/module/module.go index 9ee4bc5f0c82..4f234220426c 100644 --- a/x/group/module/module.go +++ b/x/group/module/module.go @@ -11,7 +11,7 @@ import ( "github.com/spf13/cobra" abci "github.com/tendermint/tendermint/abci/types" - modulev1 "cosmossdk.io/api/cosmos/group/v1/module/v1" + modulev1 "cosmossdk.io/api/cosmos/group/module/v1" "github.com/cosmos/cosmos-sdk/baseapp" sdkclient "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" diff --git a/x/group/testutil/app.yaml b/x/group/testutil/app.yaml index c8646d4325e3..ae253b397ba8 100644 --- a/x/group/testutil/app.yaml +++ b/x/group/testutil/app.yaml @@ -40,7 +40,7 @@ modules: - name: group config: - "@type": cosmos.group.v1.module.v1.Module + "@type": cosmos.group.module.v1.Module - name: genutil config: