diff --git a/README.md b/README.md
index f5c03ae9f..de699df59 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,3 @@
----
-sidebar_position: 1
-title: Poktroll
-id: home-doc
-slug: /
----
-
@@ -13,17 +6,17 @@ slug: /
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
diff --git a/api/poktroll/gateway/tx.pulsar.go b/api/poktroll/gateway/tx.pulsar.go
index d4983a136..4625908b1 100644
--- a/api/poktroll/gateway/tx.pulsar.go
+++ b/api/poktroll/gateway/tx.pulsar.go
@@ -2503,6 +2503,989 @@ func (x *fastReflection_MsgUnstakeGatewayResponse) ProtoMethods() *protoiface.Me
}
}
+var (
+ md_MsgUpdateParam protoreflect.MessageDescriptor
+ fd_MsgUpdateParam_authority protoreflect.FieldDescriptor
+ fd_MsgUpdateParam_name protoreflect.FieldDescriptor
+ fd_MsgUpdateParam_as_type protoreflect.FieldDescriptor
+)
+
+func init() {
+ file_poktroll_gateway_tx_proto_init()
+ md_MsgUpdateParam = File_poktroll_gateway_tx_proto.Messages().ByName("MsgUpdateParam")
+ fd_MsgUpdateParam_authority = md_MsgUpdateParam.Fields().ByName("authority")
+ fd_MsgUpdateParam_name = md_MsgUpdateParam.Fields().ByName("name")
+ fd_MsgUpdateParam_as_type = md_MsgUpdateParam.Fields().ByName("as_type")
+}
+
+var _ protoreflect.Message = (*fastReflection_MsgUpdateParam)(nil)
+
+type fastReflection_MsgUpdateParam MsgUpdateParam
+
+func (x *MsgUpdateParam) ProtoReflect() protoreflect.Message {
+ return (*fastReflection_MsgUpdateParam)(x)
+}
+
+func (x *MsgUpdateParam) slowProtoReflect() protoreflect.Message {
+ mi := &file_poktroll_gateway_tx_proto_msgTypes[6]
+ 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_MsgUpdateParam_messageType fastReflection_MsgUpdateParam_messageType
+var _ protoreflect.MessageType = fastReflection_MsgUpdateParam_messageType{}
+
+type fastReflection_MsgUpdateParam_messageType struct{}
+
+func (x fastReflection_MsgUpdateParam_messageType) Zero() protoreflect.Message {
+ return (*fastReflection_MsgUpdateParam)(nil)
+}
+func (x fastReflection_MsgUpdateParam_messageType) New() protoreflect.Message {
+ return new(fastReflection_MsgUpdateParam)
+}
+func (x fastReflection_MsgUpdateParam_messageType) Descriptor() protoreflect.MessageDescriptor {
+ return md_MsgUpdateParam
+}
+
+// Descriptor returns message descriptor, which contains only the protobuf
+// type information for the message.
+func (x *fastReflection_MsgUpdateParam) Descriptor() protoreflect.MessageDescriptor {
+ return md_MsgUpdateParam
+}
+
+// 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_MsgUpdateParam) Type() protoreflect.MessageType {
+ return _fastReflection_MsgUpdateParam_messageType
+}
+
+// New returns a newly allocated and mutable empty message.
+func (x *fastReflection_MsgUpdateParam) New() protoreflect.Message {
+ return new(fastReflection_MsgUpdateParam)
+}
+
+// Interface unwraps the message reflection interface and
+// returns the underlying ProtoMessage interface.
+func (x *fastReflection_MsgUpdateParam) Interface() protoreflect.ProtoMessage {
+ return (*MsgUpdateParam)(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_MsgUpdateParam) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
+ if x.Authority != "" {
+ value := protoreflect.ValueOfString(x.Authority)
+ if !f(fd_MsgUpdateParam_authority, value) {
+ return
+ }
+ }
+ if x.Name != "" {
+ value := protoreflect.ValueOfString(x.Name)
+ if !f(fd_MsgUpdateParam_name, value) {
+ return
+ }
+ }
+ if x.AsType != "" {
+ value := protoreflect.ValueOfString(x.AsType)
+ if !f(fd_MsgUpdateParam_as_type, 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_MsgUpdateParam) Has(fd protoreflect.FieldDescriptor) bool {
+ switch fd.FullName() {
+ case "poktroll.gateway.MsgUpdateParam.authority":
+ return x.Authority != ""
+ case "poktroll.gateway.MsgUpdateParam.name":
+ return x.Name != ""
+ case "poktroll.gateway.MsgUpdateParam.as_type":
+ return x.AsType != ""
+ default:
+ if fd.IsExtension() {
+ panic(fmt.Errorf("proto3 declared messages do not support extensions: poktroll.gateway.MsgUpdateParam"))
+ }
+ panic(fmt.Errorf("message poktroll.gateway.MsgUpdateParam 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_MsgUpdateParam) Clear(fd protoreflect.FieldDescriptor) {
+ switch fd.FullName() {
+ case "poktroll.gateway.MsgUpdateParam.authority":
+ x.Authority = ""
+ case "poktroll.gateway.MsgUpdateParam.name":
+ x.Name = ""
+ case "poktroll.gateway.MsgUpdateParam.as_type":
+ x.AsType = ""
+ default:
+ if fd.IsExtension() {
+ panic(fmt.Errorf("proto3 declared messages do not support extensions: poktroll.gateway.MsgUpdateParam"))
+ }
+ panic(fmt.Errorf("message poktroll.gateway.MsgUpdateParam 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_MsgUpdateParam) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
+ switch descriptor.FullName() {
+ case "poktroll.gateway.MsgUpdateParam.authority":
+ value := x.Authority
+ return protoreflect.ValueOfString(value)
+ case "poktroll.gateway.MsgUpdateParam.name":
+ value := x.Name
+ return protoreflect.ValueOfString(value)
+ case "poktroll.gateway.MsgUpdateParam.as_type":
+ value := x.AsType
+ return protoreflect.ValueOfString(value)
+ default:
+ if descriptor.IsExtension() {
+ panic(fmt.Errorf("proto3 declared messages do not support extensions: poktroll.gateway.MsgUpdateParam"))
+ }
+ panic(fmt.Errorf("message poktroll.gateway.MsgUpdateParam 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_MsgUpdateParam) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
+ switch fd.FullName() {
+ case "poktroll.gateway.MsgUpdateParam.authority":
+ x.Authority = value.Interface().(string)
+ case "poktroll.gateway.MsgUpdateParam.name":
+ x.Name = value.Interface().(string)
+ case "poktroll.gateway.MsgUpdateParam.as_type":
+ x.AsType = value.Interface().(string)
+ default:
+ if fd.IsExtension() {
+ panic(fmt.Errorf("proto3 declared messages do not support extensions: poktroll.gateway.MsgUpdateParam"))
+ }
+ panic(fmt.Errorf("message poktroll.gateway.MsgUpdateParam 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_MsgUpdateParam) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
+ switch fd.FullName() {
+ case "poktroll.gateway.MsgUpdateParam.authority":
+ panic(fmt.Errorf("field authority of message poktroll.gateway.MsgUpdateParam is not mutable"))
+ case "poktroll.gateway.MsgUpdateParam.name":
+ panic(fmt.Errorf("field name of message poktroll.gateway.MsgUpdateParam is not mutable"))
+ case "poktroll.gateway.MsgUpdateParam.as_type":
+ panic(fmt.Errorf("field as_type of message poktroll.gateway.MsgUpdateParam is not mutable"))
+ default:
+ if fd.IsExtension() {
+ panic(fmt.Errorf("proto3 declared messages do not support extensions: poktroll.gateway.MsgUpdateParam"))
+ }
+ panic(fmt.Errorf("message poktroll.gateway.MsgUpdateParam 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_MsgUpdateParam) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
+ switch fd.FullName() {
+ case "poktroll.gateway.MsgUpdateParam.authority":
+ return protoreflect.ValueOfString("")
+ case "poktroll.gateway.MsgUpdateParam.name":
+ return protoreflect.ValueOfString("")
+ case "poktroll.gateway.MsgUpdateParam.as_type":
+ return protoreflect.ValueOfString("")
+ default:
+ if fd.IsExtension() {
+ panic(fmt.Errorf("proto3 declared messages do not support extensions: poktroll.gateway.MsgUpdateParam"))
+ }
+ panic(fmt.Errorf("message poktroll.gateway.MsgUpdateParam 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_MsgUpdateParam) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
+ switch d.FullName() {
+ default:
+ panic(fmt.Errorf("%s is not a oneof field in poktroll.gateway.MsgUpdateParam", 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_MsgUpdateParam) 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_MsgUpdateParam) 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_MsgUpdateParam) 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_MsgUpdateParam) ProtoMethods() *protoiface.Methods {
+ size := func(input protoiface.SizeInput) protoiface.SizeOutput {
+ x := input.Message.Interface().(*MsgUpdateParam)
+ 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.Authority)
+ if l > 0 {
+ n += 1 + l + runtime.Sov(uint64(l))
+ }
+ l = len(x.Name)
+ if l > 0 {
+ n += 1 + l + runtime.Sov(uint64(l))
+ }
+ l = len(x.AsType)
+ if l > 0 {
+ 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().(*MsgUpdateParam)
+ 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 len(x.AsType) > 0 {
+ i -= len(x.AsType)
+ copy(dAtA[i:], x.AsType)
+ i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AsType)))
+ i--
+ dAtA[i] = 0x1a
+ }
+ if len(x.Name) > 0 {
+ i -= len(x.Name)
+ copy(dAtA[i:], x.Name)
+ i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name)))
+ i--
+ dAtA[i] = 0x12
+ }
+ if len(x.Authority) > 0 {
+ i -= len(x.Authority)
+ copy(dAtA[i:], x.Authority)
+ i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority)))
+ 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().(*MsgUpdateParam)
+ 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: MsgUpdateParam: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParam: 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 Authority", 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.Authority = 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 Name", 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.Name = 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 AsType", 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.AsType = string(dAtA[iNdEx:postIndex])
+ 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_MsgUpdateParamResponse protoreflect.MessageDescriptor
+ fd_MsgUpdateParamResponse_params protoreflect.FieldDescriptor
+)
+
+func init() {
+ file_poktroll_gateway_tx_proto_init()
+ md_MsgUpdateParamResponse = File_poktroll_gateway_tx_proto.Messages().ByName("MsgUpdateParamResponse")
+ fd_MsgUpdateParamResponse_params = md_MsgUpdateParamResponse.Fields().ByName("params")
+}
+
+var _ protoreflect.Message = (*fastReflection_MsgUpdateParamResponse)(nil)
+
+type fastReflection_MsgUpdateParamResponse MsgUpdateParamResponse
+
+func (x *MsgUpdateParamResponse) ProtoReflect() protoreflect.Message {
+ return (*fastReflection_MsgUpdateParamResponse)(x)
+}
+
+func (x *MsgUpdateParamResponse) slowProtoReflect() protoreflect.Message {
+ mi := &file_poktroll_gateway_tx_proto_msgTypes[7]
+ 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_MsgUpdateParamResponse_messageType fastReflection_MsgUpdateParamResponse_messageType
+var _ protoreflect.MessageType = fastReflection_MsgUpdateParamResponse_messageType{}
+
+type fastReflection_MsgUpdateParamResponse_messageType struct{}
+
+func (x fastReflection_MsgUpdateParamResponse_messageType) Zero() protoreflect.Message {
+ return (*fastReflection_MsgUpdateParamResponse)(nil)
+}
+func (x fastReflection_MsgUpdateParamResponse_messageType) New() protoreflect.Message {
+ return new(fastReflection_MsgUpdateParamResponse)
+}
+func (x fastReflection_MsgUpdateParamResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
+ return md_MsgUpdateParamResponse
+}
+
+// Descriptor returns message descriptor, which contains only the protobuf
+// type information for the message.
+func (x *fastReflection_MsgUpdateParamResponse) Descriptor() protoreflect.MessageDescriptor {
+ return md_MsgUpdateParamResponse
+}
+
+// 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_MsgUpdateParamResponse) Type() protoreflect.MessageType {
+ return _fastReflection_MsgUpdateParamResponse_messageType
+}
+
+// New returns a newly allocated and mutable empty message.
+func (x *fastReflection_MsgUpdateParamResponse) New() protoreflect.Message {
+ return new(fastReflection_MsgUpdateParamResponse)
+}
+
+// Interface unwraps the message reflection interface and
+// returns the underlying ProtoMessage interface.
+func (x *fastReflection_MsgUpdateParamResponse) Interface() protoreflect.ProtoMessage {
+ return (*MsgUpdateParamResponse)(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_MsgUpdateParamResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
+ if x.Params != nil {
+ value := protoreflect.ValueOfMessage(x.Params.ProtoReflect())
+ if !f(fd_MsgUpdateParamResponse_params, 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_MsgUpdateParamResponse) Has(fd protoreflect.FieldDescriptor) bool {
+ switch fd.FullName() {
+ case "poktroll.gateway.MsgUpdateParamResponse.params":
+ return x.Params != nil
+ default:
+ if fd.IsExtension() {
+ panic(fmt.Errorf("proto3 declared messages do not support extensions: poktroll.gateway.MsgUpdateParamResponse"))
+ }
+ panic(fmt.Errorf("message poktroll.gateway.MsgUpdateParamResponse 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_MsgUpdateParamResponse) Clear(fd protoreflect.FieldDescriptor) {
+ switch fd.FullName() {
+ case "poktroll.gateway.MsgUpdateParamResponse.params":
+ x.Params = nil
+ default:
+ if fd.IsExtension() {
+ panic(fmt.Errorf("proto3 declared messages do not support extensions: poktroll.gateway.MsgUpdateParamResponse"))
+ }
+ panic(fmt.Errorf("message poktroll.gateway.MsgUpdateParamResponse 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_MsgUpdateParamResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
+ switch descriptor.FullName() {
+ case "poktroll.gateway.MsgUpdateParamResponse.params":
+ value := x.Params
+ return protoreflect.ValueOfMessage(value.ProtoReflect())
+ default:
+ if descriptor.IsExtension() {
+ panic(fmt.Errorf("proto3 declared messages do not support extensions: poktroll.gateway.MsgUpdateParamResponse"))
+ }
+ panic(fmt.Errorf("message poktroll.gateway.MsgUpdateParamResponse 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_MsgUpdateParamResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
+ switch fd.FullName() {
+ case "poktroll.gateway.MsgUpdateParamResponse.params":
+ x.Params = value.Message().Interface().(*Params)
+ default:
+ if fd.IsExtension() {
+ panic(fmt.Errorf("proto3 declared messages do not support extensions: poktroll.gateway.MsgUpdateParamResponse"))
+ }
+ panic(fmt.Errorf("message poktroll.gateway.MsgUpdateParamResponse 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_MsgUpdateParamResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
+ switch fd.FullName() {
+ case "poktroll.gateway.MsgUpdateParamResponse.params":
+ if x.Params == nil {
+ x.Params = new(Params)
+ }
+ return protoreflect.ValueOfMessage(x.Params.ProtoReflect())
+ default:
+ if fd.IsExtension() {
+ panic(fmt.Errorf("proto3 declared messages do not support extensions: poktroll.gateway.MsgUpdateParamResponse"))
+ }
+ panic(fmt.Errorf("message poktroll.gateway.MsgUpdateParamResponse 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_MsgUpdateParamResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
+ switch fd.FullName() {
+ case "poktroll.gateway.MsgUpdateParamResponse.params":
+ m := new(Params)
+ return protoreflect.ValueOfMessage(m.ProtoReflect())
+ default:
+ if fd.IsExtension() {
+ panic(fmt.Errorf("proto3 declared messages do not support extensions: poktroll.gateway.MsgUpdateParamResponse"))
+ }
+ panic(fmt.Errorf("message poktroll.gateway.MsgUpdateParamResponse 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_MsgUpdateParamResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
+ switch d.FullName() {
+ default:
+ panic(fmt.Errorf("%s is not a oneof field in poktroll.gateway.MsgUpdateParamResponse", 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_MsgUpdateParamResponse) 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_MsgUpdateParamResponse) 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_MsgUpdateParamResponse) 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_MsgUpdateParamResponse) ProtoMethods() *protoiface.Methods {
+ size := func(input protoiface.SizeInput) protoiface.SizeOutput {
+ x := input.Message.Interface().(*MsgUpdateParamResponse)
+ 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.Params != nil {
+ l = options.Size(x.Params)
+ 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().(*MsgUpdateParamResponse)
+ 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.Params != nil {
+ encoded, err := options.Marshal(x.Params)
+ 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().(*MsgUpdateParamResponse)
+ 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: MsgUpdateParamResponse: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParamResponse: 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 Params", 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.Params == nil {
+ x.Params = &Params{}
+ }
+ if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); 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
@@ -2721,6 +3704,94 @@ func (*MsgUnstakeGatewayResponse) Descriptor() ([]byte, []int) {
return file_poktroll_gateway_tx_proto_rawDescGZIP(), []int{5}
}
+// MsgUpdateParam is the Msg/UpdateParam request type to update a single param.
+type MsgUpdateParam struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // authority is the address that controls the module (defaults to x/gov unless overwritten).
+ Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"`
+ Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+ AsType string `protobuf:"bytes,3,opt,name=as_type,json=asType,proto3" json:"as_type,omitempty"`
+}
+
+func (x *MsgUpdateParam) Reset() {
+ *x = MsgUpdateParam{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_poktroll_gateway_tx_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MsgUpdateParam) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MsgUpdateParam) ProtoMessage() {}
+
+// Deprecated: Use MsgUpdateParam.ProtoReflect.Descriptor instead.
+func (*MsgUpdateParam) Descriptor() ([]byte, []int) {
+ return file_poktroll_gateway_tx_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *MsgUpdateParam) GetAuthority() string {
+ if x != nil {
+ return x.Authority
+ }
+ return ""
+}
+
+func (x *MsgUpdateParam) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *MsgUpdateParam) GetAsType() string {
+ if x != nil {
+ return x.AsType
+ }
+ return ""
+}
+
+type MsgUpdateParamResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"`
+}
+
+func (x *MsgUpdateParamResponse) Reset() {
+ *x = MsgUpdateParamResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_poktroll_gateway_tx_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MsgUpdateParamResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MsgUpdateParamResponse) ProtoMessage() {}
+
+// Deprecated: Use MsgUpdateParamResponse.ProtoReflect.Descriptor instead.
+func (*MsgUpdateParamResponse) Descriptor() ([]byte, []int) {
+ return file_poktroll_gateway_tx_proto_rawDescGZIP(), []int{7}
+}
+
+func (x *MsgUpdateParamResponse) GetParams() *Params {
+ if x != nil {
+ return x.Params
+ }
+ return nil
+}
+
var File_poktroll_gateway_tx_proto protoreflect.FileDescriptor
var file_poktroll_gateway_tx_proto_rawDesc = []byte{
@@ -2767,37 +3838,56 @@ var file_poktroll_gateway_tx_proto_rawDesc = []byte{
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a,
0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x1b, 0x0a,
0x19, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77,
- 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xac, 0x02, 0x0a, 0x03, 0x4d,
- 0x73, 0x67, 0x12, 0x5c, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x67, 0x61,
- 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50,
- 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x29, 0x2e, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
- 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 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, 0x5c, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
- 0x12, 0x21, 0x2e, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x67, 0x61, 0x74, 0x65,
- 0x77, 0x61, 0x79, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x47, 0x61, 0x74, 0x65,
- 0x77, 0x61, 0x79, 0x1a, 0x29, 0x2e, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x67,
- 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x47,
- 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62,
- 0x0a, 0x0e, 0x55, 0x6e, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
- 0x12, 0x23, 0x2e, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x67, 0x61, 0x74, 0x65,
- 0x77, 0x61, 0x79, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x47, 0x61,
- 0x74, 0x65, 0x77, 0x61, 0x79, 0x1a, 0x2b, 0x2e, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
- 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x73, 0x74,
+ 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0e, 0x4d,
+ 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x36, 0x0a,
+ 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 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, 0x09, 0x61, 0x75, 0x74, 0x68,
+ 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x73, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x73, 0x54, 0x79,
+ 0x70, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
+ 0x74, 0x79, 0x22, 0x4a, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x06,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70,
+ 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x32, 0x87,
+ 0x03, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x5c, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c,
+ 0x6c, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x29, 0x2e, 0x70, 0x6f, 0x6b, 0x74,
+ 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 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, 0x5c, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x47, 0x61, 0x74,
+ 0x65, 0x77, 0x61, 0x79, 0x12, 0x21, 0x2e, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2e,
+ 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x6b, 0x65,
+ 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x1a, 0x29, 0x2e, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74,
0x61, 0x6b, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xa7, 0x01, 0xd8, 0xe2, 0x1e, 0x01,
- 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x67,
- 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
- 0x01, 0x5a, 0x21, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f,
- 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x67, 0x61, 0x74,
- 0x65, 0x77, 0x61, 0x79, 0xa2, 0x02, 0x03, 0x50, 0x47, 0x58, 0xaa, 0x02, 0x10, 0x50, 0x6f, 0x6b,
- 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0xca, 0x02, 0x10,
- 0x50, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x5c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
- 0xe2, 0x02, 0x1c, 0x50, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x5c, 0x47, 0x61, 0x74, 0x65,
- 0x77, 0x61, 0x79, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea,
- 0x02, 0x11, 0x50, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x3a, 0x3a, 0x47, 0x61, 0x74, 0x65,
- 0x77, 0x61, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0e, 0x55, 0x6e, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x47, 0x61, 0x74,
+ 0x65, 0x77, 0x61, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2e,
+ 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x73, 0x74, 0x61,
+ 0x6b, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x1a, 0x2b, 0x2e, 0x70, 0x6f, 0x6b, 0x74,
+ 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x4d, 0x73, 0x67,
+ 0x55, 0x6e, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x20, 0x2e, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
+ 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x28, 0x2e, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xa7, 0x01, 0xd8, 0xe2, 0x1e, 0x01, 0x0a,
+ 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x67, 0x61,
+ 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
+ 0x5a, 0x21, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61,
+ 0x70, 0x69, 0x2f, 0x70, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x67, 0x61, 0x74, 0x65,
+ 0x77, 0x61, 0x79, 0xa2, 0x02, 0x03, 0x50, 0x47, 0x58, 0xaa, 0x02, 0x10, 0x50, 0x6f, 0x6b, 0x74,
+ 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0xca, 0x02, 0x10, 0x50,
+ 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x5c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0xe2,
+ 0x02, 0x1c, 0x50, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x5c, 0x47, 0x61, 0x74, 0x65, 0x77,
+ 0x61, 0x79, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02,
+ 0x11, 0x50, 0x6f, 0x6b, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x3a, 0x3a, 0x47, 0x61, 0x74, 0x65, 0x77,
+ 0x61, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -2812,7 +3902,7 @@ func file_poktroll_gateway_tx_proto_rawDescGZIP() []byte {
return file_poktroll_gateway_tx_proto_rawDescData
}
-var file_poktroll_gateway_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
+var file_poktroll_gateway_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_poktroll_gateway_tx_proto_goTypes = []interface{}{
(*MsgUpdateParams)(nil), // 0: poktroll.gateway.MsgUpdateParams
(*MsgUpdateParamsResponse)(nil), // 1: poktroll.gateway.MsgUpdateParamsResponse
@@ -2820,23 +3910,28 @@ var file_poktroll_gateway_tx_proto_goTypes = []interface{}{
(*MsgStakeGatewayResponse)(nil), // 3: poktroll.gateway.MsgStakeGatewayResponse
(*MsgUnstakeGateway)(nil), // 4: poktroll.gateway.MsgUnstakeGateway
(*MsgUnstakeGatewayResponse)(nil), // 5: poktroll.gateway.MsgUnstakeGatewayResponse
- (*Params)(nil), // 6: poktroll.gateway.Params
- (*v1beta1.Coin)(nil), // 7: cosmos.base.v1beta1.Coin
+ (*MsgUpdateParam)(nil), // 6: poktroll.gateway.MsgUpdateParam
+ (*MsgUpdateParamResponse)(nil), // 7: poktroll.gateway.MsgUpdateParamResponse
+ (*Params)(nil), // 8: poktroll.gateway.Params
+ (*v1beta1.Coin)(nil), // 9: cosmos.base.v1beta1.Coin
}
var file_poktroll_gateway_tx_proto_depIdxs = []int32{
- 6, // 0: poktroll.gateway.MsgUpdateParams.params:type_name -> poktroll.gateway.Params
- 7, // 1: poktroll.gateway.MsgStakeGateway.stake:type_name -> cosmos.base.v1beta1.Coin
- 0, // 2: poktroll.gateway.Msg.UpdateParams:input_type -> poktroll.gateway.MsgUpdateParams
- 2, // 3: poktroll.gateway.Msg.StakeGateway:input_type -> poktroll.gateway.MsgStakeGateway
- 4, // 4: poktroll.gateway.Msg.UnstakeGateway:input_type -> poktroll.gateway.MsgUnstakeGateway
- 1, // 5: poktroll.gateway.Msg.UpdateParams:output_type -> poktroll.gateway.MsgUpdateParamsResponse
- 3, // 6: poktroll.gateway.Msg.StakeGateway:output_type -> poktroll.gateway.MsgStakeGatewayResponse
- 5, // 7: poktroll.gateway.Msg.UnstakeGateway:output_type -> poktroll.gateway.MsgUnstakeGatewayResponse
- 5, // [5:8] is the sub-list for method output_type
- 2, // [2:5] is the sub-list for method input_type
- 2, // [2:2] is the sub-list for extension type_name
- 2, // [2:2] is the sub-list for extension extendee
- 0, // [0:2] is the sub-list for field type_name
+ 8, // 0: poktroll.gateway.MsgUpdateParams.params:type_name -> poktroll.gateway.Params
+ 9, // 1: poktroll.gateway.MsgStakeGateway.stake:type_name -> cosmos.base.v1beta1.Coin
+ 8, // 2: poktroll.gateway.MsgUpdateParamResponse.params:type_name -> poktroll.gateway.Params
+ 0, // 3: poktroll.gateway.Msg.UpdateParams:input_type -> poktroll.gateway.MsgUpdateParams
+ 2, // 4: poktroll.gateway.Msg.StakeGateway:input_type -> poktroll.gateway.MsgStakeGateway
+ 4, // 5: poktroll.gateway.Msg.UnstakeGateway:input_type -> poktroll.gateway.MsgUnstakeGateway
+ 6, // 6: poktroll.gateway.Msg.UpdateParam:input_type -> poktroll.gateway.MsgUpdateParam
+ 1, // 7: poktroll.gateway.Msg.UpdateParams:output_type -> poktroll.gateway.MsgUpdateParamsResponse
+ 3, // 8: poktroll.gateway.Msg.StakeGateway:output_type -> poktroll.gateway.MsgStakeGatewayResponse
+ 5, // 9: poktroll.gateway.Msg.UnstakeGateway:output_type -> poktroll.gateway.MsgUnstakeGatewayResponse
+ 7, // 10: poktroll.gateway.Msg.UpdateParam:output_type -> poktroll.gateway.MsgUpdateParamResponse
+ 7, // [7:11] is the sub-list for method output_type
+ 3, // [3:7] 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
}
func init() { file_poktroll_gateway_tx_proto_init() }
@@ -2918,6 +4013,30 @@ func file_poktroll_gateway_tx_proto_init() {
return nil
}
}
+ file_poktroll_gateway_tx_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MsgUpdateParam); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_poktroll_gateway_tx_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MsgUpdateParamResponse); 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{
@@ -2925,7 +4044,7 @@ func file_poktroll_gateway_tx_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_poktroll_gateway_tx_proto_rawDesc,
NumEnums: 0,
- NumMessages: 6,
+ NumMessages: 8,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/api/poktroll/gateway/tx_grpc.pb.go b/api/poktroll/gateway/tx_grpc.pb.go
index 097b42380..e326d0d9f 100644
--- a/api/poktroll/gateway/tx_grpc.pb.go
+++ b/api/poktroll/gateway/tx_grpc.pb.go
@@ -22,6 +22,7 @@ const (
Msg_UpdateParams_FullMethodName = "/poktroll.gateway.Msg/UpdateParams"
Msg_StakeGateway_FullMethodName = "/poktroll.gateway.Msg/StakeGateway"
Msg_UnstakeGateway_FullMethodName = "/poktroll.gateway.Msg/UnstakeGateway"
+ Msg_UpdateParam_FullMethodName = "/poktroll.gateway.Msg/UpdateParam"
)
// MsgClient is the client API for Msg service.
@@ -35,6 +36,7 @@ type MsgClient interface {
UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error)
StakeGateway(ctx context.Context, in *MsgStakeGateway, opts ...grpc.CallOption) (*MsgStakeGatewayResponse, error)
UnstakeGateway(ctx context.Context, in *MsgUnstakeGateway, opts ...grpc.CallOption) (*MsgUnstakeGatewayResponse, error)
+ UpdateParam(ctx context.Context, in *MsgUpdateParam, opts ...grpc.CallOption) (*MsgUpdateParamResponse, error)
}
type msgClient struct {
@@ -75,6 +77,16 @@ func (c *msgClient) UnstakeGateway(ctx context.Context, in *MsgUnstakeGateway, o
return out, nil
}
+func (c *msgClient) UpdateParam(ctx context.Context, in *MsgUpdateParam, opts ...grpc.CallOption) (*MsgUpdateParamResponse, error) {
+ cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+ out := new(MsgUpdateParamResponse)
+ err := c.cc.Invoke(ctx, Msg_UpdateParam_FullMethodName, in, out, cOpts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
// MsgServer is the server API for Msg service.
// All implementations must embed UnimplementedMsgServer
// for forward compatibility
@@ -86,6 +98,7 @@ type MsgServer interface {
UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error)
StakeGateway(context.Context, *MsgStakeGateway) (*MsgStakeGatewayResponse, error)
UnstakeGateway(context.Context, *MsgUnstakeGateway) (*MsgUnstakeGatewayResponse, error)
+ UpdateParam(context.Context, *MsgUpdateParam) (*MsgUpdateParamResponse, error)
mustEmbedUnimplementedMsgServer()
}
@@ -102,6 +115,9 @@ func (UnimplementedMsgServer) StakeGateway(context.Context, *MsgStakeGateway) (*
func (UnimplementedMsgServer) UnstakeGateway(context.Context, *MsgUnstakeGateway) (*MsgUnstakeGatewayResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UnstakeGateway not implemented")
}
+func (UnimplementedMsgServer) UpdateParam(context.Context, *MsgUpdateParam) (*MsgUpdateParamResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateParam not implemented")
+}
func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {}
// UnsafeMsgServer may be embedded to opt out of forward compatibility for this service.
@@ -169,6 +185,24 @@ func _Msg_UnstakeGateway_Handler(srv interface{}, ctx context.Context, dec func(
return interceptor(ctx, in, info, handler)
}
+func _Msg_UpdateParam_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(MsgUpdateParam)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MsgServer).UpdateParam(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Msg_UpdateParam_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MsgServer).UpdateParam(ctx, req.(*MsgUpdateParam))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
// Msg_ServiceDesc is the grpc.ServiceDesc for Msg service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@@ -188,6 +222,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{
MethodName: "UnstakeGateway",
Handler: _Msg_UnstakeGateway_Handler,
},
+ {
+ MethodName: "UpdateParam",
+ Handler: _Msg_UpdateParam_Handler,
+ },
},
Streams: []grpc.StreamDesc{},
Metadata: "poktroll/gateway/tx.proto",
diff --git a/docusaurus/docs/README.md b/docusaurus/docs/README.md
index c3f9b42ef..f226dc1d4 100644
--- a/docusaurus/docs/README.md
+++ b/docusaurus/docs/README.md
@@ -13,17 +13,17 @@ slug: /
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
diff --git a/proto/poktroll/gateway/tx.proto b/proto/poktroll/gateway/tx.proto
index 922659ee1..caf37f199 100644
--- a/proto/poktroll/gateway/tx.proto
+++ b/proto/poktroll/gateway/tx.proto
@@ -1,4 +1,5 @@
syntax = "proto3";
+
package poktroll.gateway;
option go_package = "github.com/pokt-network/poktroll/x/gateway/types";
@@ -9,7 +10,6 @@ import "cosmos/msg/v1/msg.proto";
import "cosmos_proto/cosmos.proto";
import "gogoproto/gogo.proto";
import "cosmos/base/v1beta1/coin.proto";
-
import "poktroll/gateway/params.proto";
// Msg defines the Msg service.
@@ -21,11 +21,12 @@ service Msg {
rpc UpdateParams (MsgUpdateParams ) returns (MsgUpdateParamsResponse );
rpc StakeGateway (MsgStakeGateway ) returns (MsgStakeGatewayResponse );
rpc UnstakeGateway (MsgUnstakeGateway) returns (MsgUnstakeGatewayResponse);
+ rpc UpdateParam (MsgUpdateParam ) returns (MsgUpdateParamResponse );
}
// MsgUpdateParams is the Msg/UpdateParams request type.
message MsgUpdateParams {
- option (cosmos.msg.v1.signer) = "authority";
- option (amino.name) = "poktroll/x/gateway/MsgUpdateParams";
+ option (cosmos.msg.v1.signer) = "authority";
+ option (amino.name) = "poktroll/x/gateway/MsgUpdateParams";
// authority is the address that controls the module (defaults to x/gov unless overwritten).
string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
@@ -45,8 +46,8 @@ message MsgUpdateParamsResponse {}
message MsgStakeGateway {
option (cosmos.msg.v1.signer) = "address"; // see: https://docs.cosmos.network/main/build/building-modules/protobuf-annotations#signer
- string address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // The Bech32 address of the gateway
- cosmos.base.v1beta1.Coin stake = 2; // The total amount of uPOKT the gateway is staking. Must be ≥ to the current amount that the gateway has staked (if any)
+ string address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // The Bech32 address of the gateway
+ cosmos.base.v1beta1.Coin stake = 2; // The total amount of uPOKT the gateway is staking. Must be ≥ to the current amount that the gateway has staked (if any)
}
message MsgStakeGatewayResponse {}
@@ -58,3 +59,18 @@ message MsgUnstakeGateway {
message MsgUnstakeGatewayResponse {}
+// MsgUpdateParam is the Msg/UpdateParam request type to update a single param.
+message MsgUpdateParam {
+ option (cosmos.msg.v1.signer) = "authority";
+
+ // authority is the address that controls the module (defaults to x/gov unless overwritten).
+ string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
+
+ string name = 2;
+ string as_type = 3;
+}
+
+message MsgUpdateParamResponse {
+ Params params = 1;
+}
+
diff --git a/x/gateway/keeper/msg_server_update_param.go b/x/gateway/keeper/msg_server_update_param.go
new file mode 100644
index 000000000..3315a0804
--- /dev/null
+++ b/x/gateway/keeper/msg_server_update_param.go
@@ -0,0 +1,18 @@
+package keeper
+
+import (
+ "context"
+
+ sdk "github.com/cosmos/cosmos-sdk/types"
+
+ "github.com/pokt-network/poktroll/x/gateway/types"
+)
+
+func (k msgServer) UpdateParam(goCtx context.Context, msg *types.MsgUpdateParam) (*types.MsgUpdateParamResponse, error) {
+ ctx := sdk.UnwrapSDKContext(goCtx)
+
+ // TODO: Handling the message
+ _ = ctx
+
+ return &types.MsgUpdateParamResponse{}, nil
+}
diff --git a/x/gateway/module/autocli.go b/x/gateway/module/autocli.go
index f8551e6ab..cc9175bcf 100644
--- a/x/gateway/module/autocli.go
+++ b/x/gateway/module/autocli.go
@@ -51,6 +51,12 @@ func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions {
// Short: "Send a unstake_gateway tx",
// PositionalArgs: []*autocliv1.PositionalArgDescriptor{},
// },
+ // {
+ // RpcMethod: "UpdateParam",
+ // Use: "update-param [name] [as-type]",
+ // Short: "Send a update-param tx",
+ // PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "name"}, {ProtoField: "asType"}},
+ // },
// this line is used by ignite scaffolding # autocli/tx
},
},
diff --git a/x/gateway/module/simulation.go b/x/gateway/module/simulation.go
index 79e8de69a..9b69e5bd0 100644
--- a/x/gateway/module/simulation.go
+++ b/x/gateway/module/simulation.go
@@ -31,6 +31,10 @@ const (
// TODO: Determine the simulation weight value
defaultWeightMsgUnstakeGateway int = 100
+ opWeightMsgUpdateParam = "op_weight_msg_update_param"
+ // TODO: Determine the simulation weight value
+ defaultWeightMsgUpdateParam int = 100
+
// this line is used by starport scaffolding # simapp/module/const
)
@@ -81,6 +85,17 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp
gatewaysimulation.SimulateMsgUnstakeGateway(am.accountKeeper, am.bankKeeper, am.keeper),
))
+ var weightMsgUpdateParam int
+ simState.AppParams.GetOrGenerate(opWeightMsgUpdateParam, &weightMsgUpdateParam, nil,
+ func(_ *rand.Rand) {
+ weightMsgUpdateParam = defaultWeightMsgUpdateParam
+ },
+ )
+ operations = append(operations, simulation.NewWeightedOperation(
+ weightMsgUpdateParam,
+ gatewaysimulation.SimulateMsgUpdateParam(am.accountKeeper, am.bankKeeper, am.keeper),
+ ))
+
// this line is used by starport scaffolding # simapp/module/operation
return operations
@@ -105,6 +120,14 @@ func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.Wei
return nil
},
),
+ simulation.NewWeightedProposalMsg(
+ opWeightMsgUpdateParam,
+ defaultWeightMsgUpdateParam,
+ func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) sdk.Msg {
+ gatewaysimulation.SimulateMsgUpdateParam(am.accountKeeper, am.bankKeeper, am.keeper)
+ return nil
+ },
+ ),
// this line is used by starport scaffolding # simapp/module/OpMsg
}
}
diff --git a/x/gateway/simulation/update_param.go b/x/gateway/simulation/update_param.go
new file mode 100644
index 000000000..57330a01a
--- /dev/null
+++ b/x/gateway/simulation/update_param.go
@@ -0,0 +1,29 @@
+package simulation
+
+import (
+ "math/rand"
+
+ "github.com/cosmos/cosmos-sdk/baseapp"
+ sdk "github.com/cosmos/cosmos-sdk/types"
+ simtypes "github.com/cosmos/cosmos-sdk/types/simulation"
+ "github.com/pokt-network/poktroll/x/gateway/keeper"
+ "github.com/pokt-network/poktroll/x/gateway/types"
+)
+
+func SimulateMsgUpdateParam(
+ ak types.AccountKeeper,
+ bk types.BankKeeper,
+ k keeper.Keeper,
+) simtypes.Operation {
+ return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string,
+ ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) {
+ simAccount, _ := simtypes.RandomAcc(r, accs)
+ msg := &types.MsgUpdateParam{
+ Authority: simAccount.Address.String(),
+ }
+
+ // TODO: Handling the UpdateParam simulation
+
+ return simtypes.NoOpMsg(types.ModuleName, sdk.MsgTypeURL(msg), "UpdateParam simulation not implemented"), nil, nil
+ }
+}
diff --git a/x/gateway/types/codec.go b/x/gateway/types/codec.go
index 4d175c529..06506ba14 100644
--- a/x/gateway/types/codec.go
+++ b/x/gateway/types/codec.go
@@ -14,6 +14,9 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) {
registry.RegisterImplementations((*sdk.Msg)(nil),
&MsgUnstakeGateway{},
)
+ registry.RegisterImplementations((*sdk.Msg)(nil),
+ &MsgUpdateParam{},
+ )
// this line is used by starport scaffolding # 3
registry.RegisterImplementations((*sdk.Msg)(nil),
diff --git a/x/gateway/types/message_update_param.go b/x/gateway/types/message_update_param.go
new file mode 100644
index 000000000..d5e798ef8
--- /dev/null
+++ b/x/gateway/types/message_update_param.go
@@ -0,0 +1,25 @@
+package types
+
+import (
+ errorsmod "cosmossdk.io/errors"
+ cosmostypes "github.com/cosmos/cosmos-sdk/types"
+ sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
+)
+
+var _ cosmostypes.Msg = (*MsgUpdateParam)(nil)
+
+func NewMsgUpdateParam(authority string, name string, asType string) *MsgUpdateParam {
+ return &MsgUpdateParam{
+ Authority: authority,
+ Name: name,
+ AsType: asType,
+ }
+}
+
+func (msg *MsgUpdateParam) ValidateBasic() error {
+ _, err := cosmostypes.AccAddressFromBech32(msg.Authority)
+ if err != nil {
+ return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "invalid authority address (%s)", err)
+ }
+ return nil
+}
diff --git a/x/gateway/types/message_update_param_test.go b/x/gateway/types/message_update_param_test.go
new file mode 100644
index 000000000..892ec6878
--- /dev/null
+++ b/x/gateway/types/message_update_param_test.go
@@ -0,0 +1,40 @@
+package types
+
+import (
+ "testing"
+
+ sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
+ "github.com/pokt-network/poktroll/testutil/sample"
+ "github.com/stretchr/testify/require"
+)
+
+func TestMsgUpdateParam_ValidateBasic(t *testing.T) {
+ tests := []struct {
+ name string
+ msg MsgUpdateParam
+ err error
+ }{
+ {
+ name: "invalid address",
+ msg: MsgUpdateParam{
+ Authority: "invalid_address",
+ },
+ err: sdkerrors.ErrInvalidAddress,
+ }, {
+ name: "valid address",
+ msg: MsgUpdateParam{
+ Authority: sample.AccAddress(),
+ },
+ },
+ }
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ err := tt.msg.ValidateBasic()
+ if tt.err != nil {
+ require.ErrorIs(t, err, tt.err)
+ return
+ }
+ require.NoError(t, err)
+ })
+ }
+}
diff --git a/x/gateway/types/tx.pb.go b/x/gateway/types/tx.pb.go
index 1ed9ad63d..425361733 100644
--- a/x/gateway/types/tx.pb.go
+++ b/x/gateway/types/tx.pb.go
@@ -270,6 +270,104 @@ func (m *MsgUnstakeGatewayResponse) XXX_DiscardUnknown() {
var xxx_messageInfo_MsgUnstakeGatewayResponse proto.InternalMessageInfo
+// MsgUpdateParam is the Msg/UpdateParam request type to update a single param.
+type MsgUpdateParam struct {
+ // authority is the address that controls the module (defaults to x/gov unless overwritten).
+ Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"`
+ Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+ AsType string `protobuf:"bytes,3,opt,name=as_type,json=asType,proto3" json:"as_type,omitempty"`
+}
+
+func (m *MsgUpdateParam) Reset() { *m = MsgUpdateParam{} }
+func (m *MsgUpdateParam) String() string { return proto.CompactTextString(m) }
+func (*MsgUpdateParam) ProtoMessage() {}
+func (*MsgUpdateParam) Descriptor() ([]byte, []int) {
+ return fileDescriptor_7ad4b0c5e3b59f23, []int{6}
+}
+func (m *MsgUpdateParam) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *MsgUpdateParam) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *MsgUpdateParam) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MsgUpdateParam.Merge(m, src)
+}
+func (m *MsgUpdateParam) XXX_Size() int {
+ return m.Size()
+}
+func (m *MsgUpdateParam) XXX_DiscardUnknown() {
+ xxx_messageInfo_MsgUpdateParam.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MsgUpdateParam proto.InternalMessageInfo
+
+func (m *MsgUpdateParam) GetAuthority() string {
+ if m != nil {
+ return m.Authority
+ }
+ return ""
+}
+
+func (m *MsgUpdateParam) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *MsgUpdateParam) GetAsType() string {
+ if m != nil {
+ return m.AsType
+ }
+ return ""
+}
+
+type MsgUpdateParamResponse struct {
+ Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"`
+}
+
+func (m *MsgUpdateParamResponse) Reset() { *m = MsgUpdateParamResponse{} }
+func (m *MsgUpdateParamResponse) String() string { return proto.CompactTextString(m) }
+func (*MsgUpdateParamResponse) ProtoMessage() {}
+func (*MsgUpdateParamResponse) Descriptor() ([]byte, []int) {
+ return fileDescriptor_7ad4b0c5e3b59f23, []int{7}
+}
+func (m *MsgUpdateParamResponse) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *MsgUpdateParamResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ b = b[:cap(b)]
+ n, err := m.MarshalToSizedBuffer(b)
+ if err != nil {
+ return nil, err
+ }
+ return b[:n], nil
+}
+func (m *MsgUpdateParamResponse) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MsgUpdateParamResponse.Merge(m, src)
+}
+func (m *MsgUpdateParamResponse) XXX_Size() int {
+ return m.Size()
+}
+func (m *MsgUpdateParamResponse) XXX_DiscardUnknown() {
+ xxx_messageInfo_MsgUpdateParamResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MsgUpdateParamResponse proto.InternalMessageInfo
+
+func (m *MsgUpdateParamResponse) GetParams() *Params {
+ if m != nil {
+ return m.Params
+ }
+ return nil
+}
+
func init() {
proto.RegisterType((*MsgUpdateParams)(nil), "poktroll.gateway.MsgUpdateParams")
proto.RegisterType((*MsgUpdateParamsResponse)(nil), "poktroll.gateway.MsgUpdateParamsResponse")
@@ -277,43 +375,50 @@ func init() {
proto.RegisterType((*MsgStakeGatewayResponse)(nil), "poktroll.gateway.MsgStakeGatewayResponse")
proto.RegisterType((*MsgUnstakeGateway)(nil), "poktroll.gateway.MsgUnstakeGateway")
proto.RegisterType((*MsgUnstakeGatewayResponse)(nil), "poktroll.gateway.MsgUnstakeGatewayResponse")
+ proto.RegisterType((*MsgUpdateParam)(nil), "poktroll.gateway.MsgUpdateParam")
+ proto.RegisterType((*MsgUpdateParamResponse)(nil), "poktroll.gateway.MsgUpdateParamResponse")
}
func init() { proto.RegisterFile("poktroll/gateway/tx.proto", fileDescriptor_7ad4b0c5e3b59f23) }
var fileDescriptor_7ad4b0c5e3b59f23 = []byte{
- // 489 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0xbf, 0x6f, 0xd3, 0x40,
- 0x18, 0xcd, 0x15, 0xb5, 0x28, 0x47, 0x05, 0xd4, 0xaa, 0xd4, 0xd8, 0x88, 0xa3, 0x84, 0xa5, 0x04,
- 0xf5, 0x8e, 0x04, 0xc1, 0x50, 0x26, 0xc2, 0xc0, 0x54, 0x84, 0x5c, 0x75, 0x41, 0x48, 0xe8, 0x9c,
- 0x9c, 0xae, 0x56, 0x6a, 0x9f, 0xe5, 0xbb, 0xfe, 0xc8, 0x86, 0x10, 0x13, 0x13, 0x7f, 0x06, 0x03,
- 0x43, 0x06, 0x56, 0xf6, 0x8e, 0x15, 0x53, 0x27, 0x84, 0x9c, 0x21, 0xff, 0x06, 0x3a, 0xdf, 0x39,
- 0x6d, 0x1c, 0xa3, 0x20, 0xb1, 0xd8, 0xbe, 0x7b, 0xef, 0x7b, 0xdf, 0xfb, 0xde, 0x9d, 0xa1, 0x9b,
- 0x88, 0x81, 0x4a, 0xc5, 0xe1, 0x21, 0xe1, 0x54, 0xb1, 0x13, 0x3a, 0x24, 0xea, 0x14, 0x27, 0xa9,
- 0x50, 0xc2, 0xb9, 0x5d, 0x40, 0xd8, 0x42, 0xde, 0x1a, 0x8d, 0xc2, 0x58, 0x90, 0xfc, 0x69, 0x48,
- 0xde, 0x46, 0x4f, 0xc8, 0x48, 0x48, 0x12, 0x49, 0x4e, 0x8e, 0xdb, 0xfa, 0x65, 0x01, 0xd7, 0x00,
- 0xef, 0xf3, 0x15, 0x31, 0x0b, 0x0b, 0xad, 0x73, 0xc1, 0x85, 0xd9, 0xd7, 0x5f, 0x76, 0x17, 0x59,
- 0xa5, 0x80, 0x4a, 0x46, 0x8e, 0xdb, 0x01, 0x53, 0xb4, 0x4d, 0x7a, 0x22, 0x8c, 0x2d, 0x7e, 0x77,
- 0xce, 0x69, 0x42, 0x53, 0x1a, 0x59, 0xd1, 0xe6, 0x0f, 0x00, 0x6f, 0xed, 0x4a, 0xbe, 0x9f, 0xf4,
- 0xa9, 0x62, 0x6f, 0x72, 0xc4, 0x79, 0x06, 0xeb, 0xf4, 0x48, 0x1d, 0x88, 0x34, 0x54, 0xc3, 0x06,
- 0xd8, 0x04, 0x5b, 0xf5, 0x6e, 0xe3, 0xe7, 0xf7, 0xed, 0x75, 0xeb, 0xe6, 0x45, 0xbf, 0x9f, 0x32,
- 0x29, 0xf7, 0x54, 0x1a, 0xc6, 0xdc, 0xbf, 0xa4, 0x3a, 0xcf, 0xe1, 0x8a, 0xd1, 0x6e, 0x2c, 0x6d,
- 0x82, 0xad, 0x1b, 0x9d, 0x06, 0x2e, 0x47, 0x81, 0x4d, 0x87, 0x6e, 0xfd, 0xec, 0xd7, 0xbd, 0xda,
- 0xd7, 0xc9, 0xa8, 0x05, 0x7c, 0x5b, 0xb2, 0xf3, 0xf4, 0xe3, 0x64, 0xd4, 0xba, 0x14, 0xfb, 0x3c,
- 0x19, 0xb5, 0x9a, 0x53, 0xeb, 0xa7, 0x53, 0xf3, 0x25, 0xaf, 0x4d, 0x17, 0x6e, 0x94, 0xb6, 0x7c,
- 0x26, 0x13, 0x11, 0x4b, 0xd6, 0xfc, 0x64, 0x46, 0xdb, 0x53, 0x74, 0xc0, 0x5e, 0x99, 0x72, 0xa7,
- 0x03, 0xaf, 0x53, 0x63, 0x7f, 0xe1, 0x60, 0x05, 0xd1, 0x21, 0x70, 0x59, 0x6a, 0x0d, 0x3b, 0x95,
- 0x8b, 0x2d, 0x5d, 0x27, 0x8e, 0x6d, 0xe2, 0xf8, 0xa5, 0x08, 0x63, 0xdf, 0xf0, 0x76, 0x56, 0xf5,
- 0x28, 0x45, 0xb9, 0x75, 0x78, 0xd5, 0xc5, 0xd4, 0xe1, 0x3e, 0x5c, 0xd3, 0xe6, 0x63, 0xf9, 0x9f,
- 0x16, 0x4b, 0x1d, 0xef, 0x40, 0x77, 0x4e, 0xb6, 0xe8, 0xd9, 0xf9, 0xb6, 0x04, 0xaf, 0xed, 0x4a,
- 0xee, 0xbc, 0x83, 0xab, 0x33, 0x87, 0x7e, 0x7f, 0xfe, 0xb0, 0x4a, 0xc1, 0x7a, 0x0f, 0x17, 0x52,
- 0x8a, 0x2e, 0x5a, 0x7d, 0x26, 0xf7, 0x6a, 0xf5, 0xab, 0x94, 0xbf, 0xa8, 0x57, 0xe5, 0xe6, 0x04,
- 0xf0, 0x66, 0x29, 0xb4, 0x07, 0xd5, 0xd6, 0x66, 0x48, 0xde, 0xa3, 0x7f, 0x20, 0x15, 0x3d, 0xbc,
- 0xe5, 0x0f, 0xfa, 0x7a, 0x76, 0x5f, 0x9f, 0x65, 0x08, 0x9c, 0x67, 0x08, 0x5c, 0x64, 0x08, 0xfc,
- 0xce, 0x10, 0xf8, 0x32, 0x46, 0xb5, 0xf3, 0x31, 0xaa, 0x5d, 0x8c, 0x51, 0xed, 0xed, 0x63, 0x1e,
- 0xaa, 0x83, 0xa3, 0x00, 0xf7, 0x44, 0x44, 0xb4, 0xf6, 0x76, 0xcc, 0xd4, 0x89, 0x48, 0x07, 0xa4,
- 0xe2, 0xe6, 0xaa, 0x61, 0xc2, 0x64, 0xb0, 0x92, 0xff, 0x76, 0x4f, 0xfe, 0x04, 0x00, 0x00, 0xff,
- 0xff, 0xe9, 0x90, 0xe7, 0x8f, 0x41, 0x04, 0x00, 0x00,
+ // 564 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xbf, 0x6f, 0xd3, 0x40,
+ 0x14, 0xce, 0x11, 0x9a, 0x2a, 0xd7, 0x28, 0xd0, 0x53, 0x45, 0x12, 0x23, 0x4c, 0x08, 0x4b, 0x08,
+ 0xaa, 0xaf, 0x09, 0x82, 0x21, 0x4c, 0x84, 0x01, 0x09, 0xa9, 0x08, 0xa5, 0x74, 0x00, 0x55, 0xaa,
+ 0xce, 0xc9, 0xc9, 0xb5, 0x52, 0xfb, 0x2c, 0xdf, 0xf5, 0x47, 0x36, 0x84, 0x40, 0x48, 0x4c, 0xfc,
+ 0x19, 0x8c, 0x19, 0x58, 0xd9, 0x3b, 0x56, 0x4c, 0x9d, 0x10, 0x4a, 0x86, 0xfc, 0x1b, 0xc8, 0xbe,
+ 0xb3, 0x1b, 0x3b, 0x81, 0x20, 0x58, 0x12, 0xfb, 0xbd, 0xef, 0x7d, 0xef, 0x7b, 0xef, 0xbe, 0x33,
+ 0xac, 0x78, 0x6c, 0x20, 0x7c, 0x76, 0x78, 0x88, 0x2d, 0x22, 0xe8, 0x09, 0x19, 0x62, 0x71, 0x6a,
+ 0x78, 0x3e, 0x13, 0x0c, 0x5d, 0x8f, 0x52, 0x86, 0x4a, 0x69, 0xeb, 0xc4, 0xb1, 0x5d, 0x86, 0xc3,
+ 0x5f, 0x09, 0xd2, 0x4a, 0x3d, 0xc6, 0x1d, 0xc6, 0xb1, 0xc3, 0x2d, 0x7c, 0xdc, 0x0c, 0xfe, 0x54,
+ 0xa2, 0x22, 0x13, 0xfb, 0xe1, 0x1b, 0x96, 0x2f, 0x2a, 0xb5, 0x61, 0x31, 0x8b, 0xc9, 0x78, 0xf0,
+ 0xa4, 0xa2, 0xba, 0x62, 0x32, 0x09, 0xa7, 0xf8, 0xb8, 0x69, 0x52, 0x41, 0x9a, 0xb8, 0xc7, 0x6c,
+ 0x57, 0xe5, 0x6f, 0xcd, 0x29, 0xf5, 0x88, 0x4f, 0x1c, 0x45, 0x5a, 0xfb, 0x06, 0xe0, 0xb5, 0x6d,
+ 0x6e, 0xed, 0x7a, 0x7d, 0x22, 0xe8, 0xcb, 0x30, 0x83, 0x1e, 0xc1, 0x3c, 0x39, 0x12, 0x07, 0xcc,
+ 0xb7, 0xc5, 0xb0, 0x0c, 0xaa, 0xa0, 0x9e, 0xef, 0x94, 0xbf, 0x7f, 0xdd, 0xdc, 0x50, 0x6a, 0x9e,
+ 0xf4, 0xfb, 0x3e, 0xe5, 0x7c, 0x47, 0xf8, 0xb6, 0x6b, 0x75, 0x2f, 0xa1, 0xe8, 0x31, 0xcc, 0x49,
+ 0xee, 0xf2, 0x95, 0x2a, 0xa8, 0xaf, 0xb5, 0xca, 0x46, 0x7a, 0x15, 0x86, 0xec, 0xd0, 0xc9, 0x9f,
+ 0xfd, 0xb8, 0x9d, 0xf9, 0x32, 0x1d, 0x35, 0x40, 0x57, 0x95, 0xb4, 0x1f, 0xbe, 0x9b, 0x8e, 0x1a,
+ 0x97, 0x64, 0x9f, 0xa6, 0xa3, 0x46, 0x2d, 0x96, 0x7e, 0x1a, 0x8b, 0x4f, 0x69, 0xad, 0x55, 0x60,
+ 0x29, 0x15, 0xea, 0x52, 0xee, 0x31, 0x97, 0xd3, 0xda, 0x7b, 0x39, 0xda, 0x8e, 0x20, 0x03, 0xfa,
+ 0x4c, 0x96, 0xa3, 0x16, 0x5c, 0x25, 0x52, 0xfe, 0xd2, 0xc1, 0x22, 0x20, 0xc2, 0x70, 0x85, 0x07,
+ 0x1c, 0x6a, 0xaa, 0x8a, 0xa1, 0xe0, 0xc1, 0xc6, 0x0d, 0xb5, 0x71, 0xe3, 0x29, 0xb3, 0xdd, 0xae,
+ 0xc4, 0xb5, 0x0b, 0xc1, 0x28, 0x51, 0xb9, 0x52, 0x38, 0xab, 0x22, 0x56, 0xb8, 0x0b, 0xd7, 0x03,
+ 0xf1, 0x2e, 0xff, 0x4f, 0x89, 0xa9, 0x8e, 0x37, 0x61, 0x65, 0x8e, 0x36, 0xee, 0xf9, 0x01, 0xc0,
+ 0x62, 0x72, 0x63, 0xff, 0x7c, 0xde, 0x08, 0x5e, 0x75, 0x89, 0x23, 0xf7, 0x92, 0xef, 0x86, 0xcf,
+ 0xa8, 0x04, 0x57, 0x09, 0xdf, 0x17, 0x43, 0x8f, 0x96, 0xb3, 0x61, 0x38, 0x47, 0xf8, 0xab, 0xa1,
+ 0x47, 0xdb, 0xc5, 0xe4, 0xf9, 0xd6, 0x9e, 0xc3, 0x1b, 0x49, 0x19, 0x91, 0x42, 0xb4, 0x15, 0xdb,
+ 0x08, 0xfc, 0xd9, 0x46, 0x91, 0x77, 0x5a, 0x1f, 0xb3, 0x30, 0xbb, 0xcd, 0x2d, 0xb4, 0x07, 0x0b,
+ 0x09, 0x23, 0xdf, 0x99, 0xaf, 0x4c, 0x99, 0x45, 0xbb, 0xb7, 0x14, 0x12, 0xeb, 0xda, 0x83, 0x85,
+ 0x84, 0x97, 0x16, 0xb3, 0xcf, 0x42, 0x7e, 0xc3, 0xbe, 0xc8, 0x0b, 0xc8, 0x84, 0xc5, 0x94, 0x11,
+ 0xee, 0x2e, 0x96, 0x96, 0x00, 0x69, 0xf7, 0xff, 0x02, 0x14, 0xf7, 0x78, 0x0d, 0xd7, 0x66, 0xcf,
+ 0xbd, 0xba, 0x6c, 0x76, 0xad, 0xbe, 0x0c, 0x11, 0x51, 0x6b, 0x2b, 0x6f, 0x83, 0xdb, 0xdc, 0x79,
+ 0x71, 0x36, 0xd6, 0xc1, 0xf9, 0x58, 0x07, 0x17, 0x63, 0x1d, 0xfc, 0x1c, 0xeb, 0xe0, 0xf3, 0x44,
+ 0xcf, 0x9c, 0x4f, 0xf4, 0xcc, 0xc5, 0x44, 0xcf, 0xbc, 0xd9, 0xb2, 0x6c, 0x71, 0x70, 0x64, 0x1a,
+ 0x3d, 0xe6, 0xe0, 0x80, 0x78, 0xd3, 0xa5, 0xe2, 0x84, 0xf9, 0x03, 0xbc, 0xe0, 0xa2, 0x07, 0x16,
+ 0xe2, 0x66, 0x2e, 0xfc, 0x4a, 0x3d, 0xf8, 0x15, 0x00, 0x00, 0xff, 0xff, 0x6c, 0xf2, 0xee, 0xa1,
+ 0x70, 0x05, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -333,6 +438,7 @@ type MsgClient interface {
UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error)
StakeGateway(ctx context.Context, in *MsgStakeGateway, opts ...grpc.CallOption) (*MsgStakeGatewayResponse, error)
UnstakeGateway(ctx context.Context, in *MsgUnstakeGateway, opts ...grpc.CallOption) (*MsgUnstakeGatewayResponse, error)
+ UpdateParam(ctx context.Context, in *MsgUpdateParam, opts ...grpc.CallOption) (*MsgUpdateParamResponse, error)
}
type msgClient struct {
@@ -370,6 +476,15 @@ func (c *msgClient) UnstakeGateway(ctx context.Context, in *MsgUnstakeGateway, o
return out, nil
}
+func (c *msgClient) UpdateParam(ctx context.Context, in *MsgUpdateParam, opts ...grpc.CallOption) (*MsgUpdateParamResponse, error) {
+ out := new(MsgUpdateParamResponse)
+ err := c.cc.Invoke(ctx, "/poktroll.gateway.Msg/UpdateParam", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
// MsgServer is the server API for Msg service.
type MsgServer interface {
// UpdateParams defines a (governance) operation for updating the module
@@ -377,6 +492,7 @@ type MsgServer interface {
UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error)
StakeGateway(context.Context, *MsgStakeGateway) (*MsgStakeGatewayResponse, error)
UnstakeGateway(context.Context, *MsgUnstakeGateway) (*MsgUnstakeGatewayResponse, error)
+ UpdateParam(context.Context, *MsgUpdateParam) (*MsgUpdateParamResponse, error)
}
// UnimplementedMsgServer can be embedded to have forward compatible implementations.
@@ -392,6 +508,9 @@ func (*UnimplementedMsgServer) StakeGateway(ctx context.Context, req *MsgStakeGa
func (*UnimplementedMsgServer) UnstakeGateway(ctx context.Context, req *MsgUnstakeGateway) (*MsgUnstakeGatewayResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UnstakeGateway not implemented")
}
+func (*UnimplementedMsgServer) UpdateParam(ctx context.Context, req *MsgUpdateParam) (*MsgUpdateParamResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateParam not implemented")
+}
func RegisterMsgServer(s grpc1.Server, srv MsgServer) {
s.RegisterService(&_Msg_serviceDesc, srv)
@@ -451,6 +570,24 @@ func _Msg_UnstakeGateway_Handler(srv interface{}, ctx context.Context, dec func(
return interceptor(ctx, in, info, handler)
}
+func _Msg_UpdateParam_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(MsgUpdateParam)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MsgServer).UpdateParam(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/poktroll.gateway.Msg/UpdateParam",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MsgServer).UpdateParam(ctx, req.(*MsgUpdateParam))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
var _Msg_serviceDesc = grpc.ServiceDesc{
ServiceName: "poktroll.gateway.Msg",
HandlerType: (*MsgServer)(nil),
@@ -467,6 +604,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{
MethodName: "UnstakeGateway",
Handler: _Msg_UnstakeGateway_Handler,
},
+ {
+ MethodName: "UpdateParam",
+ Handler: _Msg_UpdateParam_Handler,
+ },
},
Streams: []grpc.StreamDesc{},
Metadata: "poktroll/gateway/tx.proto",
@@ -653,6 +794,85 @@ func (m *MsgUnstakeGatewayResponse) MarshalToSizedBuffer(dAtA []byte) (int, erro
return len(dAtA) - i, nil
}
+func (m *MsgUpdateParam) 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 *MsgUpdateParam) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *MsgUpdateParam) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m.AsType) > 0 {
+ i -= len(m.AsType)
+ copy(dAtA[i:], m.AsType)
+ i = encodeVarintTx(dAtA, i, uint64(len(m.AsType)))
+ i--
+ dAtA[i] = 0x1a
+ }
+ if len(m.Name) > 0 {
+ i -= len(m.Name)
+ copy(dAtA[i:], m.Name)
+ i = encodeVarintTx(dAtA, i, uint64(len(m.Name)))
+ i--
+ dAtA[i] = 0x12
+ }
+ if len(m.Authority) > 0 {
+ i -= len(m.Authority)
+ copy(dAtA[i:], m.Authority)
+ i = encodeVarintTx(dAtA, i, uint64(len(m.Authority)))
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *MsgUpdateParamResponse) 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 *MsgUpdateParamResponse) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *MsgUpdateParamResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.Params != nil {
+ {
+ size, err := m.Params.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintTx(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
func encodeVarintTx(dAtA []byte, offset int, v uint64) int {
offset -= sovTx(v)
base := offset
@@ -736,6 +956,40 @@ func (m *MsgUnstakeGatewayResponse) Size() (n int) {
return n
}
+func (m *MsgUpdateParam) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Authority)
+ if l > 0 {
+ n += 1 + l + sovTx(uint64(l))
+ }
+ l = len(m.Name)
+ if l > 0 {
+ n += 1 + l + sovTx(uint64(l))
+ }
+ l = len(m.AsType)
+ if l > 0 {
+ n += 1 + l + sovTx(uint64(l))
+ }
+ return n
+}
+
+func (m *MsgUpdateParamResponse) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ if m.Params != nil {
+ l = m.Params.Size()
+ n += 1 + l + sovTx(uint64(l))
+ }
+ return n
+}
+
func sovTx(x uint64) (n int) {
return (math_bits.Len64(x|1) + 6) / 7
}
@@ -1207,6 +1461,238 @@ func (m *MsgUnstakeGatewayResponse) Unmarshal(dAtA []byte) error {
}
return nil
}
+func (m *MsgUpdateParam) 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: MsgUpdateParam: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MsgUpdateParam: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Authority", 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.Authority = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", 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.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field AsType", 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.AsType = string(dAtA[iNdEx:postIndex])
+ 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 *MsgUpdateParamResponse) 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: MsgUpdateParamResponse: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: MsgUpdateParamResponse: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Params", 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 m.Params == nil {
+ m.Params = &Params{}
+ }
+ if err := m.Params.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 skipTx(dAtA []byte) (n int, err error) {
l := len(dAtA)
iNdEx := 0