feat: add spec for circuit module (#14481)

Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
This commit is contained in:
Marko 2023-01-06 15:54:01 +01:00 committed by GitHub
parent f771f20da4
commit 6f3380d40b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 730 additions and 614 deletions

View File

@ -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:

View File

@ -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;

115
x/circuit/README.md Normal file
View File

@ -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{}` <!--- should this be stored in json to skip encoding and decoding each block, does it matter?-->
## 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 <!-- TODO: is this possible?-->
### 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 <!-- TODO: is this possible?-->
### 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 <!-- TODO: is this possible?-->
* 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

View File

@ -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