Implement onboarding module for testnet validator enrollment (#3)
* Add proto files for onboarding module * Add generated proto bindings * Define onboarding object * Define the participants state in keeper * Update genesis file to initialize and export module state to/from genesis * Add msg to onboard participant * Register command to enroll participant * Add functionality to decode ethereum address from signature * Add comments for messages and fields * Fix lint errors in proto files * Add message validation and events in msg_server * Reuse crypto utils from go-nitro * Sign entire eth_payload object * Use google API for rpc method * Regenerate proto bindings --------- Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
This commit is contained in:
		
							parent
							
								
									a4e9ff308e
								
							
						
					
					
						commit
						6b3ba17a8b
					
				| @ -13,15 +13,68 @@ import ( | ||||
| 	sync "sync" | ||||
| ) | ||||
| 
 | ||||
| var _ protoreflect.List = (*_GenesisState_2_list)(nil) | ||||
| 
 | ||||
| type _GenesisState_2_list struct { | ||||
| 	list *[]*Participant | ||||
| } | ||||
| 
 | ||||
| func (x *_GenesisState_2_list) Len() int { | ||||
| 	if x.list == nil { | ||||
| 		return 0 | ||||
| 	} | ||||
| 	return len(*x.list) | ||||
| } | ||||
| 
 | ||||
| func (x *_GenesisState_2_list) Get(i int) protoreflect.Value { | ||||
| 	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) | ||||
| } | ||||
| 
 | ||||
| func (x *_GenesisState_2_list) Set(i int, value protoreflect.Value) { | ||||
| 	valueUnwrapped := value.Message() | ||||
| 	concreteValue := valueUnwrapped.Interface().(*Participant) | ||||
| 	(*x.list)[i] = concreteValue | ||||
| } | ||||
| 
 | ||||
| func (x *_GenesisState_2_list) Append(value protoreflect.Value) { | ||||
| 	valueUnwrapped := value.Message() | ||||
| 	concreteValue := valueUnwrapped.Interface().(*Participant) | ||||
| 	*x.list = append(*x.list, concreteValue) | ||||
| } | ||||
| 
 | ||||
| func (x *_GenesisState_2_list) AppendMutable() protoreflect.Value { | ||||
| 	v := new(Participant) | ||||
| 	*x.list = append(*x.list, v) | ||||
| 	return protoreflect.ValueOfMessage(v.ProtoReflect()) | ||||
| } | ||||
| 
 | ||||
| func (x *_GenesisState_2_list) Truncate(n int) { | ||||
| 	for i := n; i < len(*x.list); i++ { | ||||
| 		(*x.list)[i] = nil | ||||
| 	} | ||||
| 	*x.list = (*x.list)[:n] | ||||
| } | ||||
| 
 | ||||
| func (x *_GenesisState_2_list) NewElement() protoreflect.Value { | ||||
| 	v := new(Participant) | ||||
| 	return protoreflect.ValueOfMessage(v.ProtoReflect()) | ||||
| } | ||||
| 
 | ||||
| func (x *_GenesisState_2_list) IsValid() bool { | ||||
| 	return x.list != nil | ||||
| } | ||||
| 
 | ||||
| var ( | ||||
| 	md_GenesisState              protoreflect.MessageDescriptor | ||||
| 	fd_GenesisState_params       protoreflect.FieldDescriptor | ||||
| 	fd_GenesisState_participants protoreflect.FieldDescriptor | ||||
| ) | ||||
| 
 | ||||
| func init() { | ||||
| 	file_cerc_onboarding_v1_genesis_proto_init() | ||||
| 	md_GenesisState = File_cerc_onboarding_v1_genesis_proto.Messages().ByName("GenesisState") | ||||
| 	fd_GenesisState_params = md_GenesisState.Fields().ByName("params") | ||||
| 	fd_GenesisState_participants = md_GenesisState.Fields().ByName("participants") | ||||
| } | ||||
| 
 | ||||
| var _ protoreflect.Message = (*fastReflection_GenesisState)(nil) | ||||
| @ -95,6 +148,12 @@ func (x *fastReflection_GenesisState) Range(f func(protoreflect.FieldDescriptor, | ||||
| 			return | ||||
| 		} | ||||
| 	} | ||||
| 	if len(x.Participants) != 0 { | ||||
| 		value := protoreflect.ValueOfList(&_GenesisState_2_list{list: &x.Participants}) | ||||
| 		if !f(fd_GenesisState_participants, value) { | ||||
| 			return | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // Has reports whether a field is populated.
 | ||||
| @ -112,6 +171,8 @@ func (x *fastReflection_GenesisState) Has(fd protoreflect.FieldDescriptor) bool | ||||
| 	switch fd.FullName() { | ||||
| 	case "cerc.onboarding.v1.GenesisState.params": | ||||
| 		return x.Params != nil | ||||
| 	case "cerc.onboarding.v1.GenesisState.participants": | ||||
| 		return len(x.Participants) != 0 | ||||
| 	default: | ||||
| 		if fd.IsExtension() { | ||||
| 			panic(fmt.Errorf("proto3 declared messages do not support extensions: cerc.onboarding.v1.GenesisState")) | ||||
| @ -130,6 +191,8 @@ func (x *fastReflection_GenesisState) Clear(fd protoreflect.FieldDescriptor) { | ||||
| 	switch fd.FullName() { | ||||
| 	case "cerc.onboarding.v1.GenesisState.params": | ||||
| 		x.Params = nil | ||||
| 	case "cerc.onboarding.v1.GenesisState.participants": | ||||
| 		x.Participants = nil | ||||
| 	default: | ||||
| 		if fd.IsExtension() { | ||||
| 			panic(fmt.Errorf("proto3 declared messages do not support extensions: cerc.onboarding.v1.GenesisState")) | ||||
| @ -149,6 +212,12 @@ func (x *fastReflection_GenesisState) Get(descriptor protoreflect.FieldDescripto | ||||
| 	case "cerc.onboarding.v1.GenesisState.params": | ||||
| 		value := x.Params | ||||
| 		return protoreflect.ValueOfMessage(value.ProtoReflect()) | ||||
| 	case "cerc.onboarding.v1.GenesisState.participants": | ||||
| 		if len(x.Participants) == 0 { | ||||
| 			return protoreflect.ValueOfList(&_GenesisState_2_list{}) | ||||
| 		} | ||||
| 		listValue := &_GenesisState_2_list{list: &x.Participants} | ||||
| 		return protoreflect.ValueOfList(listValue) | ||||
| 	default: | ||||
| 		if descriptor.IsExtension() { | ||||
| 			panic(fmt.Errorf("proto3 declared messages do not support extensions: cerc.onboarding.v1.GenesisState")) | ||||
| @ -171,6 +240,10 @@ func (x *fastReflection_GenesisState) Set(fd protoreflect.FieldDescriptor, value | ||||
| 	switch fd.FullName() { | ||||
| 	case "cerc.onboarding.v1.GenesisState.params": | ||||
| 		x.Params = value.Message().Interface().(*Params) | ||||
| 	case "cerc.onboarding.v1.GenesisState.participants": | ||||
| 		lv := value.List() | ||||
| 		clv := lv.(*_GenesisState_2_list) | ||||
| 		x.Participants = *clv.list | ||||
| 	default: | ||||
| 		if fd.IsExtension() { | ||||
| 			panic(fmt.Errorf("proto3 declared messages do not support extensions: cerc.onboarding.v1.GenesisState")) | ||||
| @ -196,6 +269,12 @@ func (x *fastReflection_GenesisState) Mutable(fd protoreflect.FieldDescriptor) p | ||||
| 			x.Params = new(Params) | ||||
| 		} | ||||
| 		return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) | ||||
| 	case "cerc.onboarding.v1.GenesisState.participants": | ||||
| 		if x.Participants == nil { | ||||
| 			x.Participants = []*Participant{} | ||||
| 		} | ||||
| 		value := &_GenesisState_2_list{list: &x.Participants} | ||||
| 		return protoreflect.ValueOfList(value) | ||||
| 	default: | ||||
| 		if fd.IsExtension() { | ||||
| 			panic(fmt.Errorf("proto3 declared messages do not support extensions: cerc.onboarding.v1.GenesisState")) | ||||
| @ -212,6 +291,9 @@ func (x *fastReflection_GenesisState) NewField(fd protoreflect.FieldDescriptor) | ||||
| 	case "cerc.onboarding.v1.GenesisState.params": | ||||
| 		m := new(Params) | ||||
| 		return protoreflect.ValueOfMessage(m.ProtoReflect()) | ||||
| 	case "cerc.onboarding.v1.GenesisState.participants": | ||||
| 		list := []*Participant{} | ||||
| 		return protoreflect.ValueOfList(&_GenesisState_2_list{list: &list}) | ||||
| 	default: | ||||
| 		if fd.IsExtension() { | ||||
| 			panic(fmt.Errorf("proto3 declared messages do not support extensions: cerc.onboarding.v1.GenesisState")) | ||||
| @ -285,6 +367,12 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { | ||||
| 			l = options.Size(x.Params) | ||||
| 			n += 1 + l + runtime.Sov(uint64(l)) | ||||
| 		} | ||||
| 		if len(x.Participants) > 0 { | ||||
| 			for _, e := range x.Participants { | ||||
| 				l = options.Size(e) | ||||
| 				n += 1 + l + runtime.Sov(uint64(l)) | ||||
| 			} | ||||
| 		} | ||||
| 		if x.unknownFields != nil { | ||||
| 			n += len(x.unknownFields) | ||||
| 		} | ||||
| @ -314,6 +402,22 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { | ||||
| 			i -= len(x.unknownFields) | ||||
| 			copy(dAtA[i:], x.unknownFields) | ||||
| 		} | ||||
| 		if len(x.Participants) > 0 { | ||||
| 			for iNdEx := len(x.Participants) - 1; iNdEx >= 0; iNdEx-- { | ||||
| 				encoded, err := options.Marshal(x.Participants[iNdEx]) | ||||
| 				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 x.Params != nil { | ||||
| 			encoded, err := options.Marshal(x.Params) | ||||
| 			if err != nil { | ||||
| @ -413,6 +517,40 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { | ||||
| 					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err | ||||
| 				} | ||||
| 				iNdEx = postIndex | ||||
| 			case 2: | ||||
| 				if wireType != 2 { | ||||
| 					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Participants", 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 | ||||
| 				} | ||||
| 				x.Participants = append(x.Participants, &Participant{}) | ||||
| 				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Participants[len(x.Participants)-1]); err != nil { | ||||
| 					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err | ||||
| 				} | ||||
| 				iNdEx = postIndex | ||||
| 			default: | ||||
| 				iNdEx = preIndex | ||||
| 				skippy, err := runtime.Skip(dAtA[iNdEx:]) | ||||
| @ -461,6 +599,7 @@ const ( | ||||
| 	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) | ||||
| ) | ||||
| 
 | ||||
| // GenesisState defines the onboarding module's genesis state.
 | ||||
| type GenesisState struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| @ -468,6 +607,8 @@ type GenesisState struct { | ||||
| 
 | ||||
| 	// params defines all the parameters of the module.
 | ||||
| 	Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` | ||||
| 	// participants defines all the participants
 | ||||
| 	Participants []*Participant `protobuf:"bytes,2,rep,name=participants,proto3" json:"participants,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (x *GenesisState) Reset() { | ||||
| @ -497,6 +638,13 @@ func (x *GenesisState) GetParams() *Params { | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (x *GenesisState) GetParticipants() []*Participant { | ||||
| 	if x != nil { | ||||
| 		return x.Participants | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| var File_cerc_onboarding_v1_genesis_proto protoreflect.FileDescriptor | ||||
| 
 | ||||
| var file_cerc_onboarding_v1_genesis_proto_rawDesc = []byte{ | ||||
| @ -507,25 +655,30 @@ var file_cerc_onboarding_v1_genesis_proto_rawDesc = []byte{ | ||||
| 	0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x63, 0x65, | ||||
| 	0x72, 0x63, 0x2f, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, | ||||
| 	0x2f, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, | ||||
| 	0x6f, 0x22, 0x48, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, | ||||
| 	0x65, 0x12, 0x38, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, | ||||
| 	0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x65, 0x72, 0x63, 0x2e, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, | ||||
| 	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x04, 0xc8, | ||||
| 	0xde, 0x1f, 0x00, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0xd1, 0x01, 0x0a, 0x16, | ||||
| 	0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x65, 0x72, 0x63, 0x2e, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, | ||||
| 	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, | ||||
| 	0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x2e, 0x76, 0x64, 0x62, 0x2e, | ||||
| 	0x74, 0x6f, 0x2f, 0x63, 0x65, 0x72, 0x63, 0x2d, 0x69, 0x6f, 0x2f, 0x6c, 0x61, 0x63, 0x6f, 0x6e, | ||||
| 	0x69, 0x63, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x65, 0x72, 0x63, 0x2f, 0x6f, 0x6e, 0x62, | ||||
| 	0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x6f, 0x6e, 0x62, 0x6f, 0x61, | ||||
| 	0x72, 0x64, 0x69, 0x6e, 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x4f, 0x58, 0xaa, 0x02, 0x12, | ||||
| 	0x43, 0x65, 0x72, 0x63, 0x2e, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x2e, | ||||
| 	0x56, 0x31, 0xca, 0x02, 0x12, 0x43, 0x65, 0x72, 0x63, 0x5c, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, | ||||
| 	0x64, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x43, 0x65, 0x72, 0x63, 0x5c, 0x4f, | ||||
| 	0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, | ||||
| 	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x65, 0x72, 0x63, 0x3a, | ||||
| 	0x3a, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, | ||||
| 	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, | ||||
| 	0x6f, 0x22, 0x93, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, | ||||
| 	0x74, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, | ||||
| 	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x65, 0x72, 0x63, 0x2e, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, | ||||
| 	0x64, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x04, | ||||
| 	0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x49, 0x0a, 0x0c, | ||||
| 	0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, | ||||
| 	0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x65, 0x72, 0x63, 0x2e, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, | ||||
| 	0x64, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, | ||||
| 	0x61, 0x6e, 0x74, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, | ||||
| 	0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x42, 0xd1, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, | ||||
| 	0x63, 0x65, 0x72, 0x63, 0x2e, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x2e, | ||||
| 	0x76, 0x31, 0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, | ||||
| 	0x50, 0x01, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x2e, 0x76, 0x64, 0x62, 0x2e, 0x74, 0x6f, 0x2f, 0x63, | ||||
| 	0x65, 0x72, 0x63, 0x2d, 0x69, 0x6f, 0x2f, 0x6c, 0x61, 0x63, 0x6f, 0x6e, 0x69, 0x63, 0x64, 0x2f, | ||||
| 	0x61, 0x70, 0x69, 0x2f, 0x63, 0x65, 0x72, 0x63, 0x2f, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, | ||||
| 	0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, | ||||
| 	0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x4f, 0x58, 0xaa, 0x02, 0x12, 0x43, 0x65, 0x72, 0x63, | ||||
| 	0x2e, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, | ||||
| 	0x12, 0x43, 0x65, 0x72, 0x63, 0x5c, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, | ||||
| 	0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x43, 0x65, 0x72, 0x63, 0x5c, 0x4f, 0x6e, 0x62, 0x6f, 0x61, | ||||
| 	0x72, 0x64, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, | ||||
| 	0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x65, 0x72, 0x63, 0x3a, 0x3a, 0x4f, 0x6e, 0x62, | ||||
| 	0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, | ||||
| 	0x74, 0x6f, 0x33, | ||||
| } | ||||
| 
 | ||||
| var ( | ||||
| @ -544,14 +697,16 @@ var file_cerc_onboarding_v1_genesis_proto_msgTypes = make([]protoimpl.MessageInf | ||||
| var file_cerc_onboarding_v1_genesis_proto_goTypes = []interface{}{ | ||||
| 	(*GenesisState)(nil), // 0: cerc.onboarding.v1.GenesisState
 | ||||
| 	(*Params)(nil),       // 1: cerc.onboarding.v1.Params
 | ||||
| 	(*Participant)(nil),  // 2: cerc.onboarding.v1.Participant
 | ||||
| } | ||||
| var file_cerc_onboarding_v1_genesis_proto_depIdxs = []int32{ | ||||
| 	1, // 0: cerc.onboarding.v1.GenesisState.params:type_name -> cerc.onboarding.v1.Params
 | ||||
| 	1, // [1:1] is the sub-list for method output_type
 | ||||
| 	1, // [1:1] is the sub-list for method input_type
 | ||||
| 	1, // [1:1] is the sub-list for extension type_name
 | ||||
| 	1, // [1:1] is the sub-list for extension extendee
 | ||||
| 	0, // [0:1] is the sub-list for field type_name
 | ||||
| 	2, // 1: cerc.onboarding.v1.GenesisState.participants:type_name -> cerc.onboarding.v1.Participant
 | ||||
| 	2, // [2:2] is the sub-list for method output_type
 | ||||
| 	2, // [2:2] 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
 | ||||
| } | ||||
| 
 | ||||
| func init() { file_cerc_onboarding_v1_genesis_proto_init() } | ||||
|  | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										111
									
								
								api/cerc/onboarding/v1/tx_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								api/cerc/onboarding/v1/tx_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,111 @@ | ||||
| // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 | ||||
| // versions:
 | ||||
| // - protoc-gen-go-grpc v1.3.0
 | ||||
| // - protoc             (unknown)
 | ||||
| // source: cerc/onboarding/v1/tx.proto
 | ||||
| 
 | ||||
| package onboardingv1 | ||||
| 
 | ||||
| import ( | ||||
| 	context "context" | ||||
| 	grpc "google.golang.org/grpc" | ||||
| 	codes "google.golang.org/grpc/codes" | ||||
| 	status "google.golang.org/grpc/status" | ||||
| ) | ||||
| 
 | ||||
| // This is a compile-time assertion to ensure that this generated file
 | ||||
| // is compatible with the grpc package it is being compiled against.
 | ||||
| // Requires gRPC-Go v1.32.0 or later.
 | ||||
| const _ = grpc.SupportPackageIsVersion7 | ||||
| 
 | ||||
| const ( | ||||
| 	Msg_OnboardParticipant_FullMethodName = "/cerc.onboarding.v1.Msg/OnboardParticipant" | ||||
| ) | ||||
| 
 | ||||
| // MsgClient is the client API for Msg service.
 | ||||
| //
 | ||||
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 | ||||
| type MsgClient interface { | ||||
| 	// OnboardParticipant defines a method for enrolling a new validator.
 | ||||
| 	OnboardParticipant(ctx context.Context, in *MsgOnboardParticipant, opts ...grpc.CallOption) (*MsgOnboardParticipantResponse, error) | ||||
| } | ||||
| 
 | ||||
| type msgClient struct { | ||||
| 	cc grpc.ClientConnInterface | ||||
| } | ||||
| 
 | ||||
| func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { | ||||
| 	return &msgClient{cc} | ||||
| } | ||||
| 
 | ||||
| func (c *msgClient) OnboardParticipant(ctx context.Context, in *MsgOnboardParticipant, opts ...grpc.CallOption) (*MsgOnboardParticipantResponse, error) { | ||||
| 	out := new(MsgOnboardParticipantResponse) | ||||
| 	err := c.cc.Invoke(ctx, Msg_OnboardParticipant_FullMethodName, in, out, opts...) | ||||
| 	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
 | ||||
| type MsgServer interface { | ||||
| 	// OnboardParticipant defines a method for enrolling a new validator.
 | ||||
| 	OnboardParticipant(context.Context, *MsgOnboardParticipant) (*MsgOnboardParticipantResponse, error) | ||||
| 	mustEmbedUnimplementedMsgServer() | ||||
| } | ||||
| 
 | ||||
| // UnimplementedMsgServer must be embedded to have forward compatible implementations.
 | ||||
| type UnimplementedMsgServer struct { | ||||
| } | ||||
| 
 | ||||
| func (UnimplementedMsgServer) OnboardParticipant(context.Context, *MsgOnboardParticipant) (*MsgOnboardParticipantResponse, error) { | ||||
| 	return nil, status.Errorf(codes.Unimplemented, "method OnboardParticipant not implemented") | ||||
| } | ||||
| func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} | ||||
| 
 | ||||
| // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service.
 | ||||
| // Use of this interface is not recommended, as added methods to MsgServer will
 | ||||
| // result in compilation errors.
 | ||||
| type UnsafeMsgServer interface { | ||||
| 	mustEmbedUnimplementedMsgServer() | ||||
| } | ||||
| 
 | ||||
| func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { | ||||
| 	s.RegisterService(&Msg_ServiceDesc, srv) | ||||
| } | ||||
| 
 | ||||
| func _Msg_OnboardParticipant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||
| 	in := new(MsgOnboardParticipant) | ||||
| 	if err := dec(in); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if interceptor == nil { | ||||
| 		return srv.(MsgServer).OnboardParticipant(ctx, in) | ||||
| 	} | ||||
| 	info := &grpc.UnaryServerInfo{ | ||||
| 		Server:     srv, | ||||
| 		FullMethod: Msg_OnboardParticipant_FullMethodName, | ||||
| 	} | ||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||
| 		return srv.(MsgServer).OnboardParticipant(ctx, req.(*MsgOnboardParticipant)) | ||||
| 	} | ||||
| 	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)
 | ||||
| var Msg_ServiceDesc = grpc.ServiceDesc{ | ||||
| 	ServiceName: "cerc.onboarding.v1.Msg", | ||||
| 	HandlerType: (*MsgServer)(nil), | ||||
| 	Methods: []grpc.MethodDesc{ | ||||
| 		{ | ||||
| 			MethodName: "OnboardParticipant", | ||||
| 			Handler:    _Msg_OnboardParticipant_Handler, | ||||
| 		}, | ||||
| 	}, | ||||
| 	Streams:  []grpc.StreamDesc{}, | ||||
| 	Metadata: "cerc/onboarding/v1/tx.proto", | ||||
| } | ||||
							
								
								
									
										46
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								go.mod
									
									
									
									
									
								
							| @ -31,22 +31,24 @@ require ( | ||||
| 	github.com/cosmos/go-bip39 v1.0.0 | ||||
| 	github.com/cosmos/gogoproto v1.4.11 | ||||
| 	github.com/deckarep/golang-set v1.8.0 | ||||
| 	github.com/ethereum/go-ethereum v1.14.5 | ||||
| 	github.com/gibson042/canonicaljson-go v1.0.3 | ||||
| 	github.com/go-chi/chi/v5 v5.0.8 | ||||
| 	github.com/golang/protobuf v1.5.3 | ||||
| 	github.com/golang/protobuf v1.5.4 | ||||
| 	github.com/grpc-ecosystem/grpc-gateway v1.16.0 | ||||
| 	github.com/ipfs/go-cid v0.4.1 | ||||
| 	github.com/ipld/go-ipld-prime v0.21.0 | ||||
| 	github.com/rs/cors v1.8.3 | ||||
| 	github.com/spf13/cobra v1.8.0 | ||||
| 	github.com/spf13/viper v1.17.0 | ||||
| 	github.com/statechannels/go-nitro v0.1.2 | ||||
| 	github.com/stretchr/testify v1.8.4 | ||||
| 	github.com/vektah/gqlparser/v2 v2.5.11 | ||||
| 	golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa | ||||
| 	golang.org/x/sync v0.6.0 | ||||
| 	golang.org/x/sync v0.7.0 | ||||
| 	google.golang.org/genproto/googleapis/api v0.0.0-20231120223509-83a465c0220f | ||||
| 	google.golang.org/grpc v1.60.1 | ||||
| 	google.golang.org/protobuf v1.32.0 | ||||
| 	google.golang.org/protobuf v1.33.0 | ||||
| 	gopkg.in/yaml.v3 v3.0.1 | ||||
| ) | ||||
| 
 | ||||
| @ -57,19 +59,19 @@ require ( | ||||
| 	github.com/99designs/keyring v1.2.1 // indirect | ||||
| 	github.com/DataDog/datadog-go v3.2.0+incompatible // indirect | ||||
| 	github.com/DataDog/zstd v1.5.5 // indirect | ||||
| 	github.com/Microsoft/go-winio v0.6.1 // indirect | ||||
| 	github.com/agnivade/levenshtein v1.1.1 // indirect | ||||
| 	github.com/beorn7/perks v1.0.1 // indirect | ||||
| 	github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect | ||||
| 	github.com/bits-and-blooms/bitset v1.10.0 // indirect | ||||
| 	github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect | ||||
| 	github.com/btcsuite/btcd/btcutil v1.1.5 // indirect | ||||
| 	github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 // indirect | ||||
| 	github.com/cenkalti/backoff/v4 v4.1.3 // indirect | ||||
| 	github.com/cespare/xxhash v1.1.0 // indirect | ||||
| 	github.com/cespare/xxhash/v2 v2.2.0 // indirect | ||||
| 	github.com/cespare/xxhash/v2 v2.3.0 // indirect | ||||
| 	github.com/cockroachdb/apd/v2 v2.0.2 // indirect | ||||
| 	github.com/cockroachdb/errors v1.11.1 // indirect | ||||
| 	github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect | ||||
| 	github.com/cockroachdb/pebble v0.0.0-20231101195458-481da04154d6 // indirect | ||||
| 	github.com/cockroachdb/pebble v1.1.0 // indirect | ||||
| 	github.com/cockroachdb/redact v1.1.5 // indirect | ||||
| 	github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect | ||||
| 	github.com/cometbft/cometbft-db v0.9.1 // indirect | ||||
| @ -90,7 +92,7 @@ require ( | ||||
| 	github.com/dustin/go-humanize v1.0.1 // indirect | ||||
| 	github.com/dvsekhvalnov/jose2go v1.5.0 // indirect | ||||
| 	github.com/emicklei/dot v1.6.0 // indirect | ||||
| 	github.com/fatih/color v1.15.0 // indirect | ||||
| 	github.com/fatih/color v1.16.0 // indirect | ||||
| 	github.com/felixge/httpsnoop v1.0.2 // indirect | ||||
| 	github.com/fsnotify/fsnotify v1.6.0 // indirect | ||||
| 	github.com/getsentry/sentry-go v0.25.0 // indirect | ||||
| @ -119,13 +121,14 @@ require ( | ||||
| 	github.com/hashicorp/hcl v1.0.0 // indirect | ||||
| 	github.com/hashicorp/yamux v0.1.1 // indirect | ||||
| 	github.com/hdevalence/ed25519consensus v0.1.0 // indirect | ||||
| 	github.com/holiman/uint256 v1.2.4 // indirect | ||||
| 	github.com/huandu/skiplist v1.2.0 // indirect | ||||
| 	github.com/iancoleman/strcase v0.3.0 // indirect | ||||
| 	github.com/improbable-eng/grpc-web v0.15.0 // indirect | ||||
| 	github.com/inconshreveable/mousetrap v1.1.0 // indirect | ||||
| 	github.com/jmhodges/levigo v1.0.0 // indirect | ||||
| 	github.com/klauspost/compress v1.17.4 // indirect | ||||
| 	github.com/klauspost/cpuid/v2 v2.0.9 // indirect | ||||
| 	github.com/klauspost/cpuid/v2 v2.2.5 // indirect | ||||
| 	github.com/kr/pretty v0.3.1 // indirect | ||||
| 	github.com/kr/text v0.2.0 // indirect | ||||
| 	github.com/lib/pq v1.10.7 // indirect | ||||
| @ -136,16 +139,16 @@ require ( | ||||
| 	github.com/mattn/go-isatty v0.0.20 // indirect | ||||
| 	github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect | ||||
| 	github.com/minio/highwayhash v1.0.2 // indirect | ||||
| 	github.com/minio/sha256-simd v1.0.0 // indirect | ||||
| 	github.com/minio/sha256-simd v1.0.1 // indirect | ||||
| 	github.com/mitchellh/go-testing-interface v1.14.1 // indirect | ||||
| 	github.com/mitchellh/mapstructure v1.5.0 // indirect | ||||
| 	github.com/mr-tron/base58 v1.2.0 // indirect | ||||
| 	github.com/mtibben/percent v0.2.1 // indirect | ||||
| 	github.com/multiformats/go-base32 v0.0.3 // indirect | ||||
| 	github.com/multiformats/go-base36 v0.1.0 // indirect | ||||
| 	github.com/multiformats/go-multibase v0.0.3 // indirect | ||||
| 	github.com/multiformats/go-base32 v0.1.0 // indirect | ||||
| 	github.com/multiformats/go-base36 v0.2.0 // indirect | ||||
| 	github.com/multiformats/go-multibase v0.2.0 // indirect | ||||
| 	github.com/multiformats/go-multihash v0.2.3 // indirect | ||||
| 	github.com/multiformats/go-varint v0.0.6 // indirect | ||||
| 	github.com/multiformats/go-varint v0.0.7 // indirect | ||||
| 	github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a // indirect | ||||
| 	github.com/oklog/run v1.1.0 // indirect | ||||
| 	github.com/pelletier/go-toml/v2 v2.1.0 // indirect | ||||
| @ -163,6 +166,7 @@ require ( | ||||
| 	github.com/sagikazarmark/locafero v0.3.0 // indirect | ||||
| 	github.com/sagikazarmark/slog-shim v0.1.0 // indirect | ||||
| 	github.com/sasha-s/go-deadlock v0.3.1 // indirect | ||||
| 	github.com/sirupsen/logrus v1.9.3 // indirect | ||||
| 	github.com/sourcegraph/conc v0.3.0 // indirect | ||||
| 	github.com/spaolacci/murmur3 v1.1.0 // indirect | ||||
| 	github.com/spf13/afero v1.10.0 // indirect | ||||
| @ -175,19 +179,21 @@ require ( | ||||
| 	github.com/zondax/hid v0.9.2 // indirect | ||||
| 	github.com/zondax/ledger-go v0.14.3 // indirect | ||||
| 	go.etcd.io/bbolt v1.3.8 // indirect | ||||
| 	go.uber.org/multierr v1.10.0 // indirect | ||||
| 	golang.org/x/crypto v0.18.0 // indirect | ||||
| 	golang.org/x/net v0.20.0 // indirect | ||||
| 	golang.org/x/sys v0.16.0 // indirect | ||||
| 	golang.org/x/term v0.16.0 // indirect | ||||
| 	go.uber.org/multierr v1.11.0 // indirect | ||||
| 	golang.org/x/crypto v0.22.0 // indirect | ||||
| 	golang.org/x/net v0.24.0 // indirect | ||||
| 	golang.org/x/sys v0.20.0 // indirect | ||||
| 	golang.org/x/term v0.19.0 // indirect | ||||
| 	golang.org/x/text v0.14.0 // indirect | ||||
| 	google.golang.org/genproto v0.0.0-20231211222908-989df2bf70f3 // indirect | ||||
| 	google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 // indirect | ||||
| 	gopkg.in/ini.v1 v1.67.0 // indirect | ||||
| 	gopkg.in/yaml.v2 v2.4.0 // indirect | ||||
| 	gotest.tools/v3 v3.5.1 // indirect | ||||
| 	lukechampine.com/blake3 v1.1.6 // indirect | ||||
| 	lukechampine.com/blake3 v1.2.1 // indirect | ||||
| 	nhooyr.io/websocket v1.8.6 // indirect | ||||
| 	pgregory.net/rapid v1.1.0 // indirect | ||||
| 	sigs.k8s.io/yaml v1.3.0 // indirect | ||||
| ) | ||||
| 
 | ||||
| replace github.com/statechannels/go-nitro v0.1.2 => github.com/cerc-io/go-nitro v0.1.3-ts-port-0.1.10 | ||||
|  | ||||
							
								
								
									
										130
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										130
									
								
								go.sum
									
									
									
									
									
								
							| @ -76,8 +76,8 @@ github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3 | ||||
| github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= | ||||
| github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= | ||||
| github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= | ||||
| github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= | ||||
| github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= | ||||
| github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= | ||||
| github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= | ||||
| github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= | ||||
| github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= | ||||
| github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= | ||||
| @ -88,6 +88,7 @@ github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrd | ||||
| github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= | ||||
| github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= | ||||
| github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= | ||||
| github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= | ||||
| github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= | ||||
| github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= | ||||
| github.com/agnivade/levenshtein v1.1.1 h1:QY8M92nrzkmr798gCo3kmMyqXFzdQVpxLlGPRBij0P8= | ||||
| @ -122,12 +123,30 @@ github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2 | ||||
| github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= | ||||
| github.com/bits-and-blooms/bitset v1.10.0 h1:ePXTeiPEazB5+opbv5fr8umg2R/1NlzgDsyepwsSr88= | ||||
| github.com/bits-and-blooms/bitset v1.10.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= | ||||
| github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= | ||||
| github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= | ||||
| github.com/btcsuite/btcd v0.23.5-0.20231215221805-96c9fd8078fd/go.mod h1:nm3Bko6zh6bWP60UxwoT5LzdGJsQJaPo6HjduXq9p6A= | ||||
| github.com/btcsuite/btcd/btcec/v2 v2.1.0/go.mod h1:2VzYrv4Gm4apmbVVsSq5bqf1Ec8v56E48Vt0Y/umPgA= | ||||
| github.com/btcsuite/btcd/btcec/v2 v2.1.3/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= | ||||
| github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= | ||||
| github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= | ||||
| github.com/btcsuite/btcd/btcutil v1.1.3 h1:xfbtw8lwpp0G6NwSHb+UE67ryTFHJAiNuipusjXSohQ= | ||||
| github.com/btcsuite/btcd/btcutil v1.1.3/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= | ||||
| github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= | ||||
| github.com/btcsuite/btcd/btcutil v1.0.0/go.mod h1:Uoxwv0pqYWhD//tfTiipkxNfdhG9UrLwaeswfjfdF0A= | ||||
| github.com/btcsuite/btcd/btcutil v1.1.0/go.mod h1:5OapHB7A2hBBWLm48mmw4MOHNJCcUBTwmWH/0Jn8VHE= | ||||
| github.com/btcsuite/btcd/btcutil v1.1.5 h1:+wER79R5670vs/ZusMTF1yTcRYE5GUsFbdjdisflzM8= | ||||
| github.com/btcsuite/btcd/btcutil v1.1.5/go.mod h1:PSZZ4UitpLBWzxGd5VGOrLnmOjtPP/a6HaFo12zMs00= | ||||
| github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= | ||||
| github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= | ||||
| github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 h1:59Kx4K6lzOW5w6nFlA0v5+lk/6sjybR934QNHSJZPTQ= | ||||
| github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= | ||||
| github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= | ||||
| github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= | ||||
| github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= | ||||
| github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= | ||||
| github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= | ||||
| github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= | ||||
| github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= | ||||
| github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= | ||||
| github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= | ||||
| github.com/bufbuild/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28/ZlunY= | ||||
| github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g12jTtjuzRNdjpE= | ||||
| github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= | ||||
| @ -137,11 +156,13 @@ github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInq | ||||
| github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= | ||||
| github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= | ||||
| github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= | ||||
| github.com/cerc-io/go-nitro v0.1.3-ts-port-0.1.10 h1:lJg2a5Zi0kXxG89B1Fhq3VqnKmicK4AcUtruZUZQkDc= | ||||
| github.com/cerc-io/go-nitro v0.1.3-ts-port-0.1.10/go.mod h1:x7xAzfyhRoVQ1hvuowH6LLEU/mmwpz1tQYLNi6F2ohI= | ||||
| github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= | ||||
| github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= | ||||
| github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= | ||||
| github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= | ||||
| github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= | ||||
| github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= | ||||
| github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= | ||||
| github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= | ||||
| github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= | ||||
| github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI= | ||||
| @ -168,8 +189,8 @@ github.com/cockroachdb/errors v1.11.1 h1:xSEW75zKaKCWzR3OfxXUxgrk/NtT4G1MiOv5lWZ | ||||
| github.com/cockroachdb/errors v1.11.1/go.mod h1:8MUxA3Gi6b25tYlFEBGLf+D8aISL+M4MIpiWMSNRfxw= | ||||
| github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= | ||||
| github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= | ||||
| github.com/cockroachdb/pebble v0.0.0-20231101195458-481da04154d6 h1:g+Y6IAf28JinY3zNdXwpw71SBGhLEb72kGQgiR5XKZM= | ||||
| github.com/cockroachdb/pebble v0.0.0-20231101195458-481da04154d6/go.mod h1:acMRUGd/BK8AUmQNK3spUCCGzFLZU2bSST3NMXSq2Kc= | ||||
| github.com/cockroachdb/pebble v1.1.0 h1:pcFh8CdCIt2kmEpK0OIatq67Ln9uGDYY3d5XnE0LJG4= | ||||
| github.com/cockroachdb/pebble v1.1.0/go.mod h1:sEHm5NOXxyiAoKWhoFxT8xMgd/f3RA6qUqQ1BXKrh2E= | ||||
| github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= | ||||
| github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= | ||||
| github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= | ||||
| @ -220,16 +241,20 @@ github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7Do | ||||
| github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= | ||||
| github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= | ||||
| github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= | ||||
| github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= | ||||
| github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/deckarep/golang-set v1.8.0 h1:sk9/l/KqpunDwP7pSjUg0keiOOLEnOBHzykLrsPppp4= | ||||
| github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= | ||||
| github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= | ||||
| github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= | ||||
| github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= | ||||
| github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= | ||||
| github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= | ||||
| github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= | ||||
| github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= | ||||
| github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= | ||||
| github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= | ||||
| github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o= | ||||
| @ -268,10 +293,12 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m | ||||
| github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= | ||||
| github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= | ||||
| github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= | ||||
| github.com/ethereum/go-ethereum v1.14.5 h1:szuFzO1MhJmweXjoM5nSAeDvjNUH3vIQoMzzQnfvjpw= | ||||
| github.com/ethereum/go-ethereum v1.14.5/go.mod h1:VEDGGhSxY7IEjn98hJRFXl/uFvpRgbIIf2PpXiyGGgc= | ||||
| github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= | ||||
| github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= | ||||
| github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= | ||||
| github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= | ||||
| github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= | ||||
| github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= | ||||
| github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= | ||||
| github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= | ||||
| github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= | ||||
| @ -379,8 +406,8 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw | ||||
| github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= | ||||
| github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= | ||||
| github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= | ||||
| github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= | ||||
| github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= | ||||
| github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= | ||||
| github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= | ||||
| github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= | ||||
| github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= | ||||
| github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= | ||||
| @ -491,6 +518,8 @@ github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE | ||||
| github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= | ||||
| github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= | ||||
| github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= | ||||
| github.com/holiman/uint256 v1.2.4 h1:jUc4Nk8fm9jZabQuqr2JzednajVmBpC+oiTiXZJEApU= | ||||
| github.com/holiman/uint256 v1.2.4/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXeiRV4ng7E= | ||||
| github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= | ||||
| github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= | ||||
| github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= | ||||
| @ -511,6 +540,8 @@ github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s= | ||||
| github.com/ipfs/go-cid v0.4.1/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk= | ||||
| github.com/ipld/go-ipld-prime v0.21.0 h1:n4JmcpOlPDIxBcY037SVfpd1G+Sj1nKZah0m6QH9C2E= | ||||
| github.com/ipld/go-ipld-prime v0.21.0/go.mod h1:3RLqy//ERg/y5oShXXdx5YIp50cFGOanyMctpPjsvxQ= | ||||
| github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= | ||||
| github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= | ||||
| github.com/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls= | ||||
| github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k= | ||||
| github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= | ||||
| @ -518,6 +549,7 @@ github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U | ||||
| github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= | ||||
| github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= | ||||
| github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= | ||||
| github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= | ||||
| github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= | ||||
| github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= | ||||
| github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= | ||||
| @ -536,14 +568,14 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW | ||||
| github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= | ||||
| github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= | ||||
| github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= | ||||
| github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= | ||||
| github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= | ||||
| github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= | ||||
| github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= | ||||
| github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4= | ||||
| github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= | ||||
| github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | ||||
| github.com/klauspost/cpuid/v2 v2.0.9 h1:lgaqFMSdTdQYdZ04uHyN2d/eKdOMyi2YLSvlQIBFYa4= | ||||
| github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | ||||
| github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= | ||||
| github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= | ||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | ||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | ||||
| github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= | ||||
| @ -594,8 +626,8 @@ github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQth | ||||
| github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= | ||||
| github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= | ||||
| github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= | ||||
| github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= | ||||
| github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= | ||||
| github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= | ||||
| github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= | ||||
| github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= | ||||
| github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= | ||||
| github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= | ||||
| @ -615,23 +647,22 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN | ||||
| github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= | ||||
| github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= | ||||
| github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= | ||||
| github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= | ||||
| github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= | ||||
| github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= | ||||
| github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= | ||||
| github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= | ||||
| github.com/multiformats/go-base32 v0.0.3 h1:tw5+NhuwaOjJCC5Pp82QuXbrmLzWg7uxlMFp8Nq/kkI= | ||||
| github.com/multiformats/go-base32 v0.0.3/go.mod h1:pLiuGC8y0QR3Ue4Zug5UzK9LjgbkL8NSQj0zQ5Nz/AA= | ||||
| github.com/multiformats/go-base36 v0.1.0 h1:JR6TyF7JjGd3m6FbLU2cOxhC0Li8z8dLNGQ89tUg4F4= | ||||
| github.com/multiformats/go-base36 v0.1.0/go.mod h1:kFGE83c6s80PklsHO9sRn2NCoffoRdUUOENyW/Vv6sM= | ||||
| github.com/multiformats/go-multibase v0.0.3 h1:l/B6bJDQjvQ5G52jw4QGSYeOTZoAwIO77RblWplfIqk= | ||||
| github.com/multiformats/go-multibase v0.0.3/go.mod h1:5+1R4eQrT3PkYZ24C3W2Ue2tPwIdYQD509ZjSb5y9Oc= | ||||
| github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE= | ||||
| github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI= | ||||
| github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0= | ||||
| github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4= | ||||
| github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g= | ||||
| github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk= | ||||
| github.com/multiformats/go-multicodec v0.9.0 h1:pb/dlPnzee/Sxv/j4PmkDRxCOi3hXTz3IbPKOXWJkmg= | ||||
| github.com/multiformats/go-multicodec v0.9.0/go.mod h1:L3QTQvMIaVBkXOXXtVmYE+LI16i14xuaojr/H7Ai54k= | ||||
| github.com/multiformats/go-multihash v0.2.3 h1:7Lyc8XfX/IY2jWb/gI7JP+o7JEq9hOa7BFvVU9RSh+U= | ||||
| github.com/multiformats/go-multihash v0.2.3/go.mod h1:dXgKXCXjBzdscBLk9JkjINiEsCKRVch90MdaGiKsvSM= | ||||
| github.com/multiformats/go-varint v0.0.6 h1:gk85QWKxh3TazbLxED/NlDVv8+q+ReFJk7Y2W/KhfNY= | ||||
| github.com/multiformats/go-varint v0.0.6/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= | ||||
| github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= | ||||
| github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= | ||||
| github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= | ||||
| github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= | ||||
| github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= | ||||
| @ -659,6 +690,7 @@ github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W | ||||
| github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= | ||||
| github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= | ||||
| github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= | ||||
| github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= | ||||
| github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= | ||||
| github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= | ||||
| github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= | ||||
| @ -777,8 +809,8 @@ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx | ||||
| github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= | ||||
| github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= | ||||
| github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= | ||||
| github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= | ||||
| github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= | ||||
| github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= | ||||
| github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= | ||||
| github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= | ||||
| github.com/smartystreets/assertions v1.2.0 h1:42S6lae5dvLc7BrLu/0ugRtcFVjoJNMC/N3yZFZkDFs= | ||||
| github.com/smartystreets/assertions v1.2.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= | ||||
| @ -889,12 +921,13 @@ go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A | ||||
| go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= | ||||
| go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= | ||||
| go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= | ||||
| go.uber.org/multierr v1.10.0 h1:S0h4aNzvfcFsC3dRF1jLoaov7oRaKqRGC/pUEJ2yvPQ= | ||||
| go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= | ||||
| go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= | ||||
| go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= | ||||
| go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= | ||||
| go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= | ||||
| go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= | ||||
| go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= | ||||
| golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | ||||
| golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | ||||
| golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | ||||
| golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | ||||
| @ -908,8 +941,8 @@ golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPh | ||||
| golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= | ||||
| golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= | ||||
| golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= | ||||
| golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= | ||||
| golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= | ||||
| golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= | ||||
| golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= | ||||
| golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= | ||||
| golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= | ||||
| golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= | ||||
| @ -949,8 +982,7 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | ||||
| golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | ||||
| golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= | ||||
| golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= | ||||
| golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= | ||||
| golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= | ||||
| golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||
| golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||
| golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||
| golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||
| @ -999,8 +1031,8 @@ golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qx | ||||
| golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= | ||||
| golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= | ||||
| golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= | ||||
| golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= | ||||
| golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= | ||||
| golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= | ||||
| golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= | ||||
| golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= | ||||
| golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= | ||||
| golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= | ||||
| @ -1022,8 +1054,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ | ||||
| golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= | ||||
| golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= | ||||
| golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= | ||||
| golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= | ||||
| golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||
| golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||
| golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||
| @ -1095,18 +1127,20 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc | ||||
| golang.org/x/sys v0.0.0-20220315194320-039c03cc5b86/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= | ||||
| golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= | ||||
| golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= | ||||
| golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= | ||||
| golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= | ||||
| golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= | ||||
| golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= | ||||
| golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= | ||||
| golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= | ||||
| golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= | ||||
| golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||
| golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||
| golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||
| @ -1183,8 +1217,6 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= | ||||
| golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= | ||||
| golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= | ||||
| golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= | ||||
| golang.org/x/tools v0.15.0 h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8= | ||||
| golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk= | ||||
| golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| @ -1308,8 +1340,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ | ||||
| google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= | ||||
| google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= | ||||
| google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= | ||||
| google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= | ||||
| google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= | ||||
| google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= | ||||
| google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= | ||||
| gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= | ||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||
| gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||
| @ -1351,8 +1383,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh | ||||
| honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= | ||||
| honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= | ||||
| honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= | ||||
| lukechampine.com/blake3 v1.1.6 h1:H3cROdztr7RCfoaTpGZFQsrqvweFLrqS73j7L7cmR5c= | ||||
| lukechampine.com/blake3 v1.1.6/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= | ||||
| lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI= | ||||
| lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k= | ||||
| nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= | ||||
| nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= | ||||
| pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= | ||||
|  | ||||
| @ -7,7 +7,10 @@ import "cerc/onboarding/v1/onboarding.proto"; | ||||
| 
 | ||||
| option go_package = "git.vdb.to/cerc-io/laconicd/x/onboarding"; | ||||
| 
 | ||||
| // GenesisState defines the onboarding module's genesis state. | ||||
| message GenesisState { | ||||
|   // params defines all the parameters of the module. | ||||
|   Params params = 1 [ (gogoproto.nullable) = false ]; | ||||
|   // participants defines all the participants | ||||
|   repeated Participant participants = 2 [ (gogoproto.nullable) = false ]; | ||||
| } | ||||
|  | ||||
| @ -8,3 +8,24 @@ option go_package = "git.vdb.to/cerc-io/laconicd/x/onboarding"; | ||||
| 
 | ||||
| // Params defines the parameters of the onboarding module. | ||||
| message Params {} | ||||
| 
 | ||||
| // Participant defines the data that will be stored for each enrolled participant | ||||
| message Participant { | ||||
|   string cosmos_address = 1 [ | ||||
|     (gogoproto.moretags) = "json:\"cosmos_address\" yaml:\"cosmos_address\"" | ||||
|   ]; | ||||
| 
 | ||||
|   string ethereum_address = 2 [ | ||||
|     (gogoproto.moretags) = "json:\"ethereum_address\" yaml:\"ethereum_address\"" | ||||
|   ]; | ||||
| } | ||||
| // EthPayload defines the payload that is signed by the ethereum private key | ||||
| message EthPayload { | ||||
|   string address = 1 [ | ||||
|     (gogoproto.moretags) = "json:\"address\" yaml:\"address\"" | ||||
|   ]; | ||||
| 
 | ||||
|   string msg = 2 [ | ||||
|     (gogoproto.moretags) = "json:\"msg\" yaml:\"msg\"" | ||||
|   ]; | ||||
| } | ||||
|  | ||||
| @ -1,3 +1,5 @@ | ||||
| syntax = "proto3"; | ||||
| 
 | ||||
| package cerc.onboarding.v1; | ||||
| 
 | ||||
| option go_package = "git.vdb.to/cerc-io/laconicd/x/onboarding"; | ||||
|  | ||||
| @ -1,3 +1,35 @@ | ||||
| syntax = "proto3"; | ||||
| 
 | ||||
| package cerc.onboarding.v1; | ||||
| 
 | ||||
| import "cosmos/msg/v1/msg.proto"; | ||||
| import "google/api/annotations.proto"; | ||||
| import "gogoproto/gogo.proto"; | ||||
| import "cerc/onboarding/v1/onboarding.proto"; | ||||
| 
 | ||||
| option go_package = "git.vdb.to/cerc-io/laconicd/x/onboarding"; | ||||
| 
 | ||||
| // Msg defines the onboarding Msg service. | ||||
| service Msg { | ||||
|   option (cosmos.msg.v1.service) = true; | ||||
| 
 | ||||
|   // OnboardParticipant defines a method for enrolling a new validator. | ||||
|   rpc OnboardParticipant(MsgOnboardParticipant) | ||||
|     returns (MsgOnboardParticipantResponse) { | ||||
|       option (google.api.http).post = "/cerc/onboarding/v1/onboard_participant"; | ||||
|     }; | ||||
| } | ||||
| 
 | ||||
| // MsgOnboardParticipant defines a SDK message for enrolling a new validator. | ||||
| message MsgOnboardParticipant { | ||||
|   option (cosmos.msg.v1.signer) = "participant"; | ||||
| 
 | ||||
|   // Participant is the msg sender | ||||
|   string participant = 1; | ||||
|   EthPayload eth_payload = 2 [ (gogoproto.nullable) = false ]; | ||||
|   string eth_signature = 3; | ||||
|   string message = 4; | ||||
| } | ||||
| 
 | ||||
| // MsgOnboardParticipantResponse defines the Msg/OnboardParticipant response type. | ||||
| message MsgOnboardParticipantResponse {} | ||||
|  | ||||
							
								
								
									
										18
									
								
								utils/signature.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								utils/signature.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | ||||
| package utils | ||||
| 
 | ||||
| import ( | ||||
| 	"github.com/ethereum/go-ethereum/common" | ||||
| 
 | ||||
| 	"github.com/statechannels/go-nitro/crypto" | ||||
| ) | ||||
| 
 | ||||
| func DecodeEthereumAddress(message []byte, sig string) (string, error) { | ||||
| 	if len(sig) > 2 && sig[:2] == "0x" { | ||||
| 		sig = sig[2:] | ||||
| 	} | ||||
| 
 | ||||
| 	signature := crypto.SplitSignature(common.Hex2Bytes(sig)) | ||||
| 	ethereumAddress, err := crypto.RecoverEthereumMessageSigner(message, signature) | ||||
| 
 | ||||
| 	return ethereumAddress.String(), err | ||||
| } | ||||
| @ -91,7 +91,7 @@ func (AppModule) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncodingCo | ||||
| 	return data.Validate() | ||||
| } | ||||
| 
 | ||||
| // InitGenesis performs genesis initialization for the checkers module.
 | ||||
| // InitGenesis performs genesis initialization for the auction module.
 | ||||
| // It returns no validator updates.
 | ||||
| func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, data json.RawMessage) { | ||||
| 	var genesisState auction.GenesisState | ||||
|  | ||||
| @ -1,11 +0,0 @@ | ||||
| package bond | ||||
| 
 | ||||
| import "cosmossdk.io/errors" | ||||
| 
 | ||||
| var ( | ||||
| 	ErrIndexTooLong     = errors.Register(ModuleName, 2, "index too long") | ||||
| 	ErrDuplicateAddress = errors.Register(ModuleName, 3, "duplicate address") | ||||
| 	ErrInvalidBlack     = errors.Register(ModuleName, 4, "black address is invalid: %s") | ||||
| 	ErrInvalidRed       = errors.Register(ModuleName, 5, "red address is invalid: %s") | ||||
| 	ErrGameNotParseable = errors.Register(ModuleName, 6, "game cannot be parsed") | ||||
| ) | ||||
| @ -3,7 +3,7 @@ package bond | ||||
| // bond module event types
 | ||||
| 
 | ||||
| const ( | ||||
| 	EventTypeCreateBond   = "crate_bond" | ||||
| 	EventTypeCreateBond   = "create_bond" | ||||
| 	EventTypeRefillBond   = "refill_bond" | ||||
| 	EventTypeCancelBond   = "cancel_bond" | ||||
| 	EventTypeWithdrawBond = "withdraw_bond" | ||||
|  | ||||
| @ -88,7 +88,7 @@ func (AppModule) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncodingCo | ||||
| 	return data.Validate() | ||||
| } | ||||
| 
 | ||||
| // InitGenesis performs genesis initialization for the checkers module.
 | ||||
| // InitGenesis performs genesis initialization for the bond module.
 | ||||
| // It returns no validator updates.
 | ||||
| func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, data json.RawMessage) { | ||||
| 	var genesisState bond.GenesisState | ||||
|  | ||||
| @ -2,9 +2,14 @@ package onboarding | ||||
| 
 | ||||
| import ( | ||||
| 	types "github.com/cosmos/cosmos-sdk/codec/types" | ||||
| 	sdk "github.com/cosmos/cosmos-sdk/types" | ||||
| 	"github.com/cosmos/cosmos-sdk/types/msgservice" | ||||
| ) | ||||
| 
 | ||||
| // RegisterInterfaces registers the interfaces types with the interface registry.
 | ||||
| func RegisterInterfaces(registry types.InterfaceRegistry) { | ||||
| 	// TODO: Implement
 | ||||
| 	registry.RegisterImplementations((*sdk.Msg)(nil), | ||||
| 		&MsgOnboardParticipant{}, | ||||
| 	) | ||||
| 	msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) | ||||
| } | ||||
|  | ||||
							
								
								
									
										11
									
								
								x/onboarding/events.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								x/onboarding/events.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| package onboarding | ||||
| 
 | ||||
| // onboarding module event types
 | ||||
| 
 | ||||
| const ( | ||||
| 	EventTypeOnboardParticipant = "onboard_participant" | ||||
| 
 | ||||
| 	AttributeKeySigner     = "signer" | ||||
| 	AttributeKeyEthAddress = "eth_address" | ||||
| 	AttributeValueCategory = ModuleName | ||||
| ) | ||||
| @ -1,9 +1,16 @@ | ||||
| package onboarding | ||||
| 
 | ||||
| // NewGenesisState creates a new genesis state with default values.
 | ||||
| func NewGenesisState() *GenesisState { | ||||
| func DefaultGenesisState() *GenesisState { | ||||
| 	return &GenesisState{ | ||||
| 		Params:       DefaultParams(), | ||||
| 		Participants: []Participant{}, | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func NewGenesisState(params Params, participants []Participant) *GenesisState { | ||||
| 	return &GenesisState{ | ||||
| 		Params:       params, | ||||
| 		Participants: participants, | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -23,9 +23,12 @@ var _ = math.Inf | ||||
| // proto package needs to be updated.
 | ||||
| const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
 | ||||
| 
 | ||||
| // GenesisState defines the onboarding module's genesis state.
 | ||||
| type GenesisState struct { | ||||
| 	// params defines all the parameters of the module.
 | ||||
| 	Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` | ||||
| 	// participants defines all the participants
 | ||||
| 	Participants []Participant `protobuf:"bytes,2,rep,name=participants,proto3" json:"participants"` | ||||
| } | ||||
| 
 | ||||
| func (m *GenesisState) Reset()         { *m = GenesisState{} } | ||||
| @ -68,6 +71,13 @@ func (m *GenesisState) GetParams() Params { | ||||
| 	return Params{} | ||||
| } | ||||
| 
 | ||||
| func (m *GenesisState) GetParticipants() []Participant { | ||||
| 	if m != nil { | ||||
| 		return m.Participants | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func init() { | ||||
| 	proto.RegisterType((*GenesisState)(nil), "cerc.onboarding.v1.GenesisState") | ||||
| } | ||||
| @ -75,20 +85,22 @@ func init() { | ||||
| func init() { proto.RegisterFile("cerc/onboarding/v1/genesis.proto", fileDescriptor_d21793296c3d9d75) } | ||||
| 
 | ||||
| var fileDescriptor_d21793296c3d9d75 = []byte{ | ||||
| 	// 200 bytes of a gzipped FileDescriptorProto
 | ||||
| 	// 234 bytes of a gzipped FileDescriptorProto
 | ||||
| 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x48, 0x4e, 0x2d, 0x4a, | ||||
| 	0xd6, 0xcf, 0xcf, 0x4b, 0xca, 0x4f, 0x2c, 0x4a, 0xc9, 0xcc, 0x4b, 0xd7, 0x2f, 0x33, 0xd4, 0x4f, | ||||
| 	0x4f, 0xcd, 0x4b, 0x2d, 0xce, 0x2c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x02, 0xa9, | ||||
| 	0xd0, 0x43, 0xa8, 0xd0, 0x2b, 0x33, 0x94, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0x4b, 0xeb, 0x83, | ||||
| 	0x58, 0x10, 0x95, 0x52, 0xca, 0x58, 0xcc, 0x42, 0xd2, 0x07, 0x56, 0xa4, 0xe4, 0xc1, 0xc5, 0xe3, | ||||
| 	0x0e, 0x31, 0x3f, 0xb8, 0x24, 0xb1, 0x24, 0x55, 0xc8, 0x82, 0x8b, 0xad, 0x20, 0xb1, 0x28, 0x31, | ||||
| 	0xb7, 0x58, 0x82, 0x51, 0x81, 0x51, 0x83, 0xdb, 0x48, 0x4a, 0x0f, 0xd3, 0x3e, 0xbd, 0x00, 0xb0, | ||||
| 	0x0a, 0x27, 0x96, 0x13, 0xf7, 0xe4, 0x19, 0x82, 0xa0, 0xea, 0x9d, 0x9c, 0x4e, 0x3c, 0x92, 0x63, | ||||
| 	0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, 0x09, 0x8f, 0xe5, 0x18, 0x2e, 0x3c, 0x96, | ||||
| 	0x63, 0xb8, 0xf1, 0x58, 0x8e, 0x21, 0x4a, 0x23, 0x3d, 0xb3, 0x44, 0xaf, 0x2c, 0x25, 0x49, 0xaf, | ||||
| 	0x24, 0x5f, 0x1f, 0x64, 0x9a, 0x6e, 0x66, 0xbe, 0x7e, 0x4e, 0x62, 0x72, 0x7e, 0x5e, 0x66, 0x72, | ||||
| 	0x8a, 0x7e, 0x05, 0x92, 0x9b, 0x92, 0xd8, 0xc0, 0x8e, 0x32, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, | ||||
| 	0x79, 0x00, 0xd0, 0xb1, 0x07, 0x01, 0x00, 0x00, | ||||
| 	0x58, 0x10, 0x95, 0x52, 0xca, 0x58, 0xcc, 0x42, 0xd2, 0x07, 0x56, 0xa4, 0x34, 0x99, 0x91, 0x8b, | ||||
| 	0xc7, 0x1d, 0x62, 0x41, 0x70, 0x49, 0x62, 0x49, 0xaa, 0x90, 0x05, 0x17, 0x5b, 0x41, 0x62, 0x51, | ||||
| 	0x62, 0x6e, 0xb1, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0xb7, 0x91, 0x94, 0x1e, 0xa6, 0x85, 0x7a, 0x01, | ||||
| 	0x60, 0x15, 0x4e, 0x2c, 0x27, 0xee, 0xc9, 0x33, 0x04, 0x41, 0xd5, 0x0b, 0x79, 0x72, 0xf1, 0x14, | ||||
| 	0x24, 0x16, 0x95, 0x64, 0x26, 0x67, 0x16, 0x24, 0xe6, 0x95, 0x14, 0x4b, 0x30, 0x29, 0x30, 0x6b, | ||||
| 	0x70, 0x1b, 0xc9, 0xe3, 0xd0, 0x0f, 0x53, 0x07, 0x35, 0x04, 0x45, 0xab, 0x93, 0xd3, 0x89, 0x47, | ||||
| 	0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, | ||||
| 	0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x69, 0xa4, 0x67, 0x96, 0xe8, 0x95, 0xa5, 0x24, | ||||
| 	0xe9, 0x95, 0xe4, 0xeb, 0x83, 0x0c, 0xd6, 0xcd, 0xcc, 0xd7, 0xcf, 0x49, 0x4c, 0xce, 0xcf, 0xcb, | ||||
| 	0x4c, 0x4e, 0xd1, 0xaf, 0x40, 0xf2, 0x5f, 0x12, 0x1b, 0xd8, 0x83, 0xc6, 0x80, 0x00, 0x00, 0x00, | ||||
| 	0xff, 0xff, 0x90, 0xbd, 0x55, 0xee, 0x53, 0x01, 0x00, 0x00, | ||||
| } | ||||
| 
 | ||||
| func (m *GenesisState) Marshal() (dAtA []byte, err error) { | ||||
| @ -111,6 +123,20 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { | ||||
| 	_ = i | ||||
| 	var l int | ||||
| 	_ = l | ||||
| 	if len(m.Participants) > 0 { | ||||
| 		for iNdEx := len(m.Participants) - 1; iNdEx >= 0; iNdEx-- { | ||||
| 			{ | ||||
| 				size, err := m.Participants[iNdEx].MarshalToSizedBuffer(dAtA[:i]) | ||||
| 				if err != nil { | ||||
| 					return 0, err | ||||
| 				} | ||||
| 				i -= size | ||||
| 				i = encodeVarintGenesis(dAtA, i, uint64(size)) | ||||
| 			} | ||||
| 			i-- | ||||
| 			dAtA[i] = 0x12 | ||||
| 		} | ||||
| 	} | ||||
| 	{ | ||||
| 		size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) | ||||
| 		if err != nil { | ||||
| @ -143,6 +169,12 @@ func (m *GenesisState) Size() (n int) { | ||||
| 	_ = l | ||||
| 	l = m.Params.Size() | ||||
| 	n += 1 + l + sovGenesis(uint64(l)) | ||||
| 	if len(m.Participants) > 0 { | ||||
| 		for _, e := range m.Participants { | ||||
| 			l = e.Size() | ||||
| 			n += 1 + l + sovGenesis(uint64(l)) | ||||
| 		} | ||||
| 	} | ||||
| 	return n | ||||
| } | ||||
| 
 | ||||
| @ -214,6 +246,40 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { | ||||
| 				return err | ||||
| 			} | ||||
| 			iNdEx = postIndex | ||||
| 		case 2: | ||||
| 			if wireType != 2 { | ||||
| 				return fmt.Errorf("proto: wrong wireType = %d for field Participants", wireType) | ||||
| 			} | ||||
| 			var msglen int | ||||
| 			for shift := uint(0); ; shift += 7 { | ||||
| 				if shift >= 64 { | ||||
| 					return ErrIntOverflowGenesis | ||||
| 				} | ||||
| 				if iNdEx >= l { | ||||
| 					return io.ErrUnexpectedEOF | ||||
| 				} | ||||
| 				b := dAtA[iNdEx] | ||||
| 				iNdEx++ | ||||
| 				msglen |= int(b&0x7F) << shift | ||||
| 				if b < 0x80 { | ||||
| 					break | ||||
| 				} | ||||
| 			} | ||||
| 			if msglen < 0 { | ||||
| 				return ErrInvalidLengthGenesis | ||||
| 			} | ||||
| 			postIndex := iNdEx + msglen | ||||
| 			if postIndex < 0 { | ||||
| 				return ErrInvalidLengthGenesis | ||||
| 			} | ||||
| 			if postIndex > l { | ||||
| 				return io.ErrUnexpectedEOF | ||||
| 			} | ||||
| 			m.Participants = append(m.Participants, Participant{}) | ||||
| 			if err := m.Participants[len(m.Participants)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| 			iNdEx = postIndex | ||||
| 		default: | ||||
| 			iNdEx = preIndex | ||||
| 			skippy, err := skipGenesis(dAtA[iNdEx:]) | ||||
|  | ||||
| @ -12,6 +12,12 @@ func (k *Keeper) InitGenesis(ctx context.Context, data *onboarding.GenesisState) | ||||
| 		return err | ||||
| 	} | ||||
| 
 | ||||
| 	for _, participant := range data.Participants { | ||||
| 		if err := k.Participants.Set(ctx, participant.CosmosAddress, participant); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| @ -22,7 +28,16 @@ func (k *Keeper) ExportGenesis(ctx context.Context) (*onboarding.GenesisState, e | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
| 	var participants []onboarding.Participant | ||||
| 	if err := k.Participants.Walk(ctx, nil, func(cosmosAddress string, participant onboarding.Participant) (bool, error) { | ||||
| 		participants = append(participants, participant) | ||||
| 		return false, nil | ||||
| 	}); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
| 	return &onboarding.GenesisState{ | ||||
| 		Params:       params, | ||||
| 		Participants: participants, | ||||
| 	}, nil | ||||
| } | ||||
|  | ||||
| @ -1,13 +1,20 @@ | ||||
| package keeper | ||||
| 
 | ||||
| import ( | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 
 | ||||
| 	"cosmossdk.io/collections" | ||||
| 	"cosmossdk.io/core/address" | ||||
| 	storetypes "cosmossdk.io/core/store" | ||||
| 	"github.com/cosmos/cosmos-sdk/codec" | ||||
| 	errorsmod "cosmossdk.io/errors" | ||||
| 	"cosmossdk.io/log" | ||||
| 
 | ||||
| 	"github.com/cosmos/cosmos-sdk/codec" | ||||
| 	sdk "github.com/cosmos/cosmos-sdk/types" | ||||
| 	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" | ||||
| 
 | ||||
| 	"git.vdb.to/cerc-io/laconicd/utils" | ||||
| 	"git.vdb.to/cerc-io/laconicd/x/onboarding" | ||||
| ) | ||||
| 
 | ||||
| @ -22,6 +29,7 @@ type Keeper struct { | ||||
| 	// state management
 | ||||
| 	Schema       collections.Schema | ||||
| 	Params       collections.Item[onboarding.Params] | ||||
| 	Participants collections.Map[string, onboarding.Participant] | ||||
| } | ||||
| 
 | ||||
| // NewKeeper creates a new Keeper instance
 | ||||
| @ -35,7 +43,8 @@ func NewKeeper(cdc codec.BinaryCodec, addressCodec address.Codec, storeService s | ||||
| 		cdc:          cdc, | ||||
| 		addressCodec: addressCodec, | ||||
| 		authority:    authority, | ||||
| 		Params:       collections.NewItem(sb, onboarding.ParamsKey, "params", codec.CollValue[onboarding.Params](cdc)), | ||||
| 		Params:       collections.NewItem(sb, onboarding.ParamsPrefix, "params", codec.CollValue[onboarding.Params](cdc)), | ||||
| 		Participants: collections.NewMap(sb, onboarding.ParticipantsPrefix, "participants", collections.StringKey, codec.CollValue[onboarding.Participant](cdc)), | ||||
| 	} | ||||
| 
 | ||||
| 	schema, err := sb.Build() | ||||
| @ -52,3 +61,37 @@ func NewKeeper(cdc codec.BinaryCodec, addressCodec address.Codec, storeService s | ||||
| func (k Keeper) GetAuthority() string { | ||||
| 	return k.authority | ||||
| } | ||||
| 
 | ||||
| func (k Keeper) Logger(ctx sdk.Context) log.Logger { | ||||
| 	return ctx.Logger().With("module", onboarding.ModuleName) | ||||
| } | ||||
| 
 | ||||
| func (k Keeper) OnboardParticipant(ctx sdk.Context, msg *onboarding.MsgOnboardParticipant, signerAddress sdk.AccAddress) (*onboarding.MsgOnboardParticipantResponse, error) { | ||||
| 	message, err := json.Marshal(msg.EthPayload) | ||||
| 	if err != nil { | ||||
| 		return nil, errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "Invalid format for payload") | ||||
| 	} | ||||
| 
 | ||||
| 	ethereumAddress, err := utils.DecodeEthereumAddress(message, msg.EthSignature) | ||||
| 	if ethereumAddress != msg.EthPayload.Address { | ||||
| 		return nil, errorsmod.Wrap(sdkerrors.ErrInvalidRequest, "Recovered ethereum address does not match the address set in payload") | ||||
| 	} | ||||
| 
 | ||||
| 	participant := &onboarding.Participant{ | ||||
| 		CosmosAddress:   signerAddress.String(), | ||||
| 		EthereumAddress: ethereumAddress, | ||||
| 	} | ||||
| 
 | ||||
| 	if err := k.StoreParticipant(ctx, participant); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
| 	return nil, err | ||||
| } | ||||
| 
 | ||||
| func (k Keeper) StoreParticipant(ctx sdk.Context, participant *onboarding.Participant) error { | ||||
| 	key := participant.CosmosAddress | ||||
| 	k.Participants.Set(ctx, key, *participant) | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
							
								
								
									
										57
									
								
								x/onboarding/keeper/msg_server.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								x/onboarding/keeper/msg_server.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | ||||
| package keeper | ||||
| 
 | ||||
| import ( | ||||
| 	"context" | ||||
| 
 | ||||
| 	sdk "github.com/cosmos/cosmos-sdk/types" | ||||
| 
 | ||||
| 	"git.vdb.to/cerc-io/laconicd/utils" | ||||
| 	"git.vdb.to/cerc-io/laconicd/x/onboarding" | ||||
| ) | ||||
| 
 | ||||
| type msgServer struct { | ||||
| 	k Keeper | ||||
| } | ||||
| 
 | ||||
| var _ onboarding.MsgServer = msgServer{} | ||||
| 
 | ||||
| // NewMsgServerImpl returns an implementation of the module MsgServer interface.
 | ||||
| func NewMsgServerImpl(keeper *Keeper) onboarding.MsgServer { | ||||
| 	return &msgServer{k: *keeper} | ||||
| } | ||||
| 
 | ||||
| func (ms msgServer) OnboardParticipant(c context.Context, msg *onboarding.MsgOnboardParticipant) (*onboarding.MsgOnboardParticipantResponse, error) { | ||||
| 	if err := msg.ValidateBasic(); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
| 	ctx := sdk.UnwrapSDKContext(c) | ||||
| 	ctx = *utils.CtxWithCustomKVGasConfig(&ctx) | ||||
| 
 | ||||
| 	signerAddress, err := sdk.AccAddressFromBech32(msg.Participant) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
| 	_, err = ms.k.OnboardParticipant(ctx, msg, signerAddress) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
| 	ctx.EventManager().EmitEvents(sdk.Events{ | ||||
| 		sdk.NewEvent( | ||||
| 			onboarding.EventTypeOnboardParticipant, | ||||
| 			sdk.NewAttribute(onboarding.AttributeKeySigner, msg.Participant), | ||||
| 			sdk.NewAttribute(onboarding.AttributeKeyEthAddress, msg.EthPayload.Address), | ||||
| 		), | ||||
| 		sdk.NewEvent( | ||||
| 			sdk.EventTypeMessage, | ||||
| 			sdk.NewAttribute(sdk.AttributeKeyModule, onboarding.AttributeValueCategory), | ||||
| 			sdk.NewAttribute(onboarding.AttributeKeySigner, msg.Participant), | ||||
| 		), | ||||
| 	}) | ||||
| 
 | ||||
| 	utils.LogTxGasConsumed(ctx, ms.k.Logger(ctx), "OnboardParticipant") | ||||
| 
 | ||||
| 	return &onboarding.MsgOnboardParticipantResponse{}, nil | ||||
| } | ||||
| @ -2,8 +2,15 @@ package onboarding | ||||
| 
 | ||||
| import "cosmossdk.io/collections" | ||||
| 
 | ||||
| const ModuleName = "onboarding" | ||||
| const ( | ||||
| 	ModuleName = "onboarding" | ||||
| 
 | ||||
| 	// StoreKey defines the primary module store key
 | ||||
| 	StoreKey = ModuleName | ||||
| ) | ||||
| 
 | ||||
| var ( | ||||
| 	ParamsKey = collections.NewPrefix("Params") | ||||
| 	ParamsPrefix = collections.NewPrefix(0) | ||||
| 
 | ||||
| 	ParticipantsPrefix = collections.NewPrefix(1) | ||||
| ) | ||||
|  | ||||
| @ -2,12 +2,29 @@ package module | ||||
| 
 | ||||
| import ( | ||||
| 	autocliv1 "cosmossdk.io/api/cosmos/autocli/v1" | ||||
| 
 | ||||
| 	onboardingv1 "git.vdb.to/cerc-io/laconicd/api/cerc/onboarding/v1" | ||||
| ) | ||||
| 
 | ||||
| // AutoCLIOptions implements the autocli.HasAutoCLIConfig interface.
 | ||||
| func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { | ||||
| 	return &autocliv1.ModuleOptions{ | ||||
| 		Query: nil, | ||||
| 		Tx:    nil, | ||||
| 		// TODO: Use JSON file for input
 | ||||
| 		Tx: &autocliv1.ServiceCommandDescriptor{ | ||||
| 			Service: onboardingv1.Msg_ServiceDesc.ServiceName, | ||||
| 			RpcCommandOptions: []*autocliv1.RpcCommandOptions{ | ||||
| 				{ | ||||
| 					RpcMethod: "OnboardParticipant", | ||||
| 					Use:       "enroll", | ||||
| 					Short:     "Enroll a testnet validator", | ||||
| 					PositionalArgs: []*autocliv1.PositionalArgDescriptor{ | ||||
| 						{ProtoField: "ethPayload"}, | ||||
| 						{ProtoField: "ethSignature"}, | ||||
| 						{ProtoField: "message"}, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, | ||||
| 		}, | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @ -70,7 +70,7 @@ func (AppModule) ConsensusVersion() uint64 { return ConsensusVersion } | ||||
| func (am AppModule) RegisterServices(cfg module.Configurator) { | ||||
| 	// TODO: Implement
 | ||||
| 	// Register servers
 | ||||
| 	// onboarding.RegisterMsgServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.keeper))
 | ||||
| 	onboarding.RegisterMsgServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.keeper)) | ||||
| 	// onboarding.RegisterQueryServer(cfg.QueryServer(), keeper.NewQueryServerImpl(am.keeper))
 | ||||
| 
 | ||||
| 	// Register in place module state migration migrations
 | ||||
| @ -82,7 +82,7 @@ func (am AppModule) RegisterServices(cfg module.Configurator) { | ||||
| 
 | ||||
| // DefaultGenesis returns default genesis state as raw bytes for the module.
 | ||||
| func (AppModule) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage { | ||||
| 	return cdc.MustMarshalJSON(onboarding.NewGenesisState()) | ||||
| 	return cdc.MustMarshalJSON(onboarding.DefaultGenesisState()) | ||||
| } | ||||
| 
 | ||||
| // ValidateGenesis performs genesis state validation for the circuit module.
 | ||||
|  | ||||
							
								
								
									
										27
									
								
								x/onboarding/msgs.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								x/onboarding/msgs.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | ||||
| package onboarding | ||||
| 
 | ||||
| import ( | ||||
| 	errorsmod "cosmossdk.io/errors" | ||||
| 	sdk "github.com/cosmos/cosmos-sdk/types" | ||||
| 	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" | ||||
| ) | ||||
| 
 | ||||
| var ( | ||||
| 	_ sdk.Msg = &MsgOnboardParticipant{} | ||||
| ) | ||||
| 
 | ||||
| func (msg MsgOnboardParticipant) ValidateBasic() error { | ||||
| 	if len(msg.Participant) == 0 { | ||||
| 		return errorsmod.Wrap(sdkerrors.ErrorInvalidSigner, msg.Participant) | ||||
| 	} | ||||
| 
 | ||||
| 	if len(msg.EthPayload.Address) != 42 { | ||||
| 		return errorsmod.Wrap(sdkerrors.ErrInvalidAddress, msg.Participant) | ||||
| 	} | ||||
| 
 | ||||
| 	if len(msg.EthSignature) != 132 { | ||||
| 		return errorsmod.Wrap(sdkerrors.ErrNoSignatures, "Invalid signature.") | ||||
| 	} | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
| @ -5,7 +5,6 @@ package onboarding | ||||
| 
 | ||||
| import ( | ||||
| 	fmt "fmt" | ||||
| 	_ "github.com/cosmos/cosmos-sdk/types" | ||||
| 	_ "github.com/cosmos/gogoproto/gogoproto" | ||||
| 	proto "github.com/cosmos/gogoproto/proto" | ||||
| 	io "io" | ||||
| @ -61,8 +60,116 @@ func (m *Params) XXX_DiscardUnknown() { | ||||
| 
 | ||||
| var xxx_messageInfo_Params proto.InternalMessageInfo | ||||
| 
 | ||||
| // Participant defines the data that will be stored for each enrolled participant
 | ||||
| type Participant struct { | ||||
| 	CosmosAddress   string `protobuf:"bytes,1,opt,name=cosmos_address,json=cosmosAddress,proto3" json:"cosmos_address,omitempty" json:"cosmos_address" yaml:"cosmos_address"` | ||||
| 	EthereumAddress string `protobuf:"bytes,2,opt,name=ethereum_address,json=ethereumAddress,proto3" json:"ethereum_address,omitempty" json:"ethereum_address" yaml:"ethereum_address"` | ||||
| } | ||||
| 
 | ||||
| func (m *Participant) Reset()         { *m = Participant{} } | ||||
| func (m *Participant) String() string { return proto.CompactTextString(m) } | ||||
| func (*Participant) ProtoMessage()    {} | ||||
| func (*Participant) Descriptor() ([]byte, []int) { | ||||
| 	return fileDescriptor_59afed779274eaf0, []int{1} | ||||
| } | ||||
| func (m *Participant) XXX_Unmarshal(b []byte) error { | ||||
| 	return m.Unmarshal(b) | ||||
| } | ||||
| func (m *Participant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||
| 	if deterministic { | ||||
| 		return xxx_messageInfo_Participant.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 *Participant) XXX_Merge(src proto.Message) { | ||||
| 	xxx_messageInfo_Participant.Merge(m, src) | ||||
| } | ||||
| func (m *Participant) XXX_Size() int { | ||||
| 	return m.Size() | ||||
| } | ||||
| func (m *Participant) XXX_DiscardUnknown() { | ||||
| 	xxx_messageInfo_Participant.DiscardUnknown(m) | ||||
| } | ||||
| 
 | ||||
| var xxx_messageInfo_Participant proto.InternalMessageInfo | ||||
| 
 | ||||
| func (m *Participant) GetCosmosAddress() string { | ||||
| 	if m != nil { | ||||
| 		return m.CosmosAddress | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (m *Participant) GetEthereumAddress() string { | ||||
| 	if m != nil { | ||||
| 		return m.EthereumAddress | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| // EthPayload defines the payload that is signed by the ethereum private key
 | ||||
| type EthPayload struct { | ||||
| 	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty" json:"address" yaml:"address"` | ||||
| 	Msg     string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty" json:"msg" yaml:"msg"` | ||||
| } | ||||
| 
 | ||||
| func (m *EthPayload) Reset()         { *m = EthPayload{} } | ||||
| func (m *EthPayload) String() string { return proto.CompactTextString(m) } | ||||
| func (*EthPayload) ProtoMessage()    {} | ||||
| func (*EthPayload) Descriptor() ([]byte, []int) { | ||||
| 	return fileDescriptor_59afed779274eaf0, []int{2} | ||||
| } | ||||
| func (m *EthPayload) XXX_Unmarshal(b []byte) error { | ||||
| 	return m.Unmarshal(b) | ||||
| } | ||||
| func (m *EthPayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||
| 	if deterministic { | ||||
| 		return xxx_messageInfo_EthPayload.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 *EthPayload) XXX_Merge(src proto.Message) { | ||||
| 	xxx_messageInfo_EthPayload.Merge(m, src) | ||||
| } | ||||
| func (m *EthPayload) XXX_Size() int { | ||||
| 	return m.Size() | ||||
| } | ||||
| func (m *EthPayload) XXX_DiscardUnknown() { | ||||
| 	xxx_messageInfo_EthPayload.DiscardUnknown(m) | ||||
| } | ||||
| 
 | ||||
| var xxx_messageInfo_EthPayload proto.InternalMessageInfo | ||||
| 
 | ||||
| func (m *EthPayload) GetAddress() string { | ||||
| 	if m != nil { | ||||
| 		return m.Address | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (m *EthPayload) GetMsg() string { | ||||
| 	if m != nil { | ||||
| 		return m.Msg | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func init() { | ||||
| 	proto.RegisterType((*Params)(nil), "cerc.onboarding.v1.Params") | ||||
| 	proto.RegisterType((*Participant)(nil), "cerc.onboarding.v1.Participant") | ||||
| 	proto.RegisterType((*EthPayload)(nil), "cerc.onboarding.v1.EthPayload") | ||||
| } | ||||
| 
 | ||||
| func init() { | ||||
| @ -70,18 +177,27 @@ func init() { | ||||
| } | ||||
| 
 | ||||
| var fileDescriptor_59afed779274eaf0 = []byte{ | ||||
| 	// 176 bytes of a gzipped FileDescriptorProto
 | ||||
| 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4e, 0x4e, 0x2d, 0x4a, | ||||
| 	0xd6, 0xcf, 0xcf, 0x4b, 0xca, 0x4f, 0x2c, 0x4a, 0xc9, 0xcc, 0x4b, 0xd7, 0x2f, 0x33, 0x44, 0xe2, | ||||
| 	0xe9, 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0x09, 0x81, 0x14, 0xe9, 0x21, 0x09, 0x97, 0x19, 0x4a, | ||||
| 	0x89, 0xa4, 0xe7, 0xa7, 0xe7, 0x83, 0xa5, 0xf5, 0x41, 0x2c, 0x88, 0x4a, 0x29, 0xb9, 0xe4, 0xfc, | ||||
| 	0xe2, 0xdc, 0xfc, 0x62, 0xfd, 0xa4, 0xc4, 0xe2, 0x54, 0xfd, 0x32, 0xc3, 0xa4, 0xd4, 0x92, 0x44, | ||||
| 	0x43, 0xfd, 0xe4, 0xfc, 0xcc, 0x3c, 0x88, 0xbc, 0x12, 0x07, 0x17, 0x5b, 0x40, 0x62, 0x51, 0x62, | ||||
| 	0x6e, 0xb1, 0x93, 0xd3, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, | ||||
| 	0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x69, 0xa4, | ||||
| 	0x67, 0x96, 0xe8, 0x95, 0xa5, 0x24, 0xe9, 0x95, 0xe4, 0xeb, 0x83, 0x2c, 0xd6, 0xcd, 0xcc, 0xd7, | ||||
| 	0xcf, 0x49, 0x4c, 0xce, 0xcf, 0xcb, 0x4c, 0x4e, 0xd1, 0xaf, 0x40, 0x72, 0x5d, 0x12, 0x1b, 0xd8, | ||||
| 	0x50, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x41, 0xff, 0xee, 0x2e, 0xc5, 0x00, 0x00, 0x00, | ||||
| 	// 313 bytes of a gzipped FileDescriptorProto
 | ||||
| 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x91, 0xcd, 0x4a, 0x03, 0x31, | ||||
| 	0x14, 0x85, 0x3b, 0x0a, 0x55, 0x23, 0xfe, 0x30, 0x28, 0xa8, 0x60, 0xa6, 0x8e, 0x9b, 0x42, 0x71, | ||||
| 	0x42, 0xe9, 0x4e, 0x57, 0x16, 0xdc, 0x97, 0x2e, 0x5c, 0xb8, 0x50, 0xd2, 0x64, 0x48, 0x23, 0xcd, | ||||
| 	0xdc, 0x92, 0xc4, 0xc1, 0xbe, 0x85, 0x2f, 0x25, 0xb8, 0xec, 0xd2, 0xd5, 0x20, 0xed, 0x1b, 0xcc, | ||||
| 	0x13, 0xc8, 0x34, 0x9d, 0x32, 0x6d, 0x77, 0xb9, 0xe7, 0x9e, 0xf3, 0xe5, 0xc2, 0x41, 0xb7, 0x2c, | ||||
| 	0xd6, 0x8c, 0x40, 0x32, 0x00, 0xaa, 0xb9, 0x4c, 0x04, 0x49, 0xdb, 0x95, 0x29, 0x1a, 0x6b, 0xb0, | ||||
| 	0xe0, 0xfb, 0x85, 0x29, 0xaa, 0xc8, 0x69, 0xfb, 0xea, 0x4c, 0x80, 0x80, 0xc5, 0x9a, 0x14, 0x2f, | ||||
| 	0xe7, 0x0c, 0xf7, 0x51, 0xbd, 0x47, 0x35, 0x55, 0x26, 0xfc, 0xf6, 0xd0, 0x61, 0x8f, 0x6a, 0x2b, | ||||
| 	0x99, 0x1c, 0xd3, 0xc4, 0xfa, 0xcf, 0xe8, 0x98, 0x81, 0x51, 0x60, 0xde, 0x28, 0xe7, 0x3a, 0x36, | ||||
| 	0xe6, 0xc2, 0x6b, 0x78, 0xcd, 0x83, 0x2e, 0xc9, 0xb3, 0xa0, 0xf5, 0x6e, 0x20, 0xb9, 0x0f, 0xd7, | ||||
| 	0xf7, 0x61, 0x63, 0x42, 0xd5, 0x68, 0x4b, 0xed, 0x1f, 0x39, 0xe1, 0xd1, 0xcd, 0xfe, 0x2b, 0x3a, | ||||
| 	0x8d, 0xed, 0x30, 0xd6, 0xf1, 0x87, 0x5a, 0x91, 0x77, 0x16, 0xe4, 0x4e, 0x9e, 0x05, 0xc4, 0x91, | ||||
| 	0x37, 0x1d, 0x25, 0x7b, 0x4b, 0xef, 0x9f, 0x94, 0xd2, 0x92, 0x1f, 0xa6, 0x08, 0x3d, 0xd9, 0x61, | ||||
| 	0x8f, 0x4e, 0x46, 0x40, 0xb9, 0xff, 0x80, 0xf6, 0xd6, 0xcf, 0xbf, 0xc9, 0xb3, 0xe0, 0xda, 0x7d, | ||||
| 	0xb2, 0xc1, 0x5e, 0x21, 0xcb, 0x84, 0xdf, 0x42, 0xbb, 0xca, 0x88, 0xe5, 0x75, 0x97, 0x79, 0x16, | ||||
| 	0x9c, 0xbb, 0xa0, 0x32, 0xa2, 0x0c, 0x15, 0xcf, 0x7e, 0xe1, 0xea, 0x76, 0x7f, 0x66, 0xd8, 0x9b, | ||||
| 	0xce, 0xb0, 0xf7, 0x37, 0xc3, 0xde, 0xd7, 0x1c, 0xd7, 0xa6, 0x73, 0x5c, 0xfb, 0x9d, 0xe3, 0xda, | ||||
| 	0x4b, 0x53, 0x48, 0x1b, 0xa5, 0x7c, 0x10, 0x59, 0x20, 0x45, 0x31, 0x77, 0x12, 0xc8, 0x88, 0x32, | ||||
| 	0x48, 0x24, 0xe3, 0xe4, 0xb3, 0xd2, 0xde, 0xa0, 0xbe, 0x28, 0xa5, 0xf3, 0x1f, 0x00, 0x00, 0xff, | ||||
| 	0xff, 0x48, 0x0e, 0x81, 0xbf, 0xe5, 0x01, 0x00, 0x00, | ||||
| } | ||||
| 
 | ||||
| func (m *Params) Marshal() (dAtA []byte, err error) { | ||||
| @ -107,6 +223,80 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { | ||||
| 	return len(dAtA) - i, nil | ||||
| } | ||||
| 
 | ||||
| func (m *Participant) 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 *Participant) MarshalTo(dAtA []byte) (int, error) { | ||||
| 	size := m.Size() | ||||
| 	return m.MarshalToSizedBuffer(dAtA[:size]) | ||||
| } | ||||
| 
 | ||||
| func (m *Participant) MarshalToSizedBuffer(dAtA []byte) (int, error) { | ||||
| 	i := len(dAtA) | ||||
| 	_ = i | ||||
| 	var l int | ||||
| 	_ = l | ||||
| 	if len(m.EthereumAddress) > 0 { | ||||
| 		i -= len(m.EthereumAddress) | ||||
| 		copy(dAtA[i:], m.EthereumAddress) | ||||
| 		i = encodeVarintOnboarding(dAtA, i, uint64(len(m.EthereumAddress))) | ||||
| 		i-- | ||||
| 		dAtA[i] = 0x12 | ||||
| 	} | ||||
| 	if len(m.CosmosAddress) > 0 { | ||||
| 		i -= len(m.CosmosAddress) | ||||
| 		copy(dAtA[i:], m.CosmosAddress) | ||||
| 		i = encodeVarintOnboarding(dAtA, i, uint64(len(m.CosmosAddress))) | ||||
| 		i-- | ||||
| 		dAtA[i] = 0xa | ||||
| 	} | ||||
| 	return len(dAtA) - i, nil | ||||
| } | ||||
| 
 | ||||
| func (m *EthPayload) 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 *EthPayload) MarshalTo(dAtA []byte) (int, error) { | ||||
| 	size := m.Size() | ||||
| 	return m.MarshalToSizedBuffer(dAtA[:size]) | ||||
| } | ||||
| 
 | ||||
| func (m *EthPayload) MarshalToSizedBuffer(dAtA []byte) (int, error) { | ||||
| 	i := len(dAtA) | ||||
| 	_ = i | ||||
| 	var l int | ||||
| 	_ = l | ||||
| 	if len(m.Msg) > 0 { | ||||
| 		i -= len(m.Msg) | ||||
| 		copy(dAtA[i:], m.Msg) | ||||
| 		i = encodeVarintOnboarding(dAtA, i, uint64(len(m.Msg))) | ||||
| 		i-- | ||||
| 		dAtA[i] = 0x12 | ||||
| 	} | ||||
| 	if len(m.Address) > 0 { | ||||
| 		i -= len(m.Address) | ||||
| 		copy(dAtA[i:], m.Address) | ||||
| 		i = encodeVarintOnboarding(dAtA, i, uint64(len(m.Address))) | ||||
| 		i-- | ||||
| 		dAtA[i] = 0xa | ||||
| 	} | ||||
| 	return len(dAtA) - i, nil | ||||
| } | ||||
| 
 | ||||
| func encodeVarintOnboarding(dAtA []byte, offset int, v uint64) int { | ||||
| 	offset -= sovOnboarding(v) | ||||
| 	base := offset | ||||
| @ -127,6 +317,40 @@ func (m *Params) Size() (n int) { | ||||
| 	return n | ||||
| } | ||||
| 
 | ||||
| func (m *Participant) Size() (n int) { | ||||
| 	if m == nil { | ||||
| 		return 0 | ||||
| 	} | ||||
| 	var l int | ||||
| 	_ = l | ||||
| 	l = len(m.CosmosAddress) | ||||
| 	if l > 0 { | ||||
| 		n += 1 + l + sovOnboarding(uint64(l)) | ||||
| 	} | ||||
| 	l = len(m.EthereumAddress) | ||||
| 	if l > 0 { | ||||
| 		n += 1 + l + sovOnboarding(uint64(l)) | ||||
| 	} | ||||
| 	return n | ||||
| } | ||||
| 
 | ||||
| func (m *EthPayload) Size() (n int) { | ||||
| 	if m == nil { | ||||
| 		return 0 | ||||
| 	} | ||||
| 	var l int | ||||
| 	_ = l | ||||
| 	l = len(m.Address) | ||||
| 	if l > 0 { | ||||
| 		n += 1 + l + sovOnboarding(uint64(l)) | ||||
| 	} | ||||
| 	l = len(m.Msg) | ||||
| 	if l > 0 { | ||||
| 		n += 1 + l + sovOnboarding(uint64(l)) | ||||
| 	} | ||||
| 	return n | ||||
| } | ||||
| 
 | ||||
| func sovOnboarding(x uint64) (n int) { | ||||
| 	return (math_bits.Len64(x|1) + 6) / 7 | ||||
| } | ||||
| @ -183,6 +407,234 @@ func (m *Params) Unmarshal(dAtA []byte) error { | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| func (m *Participant) 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 ErrIntOverflowOnboarding | ||||
| 			} | ||||
| 			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: Participant: wiretype end group for non-group") | ||||
| 		} | ||||
| 		if fieldNum <= 0 { | ||||
| 			return fmt.Errorf("proto: Participant: illegal tag %d (wire type %d)", fieldNum, wire) | ||||
| 		} | ||||
| 		switch fieldNum { | ||||
| 		case 1: | ||||
| 			if wireType != 2 { | ||||
| 				return fmt.Errorf("proto: wrong wireType = %d for field CosmosAddress", wireType) | ||||
| 			} | ||||
| 			var stringLen uint64 | ||||
| 			for shift := uint(0); ; shift += 7 { | ||||
| 				if shift >= 64 { | ||||
| 					return ErrIntOverflowOnboarding | ||||
| 				} | ||||
| 				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 ErrInvalidLengthOnboarding | ||||
| 			} | ||||
| 			postIndex := iNdEx + intStringLen | ||||
| 			if postIndex < 0 { | ||||
| 				return ErrInvalidLengthOnboarding | ||||
| 			} | ||||
| 			if postIndex > l { | ||||
| 				return io.ErrUnexpectedEOF | ||||
| 			} | ||||
| 			m.CosmosAddress = string(dAtA[iNdEx:postIndex]) | ||||
| 			iNdEx = postIndex | ||||
| 		case 2: | ||||
| 			if wireType != 2 { | ||||
| 				return fmt.Errorf("proto: wrong wireType = %d for field EthereumAddress", wireType) | ||||
| 			} | ||||
| 			var stringLen uint64 | ||||
| 			for shift := uint(0); ; shift += 7 { | ||||
| 				if shift >= 64 { | ||||
| 					return ErrIntOverflowOnboarding | ||||
| 				} | ||||
| 				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 ErrInvalidLengthOnboarding | ||||
| 			} | ||||
| 			postIndex := iNdEx + intStringLen | ||||
| 			if postIndex < 0 { | ||||
| 				return ErrInvalidLengthOnboarding | ||||
| 			} | ||||
| 			if postIndex > l { | ||||
| 				return io.ErrUnexpectedEOF | ||||
| 			} | ||||
| 			m.EthereumAddress = string(dAtA[iNdEx:postIndex]) | ||||
| 			iNdEx = postIndex | ||||
| 		default: | ||||
| 			iNdEx = preIndex | ||||
| 			skippy, err := skipOnboarding(dAtA[iNdEx:]) | ||||
| 			if err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| 			if (skippy < 0) || (iNdEx+skippy) < 0 { | ||||
| 				return ErrInvalidLengthOnboarding | ||||
| 			} | ||||
| 			if (iNdEx + skippy) > l { | ||||
| 				return io.ErrUnexpectedEOF | ||||
| 			} | ||||
| 			iNdEx += skippy | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if iNdEx > l { | ||||
| 		return io.ErrUnexpectedEOF | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| func (m *EthPayload) 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 ErrIntOverflowOnboarding | ||||
| 			} | ||||
| 			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: EthPayload: wiretype end group for non-group") | ||||
| 		} | ||||
| 		if fieldNum <= 0 { | ||||
| 			return fmt.Errorf("proto: EthPayload: illegal tag %d (wire type %d)", fieldNum, wire) | ||||
| 		} | ||||
| 		switch fieldNum { | ||||
| 		case 1: | ||||
| 			if wireType != 2 { | ||||
| 				return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) | ||||
| 			} | ||||
| 			var stringLen uint64 | ||||
| 			for shift := uint(0); ; shift += 7 { | ||||
| 				if shift >= 64 { | ||||
| 					return ErrIntOverflowOnboarding | ||||
| 				} | ||||
| 				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 ErrInvalidLengthOnboarding | ||||
| 			} | ||||
| 			postIndex := iNdEx + intStringLen | ||||
| 			if postIndex < 0 { | ||||
| 				return ErrInvalidLengthOnboarding | ||||
| 			} | ||||
| 			if postIndex > l { | ||||
| 				return io.ErrUnexpectedEOF | ||||
| 			} | ||||
| 			m.Address = string(dAtA[iNdEx:postIndex]) | ||||
| 			iNdEx = postIndex | ||||
| 		case 2: | ||||
| 			if wireType != 2 { | ||||
| 				return fmt.Errorf("proto: wrong wireType = %d for field Msg", wireType) | ||||
| 			} | ||||
| 			var stringLen uint64 | ||||
| 			for shift := uint(0); ; shift += 7 { | ||||
| 				if shift >= 64 { | ||||
| 					return ErrIntOverflowOnboarding | ||||
| 				} | ||||
| 				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 ErrInvalidLengthOnboarding | ||||
| 			} | ||||
| 			postIndex := iNdEx + intStringLen | ||||
| 			if postIndex < 0 { | ||||
| 				return ErrInvalidLengthOnboarding | ||||
| 			} | ||||
| 			if postIndex > l { | ||||
| 				return io.ErrUnexpectedEOF | ||||
| 			} | ||||
| 			m.Msg = string(dAtA[iNdEx:postIndex]) | ||||
| 			iNdEx = postIndex | ||||
| 		default: | ||||
| 			iNdEx = preIndex | ||||
| 			skippy, err := skipOnboarding(dAtA[iNdEx:]) | ||||
| 			if err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| 			if (skippy < 0) || (iNdEx+skippy) < 0 { | ||||
| 				return ErrInvalidLengthOnboarding | ||||
| 			} | ||||
| 			if (iNdEx + skippy) > l { | ||||
| 				return io.ErrUnexpectedEOF | ||||
| 			} | ||||
| 			iNdEx += skippy | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if iNdEx > l { | ||||
| 		return io.ErrUnexpectedEOF | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| func skipOnboarding(dAtA []byte) (n int, err error) { | ||||
| 	l := len(dAtA) | ||||
| 	iNdEx := 0 | ||||
|  | ||||
							
								
								
									
										36
									
								
								x/onboarding/query.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								x/onboarding/query.pb.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | ||||
| // Code generated by protoc-gen-gogo. DO NOT EDIT.
 | ||||
| // source: cerc/onboarding/v1/query.proto
 | ||||
| 
 | ||||
| package onboarding | ||||
| 
 | ||||
| import ( | ||||
| 	fmt "fmt" | ||||
| 	proto "github.com/cosmos/gogoproto/proto" | ||||
| 	math "math" | ||||
| ) | ||||
| 
 | ||||
| // Reference imports to suppress errors if they are not otherwise used.
 | ||||
| var _ = proto.Marshal | ||||
| var _ = fmt.Errorf | ||||
| var _ = math.Inf | ||||
| 
 | ||||
| // This is a compile-time assertion to ensure that this generated file
 | ||||
| // is compatible with the proto package it is being compiled against.
 | ||||
| // A compilation error at this line likely means your copy of the
 | ||||
| // proto package needs to be updated.
 | ||||
| const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
 | ||||
| 
 | ||||
| func init() { proto.RegisterFile("cerc/onboarding/v1/query.proto", fileDescriptor_80831d904221d27d) } | ||||
| 
 | ||||
| var fileDescriptor_80831d904221d27d = []byte{ | ||||
| 	// 130 bytes of a gzipped FileDescriptorProto
 | ||||
| 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0x4e, 0x2d, 0x4a, | ||||
| 	0xd6, 0xcf, 0xcf, 0x4b, 0xca, 0x4f, 0x2c, 0x4a, 0xc9, 0xcc, 0x4b, 0xd7, 0x2f, 0x33, 0xd4, 0x2f, | ||||
| 	0x2c, 0x4d, 0x2d, 0xaa, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x02, 0xc9, 0xeb, 0x21, | ||||
| 	0xe4, 0xf5, 0xca, 0x0c, 0x9d, 0x9c, 0x4e, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, | ||||
| 	0x23, 0x39, 0xc6, 0x09, 0x8f, 0xe5, 0x18, 0x2e, 0x3c, 0x96, 0x63, 0xb8, 0xf1, 0x58, 0x8e, 0x21, | ||||
| 	0x4a, 0x23, 0x3d, 0xb3, 0x44, 0xaf, 0x2c, 0x25, 0x49, 0xaf, 0x24, 0x5f, 0x1f, 0xa4, 0x51, 0x37, | ||||
| 	0x33, 0x5f, 0x3f, 0x27, 0x31, 0x39, 0x3f, 0x2f, 0x33, 0x39, 0x45, 0xbf, 0x02, 0xc9, 0x9a, 0x24, | ||||
| 	0x36, 0xb0, 0xf1, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x63, 0x20, 0xf3, 0xc5, 0x80, 0x00, | ||||
| 	0x00, 0x00, | ||||
| } | ||||
							
								
								
									
										695
									
								
								x/onboarding/tx.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										695
									
								
								x/onboarding/tx.pb.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,695 @@ | ||||
| // Code generated by protoc-gen-gogo. DO NOT EDIT.
 | ||||
| // source: cerc/onboarding/v1/tx.proto
 | ||||
| 
 | ||||
| package onboarding | ||||
| 
 | ||||
| import ( | ||||
| 	context "context" | ||||
| 	fmt "fmt" | ||||
| 	_ "github.com/cosmos/cosmos-sdk/types/msgservice" | ||||
| 	_ "github.com/cosmos/gogoproto/gogoproto" | ||||
| 	grpc1 "github.com/cosmos/gogoproto/grpc" | ||||
| 	proto "github.com/cosmos/gogoproto/proto" | ||||
| 	_ "google.golang.org/genproto/googleapis/api/annotations" | ||||
| 	grpc "google.golang.org/grpc" | ||||
| 	codes "google.golang.org/grpc/codes" | ||||
| 	status "google.golang.org/grpc/status" | ||||
| 	io "io" | ||||
| 	math "math" | ||||
| 	math_bits "math/bits" | ||||
| ) | ||||
| 
 | ||||
| // Reference imports to suppress errors if they are not otherwise used.
 | ||||
| var _ = proto.Marshal | ||||
| var _ = fmt.Errorf | ||||
| var _ = math.Inf | ||||
| 
 | ||||
| // This is a compile-time assertion to ensure that this generated file
 | ||||
| // is compatible with the proto package it is being compiled against.
 | ||||
| // A compilation error at this line likely means your copy of the
 | ||||
| // proto package needs to be updated.
 | ||||
| const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
 | ||||
| 
 | ||||
| // MsgOnboardParticipant defines a SDK message for enrolling a new validator.
 | ||||
| type MsgOnboardParticipant struct { | ||||
| 	// Participant is the msg sender
 | ||||
| 	Participant  string     `protobuf:"bytes,1,opt,name=participant,proto3" json:"participant,omitempty"` | ||||
| 	EthPayload   EthPayload `protobuf:"bytes,2,opt,name=eth_payload,json=ethPayload,proto3" json:"eth_payload"` | ||||
| 	EthSignature string     `protobuf:"bytes,3,opt,name=eth_signature,json=ethSignature,proto3" json:"eth_signature,omitempty"` | ||||
| 	Message      string     `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (m *MsgOnboardParticipant) Reset()         { *m = MsgOnboardParticipant{} } | ||||
| func (m *MsgOnboardParticipant) String() string { return proto.CompactTextString(m) } | ||||
| func (*MsgOnboardParticipant) ProtoMessage()    {} | ||||
| func (*MsgOnboardParticipant) Descriptor() ([]byte, []int) { | ||||
| 	return fileDescriptor_6bfde34a550e231e, []int{0} | ||||
| } | ||||
| func (m *MsgOnboardParticipant) XXX_Unmarshal(b []byte) error { | ||||
| 	return m.Unmarshal(b) | ||||
| } | ||||
| func (m *MsgOnboardParticipant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||
| 	if deterministic { | ||||
| 		return xxx_messageInfo_MsgOnboardParticipant.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 *MsgOnboardParticipant) XXX_Merge(src proto.Message) { | ||||
| 	xxx_messageInfo_MsgOnboardParticipant.Merge(m, src) | ||||
| } | ||||
| func (m *MsgOnboardParticipant) XXX_Size() int { | ||||
| 	return m.Size() | ||||
| } | ||||
| func (m *MsgOnboardParticipant) XXX_DiscardUnknown() { | ||||
| 	xxx_messageInfo_MsgOnboardParticipant.DiscardUnknown(m) | ||||
| } | ||||
| 
 | ||||
| var xxx_messageInfo_MsgOnboardParticipant proto.InternalMessageInfo | ||||
| 
 | ||||
| func (m *MsgOnboardParticipant) GetParticipant() string { | ||||
| 	if m != nil { | ||||
| 		return m.Participant | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (m *MsgOnboardParticipant) GetEthPayload() EthPayload { | ||||
| 	if m != nil { | ||||
| 		return m.EthPayload | ||||
| 	} | ||||
| 	return EthPayload{} | ||||
| } | ||||
| 
 | ||||
| func (m *MsgOnboardParticipant) GetEthSignature() string { | ||||
| 	if m != nil { | ||||
| 		return m.EthSignature | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (m *MsgOnboardParticipant) GetMessage() string { | ||||
| 	if m != nil { | ||||
| 		return m.Message | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| // MsgOnboardParticipantResponse defines the Msg/OnboardParticipant response type.
 | ||||
| type MsgOnboardParticipantResponse struct { | ||||
| } | ||||
| 
 | ||||
| func (m *MsgOnboardParticipantResponse) Reset()         { *m = MsgOnboardParticipantResponse{} } | ||||
| func (m *MsgOnboardParticipantResponse) String() string { return proto.CompactTextString(m) } | ||||
| func (*MsgOnboardParticipantResponse) ProtoMessage()    {} | ||||
| func (*MsgOnboardParticipantResponse) Descriptor() ([]byte, []int) { | ||||
| 	return fileDescriptor_6bfde34a550e231e, []int{1} | ||||
| } | ||||
| func (m *MsgOnboardParticipantResponse) XXX_Unmarshal(b []byte) error { | ||||
| 	return m.Unmarshal(b) | ||||
| } | ||||
| func (m *MsgOnboardParticipantResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||
| 	if deterministic { | ||||
| 		return xxx_messageInfo_MsgOnboardParticipantResponse.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 *MsgOnboardParticipantResponse) XXX_Merge(src proto.Message) { | ||||
| 	xxx_messageInfo_MsgOnboardParticipantResponse.Merge(m, src) | ||||
| } | ||||
| func (m *MsgOnboardParticipantResponse) XXX_Size() int { | ||||
| 	return m.Size() | ||||
| } | ||||
| func (m *MsgOnboardParticipantResponse) XXX_DiscardUnknown() { | ||||
| 	xxx_messageInfo_MsgOnboardParticipantResponse.DiscardUnknown(m) | ||||
| } | ||||
| 
 | ||||
| var xxx_messageInfo_MsgOnboardParticipantResponse proto.InternalMessageInfo | ||||
| 
 | ||||
| func init() { | ||||
| 	proto.RegisterType((*MsgOnboardParticipant)(nil), "cerc.onboarding.v1.MsgOnboardParticipant") | ||||
| 	proto.RegisterType((*MsgOnboardParticipantResponse)(nil), "cerc.onboarding.v1.MsgOnboardParticipantResponse") | ||||
| } | ||||
| 
 | ||||
| func init() { proto.RegisterFile("cerc/onboarding/v1/tx.proto", fileDescriptor_6bfde34a550e231e) } | ||||
| 
 | ||||
| var fileDescriptor_6bfde34a550e231e = []byte{ | ||||
| 	// 384 bytes of a gzipped FileDescriptorProto
 | ||||
| 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x51, 0xc1, 0x8a, 0x1a, 0x41, | ||||
| 	0x14, 0x9c, 0x56, 0x93, 0x90, 0x36, 0x81, 0xd0, 0x24, 0x64, 0x98, 0x24, 0xa3, 0x8c, 0x87, 0xa8, | ||||
| 	0x90, 0x69, 0x34, 0xb7, 0x1c, 0x05, 0x8f, 0x12, 0x31, 0xb7, 0x5c, 0xa4, 0x9d, 0x69, 0xda, 0x06, | ||||
| 	0xa7, 0xdf, 0x30, 0xdd, 0x11, 0x73, 0x0b, 0x7e, 0x41, 0x60, 0x3f, 0x61, 0x7f, 0x40, 0xf6, 0x2b, | ||||
| 	0x3c, 0xba, 0xec, 0x65, 0x4f, 0xcb, 0xa2, 0x0b, 0xfe, 0xc6, 0xe2, 0xa8, 0xeb, 0xc0, 0xce, 0xc2, | ||||
| 	0xde, 0xde, 0xab, 0x2a, 0xaa, 0x5e, 0xf1, 0xf0, 0xa7, 0x80, 0x27, 0x01, 0x05, 0x35, 0x02, 0x96, | ||||
| 	0x84, 0x52, 0x09, 0x3a, 0x6d, 0x51, 0x33, 0xf3, 0xe3, 0x04, 0x0c, 0x10, 0xb2, 0x23, 0xfd, 0x13, | ||||
| 	0xe9, 0x4f, 0x5b, 0xce, 0xc7, 0x00, 0x74, 0x04, 0x9a, 0x46, 0x3a, 0xd5, 0x46, 0x5a, 0xec, 0xc5, | ||||
| 	0xce, 0x67, 0x01, 0x20, 0x26, 0x9c, 0xb2, 0x58, 0x52, 0xa6, 0x14, 0x18, 0x66, 0x24, 0x28, 0x7d, | ||||
| 	0x60, 0xdf, 0x0b, 0x10, 0x90, 0x8e, 0x74, 0x37, 0x1d, 0xd0, 0x5a, 0x4e, 0x7a, 0x26, 0x2e, 0x15, | ||||
| 	0x79, 0x97, 0x08, 0x7f, 0xe8, 0x69, 0xf1, 0x73, 0x8f, 0xf7, 0x59, 0x62, 0x64, 0x20, 0x63, 0xa6, | ||||
| 	0x0c, 0xa9, 0xe2, 0x72, 0x7c, 0x5a, 0x6d, 0x54, 0x45, 0xf5, 0xd7, 0x83, 0x2c, 0x44, 0xba, 0xb8, | ||||
| 	0xcc, 0xcd, 0x78, 0x18, 0xb3, 0xbf, 0x13, 0x60, 0xa1, 0x5d, 0xa8, 0xa2, 0x7a, 0xb9, 0xed, 0xfa, | ||||
| 	0x8f, 0x7b, 0xf9, 0x5d, 0x33, 0xee, 0xef, 0x55, 0x9d, 0xd2, 0xf2, 0xa6, 0x62, 0x0d, 0x30, 0x7f, | ||||
| 	0x40, 0x48, 0x0d, 0xbf, 0xdd, 0xd9, 0x68, 0x29, 0x14, 0x33, 0x7f, 0x12, 0x6e, 0x17, 0xd3, 0xa8, | ||||
| 	0x37, 0xdc, 0x8c, 0x7f, 0x1d, 0x31, 0x62, 0xe3, 0x57, 0x11, 0xd7, 0x9a, 0x09, 0x6e, 0x97, 0x52, | ||||
| 	0xfa, 0xb8, 0xfe, 0x78, 0x37, 0xdf, 0x2e, 0x9a, 0xd9, 0xbb, 0xbc, 0x0a, 0xfe, 0x92, 0x5b, 0x69, | ||||
| 	0xc0, 0x75, 0x0c, 0x4a, 0xf3, 0xf6, 0x05, 0xc2, 0xc5, 0x9e, 0x16, 0xe4, 0x1c, 0x61, 0x92, 0xd3, | ||||
| 	0xbc, 0x91, 0x57, 0x21, 0xd7, 0xd1, 0x69, 0x3d, 0x5b, 0x7a, 0x0c, 0xf7, 0xe8, 0xfc, 0xea, 0xee, | ||||
| 	0xac, 0xd0, 0xf0, 0xbe, 0xd2, 0xa7, 0xff, 0x33, 0xcc, 0xd4, 0x71, 0x5e, 0xfc, 0xdb, 0x2e, 0x9a, | ||||
| 	0xa8, 0xd3, 0x59, 0xae, 0x5d, 0xb4, 0x5a, 0xbb, 0xe8, 0x76, 0xed, 0xa2, 0xff, 0x1b, 0xd7, 0x5a, | ||||
| 	0x6d, 0x5c, 0xeb, 0x7a, 0xe3, 0x5a, 0xbf, 0xeb, 0x42, 0x1a, 0x7f, 0x1a, 0x8e, 0x7c, 0x03, 0xa9, | ||||
| 	0xe7, 0x37, 0x09, 0x74, 0xc2, 0x02, 0x50, 0x32, 0x08, 0xe9, 0x2c, 0x93, 0x30, 0x7a, 0x99, 0x3e, | ||||
| 	0xfd, 0xfb, 0x7d, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4c, 0xe2, 0xe0, 0x84, 0x99, 0x02, 0x00, 0x00, | ||||
| } | ||||
| 
 | ||||
| // Reference imports to suppress errors if they are not otherwise used.
 | ||||
| var _ context.Context | ||||
| var _ grpc.ClientConn | ||||
| 
 | ||||
| // This is a compile-time assertion to ensure that this generated file
 | ||||
| // is compatible with the grpc package it is being compiled against.
 | ||||
| const _ = grpc.SupportPackageIsVersion4 | ||||
| 
 | ||||
| // MsgClient is the client API for Msg service.
 | ||||
| //
 | ||||
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
 | ||||
| type MsgClient interface { | ||||
| 	// OnboardParticipant defines a method for enrolling a new validator.
 | ||||
| 	OnboardParticipant(ctx context.Context, in *MsgOnboardParticipant, opts ...grpc.CallOption) (*MsgOnboardParticipantResponse, error) | ||||
| } | ||||
| 
 | ||||
| type msgClient struct { | ||||
| 	cc grpc1.ClientConn | ||||
| } | ||||
| 
 | ||||
| func NewMsgClient(cc grpc1.ClientConn) MsgClient { | ||||
| 	return &msgClient{cc} | ||||
| } | ||||
| 
 | ||||
| func (c *msgClient) OnboardParticipant(ctx context.Context, in *MsgOnboardParticipant, opts ...grpc.CallOption) (*MsgOnboardParticipantResponse, error) { | ||||
| 	out := new(MsgOnboardParticipantResponse) | ||||
| 	err := c.cc.Invoke(ctx, "/cerc.onboarding.v1.Msg/OnboardParticipant", in, out, opts...) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	return out, nil | ||||
| } | ||||
| 
 | ||||
| // MsgServer is the server API for Msg service.
 | ||||
| type MsgServer interface { | ||||
| 	// OnboardParticipant defines a method for enrolling a new validator.
 | ||||
| 	OnboardParticipant(context.Context, *MsgOnboardParticipant) (*MsgOnboardParticipantResponse, error) | ||||
| } | ||||
| 
 | ||||
| // UnimplementedMsgServer can be embedded to have forward compatible implementations.
 | ||||
| type UnimplementedMsgServer struct { | ||||
| } | ||||
| 
 | ||||
| func (*UnimplementedMsgServer) OnboardParticipant(ctx context.Context, req *MsgOnboardParticipant) (*MsgOnboardParticipantResponse, error) { | ||||
| 	return nil, status.Errorf(codes.Unimplemented, "method OnboardParticipant not implemented") | ||||
| } | ||||
| 
 | ||||
| func RegisterMsgServer(s grpc1.Server, srv MsgServer) { | ||||
| 	s.RegisterService(&_Msg_serviceDesc, srv) | ||||
| } | ||||
| 
 | ||||
| func _Msg_OnboardParticipant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||
| 	in := new(MsgOnboardParticipant) | ||||
| 	if err := dec(in); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if interceptor == nil { | ||||
| 		return srv.(MsgServer).OnboardParticipant(ctx, in) | ||||
| 	} | ||||
| 	info := &grpc.UnaryServerInfo{ | ||||
| 		Server:     srv, | ||||
| 		FullMethod: "/cerc.onboarding.v1.Msg/OnboardParticipant", | ||||
| 	} | ||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||
| 		return srv.(MsgServer).OnboardParticipant(ctx, req.(*MsgOnboardParticipant)) | ||||
| 	} | ||||
| 	return interceptor(ctx, in, info, handler) | ||||
| } | ||||
| 
 | ||||
| var _Msg_serviceDesc = grpc.ServiceDesc{ | ||||
| 	ServiceName: "cerc.onboarding.v1.Msg", | ||||
| 	HandlerType: (*MsgServer)(nil), | ||||
| 	Methods: []grpc.MethodDesc{ | ||||
| 		{ | ||||
| 			MethodName: "OnboardParticipant", | ||||
| 			Handler:    _Msg_OnboardParticipant_Handler, | ||||
| 		}, | ||||
| 	}, | ||||
| 	Streams:  []grpc.StreamDesc{}, | ||||
| 	Metadata: "cerc/onboarding/v1/tx.proto", | ||||
| } | ||||
| 
 | ||||
| func (m *MsgOnboardParticipant) 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 *MsgOnboardParticipant) MarshalTo(dAtA []byte) (int, error) { | ||||
| 	size := m.Size() | ||||
| 	return m.MarshalToSizedBuffer(dAtA[:size]) | ||||
| } | ||||
| 
 | ||||
| func (m *MsgOnboardParticipant) MarshalToSizedBuffer(dAtA []byte) (int, error) { | ||||
| 	i := len(dAtA) | ||||
| 	_ = i | ||||
| 	var l int | ||||
| 	_ = l | ||||
| 	if len(m.Message) > 0 { | ||||
| 		i -= len(m.Message) | ||||
| 		copy(dAtA[i:], m.Message) | ||||
| 		i = encodeVarintTx(dAtA, i, uint64(len(m.Message))) | ||||
| 		i-- | ||||
| 		dAtA[i] = 0x22 | ||||
| 	} | ||||
| 	if len(m.EthSignature) > 0 { | ||||
| 		i -= len(m.EthSignature) | ||||
| 		copy(dAtA[i:], m.EthSignature) | ||||
| 		i = encodeVarintTx(dAtA, i, uint64(len(m.EthSignature))) | ||||
| 		i-- | ||||
| 		dAtA[i] = 0x1a | ||||
| 	} | ||||
| 	{ | ||||
| 		size, err := m.EthPayload.MarshalToSizedBuffer(dAtA[:i]) | ||||
| 		if err != nil { | ||||
| 			return 0, err | ||||
| 		} | ||||
| 		i -= size | ||||
| 		i = encodeVarintTx(dAtA, i, uint64(size)) | ||||
| 	} | ||||
| 	i-- | ||||
| 	dAtA[i] = 0x12 | ||||
| 	if len(m.Participant) > 0 { | ||||
| 		i -= len(m.Participant) | ||||
| 		copy(dAtA[i:], m.Participant) | ||||
| 		i = encodeVarintTx(dAtA, i, uint64(len(m.Participant))) | ||||
| 		i-- | ||||
| 		dAtA[i] = 0xa | ||||
| 	} | ||||
| 	return len(dAtA) - i, nil | ||||
| } | ||||
| 
 | ||||
| func (m *MsgOnboardParticipantResponse) 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 *MsgOnboardParticipantResponse) MarshalTo(dAtA []byte) (int, error) { | ||||
| 	size := m.Size() | ||||
| 	return m.MarshalToSizedBuffer(dAtA[:size]) | ||||
| } | ||||
| 
 | ||||
| func (m *MsgOnboardParticipantResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { | ||||
| 	i := len(dAtA) | ||||
| 	_ = i | ||||
| 	var l int | ||||
| 	_ = l | ||||
| 	return len(dAtA) - i, nil | ||||
| } | ||||
| 
 | ||||
| func encodeVarintTx(dAtA []byte, offset int, v uint64) int { | ||||
| 	offset -= sovTx(v) | ||||
| 	base := offset | ||||
| 	for v >= 1<<7 { | ||||
| 		dAtA[offset] = uint8(v&0x7f | 0x80) | ||||
| 		v >>= 7 | ||||
| 		offset++ | ||||
| 	} | ||||
| 	dAtA[offset] = uint8(v) | ||||
| 	return base | ||||
| } | ||||
| func (m *MsgOnboardParticipant) Size() (n int) { | ||||
| 	if m == nil { | ||||
| 		return 0 | ||||
| 	} | ||||
| 	var l int | ||||
| 	_ = l | ||||
| 	l = len(m.Participant) | ||||
| 	if l > 0 { | ||||
| 		n += 1 + l + sovTx(uint64(l)) | ||||
| 	} | ||||
| 	l = m.EthPayload.Size() | ||||
| 	n += 1 + l + sovTx(uint64(l)) | ||||
| 	l = len(m.EthSignature) | ||||
| 	if l > 0 { | ||||
| 		n += 1 + l + sovTx(uint64(l)) | ||||
| 	} | ||||
| 	l = len(m.Message) | ||||
| 	if l > 0 { | ||||
| 		n += 1 + l + sovTx(uint64(l)) | ||||
| 	} | ||||
| 	return n | ||||
| } | ||||
| 
 | ||||
| func (m *MsgOnboardParticipantResponse) Size() (n int) { | ||||
| 	if m == nil { | ||||
| 		return 0 | ||||
| 	} | ||||
| 	var l int | ||||
| 	_ = l | ||||
| 	return n | ||||
| } | ||||
| 
 | ||||
| func sovTx(x uint64) (n int) { | ||||
| 	return (math_bits.Len64(x|1) + 6) / 7 | ||||
| } | ||||
| func sozTx(x uint64) (n int) { | ||||
| 	return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) | ||||
| } | ||||
| func (m *MsgOnboardParticipant) 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: MsgOnboardParticipant: wiretype end group for non-group") | ||||
| 		} | ||||
| 		if fieldNum <= 0 { | ||||
| 			return fmt.Errorf("proto: MsgOnboardParticipant: illegal tag %d (wire type %d)", fieldNum, wire) | ||||
| 		} | ||||
| 		switch fieldNum { | ||||
| 		case 1: | ||||
| 			if wireType != 2 { | ||||
| 				return fmt.Errorf("proto: wrong wireType = %d for field Participant", 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.Participant = string(dAtA[iNdEx:postIndex]) | ||||
| 			iNdEx = postIndex | ||||
| 		case 2: | ||||
| 			if wireType != 2 { | ||||
| 				return fmt.Errorf("proto: wrong wireType = %d for field EthPayload", 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.EthPayload.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| 			iNdEx = postIndex | ||||
| 		case 3: | ||||
| 			if wireType != 2 { | ||||
| 				return fmt.Errorf("proto: wrong wireType = %d for field EthSignature", 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.EthSignature = string(dAtA[iNdEx:postIndex]) | ||||
| 			iNdEx = postIndex | ||||
| 		case 4: | ||||
| 			if wireType != 2 { | ||||
| 				return fmt.Errorf("proto: wrong wireType = %d for field Message", 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.Message = 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 *MsgOnboardParticipantResponse) 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: MsgOnboardParticipantResponse: wiretype end group for non-group") | ||||
| 		} | ||||
| 		if fieldNum <= 0 { | ||||
| 			return fmt.Errorf("proto: MsgOnboardParticipantResponse: 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 skipTx(dAtA []byte) (n int, err error) { | ||||
| 	l := len(dAtA) | ||||
| 	iNdEx := 0 | ||||
| 	depth := 0 | ||||
| 	for iNdEx < l { | ||||
| 		var wire uint64 | ||||
| 		for shift := uint(0); ; shift += 7 { | ||||
| 			if shift >= 64 { | ||||
| 				return 0, ErrIntOverflowTx | ||||
| 			} | ||||
| 			if iNdEx >= l { | ||||
| 				return 0, io.ErrUnexpectedEOF | ||||
| 			} | ||||
| 			b := dAtA[iNdEx] | ||||
| 			iNdEx++ | ||||
| 			wire |= (uint64(b) & 0x7F) << shift | ||||
| 			if b < 0x80 { | ||||
| 				break | ||||
| 			} | ||||
| 		} | ||||
| 		wireType := int(wire & 0x7) | ||||
| 		switch wireType { | ||||
| 		case 0: | ||||
| 			for shift := uint(0); ; shift += 7 { | ||||
| 				if shift >= 64 { | ||||
| 					return 0, ErrIntOverflowTx | ||||
| 				} | ||||
| 				if iNdEx >= l { | ||||
| 					return 0, io.ErrUnexpectedEOF | ||||
| 				} | ||||
| 				iNdEx++ | ||||
| 				if dAtA[iNdEx-1] < 0x80 { | ||||
| 					break | ||||
| 				} | ||||
| 			} | ||||
| 		case 1: | ||||
| 			iNdEx += 8 | ||||
| 		case 2: | ||||
| 			var length int | ||||
| 			for shift := uint(0); ; shift += 7 { | ||||
| 				if shift >= 64 { | ||||
| 					return 0, ErrIntOverflowTx | ||||
| 				} | ||||
| 				if iNdEx >= l { | ||||
| 					return 0, io.ErrUnexpectedEOF | ||||
| 				} | ||||
| 				b := dAtA[iNdEx] | ||||
| 				iNdEx++ | ||||
| 				length |= (int(b) & 0x7F) << shift | ||||
| 				if b < 0x80 { | ||||
| 					break | ||||
| 				} | ||||
| 			} | ||||
| 			if length < 0 { | ||||
| 				return 0, ErrInvalidLengthTx | ||||
| 			} | ||||
| 			iNdEx += length | ||||
| 		case 3: | ||||
| 			depth++ | ||||
| 		case 4: | ||||
| 			if depth == 0 { | ||||
| 				return 0, ErrUnexpectedEndOfGroupTx | ||||
| 			} | ||||
| 			depth-- | ||||
| 		case 5: | ||||
| 			iNdEx += 4 | ||||
| 		default: | ||||
| 			return 0, fmt.Errorf("proto: illegal wireType %d", wireType) | ||||
| 		} | ||||
| 		if iNdEx < 0 { | ||||
| 			return 0, ErrInvalidLengthTx | ||||
| 		} | ||||
| 		if depth == 0 { | ||||
| 			return iNdEx, nil | ||||
| 		} | ||||
| 	} | ||||
| 	return 0, io.ErrUnexpectedEOF | ||||
| } | ||||
| 
 | ||||
| var ( | ||||
| 	ErrInvalidLengthTx        = fmt.Errorf("proto: negative length found during unmarshaling") | ||||
| 	ErrIntOverflowTx          = fmt.Errorf("proto: integer overflow") | ||||
| 	ErrUnexpectedEndOfGroupTx = fmt.Errorf("proto: unexpected end of group") | ||||
| ) | ||||
							
								
								
									
										171
									
								
								x/onboarding/tx.pb.gw.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										171
									
								
								x/onboarding/tx.pb.gw.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,171 @@ | ||||
| // Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
 | ||||
| // source: cerc/onboarding/v1/tx.proto
 | ||||
| 
 | ||||
| /* | ||||
| Package onboarding is a reverse proxy. | ||||
| 
 | ||||
| It translates gRPC into RESTful JSON APIs. | ||||
| */ | ||||
| package onboarding | ||||
| 
 | ||||
| import ( | ||||
| 	"context" | ||||
| 	"io" | ||||
| 	"net/http" | ||||
| 
 | ||||
| 	"github.com/golang/protobuf/descriptor" | ||||
| 	"github.com/golang/protobuf/proto" | ||||
| 	"github.com/grpc-ecosystem/grpc-gateway/runtime" | ||||
| 	"github.com/grpc-ecosystem/grpc-gateway/utilities" | ||||
| 	"google.golang.org/grpc" | ||||
| 	"google.golang.org/grpc/codes" | ||||
| 	"google.golang.org/grpc/grpclog" | ||||
| 	"google.golang.org/grpc/metadata" | ||||
| 	"google.golang.org/grpc/status" | ||||
| ) | ||||
| 
 | ||||
| // Suppress "imported and not used" errors
 | ||||
| var _ codes.Code | ||||
| var _ io.Reader | ||||
| var _ status.Status | ||||
| var _ = runtime.String | ||||
| var _ = utilities.NewDoubleArray | ||||
| var _ = descriptor.ForMessage | ||||
| var _ = metadata.Join | ||||
| 
 | ||||
| var ( | ||||
| 	filter_Msg_OnboardParticipant_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} | ||||
| ) | ||||
| 
 | ||||
| func request_Msg_OnboardParticipant_0(ctx context.Context, marshaler runtime.Marshaler, client MsgClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||
| 	var protoReq MsgOnboardParticipant | ||||
| 	var metadata runtime.ServerMetadata | ||||
| 
 | ||||
| 	if err := req.ParseForm(); err != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) | ||||
| 	} | ||||
| 	if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Msg_OnboardParticipant_0); err != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	msg, err := client.OnboardParticipant(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) | ||||
| 	return msg, metadata, err | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func local_request_Msg_OnboardParticipant_0(ctx context.Context, marshaler runtime.Marshaler, server MsgServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||
| 	var protoReq MsgOnboardParticipant | ||||
| 	var metadata runtime.ServerMetadata | ||||
| 
 | ||||
| 	if err := req.ParseForm(); err != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) | ||||
| 	} | ||||
| 	if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Msg_OnboardParticipant_0); err != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	msg, err := server.OnboardParticipant(ctx, &protoReq) | ||||
| 	return msg, metadata, err | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| // RegisterMsgHandlerServer registers the http handlers for service Msg to "mux".
 | ||||
| // UnaryRPC     :call MsgServer directly.
 | ||||
| // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
 | ||||
| // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterMsgHandlerFromEndpoint instead.
 | ||||
| func RegisterMsgHandlerServer(ctx context.Context, mux *runtime.ServeMux, server MsgServer) error { | ||||
| 
 | ||||
| 	mux.Handle("POST", pattern_Msg_OnboardParticipant_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_Msg_OnboardParticipant_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_Msg_OnboardParticipant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // RegisterMsgHandlerFromEndpoint is same as RegisterMsgHandler but
 | ||||
| // automatically dials to "endpoint" and closes the connection when "ctx" gets done.
 | ||||
| func RegisterMsgHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { | ||||
| 	conn, err := grpc.Dial(endpoint, opts...) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	defer func() { | ||||
| 		if err != nil { | ||||
| 			if cerr := conn.Close(); cerr != nil { | ||||
| 				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) | ||||
| 			} | ||||
| 			return | ||||
| 		} | ||||
| 		go func() { | ||||
| 			<-ctx.Done() | ||||
| 			if cerr := conn.Close(); cerr != nil { | ||||
| 				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) | ||||
| 			} | ||||
| 		}() | ||||
| 	}() | ||||
| 
 | ||||
| 	return RegisterMsgHandler(ctx, mux, conn) | ||||
| } | ||||
| 
 | ||||
| // RegisterMsgHandler registers the http handlers for service Msg to "mux".
 | ||||
| // The handlers forward requests to the grpc endpoint over "conn".
 | ||||
| func RegisterMsgHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { | ||||
| 	return RegisterMsgHandlerClient(ctx, mux, NewMsgClient(conn)) | ||||
| } | ||||
| 
 | ||||
| // RegisterMsgHandlerClient registers the http handlers for service Msg
 | ||||
| // to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "MsgClient".
 | ||||
| // Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "MsgClient"
 | ||||
| // doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
 | ||||
| // "MsgClient" to call the correct interceptors.
 | ||||
| func RegisterMsgHandlerClient(ctx context.Context, mux *runtime.ServeMux, client MsgClient) error { | ||||
| 
 | ||||
| 	mux.Handle("POST", pattern_Msg_OnboardParticipant_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_Msg_OnboardParticipant_0(rctx, inboundMarshaler, client, req, pathParams) | ||||
| 		ctx = runtime.NewServerMetadataContext(ctx, md) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		forward_Msg_OnboardParticipant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| var ( | ||||
| 	pattern_Msg_OnboardParticipant_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cerc", "onboarding", "v1", "onboard_participant"}, "", runtime.AssumeColonVerbOpt(false))) | ||||
| ) | ||||
| 
 | ||||
| var ( | ||||
| 	forward_Msg_OnboardParticipant_0 = runtime.ForwardResponseMessage | ||||
| ) | ||||
| @ -52,21 +52,21 @@ func NewAppModuleBasic(m AppModule) module.AppModuleBasic { | ||||
| 
 | ||||
| // module.AppModuleBasic
 | ||||
| 
 | ||||
| // Name returns the checkers module's name.
 | ||||
| // Name returns the registry module's name.
 | ||||
| func (AppModule) Name() string { return registrytypes.ModuleName } | ||||
| 
 | ||||
| // RegisterLegacyAminoCodec registers the checkers module's types on the LegacyAmino codec.
 | ||||
| // RegisterLegacyAminoCodec registers the registry module's types on the LegacyAmino codec.
 | ||||
| // New modules do not need to support Amino.
 | ||||
| func (AppModule) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) {} | ||||
| 
 | ||||
| // RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the checkers module.
 | ||||
| // RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the registry module.
 | ||||
| func (AppModule) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *gwruntime.ServeMux) { | ||||
| 	if err := registrytypes.RegisterQueryHandlerClient(context.Background(), mux, registrytypes.NewQueryClient(clientCtx)); err != nil { | ||||
| 		panic(err) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // RegisterInterfaces registers interfaces and implementations of the checkers module.
 | ||||
| // RegisterInterfaces registers interfaces and implementations of the registry module.
 | ||||
| func (AppModule) RegisterInterfaces(registry codectypes.InterfaceRegistry) { | ||||
| 	registrytypes.RegisterInterfaces(registry) | ||||
| } | ||||
| @ -91,7 +91,7 @@ func (AppModule) ValidateGenesis(cdc codec.JSONCodec, _ client.TxEncodingConfig, | ||||
| 	return data.Validate() | ||||
| } | ||||
| 
 | ||||
| // InitGenesis performs genesis initialization for the checkers module.
 | ||||
| // InitGenesis performs genesis initialization for the registry module.
 | ||||
| // It returns no validator updates.
 | ||||
| func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, data json.RawMessage) { | ||||
| 	var genesisState registrytypes.GenesisState | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user