From 6f3380d40b3dbcaf0d04570b3a5bbf9662cbbbe6 Mon Sep 17 00:00:00 2001 From: Marko Date: Fri, 6 Jan 2023 15:54:01 +0100 Subject: [PATCH] feat: add spec for circuit module (#14481) Co-authored-by: Aaron Craelius Co-authored-by: Julien Robert Co-authored-by: Aleksandr Bezobchuk --- api/cosmos/circuit/v1/tx.pulsar.go | 904 +++++++++--------- proto/cosmos/circuit/v1/tx.proto | 10 +- x/circuit/README.md | 115 +++ .../circuit/v1 => x/circuit/types}/tx.pb.go | 315 +++--- 4 files changed, 730 insertions(+), 614 deletions(-) create mode 100644 x/circuit/README.md rename {cosmos/circuit/v1 => x/circuit/types}/tx.pb.go (93%) diff --git a/api/cosmos/circuit/v1/tx.pulsar.go b/api/cosmos/circuit/v1/tx.pulsar.go index 80130663b3..aea1920702 100644 --- a/api/cosmos/circuit/v1/tx.pulsar.go +++ b/api/cosmos/circuit/v1/tx.pulsar.go @@ -576,6 +576,362 @@ func (x *fastReflection_MsgAuthorizeCircuitBreaker) ProtoMethods() *protoiface.M } } +var ( + md_MsgAuthorizeCircuitBreakerResponse protoreflect.MessageDescriptor +) + +func init() { + file_cosmos_circuit_v1_tx_proto_init() + md_MsgAuthorizeCircuitBreakerResponse = File_cosmos_circuit_v1_tx_proto.Messages().ByName("MsgAuthorizeCircuitBreakerResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgAuthorizeCircuitBreakerResponse)(nil) + +type fastReflection_MsgAuthorizeCircuitBreakerResponse MsgAuthorizeCircuitBreakerResponse + +func (x *MsgAuthorizeCircuitBreakerResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgAuthorizeCircuitBreakerResponse)(x) +} + +func (x *MsgAuthorizeCircuitBreakerResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_circuit_v1_tx_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType{} + +type fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType struct{} + +func (x fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgAuthorizeCircuitBreakerResponse)(nil) +} +func (x fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgAuthorizeCircuitBreakerResponse) +} +func (x fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgAuthorizeCircuitBreakerResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgAuthorizeCircuitBreakerResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) New() protoreflect.Message { + return new(fastReflection_MsgAuthorizeCircuitBreakerResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Interface() protoreflect.ProtoMessage { + return (*MsgAuthorizeCircuitBreakerResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse")) + } + panic(fmt.Errorf("message cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse")) + } + panic(fmt.Errorf("message cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse")) + } + panic(fmt.Errorf("message cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse")) + } + panic(fmt.Errorf("message cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse")) + } + panic(fmt.Errorf("message cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse")) + } + panic(fmt.Errorf("message cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgAuthorizeCircuitBreakerResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgAuthorizeCircuitBreakerResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgAuthorizeCircuitBreakerResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAuthorizeCircuitBreakerResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAuthorizeCircuitBreakerResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + var _ protoreflect.List = (*_CircuitBreakerPermissions_2_list)(nil) type _CircuitBreakerPermissions_2_list struct { @@ -644,7 +1000,7 @@ func (x *CircuitBreakerPermissions) ProtoReflect() protoreflect.Message { } func (x *CircuitBreakerPermissions) slowProtoReflect() protoreflect.Message { - mi := &file_cosmos_circuit_v1_tx_proto_msgTypes[1] + mi := &file_cosmos_circuit_v1_tx_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1104,362 +1460,6 @@ func (x *fastReflection_CircuitBreakerPermissions) ProtoMethods() *protoiface.Me } } -var ( - md_MsgAuthorizeCircuitBreakerResponse protoreflect.MessageDescriptor -) - -func init() { - file_cosmos_circuit_v1_tx_proto_init() - md_MsgAuthorizeCircuitBreakerResponse = File_cosmos_circuit_v1_tx_proto.Messages().ByName("MsgAuthorizeCircuitBreakerResponse") -} - -var _ protoreflect.Message = (*fastReflection_MsgAuthorizeCircuitBreakerResponse)(nil) - -type fastReflection_MsgAuthorizeCircuitBreakerResponse MsgAuthorizeCircuitBreakerResponse - -func (x *MsgAuthorizeCircuitBreakerResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgAuthorizeCircuitBreakerResponse)(x) -} - -func (x *MsgAuthorizeCircuitBreakerResponse) slowProtoReflect() protoreflect.Message { - mi := &file_cosmos_circuit_v1_tx_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType{} - -type fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType struct{} - -func (x fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgAuthorizeCircuitBreakerResponse)(nil) -} -func (x fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgAuthorizeCircuitBreakerResponse) -} -func (x fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAuthorizeCircuitBreakerResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAuthorizeCircuitBreakerResponse -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgAuthorizeCircuitBreakerResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) New() protoreflect.Message { - return new(fastReflection_MsgAuthorizeCircuitBreakerResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Interface() protoreflect.ProtoMessage { - return (*MsgAuthorizeCircuitBreakerResponse)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse")) - } - panic(fmt.Errorf("message cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse")) - } - panic(fmt.Errorf("message cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse")) - } - panic(fmt.Errorf("message cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse")) - } - panic(fmt.Errorf("message cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse")) - } - panic(fmt.Errorf("message cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse")) - } - panic(fmt.Errorf("message cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_MsgAuthorizeCircuitBreakerResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgAuthorizeCircuitBreakerResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgAuthorizeCircuitBreakerResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgAuthorizeCircuitBreakerResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAuthorizeCircuitBreakerResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAuthorizeCircuitBreakerResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - var _ protoreflect.List = (*_MsgTripCircuitBreaker_2_list)(nil) type _MsgTripCircuitBreaker_2_list struct { @@ -3333,7 +3333,7 @@ func (x CircuitBreakerPermissions_Level) Number() protoreflect.EnumNumber { // Deprecated: Use CircuitBreakerPermissions_Level.Descriptor instead. func (CircuitBreakerPermissions_Level) EnumDescriptor() ([]byte, []int) { - return file_cosmos_circuit_v1_tx_proto_rawDescGZIP(), []int{1, 0} + return file_cosmos_circuit_v1_tx_proto_rawDescGZIP(), []int{2, 0} } // MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type. @@ -3394,6 +3394,33 @@ func (x *MsgAuthorizeCircuitBreaker) GetPermissions() *CircuitBreakerPermissions return nil } +// MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker response type. +type MsgAuthorizeCircuitBreakerResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgAuthorizeCircuitBreakerResponse) Reset() { + *x = MsgAuthorizeCircuitBreakerResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_circuit_v1_tx_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgAuthorizeCircuitBreakerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgAuthorizeCircuitBreakerResponse) ProtoMessage() {} + +// Deprecated: Use MsgAuthorizeCircuitBreakerResponse.ProtoReflect.Descriptor instead. +func (*MsgAuthorizeCircuitBreakerResponse) Descriptor() ([]byte, []int) { + return file_cosmos_circuit_v1_tx_proto_rawDescGZIP(), []int{1} +} + // CircuitBreakerPermissions are the permissions that an account has to trip // or reset the circuit breaker. type CircuitBreakerPermissions struct { @@ -3412,7 +3439,7 @@ type CircuitBreakerPermissions struct { func (x *CircuitBreakerPermissions) Reset() { *x = CircuitBreakerPermissions{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_circuit_v1_tx_proto_msgTypes[1] + mi := &file_cosmos_circuit_v1_tx_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3426,7 +3453,7 @@ func (*CircuitBreakerPermissions) ProtoMessage() {} // Deprecated: Use CircuitBreakerPermissions.ProtoReflect.Descriptor instead. func (*CircuitBreakerPermissions) Descriptor() ([]byte, []int) { - return file_cosmos_circuit_v1_tx_proto_rawDescGZIP(), []int{1} + return file_cosmos_circuit_v1_tx_proto_rawDescGZIP(), []int{2} } func (x *CircuitBreakerPermissions) GetLevel() CircuitBreakerPermissions_Level { @@ -3443,33 +3470,6 @@ func (x *CircuitBreakerPermissions) GetLimitTypeUrls() []string { return nil } -// MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker response type. -type MsgAuthorizeCircuitBreakerResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *MsgAuthorizeCircuitBreakerResponse) Reset() { - *x = MsgAuthorizeCircuitBreakerResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cosmos_circuit_v1_tx_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgAuthorizeCircuitBreakerResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgAuthorizeCircuitBreakerResponse) ProtoMessage() {} - -// Deprecated: Use MsgAuthorizeCircuitBreakerResponse.ProtoReflect.Descriptor instead. -func (*MsgAuthorizeCircuitBreakerResponse) Descriptor() ([]byte, []int) { - return file_cosmos_circuit_v1_tx_proto_rawDescGZIP(), []int{2} -} - // MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type. type MsgTripCircuitBreaker struct { state protoimpl.MessageState @@ -3640,25 +3640,25 @@ var file_cosmos_circuit_v1_tx_proto_rawDesc = []byte{ 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, - 0x2a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x22, 0xf2, 0x01, 0x0a, 0x19, 0x43, 0x69, - 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x48, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, - 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, - 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, - 0x75, 0x72, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x22, 0x63, 0x0a, 0x05, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, - 0x0a, 0x0f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x53, 0x4f, 0x4d, 0x45, 0x5f, 0x4d, 0x53, 0x47, - 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, - 0x5f, 0x4d, 0x53, 0x47, 0x53, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x56, 0x45, 0x4c, - 0x5f, 0x53, 0x55, 0x50, 0x45, 0x52, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x03, 0x22, 0x24, - 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x43, 0x69, - 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x69, 0x70, 0x43, + 0x2a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, + 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xf2, 0x01, 0x0a, 0x19, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, + 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x48, 0x0a, + 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x22, + 0x63, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x45, 0x56, 0x45, + 0x4c, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x53, 0x4f, + 0x4d, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x45, 0x56, + 0x45, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x53, 0x47, 0x53, 0x10, 0x02, 0x12, 0x15, 0x0a, + 0x11, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x53, 0x55, 0x50, 0x45, 0x52, 0x5f, 0x41, 0x44, 0x4d, + 0x49, 0x4e, 0x10, 0x03, 0x22, 0x69, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x69, 0x70, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x6d, @@ -3667,51 +3667,51 @@ var file_cosmos_circuit_v1_tx_proto_rawDesc = []byte{ 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x69, 0x70, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x67, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x69, 0x72, 0x63, + 0x22, 0x6a, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0b, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x3a, 0x0b, 0x82, 0xe7, - 0xb0, 0x2a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, - 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, - 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xf4, 0x02, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x12, 0x7f, 0x0a, 0x17, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, - 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x2d, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x43, - 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x1a, 0x35, 0x2e, + 0x0b, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x3a, 0x0e, 0x82, 0xe7, + 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x20, 0x0a, 0x1e, + 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, + 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xf4, + 0x02, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x7f, 0x0a, 0x17, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, + 0x72, 0x12, 0x2d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x63, 0x75, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, + 0x1a, 0x35, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x65, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x12, 0x54, 0x72, 0x69, 0x70, 0x43, + 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x43, 0x69, - 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x12, 0x54, 0x72, 0x69, 0x70, 0x43, 0x69, 0x72, 0x63, - 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x54, 0x72, 0x69, 0x70, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, - 0x61, 0x6b, 0x65, 0x72, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x69, - 0x72, 0x63, 0x75, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x69, 0x70, - 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, - 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x29, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, - 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, - 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, - 0x2a, 0x01, 0x42, 0xb4, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2c, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, - 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x69, 0x72, 0x63, - 0x75, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x11, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, - 0x02, 0x11, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1d, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43, 0x69, 0x72, - 0x63, 0x75, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x43, 0x69, - 0x72, 0x63, 0x75, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x69, 0x70, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, + 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x54, + 0x72, 0x69, 0x70, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x13, 0x52, 0x65, 0x73, + 0x65, 0x74, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, + 0x12, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x69, 0x72, + 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x1a, 0x31, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, + 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, + 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xb4, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, + 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2c, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x63, + 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, + 0x11, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x2e, + 0x56, 0x31, 0xca, 0x02, 0x11, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43, 0x69, 0x72, 0x63, + 0x75, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1d, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, + 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, + 0x3a, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3731,20 +3731,20 @@ var file_cosmos_circuit_v1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_cosmos_circuit_v1_tx_proto_goTypes = []interface{}{ (CircuitBreakerPermissions_Level)(0), // 0: cosmos.circuit.v1.CircuitBreakerPermissions.Level (*MsgAuthorizeCircuitBreaker)(nil), // 1: cosmos.circuit.v1.MsgAuthorizeCircuitBreaker - (*CircuitBreakerPermissions)(nil), // 2: cosmos.circuit.v1.CircuitBreakerPermissions - (*MsgAuthorizeCircuitBreakerResponse)(nil), // 3: cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse + (*MsgAuthorizeCircuitBreakerResponse)(nil), // 2: cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse + (*CircuitBreakerPermissions)(nil), // 3: cosmos.circuit.v1.CircuitBreakerPermissions (*MsgTripCircuitBreaker)(nil), // 4: cosmos.circuit.v1.MsgTripCircuitBreaker (*MsgTripCircuitBreakerResponse)(nil), // 5: cosmos.circuit.v1.MsgTripCircuitBreakerResponse (*MsgResetCircuitBreaker)(nil), // 6: cosmos.circuit.v1.MsgResetCircuitBreaker (*MsgResetCircuitBreakerResponse)(nil), // 7: cosmos.circuit.v1.MsgResetCircuitBreakerResponse } var file_cosmos_circuit_v1_tx_proto_depIdxs = []int32{ - 2, // 0: cosmos.circuit.v1.MsgAuthorizeCircuitBreaker.permissions:type_name -> cosmos.circuit.v1.CircuitBreakerPermissions + 3, // 0: cosmos.circuit.v1.MsgAuthorizeCircuitBreaker.permissions:type_name -> cosmos.circuit.v1.CircuitBreakerPermissions 0, // 1: cosmos.circuit.v1.CircuitBreakerPermissions.level:type_name -> cosmos.circuit.v1.CircuitBreakerPermissions.Level 1, // 2: cosmos.circuit.v1.Msg.AuthorizeCircuitBreaker:input_type -> cosmos.circuit.v1.MsgAuthorizeCircuitBreaker 4, // 3: cosmos.circuit.v1.Msg.TripCircuitBreaker:input_type -> cosmos.circuit.v1.MsgTripCircuitBreaker 6, // 4: cosmos.circuit.v1.Msg.ResetCircuitBreaker:input_type -> cosmos.circuit.v1.MsgResetCircuitBreaker - 3, // 5: cosmos.circuit.v1.Msg.AuthorizeCircuitBreaker:output_type -> cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse + 2, // 5: cosmos.circuit.v1.Msg.AuthorizeCircuitBreaker:output_type -> cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse 5, // 6: cosmos.circuit.v1.Msg.TripCircuitBreaker:output_type -> cosmos.circuit.v1.MsgTripCircuitBreakerResponse 7, // 7: cosmos.circuit.v1.Msg.ResetCircuitBreaker:output_type -> cosmos.circuit.v1.MsgResetCircuitBreakerResponse 5, // [5:8] is the sub-list for method output_type @@ -3773,7 +3773,7 @@ func file_cosmos_circuit_v1_tx_proto_init() { } } file_cosmos_circuit_v1_tx_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CircuitBreakerPermissions); i { + switch v := v.(*MsgAuthorizeCircuitBreakerResponse); i { case 0: return &v.state case 1: @@ -3785,7 +3785,7 @@ func file_cosmos_circuit_v1_tx_proto_init() { } } file_cosmos_circuit_v1_tx_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAuthorizeCircuitBreakerResponse); i { + switch v := v.(*CircuitBreakerPermissions); i { case 0: return &v.state case 1: diff --git a/proto/cosmos/circuit/v1/tx.proto b/proto/cosmos/circuit/v1/tx.proto index 55370abee9..0fcd410977 100644 --- a/proto/cosmos/circuit/v1/tx.proto +++ b/proto/cosmos/circuit/v1/tx.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package cosmos.circuit.v1; -// option go_package = "github.com/cosmos/cosmos-sdk/x/circuit/types"; // uncomment when module is created +option go_package = "github.com/cosmos/cosmos-sdk/x/circuit/types"; import "cosmos/msg/v1/msg.proto"; @@ -38,6 +38,9 @@ message MsgAuthorizeCircuitBreaker { CircuitBreakerPermissions permissions = 3; } +// MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker response type. +message MsgAuthorizeCircuitBreakerResponse {} + // CircuitBreakerPermissions are the permissions that an account has to trip // or reset the circuit breaker. message CircuitBreakerPermissions { @@ -71,9 +74,6 @@ message CircuitBreakerPermissions { } } -// MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker response type. -message MsgAuthorizeCircuitBreakerResponse {} - // MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type. message MsgTripCircuitBreaker { option (cosmos.msg.v1.signer) = "authority"; @@ -94,7 +94,7 @@ message MsgTripCircuitBreakerResponse {} // MsgResetCircuitBreaker defines the Msg/ResetCircuitBreaker request type. message MsgResetCircuitBreaker { - option (cosmos.msg.v1.signer) = "signer"; + option (cosmos.msg.v1.signer) = "authority"; // authority is the account authorized to trip or reset the circuit breaker. string authority = 1; diff --git a/x/circuit/README.md b/x/circuit/README.md new file mode 100644 index 0000000000..d33bc6d7a5 --- /dev/null +++ b/x/circuit/README.md @@ -0,0 +1,115 @@ +# Circuit Breaker - block specific functionality in the state machine + + +## Concepts + +Circuit Breaker is a module that is meant to avoid a chain needing to halt/shut down in the presence of a vulnerability, instead the module will allow specific messages or all messages to be disabled. When operating a chain, if it is app specific then a halt of the chain is less detrimental, but if there are applications built on top of the chain then halting is expensive due to the disturbance to applications. + +Circuit Breaker works with the idea that an address or set of addresses have the right to block messages from being executed and/or included in the mempool. Any address with a permission is able to reset the circuit breaker for the message. + +## State + +### Accounts + +* AccountPermissions `0x1 | account_address -> ProtocolBuffer(CircuitBreakerPermissions)` + +```go +type level int32 + +const ( + // LEVEL_NONE_UNSPECIFIED indicates that the account will have no circuit + // breaker permissions. + LEVEL_NONE_UNSPECIFIED = iota + // LEVEL_SOME_MSGS indicates that the account will have permission to + // trip or reset the circuit breaker for some Msg type URLs. If this level + // is chosen, a non-empty list of Msg type URLs must be provided in + // limit_type_urls. + LEVEL_SOME_MSGS + // LEVEL_ALL_MSGS indicates that the account can trip or reset the circuit + // breaker for Msg's of all type URLs. + LEVEL_ALL_MSGS + // LEVEL_SUPER_ADMIN indicates that the account can take all circuit breaker + // actions and can grant permissions to other accounts. + LEVEL_SUPER_ADMIN +) + +type Access struct { + level int32 + msgs []string // if full permission, msgs can be empty +} +``` + + +### Disable List + +List of type urls that are disabled. + +* DisableList `0x2 | msg_type_url -> []byte{}` + +## State Transitions + +### Authorize + +Authorize, is called by the module authority (default governance module account) or any account with `LEVEL_SUPER_ADMIN` to give permission to disable/enable messages to another account. There are three levels of permissions that can be granted. `LEVEL_SOME_MSGS` limits the number of messages that can be disabled. `LEVEL_ALL_MSGS` permits all messages to be disabled. `LEVEL_SUPER_ADMIN` allows an account to take all circuit breaker actions including authorizing and deauthorizing other accounts. + +```protobuf + // AuthorizeCircuitBreaker allows a super-admin to grant (or revoke) another + // account's circuit breaker permissions. + rpc AuthorizeCircuitBreaker(MsgAuthorizeCircuitBreaker) returns (MsgAuthorizeCircuitBreakerResponse); +``` + +### Trip + +Trip, is called by an account to disable message execution for a specific msgURL. + +```protobuf + // TripCircuitBreaker pauses processing of Msg's in the state machine. + rpc TripCircuitBreaker(MsgTripCircuitBreaker) returns (MsgTripCircuitBreakerResponse); +``` + +### Reset + +Reset is called to enable execution of a previously disabled message. + +```protobuf + // ResetCircuitBreaker resumes processing of Msg's in the state machine that + // have been been paused using TripCircuitBreaker. + rpc ResetCircuitBreaker(MsgResetCircuitBreaker) returns (MsgResetCircuitBreakerResponse); +``` + +## Messages + +### MsgAuthorizeCircuitBreaker + +```protobuf reference +https://github.com/cosmos/cosmos-sdk/blob/main/proto/cosmos/circuit/v1/tx.proto#L25-L75 +``` +This message is expected to fail if: + +* the granter is not an account with permission level `LEVEL_SUPER_ADMIN` or the module authority +* if the type urls does not exist + +### MsgTripCircuitBreaker + +```protobuf reference +https://github.com/cosmos/cosmos-sdk/blob/main/proto/cosmos/circuit/v1/tx.proto#L77-L93 +``` + +This message is expected to fail if: + +* if the signer does not have a permission level with the ability to disable the specified type url message +* if the type urls does not exist + +### MsgResetCircuitBreaker + +```protobuf reference +https://github.com/cosmos/cosmos-sdk/blob/main/proto/cosmos/circuit/v1/tx.proto#L95-109 +``` + +This message is expected to fail if: + +* if the type urls does not exist +* if the type url is not disabled + +* `## Events` - list and describe event tags used +* `## Client` - list and describe CLI commands and gRPC and REST endpoints diff --git a/cosmos/circuit/v1/tx.pb.go b/x/circuit/types/tx.pb.go similarity index 93% rename from cosmos/circuit/v1/tx.pb.go rename to x/circuit/types/tx.pb.go index 52208b065f..e390de1549 100644 --- a/cosmos/circuit/v1/tx.pb.go +++ b/x/circuit/types/tx.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: cosmos/circuit/v1/tx.proto -package cosmos_circuit_v1 +package types import ( context "context" @@ -67,7 +67,7 @@ func (x CircuitBreakerPermissions_Level) String() string { } func (CircuitBreakerPermissions_Level) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_a02145e57a6fbb1d, []int{1, 0} + return fileDescriptor_a02145e57a6fbb1d, []int{2, 0} } // MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker request type. @@ -137,6 +137,43 @@ func (m *MsgAuthorizeCircuitBreaker) GetPermissions() *CircuitBreakerPermissions return nil } +// MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker response type. +type MsgAuthorizeCircuitBreakerResponse struct { +} + +func (m *MsgAuthorizeCircuitBreakerResponse) Reset() { *m = MsgAuthorizeCircuitBreakerResponse{} } +func (m *MsgAuthorizeCircuitBreakerResponse) String() string { return proto.CompactTextString(m) } +func (*MsgAuthorizeCircuitBreakerResponse) ProtoMessage() {} +func (*MsgAuthorizeCircuitBreakerResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_a02145e57a6fbb1d, []int{1} +} +func (m *MsgAuthorizeCircuitBreakerResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgAuthorizeCircuitBreakerResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgAuthorizeCircuitBreakerResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgAuthorizeCircuitBreakerResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAuthorizeCircuitBreakerResponse.Merge(m, src) +} +func (m *MsgAuthorizeCircuitBreakerResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgAuthorizeCircuitBreakerResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAuthorizeCircuitBreakerResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgAuthorizeCircuitBreakerResponse proto.InternalMessageInfo + // CircuitBreakerPermissions are the permissions that an account has to trip // or reset the circuit breaker. type CircuitBreakerPermissions struct { @@ -152,7 +189,7 @@ func (m *CircuitBreakerPermissions) Reset() { *m = CircuitBreakerPermiss func (m *CircuitBreakerPermissions) String() string { return proto.CompactTextString(m) } func (*CircuitBreakerPermissions) ProtoMessage() {} func (*CircuitBreakerPermissions) Descriptor() ([]byte, []int) { - return fileDescriptor_a02145e57a6fbb1d, []int{1} + return fileDescriptor_a02145e57a6fbb1d, []int{2} } func (m *CircuitBreakerPermissions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -195,43 +232,6 @@ func (m *CircuitBreakerPermissions) GetLimitTypeUrls() []string { return nil } -// MsgAuthorizeCircuitBreaker defines the Msg/AuthorizeCircuitBreaker response type. -type MsgAuthorizeCircuitBreakerResponse struct { -} - -func (m *MsgAuthorizeCircuitBreakerResponse) Reset() { *m = MsgAuthorizeCircuitBreakerResponse{} } -func (m *MsgAuthorizeCircuitBreakerResponse) String() string { return proto.CompactTextString(m) } -func (*MsgAuthorizeCircuitBreakerResponse) ProtoMessage() {} -func (*MsgAuthorizeCircuitBreakerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_a02145e57a6fbb1d, []int{2} -} -func (m *MsgAuthorizeCircuitBreakerResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgAuthorizeCircuitBreakerResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgAuthorizeCircuitBreakerResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgAuthorizeCircuitBreakerResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAuthorizeCircuitBreakerResponse.Merge(m, src) -} -func (m *MsgAuthorizeCircuitBreakerResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgAuthorizeCircuitBreakerResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAuthorizeCircuitBreakerResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgAuthorizeCircuitBreakerResponse proto.InternalMessageInfo - // MsgTripCircuitBreaker defines the Msg/TripCircuitBreaker request type. type MsgTripCircuitBreaker struct { // authority is the account authorized to trip the circuit breaker. @@ -425,8 +425,8 @@ var xxx_messageInfo_MsgResetCircuitBreakerResponse proto.InternalMessageInfo func init() { proto.RegisterEnum("cosmos.circuit.v1.CircuitBreakerPermissions_Level", CircuitBreakerPermissions_Level_name, CircuitBreakerPermissions_Level_value) proto.RegisterType((*MsgAuthorizeCircuitBreaker)(nil), "cosmos.circuit.v1.MsgAuthorizeCircuitBreaker") - proto.RegisterType((*CircuitBreakerPermissions)(nil), "cosmos.circuit.v1.CircuitBreakerPermissions") proto.RegisterType((*MsgAuthorizeCircuitBreakerResponse)(nil), "cosmos.circuit.v1.MsgAuthorizeCircuitBreakerResponse") + proto.RegisterType((*CircuitBreakerPermissions)(nil), "cosmos.circuit.v1.CircuitBreakerPermissions") proto.RegisterType((*MsgTripCircuitBreaker)(nil), "cosmos.circuit.v1.MsgTripCircuitBreaker") proto.RegisterType((*MsgTripCircuitBreakerResponse)(nil), "cosmos.circuit.v1.MsgTripCircuitBreakerResponse") proto.RegisterType((*MsgResetCircuitBreaker)(nil), "cosmos.circuit.v1.MsgResetCircuitBreaker") @@ -436,40 +436,41 @@ func init() { func init() { proto.RegisterFile("cosmos/circuit/v1/tx.proto", fileDescriptor_a02145e57a6fbb1d) } var fileDescriptor_a02145e57a6fbb1d = []byte{ - // 520 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xc1, 0x6e, 0x12, 0x5d, - 0x18, 0xe5, 0x42, 0xe8, 0x1f, 0x3e, 0xfe, 0x52, 0x7a, 0x9b, 0xb6, 0xe3, 0x44, 0x47, 0x32, 0x31, - 0x06, 0x1b, 0x1d, 0x04, 0xe3, 0xa6, 0x3b, 0xda, 0x8e, 0x4a, 0xc2, 0x50, 0x32, 0x14, 0xb7, 0x13, - 0x24, 0x37, 0xd7, 0x1b, 0x67, 0x98, 0xc9, 0xfd, 0x06, 0x22, 0x6e, 0x34, 0x3e, 0x81, 0x4f, 0x62, - 0xfa, 0x18, 0x2e, 0xbb, 0x74, 0x69, 0x60, 0xd1, 0xbd, 0xf1, 0x01, 0x0c, 0x0c, 0x53, 0xaa, 0x0c, - 0x49, 0x1b, 0x97, 0xf3, 0x9d, 0x73, 0xbe, 0x73, 0xee, 0x9c, 0x9b, 0x0b, 0x6a, 0xdf, 0x47, 0xcf, - 0xc7, 0x4a, 0x5f, 0xc8, 0xfe, 0x50, 0x84, 0x95, 0x51, 0xb5, 0x12, 0xbe, 0x37, 0x02, 0xe9, 0x87, - 0x3e, 0xdd, 0x8e, 0x30, 0x63, 0x81, 0x19, 0xa3, 0xaa, 0xba, 0xbf, 0xa0, 0x7b, 0xc8, 0x67, 0x54, - 0x0f, 0x79, 0xc4, 0xd5, 0xbf, 0x12, 0x50, 0x2d, 0xe4, 0xf5, 0x61, 0xf8, 0xd6, 0x97, 0xe2, 0x03, - 0x3b, 0x8e, 0x34, 0x47, 0x92, 0xf5, 0xde, 0x31, 0x49, 0x15, 0xf8, 0x8f, 0xcb, 0xde, 0x20, 0x64, - 0x52, 0x21, 0x25, 0x52, 0xce, 0xd9, 0xf1, 0xe7, 0x12, 0x61, 0x4a, 0xfa, 0x3a, 0xc2, 0x68, 0x0b, - 0xf2, 0x01, 0x93, 0x9e, 0x40, 0x14, 0xfe, 0x00, 0x95, 0x4c, 0x89, 0x94, 0xf3, 0xb5, 0xc7, 0xc6, - 0x4a, 0x28, 0xe3, 0x4f, 0xaf, 0xf6, 0x52, 0x63, 0x5f, 0x5f, 0x70, 0xf8, 0xff, 0xe7, 0xcb, 0xf3, - 0x83, 0xd8, 0x57, 0xff, 0x49, 0xe0, 0xce, 0x5a, 0x21, 0x7d, 0x05, 0x59, 0x97, 0x8d, 0x98, 0x3b, - 0x4f, 0x5b, 0xa8, 0xd5, 0x6e, 0xe3, 0x6a, 0x34, 0x67, 0x4a, 0x3b, 0x5a, 0x40, 0x1f, 0xc2, 0x96, - 0x2b, 0x3c, 0x11, 0x3a, 0xe1, 0x38, 0x60, 0xce, 0x50, 0xba, 0xa8, 0xa4, 0x4b, 0x99, 0x72, 0xce, - 0xde, 0x9c, 0x8f, 0xcf, 0xc6, 0x01, 0xeb, 0x4a, 0x17, 0xf5, 0x3e, 0x64, 0xe7, 0x3a, 0xaa, 0xc2, - 0x5e, 0xd3, 0x7c, 0x6d, 0x36, 0x9d, 0xd6, 0x69, 0xcb, 0x74, 0xba, 0xad, 0x4e, 0xdb, 0x3c, 0x6e, - 0xbc, 0x68, 0x98, 0x27, 0xc5, 0x14, 0xdd, 0x81, 0xad, 0x08, 0xeb, 0x9c, 0x5a, 0xa6, 0x63, 0x75, - 0x5e, 0x76, 0x8a, 0x84, 0x52, 0x28, 0x44, 0xc3, 0x7a, 0xb3, 0x19, 0xcd, 0xd2, 0x74, 0x17, 0xb6, - 0x17, 0xc4, 0x6e, 0xdb, 0xb4, 0x9d, 0xfa, 0x89, 0xd5, 0x68, 0x15, 0x33, 0xfa, 0x03, 0xd0, 0xd7, - 0x97, 0x64, 0x33, 0x0c, 0xfc, 0x01, 0x32, 0x5d, 0xc0, 0xae, 0x85, 0xfc, 0x4c, 0x8a, 0xe0, 0xaf, - 0x16, 0xef, 0x42, 0xae, 0x17, 0x69, 0xc3, 0xf1, 0xa2, 0xc7, 0xe5, 0x80, 0xea, 0xb0, 0xe9, 0x21, - 0x5f, 0x39, 0x67, 0xde, 0x43, 0x1e, 0x9f, 0xf2, 0xb0, 0x30, 0xeb, 0x60, 0xa9, 0xd1, 0xef, 0xc3, - 0xbd, 0x44, 0xab, 0xab, 0x2c, 0x1c, 0xf6, 0x2c, 0xe4, 0x36, 0x43, 0x16, 0xfe, 0x5b, 0x98, 0xcc, - 0x6a, 0x98, 0xfc, 0x2c, 0xcc, 0x06, 0x0a, 0x3e, 0x60, 0x52, 0x2f, 0x81, 0x96, 0x6c, 0x14, 0x47, - 0xa9, 0xfd, 0x4a, 0x43, 0xc6, 0x42, 0x4e, 0x3f, 0xc2, 0xfe, 0xba, 0x6b, 0xfe, 0x24, 0xe1, 0x9e, - 0xac, 0xff, 0xe1, 0xea, 0xf3, 0x5b, 0xd1, 0xe3, 0x20, 0x34, 0x00, 0x9a, 0x50, 0x4e, 0x39, 0x79, - 0xd9, 0x2a, 0x53, 0x7d, 0x7a, 0x53, 0xe6, 0x95, 0x23, 0xc2, 0x4e, 0x52, 0x05, 0x8f, 0x92, 0x17, - 0x25, 0x50, 0xd5, 0xea, 0x8d, 0xa9, 0xb1, 0xa9, 0x9a, 0xfd, 0x74, 0x79, 0x7e, 0x40, 0x8e, 0x94, - 0x6f, 0x13, 0x8d, 0x5c, 0x4c, 0x34, 0xf2, 0x63, 0xa2, 0x91, 0x2f, 0x53, 0x2d, 0x75, 0x31, 0xd5, - 0x52, 0xdf, 0xa7, 0x5a, 0xea, 0xcd, 0xc6, 0xfc, 0xe9, 0x79, 0xf6, 0x3b, 0x00, 0x00, 0xff, 0xff, - 0xf5, 0x51, 0xc0, 0x25, 0xc4, 0x04, 0x00, 0x00, + // 543 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x41, 0x6f, 0x12, 0x5d, + 0x14, 0x65, 0x20, 0x7c, 0x5f, 0xb8, 0x58, 0x4a, 0x5f, 0xd3, 0x16, 0x27, 0x3a, 0x92, 0x89, 0x31, + 0xd8, 0xb4, 0x83, 0x60, 0xdc, 0x74, 0x47, 0xdb, 0xa9, 0x92, 0x30, 0x94, 0x0c, 0xc5, 0x85, 0x9b, + 0x09, 0xc5, 0x97, 0xe9, 0xb3, 0x0c, 0x33, 0x79, 0xf7, 0x41, 0x8a, 0x1b, 0x8d, 0xbf, 0xc0, 0x5f, + 0x62, 0xfa, 0x33, 0x5c, 0x76, 0xe9, 0xd2, 0xc0, 0xa2, 0x7b, 0xe3, 0x0f, 0x30, 0xcc, 0x30, 0x50, + 0x65, 0x88, 0x6d, 0x5c, 0x11, 0xee, 0x3d, 0xf7, 0x9c, 0xf3, 0xe6, 0xdc, 0x5c, 0x90, 0x3b, 0x2e, + 0x3a, 0x2e, 0x16, 0x3b, 0x8c, 0x77, 0xfa, 0x4c, 0x14, 0x07, 0xa5, 0xa2, 0xb8, 0xd0, 0x3c, 0xee, + 0x0a, 0x97, 0xac, 0x05, 0x3d, 0x6d, 0xda, 0xd3, 0x06, 0x25, 0x79, 0x6b, 0x0a, 0x77, 0xd0, 0x9e, + 0x40, 0x1d, 0xb4, 0x03, 0xac, 0xfa, 0x45, 0x02, 0xd9, 0x40, 0xbb, 0xd2, 0x17, 0x67, 0x2e, 0x67, + 0xef, 0xe9, 0x41, 0x30, 0xb3, 0xcf, 0x69, 0xfb, 0x9c, 0x72, 0x92, 0x83, 0xff, 0x6d, 0xde, 0xee, + 0x09, 0xca, 0x73, 0x52, 0x5e, 0x2a, 0xa4, 0xcc, 0xf0, 0xef, 0xbc, 0x43, 0x73, 0xf1, 0x9b, 0x1d, + 0x4a, 0xea, 0x90, 0xf6, 0x28, 0x77, 0x18, 0x22, 0x73, 0x7b, 0x98, 0x4b, 0xe4, 0xa5, 0x42, 0xba, + 0xbc, 0xa3, 0x2d, 0x98, 0xd2, 0x7e, 0xd7, 0x6a, 0xcc, 0x67, 0xcc, 0x9b, 0x04, 0x7b, 0xf7, 0x3e, + 0x5d, 0x5f, 0x6e, 0x87, 0xba, 0xea, 0x63, 0x50, 0x97, 0xfb, 0x35, 0x29, 0x7a, 0x6e, 0x0f, 0xa9, + 0xfa, 0x43, 0x82, 0xfb, 0x4b, 0xe9, 0xc9, 0x2b, 0x48, 0x76, 0xe9, 0x80, 0x76, 0xfd, 0x37, 0x65, + 0xca, 0xe5, 0xbb, 0x78, 0xd3, 0x6a, 0x93, 0x49, 0x33, 0x20, 0x20, 0x4f, 0x60, 0xb5, 0xcb, 0x1c, + 0x26, 0x2c, 0x31, 0xf4, 0xa8, 0xd5, 0xe7, 0x5d, 0xcc, 0xc5, 0xf3, 0x89, 0x42, 0xca, 0x5c, 0xf1, + 0xcb, 0x27, 0x43, 0x8f, 0xb6, 0x78, 0x17, 0xd5, 0x0e, 0x24, 0xfd, 0x39, 0x22, 0xc3, 0x66, 0x4d, + 0x7f, 0xad, 0xd7, 0xac, 0xfa, 0x71, 0x5d, 0xb7, 0x5a, 0xf5, 0x66, 0x43, 0x3f, 0xa8, 0x1e, 0x55, + 0xf5, 0xc3, 0x6c, 0x8c, 0xac, 0xc3, 0x6a, 0xd0, 0x6b, 0x1e, 0x1b, 0xba, 0x65, 0x34, 0x5f, 0x36, + 0xb3, 0x12, 0x21, 0x90, 0x09, 0x8a, 0x95, 0x5a, 0x2d, 0xa8, 0xc5, 0xc9, 0x06, 0xac, 0x4d, 0x81, + 0xad, 0x86, 0x6e, 0x5a, 0x95, 0x43, 0xa3, 0x5a, 0xcf, 0x26, 0x54, 0x06, 0x1b, 0x06, 0xda, 0x27, + 0x9c, 0x79, 0x7f, 0xa4, 0xf8, 0x00, 0x52, 0xed, 0xe0, 0x83, 0x89, 0xe1, 0x34, 0xc7, 0x79, 0x81, + 0xa8, 0xb0, 0xe2, 0xa0, 0xbd, 0xf0, 0x82, 0xb4, 0x83, 0x76, 0xe8, 0x7f, 0x2f, 0x33, 0xc9, 0x60, + 0x3e, 0xa3, 0x3e, 0x82, 0x87, 0x91, 0x52, 0xb3, 0x00, 0xde, 0xc1, 0xa6, 0x81, 0xb6, 0x49, 0x91, + 0x8a, 0x7f, 0x33, 0x93, 0xf8, 0xbb, 0x99, 0x3c, 0x28, 0xd1, 0x5a, 0xa1, 0x9b, 0xf2, 0xcf, 0x38, + 0x24, 0x0c, 0xb4, 0xc9, 0x07, 0xd8, 0x5a, 0xb6, 0xe9, 0xbb, 0x11, 0x4b, 0xb0, 0x7c, 0xd1, 0xe4, + 0x17, 0x77, 0x82, 0x87, 0x46, 0x88, 0x07, 0x24, 0x22, 0x9f, 0x42, 0x34, 0xd9, 0x22, 0x52, 0x7e, + 0x76, 0x5b, 0xe4, 0x4c, 0x11, 0x61, 0x3d, 0x2a, 0x85, 0xa7, 0xd1, 0x44, 0x11, 0x50, 0xb9, 0x74, + 0x6b, 0x68, 0x28, 0x2a, 0x27, 0x3f, 0x5e, 0x5f, 0x6e, 0x4b, 0xfb, 0x47, 0x5f, 0x47, 0x8a, 0x74, + 0x35, 0x52, 0xa4, 0xef, 0x23, 0x45, 0xfa, 0x3c, 0x56, 0x62, 0x57, 0x63, 0x25, 0xf6, 0x6d, 0xac, + 0xc4, 0xde, 0xec, 0xd8, 0x4c, 0x9c, 0xf5, 0x4f, 0xb5, 0x8e, 0xeb, 0x14, 0xc3, 0x4b, 0xe6, 0xff, + 0xec, 0xe2, 0xdb, 0xf3, 0xe2, 0xc5, 0xec, 0xac, 0x4d, 0xf6, 0x00, 0x4f, 0xff, 0xf3, 0x6f, 0xd5, + 0xf3, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x0f, 0x5e, 0x15, 0xbc, 0xf5, 0x04, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -683,6 +684,29 @@ func (m *MsgAuthorizeCircuitBreaker) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } +func (m *MsgAuthorizeCircuitBreakerResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgAuthorizeCircuitBreakerResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgAuthorizeCircuitBreakerResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *CircuitBreakerPermissions) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -720,29 +744,6 @@ func (m *CircuitBreakerPermissions) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *MsgAuthorizeCircuitBreakerResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgAuthorizeCircuitBreakerResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgAuthorizeCircuitBreakerResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - func (m *MsgTripCircuitBreaker) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -899,6 +900,15 @@ func (m *MsgAuthorizeCircuitBreaker) Size() (n int) { return n } +func (m *MsgAuthorizeCircuitBreakerResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func (m *CircuitBreakerPermissions) Size() (n int) { if m == nil { return 0 @@ -917,15 +927,6 @@ func (m *CircuitBreakerPermissions) Size() (n int) { return n } -func (m *MsgAuthorizeCircuitBreakerResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - func (m *MsgTripCircuitBreaker) Size() (n int) { if m == nil { return 0 @@ -1138,6 +1139,56 @@ func (m *MsgAuthorizeCircuitBreaker) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgAuthorizeCircuitBreakerResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgAuthorizeCircuitBreakerResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgAuthorizeCircuitBreakerResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *CircuitBreakerPermissions) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -1239,56 +1290,6 @@ func (m *CircuitBreakerPermissions) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAuthorizeCircuitBreakerResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgAuthorizeCircuitBreakerResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAuthorizeCircuitBreakerResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func (m *MsgTripCircuitBreaker) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0