From e19d7b300f4880c13559531bf774ce2f1240e1c0 Mon Sep 17 00:00:00 2001 From: beer-1 <147697694+beer-1@users.noreply.github.com> Date: Tue, 9 Apr 2024 13:57:15 +0900 Subject: [PATCH] add bridge info set/get interface --- api/opinit/opchild/v1/query.pulsar.go | 1012 +++++++++++++++- api/opinit/opchild/v1/query_grpc.pb.go | 37 + api/opinit/opchild/v1/tx.pulsar.go | 1497 ++++++++++++++++++++---- api/opinit/opchild/v1/tx_grpc.pb.go | 39 + api/opinit/opchild/v1/types.pulsar.go | 799 +++++++++++-- proto/opinit/opchild/v1/query.proto | 14 + proto/opinit/opchild/v1/tx.proto | 18 + proto/opinit/opchild/v1/types.proto | 13 + x/opchild/keeper/keeper.go | 2 + x/opchild/keeper/msg_server.go | 22 + x/opchild/keeper/msg_server_test.go | 33 + x/opchild/keeper/querier.go | 13 +- x/opchild/keeper/querier_test.go | 31 + x/opchild/types/errors.go | 1 + x/opchild/types/keys.go | 1 + x/opchild/types/query.pb.go | 412 ++++++- x/opchild/types/query.pb.gw.go | 65 + x/opchild/types/tx.go | 54 +- x/opchild/types/tx.pb.go | 531 +++++++-- x/opchild/types/types.pb.go | 371 +++++- x/ophost/types/bridge_config.go | 32 + 21 files changed, 4418 insertions(+), 579 deletions(-) diff --git a/api/opinit/opchild/v1/query.pulsar.go b/api/opinit/opchild/v1/query.pulsar.go index 76b903f1..fe6d7664 100644 --- a/api/opinit/opchild/v1/query.pulsar.go +++ b/api/opinit/opchild/v1/query.pulsar.go @@ -1881,6 +1881,797 @@ func (x *fastReflection_QueryValidatorResponse) ProtoMethods() *protoiface.Metho } } +var ( + md_QueryBridgeInfoRequest protoreflect.MessageDescriptor +) + +func init() { + file_opinit_opchild_v1_query_proto_init() + md_QueryBridgeInfoRequest = File_opinit_opchild_v1_query_proto.Messages().ByName("QueryBridgeInfoRequest") +} + +var _ protoreflect.Message = (*fastReflection_QueryBridgeInfoRequest)(nil) + +type fastReflection_QueryBridgeInfoRequest QueryBridgeInfoRequest + +func (x *QueryBridgeInfoRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryBridgeInfoRequest)(x) +} + +func (x *QueryBridgeInfoRequest) slowProtoReflect() protoreflect.Message { + mi := &file_opinit_opchild_v1_query_proto_msgTypes[4] + 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_QueryBridgeInfoRequest_messageType fastReflection_QueryBridgeInfoRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryBridgeInfoRequest_messageType{} + +type fastReflection_QueryBridgeInfoRequest_messageType struct{} + +func (x fastReflection_QueryBridgeInfoRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryBridgeInfoRequest)(nil) +} +func (x fastReflection_QueryBridgeInfoRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryBridgeInfoRequest) +} +func (x fastReflection_QueryBridgeInfoRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryBridgeInfoRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryBridgeInfoRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryBridgeInfoRequest +} + +// 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_QueryBridgeInfoRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryBridgeInfoRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryBridgeInfoRequest) New() protoreflect.Message { + return new(fastReflection_QueryBridgeInfoRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryBridgeInfoRequest) Interface() protoreflect.ProtoMessage { + return (*QueryBridgeInfoRequest)(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_QueryBridgeInfoRequest) 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_QueryBridgeInfoRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.QueryBridgeInfoRequest")) + } + panic(fmt.Errorf("message opinit.opchild.v1.QueryBridgeInfoRequest 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_QueryBridgeInfoRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.QueryBridgeInfoRequest")) + } + panic(fmt.Errorf("message opinit.opchild.v1.QueryBridgeInfoRequest 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_QueryBridgeInfoRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.QueryBridgeInfoRequest")) + } + panic(fmt.Errorf("message opinit.opchild.v1.QueryBridgeInfoRequest 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_QueryBridgeInfoRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.QueryBridgeInfoRequest")) + } + panic(fmt.Errorf("message opinit.opchild.v1.QueryBridgeInfoRequest 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_QueryBridgeInfoRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.QueryBridgeInfoRequest")) + } + panic(fmt.Errorf("message opinit.opchild.v1.QueryBridgeInfoRequest 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_QueryBridgeInfoRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.QueryBridgeInfoRequest")) + } + panic(fmt.Errorf("message opinit.opchild.v1.QueryBridgeInfoRequest 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_QueryBridgeInfoRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in opinit.opchild.v1.QueryBridgeInfoRequest", 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_QueryBridgeInfoRequest) 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_QueryBridgeInfoRequest) 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_QueryBridgeInfoRequest) 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_QueryBridgeInfoRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryBridgeInfoRequest) + 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().(*QueryBridgeInfoRequest) + 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().(*QueryBridgeInfoRequest) + 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: QueryBridgeInfoRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryBridgeInfoRequest: 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 ( + md_QueryBridgeInfoResponse protoreflect.MessageDescriptor + fd_QueryBridgeInfoResponse_bridge_info protoreflect.FieldDescriptor +) + +func init() { + file_opinit_opchild_v1_query_proto_init() + md_QueryBridgeInfoResponse = File_opinit_opchild_v1_query_proto.Messages().ByName("QueryBridgeInfoResponse") + fd_QueryBridgeInfoResponse_bridge_info = md_QueryBridgeInfoResponse.Fields().ByName("bridge_info") +} + +var _ protoreflect.Message = (*fastReflection_QueryBridgeInfoResponse)(nil) + +type fastReflection_QueryBridgeInfoResponse QueryBridgeInfoResponse + +func (x *QueryBridgeInfoResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryBridgeInfoResponse)(x) +} + +func (x *QueryBridgeInfoResponse) slowProtoReflect() protoreflect.Message { + mi := &file_opinit_opchild_v1_query_proto_msgTypes[5] + 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_QueryBridgeInfoResponse_messageType fastReflection_QueryBridgeInfoResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryBridgeInfoResponse_messageType{} + +type fastReflection_QueryBridgeInfoResponse_messageType struct{} + +func (x fastReflection_QueryBridgeInfoResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryBridgeInfoResponse)(nil) +} +func (x fastReflection_QueryBridgeInfoResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryBridgeInfoResponse) +} +func (x fastReflection_QueryBridgeInfoResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryBridgeInfoResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryBridgeInfoResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryBridgeInfoResponse +} + +// 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_QueryBridgeInfoResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryBridgeInfoResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryBridgeInfoResponse) New() protoreflect.Message { + return new(fastReflection_QueryBridgeInfoResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryBridgeInfoResponse) Interface() protoreflect.ProtoMessage { + return (*QueryBridgeInfoResponse)(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_QueryBridgeInfoResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.BridgeInfo != nil { + value := protoreflect.ValueOfMessage(x.BridgeInfo.ProtoReflect()) + if !f(fd_QueryBridgeInfoResponse_bridge_info, value) { + return + } + } +} + +// 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_QueryBridgeInfoResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "opinit.opchild.v1.QueryBridgeInfoResponse.bridge_info": + return x.BridgeInfo != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.QueryBridgeInfoResponse")) + } + panic(fmt.Errorf("message opinit.opchild.v1.QueryBridgeInfoResponse 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_QueryBridgeInfoResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "opinit.opchild.v1.QueryBridgeInfoResponse.bridge_info": + x.BridgeInfo = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.QueryBridgeInfoResponse")) + } + panic(fmt.Errorf("message opinit.opchild.v1.QueryBridgeInfoResponse 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_QueryBridgeInfoResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "opinit.opchild.v1.QueryBridgeInfoResponse.bridge_info": + value := x.BridgeInfo + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.QueryBridgeInfoResponse")) + } + panic(fmt.Errorf("message opinit.opchild.v1.QueryBridgeInfoResponse 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_QueryBridgeInfoResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "opinit.opchild.v1.QueryBridgeInfoResponse.bridge_info": + x.BridgeInfo = value.Message().Interface().(*BridgeInfo) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.QueryBridgeInfoResponse")) + } + panic(fmt.Errorf("message opinit.opchild.v1.QueryBridgeInfoResponse 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_QueryBridgeInfoResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "opinit.opchild.v1.QueryBridgeInfoResponse.bridge_info": + if x.BridgeInfo == nil { + x.BridgeInfo = new(BridgeInfo) + } + return protoreflect.ValueOfMessage(x.BridgeInfo.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.QueryBridgeInfoResponse")) + } + panic(fmt.Errorf("message opinit.opchild.v1.QueryBridgeInfoResponse 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_QueryBridgeInfoResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "opinit.opchild.v1.QueryBridgeInfoResponse.bridge_info": + m := new(BridgeInfo) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.QueryBridgeInfoResponse")) + } + panic(fmt.Errorf("message opinit.opchild.v1.QueryBridgeInfoResponse 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_QueryBridgeInfoResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in opinit.opchild.v1.QueryBridgeInfoResponse", 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_QueryBridgeInfoResponse) 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_QueryBridgeInfoResponse) 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_QueryBridgeInfoResponse) 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_QueryBridgeInfoResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryBridgeInfoResponse) + 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.BridgeInfo != nil { + l = options.Size(x.BridgeInfo) + n += 1 + l + runtime.Sov(uint64(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().(*QueryBridgeInfoResponse) + 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 x.BridgeInfo != nil { + encoded, err := options.Marshal(x.BridgeInfo) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + 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().(*QueryBridgeInfoResponse) + 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: QueryBridgeInfoResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryBridgeInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BridgeInfo", wireType) + } + var msglen int + 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++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.BridgeInfo == nil { + x.BridgeInfo = &BridgeInfo{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.BridgeInfo); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + 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 ( md_QueryParamsRequest protoreflect.MessageDescriptor ) @@ -1899,7 +2690,7 @@ func (x *QueryParamsRequest) ProtoReflect() protoreflect.Message { } func (x *QueryParamsRequest) slowProtoReflect() protoreflect.Message { - mi := &file_opinit_opchild_v1_query_proto_msgTypes[4] + mi := &file_opinit_opchild_v1_query_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2257,7 +3048,7 @@ func (x *QueryParamsResponse) ProtoReflect() protoreflect.Message { } func (x *QueryParamsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_opinit_opchild_v1_query_proto_msgTypes[5] + mi := &file_opinit_opchild_v1_query_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2842,6 +3633,70 @@ func (x *QueryValidatorResponse) GetValidator() *Validator { return nil } +// QueryBridgeInfoRequest is request type for the Query/BridgeInfo RPC method. +type QueryBridgeInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryBridgeInfoRequest) Reset() { + *x = QueryBridgeInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_opinit_opchild_v1_query_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryBridgeInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryBridgeInfoRequest) ProtoMessage() {} + +// Deprecated: Use QueryBridgeInfoRequest.ProtoReflect.Descriptor instead. +func (*QueryBridgeInfoRequest) Descriptor() ([]byte, []int) { + return file_opinit_opchild_v1_query_proto_rawDescGZIP(), []int{4} +} + +// QueryBridgeInfoResponse is response type for the Query/BridgeInfo RPC method. +type QueryBridgeInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // bridge_info holds all the information about the bridge. + BridgeInfo *BridgeInfo `protobuf:"bytes,1,opt,name=bridge_info,json=bridgeInfo,proto3" json:"bridge_info,omitempty"` +} + +func (x *QueryBridgeInfoResponse) Reset() { + *x = QueryBridgeInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_opinit_opchild_v1_query_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryBridgeInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryBridgeInfoResponse) ProtoMessage() {} + +// Deprecated: Use QueryBridgeInfoResponse.ProtoReflect.Descriptor instead. +func (*QueryBridgeInfoResponse) Descriptor() ([]byte, []int) { + return file_opinit_opchild_v1_query_proto_rawDescGZIP(), []int{5} +} + +func (x *QueryBridgeInfoResponse) GetBridgeInfo() *BridgeInfo { + if x != nil { + return x.BridgeInfo + } + return nil +} + // QueryParamsRequest is request type for the Query/Params RPC method. type QueryParamsRequest struct { state protoimpl.MessageState @@ -2852,7 +3707,7 @@ type QueryParamsRequest struct { func (x *QueryParamsRequest) Reset() { *x = QueryParamsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_opinit_opchild_v1_query_proto_msgTypes[4] + mi := &file_opinit_opchild_v1_query_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2866,7 +3721,7 @@ func (*QueryParamsRequest) ProtoMessage() {} // Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. func (*QueryParamsRequest) Descriptor() ([]byte, []int) { - return file_opinit_opchild_v1_query_proto_rawDescGZIP(), []int{4} + return file_opinit_opchild_v1_query_proto_rawDescGZIP(), []int{6} } // QueryParamsResponse is response type for the Query/Params RPC method. @@ -2882,7 +3737,7 @@ type QueryParamsResponse struct { func (x *QueryParamsResponse) Reset() { *x = QueryParamsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_opinit_opchild_v1_query_proto_msgTypes[5] + mi := &file_opinit_opchild_v1_query_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2896,7 +3751,7 @@ func (*QueryParamsResponse) ProtoMessage() {} // Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. func (*QueryParamsResponse) Descriptor() ([]byte, []int) { - return file_opinit_opchild_v1_query_proto_rawDescGZIP(), []int{5} + return file_opinit_opchild_v1_query_proto_rawDescGZIP(), []int{7} } func (x *QueryParamsResponse) GetParams() *Params { @@ -2953,14 +3808,22 @@ var file_opinit_opchild_v1_query_proto_rawDesc = []byte{ 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x09, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x64, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0b, + 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x62, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x53, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x32, 0xb9, 0x03, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x8f, 0x01, 0x0a, + 0x6d, 0x73, 0x32, 0xcc, 0x04, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x8f, 0x01, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, @@ -2979,29 +3842,38 @@ var file_opinit_opchild_v1_query_proto_rawDesc = []byte{ 0x65, 0x22, 0x3a, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2f, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x7b, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0x7f, 0x0a, - 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x25, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0x90, 0x01, + 0x0a, 0x0a, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x2e, 0x6f, + 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, - 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2f, 0x6f, 0x70, 0x63, - 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0xc8, - 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, - 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x2d, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x4f, - 0x50, 0x69, 0x6e, 0x69, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, - 0x2f, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x76, 0x31, 0x3b, 0x6f, 0x70, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4f, 0x4f, 0x58, 0xaa, 0x02, 0x11, 0x4f, 0x70, - 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x56, 0x31, 0xca, - 0x02, 0x11, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x5c, 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1d, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x5c, 0x4f, 0x70, 0x63, - 0x68, 0x69, 0x6c, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x3a, 0x3a, 0x4f, 0x70, - 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x79, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, + 0x12, 0x1e, 0x2f, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2f, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, + 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x12, 0x7f, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x25, 0x2e, 0x6f, 0x70, 0x69, + 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x26, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x88, 0xe7, 0xb0, 0x2a, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2f, + 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x42, 0xc8, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, + 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x2d, 0x6c, 0x61, 0x62, + 0x73, 0x2f, 0x4f, 0x50, 0x69, 0x6e, 0x69, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6f, 0x70, 0x69, + 0x6e, 0x69, 0x74, 0x2f, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x76, 0x31, 0x3b, 0x6f, + 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4f, 0x4f, 0x58, 0xaa, 0x02, + 0x11, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, + 0x56, 0x31, 0xca, 0x02, 0x11, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x5c, 0x4f, 0x70, 0x63, 0x68, + 0x69, 0x6c, 0x64, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1d, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x5c, + 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x3a, + 0x3a, 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3016,36 +3888,42 @@ func file_opinit_opchild_v1_query_proto_rawDescGZIP() []byte { return file_opinit_opchild_v1_query_proto_rawDescData } -var file_opinit_opchild_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_opinit_opchild_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_opinit_opchild_v1_query_proto_goTypes = []interface{}{ (*QueryValidatorsRequest)(nil), // 0: opinit.opchild.v1.QueryValidatorsRequest (*QueryValidatorsResponse)(nil), // 1: opinit.opchild.v1.QueryValidatorsResponse (*QueryValidatorRequest)(nil), // 2: opinit.opchild.v1.QueryValidatorRequest (*QueryValidatorResponse)(nil), // 3: opinit.opchild.v1.QueryValidatorResponse - (*QueryParamsRequest)(nil), // 4: opinit.opchild.v1.QueryParamsRequest - (*QueryParamsResponse)(nil), // 5: opinit.opchild.v1.QueryParamsResponse - (*v1beta1.PageRequest)(nil), // 6: cosmos.base.query.v1beta1.PageRequest - (*Validator)(nil), // 7: opinit.opchild.v1.Validator - (*v1beta1.PageResponse)(nil), // 8: cosmos.base.query.v1beta1.PageResponse - (*Params)(nil), // 9: opinit.opchild.v1.Params + (*QueryBridgeInfoRequest)(nil), // 4: opinit.opchild.v1.QueryBridgeInfoRequest + (*QueryBridgeInfoResponse)(nil), // 5: opinit.opchild.v1.QueryBridgeInfoResponse + (*QueryParamsRequest)(nil), // 6: opinit.opchild.v1.QueryParamsRequest + (*QueryParamsResponse)(nil), // 7: opinit.opchild.v1.QueryParamsResponse + (*v1beta1.PageRequest)(nil), // 8: cosmos.base.query.v1beta1.PageRequest + (*Validator)(nil), // 9: opinit.opchild.v1.Validator + (*v1beta1.PageResponse)(nil), // 10: cosmos.base.query.v1beta1.PageResponse + (*BridgeInfo)(nil), // 11: opinit.opchild.v1.BridgeInfo + (*Params)(nil), // 12: opinit.opchild.v1.Params } var file_opinit_opchild_v1_query_proto_depIdxs = []int32{ - 6, // 0: opinit.opchild.v1.QueryValidatorsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 7, // 1: opinit.opchild.v1.QueryValidatorsResponse.validators:type_name -> opinit.opchild.v1.Validator - 8, // 2: opinit.opchild.v1.QueryValidatorsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 7, // 3: opinit.opchild.v1.QueryValidatorResponse.validator:type_name -> opinit.opchild.v1.Validator - 9, // 4: opinit.opchild.v1.QueryParamsResponse.params:type_name -> opinit.opchild.v1.Params - 0, // 5: opinit.opchild.v1.Query.Validators:input_type -> opinit.opchild.v1.QueryValidatorsRequest - 2, // 6: opinit.opchild.v1.Query.Validator:input_type -> opinit.opchild.v1.QueryValidatorRequest - 4, // 7: opinit.opchild.v1.Query.Params:input_type -> opinit.opchild.v1.QueryParamsRequest - 1, // 8: opinit.opchild.v1.Query.Validators:output_type -> opinit.opchild.v1.QueryValidatorsResponse - 3, // 9: opinit.opchild.v1.Query.Validator:output_type -> opinit.opchild.v1.QueryValidatorResponse - 5, // 10: opinit.opchild.v1.Query.Params:output_type -> opinit.opchild.v1.QueryParamsResponse - 8, // [8:11] is the sub-list for method output_type - 5, // [5:8] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 8, // 0: opinit.opchild.v1.QueryValidatorsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 9, // 1: opinit.opchild.v1.QueryValidatorsResponse.validators:type_name -> opinit.opchild.v1.Validator + 10, // 2: opinit.opchild.v1.QueryValidatorsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 9, // 3: opinit.opchild.v1.QueryValidatorResponse.validator:type_name -> opinit.opchild.v1.Validator + 11, // 4: opinit.opchild.v1.QueryBridgeInfoResponse.bridge_info:type_name -> opinit.opchild.v1.BridgeInfo + 12, // 5: opinit.opchild.v1.QueryParamsResponse.params:type_name -> opinit.opchild.v1.Params + 0, // 6: opinit.opchild.v1.Query.Validators:input_type -> opinit.opchild.v1.QueryValidatorsRequest + 2, // 7: opinit.opchild.v1.Query.Validator:input_type -> opinit.opchild.v1.QueryValidatorRequest + 4, // 8: opinit.opchild.v1.Query.BridgeInfo:input_type -> opinit.opchild.v1.QueryBridgeInfoRequest + 6, // 9: opinit.opchild.v1.Query.Params:input_type -> opinit.opchild.v1.QueryParamsRequest + 1, // 10: opinit.opchild.v1.Query.Validators:output_type -> opinit.opchild.v1.QueryValidatorsResponse + 3, // 11: opinit.opchild.v1.Query.Validator:output_type -> opinit.opchild.v1.QueryValidatorResponse + 5, // 12: opinit.opchild.v1.Query.BridgeInfo:output_type -> opinit.opchild.v1.QueryBridgeInfoResponse + 7, // 13: opinit.opchild.v1.Query.Params:output_type -> opinit.opchild.v1.QueryParamsResponse + 10, // [10:14] is the sub-list for method output_type + 6, // [6:10] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_opinit_opchild_v1_query_proto_init() } @@ -3104,7 +3982,7 @@ func file_opinit_opchild_v1_query_proto_init() { } } file_opinit_opchild_v1_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryParamsRequest); i { + switch v := v.(*QueryBridgeInfoRequest); i { case 0: return &v.state case 1: @@ -3116,6 +3994,30 @@ func file_opinit_opchild_v1_query_proto_init() { } } file_opinit_opchild_v1_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryBridgeInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_opinit_opchild_v1_query_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryParamsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_opinit_opchild_v1_query_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryParamsResponse); i { case 0: return &v.state @@ -3134,7 +4036,7 @@ func file_opinit_opchild_v1_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_opinit_opchild_v1_query_proto_rawDesc, NumEnums: 0, - NumMessages: 6, + NumMessages: 8, NumExtensions: 0, NumServices: 1, }, diff --git a/api/opinit/opchild/v1/query_grpc.pb.go b/api/opinit/opchild/v1/query_grpc.pb.go index 8d00ed96..56e54547 100644 --- a/api/opinit/opchild/v1/query_grpc.pb.go +++ b/api/opinit/opchild/v1/query_grpc.pb.go @@ -21,6 +21,7 @@ const _ = grpc.SupportPackageIsVersion7 const ( Query_Validators_FullMethodName = "/opinit.opchild.v1.Query/Validators" Query_Validator_FullMethodName = "/opinit.opchild.v1.Query/Validator" + Query_BridgeInfo_FullMethodName = "/opinit.opchild.v1.Query/BridgeInfo" Query_Params_FullMethodName = "/opinit.opchild.v1.Query/Params" ) @@ -35,6 +36,7 @@ type QueryClient interface { Validators(ctx context.Context, in *QueryValidatorsRequest, opts ...grpc.CallOption) (*QueryValidatorsResponse, error) // Validator queries validator info for given validator address. Validator(ctx context.Context, in *QueryValidatorRequest, opts ...grpc.CallOption) (*QueryValidatorResponse, error) + BridgeInfo(ctx context.Context, in *QueryBridgeInfoRequest, opts ...grpc.CallOption) (*QueryBridgeInfoResponse, error) // Parameters queries the rollup parameters. Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) } @@ -65,6 +67,15 @@ func (c *queryClient) Validator(ctx context.Context, in *QueryValidatorRequest, return out, nil } +func (c *queryClient) BridgeInfo(ctx context.Context, in *QueryBridgeInfoRequest, opts ...grpc.CallOption) (*QueryBridgeInfoResponse, error) { + out := new(QueryBridgeInfoResponse) + err := c.cc.Invoke(ctx, Query_BridgeInfo_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { out := new(QueryParamsResponse) err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, opts...) @@ -85,6 +96,7 @@ type QueryServer interface { Validators(context.Context, *QueryValidatorsRequest) (*QueryValidatorsResponse, error) // Validator queries validator info for given validator address. Validator(context.Context, *QueryValidatorRequest) (*QueryValidatorResponse, error) + BridgeInfo(context.Context, *QueryBridgeInfoRequest) (*QueryBridgeInfoResponse, error) // Parameters queries the rollup parameters. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) mustEmbedUnimplementedQueryServer() @@ -100,6 +112,9 @@ func (UnimplementedQueryServer) Validators(context.Context, *QueryValidatorsRequ func (UnimplementedQueryServer) Validator(context.Context, *QueryValidatorRequest) (*QueryValidatorResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Validator not implemented") } +func (UnimplementedQueryServer) BridgeInfo(context.Context, *QueryBridgeInfoRequest) (*QueryBridgeInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BridgeInfo not implemented") +} func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } @@ -152,6 +167,24 @@ func _Query_Validator_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } +func _Query_BridgeInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryBridgeInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).BridgeInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_BridgeInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).BridgeInfo(ctx, req.(*QueryBridgeInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryParamsRequest) if err := dec(in); err != nil { @@ -185,6 +218,10 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "Validator", Handler: _Query_Validator_Handler, }, + { + MethodName: "BridgeInfo", + Handler: _Query_BridgeInfo_Handler, + }, { MethodName: "Params", Handler: _Query_Params_Handler, diff --git a/api/opinit/opchild/v1/tx.pulsar.go b/api/opinit/opchild/v1/tx.pulsar.go index 3d811003..0c8b54b3 100644 --- a/api/opinit/opchild/v1/tx.pulsar.go +++ b/api/opinit/opchild/v1/tx.pulsar.go @@ -932,6 +932,861 @@ func (x *fastReflection_MsgExecuteMessagesResponse) ProtoMethods() *protoiface.M } } +var ( + md_MsgSetBridgeInfo protoreflect.MessageDescriptor + fd_MsgSetBridgeInfo_sender protoreflect.FieldDescriptor + fd_MsgSetBridgeInfo_bridge_info protoreflect.FieldDescriptor +) + +func init() { + file_opinit_opchild_v1_tx_proto_init() + md_MsgSetBridgeInfo = File_opinit_opchild_v1_tx_proto.Messages().ByName("MsgSetBridgeInfo") + fd_MsgSetBridgeInfo_sender = md_MsgSetBridgeInfo.Fields().ByName("sender") + fd_MsgSetBridgeInfo_bridge_info = md_MsgSetBridgeInfo.Fields().ByName("bridge_info") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetBridgeInfo)(nil) + +type fastReflection_MsgSetBridgeInfo MsgSetBridgeInfo + +func (x *MsgSetBridgeInfo) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetBridgeInfo)(x) +} + +func (x *MsgSetBridgeInfo) slowProtoReflect() protoreflect.Message { + mi := &file_opinit_opchild_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_MsgSetBridgeInfo_messageType fastReflection_MsgSetBridgeInfo_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetBridgeInfo_messageType{} + +type fastReflection_MsgSetBridgeInfo_messageType struct{} + +func (x fastReflection_MsgSetBridgeInfo_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetBridgeInfo)(nil) +} +func (x fastReflection_MsgSetBridgeInfo_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetBridgeInfo) +} +func (x fastReflection_MsgSetBridgeInfo_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetBridgeInfo +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetBridgeInfo) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetBridgeInfo +} + +// 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_MsgSetBridgeInfo) Type() protoreflect.MessageType { + return _fastReflection_MsgSetBridgeInfo_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetBridgeInfo) New() protoreflect.Message { + return new(fastReflection_MsgSetBridgeInfo) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetBridgeInfo) Interface() protoreflect.ProtoMessage { + return (*MsgSetBridgeInfo)(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_MsgSetBridgeInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Sender != "" { + value := protoreflect.ValueOfString(x.Sender) + if !f(fd_MsgSetBridgeInfo_sender, value) { + return + } + } + if x.BridgeInfo != nil { + value := protoreflect.ValueOfMessage(x.BridgeInfo.ProtoReflect()) + if !f(fd_MsgSetBridgeInfo_bridge_info, value) { + return + } + } +} + +// 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_MsgSetBridgeInfo) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "opinit.opchild.v1.MsgSetBridgeInfo.sender": + return x.Sender != "" + case "opinit.opchild.v1.MsgSetBridgeInfo.bridge_info": + return x.BridgeInfo != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.MsgSetBridgeInfo")) + } + panic(fmt.Errorf("message opinit.opchild.v1.MsgSetBridgeInfo 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_MsgSetBridgeInfo) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "opinit.opchild.v1.MsgSetBridgeInfo.sender": + x.Sender = "" + case "opinit.opchild.v1.MsgSetBridgeInfo.bridge_info": + x.BridgeInfo = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.MsgSetBridgeInfo")) + } + panic(fmt.Errorf("message opinit.opchild.v1.MsgSetBridgeInfo 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_MsgSetBridgeInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "opinit.opchild.v1.MsgSetBridgeInfo.sender": + value := x.Sender + return protoreflect.ValueOfString(value) + case "opinit.opchild.v1.MsgSetBridgeInfo.bridge_info": + value := x.BridgeInfo + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.MsgSetBridgeInfo")) + } + panic(fmt.Errorf("message opinit.opchild.v1.MsgSetBridgeInfo 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_MsgSetBridgeInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "opinit.opchild.v1.MsgSetBridgeInfo.sender": + x.Sender = value.Interface().(string) + case "opinit.opchild.v1.MsgSetBridgeInfo.bridge_info": + x.BridgeInfo = value.Message().Interface().(*BridgeInfo) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.MsgSetBridgeInfo")) + } + panic(fmt.Errorf("message opinit.opchild.v1.MsgSetBridgeInfo 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_MsgSetBridgeInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "opinit.opchild.v1.MsgSetBridgeInfo.bridge_info": + if x.BridgeInfo == nil { + x.BridgeInfo = new(BridgeInfo) + } + return protoreflect.ValueOfMessage(x.BridgeInfo.ProtoReflect()) + case "opinit.opchild.v1.MsgSetBridgeInfo.sender": + panic(fmt.Errorf("field sender of message opinit.opchild.v1.MsgSetBridgeInfo is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.MsgSetBridgeInfo")) + } + panic(fmt.Errorf("message opinit.opchild.v1.MsgSetBridgeInfo 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_MsgSetBridgeInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "opinit.opchild.v1.MsgSetBridgeInfo.sender": + return protoreflect.ValueOfString("") + case "opinit.opchild.v1.MsgSetBridgeInfo.bridge_info": + m := new(BridgeInfo) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.MsgSetBridgeInfo")) + } + panic(fmt.Errorf("message opinit.opchild.v1.MsgSetBridgeInfo 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_MsgSetBridgeInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in opinit.opchild.v1.MsgSetBridgeInfo", 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_MsgSetBridgeInfo) 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_MsgSetBridgeInfo) 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_MsgSetBridgeInfo) 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_MsgSetBridgeInfo) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetBridgeInfo) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Sender) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.BridgeInfo != nil { + l = options.Size(x.BridgeInfo) + n += 1 + l + runtime.Sov(uint64(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().(*MsgSetBridgeInfo) + 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 x.BridgeInfo != nil { + encoded, err := options.Marshal(x.BridgeInfo) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.Sender) > 0 { + i -= len(x.Sender) + copy(dAtA[i:], x.Sender) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Sender))) + i-- + dAtA[i] = 0xa + } + 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().(*MsgSetBridgeInfo) + 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: MsgSetBridgeInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetBridgeInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + } + var stringLen 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Sender = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BridgeInfo", wireType) + } + var msglen int + 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++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.BridgeInfo == nil { + x.BridgeInfo = &BridgeInfo{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.BridgeInfo); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + 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 ( + md_MsgSetBridgeInfoResponse protoreflect.MessageDescriptor +) + +func init() { + file_opinit_opchild_v1_tx_proto_init() + md_MsgSetBridgeInfoResponse = File_opinit_opchild_v1_tx_proto.Messages().ByName("MsgSetBridgeInfoResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgSetBridgeInfoResponse)(nil) + +type fastReflection_MsgSetBridgeInfoResponse MsgSetBridgeInfoResponse + +func (x *MsgSetBridgeInfoResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetBridgeInfoResponse)(x) +} + +func (x *MsgSetBridgeInfoResponse) slowProtoReflect() protoreflect.Message { + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[3] + 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_MsgSetBridgeInfoResponse_messageType fastReflection_MsgSetBridgeInfoResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetBridgeInfoResponse_messageType{} + +type fastReflection_MsgSetBridgeInfoResponse_messageType struct{} + +func (x fastReflection_MsgSetBridgeInfoResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetBridgeInfoResponse)(nil) +} +func (x fastReflection_MsgSetBridgeInfoResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetBridgeInfoResponse) +} +func (x fastReflection_MsgSetBridgeInfoResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetBridgeInfoResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgSetBridgeInfoResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetBridgeInfoResponse +} + +// 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_MsgSetBridgeInfoResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetBridgeInfoResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgSetBridgeInfoResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetBridgeInfoResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgSetBridgeInfoResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetBridgeInfoResponse)(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_MsgSetBridgeInfoResponse) 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_MsgSetBridgeInfoResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.MsgSetBridgeInfoResponse")) + } + panic(fmt.Errorf("message opinit.opchild.v1.MsgSetBridgeInfoResponse 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_MsgSetBridgeInfoResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.MsgSetBridgeInfoResponse")) + } + panic(fmt.Errorf("message opinit.opchild.v1.MsgSetBridgeInfoResponse 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_MsgSetBridgeInfoResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.MsgSetBridgeInfoResponse")) + } + panic(fmt.Errorf("message opinit.opchild.v1.MsgSetBridgeInfoResponse 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_MsgSetBridgeInfoResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.MsgSetBridgeInfoResponse")) + } + panic(fmt.Errorf("message opinit.opchild.v1.MsgSetBridgeInfoResponse 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_MsgSetBridgeInfoResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.MsgSetBridgeInfoResponse")) + } + panic(fmt.Errorf("message opinit.opchild.v1.MsgSetBridgeInfoResponse 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_MsgSetBridgeInfoResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.MsgSetBridgeInfoResponse")) + } + panic(fmt.Errorf("message opinit.opchild.v1.MsgSetBridgeInfoResponse 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_MsgSetBridgeInfoResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in opinit.opchild.v1.MsgSetBridgeInfoResponse", 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_MsgSetBridgeInfoResponse) 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_MsgSetBridgeInfoResponse) 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_MsgSetBridgeInfoResponse) 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_MsgSetBridgeInfoResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgSetBridgeInfoResponse) + 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().(*MsgSetBridgeInfoResponse) + 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().(*MsgSetBridgeInfoResponse) + 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: MsgSetBridgeInfoResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetBridgeInfoResponse: 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 ( md_MsgFinalizeTokenDeposit protoreflect.MessageDescriptor fd_MsgFinalizeTokenDeposit_sender protoreflect.FieldDescriptor @@ -966,7 +1821,7 @@ func (x *MsgFinalizeTokenDeposit) ProtoReflect() protoreflect.Message { } func (x *MsgFinalizeTokenDeposit) slowProtoReflect() protoreflect.Message { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[2] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1803,7 +2658,7 @@ func (x *MsgFinalizeTokenDepositResponse) ProtoReflect() protoreflect.Message { } func (x *MsgFinalizeTokenDepositResponse) slowProtoReflect() protoreflect.Message { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[3] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2165,7 +3020,7 @@ func (x *MsgInitiateTokenWithdrawal) ProtoReflect() protoreflect.Message { } func (x *MsgInitiateTokenWithdrawal) slowProtoReflect() protoreflect.Message { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[4] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2724,7 +3579,7 @@ func (x *MsgInitiateTokenWithdrawalResponse) ProtoReflect() protoreflect.Message } func (x *MsgInitiateTokenWithdrawalResponse) slowProtoReflect() protoreflect.Message { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[5] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3134,7 +3989,7 @@ func (x *MsgAddValidator) ProtoReflect() protoreflect.Message { } func (x *MsgAddValidator) slowProtoReflect() protoreflect.Message { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[6] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3753,7 +4608,7 @@ func (x *MsgAddValidatorResponse) ProtoReflect() protoreflect.Message { } func (x *MsgAddValidatorResponse) slowProtoReflect() protoreflect.Message { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[7] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4113,7 +4968,7 @@ func (x *MsgRemoveValidator) ProtoReflect() protoreflect.Message { } func (x *MsgRemoveValidator) slowProtoReflect() protoreflect.Message { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[8] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4593,7 +5448,7 @@ func (x *MsgRemoveValidatorResponse) ProtoReflect() protoreflect.Message { } func (x *MsgRemoveValidatorResponse) slowProtoReflect() protoreflect.Message { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[9] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4953,7 +5808,7 @@ func (x *MsgUpdateParams) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateParams) slowProtoReflect() protoreflect.Message { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[10] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5448,7 +6303,7 @@ func (x *MsgUpdateParamsResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateParamsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[11] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5861,7 +6716,7 @@ func (x *MsgSpendFeePool) ProtoReflect() protoreflect.Message { } func (x *MsgSpendFeePool) slowProtoReflect() protoreflect.Message { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[12] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6426,7 +7281,7 @@ func (x *MsgSpendFeePoolResponse) ProtoReflect() protoreflect.Message { } func (x *MsgSpendFeePoolResponse) slowProtoReflect() protoreflect.Message { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[13] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6851,6 +7706,79 @@ func (*MsgExecuteMessagesResponse) Descriptor() ([]byte, []int) { return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{1} } +// MsgSetBridgeInfo is a message to set the registered bridge information. +type MsgSetBridgeInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // the sender address + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + // bridge_info is the bridge information to be set. + BridgeInfo *BridgeInfo `protobuf:"bytes,2,opt,name=bridge_info,json=bridgeInfo,proto3" json:"bridge_info,omitempty"` +} + +func (x *MsgSetBridgeInfo) Reset() { + *x = MsgSetBridgeInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSetBridgeInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSetBridgeInfo) ProtoMessage() {} + +// Deprecated: Use MsgSetBridgeInfo.ProtoReflect.Descriptor instead. +func (*MsgSetBridgeInfo) Descriptor() ([]byte, []int) { + return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{2} +} + +func (x *MsgSetBridgeInfo) GetSender() string { + if x != nil { + return x.Sender + } + return "" +} + +func (x *MsgSetBridgeInfo) GetBridgeInfo() *BridgeInfo { + if x != nil { + return x.BridgeInfo + } + return nil +} + +// MsgSetBridgeInfoResponse returns set bridge info result data +type MsgSetBridgeInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgSetBridgeInfoResponse) Reset() { + *x = MsgSetBridgeInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSetBridgeInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSetBridgeInfoResponse) ProtoMessage() {} + +// Deprecated: Use MsgSetBridgeInfoResponse.ProtoReflect.Descriptor instead. +func (*MsgSetBridgeInfoResponse) Descriptor() ([]byte, []int) { + return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{3} +} + // MsgFinalizeTokenDeposit is a message to submit deposit funds from upper layer type MsgFinalizeTokenDeposit struct { state protoimpl.MessageState @@ -6878,7 +7806,7 @@ type MsgFinalizeTokenDeposit struct { func (x *MsgFinalizeTokenDeposit) Reset() { *x = MsgFinalizeTokenDeposit{} if protoimpl.UnsafeEnabled { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[2] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6892,7 +7820,7 @@ func (*MsgFinalizeTokenDeposit) ProtoMessage() {} // Deprecated: Use MsgFinalizeTokenDeposit.ProtoReflect.Descriptor instead. func (*MsgFinalizeTokenDeposit) Descriptor() ([]byte, []int) { - return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{2} + return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{4} } func (x *MsgFinalizeTokenDeposit) GetSender() string { @@ -6961,7 +7889,7 @@ type MsgFinalizeTokenDepositResponse struct { func (x *MsgFinalizeTokenDepositResponse) Reset() { *x = MsgFinalizeTokenDepositResponse{} if protoimpl.UnsafeEnabled { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[3] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6975,7 +7903,7 @@ func (*MsgFinalizeTokenDepositResponse) ProtoMessage() {} // Deprecated: Use MsgFinalizeTokenDepositResponse.ProtoReflect.Descriptor instead. func (*MsgFinalizeTokenDepositResponse) Descriptor() ([]byte, []int) { - return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{3} + return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{5} } // MsgInitiateTokenWithdrawal is a message to withdraw a new token from L2 to L1. @@ -6995,7 +7923,7 @@ type MsgInitiateTokenWithdrawal struct { func (x *MsgInitiateTokenWithdrawal) Reset() { *x = MsgInitiateTokenWithdrawal{} if protoimpl.UnsafeEnabled { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[4] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7009,7 +7937,7 @@ func (*MsgInitiateTokenWithdrawal) ProtoMessage() {} // Deprecated: Use MsgInitiateTokenWithdrawal.ProtoReflect.Descriptor instead. func (*MsgInitiateTokenWithdrawal) Descriptor() ([]byte, []int) { - return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{4} + return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{6} } func (x *MsgInitiateTokenWithdrawal) GetSender() string { @@ -7045,7 +7973,7 @@ type MsgInitiateTokenWithdrawalResponse struct { func (x *MsgInitiateTokenWithdrawalResponse) Reset() { *x = MsgInitiateTokenWithdrawalResponse{} if protoimpl.UnsafeEnabled { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[5] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7059,7 +7987,7 @@ func (*MsgInitiateTokenWithdrawalResponse) ProtoMessage() {} // Deprecated: Use MsgInitiateTokenWithdrawalResponse.ProtoReflect.Descriptor instead. func (*MsgInitiateTokenWithdrawalResponse) Descriptor() ([]byte, []int) { - return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{5} + return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{7} } func (x *MsgInitiateTokenWithdrawalResponse) GetSequence() uint64 { @@ -7086,7 +8014,7 @@ type MsgAddValidator struct { func (x *MsgAddValidator) Reset() { *x = MsgAddValidator{} if protoimpl.UnsafeEnabled { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[6] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7100,7 +8028,7 @@ func (*MsgAddValidator) ProtoMessage() {} // Deprecated: Use MsgAddValidator.ProtoReflect.Descriptor instead. func (*MsgAddValidator) Descriptor() ([]byte, []int) { - return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{6} + return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{8} } func (x *MsgAddValidator) GetAuthority() string { @@ -7141,7 +8069,7 @@ type MsgAddValidatorResponse struct { func (x *MsgAddValidatorResponse) Reset() { *x = MsgAddValidatorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[7] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7155,7 +8083,7 @@ func (*MsgAddValidatorResponse) ProtoMessage() {} // Deprecated: Use MsgAddValidatorResponse.ProtoReflect.Descriptor instead. func (*MsgAddValidatorResponse) Descriptor() ([]byte, []int) { - return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{7} + return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{9} } // MsgAddValidator is a message to remove a validator from designated list @@ -7174,7 +8102,7 @@ type MsgRemoveValidator struct { func (x *MsgRemoveValidator) Reset() { *x = MsgRemoveValidator{} if protoimpl.UnsafeEnabled { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[8] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7188,7 +8116,7 @@ func (*MsgRemoveValidator) ProtoMessage() {} // Deprecated: Use MsgRemoveValidator.ProtoReflect.Descriptor instead. func (*MsgRemoveValidator) Descriptor() ([]byte, []int) { - return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{8} + return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{10} } func (x *MsgRemoveValidator) GetAuthority() string { @@ -7215,7 +8143,7 @@ type MsgRemoveValidatorResponse struct { func (x *MsgRemoveValidatorResponse) Reset() { *x = MsgRemoveValidatorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[9] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7229,7 +8157,7 @@ func (*MsgRemoveValidatorResponse) ProtoMessage() {} // Deprecated: Use MsgRemoveValidatorResponse.ProtoReflect.Descriptor instead. func (*MsgRemoveValidatorResponse) Descriptor() ([]byte, []int) { - return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{9} + return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{11} } // MsgUpdateParams is a message to update parameters @@ -7248,7 +8176,7 @@ type MsgUpdateParams struct { func (x *MsgUpdateParams) Reset() { *x = MsgUpdateParams{} if protoimpl.UnsafeEnabled { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[10] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7262,7 +8190,7 @@ func (*MsgUpdateParams) ProtoMessage() {} // Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. func (*MsgUpdateParams) Descriptor() ([]byte, []int) { - return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{10} + return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{12} } func (x *MsgUpdateParams) GetAuthority() string { @@ -7289,7 +8217,7 @@ type MsgUpdateParamsResponse struct { func (x *MsgUpdateParamsResponse) Reset() { *x = MsgUpdateParamsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[11] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7303,7 +8231,7 @@ func (*MsgUpdateParamsResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { - return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{11} + return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{13} } // MsgSpendFeePool is a message to withdraw collected fees from the module @@ -7325,7 +8253,7 @@ type MsgSpendFeePool struct { func (x *MsgSpendFeePool) Reset() { *x = MsgSpendFeePool{} if protoimpl.UnsafeEnabled { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[12] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7339,7 +8267,7 @@ func (*MsgSpendFeePool) ProtoMessage() {} // Deprecated: Use MsgSpendFeePool.ProtoReflect.Descriptor instead. func (*MsgSpendFeePool) Descriptor() ([]byte, []int) { - return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{12} + return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{14} } func (x *MsgSpendFeePool) GetAuthority() string { @@ -7373,7 +8301,7 @@ type MsgSpendFeePoolResponse struct { func (x *MsgSpendFeePoolResponse) Reset() { *x = MsgSpendFeePoolResponse{} if protoimpl.UnsafeEnabled { - mi := &file_opinit_opchild_v1_tx_proto_msgTypes[13] + mi := &file_opinit_opchild_v1_tx_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7387,7 +8315,7 @@ func (*MsgSpendFeePoolResponse) ProtoMessage() {} // Deprecated: Use MsgSpendFeePoolResponse.ProtoReflect.Descriptor instead. func (*MsgSpendFeePoolResponse) Descriptor() ([]byte, []int) { - return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{13} + return file_opinit_opchild_v1_tx_proto_rawDescGZIP(), []int{15} } var File_opinit_opchild_v1_tx_proto protoreflect.FileDescriptor @@ -7419,189 +8347,210 @@ var file_opinit_opchild_v1_tx_proto_rawDesc = []byte{ 0xb0, 0x2a, 0x1a, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa6, 0x03, 0x0a, 0x17, - 0x4d, 0x73, 0x67, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xf2, 0xde, 0x1f, 0x0d, 0x79, 0x61, 0x6d, - 0x6c, 0x3a, 0x22, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x04, 0x66, 0x72, - 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x28, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x02, - 0x74, 0x6f, 0x12, 0x4d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x1a, 0xc8, - 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x0d, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x22, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x73, 0x65, 0x44, - 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0c, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x3a, 0x2f, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x8a, 0xe7, 0xb0, 0x2a, 0x1f, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x4d, 0x73, 0x67, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x49, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x57, 0x69, 0x74, 0x68, - 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x02, - 0x74, 0x6f, 0x12, 0x4d, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x1a, 0xc8, - 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x0d, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x22, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x3a, 0x32, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x8a, 0xe7, - 0xb0, 0x2a, 0x22, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x4d, 0x73, 0x67, 0x49, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x64, - 0x72, 0x61, 0x77, 0x61, 0x6c, 0x22, 0x40, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, - 0x69, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, - 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xba, 0x02, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x41, - 0x64, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x4a, 0x0a, 0x09, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, - 0xf2, 0xde, 0x1f, 0x10, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x22, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, - 0x72, 0x12, 0x45, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, - 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, - 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, - 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, - 0x3a, 0x32, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x17, 0x6f, 0x70, 0x63, - 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xd6, 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x4a, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xf2, 0xde, 0x1f, 0x10, 0x79, - 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xd2, + 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xca, 0x01, 0x0a, 0x10, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x41, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x29, 0xf2, 0xde, 0x1f, 0x0d, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x22, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x73, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x0b, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, + 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, + 0x2a, 0x01, 0x52, 0x0a, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x3a, 0x28, + 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x8a, 0xe7, 0xb0, 0x2a, 0x18, + 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa6, 0x03, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x46, 0x69, 0x6e, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x12, 0x41, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x29, 0xf2, 0xde, 0x1f, 0x0d, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x73, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x22, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x73, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x66, 0x72, 0x6f, + 0x6d, 0x12, 0x28, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x12, 0x45, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, + 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x4d, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x1a, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x0d, + 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa8, 0xe7, 0xb0, + 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x73, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1d, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x09, 0xc8, 0xde, 0x1f, + 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x2f, 0x82, 0xe7, + 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x8a, 0xe7, 0xb0, 0x2a, 0x1f, 0x6f, 0x70, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x4d, 0x73, 0x67, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x22, 0x21, 0x0a, + 0x1f, 0x4d, 0x73, 0x67, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xfb, 0x01, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x12, + 0x30, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x12, 0x28, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x2d, 0x82, 0xe7, 0xb0, 0x2a, 0x09, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x1a, 0x6f, 0x70, - 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4a, 0x0a, 0x09, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xf2, - 0xde, 0x1f, 0x10, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x22, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, - 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x2a, 0x82, 0xe7, 0xb0, 0x2a, 0x09, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x17, 0x6f, 0x70, - 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xbc, 0x02, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, - 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x4a, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x4d, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x1a, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x0d, + 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa8, 0xe7, 0xb0, + 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x32, 0x82, 0xe7, 0xb0, 0x2a, + 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x8a, 0xe7, 0xb0, 0x2a, 0x22, 0x6f, 0x70, 0x63, 0x68, + 0x69, 0x6c, 0x64, 0x2f, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x22, 0x40, + 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, + 0x22, 0xba, 0x02, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x4a, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xf2, 0xde, 0x1f, 0x10, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x12, 0x36, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x72, - 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x79, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, - 0x6f, 0x69, 0x6e, 0x42, 0x46, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x0d, 0x79, 0x61, 0x6d, - 0x6c, 0x3a, 0x22, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xaa, 0xdf, 0x1f, 0x28, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x3a, 0x2a, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x17, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, - 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x22, - 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x50, 0x6f, - 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xf7, 0x05, 0x0a, 0x03, 0x4d, - 0x73, 0x67, 0x12, 0x67, 0x0a, 0x0f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x11, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, + 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, + 0x79, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x3a, 0x32, 0x88, 0xa0, 0x1f, 0x00, 0xe8, + 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x17, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x4d, 0x73, + 0x67, 0x41, 0x64, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, + 0x17, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd6, 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x4a, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2c, 0xf2, 0xde, 0x1f, 0x10, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x11, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x3a, 0x2d, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x1a, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xbc, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x12, 0x4a, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xf2, 0xde, 0x1f, 0x10, 0x79, 0x61, 0x6d, 0x6c, + 0x3a, 0x22, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xd2, 0xb4, 0x2d, 0x14, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, + 0x31, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x3a, 0x2a, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x17, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, + 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbc, 0x02, 0x0a, 0x0f, 0x4d, 0x73, + 0x67, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x4a, 0x0a, + 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2c, 0xf2, 0xde, 0x1f, 0x10, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x72, 0x65, 0x63, + 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, + 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x79, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x46, 0xc8, 0xde, + 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x0d, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0xaa, 0xdf, 0x1f, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, + 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0xa8, + 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x2a, 0x82, 0xe7, + 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, + 0x17, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x6e, + 0x64, 0x46, 0x65, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, + 0x70, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x32, 0xda, 0x06, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x67, 0x0a, 0x0f, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x25, + 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x2d, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x2d, 0x2e, 0x6f, - 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x14, 0x46, - 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x12, 0x2a, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, - 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x1a, - 0x32, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, + 0x63, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, + 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, + 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x2b, 0x2e, 0x6f, 0x70, 0x69, + 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, + 0x2a, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x17, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x12, 0x2d, - 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x1a, 0x35, 0x2e, - 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, + 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x1a, 0x32, 0x2e, 0x6f, 0x70, + 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x7f, 0x0a, 0x17, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x12, 0x2d, 0x2e, 0x6f, 0x70, 0x69, + 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x57, + 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x1a, 0x35, 0x2e, 0x6f, 0x70, 0x69, 0x6e, + 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x57, 0x69, + 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5e, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x22, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, + 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x2a, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x2a, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, - 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x41, 0x64, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x25, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, - 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x2d, - 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, - 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x22, 0x2e, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x67, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x25, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x2d, 0x2e, 0x6f, 0x70, 0x69, + 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0c, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x22, 0x2e, 0x6f, 0x70, 0x69, 0x6e, + 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2a, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x1a, 0x2a, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, - 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, - 0x0c, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x22, 0x2e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0c, 0x53, 0x70, 0x65, + 0x6e, 0x64, 0x46, 0x65, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x22, 0x2e, 0x6f, 0x70, 0x69, 0x6e, + 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x1a, 0x2a, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x46, 0x65, 0x65, 0x50, 0x6f, 0x6f, - 0x6c, 0x1a, 0x2a, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, - 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x46, 0x65, - 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, - 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xc9, 0x01, 0xc8, 0xe1, 0x1e, 0x00, 0x0a, 0x15, 0x63, 0x6f, 0x6d, - 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, - 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x2d, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x4f, 0x50, 0x69, 0x6e, 0x69, 0x74, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2f, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, - 0x76, 0x31, 0x3b, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4f, - 0x4f, 0x58, 0xaa, 0x02, 0x11, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x4f, 0x70, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x11, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x5c, - 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1d, 0x4f, 0x70, 0x69, - 0x6e, 0x69, 0x74, 0x5c, 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x4f, 0x70, 0x69, - 0x6e, 0x69, 0x74, 0x3a, 0x3a, 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, + 0x42, 0xc9, 0x01, 0xc8, 0xe1, 0x1e, 0x00, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x6f, 0x70, 0x69, + 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x42, 0x07, + 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x2d, 0x6c, 0x61, 0x62, + 0x73, 0x2f, 0x4f, 0x50, 0x69, 0x6e, 0x69, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6f, 0x70, 0x69, + 0x6e, 0x69, 0x74, 0x2f, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x76, 0x31, 0x3b, 0x6f, + 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4f, 0x4f, 0x58, 0xaa, 0x02, + 0x11, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, + 0x56, 0x31, 0xca, 0x02, 0x11, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x5c, 0x4f, 0x70, 0x63, 0x68, + 0x69, 0x6c, 0x64, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1d, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x5c, + 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x3a, + 0x3a, 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -7616,52 +8565,58 @@ func file_opinit_opchild_v1_tx_proto_rawDescGZIP() []byte { return file_opinit_opchild_v1_tx_proto_rawDescData } -var file_opinit_opchild_v1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_opinit_opchild_v1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_opinit_opchild_v1_tx_proto_goTypes = []interface{}{ (*MsgExecuteMessages)(nil), // 0: opinit.opchild.v1.MsgExecuteMessages (*MsgExecuteMessagesResponse)(nil), // 1: opinit.opchild.v1.MsgExecuteMessagesResponse - (*MsgFinalizeTokenDeposit)(nil), // 2: opinit.opchild.v1.MsgFinalizeTokenDeposit - (*MsgFinalizeTokenDepositResponse)(nil), // 3: opinit.opchild.v1.MsgFinalizeTokenDepositResponse - (*MsgInitiateTokenWithdrawal)(nil), // 4: opinit.opchild.v1.MsgInitiateTokenWithdrawal - (*MsgInitiateTokenWithdrawalResponse)(nil), // 5: opinit.opchild.v1.MsgInitiateTokenWithdrawalResponse - (*MsgAddValidator)(nil), // 6: opinit.opchild.v1.MsgAddValidator - (*MsgAddValidatorResponse)(nil), // 7: opinit.opchild.v1.MsgAddValidatorResponse - (*MsgRemoveValidator)(nil), // 8: opinit.opchild.v1.MsgRemoveValidator - (*MsgRemoveValidatorResponse)(nil), // 9: opinit.opchild.v1.MsgRemoveValidatorResponse - (*MsgUpdateParams)(nil), // 10: opinit.opchild.v1.MsgUpdateParams - (*MsgUpdateParamsResponse)(nil), // 11: opinit.opchild.v1.MsgUpdateParamsResponse - (*MsgSpendFeePool)(nil), // 12: opinit.opchild.v1.MsgSpendFeePool - (*MsgSpendFeePoolResponse)(nil), // 13: opinit.opchild.v1.MsgSpendFeePoolResponse - (*anypb.Any)(nil), // 14: google.protobuf.Any - (*v1beta1.Coin)(nil), // 15: cosmos.base.v1beta1.Coin - (*Params)(nil), // 16: opinit.opchild.v1.Params + (*MsgSetBridgeInfo)(nil), // 2: opinit.opchild.v1.MsgSetBridgeInfo + (*MsgSetBridgeInfoResponse)(nil), // 3: opinit.opchild.v1.MsgSetBridgeInfoResponse + (*MsgFinalizeTokenDeposit)(nil), // 4: opinit.opchild.v1.MsgFinalizeTokenDeposit + (*MsgFinalizeTokenDepositResponse)(nil), // 5: opinit.opchild.v1.MsgFinalizeTokenDepositResponse + (*MsgInitiateTokenWithdrawal)(nil), // 6: opinit.opchild.v1.MsgInitiateTokenWithdrawal + (*MsgInitiateTokenWithdrawalResponse)(nil), // 7: opinit.opchild.v1.MsgInitiateTokenWithdrawalResponse + (*MsgAddValidator)(nil), // 8: opinit.opchild.v1.MsgAddValidator + (*MsgAddValidatorResponse)(nil), // 9: opinit.opchild.v1.MsgAddValidatorResponse + (*MsgRemoveValidator)(nil), // 10: opinit.opchild.v1.MsgRemoveValidator + (*MsgRemoveValidatorResponse)(nil), // 11: opinit.opchild.v1.MsgRemoveValidatorResponse + (*MsgUpdateParams)(nil), // 12: opinit.opchild.v1.MsgUpdateParams + (*MsgUpdateParamsResponse)(nil), // 13: opinit.opchild.v1.MsgUpdateParamsResponse + (*MsgSpendFeePool)(nil), // 14: opinit.opchild.v1.MsgSpendFeePool + (*MsgSpendFeePoolResponse)(nil), // 15: opinit.opchild.v1.MsgSpendFeePoolResponse + (*anypb.Any)(nil), // 16: google.protobuf.Any + (*BridgeInfo)(nil), // 17: opinit.opchild.v1.BridgeInfo + (*v1beta1.Coin)(nil), // 18: cosmos.base.v1beta1.Coin + (*Params)(nil), // 19: opinit.opchild.v1.Params } var file_opinit_opchild_v1_tx_proto_depIdxs = []int32{ - 14, // 0: opinit.opchild.v1.MsgExecuteMessages.messages:type_name -> google.protobuf.Any - 15, // 1: opinit.opchild.v1.MsgFinalizeTokenDeposit.amount:type_name -> cosmos.base.v1beta1.Coin - 15, // 2: opinit.opchild.v1.MsgInitiateTokenWithdrawal.amount:type_name -> cosmos.base.v1beta1.Coin - 14, // 3: opinit.opchild.v1.MsgAddValidator.pubkey:type_name -> google.protobuf.Any - 16, // 4: opinit.opchild.v1.MsgUpdateParams.params:type_name -> opinit.opchild.v1.Params - 15, // 5: opinit.opchild.v1.MsgSpendFeePool.amount:type_name -> cosmos.base.v1beta1.Coin - 0, // 6: opinit.opchild.v1.Msg.ExecuteMessages:input_type -> opinit.opchild.v1.MsgExecuteMessages - 2, // 7: opinit.opchild.v1.Msg.FinalizeTokenDeposit:input_type -> opinit.opchild.v1.MsgFinalizeTokenDeposit - 4, // 8: opinit.opchild.v1.Msg.InitiateTokenWithdrawal:input_type -> opinit.opchild.v1.MsgInitiateTokenWithdrawal - 6, // 9: opinit.opchild.v1.Msg.AddValidator:input_type -> opinit.opchild.v1.MsgAddValidator - 8, // 10: opinit.opchild.v1.Msg.RemoveValidator:input_type -> opinit.opchild.v1.MsgRemoveValidator - 10, // 11: opinit.opchild.v1.Msg.UpdateParams:input_type -> opinit.opchild.v1.MsgUpdateParams - 12, // 12: opinit.opchild.v1.Msg.SpendFeePool:input_type -> opinit.opchild.v1.MsgSpendFeePool - 1, // 13: opinit.opchild.v1.Msg.ExecuteMessages:output_type -> opinit.opchild.v1.MsgExecuteMessagesResponse - 3, // 14: opinit.opchild.v1.Msg.FinalizeTokenDeposit:output_type -> opinit.opchild.v1.MsgFinalizeTokenDepositResponse - 5, // 15: opinit.opchild.v1.Msg.InitiateTokenWithdrawal:output_type -> opinit.opchild.v1.MsgInitiateTokenWithdrawalResponse - 7, // 16: opinit.opchild.v1.Msg.AddValidator:output_type -> opinit.opchild.v1.MsgAddValidatorResponse - 9, // 17: opinit.opchild.v1.Msg.RemoveValidator:output_type -> opinit.opchild.v1.MsgRemoveValidatorResponse - 11, // 18: opinit.opchild.v1.Msg.UpdateParams:output_type -> opinit.opchild.v1.MsgUpdateParamsResponse - 13, // 19: opinit.opchild.v1.Msg.SpendFeePool:output_type -> opinit.opchild.v1.MsgSpendFeePoolResponse - 13, // [13:20] is the sub-list for method output_type - 6, // [6:13] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 16, // 0: opinit.opchild.v1.MsgExecuteMessages.messages:type_name -> google.protobuf.Any + 17, // 1: opinit.opchild.v1.MsgSetBridgeInfo.bridge_info:type_name -> opinit.opchild.v1.BridgeInfo + 18, // 2: opinit.opchild.v1.MsgFinalizeTokenDeposit.amount:type_name -> cosmos.base.v1beta1.Coin + 18, // 3: opinit.opchild.v1.MsgInitiateTokenWithdrawal.amount:type_name -> cosmos.base.v1beta1.Coin + 16, // 4: opinit.opchild.v1.MsgAddValidator.pubkey:type_name -> google.protobuf.Any + 19, // 5: opinit.opchild.v1.MsgUpdateParams.params:type_name -> opinit.opchild.v1.Params + 18, // 6: opinit.opchild.v1.MsgSpendFeePool.amount:type_name -> cosmos.base.v1beta1.Coin + 0, // 7: opinit.opchild.v1.Msg.ExecuteMessages:input_type -> opinit.opchild.v1.MsgExecuteMessages + 2, // 8: opinit.opchild.v1.Msg.SetBridgeInfo:input_type -> opinit.opchild.v1.MsgSetBridgeInfo + 4, // 9: opinit.opchild.v1.Msg.FinalizeTokenDeposit:input_type -> opinit.opchild.v1.MsgFinalizeTokenDeposit + 6, // 10: opinit.opchild.v1.Msg.InitiateTokenWithdrawal:input_type -> opinit.opchild.v1.MsgInitiateTokenWithdrawal + 8, // 11: opinit.opchild.v1.Msg.AddValidator:input_type -> opinit.opchild.v1.MsgAddValidator + 10, // 12: opinit.opchild.v1.Msg.RemoveValidator:input_type -> opinit.opchild.v1.MsgRemoveValidator + 12, // 13: opinit.opchild.v1.Msg.UpdateParams:input_type -> opinit.opchild.v1.MsgUpdateParams + 14, // 14: opinit.opchild.v1.Msg.SpendFeePool:input_type -> opinit.opchild.v1.MsgSpendFeePool + 1, // 15: opinit.opchild.v1.Msg.ExecuteMessages:output_type -> opinit.opchild.v1.MsgExecuteMessagesResponse + 3, // 16: opinit.opchild.v1.Msg.SetBridgeInfo:output_type -> opinit.opchild.v1.MsgSetBridgeInfoResponse + 5, // 17: opinit.opchild.v1.Msg.FinalizeTokenDeposit:output_type -> opinit.opchild.v1.MsgFinalizeTokenDepositResponse + 7, // 18: opinit.opchild.v1.Msg.InitiateTokenWithdrawal:output_type -> opinit.opchild.v1.MsgInitiateTokenWithdrawalResponse + 9, // 19: opinit.opchild.v1.Msg.AddValidator:output_type -> opinit.opchild.v1.MsgAddValidatorResponse + 11, // 20: opinit.opchild.v1.Msg.RemoveValidator:output_type -> opinit.opchild.v1.MsgRemoveValidatorResponse + 13, // 21: opinit.opchild.v1.Msg.UpdateParams:output_type -> opinit.opchild.v1.MsgUpdateParamsResponse + 15, // 22: opinit.opchild.v1.Msg.SpendFeePool:output_type -> opinit.opchild.v1.MsgSpendFeePoolResponse + 15, // [15:23] is the sub-list for method output_type + 7, // [7:15] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_opinit_opchild_v1_tx_proto_init() } @@ -7696,7 +8651,7 @@ func file_opinit_opchild_v1_tx_proto_init() { } } file_opinit_opchild_v1_tx_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgFinalizeTokenDeposit); i { + switch v := v.(*MsgSetBridgeInfo); i { case 0: return &v.state case 1: @@ -7708,7 +8663,7 @@ func file_opinit_opchild_v1_tx_proto_init() { } } file_opinit_opchild_v1_tx_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgFinalizeTokenDepositResponse); i { + switch v := v.(*MsgSetBridgeInfoResponse); i { case 0: return &v.state case 1: @@ -7720,7 +8675,7 @@ func file_opinit_opchild_v1_tx_proto_init() { } } file_opinit_opchild_v1_tx_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgInitiateTokenWithdrawal); i { + switch v := v.(*MsgFinalizeTokenDeposit); i { case 0: return &v.state case 1: @@ -7732,7 +8687,7 @@ func file_opinit_opchild_v1_tx_proto_init() { } } file_opinit_opchild_v1_tx_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgInitiateTokenWithdrawalResponse); i { + switch v := v.(*MsgFinalizeTokenDepositResponse); i { case 0: return &v.state case 1: @@ -7744,7 +8699,7 @@ func file_opinit_opchild_v1_tx_proto_init() { } } file_opinit_opchild_v1_tx_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAddValidator); i { + switch v := v.(*MsgInitiateTokenWithdrawal); i { case 0: return &v.state case 1: @@ -7756,7 +8711,7 @@ func file_opinit_opchild_v1_tx_proto_init() { } } file_opinit_opchild_v1_tx_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAddValidatorResponse); i { + switch v := v.(*MsgInitiateTokenWithdrawalResponse); i { case 0: return &v.state case 1: @@ -7768,7 +8723,7 @@ func file_opinit_opchild_v1_tx_proto_init() { } } file_opinit_opchild_v1_tx_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgRemoveValidator); i { + switch v := v.(*MsgAddValidator); i { case 0: return &v.state case 1: @@ -7780,7 +8735,7 @@ func file_opinit_opchild_v1_tx_proto_init() { } } file_opinit_opchild_v1_tx_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgRemoveValidatorResponse); i { + switch v := v.(*MsgAddValidatorResponse); i { case 0: return &v.state case 1: @@ -7792,7 +8747,7 @@ func file_opinit_opchild_v1_tx_proto_init() { } } file_opinit_opchild_v1_tx_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateParams); i { + switch v := v.(*MsgRemoveValidator); i { case 0: return &v.state case 1: @@ -7804,7 +8759,7 @@ func file_opinit_opchild_v1_tx_proto_init() { } } file_opinit_opchild_v1_tx_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateParamsResponse); i { + switch v := v.(*MsgRemoveValidatorResponse); i { case 0: return &v.state case 1: @@ -7816,7 +8771,7 @@ func file_opinit_opchild_v1_tx_proto_init() { } } file_opinit_opchild_v1_tx_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSpendFeePool); i { + switch v := v.(*MsgUpdateParams); i { case 0: return &v.state case 1: @@ -7828,6 +8783,30 @@ func file_opinit_opchild_v1_tx_proto_init() { } } file_opinit_opchild_v1_tx_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateParamsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_opinit_opchild_v1_tx_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSpendFeePool); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_opinit_opchild_v1_tx_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSpendFeePoolResponse); i { case 0: return &v.state @@ -7846,7 +8825,7 @@ func file_opinit_opchild_v1_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_opinit_opchild_v1_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 14, + NumMessages: 16, NumExtensions: 0, NumServices: 1, }, diff --git a/api/opinit/opchild/v1/tx_grpc.pb.go b/api/opinit/opchild/v1/tx_grpc.pb.go index 71eae54f..2dcef549 100644 --- a/api/opinit/opchild/v1/tx_grpc.pb.go +++ b/api/opinit/opchild/v1/tx_grpc.pb.go @@ -20,6 +20,7 @@ const _ = grpc.SupportPackageIsVersion7 const ( Msg_ExecuteMessages_FullMethodName = "/opinit.opchild.v1.Msg/ExecuteMessages" + Msg_SetBridgeInfo_FullMethodName = "/opinit.opchild.v1.Msg/SetBridgeInfo" Msg_FinalizeTokenDeposit_FullMethodName = "/opinit.opchild.v1.Msg/FinalizeTokenDeposit" Msg_InitiateTokenWithdrawal_FullMethodName = "/opinit.opchild.v1.Msg/InitiateTokenWithdrawal" Msg_AddValidator_FullMethodName = "/opinit.opchild.v1.Msg/AddValidator" @@ -34,6 +35,8 @@ const ( type MsgClient interface { // ExecuteMessages defines a rpc handler method for MsgExecuteMessages. ExecuteMessages(ctx context.Context, in *MsgExecuteMessages, opts ...grpc.CallOption) (*MsgExecuteMessagesResponse, error) + // SetBridgeInfo defines a rpc handler method for MsgSetBridgeInfo. + SetBridgeInfo(ctx context.Context, in *MsgSetBridgeInfo, opts ...grpc.CallOption) (*MsgSetBridgeInfoResponse, error) // FinalizeTokenDeposit defines a rpc handler method for MsgFinalizeTokenDeposit. FinalizeTokenDeposit(ctx context.Context, in *MsgFinalizeTokenDeposit, opts ...grpc.CallOption) (*MsgFinalizeTokenDepositResponse, error) // InitiateTokenWithdrawal defines a user facing l2 => l1 token transfer interface. @@ -66,6 +69,15 @@ func (c *msgClient) ExecuteMessages(ctx context.Context, in *MsgExecuteMessages, return out, nil } +func (c *msgClient) SetBridgeInfo(ctx context.Context, in *MsgSetBridgeInfo, opts ...grpc.CallOption) (*MsgSetBridgeInfoResponse, error) { + out := new(MsgSetBridgeInfoResponse) + err := c.cc.Invoke(ctx, Msg_SetBridgeInfo_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) FinalizeTokenDeposit(ctx context.Context, in *MsgFinalizeTokenDeposit, opts ...grpc.CallOption) (*MsgFinalizeTokenDepositResponse, error) { out := new(MsgFinalizeTokenDepositResponse) err := c.cc.Invoke(ctx, Msg_FinalizeTokenDeposit_FullMethodName, in, out, opts...) @@ -126,6 +138,8 @@ func (c *msgClient) SpendFeePool(ctx context.Context, in *MsgSpendFeePool, opts type MsgServer interface { // ExecuteMessages defines a rpc handler method for MsgExecuteMessages. ExecuteMessages(context.Context, *MsgExecuteMessages) (*MsgExecuteMessagesResponse, error) + // SetBridgeInfo defines a rpc handler method for MsgSetBridgeInfo. + SetBridgeInfo(context.Context, *MsgSetBridgeInfo) (*MsgSetBridgeInfoResponse, error) // FinalizeTokenDeposit defines a rpc handler method for MsgFinalizeTokenDeposit. FinalizeTokenDeposit(context.Context, *MsgFinalizeTokenDeposit) (*MsgFinalizeTokenDepositResponse, error) // InitiateTokenWithdrawal defines a user facing l2 => l1 token transfer interface. @@ -149,6 +163,9 @@ type UnimplementedMsgServer struct { func (UnimplementedMsgServer) ExecuteMessages(context.Context, *MsgExecuteMessages) (*MsgExecuteMessagesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ExecuteMessages not implemented") } +func (UnimplementedMsgServer) SetBridgeInfo(context.Context, *MsgSetBridgeInfo) (*MsgSetBridgeInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetBridgeInfo not implemented") +} func (UnimplementedMsgServer) FinalizeTokenDeposit(context.Context, *MsgFinalizeTokenDeposit) (*MsgFinalizeTokenDepositResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FinalizeTokenDeposit not implemented") } @@ -198,6 +215,24 @@ func _Msg_ExecuteMessages_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Msg_SetBridgeInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetBridgeInfo) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetBridgeInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SetBridgeInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetBridgeInfo(ctx, req.(*MsgSetBridgeInfo)) + } + return interceptor(ctx, in, info, handler) +} + func _Msg_FinalizeTokenDeposit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgFinalizeTokenDeposit) if err := dec(in); err != nil { @@ -317,6 +352,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "ExecuteMessages", Handler: _Msg_ExecuteMessages_Handler, }, + { + MethodName: "SetBridgeInfo", + Handler: _Msg_SetBridgeInfo_Handler, + }, { MethodName: "FinalizeTokenDeposit", Handler: _Msg_FinalizeTokenDeposit_Handler, diff --git a/api/opinit/opchild/v1/types.pulsar.go b/api/opinit/opchild/v1/types.pulsar.go index d77cf483..0823465a 100644 --- a/api/opinit/opchild/v1/types.pulsar.go +++ b/api/opinit/opchild/v1/types.pulsar.go @@ -9,6 +9,7 @@ import ( _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" + v1 "github.com/initia-labs/OPinit/api/opinit/ophost/v1" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -1841,6 +1842,553 @@ func (x *fastReflection_ValidatorUpdates) ProtoMethods() *protoiface.Methods { } } +var ( + md_BridgeInfo protoreflect.MessageDescriptor + fd_BridgeInfo_bridge_id protoreflect.FieldDescriptor + fd_BridgeInfo_bridge_addr protoreflect.FieldDescriptor + fd_BridgeInfo_bridge_config protoreflect.FieldDescriptor +) + +func init() { + file_opinit_opchild_v1_types_proto_init() + md_BridgeInfo = File_opinit_opchild_v1_types_proto.Messages().ByName("BridgeInfo") + fd_BridgeInfo_bridge_id = md_BridgeInfo.Fields().ByName("bridge_id") + fd_BridgeInfo_bridge_addr = md_BridgeInfo.Fields().ByName("bridge_addr") + fd_BridgeInfo_bridge_config = md_BridgeInfo.Fields().ByName("bridge_config") +} + +var _ protoreflect.Message = (*fastReflection_BridgeInfo)(nil) + +type fastReflection_BridgeInfo BridgeInfo + +func (x *BridgeInfo) ProtoReflect() protoreflect.Message { + return (*fastReflection_BridgeInfo)(x) +} + +func (x *BridgeInfo) slowProtoReflect() protoreflect.Message { + mi := &file_opinit_opchild_v1_types_proto_msgTypes[3] + 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_BridgeInfo_messageType fastReflection_BridgeInfo_messageType +var _ protoreflect.MessageType = fastReflection_BridgeInfo_messageType{} + +type fastReflection_BridgeInfo_messageType struct{} + +func (x fastReflection_BridgeInfo_messageType) Zero() protoreflect.Message { + return (*fastReflection_BridgeInfo)(nil) +} +func (x fastReflection_BridgeInfo_messageType) New() protoreflect.Message { + return new(fastReflection_BridgeInfo) +} +func (x fastReflection_BridgeInfo_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_BridgeInfo +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_BridgeInfo) Descriptor() protoreflect.MessageDescriptor { + return md_BridgeInfo +} + +// 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_BridgeInfo) Type() protoreflect.MessageType { + return _fastReflection_BridgeInfo_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_BridgeInfo) New() protoreflect.Message { + return new(fastReflection_BridgeInfo) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_BridgeInfo) Interface() protoreflect.ProtoMessage { + return (*BridgeInfo)(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_BridgeInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.BridgeId != uint64(0) { + value := protoreflect.ValueOfUint64(x.BridgeId) + if !f(fd_BridgeInfo_bridge_id, value) { + return + } + } + if x.BridgeAddr != "" { + value := protoreflect.ValueOfString(x.BridgeAddr) + if !f(fd_BridgeInfo_bridge_addr, value) { + return + } + } + if x.BridgeConfig != nil { + value := protoreflect.ValueOfMessage(x.BridgeConfig.ProtoReflect()) + if !f(fd_BridgeInfo_bridge_config, value) { + return + } + } +} + +// 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_BridgeInfo) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "opinit.opchild.v1.BridgeInfo.bridge_id": + return x.BridgeId != uint64(0) + case "opinit.opchild.v1.BridgeInfo.bridge_addr": + return x.BridgeAddr != "" + case "opinit.opchild.v1.BridgeInfo.bridge_config": + return x.BridgeConfig != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.BridgeInfo")) + } + panic(fmt.Errorf("message opinit.opchild.v1.BridgeInfo 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_BridgeInfo) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "opinit.opchild.v1.BridgeInfo.bridge_id": + x.BridgeId = uint64(0) + case "opinit.opchild.v1.BridgeInfo.bridge_addr": + x.BridgeAddr = "" + case "opinit.opchild.v1.BridgeInfo.bridge_config": + x.BridgeConfig = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.BridgeInfo")) + } + panic(fmt.Errorf("message opinit.opchild.v1.BridgeInfo 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_BridgeInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "opinit.opchild.v1.BridgeInfo.bridge_id": + value := x.BridgeId + return protoreflect.ValueOfUint64(value) + case "opinit.opchild.v1.BridgeInfo.bridge_addr": + value := x.BridgeAddr + return protoreflect.ValueOfString(value) + case "opinit.opchild.v1.BridgeInfo.bridge_config": + value := x.BridgeConfig + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.BridgeInfo")) + } + panic(fmt.Errorf("message opinit.opchild.v1.BridgeInfo 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_BridgeInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "opinit.opchild.v1.BridgeInfo.bridge_id": + x.BridgeId = value.Uint() + case "opinit.opchild.v1.BridgeInfo.bridge_addr": + x.BridgeAddr = value.Interface().(string) + case "opinit.opchild.v1.BridgeInfo.bridge_config": + x.BridgeConfig = value.Message().Interface().(*v1.BridgeConfig) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.BridgeInfo")) + } + panic(fmt.Errorf("message opinit.opchild.v1.BridgeInfo 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_BridgeInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "opinit.opchild.v1.BridgeInfo.bridge_config": + if x.BridgeConfig == nil { + x.BridgeConfig = new(v1.BridgeConfig) + } + return protoreflect.ValueOfMessage(x.BridgeConfig.ProtoReflect()) + case "opinit.opchild.v1.BridgeInfo.bridge_id": + panic(fmt.Errorf("field bridge_id of message opinit.opchild.v1.BridgeInfo is not mutable")) + case "opinit.opchild.v1.BridgeInfo.bridge_addr": + panic(fmt.Errorf("field bridge_addr of message opinit.opchild.v1.BridgeInfo is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.BridgeInfo")) + } + panic(fmt.Errorf("message opinit.opchild.v1.BridgeInfo 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_BridgeInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "opinit.opchild.v1.BridgeInfo.bridge_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "opinit.opchild.v1.BridgeInfo.bridge_addr": + return protoreflect.ValueOfString("") + case "opinit.opchild.v1.BridgeInfo.bridge_config": + m := new(v1.BridgeConfig) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: opinit.opchild.v1.BridgeInfo")) + } + panic(fmt.Errorf("message opinit.opchild.v1.BridgeInfo 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_BridgeInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in opinit.opchild.v1.BridgeInfo", 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_BridgeInfo) 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_BridgeInfo) 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_BridgeInfo) 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_BridgeInfo) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*BridgeInfo) + 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.BridgeId != 0 { + n += 1 + runtime.Sov(uint64(x.BridgeId)) + } + l = len(x.BridgeAddr) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.BridgeConfig != nil { + l = options.Size(x.BridgeConfig) + n += 1 + l + runtime.Sov(uint64(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().(*BridgeInfo) + 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 x.BridgeConfig != nil { + encoded, err := options.Marshal(x.BridgeConfig) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + if len(x.BridgeAddr) > 0 { + i -= len(x.BridgeAddr) + copy(dAtA[i:], x.BridgeAddr) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BridgeAddr))) + i-- + dAtA[i] = 0x12 + } + if x.BridgeId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BridgeId)) + i-- + dAtA[i] = 0x8 + } + 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().(*BridgeInfo) + 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: BridgeInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: BridgeInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BridgeId", wireType) + } + x.BridgeId = 0 + 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++ + x.BridgeId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BridgeAddr", wireType) + } + var stringLen 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++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.BridgeAddr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BridgeConfig", wireType) + } + var msglen int + 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++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.BridgeConfig == nil { + x.BridgeConfig = &v1.BridgeConfig{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.BridgeConfig); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + 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, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -2036,6 +2584,61 @@ func (x *ValidatorUpdates) GetUpdates() []*abci.ValidatorUpdate { return nil } +// BridgeInfo defines the information of the bridge. +type BridgeInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // bridge id is the unique identifier of the bridge which is assigned from l1. + BridgeId uint64 `protobuf:"varint,1,opt,name=bridge_id,json=bridgeId,proto3" json:"bridge_id,omitempty"` + // bridge_addr is the address of the bridge on l1. + BridgeAddr string `protobuf:"bytes,2,opt,name=bridge_addr,json=bridgeAddr,proto3" json:"bridge_addr,omitempty"` + // bridge_config is the configuration of the bridge. + BridgeConfig *v1.BridgeConfig `protobuf:"bytes,3,opt,name=bridge_config,json=bridgeConfig,proto3" json:"bridge_config,omitempty"` +} + +func (x *BridgeInfo) Reset() { + *x = BridgeInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_opinit_opchild_v1_types_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BridgeInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BridgeInfo) ProtoMessage() {} + +// Deprecated: Use BridgeInfo.ProtoReflect.Descriptor instead. +func (*BridgeInfo) Descriptor() ([]byte, []int) { + return file_opinit_opchild_v1_types_proto_rawDescGZIP(), []int{3} +} + +func (x *BridgeInfo) GetBridgeId() uint64 { + if x != nil { + return x.BridgeId + } + return 0 +} + +func (x *BridgeInfo) GetBridgeAddr() string { + if x != nil { + return x.BridgeAddr + } + return "" +} + +func (x *BridgeInfo) GetBridgeConfig() *v1.BridgeConfig { + if x != nil { + return x.BridgeConfig + } + return nil +} + var File_opinit_opchild_v1_types_proto protoreflect.FileDescriptor var file_opinit_opchild_v1_types_proto_rawDesc = []byte{ @@ -2051,78 +2654,91 @@ var file_opinit_opchild_v1_types_proto_rawDesc = []byte{ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x61, 0x62, - 0x63, 0x69, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, - 0x03, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x6d, 0x61, 0x78, - 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x42, 0x19, 0xf2, 0xde, 0x1f, 0x15, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6d, 0x61, 0x78, - 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x52, 0x0d, 0x6d, 0x61, - 0x78, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x68, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x1d, 0xf2, 0xde, 0x1f, 0x19, 0x79, 0x61, 0x6d, - 0x6c, 0x3a, 0x22, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x6e, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x52, 0x11, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, - 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x8f, 0x01, 0x0a, 0x0e, 0x6d, 0x69, - 0x6e, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x43, 0x6f, 0x69, 0x6e, - 0x42, 0x4b, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x14, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, - 0x6d, 0x69, 0x6e, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0xaa, 0xdf, - 0x1f, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x0c, 0x6d, - 0x69, 0x6e, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x0f, 0x62, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xf2, 0xde, 0x1f, 0x16, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, - 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x22, - 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x62, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x12, 0x43, 0x0a, - 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xf2, 0xde, - 0x1f, 0x0c, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0xd2, 0xb4, + 0x63, 0x69, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2f, 0x6f, 0x70, 0x68, 0x6f, 0x73, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x03, 0x0a, + 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, + 0x19, 0xf2, 0xde, 0x1f, 0x15, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6d, 0x61, 0x78, 0x5f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x68, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x1d, 0xf2, 0xde, 0x1f, 0x19, 0x79, 0x61, 0x6d, 0x6c, 0x3a, + 0x22, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x22, 0x52, 0x11, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, + 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x8f, 0x01, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, + 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x4b, + 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x14, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6d, 0x69, + 0x6e, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0xaa, 0xdf, 0x1f, 0x2b, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x0c, 0x6d, 0x69, 0x6e, + 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x0f, 0x62, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x37, 0xf2, 0xde, 0x1f, 0x16, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x62, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x22, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x05, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x3a, 0x1b, 0x98, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, - 0x0e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, - 0xbb, 0x02, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, - 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x12, - 0xf2, 0xde, 0x1f, 0x0e, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, - 0x72, 0x22, 0x52, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x10, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xf2, 0xde, 0x1f, 0x17, 0x79, 0x61, 0x6d, 0x6c, 0x3a, - 0x22, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x22, 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x74, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, - 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x41, 0x6e, 0x79, 0x42, 0x33, 0xf2, 0xde, 0x1f, 0x17, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x63, - 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, - 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, - 0x73, 0x75, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, - 0x73, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, 0xf2, - 0xde, 0x1f, 0x11, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x6f, - 0x77, 0x65, 0x72, 0x22, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x3a, - 0x0c, 0x88, 0xa0, 0x1f, 0x00, 0x98, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x5f, 0x0a, - 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x12, 0x45, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, - 0x61, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, - 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x42, 0xd0, - 0x01, 0xc8, 0xe1, 0x1e, 0x00, 0xa8, 0xe2, 0x1e, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x6f, - 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, - 0x42, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x2d, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x4f, 0x50, 0x69, 0x6e, 0x69, 0x74, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2f, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, - 0x2f, 0x76, 0x31, 0x3b, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, - 0x4f, 0x4f, 0x58, 0xaa, 0x02, 0x11, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x4f, 0x70, 0x63, - 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x11, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, - 0x5c, 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1d, 0x4f, 0x70, - 0x69, 0x6e, 0x69, 0x74, 0x5c, 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5c, 0x56, 0x31, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x4f, 0x70, - 0x69, 0x6e, 0x69, 0x74, 0x3a, 0x3a, 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3a, 0x3a, 0x56, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x62, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x05, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xf2, 0xde, 0x1f, 0x0c, + 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0xd2, 0xb4, 0x2d, 0x14, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x3a, 0x1b, 0x98, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x0e, 0x6f, + 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xbb, 0x02, + 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x07, 0x6d, + 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x12, 0xf2, 0xde, + 0x1f, 0x0e, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x22, + 0x52, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x10, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x1b, 0xf2, 0xde, 0x1f, 0x17, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, + 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x74, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x70, + 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, + 0x79, 0x42, 0x33, 0xf2, 0xde, 0x1f, 0x17, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x63, 0x6f, 0x6e, + 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0xca, 0xb4, + 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, + 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, + 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x5f, + 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x15, 0xf2, 0xde, 0x1f, + 0x11, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x6f, 0x77, 0x65, + 0x72, 0x22, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x3a, 0x0c, 0x88, + 0xa0, 0x1f, 0x00, 0x98, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x5f, 0x0a, 0x10, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, + 0x45, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x61, 0x62, + 0x63, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xb4, 0x01, 0x0a, + 0x0a, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x62, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, + 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0b, 0x62, 0x72, 0x69, 0x64, + 0x67, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, + 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x41, + 0x64, 0x64, 0x72, 0x12, 0x4e, 0x0a, 0x0d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x69, + 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, + 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x42, 0xd0, 0x01, 0xc8, 0xe1, 0x1e, 0x00, 0xa8, 0xe2, 0x1e, 0x01, 0x0a, 0x15, + 0x63, 0x6f, 0x6d, 0x2e, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x6f, 0x70, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x2d, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x4f, 0x50, 0x69, 0x6e, + 0x69, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x2f, 0x6f, 0x70, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2f, 0x76, 0x31, 0x3b, 0x6f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, + 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4f, 0x4f, 0x58, 0xaa, 0x02, 0x11, 0x4f, 0x70, 0x69, 0x6e, 0x69, + 0x74, 0x2e, 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x11, 0x4f, + 0x70, 0x69, 0x6e, 0x69, 0x74, 0x5c, 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5c, 0x56, 0x31, + 0xe2, 0x02, 0x1d, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x5c, 0x4f, 0x70, 0x63, 0x68, 0x69, 0x6c, + 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x13, 0x4f, 0x70, 0x69, 0x6e, 0x69, 0x74, 0x3a, 0x3a, 0x4f, 0x70, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2137,24 +2753,27 @@ func file_opinit_opchild_v1_types_proto_rawDescGZIP() []byte { return file_opinit_opchild_v1_types_proto_rawDescData } -var file_opinit_opchild_v1_types_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_opinit_opchild_v1_types_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_opinit_opchild_v1_types_proto_goTypes = []interface{}{ (*Params)(nil), // 0: opinit.opchild.v1.Params (*Validator)(nil), // 1: opinit.opchild.v1.Validator (*ValidatorUpdates)(nil), // 2: opinit.opchild.v1.ValidatorUpdates - (*v1beta1.DecCoin)(nil), // 3: cosmos.base.v1beta1.DecCoin - (*anypb.Any)(nil), // 4: google.protobuf.Any - (*abci.ValidatorUpdate)(nil), // 5: tendermint.abci.ValidatorUpdate + (*BridgeInfo)(nil), // 3: opinit.opchild.v1.BridgeInfo + (*v1beta1.DecCoin)(nil), // 4: cosmos.base.v1beta1.DecCoin + (*anypb.Any)(nil), // 5: google.protobuf.Any + (*abci.ValidatorUpdate)(nil), // 6: tendermint.abci.ValidatorUpdate + (*v1.BridgeConfig)(nil), // 7: opinit.ophost.v1.BridgeConfig } var file_opinit_opchild_v1_types_proto_depIdxs = []int32{ - 3, // 0: opinit.opchild.v1.Params.min_gas_prices:type_name -> cosmos.base.v1beta1.DecCoin - 4, // 1: opinit.opchild.v1.Validator.consensus_pubkey:type_name -> google.protobuf.Any - 5, // 2: opinit.opchild.v1.ValidatorUpdates.updates:type_name -> tendermint.abci.ValidatorUpdate - 3, // [3:3] is the sub-list for method output_type - 3, // [3:3] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name + 4, // 0: opinit.opchild.v1.Params.min_gas_prices:type_name -> cosmos.base.v1beta1.DecCoin + 5, // 1: opinit.opchild.v1.Validator.consensus_pubkey:type_name -> google.protobuf.Any + 6, // 2: opinit.opchild.v1.ValidatorUpdates.updates:type_name -> tendermint.abci.ValidatorUpdate + 7, // 3: opinit.opchild.v1.BridgeInfo.bridge_config:type_name -> opinit.ophost.v1.BridgeConfig + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name } func init() { file_opinit_opchild_v1_types_proto_init() } @@ -2199,6 +2818,18 @@ func file_opinit_opchild_v1_types_proto_init() { return nil } } + file_opinit_opchild_v1_types_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BridgeInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -2206,7 +2837,7 @@ func file_opinit_opchild_v1_types_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_opinit_opchild_v1_types_proto_rawDesc, NumEnums: 0, - NumMessages: 3, + NumMessages: 4, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/opinit/opchild/v1/query.proto b/proto/opinit/opchild/v1/query.proto index 5f81d624..34597f7a 100644 --- a/proto/opinit/opchild/v1/query.proto +++ b/proto/opinit/opchild/v1/query.proto @@ -28,6 +28,11 @@ service Query { option (google.api.http).get = "/opinit/opchild/v1/validator/{validator_addr}"; } + rpc BridgeInfo(QueryBridgeInfoRequest) returns (QueryBridgeInfoResponse) { + option (cosmos.query.v1.module_query_safe) = true; + option (google.api.http).get = "/opinit/opchild/v1/bridge_info"; + } + // Parameters queries the rollup parameters. rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { option (cosmos.query.v1.module_query_safe) = true; @@ -62,6 +67,15 @@ message QueryValidatorResponse { Validator validator = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } +// QueryBridgeInfoRequest is request type for the Query/BridgeInfo RPC method. +message QueryBridgeInfoRequest {} + +// QueryBridgeInfoResponse is response type for the Query/BridgeInfo RPC method. +message QueryBridgeInfoResponse { + // bridge_info holds all the information about the bridge. + BridgeInfo bridge_info = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; +} + // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} diff --git a/proto/opinit/opchild/v1/tx.proto b/proto/opinit/opchild/v1/tx.proto index a57a54d7..e3e3a0eb 100644 --- a/proto/opinit/opchild/v1/tx.proto +++ b/proto/opinit/opchild/v1/tx.proto @@ -25,6 +25,9 @@ service Msg { //////////////////////////// // Bridge Executor Messages + // SetBridgeInfo defines a rpc handler method for MsgSetBridgeInfo. + rpc SetBridgeInfo(MsgSetBridgeInfo) returns (MsgSetBridgeInfoResponse); + // FinalizeTokenDeposit defines a rpc handler method for MsgFinalizeTokenDeposit. rpc FinalizeTokenDeposit(MsgFinalizeTokenDeposit) returns (MsgFinalizeTokenDepositResponse); @@ -73,6 +76,21 @@ message MsgExecuteMessagesResponse {} ///////////////////////////// // Bridge Executor messages +// MsgSetBridgeInfo is a message to set the registered bridge information. +message MsgSetBridgeInfo { + option (cosmos.msg.v1.signer) = "sender"; + option (amino.name) = "opchild/MsgSetBridgeInfo"; + + // the sender address + string sender = 1 [(gogoproto.moretags) = "yaml:\"sender\"", (cosmos_proto.scalar) = "cosmos.AddressString"]; + + // bridge_info is the bridge information to be set. + BridgeInfo bridge_info = 2 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; +} + +// MsgSetBridgeInfoResponse returns set bridge info result data +message MsgSetBridgeInfoResponse {} + // MsgFinalizeTokenDeposit is a message to submit deposit funds from upper layer message MsgFinalizeTokenDeposit { option (cosmos.msg.v1.signer) = "sender"; diff --git a/proto/opinit/opchild/v1/types.proto b/proto/opinit/opchild/v1/types.proto index fcf21f8a..71aa4148 100644 --- a/proto/opinit/opchild/v1/types.proto +++ b/proto/opinit/opchild/v1/types.proto @@ -7,6 +7,7 @@ import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; import "tendermint/abci/types.proto"; +import "opinit/ophost/v1/types.proto"; option go_package = "github.com/initia-labs/OPinit/x/opchild/types"; option (gogoproto.equal_all) = true; @@ -74,3 +75,15 @@ message ValidatorUpdates { repeated tendermint.abci.ValidatorUpdate updates = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } + +// BridgeInfo defines the information of the bridge. +message BridgeInfo { + // bridge id is the unique identifier of the bridge which is assigned from l1. + uint64 bridge_id = 1; + + // bridge_addr is the address of the bridge on l1. + string bridge_addr = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + + // bridge_config is the configuration of the bridge. + opinit.ophost.v1.BridgeConfig bridge_config = 3 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; +} \ No newline at end of file diff --git a/x/opchild/keeper/keeper.go b/x/opchild/keeper/keeper.go index 4cdef025..50d798fb 100644 --- a/x/opchild/keeper/keeper.go +++ b/x/opchild/keeper/keeper.go @@ -42,6 +42,7 @@ type Keeper struct { Schema collections.Schema NextL2Sequence collections.Sequence Params collections.Item[types.Params] + BridgeInfo collections.Item[types.BridgeInfo] FinalizedL1Sequence collections.Map[uint64, bool] LastValidatorPowers collections.Map[[]byte, int64] Validators collections.Map[[]byte, types.Validator] @@ -88,6 +89,7 @@ func NewKeeper( consensusAddressCodec: consensusAddressCodec, NextL2Sequence: collections.NewSequence(sb, types.NextL2SequenceKey, "next_l2_sequence"), Params: collections.NewItem(sb, types.ParamsKey, "params", codec.CollValue[types.Params](cdc)), + BridgeInfo: collections.NewItem(sb, types.BridgeInfoKey, "bridge_info", codec.CollValue[types.BridgeInfo](cdc)), FinalizedL1Sequence: collections.NewMap(sb, types.FinalizedL1SequencePrefix, "finalized_l1_sequence", collections.Uint64Key, collections.BoolValue), LastValidatorPowers: collections.NewMap(sb, types.LastValidatorPowerPrefix, "last_validator_powers", collections.BytesKey, collections.Int64Value), Validators: collections.NewMap(sb, types.ValidatorsPrefix, "validators", collections.BytesKey, codec.CollValue[types.Validator](cdc)), diff --git a/x/opchild/keeper/msg_server.go b/x/opchild/keeper/msg_server.go index 1adc8ec1..312cc7c7 100644 --- a/x/opchild/keeper/msg_server.go +++ b/x/opchild/keeper/msg_server.go @@ -241,6 +241,11 @@ func (ms MsgServer) RemoveValidator(ctx context.Context, req *types.MsgRemoveVal // UpdateParams implements updating the parameters func (ms MsgServer) UpdateParams(ctx context.Context, req *types.MsgUpdateParams) (*types.MsgUpdateParamsResponse, error) { + // sort the min gas prices + if req.Params != nil && req.Params.MinGasPrices != nil { + req.Params.MinGasPrices = req.Params.MinGasPrices.Sort() + } + if err := req.Validate(ms.authKeeper.AddressCodec()); err != nil { return nil, err } @@ -282,6 +287,23 @@ func (ms MsgServer) SpendFeePool(ctx context.Context, req *types.MsgSpendFeePool ///////////////////////////////////////////////////// // The messages for Bridge Executor +func (ms MsgServer) SetBridgeInfo(ctx context.Context, req *types.MsgSetBridgeInfo) (*types.MsgSetBridgeInfoResponse, error) { + if err := req.Validate(ms.authKeeper.AddressCodec()); err != nil { + return nil, err + } + + // permission check + if err := ms.checkBridgeExecutorPermission(ctx, req.Sender); err != nil { + return nil, err + } + + if err := ms.BridgeInfo.Set(ctx, req.BridgeInfo); err != nil { + return nil, err + } + + return &types.MsgSetBridgeInfoResponse{}, nil +} + // FinalizeTokenDeposit implements send a deposit from the upper layer to the recipient func (ms MsgServer) FinalizeTokenDeposit(ctx context.Context, req *types.MsgFinalizeTokenDeposit) (*types.MsgFinalizeTokenDepositResponse, error) { if err := req.Validate(ms.authKeeper.AddressCodec()); err != nil { diff --git a/x/opchild/keeper/msg_server_test.go b/x/opchild/keeper/msg_server_test.go index e8dc9511..3609e2c3 100644 --- a/x/opchild/keeper/msg_server_test.go +++ b/x/opchild/keeper/msg_server_test.go @@ -5,6 +5,7 @@ import ( "encoding/json" "errors" "testing" + "time" "cosmossdk.io/math" "github.com/stretchr/testify/require" @@ -16,6 +17,7 @@ import ( "github.com/initia-labs/OPinit/x/opchild/keeper" "github.com/initia-labs/OPinit/x/opchild/types" + ophosttypes "github.com/initia-labs/OPinit/x/ophost/types" ) ///////////////////////////////////////// @@ -258,6 +260,37 @@ func Test_MsgServer_Withdraw(t *testing.T) { ///////////////////////////////////////// // The messages for Bridge Executor +func Test_MsgServer_SetBridgeInfo(t *testing.T) { + ctx, input := createDefaultTestInput(t) + ms := keeper.NewMsgServerImpl(input.OPChildKeeper) + + info := types.BridgeInfo{ + BridgeId: 1, + BridgeAddr: addrsStr[1], + BridgeConfig: ophosttypes.BridgeConfig{ + Challenger: addrsStr[2], + Proposer: addrsStr[3], + BatchInfo: ophosttypes.BatchInfo{ + Submitter: addrsStr[4], + Chain: "l1", + }, + SubmissionInterval: time.Minute, + FinalizationPeriod: time.Hour, + SubmissionStartTime: time.Now().UTC(), + Metadata: []byte("metadata"), + }, + } + + _, err := ms.SetBridgeInfo(ctx, types.NewMsgSetBridgeInfo(addrsStr[0], info)) + require.NoError(t, err) + + // invalid bridge id + info.BridgeId = 0 + + _, err = ms.SetBridgeInfo(ctx, types.NewMsgSetBridgeInfo(addrsStr[0], info)) + require.Error(t, err) +} + func Test_MsgServer_Deposit_NoHook(t *testing.T) { ctx, input := createDefaultTestInput(t) ms := keeper.NewMsgServerImpl(input.OPChildKeeper) diff --git a/x/opchild/keeper/querier.go b/x/opchild/keeper/querier.go index 514909a1..f585719d 100644 --- a/x/opchild/keeper/querier.go +++ b/x/opchild/keeper/querier.go @@ -3,7 +3,6 @@ package keeper import ( "context" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -59,8 +58,16 @@ func (q Querier) Validators(ctx context.Context, req *types.QueryValidatorsReque return &types.QueryValidatorsResponse{Validators: validators, Pagination: pageRes}, nil } -func (q Querier) Params(context context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { - ctx := sdk.UnwrapSDKContext(context) +func (q Querier) BridgeInfo(ctx context.Context, req *types.QueryBridgeInfoRequest) (*types.QueryBridgeInfoResponse, error) { + bridgeInfo, err := q.Keeper.BridgeInfo.Get(ctx) + if err != nil { + return nil, status.Error(codes.NotFound, "bridge info not found") + } + + return &types.QueryBridgeInfoResponse{BridgeInfo: bridgeInfo}, nil +} + +func (q Querier) Params(ctx context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { params, err := q.GetParams(ctx) if err != nil { return nil, err diff --git a/x/opchild/keeper/querier_test.go b/x/opchild/keeper/querier_test.go index 0e387788..2b071be9 100644 --- a/x/opchild/keeper/querier_test.go +++ b/x/opchild/keeper/querier_test.go @@ -2,13 +2,16 @@ package keeper_test import ( "testing" + "time" "github.com/stretchr/testify/require" testutilsims "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/initia-labs/OPinit/x/opchild/keeper" "github.com/initia-labs/OPinit/x/opchild/types" + ophosttypes "github.com/initia-labs/OPinit/x/ophost/types" ) func Test_QueryValidator(t *testing.T) { @@ -44,6 +47,34 @@ func Test_QueryValidators(t *testing.T) { require.Len(t, res.Validators, 2) } +func Test_QuerySetBridgeInfo(t *testing.T) { + ctx, input := createDefaultTestInput(t) + + info := types.BridgeInfo{ + BridgeId: 1, + BridgeAddr: addrsStr[1], + BridgeConfig: ophosttypes.BridgeConfig{ + Challenger: addrsStr[2], + Proposer: addrsStr[3], + BatchInfo: ophosttypes.BatchInfo{ + Submitter: addrsStr[4], + Chain: "l1", + }, + SubmissionInterval: time.Minute, + FinalizationPeriod: time.Hour, + SubmissionStartTime: time.Now().UTC(), + Metadata: []byte("metadata"), + }, + } + err := input.OPChildKeeper.BridgeInfo.Set(ctx, info) + require.NoError(t, err) + + q := keeper.NewQuerier(input.OPChildKeeper) + res, err := q.BridgeInfo(ctx, &types.QueryBridgeInfoRequest{}) + require.NoError(t, err) + require.Equal(t, info, res.BridgeInfo) +} + func Test_QueryParams(t *testing.T) { ctx, input := createDefaultTestInput(t) diff --git a/x/opchild/types/errors.go b/x/opchild/types/errors.go index 78405999..10c7b3cc 100644 --- a/x/opchild/types/errors.go +++ b/x/opchild/types/errors.go @@ -21,4 +21,5 @@ var ( ErrUnroutableExecuteMsg = errorsmod.Register(ModuleName, 14, "unroutable execute message") ErrInvalidExecutorChangePlan = errorsmod.Register(ModuleName, 15, "invalid executor chane plan") ErrAlreadyRegisteredHeight = errorsmod.Register(ModuleName, 16, "executor change plan already exists at the height") + ErrInvalidBridgeInfo = errorsmod.Register(ModuleName, 17, "invalid bridge info") ) diff --git a/x/opchild/types/keys.go b/x/opchild/types/keys.go index aedc5257..7eeab879 100644 --- a/x/opchild/types/keys.go +++ b/x/opchild/types/keys.go @@ -16,6 +16,7 @@ var ( // Keys for store prefixes ParamsKey = []byte{0x11} // prefix for parameters for module x/opchild NextL2SequenceKey = []byte{0x12} // key for the outbound sequence number + BridgeInfoKey = []byte{0x13} // prefix for bridge_info LastValidatorPowerPrefix = []byte{0x21} // prefix for each key to a validator index, for bonded validators ValidatorsPrefix = []byte{0x31} // prefix for each key to a validator diff --git a/x/opchild/types/query.pb.go b/x/opchild/types/query.pb.go index f20d5316..c4cbe831 100644 --- a/x/opchild/types/query.pb.go +++ b/x/opchild/types/query.pb.go @@ -225,6 +225,89 @@ func (m *QueryValidatorResponse) GetValidator() Validator { return Validator{} } +// QueryBridgeInfoRequest is request type for the Query/BridgeInfo RPC method. +type QueryBridgeInfoRequest struct { +} + +func (m *QueryBridgeInfoRequest) Reset() { *m = QueryBridgeInfoRequest{} } +func (m *QueryBridgeInfoRequest) String() string { return proto.CompactTextString(m) } +func (*QueryBridgeInfoRequest) ProtoMessage() {} +func (*QueryBridgeInfoRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_15cfbb5d02a763ec, []int{4} +} +func (m *QueryBridgeInfoRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryBridgeInfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryBridgeInfoRequest.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 *QueryBridgeInfoRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryBridgeInfoRequest.Merge(m, src) +} +func (m *QueryBridgeInfoRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryBridgeInfoRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryBridgeInfoRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryBridgeInfoRequest proto.InternalMessageInfo + +// QueryBridgeInfoResponse is response type for the Query/BridgeInfo RPC method. +type QueryBridgeInfoResponse struct { + // bridge_info holds all the information about the bridge. + BridgeInfo BridgeInfo `protobuf:"bytes,1,opt,name=bridge_info,json=bridgeInfo,proto3" json:"bridge_info"` +} + +func (m *QueryBridgeInfoResponse) Reset() { *m = QueryBridgeInfoResponse{} } +func (m *QueryBridgeInfoResponse) String() string { return proto.CompactTextString(m) } +func (*QueryBridgeInfoResponse) ProtoMessage() {} +func (*QueryBridgeInfoResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_15cfbb5d02a763ec, []int{5} +} +func (m *QueryBridgeInfoResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryBridgeInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryBridgeInfoResponse.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 *QueryBridgeInfoResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryBridgeInfoResponse.Merge(m, src) +} +func (m *QueryBridgeInfoResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryBridgeInfoResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryBridgeInfoResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryBridgeInfoResponse proto.InternalMessageInfo + +func (m *QueryBridgeInfoResponse) GetBridgeInfo() BridgeInfo { + if m != nil { + return m.BridgeInfo + } + return BridgeInfo{} +} + // QueryParamsRequest is request type for the Query/Params RPC method. type QueryParamsRequest struct { } @@ -233,7 +316,7 @@ func (m *QueryParamsRequest) Reset() { *m = QueryParamsRequest{} } func (m *QueryParamsRequest) String() string { return proto.CompactTextString(m) } func (*QueryParamsRequest) ProtoMessage() {} func (*QueryParamsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_15cfbb5d02a763ec, []int{4} + return fileDescriptor_15cfbb5d02a763ec, []int{6} } func (m *QueryParamsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -272,7 +355,7 @@ func (m *QueryParamsResponse) Reset() { *m = QueryParamsResponse{} } func (m *QueryParamsResponse) String() string { return proto.CompactTextString(m) } func (*QueryParamsResponse) ProtoMessage() {} func (*QueryParamsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_15cfbb5d02a763ec, []int{5} + return fileDescriptor_15cfbb5d02a763ec, []int{7} } func (m *QueryParamsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -313,6 +396,8 @@ func init() { proto.RegisterType((*QueryValidatorsResponse)(nil), "opinit.opchild.v1.QueryValidatorsResponse") proto.RegisterType((*QueryValidatorRequest)(nil), "opinit.opchild.v1.QueryValidatorRequest") proto.RegisterType((*QueryValidatorResponse)(nil), "opinit.opchild.v1.QueryValidatorResponse") + proto.RegisterType((*QueryBridgeInfoRequest)(nil), "opinit.opchild.v1.QueryBridgeInfoRequest") + proto.RegisterType((*QueryBridgeInfoResponse)(nil), "opinit.opchild.v1.QueryBridgeInfoResponse") proto.RegisterType((*QueryParamsRequest)(nil), "opinit.opchild.v1.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "opinit.opchild.v1.QueryParamsResponse") } @@ -320,43 +405,47 @@ func init() { func init() { proto.RegisterFile("opinit/opchild/v1/query.proto", fileDescriptor_15cfbb5d02a763ec) } var fileDescriptor_15cfbb5d02a763ec = []byte{ - // 568 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x41, 0x6b, 0x13, 0x41, - 0x14, 0xc7, 0x33, 0x2d, 0x16, 0x32, 0x45, 0xa1, 0x63, 0xd4, 0x24, 0x6d, 0xb7, 0x65, 0xc1, 0x98, - 0x06, 0xb2, 0x43, 0xe2, 0x4d, 0x04, 0x31, 0xa0, 0x3d, 0x1a, 0x53, 0x10, 0xf1, 0x12, 0x27, 0xd9, - 0x61, 0x3b, 0x90, 0xec, 0x6c, 0x77, 0x26, 0xc1, 0x22, 0x22, 0x78, 0xf2, 0xa6, 0xe0, 0xd5, 0x0f, - 0x20, 0x78, 0xf1, 0xe0, 0xc5, 0x6f, 0xd0, 0x63, 0xd1, 0x8b, 0x27, 0x91, 0x44, 0xf0, 0x6b, 0xc8, - 0xce, 0x4c, 0x36, 0xbb, 0x66, 0x35, 0xb9, 0x84, 0xec, 0x7b, 0xff, 0xff, 0xfb, 0xff, 0xf6, 0xcd, - 0xb0, 0x70, 0x97, 0x07, 0xcc, 0x67, 0x12, 0xf3, 0xa0, 0x7f, 0xcc, 0x06, 0x2e, 0x1e, 0x37, 0xf0, - 0xc9, 0x88, 0x86, 0xa7, 0x4e, 0x10, 0x72, 0xc9, 0xd1, 0x96, 0x6e, 0x3b, 0xa6, 0xed, 0x8c, 0x1b, - 0xe5, 0x2d, 0x32, 0x64, 0x3e, 0xc7, 0xea, 0x57, 0xab, 0xca, 0xb5, 0x3e, 0x17, 0x43, 0x2e, 0x70, - 0x8f, 0x08, 0xaa, 0xed, 0x78, 0xdc, 0xe8, 0x51, 0x49, 0x1a, 0x38, 0x20, 0x1e, 0xf3, 0x89, 0x64, - 0xdc, 0x37, 0xda, 0x6d, 0xa3, 0x9d, 0xc9, 0x92, 0x71, 0xe5, 0x92, 0x6e, 0x76, 0xd5, 0x13, 0xd6, - 0x0f, 0xa6, 0x55, 0xf0, 0xb8, 0xc7, 0x75, 0x3d, 0xfa, 0x67, 0xaa, 0x3b, 0x1e, 0xe7, 0xde, 0x80, - 0x62, 0x12, 0x30, 0x4c, 0x7c, 0x9f, 0x4b, 0x15, 0x35, 0xf3, 0x64, 0xbc, 0x9c, 0x3c, 0x0d, 0xa8, - 0x69, 0xdb, 0x4f, 0xe1, 0xd5, 0x87, 0x51, 0xf8, 0x23, 0x32, 0x60, 0x2e, 0x91, 0x3c, 0x14, 0x1d, - 0x7a, 0x32, 0xa2, 0x42, 0xa2, 0xfb, 0x10, 0xce, 0xc1, 0x8b, 0x60, 0x1f, 0x54, 0x37, 0x9b, 0x15, - 0xc7, 0xf0, 0x44, 0x6f, 0xe9, 0x68, 0x6a, 0xf3, 0x96, 0x4e, 0x9b, 0x78, 0xd4, 0x78, 0x3b, 0x09, - 0xa7, 0xfd, 0x11, 0xc0, 0x6b, 0x0b, 0x11, 0x22, 0xe0, 0xbe, 0xa0, 0xe8, 0x10, 0xc2, 0x71, 0x5c, - 0x2d, 0x82, 0xfd, 0xf5, 0xea, 0x66, 0x73, 0xc7, 0x59, 0xd8, 0xb7, 0x13, 0x5b, 0x5b, 0xf9, 0xb3, - 0x1f, 0x7b, 0xb9, 0x0f, 0xbf, 0x3f, 0xd5, 0x40, 0x27, 0x61, 0x8d, 0x06, 0x25, 0x60, 0xd7, 0x14, - 0xec, 0x8d, 0xa5, 0xb0, 0x9a, 0x22, 0x45, 0xfb, 0x18, 0x5e, 0x49, 0xc3, 0xce, 0xd6, 0x71, 0x07, - 0x5e, 0x8a, 0xf3, 0xba, 0xc4, 0x75, 0x43, 0xb5, 0x92, 0x7c, 0xab, 0xf8, 0xf5, 0x73, 0xbd, 0x60, - 0x82, 0xee, 0xba, 0x6e, 0x48, 0x85, 0x38, 0x92, 0x21, 0xf3, 0xbd, 0xce, 0xc5, 0x58, 0x1f, 0xd5, - 0xed, 0xee, 0xdf, 0x9b, 0x8e, 0xb7, 0x70, 0x0f, 0xe6, 0x63, 0xa9, 0x59, 0xf4, 0xca, 0x4b, 0x98, - 0x3b, 0xed, 0x02, 0x44, 0x2a, 0xa0, 0x4d, 0x42, 0x32, 0x9c, 0x1d, 0xa3, 0x7d, 0x04, 0x2f, 0xa7, - 0xaa, 0x26, 0xf3, 0x36, 0xdc, 0x08, 0x54, 0xc5, 0x04, 0x96, 0x32, 0x02, 0xb5, 0x25, 0x99, 0x66, - 0x3c, 0xcd, 0x2f, 0xeb, 0xf0, 0x82, 0x9a, 0x8a, 0xde, 0x00, 0x08, 0xe7, 0x07, 0x8b, 0x0e, 0x32, - 0xc6, 0x64, 0xdf, 0xaf, 0x72, 0x6d, 0x15, 0xa9, 0xa6, 0xb5, 0x6b, 0xaf, 0xa3, 0xf8, 0x57, 0xdf, - 0x7e, 0xbd, 0x5b, 0xdb, 0x43, 0xbb, 0x78, 0xf1, 0x4a, 0x27, 0xae, 0xc2, 0x7b, 0x00, 0xf3, 0xf1, - 0x08, 0x54, 0x5d, 0x9a, 0x32, 0xe3, 0x39, 0x58, 0x41, 0x69, 0x70, 0x6e, 0xcd, 0x71, 0x30, 0xaa, - 0xff, 0x0f, 0x07, 0x3f, 0x4f, 0x5f, 0x9a, 0x17, 0xe8, 0x25, 0xdc, 0xd0, 0x7b, 0x45, 0xd7, 0xff, - 0x15, 0x98, 0x3a, 0xc0, 0x72, 0x65, 0x99, 0xcc, 0x40, 0x55, 0xe6, 0x50, 0xdb, 0xa8, 0x94, 0x01, - 0xa5, 0xcf, 0xae, 0x75, 0x78, 0x36, 0xb1, 0xc0, 0xf9, 0xc4, 0x02, 0x3f, 0x27, 0x16, 0x78, 0x3b, - 0xb5, 0x72, 0xe7, 0x53, 0x2b, 0xf7, 0x7d, 0x6a, 0xe5, 0x9e, 0xd4, 0x3d, 0x26, 0x8f, 0x47, 0x3d, - 0xa7, 0xcf, 0x87, 0x38, 0x32, 0x33, 0x52, 0x1f, 0x90, 0x9e, 0xc0, 0x0f, 0xda, 0x6a, 0xd4, 0xb3, - 0x78, 0x98, 0xfa, 0x80, 0xf4, 0x36, 0xd4, 0x17, 0xe4, 0xe6, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x9e, 0xc1, 0x61, 0x91, 0x3f, 0x05, 0x00, 0x00, + // 638 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x4f, 0x8b, 0xd3, 0x4e, + 0x18, 0xc7, 0x9b, 0xfd, 0xfd, 0x2c, 0x74, 0x8a, 0xc2, 0x8e, 0x55, 0xdb, 0xee, 0x36, 0x5b, 0x02, + 0xd6, 0x6e, 0xa5, 0x19, 0x5a, 0x6f, 0x22, 0x88, 0x05, 0x5d, 0xf6, 0x64, 0xed, 0x82, 0x88, 0x97, + 0x3a, 0x69, 0x66, 0xb3, 0x03, 0x6d, 0x26, 0x9b, 0xa4, 0xc5, 0x45, 0x44, 0xf0, 0xe4, 0xcd, 0x05, + 0xaf, 0xbe, 0x00, 0xc1, 0x8b, 0x07, 0x5f, 0xc4, 0x1e, 0x3c, 0x2c, 0x7a, 0xf1, 0x24, 0xd2, 0x0a, + 0xbe, 0x0d, 0xc9, 0xcc, 0x34, 0x7f, 0x6c, 0x6a, 0x7b, 0x29, 0xcd, 0xf3, 0x3c, 0xdf, 0xe7, 0xfb, + 0x99, 0x67, 0x9e, 0x04, 0x54, 0x98, 0x43, 0x6d, 0xea, 0x23, 0xe6, 0x0c, 0x8e, 0xe8, 0xd0, 0x44, + 0x93, 0x16, 0x3a, 0x1e, 0x13, 0xf7, 0x44, 0x77, 0x5c, 0xe6, 0x33, 0xb8, 0x29, 0xd2, 0xba, 0x4c, + 0xeb, 0x93, 0x56, 0x79, 0x13, 0x8f, 0xa8, 0xcd, 0x10, 0xff, 0x15, 0x55, 0xe5, 0xc6, 0x80, 0x79, + 0x23, 0xe6, 0x21, 0x03, 0x7b, 0x44, 0xc8, 0xd1, 0xa4, 0x65, 0x10, 0x1f, 0xb7, 0x90, 0x83, 0x2d, + 0x6a, 0x63, 0x9f, 0x32, 0x5b, 0xd6, 0x6e, 0xc9, 0xda, 0x79, 0x59, 0xdc, 0xae, 0x5c, 0x12, 0xc9, + 0x3e, 0x7f, 0x42, 0xe2, 0x41, 0xa6, 0x0a, 0x16, 0xb3, 0x98, 0x88, 0x07, 0xff, 0x64, 0x74, 0xdb, + 0x62, 0xcc, 0x1a, 0x12, 0x84, 0x1d, 0x8a, 0xb0, 0x6d, 0x33, 0x9f, 0x5b, 0xcd, 0x35, 0x29, 0x87, + 0xf3, 0x4f, 0x1c, 0x22, 0xd3, 0xda, 0x33, 0x70, 0xf5, 0x51, 0x60, 0xfe, 0x18, 0x0f, 0xa9, 0x89, + 0x7d, 0xe6, 0x7a, 0x3d, 0x72, 0x3c, 0x26, 0x9e, 0x0f, 0x1f, 0x00, 0x10, 0x81, 0x17, 0x95, 0xaa, + 0x52, 0xcf, 0xb7, 0x6b, 0xba, 0xe4, 0x09, 0x4e, 0xa9, 0x0b, 0x6a, 0x79, 0x4a, 0xbd, 0x8b, 0x2d, + 0x22, 0xb5, 0xbd, 0x98, 0x52, 0xfb, 0xa8, 0x80, 0x6b, 0x0b, 0x16, 0x9e, 0xc3, 0x6c, 0x8f, 0xc0, + 0x3d, 0x00, 0x26, 0x61, 0xb4, 0xa8, 0x54, 0xff, 0xab, 0xe7, 0xdb, 0xdb, 0xfa, 0xc2, 0xbc, 0xf5, + 0x50, 0xda, 0xc9, 0x9d, 0xfd, 0xd8, 0xc9, 0x7c, 0xf8, 0xfd, 0xa9, 0xa1, 0xf4, 0x62, 0xd2, 0xa0, + 0x51, 0x0c, 0x76, 0x83, 0xc3, 0xde, 0x58, 0x09, 0x2b, 0x28, 0x12, 0xb4, 0x4f, 0xc0, 0x95, 0x24, + 0xec, 0x7c, 0x1c, 0x77, 0xc1, 0xa5, 0xd0, 0xaf, 0x8f, 0x4d, 0xd3, 0xe5, 0x23, 0xc9, 0x75, 0x8a, + 0x5f, 0x3f, 0x37, 0x0b, 0xd2, 0xe8, 0x9e, 0x69, 0xba, 0xc4, 0xf3, 0x0e, 0x7c, 0x97, 0xda, 0x56, + 0xef, 0x62, 0x58, 0x1f, 0xc4, 0xb5, 0xfe, 0xdf, 0x93, 0x0e, 0xa7, 0x70, 0x1f, 0xe4, 0xc2, 0x52, + 0x39, 0xe8, 0xb5, 0x87, 0x10, 0x29, 0xb5, 0xa2, 0x34, 0xe8, 0xb8, 0xd4, 0xb4, 0xc8, 0xbe, 0x7d, + 0xc8, 0x24, 0xbb, 0x66, 0xca, 0x1b, 0x88, 0x67, 0xa4, 0xf7, 0x3e, 0xc8, 0x1b, 0x3c, 0xda, 0xa7, + 0xf6, 0x21, 0x93, 0xee, 0x95, 0x14, 0xf7, 0x48, 0x9b, 0xb8, 0x03, 0x23, 0x0c, 0x6b, 0x05, 0x00, + 0xb9, 0x4b, 0x17, 0xbb, 0x78, 0x34, 0x5f, 0x23, 0xed, 0x00, 0x5c, 0x4e, 0x44, 0xa5, 0xef, 0x1d, + 0x90, 0x75, 0x78, 0x44, 0x5a, 0x96, 0x52, 0x2c, 0x85, 0x24, 0x6e, 0x27, 0x35, 0xed, 0x2f, 0xff, + 0x83, 0x0b, 0xbc, 0x2b, 0x7c, 0xab, 0x00, 0x10, 0x2d, 0x16, 0xdc, 0x4d, 0x69, 0x93, 0xbe, 0xdf, + 0xe5, 0xc6, 0x3a, 0xa5, 0x82, 0x56, 0x6b, 0xbc, 0x09, 0xec, 0x5f, 0x7f, 0xfb, 0xf5, 0x6e, 0x63, + 0x07, 0x56, 0xd0, 0xe2, 0x2b, 0x15, 0x5b, 0xc5, 0xf7, 0x0a, 0xc8, 0x85, 0x2d, 0x60, 0x7d, 0xa5, + 0xcb, 0x9c, 0x67, 0x77, 0x8d, 0x4a, 0x89, 0x73, 0x3b, 0xc2, 0x41, 0xb0, 0xf9, 0x2f, 0x1c, 0xf4, + 0x22, 0xb9, 0xb4, 0x2f, 0xe1, 0xa9, 0x02, 0x40, 0x74, 0x97, 0xcb, 0x07, 0xb6, 0xb0, 0x45, 0xcb, + 0x07, 0xb6, 0xb8, 0x56, 0xda, 0xcd, 0x88, 0xb0, 0x0a, 0xd5, 0x14, 0xc2, 0xd8, 0xd2, 0xc1, 0x57, + 0x20, 0x2b, 0xae, 0x1a, 0x5e, 0x5f, 0x66, 0x91, 0xd8, 0xa9, 0x72, 0x6d, 0x55, 0x99, 0xa4, 0xa8, + 0x45, 0x14, 0x5b, 0xb0, 0x94, 0x42, 0x21, 0xd6, 0xa9, 0xb3, 0x77, 0x36, 0x55, 0x95, 0xf3, 0xa9, + 0xaa, 0xfc, 0x9c, 0xaa, 0xca, 0xe9, 0x4c, 0xcd, 0x9c, 0xcf, 0xd4, 0xcc, 0xf7, 0x99, 0x9a, 0x79, + 0xda, 0xb4, 0xa8, 0x7f, 0x34, 0x36, 0xf4, 0x01, 0x1b, 0xa1, 0x40, 0x4c, 0x71, 0x73, 0x88, 0x0d, + 0x0f, 0x3d, 0xec, 0xf2, 0x56, 0xcf, 0xc3, 0x66, 0xfc, 0x9b, 0x6a, 0x64, 0xf9, 0x47, 0xf5, 0xd6, + 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0xcf, 0xbf, 0x6e, 0x52, 0x06, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -378,6 +467,7 @@ type QueryClient interface { Validators(ctx context.Context, in *QueryValidatorsRequest, opts ...grpc.CallOption) (*QueryValidatorsResponse, error) // Validator queries validator info for given validator address. Validator(ctx context.Context, in *QueryValidatorRequest, opts ...grpc.CallOption) (*QueryValidatorResponse, error) + BridgeInfo(ctx context.Context, in *QueryBridgeInfoRequest, opts ...grpc.CallOption) (*QueryBridgeInfoResponse, error) // Parameters queries the rollup parameters. Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) } @@ -408,6 +498,15 @@ func (c *queryClient) Validator(ctx context.Context, in *QueryValidatorRequest, return out, nil } +func (c *queryClient) BridgeInfo(ctx context.Context, in *QueryBridgeInfoRequest, opts ...grpc.CallOption) (*QueryBridgeInfoResponse, error) { + out := new(QueryBridgeInfoResponse) + err := c.cc.Invoke(ctx, "/opinit.opchild.v1.Query/BridgeInfo", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { out := new(QueryParamsResponse) err := c.cc.Invoke(ctx, "/opinit.opchild.v1.Query/Params", in, out, opts...) @@ -426,6 +525,7 @@ type QueryServer interface { Validators(context.Context, *QueryValidatorsRequest) (*QueryValidatorsResponse, error) // Validator queries validator info for given validator address. Validator(context.Context, *QueryValidatorRequest) (*QueryValidatorResponse, error) + BridgeInfo(context.Context, *QueryBridgeInfoRequest) (*QueryBridgeInfoResponse, error) // Parameters queries the rollup parameters. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) } @@ -440,6 +540,9 @@ func (*UnimplementedQueryServer) Validators(ctx context.Context, req *QueryValid func (*UnimplementedQueryServer) Validator(ctx context.Context, req *QueryValidatorRequest) (*QueryValidatorResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Validator not implemented") } +func (*UnimplementedQueryServer) BridgeInfo(ctx context.Context, req *QueryBridgeInfoRequest) (*QueryBridgeInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BridgeInfo not implemented") +} func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } @@ -484,6 +587,24 @@ func _Query_Validator_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } +func _Query_BridgeInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryBridgeInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).BridgeInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/opinit.opchild.v1.Query/BridgeInfo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).BridgeInfo(ctx, req.(*QueryBridgeInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryParamsRequest) if err := dec(in); err != nil { @@ -514,6 +635,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "Validator", Handler: _Query_Validator_Handler, }, + { + MethodName: "BridgeInfo", + Handler: _Query_BridgeInfo_Handler, + }, { MethodName: "Params", Handler: _Query_Params_Handler, @@ -670,6 +795,62 @@ func (m *QueryValidatorResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *QueryBridgeInfoRequest) 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 *QueryBridgeInfoRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryBridgeInfoRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryBridgeInfoResponse) 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 *QueryBridgeInfoResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryBridgeInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.BridgeInfo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -793,6 +974,26 @@ func (m *QueryValidatorResponse) Size() (n int) { return n } +func (m *QueryBridgeInfoRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryBridgeInfoResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.BridgeInfo.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + func (m *QueryParamsRequest) Size() (n int) { if m == nil { return 0 @@ -1190,6 +1391,139 @@ func (m *QueryValidatorResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryBridgeInfoRequest) 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 ErrIntOverflowQuery + } + 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: QueryBridgeInfoRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryBridgeInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryBridgeInfoResponse) 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 ErrIntOverflowQuery + } + 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: QueryBridgeInfoResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryBridgeInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BridgeInfo", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.BridgeInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/x/opchild/types/query.pb.gw.go b/x/opchild/types/query.pb.gw.go index fbeeea7b..56e4186e 100644 --- a/x/opchild/types/query.pb.gw.go +++ b/x/opchild/types/query.pb.gw.go @@ -123,6 +123,24 @@ func local_request_Query_Validator_0(ctx context.Context, marshaler runtime.Mars } +func request_Query_BridgeInfo_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryBridgeInfoRequest + var metadata runtime.ServerMetadata + + msg, err := client.BridgeInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_BridgeInfo_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryBridgeInfoRequest + var metadata runtime.ServerMetadata + + msg, err := server.BridgeInfo(ctx, &protoReq) + return msg, metadata, err + +} + func request_Query_Params_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QueryParamsRequest var metadata runtime.ServerMetadata @@ -193,6 +211,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_BridgeInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_BridgeInfo_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_BridgeInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Query_Params_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -297,6 +338,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_BridgeInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_BridgeInfo_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_BridgeInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Query_Params_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -325,6 +386,8 @@ var ( pattern_Query_Validator_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"opinit", "opchild", "v1", "validator", "validator_addr"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_BridgeInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"opinit", "opchild", "v1", "bridge_info"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"opinit", "opchild", "v1", "params"}, "", runtime.AssumeColonVerbOpt(false))) ) @@ -333,5 +396,7 @@ var ( forward_Query_Validator_0 = runtime.ForwardResponseMessage + forward_Query_BridgeInfo_0 = runtime.ForwardResponseMessage + forward_Query_Params_0 = runtime.ForwardResponseMessage ) diff --git a/x/opchild/types/tx.go b/x/opchild/types/tx.go index 4ecfac1d..6400d241 100644 --- a/x/opchild/types/tx.go +++ b/x/opchild/types/tx.go @@ -11,26 +11,13 @@ import ( govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" ) -// rollup message types -const ( - TypeMsgExecuteMessages = "execute_messages" - - TypeMsgAddValidator = "add_validator" - TypeMsgRemoveValidator = "remove_validator" - TypeMsgUpdateParams = "update_params" - TypeMsgWhitelist = "whitelist" - TypeMsgSpendFeePool = "spend_fee_pool" - - TypeMsgInitiateTokenWithdrawal = "withdraw‰" - TypeMsgFinalizeTokenDeposit = "deposit" -) - var ( _ sdk.Msg = &MsgExecuteMessages{} _ sdk.Msg = &MsgAddValidator{} _ sdk.Msg = &MsgRemoveValidator{} _ sdk.Msg = &MsgUpdateParams{} _ sdk.Msg = &MsgSpendFeePool{} + _ sdk.Msg = &MsgSetBridgeInfo{} _ sdk.Msg = &MsgFinalizeTokenDeposit{} _ sdk.Msg = &MsgInitiateTokenWithdrawal{} @@ -191,6 +178,45 @@ func (msg MsgInitiateTokenWithdrawal) Validate(ac address.Codec) error { return nil } +/* MsgSetBridgeInfo */ +func NewMsgSetBridgeInfo( + sender string, + bridgeInfo BridgeInfo, +) *MsgSetBridgeInfo { + return &MsgSetBridgeInfo{ + Sender: sender, + BridgeInfo: bridgeInfo, + } +} + +func (msg MsgSetBridgeInfo) Validate(ac address.Codec) error { + if _, err := ac.StringToBytes(msg.Sender); err != nil { + return err + } + + if err := msg.BridgeInfo.Validate(ac); err != nil { + return err + } + + return nil +} + +func (info BridgeInfo) Validate(ac address.Codec) error { + if info.BridgeId == 0 { + return ErrInvalidBridgeInfo.Wrap("bridge id cannot be zero") + } + + if len(info.BridgeAddr) == 0 { + return ErrInvalidBridgeInfo.Wrap("bridge address cannot be empty") + } + + if err := info.BridgeConfig.ValidateWithNoAddrValidation(); err != nil { + return ErrInvalidBridgeInfo.Wrap(err.Error()) + } + + return nil +} + /* MsgFinalizeTokenDeposit */ // NewMsgFinalizeTokenDeposit creates a new MsgFinalizeTokenDeposit instance. diff --git a/x/opchild/types/tx.pb.go b/x/opchild/types/tx.pb.go index 7125577d..d62652c1 100644 --- a/x/opchild/types/tx.pb.go +++ b/x/opchild/types/tx.pb.go @@ -113,6 +113,84 @@ func (m *MsgExecuteMessagesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgExecuteMessagesResponse proto.InternalMessageInfo +// MsgSetBridgeInfo is a message to set the registered bridge information. +type MsgSetBridgeInfo struct { + // the sender address + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + // bridge_info is the bridge information to be set. + BridgeInfo BridgeInfo `protobuf:"bytes,2,opt,name=bridge_info,json=bridgeInfo,proto3" json:"bridge_info"` +} + +func (m *MsgSetBridgeInfo) Reset() { *m = MsgSetBridgeInfo{} } +func (m *MsgSetBridgeInfo) String() string { return proto.CompactTextString(m) } +func (*MsgSetBridgeInfo) ProtoMessage() {} +func (*MsgSetBridgeInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_1ee96a503651b6e4, []int{2} +} +func (m *MsgSetBridgeInfo) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetBridgeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetBridgeInfo.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 *MsgSetBridgeInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetBridgeInfo.Merge(m, src) +} +func (m *MsgSetBridgeInfo) XXX_Size() int { + return m.Size() +} +func (m *MsgSetBridgeInfo) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetBridgeInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSetBridgeInfo proto.InternalMessageInfo + +// MsgSetBridgeInfoResponse returns set bridge info result data +type MsgSetBridgeInfoResponse struct { +} + +func (m *MsgSetBridgeInfoResponse) Reset() { *m = MsgSetBridgeInfoResponse{} } +func (m *MsgSetBridgeInfoResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetBridgeInfoResponse) ProtoMessage() {} +func (*MsgSetBridgeInfoResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_1ee96a503651b6e4, []int{3} +} +func (m *MsgSetBridgeInfoResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetBridgeInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetBridgeInfoResponse.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 *MsgSetBridgeInfoResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetBridgeInfoResponse.Merge(m, src) +} +func (m *MsgSetBridgeInfoResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSetBridgeInfoResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetBridgeInfoResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSetBridgeInfoResponse proto.InternalMessageInfo + // MsgFinalizeTokenDeposit is a message to submit deposit funds from upper layer type MsgFinalizeTokenDeposit struct { // the sender address @@ -137,7 +215,7 @@ func (m *MsgFinalizeTokenDeposit) Reset() { *m = MsgFinalizeTokenDeposit func (m *MsgFinalizeTokenDeposit) String() string { return proto.CompactTextString(m) } func (*MsgFinalizeTokenDeposit) ProtoMessage() {} func (*MsgFinalizeTokenDeposit) Descriptor() ([]byte, []int) { - return fileDescriptor_1ee96a503651b6e4, []int{2} + return fileDescriptor_1ee96a503651b6e4, []int{4} } func (m *MsgFinalizeTokenDeposit) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -174,7 +252,7 @@ func (m *MsgFinalizeTokenDepositResponse) Reset() { *m = MsgFinalizeToke func (m *MsgFinalizeTokenDepositResponse) String() string { return proto.CompactTextString(m) } func (*MsgFinalizeTokenDepositResponse) ProtoMessage() {} func (*MsgFinalizeTokenDepositResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_1ee96a503651b6e4, []int{3} + return fileDescriptor_1ee96a503651b6e4, []int{5} } func (m *MsgFinalizeTokenDepositResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -217,7 +295,7 @@ func (m *MsgInitiateTokenWithdrawal) Reset() { *m = MsgInitiateTokenWith func (m *MsgInitiateTokenWithdrawal) String() string { return proto.CompactTextString(m) } func (*MsgInitiateTokenWithdrawal) ProtoMessage() {} func (*MsgInitiateTokenWithdrawal) Descriptor() ([]byte, []int) { - return fileDescriptor_1ee96a503651b6e4, []int{4} + return fileDescriptor_1ee96a503651b6e4, []int{6} } func (m *MsgInitiateTokenWithdrawal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -255,7 +333,7 @@ func (m *MsgInitiateTokenWithdrawalResponse) Reset() { *m = MsgInitiateT func (m *MsgInitiateTokenWithdrawalResponse) String() string { return proto.CompactTextString(m) } func (*MsgInitiateTokenWithdrawalResponse) ProtoMessage() {} func (*MsgInitiateTokenWithdrawalResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_1ee96a503651b6e4, []int{5} + return fileDescriptor_1ee96a503651b6e4, []int{7} } func (m *MsgInitiateTokenWithdrawalResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -298,7 +376,7 @@ func (m *MsgAddValidator) Reset() { *m = MsgAddValidator{} } func (m *MsgAddValidator) String() string { return proto.CompactTextString(m) } func (*MsgAddValidator) ProtoMessage() {} func (*MsgAddValidator) Descriptor() ([]byte, []int) { - return fileDescriptor_1ee96a503651b6e4, []int{6} + return fileDescriptor_1ee96a503651b6e4, []int{8} } func (m *MsgAddValidator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -335,7 +413,7 @@ func (m *MsgAddValidatorResponse) Reset() { *m = MsgAddValidatorResponse func (m *MsgAddValidatorResponse) String() string { return proto.CompactTextString(m) } func (*MsgAddValidatorResponse) ProtoMessage() {} func (*MsgAddValidatorResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_1ee96a503651b6e4, []int{7} + return fileDescriptor_1ee96a503651b6e4, []int{9} } func (m *MsgAddValidatorResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -377,7 +455,7 @@ func (m *MsgRemoveValidator) Reset() { *m = MsgRemoveValidator{} } func (m *MsgRemoveValidator) String() string { return proto.CompactTextString(m) } func (*MsgRemoveValidator) ProtoMessage() {} func (*MsgRemoveValidator) Descriptor() ([]byte, []int) { - return fileDescriptor_1ee96a503651b6e4, []int{8} + return fileDescriptor_1ee96a503651b6e4, []int{10} } func (m *MsgRemoveValidator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -414,7 +492,7 @@ func (m *MsgRemoveValidatorResponse) Reset() { *m = MsgRemoveValidatorRe func (m *MsgRemoveValidatorResponse) String() string { return proto.CompactTextString(m) } func (*MsgRemoveValidatorResponse) ProtoMessage() {} func (*MsgRemoveValidatorResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_1ee96a503651b6e4, []int{9} + return fileDescriptor_1ee96a503651b6e4, []int{11} } func (m *MsgRemoveValidatorResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -456,7 +534,7 @@ func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } func (*MsgUpdateParams) ProtoMessage() {} func (*MsgUpdateParams) Descriptor() ([]byte, []int) { - return fileDescriptor_1ee96a503651b6e4, []int{10} + return fileDescriptor_1ee96a503651b6e4, []int{12} } func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -493,7 +571,7 @@ func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateParamsResponse) ProtoMessage() {} func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_1ee96a503651b6e4, []int{11} + return fileDescriptor_1ee96a503651b6e4, []int{13} } func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -538,7 +616,7 @@ func (m *MsgSpendFeePool) Reset() { *m = MsgSpendFeePool{} } func (m *MsgSpendFeePool) String() string { return proto.CompactTextString(m) } func (*MsgSpendFeePool) ProtoMessage() {} func (*MsgSpendFeePool) Descriptor() ([]byte, []int) { - return fileDescriptor_1ee96a503651b6e4, []int{12} + return fileDescriptor_1ee96a503651b6e4, []int{14} } func (m *MsgSpendFeePool) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -575,7 +653,7 @@ func (m *MsgSpendFeePoolResponse) Reset() { *m = MsgSpendFeePoolResponse func (m *MsgSpendFeePoolResponse) String() string { return proto.CompactTextString(m) } func (*MsgSpendFeePoolResponse) ProtoMessage() {} func (*MsgSpendFeePoolResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_1ee96a503651b6e4, []int{13} + return fileDescriptor_1ee96a503651b6e4, []int{15} } func (m *MsgSpendFeePoolResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -607,6 +685,8 @@ var xxx_messageInfo_MsgSpendFeePoolResponse proto.InternalMessageInfo func init() { proto.RegisterType((*MsgExecuteMessages)(nil), "opinit.opchild.v1.MsgExecuteMessages") proto.RegisterType((*MsgExecuteMessagesResponse)(nil), "opinit.opchild.v1.MsgExecuteMessagesResponse") + proto.RegisterType((*MsgSetBridgeInfo)(nil), "opinit.opchild.v1.MsgSetBridgeInfo") + proto.RegisterType((*MsgSetBridgeInfoResponse)(nil), "opinit.opchild.v1.MsgSetBridgeInfoResponse") proto.RegisterType((*MsgFinalizeTokenDeposit)(nil), "opinit.opchild.v1.MsgFinalizeTokenDeposit") proto.RegisterType((*MsgFinalizeTokenDepositResponse)(nil), "opinit.opchild.v1.MsgFinalizeTokenDepositResponse") proto.RegisterType((*MsgInitiateTokenWithdrawal)(nil), "opinit.opchild.v1.MsgInitiateTokenWithdrawal") @@ -624,72 +704,77 @@ func init() { func init() { proto.RegisterFile("opinit/opchild/v1/tx.proto", fileDescriptor_1ee96a503651b6e4) } var fileDescriptor_1ee96a503651b6e4 = []byte{ - // 1040 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xcf, 0x6f, 0xe3, 0xc4, - 0x17, 0x8f, 0x93, 0x36, 0xdb, 0xcc, 0xee, 0x57, 0xdd, 0x5a, 0xd5, 0xb7, 0xae, 0x45, 0xe3, 0x60, - 0x09, 0x29, 0x44, 0x1b, 0x7b, 0x13, 0x04, 0x87, 0x9c, 0x68, 0xd8, 0xad, 0x04, 0xab, 0x88, 0xca, - 0xcb, 0x0f, 0x89, 0x03, 0xd5, 0x24, 0x9e, 0x75, 0x46, 0x8d, 0x67, 0x8c, 0x67, 0x12, 0x6a, 0x2e, - 0x20, 0x4e, 0x88, 0x13, 0x7f, 0xc2, 0x1e, 0x10, 0x42, 0x9c, 0x7a, 0xe0, 0x84, 0xf8, 0x03, 0x2a, - 0x4e, 0x2b, 0x0e, 0x88, 0x53, 0x81, 0xf6, 0x50, 0xce, 0x7b, 0xe1, 0xc0, 0x05, 0xd9, 0x9e, 0x38, - 0x4e, 0x62, 0x93, 0x5d, 0xb4, 0x70, 0x69, 0x33, 0xef, 0x7d, 0xe6, 0xcd, 0xfb, 0xbc, 0xcf, 0xbc, - 0x37, 0x06, 0x2a, 0xf5, 0x30, 0xc1, 0xdc, 0xa4, 0xde, 0x60, 0x88, 0x47, 0xb6, 0x39, 0x69, 0x99, - 0xfc, 0xc4, 0xf0, 0x7c, 0xca, 0xa9, 0xbc, 0x15, 0xfb, 0x0c, 0xe1, 0x33, 0x26, 0x2d, 0x75, 0x0b, - 0xba, 0x98, 0x50, 0x33, 0xfa, 0x1b, 0xa3, 0xd4, 0xea, 0x80, 0x32, 0x97, 0x32, 0xb3, 0x0f, 0x19, - 0x32, 0x27, 0xad, 0x3e, 0xe2, 0xb0, 0x65, 0x0e, 0x28, 0x26, 0xc2, 0xbf, 0x23, 0xfc, 0x2e, 0x73, - 0xc2, 0xe8, 0x2e, 0x73, 0x84, 0x63, 0x37, 0x76, 0x1c, 0x45, 0x2b, 0x33, 0x5e, 0x08, 0xd7, 0xb6, - 0x43, 0x1d, 0x1a, 0xdb, 0xc3, 0x5f, 0xd3, 0x0d, 0x0e, 0xa5, 0xce, 0x08, 0x99, 0xd1, 0xaa, 0x3f, - 0x7e, 0x60, 0x42, 0x12, 0x08, 0xd7, 0x5e, 0x06, 0x8d, 0xc0, 0x43, 0x22, 0x9e, 0xfe, 0xa5, 0x04, - 0xe4, 0x1e, 0x73, 0xee, 0x9e, 0xa0, 0xc1, 0x98, 0xa3, 0x1e, 0x62, 0x0c, 0x3a, 0x88, 0xc9, 0xb7, - 0x41, 0x99, 0x21, 0x62, 0x23, 0x5f, 0x91, 0x6a, 0x52, 0xbd, 0xd2, 0x55, 0x7e, 0xfc, 0xb6, 0xb9, - 0x2d, 0x12, 0xd9, 0xb7, 0x6d, 0x1f, 0x31, 0x76, 0x9f, 0xfb, 0x98, 0x38, 0x96, 0xc0, 0xc9, 0xb7, - 0xc1, 0x86, 0x2b, 0x76, 0x2b, 0xc5, 0x5a, 0xa9, 0x7e, 0xbd, 0xbd, 0x6d, 0xc4, 0x59, 0x19, 0xd3, - 0xac, 0x8c, 0x7d, 0x12, 0x58, 0x09, 0xaa, 0xd3, 0xf8, 0xf4, 0xea, 0xb4, 0x21, 0xb6, 0x7f, 0x7e, - 0x75, 0xda, 0x50, 0xa7, 0x29, 0x2e, 0xe7, 0xa3, 0x3f, 0x07, 0xd4, 0x65, 0xab, 0x85, 0x98, 0x47, - 0x09, 0x43, 0xfa, 0x57, 0x25, 0xb0, 0xd3, 0x63, 0xce, 0x01, 0x26, 0x70, 0x84, 0x3f, 0x42, 0x6f, - 0xd1, 0x63, 0x44, 0xee, 0x20, 0x8f, 0x32, 0xcc, 0xe5, 0xfd, 0x05, 0x26, 0x2f, 0x3e, 0x3e, 0xd7, - 0xfe, 0x17, 0x40, 0x77, 0xd4, 0xd1, 0x63, 0xbb, 0xbe, 0x92, 0xda, 0x2d, 0xb0, 0xf6, 0xc0, 0xa7, - 0xae, 0x52, 0x5c, 0x51, 0x8a, 0x08, 0x25, 0xd7, 0x41, 0x91, 0x53, 0xa5, 0xb4, 0x02, 0x5b, 0xe4, - 0x54, 0xee, 0x81, 0x32, 0x74, 0xe9, 0x98, 0x70, 0x65, 0xad, 0x26, 0xd5, 0xaf, 0xb7, 0x77, 0x0d, - 0x01, 0x0d, 0x2f, 0x8c, 0x21, 0x2e, 0x8c, 0xf1, 0x1a, 0xc5, 0xa4, 0xab, 0x9e, 0x9d, 0x6b, 0x85, - 0x59, 0xe6, 0xf1, 0x36, 0xfd, 0xeb, 0xab, 0xd3, 0x86, 0x64, 0x89, 0x20, 0xb2, 0x0a, 0x36, 0x18, - 0xfa, 0x60, 0x8c, 0xc8, 0x00, 0x29, 0xeb, 0x35, 0xa9, 0xbe, 0x66, 0x25, 0x6b, 0xf9, 0xff, 0xa0, - 0x3c, 0x44, 0xd8, 0x19, 0x72, 0xa5, 0x1c, 0x79, 0xc4, 0x4a, 0xde, 0x03, 0x20, 0x3c, 0xec, 0xc8, - 0x46, 0x84, 0xba, 0xca, 0xb5, 0x30, 0x69, 0xab, 0x12, 0x5a, 0xee, 0x84, 0x06, 0x79, 0x0f, 0xac, - 0xd9, 0x90, 0x43, 0x65, 0xa3, 0x26, 0xd5, 0x6f, 0x74, 0x2b, 0x67, 0xe7, 0x9a, 0x14, 0x9f, 0x19, - 0x99, 0x3b, 0xe6, 0x82, 0x82, 0x5a, 0x4a, 0xc1, 0x2c, 0x31, 0xf4, 0xe7, 0x81, 0x96, 0xe3, 0x4a, - 0xb4, 0xfc, 0x53, 0x8a, 0xa4, 0x7e, 0x9d, 0x60, 0x8e, 0x21, 0x8f, 0x31, 0xef, 0x62, 0x3e, 0xb4, - 0x7d, 0xf8, 0x21, 0x1c, 0xfd, 0x83, 0x8b, 0x19, 0xeb, 0x51, 0xfc, 0xcf, 0xf5, 0xe8, 0xb4, 0x17, - 0xaa, 0xa3, 0xa7, 0xaa, 0x93, 0x43, 0x4f, 0x7f, 0x15, 0xe8, 0xf9, 0xde, 0x69, 0x8d, 0xe6, 0x94, - 0x96, 0xe6, 0x95, 0xd6, 0xbf, 0x2b, 0x82, 0xcd, 0x1e, 0x73, 0xf6, 0x6d, 0xfb, 0x1d, 0x38, 0xc2, - 0x36, 0xe4, 0xd4, 0x97, 0xdf, 0x00, 0x15, 0x38, 0xe6, 0x43, 0xea, 0x63, 0x1e, 0x88, 0xba, 0xdd, - 0x7a, 0x7c, 0xae, 0xdd, 0x14, 0xc9, 0x4f, 0x5d, 0xf9, 0x9d, 0x30, 0xdb, 0x2e, 0x2b, 0xe0, 0x9a, - 0x4b, 0x09, 0x3e, 0x46, 0x7e, 0x5c, 0x53, 0x6b, 0xba, 0x94, 0xef, 0x82, 0xad, 0xc9, 0xf4, 0xc8, - 0x23, 0x18, 0xef, 0x5f, 0xd9, 0x07, 0x37, 0x93, 0x2d, 0xc2, 0x2e, 0x1f, 0x80, 0xb2, 0x37, 0xee, - 0x1f, 0xa3, 0x40, 0xa8, 0x90, 0x39, 0x46, 0xba, 0xca, 0x0f, 0xb3, 0x88, 0x03, 0x3f, 0xf0, 0x38, - 0x35, 0x0e, 0xc7, 0xfd, 0x7b, 0x28, 0xb0, 0xc4, 0xee, 0x4e, 0xfb, 0xb3, 0x87, 0x5a, 0xe1, 0xf7, - 0x87, 0x5a, 0x21, 0x94, 0x61, 0x46, 0x20, 0x54, 0x62, 0x27, 0xa5, 0x44, 0xba, 0x50, 0xfa, 0x6e, - 0x34, 0x47, 0xd2, 0xa6, 0xe4, 0x5e, 0xfe, 0x14, 0x0f, 0x4a, 0x0b, 0xb9, 0x74, 0x82, 0xfe, 0x9d, - 0xd2, 0x66, 0x16, 0xb0, 0xf8, 0xb4, 0x05, 0xec, 0x34, 0x97, 0x09, 0xa7, 0x47, 0xeb, 0x02, 0x03, - 0x31, 0x5a, 0x17, 0xac, 0x09, 0xed, 0xef, 0xa5, 0xe8, 0x3a, 0xbd, 0xed, 0xd9, 0x90, 0xa3, 0x43, - 0xe8, 0x43, 0x97, 0x3d, 0x53, 0xce, 0x2d, 0x50, 0xf6, 0xa2, 0xa8, 0x11, 0xd1, 0xb0, 0xe7, 0x96, - 0x9e, 0x56, 0x23, 0x3e, 0xd6, 0x12, 0xc0, 0xf8, 0xdd, 0xc8, 0x17, 0x34, 0x9d, 0xaa, 0x10, 0x34, - 0x6d, 0x9a, 0x31, 0x8b, 0x1b, 0xe5, 0xbe, 0x87, 0x88, 0x7d, 0x80, 0xd0, 0x21, 0xa5, 0xa3, 0x67, - 0xca, 0xec, 0x15, 0x50, 0xf1, 0xd1, 0x00, 0x7b, 0x18, 0x11, 0xbe, 0x52, 0xc5, 0x19, 0x54, 0x0e, - 0x92, 0x29, 0x54, 0x8a, 0x9e, 0xd1, 0xbf, 0x99, 0x42, 0x07, 0x99, 0x53, 0xe8, 0x9b, 0x5f, 0xb4, - 0xba, 0x83, 0xf9, 0x70, 0xdc, 0x37, 0x06, 0xd4, 0x15, 0x9f, 0x0f, 0xe2, 0x5f, 0x93, 0xd9, 0xc7, - 0xe2, 0xfd, 0x0f, 0x23, 0xb0, 0xf9, 0x89, 0xb5, 0xa2, 0xb2, 0xe9, 0x52, 0x89, 0xca, 0xa6, 0x4d, - 0xd3, 0xca, 0xb6, 0xff, 0x58, 0x07, 0xa5, 0x1e, 0x73, 0x64, 0x07, 0x6c, 0x2e, 0x7e, 0x57, 0xbc, - 0x90, 0x21, 0xef, 0xf2, 0xc3, 0xae, 0x36, 0x9f, 0x08, 0x96, 0xcc, 0xc3, 0x09, 0xd8, 0xce, 0x7c, - 0xfb, 0x1b, 0xd9, 0x61, 0xb2, 0xb0, 0x6a, 0xfb, 0xc9, 0xb1, 0xc9, 0xb9, 0x1f, 0x83, 0x9d, 0xbc, - 0x77, 0x2a, 0x87, 0x41, 0x0e, 0x5c, 0x7d, 0xf9, 0xa9, 0xe0, 0x49, 0x02, 0xef, 0x83, 0x1b, 0x73, - 0x83, 0x5e, 0xcf, 0x0e, 0x93, 0xc6, 0xa8, 0x8d, 0xd5, 0x98, 0x24, 0xbe, 0x03, 0x36, 0x17, 0x07, - 0x5e, 0x8e, 0x82, 0x0b, 0xb0, 0x3c, 0x05, 0x73, 0xc6, 0x4c, 0x48, 0x64, 0x6e, 0xc4, 0xe4, 0x10, - 0x49, 0x63, 0xf2, 0x88, 0x64, 0x35, 0x7b, 0x18, 0x7f, 0xae, 0xd1, 0x73, 0xe2, 0xa7, 0x31, 0x79, - 0xf1, 0xb3, 0xae, 0xbc, 0xba, 0xfe, 0x49, 0xd8, 0x48, 0xdd, 0x7b, 0x67, 0xbf, 0x55, 0x0b, 0x67, - 0x17, 0x55, 0xe9, 0xd1, 0x45, 0x55, 0xfa, 0xf5, 0xa2, 0x2a, 0x7d, 0x71, 0x59, 0x2d, 0x3c, 0xba, - 0xac, 0x16, 0x7e, 0xbe, 0xac, 0x16, 0xde, 0x6b, 0xa6, 0xba, 0x12, 0x47, 0xca, 0x36, 0x47, 0xb0, - 0xcf, 0xcc, 0x37, 0x0f, 0xa3, 0x2f, 0xf4, 0x93, 0xe4, 0x1b, 0x3d, 0x6a, 0xd0, 0x7e, 0x39, 0x7a, - 0xf0, 0x5e, 0xfa, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x03, 0x86, 0x83, 0x88, 0x89, 0x0c, 0x00, 0x00, + // 1118 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xcf, 0x6f, 0xe3, 0x44, + 0x14, 0x8e, 0xd3, 0x6e, 0xb6, 0x9d, 0xee, 0xaa, 0xad, 0x55, 0x51, 0xd7, 0xa2, 0x49, 0x31, 0x42, + 0x0a, 0x61, 0x63, 0x6f, 0x83, 0xe0, 0x90, 0x13, 0x0d, 0xbb, 0x95, 0xca, 0x2a, 0xa2, 0x72, 0xf9, + 0x21, 0x71, 0xa0, 0x1a, 0xc7, 0x53, 0x67, 0xd4, 0x78, 0xc6, 0x78, 0x26, 0xa1, 0xe1, 0x02, 0xe2, + 0x84, 0x38, 0xf1, 0x27, 0xec, 0x01, 0x21, 0xc4, 0xa9, 0x07, 0x4e, 0x88, 0x3f, 0xa0, 0xda, 0xd3, + 0x8a, 0x03, 0x42, 0x1c, 0x0a, 0xb4, 0x87, 0x72, 0xde, 0x2b, 0x17, 0x64, 0x7b, 0xe2, 0x38, 0xae, + 0xbd, 0xe9, 0xa2, 0xb2, 0x97, 0x36, 0xf3, 0xde, 0x37, 0x6f, 0xde, 0xf7, 0xbe, 0x99, 0x37, 0x63, + 0xa0, 0x52, 0x0f, 0x13, 0xcc, 0x0d, 0xea, 0x75, 0xba, 0xb8, 0x67, 0x1b, 0x83, 0x4d, 0x83, 0x1f, + 0xe9, 0x9e, 0x4f, 0x39, 0x95, 0x97, 0x23, 0x9f, 0x2e, 0x7c, 0xfa, 0x60, 0x53, 0x5d, 0x86, 0x2e, + 0x26, 0xd4, 0x08, 0xff, 0x46, 0x28, 0xb5, 0xdc, 0xa1, 0xcc, 0xa5, 0xcc, 0xb0, 0x20, 0x43, 0xc6, + 0x60, 0xd3, 0x42, 0x1c, 0x6e, 0x1a, 0x1d, 0x8a, 0x89, 0xf0, 0xaf, 0x0a, 0xbf, 0xcb, 0x9c, 0x20, + 0xba, 0xcb, 0x1c, 0xe1, 0x58, 0x8b, 0x1c, 0xfb, 0xe1, 0xc8, 0x88, 0x06, 0xc2, 0xb5, 0xe2, 0x50, + 0x87, 0x46, 0xf6, 0xe0, 0xd7, 0x68, 0x82, 0x43, 0xa9, 0xd3, 0x43, 0x46, 0x38, 0xb2, 0xfa, 0x07, + 0x06, 0x24, 0x43, 0xe1, 0x5a, 0xcf, 0xa0, 0x31, 0xf4, 0x90, 0x88, 0xa7, 0x7d, 0x2b, 0x01, 0xb9, + 0xcd, 0x9c, 0xfb, 0x47, 0xa8, 0xd3, 0xe7, 0xa8, 0x8d, 0x18, 0x83, 0x0e, 0x62, 0xf2, 0x5d, 0x50, + 0x62, 0x88, 0xd8, 0xc8, 0x57, 0xa4, 0x0d, 0xa9, 0x3a, 0xdf, 0x52, 0x7e, 0xf9, 0xb1, 0xbe, 0x22, + 0x12, 0xd9, 0xb2, 0x6d, 0x1f, 0x31, 0xb6, 0xc7, 0x7d, 0x4c, 0x1c, 0x53, 0xe0, 0xe4, 0xbb, 0x60, + 0xce, 0x15, 0xb3, 0x95, 0xe2, 0xc6, 0x4c, 0x75, 0xa1, 0xb1, 0xa2, 0x47, 0x59, 0xe9, 0xa3, 0xac, + 0xf4, 0x2d, 0x32, 0x34, 0x63, 0x54, 0xb3, 0xf6, 0xe5, 0xc5, 0x71, 0x4d, 0x4c, 0xff, 0xfa, 0xe2, + 0xb8, 0xa6, 0x8e, 0x52, 0xbc, 0x9c, 0x8f, 0xf6, 0x22, 0x50, 0x2f, 0x5b, 0x4d, 0xc4, 0x3c, 0x4a, + 0x18, 0xd2, 0x1e, 0x49, 0x60, 0xa9, 0xcd, 0x9c, 0x3d, 0xc4, 0x5b, 0x3e, 0xb6, 0x1d, 0xb4, 0x43, + 0x0e, 0xa8, 0xbc, 0x95, 0xa2, 0xf0, 0xea, 0x93, 0xd3, 0xca, 0xed, 0x21, 0x74, 0x7b, 0x4d, 0x2d, + 0xb2, 0x6b, 0x53, 0x39, 0xed, 0x80, 0x05, 0x2b, 0x0c, 0xb8, 0x8f, 0xc9, 0x01, 0x55, 0x8a, 0x1b, + 0x52, 0x75, 0xa1, 0xb1, 0xae, 0x5f, 0x12, 0x5f, 0x1f, 0x2f, 0xdb, 0x9a, 0x3f, 0x39, 0xad, 0x14, + 0xbe, 0xbf, 0x38, 0xae, 0x49, 0x26, 0xb0, 0x62, 0x73, 0xb3, 0x9a, 0x22, 0xab, 0x24, 0xc8, 0x4e, + 0xe4, 0xad, 0xa9, 0x40, 0x49, 0xdb, 0x62, 0xa2, 0xdf, 0xcd, 0x80, 0xd5, 0x36, 0x73, 0xb6, 0x31, + 0x81, 0x3d, 0xfc, 0x19, 0x7a, 0x8f, 0x1e, 0x22, 0x72, 0x0f, 0x79, 0x94, 0x61, 0x7e, 0x1d, 0x7c, + 0xef, 0x80, 0xd9, 0x03, 0x9f, 0xba, 0x21, 0xd1, 0xa7, 0x69, 0x1e, 0xa2, 0xe4, 0x2a, 0x28, 0x72, + 0xaa, 0xcc, 0x4c, 0xc1, 0x16, 0x39, 0x95, 0xdb, 0xa0, 0x04, 0x5d, 0xda, 0x27, 0x5c, 0x99, 0x0d, + 0x4b, 0xb8, 0xa6, 0x0b, 0x68, 0x70, 0x32, 0x74, 0x71, 0x32, 0xf4, 0xb7, 0x29, 0x26, 0x2d, 0x35, + 0x28, 0xdf, 0x38, 0xf3, 0x68, 0x9a, 0x16, 0xd5, 0x53, 0x04, 0x91, 0x55, 0x30, 0xc7, 0xd0, 0x27, + 0x7d, 0x44, 0x3a, 0x48, 0xb9, 0xb1, 0x21, 0x55, 0x67, 0xcd, 0x78, 0x2c, 0xbf, 0x00, 0x4a, 0x5d, + 0x84, 0x9d, 0x2e, 0x57, 0x4a, 0xa1, 0x47, 0x8c, 0xe4, 0x75, 0x00, 0x82, 0xc5, 0xf6, 0x6d, 0x44, + 0xa8, 0xab, 0xdc, 0x0c, 0x92, 0x36, 0xe7, 0x03, 0xcb, 0xbd, 0xc0, 0x20, 0xaf, 0x83, 0x59, 0x1b, + 0x72, 0xa8, 0xcc, 0x6d, 0x48, 0xd5, 0x5b, 0xa1, 0x86, 0x52, 0xb4, 0x66, 0x68, 0x6e, 0x1a, 0x29, + 0xf5, 0x2a, 0x09, 0xf5, 0xb2, 0xc4, 0xd0, 0x5e, 0x02, 0x95, 0x1c, 0x57, 0xac, 0xe5, 0x3f, 0x52, + 0xb8, 0xa7, 0x77, 0x08, 0xe6, 0x18, 0xf2, 0x08, 0xf3, 0x21, 0xe6, 0x5d, 0xdb, 0x87, 0x9f, 0xc2, + 0xde, 0x7f, 0x38, 0x81, 0x91, 0x1e, 0xc5, 0xe7, 0xae, 0x47, 0xb3, 0x91, 0xaa, 0x8e, 0x96, 0xa8, + 0x4e, 0x0e, 0x3d, 0xed, 0x2d, 0xa0, 0xe5, 0x7b, 0x47, 0x35, 0x9a, 0x50, 0x5a, 0x9a, 0x54, 0x5a, + 0xfb, 0xa9, 0x08, 0x16, 0xdb, 0xcc, 0xd9, 0xb2, 0xed, 0x0f, 0x60, 0x0f, 0xdb, 0x90, 0x53, 0x5f, + 0x7e, 0x07, 0xcc, 0xc3, 0x3e, 0xef, 0x52, 0x1f, 0xf3, 0xa1, 0xa8, 0xdb, 0x9d, 0x27, 0xa7, 0x95, + 0x25, 0x91, 0xfc, 0xc8, 0x95, 0x7f, 0x12, 0xc6, 0xd3, 0x65, 0x05, 0xdc, 0x74, 0x29, 0xc1, 0x87, + 0xc8, 0x8f, 0x6a, 0x6a, 0x8e, 0x86, 0xf2, 0x7d, 0xb0, 0x3c, 0x18, 0x2d, 0xb9, 0x0f, 0xa3, 0xf9, + 0x53, 0xcf, 0xc1, 0x52, 0x3c, 0x45, 0xd8, 0xe5, 0x6d, 0x50, 0xf2, 0xfa, 0xd6, 0x21, 0x1a, 0x0a, + 0x15, 0x32, 0xfb, 0x65, 0x4b, 0x79, 0x34, 0x8e, 0xd8, 0xf1, 0x87, 0x1e, 0xa7, 0xfa, 0x6e, 0xdf, + 0x7a, 0x80, 0x86, 0xa6, 0x98, 0xdd, 0x6c, 0x7c, 0xf5, 0xb0, 0x52, 0xf8, 0xfb, 0x61, 0xa5, 0x10, + 0xc8, 0x30, 0x26, 0x10, 0x28, 0xb1, 0x9a, 0x50, 0x22, 0x59, 0x28, 0x6d, 0x2d, 0xec, 0x23, 0x49, + 0x53, 0xbc, 0x2f, 0x7f, 0x8d, 0x6e, 0x04, 0x13, 0xb9, 0x74, 0x80, 0xfe, 0x9f, 0xd2, 0x66, 0x16, + 0xb0, 0xf8, 0xac, 0x05, 0x6c, 0xd6, 0x2f, 0x13, 0x4e, 0xde, 0x21, 0x29, 0x06, 0xe2, 0x0e, 0x49, + 0x59, 0x63, 0xda, 0x3f, 0x4b, 0xe1, 0x76, 0x7a, 0xdf, 0xb3, 0x21, 0x47, 0xbb, 0xd0, 0x87, 0x2e, + 0xbb, 0x56, 0xce, 0x9b, 0xa0, 0xe4, 0x85, 0x51, 0xc5, 0x35, 0xb2, 0x96, 0x71, 0x8d, 0x44, 0xcb, + 0x9a, 0x02, 0x18, 0x5d, 0x90, 0xf9, 0x82, 0x26, 0x53, 0x15, 0x82, 0x26, 0x4d, 0x63, 0x66, 0xd1, + 0x41, 0xd9, 0xf3, 0x10, 0xb1, 0xb7, 0x11, 0xda, 0xa5, 0xb4, 0x77, 0xad, 0xcc, 0xde, 0x04, 0xf3, + 0x3e, 0xea, 0x60, 0x0f, 0x23, 0xc2, 0xa7, 0xaa, 0x38, 0x86, 0xca, 0xc3, 0xb8, 0x0b, 0xcd, 0x84, + 0xef, 0x85, 0xa7, 0x74, 0xa1, 0xed, 0xcc, 0x2e, 0xf4, 0xc3, 0x1f, 0x95, 0xaa, 0x83, 0x79, 0xb7, + 0x6f, 0xe9, 0x1d, 0xea, 0x8a, 0x77, 0x92, 0xf8, 0x57, 0x67, 0xf6, 0xa1, 0x78, 0xe8, 0x04, 0x11, + 0xd8, 0x64, 0xc7, 0x9a, 0x52, 0xd9, 0x64, 0xa9, 0x44, 0x65, 0x93, 0xa6, 0x51, 0x65, 0x1b, 0xbf, + 0x97, 0xc0, 0x4c, 0x9b, 0x39, 0xb2, 0x03, 0x16, 0xd3, 0x0f, 0xa8, 0x57, 0x32, 0xe4, 0xbd, 0xfc, + 0x82, 0x51, 0xeb, 0x57, 0x82, 0xc5, 0xfd, 0x10, 0x82, 0xdb, 0x93, 0x8f, 0x9c, 0x97, 0xb3, 0xe7, + 0x4f, 0x80, 0xd4, 0xd7, 0xae, 0x00, 0x8a, 0x97, 0x18, 0x80, 0x95, 0xcc, 0xe7, 0x45, 0x2d, 0x3b, + 0x48, 0x16, 0x56, 0x6d, 0x5c, 0x1d, 0x1b, 0xaf, 0xfb, 0x39, 0x58, 0xcd, 0xbb, 0x0a, 0x73, 0x8a, + 0x94, 0x03, 0x57, 0xdf, 0x78, 0x26, 0x78, 0x9c, 0xc0, 0xc7, 0xe0, 0xd6, 0xc4, 0x5d, 0xa2, 0x65, + 0x87, 0x49, 0x62, 0xd4, 0xda, 0x74, 0x4c, 0x1c, 0xdf, 0x01, 0x8b, 0xe9, 0x9e, 0x9a, 0xb3, 0x49, + 0x52, 0xb0, 0xbc, 0x4d, 0x92, 0xd3, 0xc9, 0x02, 0x22, 0x13, 0x5d, 0x2c, 0x87, 0x48, 0x12, 0x93, + 0x47, 0x24, 0xab, 0x9f, 0x04, 0xf1, 0x27, 0x7a, 0x49, 0x4e, 0xfc, 0x24, 0x26, 0x2f, 0x7e, 0xd6, + 0xa9, 0x52, 0x6f, 0x7c, 0x11, 0x9c, 0xd5, 0xd6, 0x83, 0x93, 0xbf, 0xca, 0x85, 0x93, 0xb3, 0xb2, + 0xf4, 0xf8, 0xac, 0x2c, 0xfd, 0x79, 0x56, 0x96, 0xbe, 0x39, 0x2f, 0x17, 0x1e, 0x9f, 0x97, 0x0b, + 0xbf, 0x9d, 0x97, 0x0b, 0x1f, 0xd5, 0x13, 0x07, 0x1f, 0x87, 0xca, 0xd6, 0x7b, 0xd0, 0x62, 0xc6, + 0xbb, 0xbb, 0xe1, 0xd7, 0xce, 0x51, 0xfc, 0xbd, 0x13, 0xf6, 0x00, 0xab, 0x14, 0xde, 0xa9, 0xaf, + 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x7a, 0x09, 0x31, 0x25, 0xd5, 0x0d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -706,6 +791,8 @@ const _ = grpc.SupportPackageIsVersion4 type MsgClient interface { // ExecuteMessages defines a rpc handler method for MsgExecuteMessages. ExecuteMessages(ctx context.Context, in *MsgExecuteMessages, opts ...grpc.CallOption) (*MsgExecuteMessagesResponse, error) + // SetBridgeInfo defines a rpc handler method for MsgSetBridgeInfo. + SetBridgeInfo(ctx context.Context, in *MsgSetBridgeInfo, opts ...grpc.CallOption) (*MsgSetBridgeInfoResponse, error) // FinalizeTokenDeposit defines a rpc handler method for MsgFinalizeTokenDeposit. FinalizeTokenDeposit(ctx context.Context, in *MsgFinalizeTokenDeposit, opts ...grpc.CallOption) (*MsgFinalizeTokenDepositResponse, error) // InitiateTokenWithdrawal defines a user facing l2 => l1 token transfer interface. @@ -738,6 +825,15 @@ func (c *msgClient) ExecuteMessages(ctx context.Context, in *MsgExecuteMessages, return out, nil } +func (c *msgClient) SetBridgeInfo(ctx context.Context, in *MsgSetBridgeInfo, opts ...grpc.CallOption) (*MsgSetBridgeInfoResponse, error) { + out := new(MsgSetBridgeInfoResponse) + err := c.cc.Invoke(ctx, "/opinit.opchild.v1.Msg/SetBridgeInfo", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) FinalizeTokenDeposit(ctx context.Context, in *MsgFinalizeTokenDeposit, opts ...grpc.CallOption) (*MsgFinalizeTokenDepositResponse, error) { out := new(MsgFinalizeTokenDepositResponse) err := c.cc.Invoke(ctx, "/opinit.opchild.v1.Msg/FinalizeTokenDeposit", in, out, opts...) @@ -796,6 +892,8 @@ func (c *msgClient) SpendFeePool(ctx context.Context, in *MsgSpendFeePool, opts type MsgServer interface { // ExecuteMessages defines a rpc handler method for MsgExecuteMessages. ExecuteMessages(context.Context, *MsgExecuteMessages) (*MsgExecuteMessagesResponse, error) + // SetBridgeInfo defines a rpc handler method for MsgSetBridgeInfo. + SetBridgeInfo(context.Context, *MsgSetBridgeInfo) (*MsgSetBridgeInfoResponse, error) // FinalizeTokenDeposit defines a rpc handler method for MsgFinalizeTokenDeposit. FinalizeTokenDeposit(context.Context, *MsgFinalizeTokenDeposit) (*MsgFinalizeTokenDepositResponse, error) // InitiateTokenWithdrawal defines a user facing l2 => l1 token transfer interface. @@ -818,6 +916,9 @@ type UnimplementedMsgServer struct { func (*UnimplementedMsgServer) ExecuteMessages(ctx context.Context, req *MsgExecuteMessages) (*MsgExecuteMessagesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ExecuteMessages not implemented") } +func (*UnimplementedMsgServer) SetBridgeInfo(ctx context.Context, req *MsgSetBridgeInfo) (*MsgSetBridgeInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetBridgeInfo not implemented") +} func (*UnimplementedMsgServer) FinalizeTokenDeposit(ctx context.Context, req *MsgFinalizeTokenDeposit) (*MsgFinalizeTokenDepositResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FinalizeTokenDeposit not implemented") } @@ -859,6 +960,24 @@ func _Msg_ExecuteMessages_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Msg_SetBridgeInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetBridgeInfo) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetBridgeInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/opinit.opchild.v1.Msg/SetBridgeInfo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetBridgeInfo(ctx, req.(*MsgSetBridgeInfo)) + } + return interceptor(ctx, in, info, handler) +} + func _Msg_FinalizeTokenDeposit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgFinalizeTokenDeposit) if err := dec(in); err != nil { @@ -975,6 +1094,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "ExecuteMessages", Handler: _Msg_ExecuteMessages_Handler, }, + { + MethodName: "SetBridgeInfo", + Handler: _Msg_SetBridgeInfo_Handler, + }, { MethodName: "FinalizeTokenDeposit", Handler: _Msg_FinalizeTokenDeposit_Handler, @@ -1071,6 +1194,69 @@ func (m *MsgExecuteMessagesResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } +func (m *MsgSetBridgeInfo) 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 *MsgSetBridgeInfo) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetBridgeInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.BridgeInfo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Sender) > 0 { + i -= len(m.Sender) + copy(dAtA[i:], m.Sender) + i = encodeVarintTx(dAtA, i, uint64(len(m.Sender))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgSetBridgeInfoResponse) 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 *MsgSetBridgeInfoResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetBridgeInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *MsgFinalizeTokenDeposit) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1564,6 +1750,30 @@ func (m *MsgExecuteMessagesResponse) Size() (n int) { return n } +func (m *MsgSetBridgeInfo) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Sender) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.BridgeInfo.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgSetBridgeInfoResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func (m *MsgFinalizeTokenDeposit) Size() (n int) { if m == nil { return 0 @@ -1931,6 +2141,171 @@ func (m *MsgExecuteMessagesResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgSetBridgeInfo) 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: MsgSetBridgeInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetBridgeInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Sender = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BridgeInfo", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.BridgeInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + 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 *MsgSetBridgeInfoResponse) 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: MsgSetBridgeInfoResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetBridgeInfoResponse: 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 *MsgFinalizeTokenDeposit) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/x/opchild/types/types.pb.go b/x/opchild/types/types.pb.go index d760b2a1..0b79d4a6 100644 --- a/x/opchild/types/types.pb.go +++ b/x/opchild/types/types.pb.go @@ -13,6 +13,7 @@ import ( _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + types3 "github.com/initia-labs/OPinit/x/ophost/types" io "io" math "math" math_bits "math/bits" @@ -166,62 +167,111 @@ func (m *ValidatorUpdates) XXX_DiscardUnknown() { var xxx_messageInfo_ValidatorUpdates proto.InternalMessageInfo +// BridgeInfo defines the information of the bridge. +type BridgeInfo struct { + // bridge id is the unique identifier of the bridge which is assigned from l1. + BridgeId uint64 `protobuf:"varint,1,opt,name=bridge_id,json=bridgeId,proto3" json:"bridge_id,omitempty"` + // bridge_addr is the address of the bridge on l1. + BridgeAddr string `protobuf:"bytes,2,opt,name=bridge_addr,json=bridgeAddr,proto3" json:"bridge_addr,omitempty"` + // bridge_config is the configuration of the bridge. + BridgeConfig types3.BridgeConfig `protobuf:"bytes,3,opt,name=bridge_config,json=bridgeConfig,proto3" json:"bridge_config"` +} + +func (m *BridgeInfo) Reset() { *m = BridgeInfo{} } +func (m *BridgeInfo) String() string { return proto.CompactTextString(m) } +func (*BridgeInfo) ProtoMessage() {} +func (*BridgeInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_2cc6df244b706d68, []int{3} +} +func (m *BridgeInfo) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BridgeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BridgeInfo.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 *BridgeInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_BridgeInfo.Merge(m, src) +} +func (m *BridgeInfo) XXX_Size() int { + return m.Size() +} +func (m *BridgeInfo) XXX_DiscardUnknown() { + xxx_messageInfo_BridgeInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_BridgeInfo proto.InternalMessageInfo + func init() { proto.RegisterType((*Params)(nil), "opinit.opchild.v1.Params") proto.RegisterType((*Validator)(nil), "opinit.opchild.v1.Validator") proto.RegisterType((*ValidatorUpdates)(nil), "opinit.opchild.v1.ValidatorUpdates") + proto.RegisterType((*BridgeInfo)(nil), "opinit.opchild.v1.BridgeInfo") } func init() { proto.RegisterFile("opinit/opchild/v1/types.proto", fileDescriptor_2cc6df244b706d68) } var fileDescriptor_2cc6df244b706d68 = []byte{ - // 723 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0x3f, 0x6f, 0xd3, 0x4e, - 0x18, 0xb6, 0x9b, 0xfe, 0x51, 0xdc, 0x36, 0x6d, 0xac, 0xf4, 0xf7, 0x4b, 0x5b, 0x6a, 0x47, 0x9e, - 0xa2, 0x42, 0x6c, 0xa5, 0x45, 0x42, 0xca, 0x44, 0x5d, 0x0a, 0x43, 0x91, 0x1a, 0x19, 0xc1, 0xc0, - 0x62, 0xce, 0xf6, 0xe1, 0x9e, 0x1a, 0xdf, 0x59, 0x3e, 0x27, 0x24, 0xdf, 0x00, 0xb1, 0xc0, 0xc8, - 0xd8, 0xb1, 0x62, 0xea, 0xc0, 0xc6, 0x17, 0xa8, 0x98, 0x2a, 0x26, 0x26, 0x03, 0xe9, 0x50, 0x26, - 0x06, 0x7f, 0x02, 0x64, 0xdf, 0x25, 0x29, 0x61, 0x60, 0x49, 0xee, 0x7d, 0x9f, 0xe7, 0x7d, 0xee, - 0xd5, 0xf3, 0xbe, 0x3e, 0x69, 0x8b, 0x84, 0x08, 0xa3, 0xd8, 0x20, 0xa1, 0x7b, 0x8c, 0x3a, 0x9e, - 0xd1, 0x6b, 0x1a, 0xf1, 0x20, 0x84, 0x54, 0x0f, 0x23, 0x12, 0x13, 0xb9, 0xcc, 0x60, 0x9d, 0xc3, - 0x7a, 0xaf, 0xb9, 0x51, 0x06, 0x01, 0xc2, 0xc4, 0xc8, 0x7f, 0x19, 0x6b, 0x43, 0x71, 0x09, 0x0d, - 0x08, 0x35, 0x1c, 0x40, 0xa1, 0xd1, 0x6b, 0x3a, 0x30, 0x06, 0x4d, 0xc3, 0x25, 0x08, 0x73, 0x7c, - 0x9d, 0xe1, 0x76, 0x1e, 0x19, 0x2c, 0xe0, 0x50, 0xc5, 0x27, 0x3e, 0x61, 0xf9, 0xec, 0x34, 0x2a, - 0xf0, 0x09, 0xf1, 0x3b, 0xd0, 0xc8, 0x23, 0xa7, 0xfb, 0xd2, 0x00, 0x78, 0xc0, 0xa1, 0xcd, 0x18, - 0x62, 0x0f, 0x46, 0x01, 0xc2, 0xb1, 0x01, 0x1c, 0x17, 0xdd, 0x6c, 0x57, 0xfb, 0x55, 0x90, 0xe6, - 0xdb, 0x20, 0x02, 0x01, 0x95, 0xef, 0x4b, 0xa5, 0x00, 0xf4, 0xed, 0x1e, 0xe8, 0x20, 0x0f, 0xc4, - 0x24, 0xa2, 0x55, 0xb1, 0x26, 0xd6, 0x97, 0xcd, 0xf5, 0x34, 0x51, 0xd7, 0x06, 0x20, 0xe8, 0xb4, - 0xb4, 0x3f, 0x71, 0xcd, 0x5a, 0x0e, 0x40, 0xff, 0xd9, 0x38, 0x96, 0x1f, 0x4b, 0xf2, 0x31, 0xa2, - 0x31, 0x89, 0x90, 0x0b, 0x3a, 0x36, 0xc4, 0x71, 0x84, 0x20, 0xad, 0xce, 0xe4, 0x2a, 0x5b, 0x69, - 0xa2, 0xae, 0x33, 0x95, 0xbf, 0x39, 0x9a, 0x55, 0x9e, 0x24, 0x0f, 0x58, 0x4e, 0x7e, 0x2b, 0x4a, - 0xa5, 0x00, 0x61, 0xdb, 0x07, 0x99, 0x0f, 0xc8, 0x85, 0xb4, 0x5a, 0xa8, 0x15, 0xea, 0x8b, 0x3b, - 0xb7, 0x74, 0x6e, 0x48, 0xe6, 0x9e, 0xce, 0xdd, 0xd3, 0x1f, 0x40, 0x77, 0x9f, 0x20, 0x6c, 0x1e, - 0x5e, 0x24, 0xaa, 0x90, 0x26, 0x6a, 0x85, 0xb7, 0x7c, 0x53, 0x41, 0xfb, 0xf0, 0x4d, 0xbd, 0xed, - 0xa3, 0xf8, 0xb8, 0xeb, 0xe8, 0x2e, 0x09, 0xb8, 0xb1, 0xfc, 0xaf, 0x41, 0xbd, 0x13, 0xee, 0x0d, - 0xd7, 0xa2, 0xd6, 0x52, 0x80, 0xf0, 0x23, 0x40, 0xdb, 0xf9, 0xf5, 0xf2, 0x0b, 0x69, 0xc5, 0x89, - 0x90, 0xe7, 0x43, 0x1b, 0xf6, 0xa1, 0xdb, 0x8d, 0x49, 0x54, 0x9d, 0xad, 0x89, 0xf5, 0xa2, 0x79, - 0x2f, 0x4d, 0xd4, 0xff, 0xd8, 0x7d, 0x53, 0x04, 0xed, 0xcb, 0xc7, 0x46, 0x85, 0xb7, 0xbb, 0xe7, - 0x79, 0x11, 0xa4, 0xf4, 0x49, 0x1c, 0x21, 0xec, 0x9f, 0x5d, 0x9f, 0x6f, 0x8b, 0x56, 0x89, 0xd1, - 0x0f, 0x38, 0x5b, 0xde, 0x97, 0xe6, 0x80, 0x17, 0x20, 0x5c, 0x9d, 0xcb, 0x75, 0x1b, 0x69, 0xa2, - 0x2e, 0x31, 0xdd, 0x3c, 0xfd, 0x0f, 0x35, 0x56, 0xdb, 0xda, 0x7c, 0x7f, 0xaa, 0x0a, 0x3f, 0x4f, - 0x55, 0xf1, 0xcd, 0xf5, 0xf9, 0x76, 0x69, 0xb4, 0xa7, 0x6c, 0xca, 0xda, 0xa7, 0x19, 0xa9, 0x38, - 0x1e, 0x99, 0x7c, 0x47, 0x5a, 0x08, 0x08, 0x46, 0x27, 0x30, 0xca, 0x87, 0x5d, 0x34, 0xe5, 0x34, - 0x51, 0x4b, 0xdc, 0x39, 0x06, 0x68, 0xd6, 0x88, 0x22, 0x3f, 0x94, 0x56, 0x49, 0x08, 0xa3, 0xac, - 0xd2, 0x06, 0xec, 0xfa, 0x7c, 0xba, 0x45, 0x73, 0x33, 0x4d, 0xd4, 0xff, 0x59, 0xd9, 0x34, 0x43, - 0xb3, 0x56, 0x46, 0x29, 0xde, 0xb2, 0x1c, 0x4b, 0xab, 0x2e, 0xc1, 0x14, 0x62, 0xda, 0xa5, 0x76, - 0xd8, 0x75, 0x4e, 0xe0, 0xa0, 0x5a, 0xa8, 0x89, 0xf5, 0xc5, 0x9d, 0x8a, 0xce, 0xf6, 0x58, 0x1f, - 0xed, 0xb1, 0xbe, 0x87, 0x07, 0xe6, 0xee, 0x44, 0x7d, 0xba, 0x4e, 0xfb, 0x3c, 0x71, 0xc4, 0x8d, - 0x06, 0x61, 0x4c, 0xf4, 0x76, 0xd7, 0x39, 0x84, 0x03, 0x6b, 0x65, 0x4c, 0x6d, 0xe7, 0x4c, 0xf9, - 0xae, 0x24, 0x65, 0x29, 0x3b, 0x24, 0xaf, 0x20, 0x1b, 0x5c, 0xc1, 0x5c, 0x4b, 0x13, 0xb5, 0x3c, - 0x51, 0x66, 0x98, 0x66, 0x15, 0xb3, 0xa0, 0x9d, 0x9d, 0x5b, 0x4b, 0xaf, 0x4f, 0x55, 0x81, 0x1b, - 0x2a, 0x68, 0xb6, 0xb4, 0x3a, 0x36, 0xef, 0x69, 0xe8, 0x81, 0x18, 0x52, 0xf9, 0x40, 0x5a, 0xe8, - 0xb2, 0x63, 0x55, 0xcc, 0xf7, 0xb3, 0xa6, 0x4f, 0xbe, 0x38, 0x3d, 0xfb, 0xe2, 0xf4, 0xa9, 0x1a, - 0xb3, 0x98, 0xed, 0x28, 0x9b, 0xd9, 0xa8, 0xb6, 0x35, 0x9b, 0x5d, 0x60, 0x1e, 0x5d, 0xfc, 0x50, - 0x84, 0xb3, 0xa1, 0x22, 0x5e, 0x0c, 0x15, 0xf1, 0x72, 0xa8, 0x88, 0xdf, 0x87, 0x8a, 0xf8, 0xee, - 0x4a, 0x11, 0x2e, 0xaf, 0x14, 0xe1, 0xeb, 0x95, 0x22, 0x3c, 0x6f, 0xdc, 0xd8, 0xdf, 0xec, 0xa5, - 0x41, 0xa0, 0xd1, 0x01, 0x0e, 0x35, 0x8e, 0xda, 0xf9, 0xb3, 0xd4, 0x1f, 0x3f, 0x4c, 0xf9, 0x2a, - 0x3b, 0xf3, 0xb9, 0x93, 0xbb, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x7e, 0x2f, 0xa5, 0x7e, 0xb7, - 0x04, 0x00, 0x00, + // 810 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0x3f, 0x6f, 0xe4, 0x44, + 0x14, 0x5f, 0xdf, 0xe6, 0xee, 0xd8, 0x49, 0xb2, 0x49, 0x46, 0x39, 0xd8, 0x24, 0x77, 0xf6, 0xca, + 0x55, 0x74, 0xb0, 0x63, 0xed, 0x1d, 0x12, 0x22, 0x15, 0xe7, 0x10, 0xd0, 0xe9, 0x10, 0xb7, 0x32, + 0x82, 0x82, 0xc6, 0x8c, 0xed, 0x89, 0x33, 0xca, 0x7a, 0xc6, 0xf2, 0xcc, 0x2e, 0xd9, 0x6f, 0x80, + 0x68, 0xa0, 0xa4, 0x4c, 0x79, 0xa2, 0xba, 0xe2, 0x3a, 0xbe, 0x40, 0x44, 0x75, 0xa2, 0xa2, 0x32, + 0xb0, 0x29, 0x42, 0x45, 0xe1, 0x4f, 0x80, 0x3c, 0x33, 0xfb, 0x87, 0x45, 0x88, 0x66, 0x77, 0xde, + 0xfb, 0xfd, 0xde, 0x1f, 0xff, 0xde, 0x9b, 0x01, 0x0f, 0x78, 0x4e, 0x19, 0x95, 0x1e, 0xcf, 0xe3, + 0x33, 0x3a, 0x4c, 0xbc, 0x71, 0xdf, 0x93, 0x93, 0x9c, 0x08, 0x94, 0x17, 0x5c, 0x72, 0xb8, 0xa3, + 0x61, 0x64, 0x60, 0x34, 0xee, 0xef, 0xef, 0xe0, 0x8c, 0x32, 0xee, 0xa9, 0x5f, 0xcd, 0xda, 0xb7, + 0x63, 0x2e, 0x32, 0x2e, 0xbc, 0x08, 0x0b, 0xe2, 0x8d, 0xfb, 0x11, 0x91, 0xb8, 0xef, 0xc5, 0x9c, + 0x32, 0x83, 0xef, 0x69, 0x3c, 0x54, 0x96, 0xa7, 0x0d, 0x03, 0xed, 0xa6, 0x3c, 0xe5, 0xda, 0x5f, + 0x9f, 0x66, 0x01, 0x29, 0xe7, 0xe9, 0x90, 0x78, 0xca, 0x8a, 0x46, 0xa7, 0x1e, 0x66, 0x13, 0x03, + 0x1d, 0x48, 0xc2, 0x12, 0x52, 0x64, 0x94, 0x49, 0x0f, 0x47, 0x31, 0x5d, 0x6e, 0x77, 0xff, 0xfe, + 0xfc, 0x6b, 0xce, 0xb8, 0x90, 0x2b, 0x1f, 0xe3, 0xfe, 0xd5, 0x04, 0x77, 0x06, 0xb8, 0xc0, 0x99, + 0x80, 0x1f, 0x80, 0x76, 0x86, 0x2f, 0xc2, 0x31, 0x1e, 0xd2, 0x04, 0x4b, 0x5e, 0x88, 0x8e, 0xd5, + 0xb5, 0x0e, 0x37, 0xfd, 0xbd, 0xaa, 0x74, 0xee, 0x4d, 0x70, 0x36, 0x3c, 0x72, 0xff, 0x89, 0xbb, + 0xc1, 0x66, 0x86, 0x2f, 0xbe, 0x98, 0xdb, 0xf0, 0x13, 0x00, 0xcf, 0xa8, 0x90, 0xbc, 0xa0, 0x31, + 0x1e, 0x86, 0x84, 0xc9, 0x82, 0x12, 0xd1, 0xb9, 0xa5, 0xb2, 0x3c, 0xa8, 0x4a, 0x67, 0x4f, 0x67, + 0xf9, 0x37, 0xc7, 0x0d, 0x76, 0x16, 0xce, 0x13, 0xed, 0x83, 0xdf, 0x59, 0xa0, 0x9d, 0x51, 0x16, + 0xa6, 0xb8, 0x56, 0x89, 0xc6, 0x44, 0x74, 0x9a, 0xdd, 0xe6, 0xe1, 0xfa, 0xa3, 0xfb, 0xc8, 0xc8, + 0x55, 0x6b, 0x8b, 0x8c, 0xb6, 0xe8, 0x43, 0x12, 0x1f, 0x73, 0xca, 0xfc, 0x67, 0x57, 0xa5, 0xd3, + 0xa8, 0x4a, 0x67, 0xd7, 0xb4, 0xbc, 0x9c, 0xc1, 0xfd, 0xf1, 0x37, 0xe7, 0xed, 0x94, 0xca, 0xb3, + 0x51, 0x84, 0x62, 0x9e, 0x19, 0xd9, 0xcd, 0x5f, 0x4f, 0x24, 0xe7, 0x46, 0x1b, 0x93, 0x4b, 0x04, + 0x1b, 0x19, 0x65, 0x1f, 0x63, 0x31, 0x50, 0xe5, 0xe1, 0x57, 0x60, 0x2b, 0x2a, 0x68, 0x92, 0x92, + 0x90, 0x5c, 0x90, 0x78, 0x24, 0x79, 0xd1, 0x59, 0xeb, 0x5a, 0x87, 0x2d, 0xff, 0xbd, 0xaa, 0x74, + 0xde, 0xd4, 0xf5, 0x56, 0x08, 0xee, 0x2f, 0xaf, 0x7a, 0xbb, 0xa6, 0xdd, 0x27, 0x49, 0x52, 0x10, + 0x21, 0x3e, 0x93, 0x05, 0x65, 0xe9, 0x8b, 0x9b, 0x97, 0x0f, 0xad, 0xa0, 0xad, 0xe9, 0x27, 0x86, + 0x0d, 0x8f, 0xc1, 0x6d, 0x9c, 0x64, 0x94, 0x75, 0x6e, 0xab, 0xbc, 0xbd, 0xaa, 0x74, 0x36, 0x74, + 0x5e, 0xe5, 0xfe, 0x9f, 0x6c, 0x3a, 0xf6, 0xe8, 0xe0, 0x87, 0x4b, 0xa7, 0xf1, 0xe7, 0xa5, 0x63, + 0x7d, 0x7b, 0xf3, 0xf2, 0x61, 0x7b, 0xb6, 0xc5, 0x7a, 0xca, 0xee, 0x4f, 0xb7, 0x40, 0x6b, 0x3e, + 0x32, 0xf8, 0x0e, 0xb8, 0x9b, 0x71, 0x46, 0xcf, 0x49, 0xa1, 0x86, 0xdd, 0xf2, 0x61, 0x55, 0x3a, + 0x6d, 0xa3, 0x9c, 0x06, 0xdc, 0x60, 0x46, 0x81, 0x1f, 0x81, 0x6d, 0x9e, 0x93, 0xa2, 0x8e, 0x0c, + 0xb1, 0x2e, 0xaf, 0xa6, 0xdb, 0xf2, 0x0f, 0xaa, 0xd2, 0x79, 0x4b, 0x87, 0xad, 0x32, 0xdc, 0x60, + 0x6b, 0xe6, 0x32, 0x2d, 0x43, 0x09, 0xb6, 0x63, 0xce, 0x04, 0x61, 0x62, 0x24, 0xc2, 0x7c, 0x14, + 0x9d, 0x93, 0x49, 0xa7, 0xd9, 0xb5, 0x0e, 0xd7, 0x1f, 0xed, 0x22, 0xbd, 0xe5, 0x68, 0xb6, 0xe5, + 0xe8, 0x09, 0x9b, 0xf8, 0x8f, 0x17, 0xd9, 0x57, 0xe3, 0xdc, 0x9f, 0x17, 0x8a, 0xc4, 0xc5, 0x24, + 0x97, 0x1c, 0x0d, 0x46, 0xd1, 0x33, 0x32, 0x09, 0xb6, 0xe6, 0xd4, 0x81, 0x62, 0xc2, 0x77, 0x01, + 0xa8, 0x5d, 0x61, 0xce, 0xbf, 0x26, 0x7a, 0x70, 0x4d, 0xff, 0x5e, 0x55, 0x3a, 0x3b, 0x8b, 0xcc, + 0x1a, 0x73, 0x83, 0x56, 0x6d, 0x0c, 0xea, 0xf3, 0xd1, 0xc6, 0x37, 0x97, 0x4e, 0xc3, 0x08, 0xda, + 0x70, 0x43, 0xb0, 0x3d, 0x17, 0xef, 0xf3, 0x3c, 0xc1, 0x92, 0x08, 0x78, 0x02, 0xee, 0x8e, 0xf4, + 0xb1, 0x63, 0xa9, 0xfd, 0xec, 0xa2, 0xc5, 0x7d, 0x44, 0xf5, 0x7d, 0x44, 0x2b, 0x31, 0x7e, 0xab, + 0xde, 0x51, 0x3d, 0xb3, 0x59, 0xec, 0xd1, 0x9a, 0x2a, 0xf0, 0xca, 0x02, 0xc0, 0x57, 0x3b, 0xf1, + 0x94, 0x9d, 0x72, 0x78, 0x00, 0x5a, 0x66, 0xa1, 0x68, 0xa2, 0x26, 0xb4, 0x16, 0xbc, 0xa1, 0x1d, + 0x4f, 0x13, 0xf8, 0x3e, 0x58, 0x37, 0x60, 0x2d, 0xb5, 0x99, 0x44, 0xe7, 0xbf, 0x56, 0x24, 0x00, + 0x9a, 0x5c, 0x3b, 0xe1, 0xa7, 0x60, 0xd3, 0x84, 0xc6, 0x9c, 0x9d, 0xd2, 0xd4, 0xc8, 0x6f, 0xa3, + 0xf9, 0xdb, 0x56, 0x3f, 0x16, 0x68, 0xdc, 0x47, 0xba, 0x99, 0x63, 0xc5, 0x5a, 0xee, 0x7b, 0x23, + 0x5a, 0x06, 0x9e, 0x5f, 0xfd, 0x61, 0x37, 0x5e, 0x4c, 0x6d, 0xeb, 0x6a, 0x6a, 0x5b, 0xaf, 0xa7, + 0xb6, 0xf5, 0xfb, 0xd4, 0xb6, 0xbe, 0xbf, 0xb6, 0x1b, 0xaf, 0xaf, 0xed, 0xc6, 0xaf, 0xd7, 0x76, + 0xe3, 0xcb, 0xde, 0xd2, 0xb5, 0xab, 0x4b, 0x50, 0xdc, 0x1b, 0xe2, 0x48, 0x78, 0xcf, 0x07, 0xea, + 0x75, 0xba, 0x98, 0xbf, 0xb6, 0xea, 0x06, 0x46, 0x77, 0xd4, 0x02, 0x3c, 0xfe, 0x3b, 0x00, 0x00, + 0xff, 0xff, 0xf7, 0xdc, 0xa8, 0x40, 0x8c, 0x05, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -265,6 +315,36 @@ func (this *Params) Equal(that interface{}) bool { } return true } +func (this *BridgeInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*BridgeInfo) + if !ok { + that2, ok := that.(BridgeInfo) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.BridgeId != that1.BridgeId { + return false + } + if this.BridgeAddr != that1.BridgeAddr { + return false + } + if !this.BridgeConfig.Equal(&that1.BridgeConfig) { + return false + } + return true +} func (m *Params) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -417,6 +497,51 @@ func (m *ValidatorUpdates) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *BridgeInfo) 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 *BridgeInfo) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BridgeInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.BridgeConfig.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + if len(m.BridgeAddr) > 0 { + i -= len(m.BridgeAddr) + copy(dAtA[i:], m.BridgeAddr) + i = encodeVarintTypes(dAtA, i, uint64(len(m.BridgeAddr))) + i-- + dAtA[i] = 0x12 + } + if m.BridgeId != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.BridgeId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func encodeVarintTypes(dAtA []byte, offset int, v uint64) int { offset -= sovTypes(v) base := offset @@ -496,6 +621,24 @@ func (m *ValidatorUpdates) Size() (n int) { return n } +func (m *BridgeInfo) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BridgeId != 0 { + n += 1 + sovTypes(uint64(m.BridgeId)) + } + l = len(m.BridgeAddr) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + l = m.BridgeConfig.Size() + n += 1 + l + sovTypes(uint64(l)) + return n +} + func sovTypes(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -941,6 +1084,140 @@ func (m *ValidatorUpdates) Unmarshal(dAtA []byte) error { } return nil } +func (m *BridgeInfo) 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 ErrIntOverflowTypes + } + 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: BridgeInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BridgeInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BridgeId", wireType) + } + m.BridgeId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BridgeId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BridgeAddr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BridgeAddr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BridgeConfig", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.BridgeConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTypes(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/ophost/types/bridge_config.go b/x/ophost/types/bridge_config.go index c3d0bb0c..f40b35b3 100644 --- a/x/ophost/types/bridge_config.go +++ b/x/ophost/types/bridge_config.go @@ -39,3 +39,35 @@ func (config BridgeConfig) Validate(ac address.Codec) error { return nil } + +func (config BridgeConfig) ValidateWithNoAddrValidation() error { + if len(config.Proposer) == 0 { + return errors.Wrapf(sdkerrors.ErrInvalidRequest, "proposer must be set") + } + + if len(config.Challenger) == 0 { + return errors.Wrapf(sdkerrors.ErrInvalidRequest, "challenger must be set") + } + + if len(config.BatchInfo.Chain) == 0 { + return errors.Wrapf(sdkerrors.ErrInvalidRequest, "batch chain must be set") + } + + if len(config.BatchInfo.Submitter) == 0 { + return errors.Wrapf(sdkerrors.ErrInvalidRequest, "batch submitter must be set") + } + + if config.FinalizationPeriod == time.Duration(0) { + return errors.Wrapf(sdkerrors.ErrInvalidRequest, "finalization period must be greater than 0") + } + + if config.SubmissionInterval == time.Duration(0) { + return errors.Wrapf(sdkerrors.ErrInvalidRequest, "submission interval must be greater than 0") + } + + if config.SubmissionStartTime.IsZero() { + return errors.Wrapf(sdkerrors.ErrInvalidRequest, "submission start time must be set") + } + + return nil +}