diff --git a/pkg/mlsvalidate/service.go b/pkg/mlsvalidate/service.go index df2fb373..4bc19536 100644 --- a/pkg/mlsvalidate/service.go +++ b/pkg/mlsvalidate/service.go @@ -42,7 +42,6 @@ type IdentityInput struct { type MLSValidationService interface { ValidateInboxIdKeyPackages(ctx context.Context, keyPackages [][]byte) ([]InboxIdValidationResult, error) - ValidateV3KeyPackages(ctx context.Context, keyPackages [][]byte) ([]IdentityValidationResult, error) ValidateGroupMessages(ctx context.Context, groupMessages []*mlsv1.GroupMessageInput) ([]GroupMessageValidationResult, error) GetAssociationState(ctx context.Context, oldUpdates []*associations.IdentityUpdate, newUpdates []*associations.IdentityUpdate) (*AssociationStateResult, error) VerifySmartContractWalletSignatures(ctx context.Context, req *identity.VerifySmartContractWalletSignaturesRequest) (*identity.VerifySmartContractWalletSignaturesResponse, error) @@ -110,30 +109,6 @@ func (s *MLSValidationServiceImpl) ValidateInboxIdKeyPackages(ctx context.Contex return out, nil } -func (s *MLSValidationServiceImpl) ValidateV3KeyPackages(ctx context.Context, keyPackages [][]byte) ([]IdentityValidationResult, error) { - req := makeValidateKeyPackageRequest(keyPackages, false) - - response, err := s.grpcClient.ValidateKeyPackages(ctx, req) - if err != nil { - return nil, err - } - - out := make([]IdentityValidationResult, len(response.Responses)) - for i, response := range response.Responses { - if !response.IsOk { - return nil, fmt.Errorf("validation failed with error %s", response.ErrorMessage) - } - out[i] = IdentityValidationResult{ - AccountAddress: response.AccountAddress, - InstallationKey: response.InstallationId, - CredentialIdentity: response.CredentialIdentityBytes, - Expiration: response.Expiration, - } - } - - return out, nil -} - func makeValidateKeyPackageRequest(keyPackageBytes [][]byte, isInboxIdCredential bool) *svc.ValidateKeyPackagesRequest { keyPackageRequests := make([]*svc.ValidateKeyPackagesRequest_KeyPackage, len(keyPackageBytes)) for i, keyPackage := range keyPackageBytes { diff --git a/pkg/mlsvalidate/service_test.go b/pkg/mlsvalidate/service_test.go index 3a0f40b4..ad557f6e 100644 --- a/pkg/mlsvalidate/service_test.go +++ b/pkg/mlsvalidate/service_test.go @@ -58,31 +58,6 @@ func getMockedService() (*MockedGRPCService, MLSValidationService) { return mockService, service } -func TestValidateKeyPackages(t *testing.T) { - mockGrpc, service := getMockedService() - - ctx := context.Background() - - firstResponse := svc.ValidateKeyPackagesResponse_ValidationResponse{ - IsOk: true, - AccountAddress: "0x123", - InstallationId: []byte("123"), - CredentialIdentityBytes: []byte("456"), - ErrorMessage: "", - } - - mockGrpc.On("ValidateKeyPackages", ctx, mock.Anything).Return(&svc.ValidateKeyPackagesResponse{ - Responses: []*svc.ValidateKeyPackagesResponse_ValidationResponse{&firstResponse}, - }, nil) - - res, err := service.ValidateV3KeyPackages(ctx, nil) - assert.NoError(t, err) - assert.Equal(t, 1, len(res)) - assert.Equal(t, "0x123", res[0].AccountAddress) - assert.Equal(t, []byte("123"), res[0].InstallationKey) - assert.Equal(t, []byte("456"), res[0].CredentialIdentity) -} - func TestValidateInboxIdKeyPackages(t *testing.T) { mockGrpc, service := getMockedService() diff --git a/pkg/mocks/mock_MLSValidationService.go b/pkg/mocks/mock_MLSValidationService.go index 909e8a65..0fb611d7 100644 --- a/pkg/mocks/mock_MLSValidationService.go +++ b/pkg/mocks/mock_MLSValidationService.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.44.1. DO NOT EDIT. +// Code generated by mockery v2.50.0. DO NOT EDIT. package mocks @@ -206,65 +206,6 @@ func (_c *MockMLSValidationService_ValidateInboxIdKeyPackages_Call) RunAndReturn return _c } -// ValidateV3KeyPackages provides a mock function with given fields: ctx, keyPackages -func (_m *MockMLSValidationService) ValidateV3KeyPackages(ctx context.Context, keyPackages [][]byte) ([]mlsvalidate.IdentityValidationResult, error) { - ret := _m.Called(ctx, keyPackages) - - if len(ret) == 0 { - panic("no return value specified for ValidateV3KeyPackages") - } - - var r0 []mlsvalidate.IdentityValidationResult - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, [][]byte) ([]mlsvalidate.IdentityValidationResult, error)); ok { - return rf(ctx, keyPackages) - } - if rf, ok := ret.Get(0).(func(context.Context, [][]byte) []mlsvalidate.IdentityValidationResult); ok { - r0 = rf(ctx, keyPackages) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).([]mlsvalidate.IdentityValidationResult) - } - } - - if rf, ok := ret.Get(1).(func(context.Context, [][]byte) error); ok { - r1 = rf(ctx, keyPackages) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// MockMLSValidationService_ValidateV3KeyPackages_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ValidateV3KeyPackages' -type MockMLSValidationService_ValidateV3KeyPackages_Call struct { - *mock.Call -} - -// ValidateV3KeyPackages is a helper method to define mock.On call -// - ctx context.Context -// - keyPackages [][]byte -func (_e *MockMLSValidationService_Expecter) ValidateV3KeyPackages(ctx interface{}, keyPackages interface{}) *MockMLSValidationService_ValidateV3KeyPackages_Call { - return &MockMLSValidationService_ValidateV3KeyPackages_Call{Call: _e.mock.On("ValidateV3KeyPackages", ctx, keyPackages)} -} - -func (_c *MockMLSValidationService_ValidateV3KeyPackages_Call) Run(run func(ctx context.Context, keyPackages [][]byte)) *MockMLSValidationService_ValidateV3KeyPackages_Call { - _c.Call.Run(func(args mock.Arguments) { - run(args[0].(context.Context), args[1].([][]byte)) - }) - return _c -} - -func (_c *MockMLSValidationService_ValidateV3KeyPackages_Call) Return(_a0 []mlsvalidate.IdentityValidationResult, _a1 error) *MockMLSValidationService_ValidateV3KeyPackages_Call { - _c.Call.Return(_a0, _a1) - return _c -} - -func (_c *MockMLSValidationService_ValidateV3KeyPackages_Call) RunAndReturn(run func(context.Context, [][]byte) ([]mlsvalidate.IdentityValidationResult, error)) *MockMLSValidationService_ValidateV3KeyPackages_Call { - _c.Call.Return(run) - return _c -} - // VerifySmartContractWalletSignatures provides a mock function with given fields: ctx, req func (_m *MockMLSValidationService) VerifySmartContractWalletSignatures(ctx context.Context, req *v1.VerifySmartContractWalletSignaturesRequest) (*v1.VerifySmartContractWalletSignaturesResponse, error) { ret := _m.Called(ctx, req) diff --git a/pkg/mocks/mock_MlsApi_SubscribeGroupMessagesServer.go b/pkg/mocks/mock_MlsApi_SubscribeGroupMessagesServer.go index 4dff2846..09e72761 100644 --- a/pkg/mocks/mock_MlsApi_SubscribeGroupMessagesServer.go +++ b/pkg/mocks/mock_MlsApi_SubscribeGroupMessagesServer.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.44.1. DO NOT EDIT. +// Code generated by mockery v2.50.0. DO NOT EDIT. package mocks @@ -25,7 +25,7 @@ func (_m *MockMlsApi_SubscribeGroupMessagesServer) EXPECT() *MockMlsApi_Subscrib return &MockMlsApi_SubscribeGroupMessagesServer_Expecter{mock: &_m.Mock} } -// Context provides a mock function with given fields: +// Context provides a mock function with no fields func (_m *MockMlsApi_SubscribeGroupMessagesServer) Context() context.Context { ret := _m.Called() @@ -331,7 +331,7 @@ func (_c *MockMlsApi_SubscribeGroupMessagesServer_SetTrailer_Call) Return() *Moc } func (_c *MockMlsApi_SubscribeGroupMessagesServer_SetTrailer_Call) RunAndReturn(run func(metadata.MD)) *MockMlsApi_SubscribeGroupMessagesServer_SetTrailer_Call { - _c.Call.Return(run) + _c.Run(run) return _c } diff --git a/pkg/mocks/mock_MlsApi_SubscribeWelcomeMessagesServer.go b/pkg/mocks/mock_MlsApi_SubscribeWelcomeMessagesServer.go index eddbd98c..2260bcc4 100644 --- a/pkg/mocks/mock_MlsApi_SubscribeWelcomeMessagesServer.go +++ b/pkg/mocks/mock_MlsApi_SubscribeWelcomeMessagesServer.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.44.1. DO NOT EDIT. +// Code generated by mockery v2.50.0. DO NOT EDIT. package mocks @@ -25,7 +25,7 @@ func (_m *MockMlsApi_SubscribeWelcomeMessagesServer) EXPECT() *MockMlsApi_Subscr return &MockMlsApi_SubscribeWelcomeMessagesServer_Expecter{mock: &_m.Mock} } -// Context provides a mock function with given fields: +// Context provides a mock function with no fields func (_m *MockMlsApi_SubscribeWelcomeMessagesServer) Context() context.Context { ret := _m.Called() @@ -331,7 +331,7 @@ func (_c *MockMlsApi_SubscribeWelcomeMessagesServer_SetTrailer_Call) Return() *M } func (_c *MockMlsApi_SubscribeWelcomeMessagesServer_SetTrailer_Call) RunAndReturn(run func(metadata.MD)) *MockMlsApi_SubscribeWelcomeMessagesServer_SetTrailer_Call { - _c.Call.Return(run) + _c.Run(run) return _c } diff --git a/pkg/proto/identity/api/v1/identity.pb.go b/pkg/proto/identity/api/v1/identity.pb.go index 8db581f0..7fce4294 100644 --- a/pkg/proto/identity/api/v1/identity.pb.go +++ b/pkg/proto/identity/api/v1/identity.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: identity/api/v1/identity.proto @@ -26,11 +26,10 @@ const ( ) type VerifySmartContractWalletSignaturesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Signatures []*VerifySmartContractWalletSignatureRequestSignature `protobuf:"bytes,1,rep,name=signatures,proto3" json:"signatures,omitempty"` unknownFields protoimpl.UnknownFields - - Signatures []*VerifySmartContractWalletSignatureRequestSignature `protobuf:"bytes,1,rep,name=signatures,proto3" json:"signatures,omitempty"` + sizeCache protoimpl.SizeCache } func (x *VerifySmartContractWalletSignaturesRequest) Reset() { @@ -71,18 +70,17 @@ func (x *VerifySmartContractWalletSignaturesRequest) GetSignatures() []*VerifySm } type VerifySmartContractWalletSignatureRequestSignature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // CAIP-10 string // https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-10.md AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` // Specify the block number to verify the signature against BlockNumber *uint64 `protobuf:"varint,2,opt,name=block_number,json=blockNumber,proto3,oneof" json:"block_number,omitempty"` // The signature bytes - Signature []byte `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` - Hash []byte `protobuf:"bytes,4,opt,name=hash,proto3" json:"hash,omitempty"` + Signature []byte `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` + Hash []byte `protobuf:"bytes,4,opt,name=hash,proto3" json:"hash,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *VerifySmartContractWalletSignatureRequestSignature) Reset() { @@ -144,11 +142,10 @@ func (x *VerifySmartContractWalletSignatureRequestSignature) GetHash() []byte { } type VerifySmartContractWalletSignaturesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*VerifySmartContractWalletSignaturesResponse_ValidationResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` unknownFields protoimpl.UnknownFields - - Responses []*VerifySmartContractWalletSignaturesResponse_ValidationResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + sizeCache protoimpl.SizeCache } func (x *VerifySmartContractWalletSignaturesResponse) Reset() { @@ -190,11 +187,10 @@ func (x *VerifySmartContractWalletSignaturesResponse) GetResponses() []*VerifySm // Publishes an identity update to the network type PublishIdentityUpdateRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` IdentityUpdate *associations.IdentityUpdate `protobuf:"bytes,1,opt,name=identity_update,json=identityUpdate,proto3" json:"identity_update,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PublishIdentityUpdateRequest) Reset() { @@ -236,9 +232,9 @@ func (x *PublishIdentityUpdateRequest) GetIdentityUpdate() *associations.Identit // The response when an identity update is published type PublishIdentityUpdateResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PublishIdentityUpdateResponse) Reset() { @@ -273,11 +269,10 @@ func (*PublishIdentityUpdateResponse) Descriptor() ([]byte, []int) { // Get all updates for an identity since the specified time type GetIdentityUpdatesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Requests []*GetIdentityUpdatesRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` unknownFields protoimpl.UnknownFields - - Requests []*GetIdentityUpdatesRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetIdentityUpdatesRequest) Reset() { @@ -319,11 +314,10 @@ func (x *GetIdentityUpdatesRequest) GetRequests() []*GetIdentityUpdatesRequest_R // Returns all log entries for the requested identities type GetIdentityUpdatesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*GetIdentityUpdatesResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` unknownFields protoimpl.UnknownFields - - Responses []*GetIdentityUpdatesResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetIdentityUpdatesResponse) Reset() { @@ -365,11 +359,10 @@ func (x *GetIdentityUpdatesResponse) GetResponses() []*GetIdentityUpdatesRespons // Request to retrieve the XIDs for the given addresses type GetInboxIdsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Requests []*GetInboxIdsRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` unknownFields protoimpl.UnknownFields - - Requests []*GetInboxIdsRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetInboxIdsRequest) Reset() { @@ -411,11 +404,10 @@ func (x *GetInboxIdsRequest) GetRequests() []*GetInboxIdsRequest_Request { // Response with the XIDs for the requested addresses type GetInboxIdsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*GetInboxIdsResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` unknownFields protoimpl.UnknownFields - - Responses []*GetInboxIdsResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetInboxIdsResponse) Reset() { @@ -456,13 +448,12 @@ func (x *GetInboxIdsResponse) GetResponses() []*GetInboxIdsResponse_Response { } type VerifySmartContractWalletSignaturesResponse_ValidationResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + IsValid bool `protobuf:"varint,1,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"` + BlockNumber *uint64 `protobuf:"varint,2,opt,name=block_number,json=blockNumber,proto3,oneof" json:"block_number,omitempty"` + Error *string `protobuf:"bytes,3,opt,name=error,proto3,oneof" json:"error,omitempty"` unknownFields protoimpl.UnknownFields - - IsValid bool `protobuf:"varint,1,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"` - BlockNumber *uint64 `protobuf:"varint,2,opt,name=block_number,json=blockNumber,proto3,oneof" json:"block_number,omitempty"` - Error *string `protobuf:"bytes,3,opt,name=error,proto3,oneof" json:"error,omitempty"` + sizeCache protoimpl.SizeCache } func (x *VerifySmartContractWalletSignaturesResponse_ValidationResponse) Reset() { @@ -519,12 +510,11 @@ func (x *VerifySmartContractWalletSignaturesResponse_ValidationResponse) GetErro // Points to the last entry the client has received. The sequence_id should be // set to 0 if the client has not received anything. type GetIdentityUpdatesRequest_Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + InboxId string `protobuf:"bytes,1,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` + SequenceId uint64 `protobuf:"varint,2,opt,name=sequence_id,json=sequenceId,proto3" json:"sequence_id,omitempty"` unknownFields protoimpl.UnknownFields - - InboxId string `protobuf:"bytes,1,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` - SequenceId uint64 `protobuf:"varint,2,opt,name=sequence_id,json=sequenceId,proto3" json:"sequence_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetIdentityUpdatesRequest_Request) Reset() { @@ -573,13 +563,12 @@ func (x *GetIdentityUpdatesRequest_Request) GetSequenceId() uint64 { // A single entry in the XID log on the server. type GetIdentityUpdatesResponse_IdentityUpdateLog struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` SequenceId uint64 `protobuf:"varint,1,opt,name=sequence_id,json=sequenceId,proto3" json:"sequence_id,omitempty"` ServerTimestampNs uint64 `protobuf:"varint,2,opt,name=server_timestamp_ns,json=serverTimestampNs,proto3" json:"server_timestamp_ns,omitempty"` Update *associations.IdentityUpdate `protobuf:"bytes,3,opt,name=update,proto3" json:"update,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetIdentityUpdatesResponse_IdentityUpdateLog) Reset() { @@ -635,12 +624,11 @@ func (x *GetIdentityUpdatesResponse_IdentityUpdateLog) GetUpdate() *associations // The update log for a single identity, starting after the last cursor type GetIdentityUpdatesResponse_Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + InboxId string `protobuf:"bytes,1,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` + Updates []*GetIdentityUpdatesResponse_IdentityUpdateLog `protobuf:"bytes,2,rep,name=updates,proto3" json:"updates,omitempty"` unknownFields protoimpl.UnknownFields - - InboxId string `protobuf:"bytes,1,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` - Updates []*GetIdentityUpdatesResponse_IdentityUpdateLog `protobuf:"bytes,2,rep,name=updates,proto3" json:"updates,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetIdentityUpdatesResponse_Response) Reset() { @@ -689,11 +677,10 @@ func (x *GetIdentityUpdatesResponse_Response) GetUpdates() []*GetIdentityUpdates // A single request for a given address type GetInboxIdsRequest_Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` unknownFields protoimpl.UnknownFields - - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetInboxIdsRequest_Request) Reset() { @@ -735,12 +722,11 @@ func (x *GetInboxIdsRequest_Request) GetAddress() string { // A single response for a given address type GetInboxIdsResponse_Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + InboxId *string `protobuf:"bytes,2,opt,name=inbox_id,json=inboxId,proto3,oneof" json:"inbox_id,omitempty"` unknownFields protoimpl.UnknownFields - - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - InboxId *string `protobuf:"bytes,2,opt,name=inbox_id,json=inboxId,proto3,oneof" json:"inbox_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetInboxIdsResponse_Response) Reset() { @@ -797,184 +783,181 @@ var file_identity_api_v1_identity_proto_rawDesc = []byte{ 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, - 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x01, 0x0a, 0x2a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, - 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, - 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0xbe, 0x01, - 0x0a, 0x32, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, + 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, + 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x01, + 0x0a, 0x2a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, - 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xb1, - 0x02, 0x0a, 0x2b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, - 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x54, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, - 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x73, 0x1a, 0x8d, 0x01, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x22, 0x73, 0x0a, 0x1c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x53, 0x0a, 0x0f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x1f, 0x0a, 0x1d, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x0a, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x48, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, + 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, + 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x32, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, + 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0c, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xb1, 0x02, 0x0a, 0x2b, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, + 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x78, 0x6d, 0x74, + 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x8d, 0x01, 0x0a, 0x12, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x26, 0x0a, + 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x73, 0x0a, 0x1c, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x0f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x22, 0x1f, 0x0a, 0x1d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x53, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x1a, 0x45, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0a, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, 0xa6, 0x03, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x45, 0x0a, 0x07, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, - 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x49, 0x64, 0x22, 0xa6, 0x03, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x57, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0xa8, 0x01, 0x0a, 0x11, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, - 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, - 0x73, 0x12, 0x42, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x83, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x5c, 0x0a, - 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, - 0x6f, 0x67, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, - 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, - 0x1a, 0x23, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, - 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, - 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, - 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, - 0x51, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, - 0x69, 0x64, 0x32, 0xe3, 0x05, 0x0a, 0x0b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, - 0x70, 0x69, 0x12, 0xb1, 0x01, 0x0a, 0x15, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x33, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, - 0x22, 0x24, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x2d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2d, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0xa5, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2f, 0x2e, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x74, 0x2d, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x89, - 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x12, 0x28, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x73, 0x1a, 0xa8, 0x01, 0x0a, 0x11, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, + 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, + 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x83, + 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, + 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, + 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x5c, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x07, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, + 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x08, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x23, 0x0a, 0x07, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xba, + 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, + 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x51, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, + 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x32, 0xe3, 0x05, 0x0a, 0x0b, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x70, 0x69, 0x12, 0xb1, 0x01, 0x0a, 0x15, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x78, 0x6d, 0x74, 0x70, + 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x2d, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, + 0xa5, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x26, 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, + 0x76, 0x31, 0x2f, 0x67, 0x65, 0x74, 0x2d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2d, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x49, + 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x12, 0x28, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, + 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x74, 0x2d, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x2d, + 0x69, 0x64, 0x73, 0x12, 0xeb, 0x01, 0x0a, 0x23, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, + 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, + 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x40, 0x2e, 0x78, 0x6d, + 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, 0x01, 0x2a, 0x22, 0x34, 0x2f, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, + 0x2d, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2d, + 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2d, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x42, 0xf1, 0x01, 0x92, 0x41, 0x14, 0x12, 0x12, 0x0a, 0x0b, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x41, 0x70, 0x69, 0x32, 0x03, 0x31, 0x2e, 0x30, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, - 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x74, - 0x2d, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x2d, 0x69, 0x64, 0x73, 0x12, 0xeb, 0x01, 0x0a, 0x23, 0x56, - 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x12, 0x40, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, - 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, - 0x01, 0x2a, 0x22, 0x34, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x31, - 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2d, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x2d, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2d, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x2d, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, 0xf1, 0x01, 0x92, 0x41, 0x14, 0x12, 0x12, - 0x0a, 0x0b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x70, 0x69, 0x32, 0x03, 0x31, - 0x2e, 0x30, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x42, 0x0d, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x78, - 0x6d, 0x74, 0x70, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x58, 0x49, - 0x41, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x5c, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0xe2, - 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, - 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x17, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x42, 0x0d, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2d, 0x6e, 0x6f, 0x64, + 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x3b, 0x61, + 0x70, 0x69, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x58, 0x49, 0x41, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, + 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, + 0x31, 0xca, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x58, 0x6d, + 0x74, 0x70, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x3a, 0x41, 0x70, + 0x69, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pkg/proto/identity/associations/association.pb.go b/pkg/proto/identity/associations/association.pb.go index cb2b338c..f4f9d858 100644 --- a/pkg/proto/identity/associations/association.pb.go +++ b/pkg/proto/identity/associations/association.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: identity/associations/association.proto @@ -24,15 +24,14 @@ const ( // The identifier for a member of an XID type MemberIdentifier struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *MemberIdentifier_Address // *MemberIdentifier_InstallationPublicKey - Kind isMemberIdentifier_Kind `protobuf_oneof:"kind"` + Kind isMemberIdentifier_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MemberIdentifier) Reset() { @@ -65,23 +64,27 @@ func (*MemberIdentifier) Descriptor() ([]byte, []int) { return file_identity_associations_association_proto_rawDescGZIP(), []int{0} } -func (m *MemberIdentifier) GetKind() isMemberIdentifier_Kind { - if m != nil { - return m.Kind +func (x *MemberIdentifier) GetKind() isMemberIdentifier_Kind { + if x != nil { + return x.Kind } return nil } func (x *MemberIdentifier) GetAddress() string { - if x, ok := x.GetKind().(*MemberIdentifier_Address); ok { - return x.Address + if x != nil { + if x, ok := x.Kind.(*MemberIdentifier_Address); ok { + return x.Address + } } return "" } func (x *MemberIdentifier) GetInstallationPublicKey() []byte { - if x, ok := x.GetKind().(*MemberIdentifier_InstallationPublicKey); ok { - return x.InstallationPublicKey + if x != nil { + if x, ok := x.Kind.(*MemberIdentifier_InstallationPublicKey); ok { + return x.InstallationPublicKey + } } return nil } @@ -104,13 +107,13 @@ func (*MemberIdentifier_InstallationPublicKey) isMemberIdentifier_Kind() {} // single member that optionally indicates the member that added them type Member struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Identifier *MemberIdentifier `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` - AddedByEntity *MemberIdentifier `protobuf:"bytes,2,opt,name=added_by_entity,json=addedByEntity,proto3,oneof" json:"added_by_entity,omitempty"` - ClientTimestampNs *uint64 `protobuf:"varint,3,opt,name=client_timestamp_ns,json=clientTimestampNs,proto3,oneof" json:"client_timestamp_ns,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Identifier *MemberIdentifier `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` + AddedByEntity *MemberIdentifier `protobuf:"bytes,2,opt,name=added_by_entity,json=addedByEntity,proto3,oneof" json:"added_by_entity,omitempty"` + ClientTimestampNs *uint64 `protobuf:"varint,3,opt,name=client_timestamp_ns,json=clientTimestampNs,proto3,oneof" json:"client_timestamp_ns,omitempty"` + AddedOnChainId *uint64 `protobuf:"varint,4,opt,name=added_on_chain_id,json=addedOnChainId,proto3,oneof" json:"added_on_chain_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Member) Reset() { @@ -164,18 +167,24 @@ func (x *Member) GetClientTimestampNs() uint64 { return 0 } +func (x *Member) GetAddedOnChainId() uint64 { + if x != nil && x.AddedOnChainId != nil { + return *x.AddedOnChainId + } + return 0 +} + // The first entry of any XID log. The XID must be deterministically derivable // from the address and nonce. // The recovery address defaults to the initial associated_address unless // there is a subsequent ChangeRecoveryAddress in the log. type CreateInbox struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InitialAddress string `protobuf:"bytes,1,opt,name=initial_address,json=initialAddress,proto3" json:"initial_address,omitempty"` - Nonce uint64 `protobuf:"varint,2,opt,name=nonce,proto3" json:"nonce,omitempty"` - InitialAddressSignature *Signature `protobuf:"bytes,3,opt,name=initial_address_signature,json=initialAddressSignature,proto3" json:"initial_address_signature,omitempty"` // Must be an addressable member + state protoimpl.MessageState `protogen:"open.v1"` + InitialAddress string `protobuf:"bytes,1,opt,name=initial_address,json=initialAddress,proto3" json:"initial_address,omitempty"` + Nonce uint64 `protobuf:"varint,2,opt,name=nonce,proto3" json:"nonce,omitempty"` + InitialAddressSignature *Signature `protobuf:"bytes,3,opt,name=initial_address_signature,json=initialAddressSignature,proto3" json:"initial_address_signature,omitempty"` // Must be an addressable member + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CreateInbox) Reset() { @@ -234,13 +243,12 @@ func (x *CreateInbox) GetInitialAddressSignature() *Signature { // A key-pair that has been associated with one role MUST not be permitted to be // associated with a different role. type AddAssociation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NewMemberIdentifier *MemberIdentifier `protobuf:"bytes,1,opt,name=new_member_identifier,json=newMemberIdentifier,proto3" json:"new_member_identifier,omitempty"` - ExistingMemberSignature *Signature `protobuf:"bytes,2,opt,name=existing_member_signature,json=existingMemberSignature,proto3" json:"existing_member_signature,omitempty"` - NewMemberSignature *Signature `protobuf:"bytes,3,opt,name=new_member_signature,json=newMemberSignature,proto3" json:"new_member_signature,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + NewMemberIdentifier *MemberIdentifier `protobuf:"bytes,1,opt,name=new_member_identifier,json=newMemberIdentifier,proto3" json:"new_member_identifier,omitempty"` + ExistingMemberSignature *Signature `protobuf:"bytes,2,opt,name=existing_member_signature,json=existingMemberSignature,proto3" json:"existing_member_signature,omitempty"` + NewMemberSignature *Signature `protobuf:"bytes,3,opt,name=new_member_signature,json=newMemberSignature,proto3" json:"new_member_signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AddAssociation) Reset() { @@ -296,12 +304,11 @@ func (x *AddAssociation) GetNewMemberSignature() *Signature { // Revokes a member from an XID. The recovery address must sign the revocation. type RevokeAssociation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MemberToRevoke *MemberIdentifier `protobuf:"bytes,1,opt,name=member_to_revoke,json=memberToRevoke,proto3" json:"member_to_revoke,omitempty"` - RecoveryAddressSignature *Signature `protobuf:"bytes,2,opt,name=recovery_address_signature,json=recoveryAddressSignature,proto3" json:"recovery_address_signature,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + MemberToRevoke *MemberIdentifier `protobuf:"bytes,1,opt,name=member_to_revoke,json=memberToRevoke,proto3" json:"member_to_revoke,omitempty"` + RecoveryAddressSignature *Signature `protobuf:"bytes,2,opt,name=recovery_address_signature,json=recoveryAddressSignature,proto3" json:"recovery_address_signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RevokeAssociation) Reset() { @@ -352,12 +359,11 @@ func (x *RevokeAssociation) GetRecoveryAddressSignature() *Signature { // to be a member of the XID. In addition to being able to add members, the // recovery address can also revoke members. type ChangeRecoveryAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NewRecoveryAddress string `protobuf:"bytes,1,opt,name=new_recovery_address,json=newRecoveryAddress,proto3" json:"new_recovery_address,omitempty"` - ExistingRecoveryAddressSignature *Signature `protobuf:"bytes,2,opt,name=existing_recovery_address_signature,json=existingRecoveryAddressSignature,proto3" json:"existing_recovery_address_signature,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + NewRecoveryAddress string `protobuf:"bytes,1,opt,name=new_recovery_address,json=newRecoveryAddress,proto3" json:"new_recovery_address,omitempty"` + ExistingRecoveryAddressSignature *Signature `protobuf:"bytes,2,opt,name=existing_recovery_address_signature,json=existingRecoveryAddressSignature,proto3" json:"existing_recovery_address_signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChangeRecoveryAddress) Reset() { @@ -406,17 +412,16 @@ func (x *ChangeRecoveryAddress) GetExistingRecoveryAddressSignature() *Signature // A single identity operation type IdentityAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *IdentityAction_CreateInbox // *IdentityAction_Add // *IdentityAction_Revoke // *IdentityAction_ChangeRecoveryAddress - Kind isIdentityAction_Kind `protobuf_oneof:"kind"` + Kind isIdentityAction_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *IdentityAction) Reset() { @@ -449,37 +454,45 @@ func (*IdentityAction) Descriptor() ([]byte, []int) { return file_identity_associations_association_proto_rawDescGZIP(), []int{6} } -func (m *IdentityAction) GetKind() isIdentityAction_Kind { - if m != nil { - return m.Kind +func (x *IdentityAction) GetKind() isIdentityAction_Kind { + if x != nil { + return x.Kind } return nil } func (x *IdentityAction) GetCreateInbox() *CreateInbox { - if x, ok := x.GetKind().(*IdentityAction_CreateInbox); ok { - return x.CreateInbox + if x != nil { + if x, ok := x.Kind.(*IdentityAction_CreateInbox); ok { + return x.CreateInbox + } } return nil } func (x *IdentityAction) GetAdd() *AddAssociation { - if x, ok := x.GetKind().(*IdentityAction_Add); ok { - return x.Add + if x != nil { + if x, ok := x.Kind.(*IdentityAction_Add); ok { + return x.Add + } } return nil } func (x *IdentityAction) GetRevoke() *RevokeAssociation { - if x, ok := x.GetKind().(*IdentityAction_Revoke); ok { - return x.Revoke + if x != nil { + if x, ok := x.Kind.(*IdentityAction_Revoke); ok { + return x.Revoke + } } return nil } func (x *IdentityAction) GetChangeRecoveryAddress() *ChangeRecoveryAddress { - if x, ok := x.GetKind().(*IdentityAction_ChangeRecoveryAddress); ok { - return x.ChangeRecoveryAddress + if x != nil { + if x, ok := x.Kind.(*IdentityAction_ChangeRecoveryAddress); ok { + return x.ChangeRecoveryAddress + } } return nil } @@ -520,13 +533,12 @@ func (*IdentityAction_ChangeRecoveryAddress) isIdentityAction_Kind() {} // 3. The resulting signature is added to each association proto where relevant. // The same signature may be used for multiple associations in the array. type IdentityUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Actions []*IdentityAction `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` - ClientTimestampNs uint64 `protobuf:"varint,2,opt,name=client_timestamp_ns,json=clientTimestampNs,proto3" json:"client_timestamp_ns,omitempty"` - InboxId string `protobuf:"bytes,3,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Actions []*IdentityAction `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` + ClientTimestampNs uint64 `protobuf:"varint,2,opt,name=client_timestamp_ns,json=clientTimestampNs,proto3" json:"client_timestamp_ns,omitempty"` + InboxId string `protobuf:"bytes,3,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *IdentityUpdate) Reset() { @@ -582,12 +594,11 @@ func (x *IdentityUpdate) GetInboxId() string { // Map of members belonging to an inbox_id type MemberMap struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Key *MemberIdentifier `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value *Member `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Key *MemberIdentifier `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Value *Member `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MemberMap) Reset() { @@ -636,14 +647,13 @@ func (x *MemberMap) GetValue() *Member { // A final association state resulting from multiple `IdentityUpdates` type AssociationState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InboxId string `protobuf:"bytes,1,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` - Members []*MemberMap `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"` - RecoveryAddress string `protobuf:"bytes,3,opt,name=recovery_address,json=recoveryAddress,proto3" json:"recovery_address,omitempty"` - SeenSignatures [][]byte `protobuf:"bytes,4,rep,name=seen_signatures,json=seenSignatures,proto3" json:"seen_signatures,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + InboxId string `protobuf:"bytes,1,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` + Members []*MemberMap `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"` + RecoveryAddress string `protobuf:"bytes,3,opt,name=recovery_address,json=recoveryAddress,proto3" json:"recovery_address,omitempty"` + SeenSignatures [][]byte `protobuf:"bytes,4,rep,name=seen_signatures,json=seenSignatures,proto3" json:"seen_signatures,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AssociationState) Reset() { @@ -706,12 +716,11 @@ func (x *AssociationState) GetSeenSignatures() [][]byte { // / state diff between two final AssociationStates type AssociationStateDiff struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NewMembers []*MemberIdentifier `protobuf:"bytes,1,rep,name=new_members,json=newMembers,proto3" json:"new_members,omitempty"` - RemovedMembers []*MemberIdentifier `protobuf:"bytes,2,rep,name=removed_members,json=removedMembers,proto3" json:"removed_members,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + NewMembers []*MemberIdentifier `protobuf:"bytes,1,rep,name=new_members,json=newMembers,proto3" json:"new_members,omitempty"` + RemovedMembers []*MemberIdentifier `protobuf:"bytes,2,rep,name=removed_members,json=removedMembers,proto3" json:"removed_members,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AssociationStateDiff) Reset() { @@ -774,7 +783,7 @@ var file_identity_associations_association_proto_rawDesc = []byte{ 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x92, + 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xd8, 0x02, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, @@ -789,146 +798,151 @@ var file_identity_associations_association_proto_rawDesc = []byte{ 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x4e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x61, 0x64, 0x64, 0x65, + 0x6d, 0x70, 0x4e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x65, 0x64, + 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x48, 0x02, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x65, 0x64, 0x4f, 0x6e, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x5f, 0x6e, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x62, 0x6f, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6e, 0x6f, 0x6e, - 0x63, 0x65, 0x12, 0x61, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x17, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xae, 0x02, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x60, 0x0a, 0x15, 0x6e, 0x65, 0x77, 0x5f, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x13, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x61, 0x0a, 0x19, 0x65, 0x78, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x52, 0x17, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x57, 0x0a, - 0x14, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6e, + 0x5f, 0x6e, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x6f, 0x6e, + 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0xaf, 0x01, 0x0a, 0x0b, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x76, 0x6f, 0x6b, - 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x10, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x52, 0x0e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x6f, 0x52, 0x65, - 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x63, 0x0a, 0x1a, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, + 0x72, 0x65, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xae, 0x02, 0x0a, 0x0e, + 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x60, + 0x0a, 0x15, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x13, 0x6e, 0x65, 0x77, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x12, 0x61, 0x0a, 0x19, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x17, 0x65, 0x78, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x57, 0x0a, 0x14, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xd0, 0x01, 0x0a, + 0x11, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x10, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, + 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, + 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x54, 0x6f, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x63, 0x0a, 0x1a, 0x72, 0x65, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, + 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x18, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, + 0xbf, 0x01, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x65, 0x77, + 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x74, 0x0a, 0x23, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, - 0x18, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x15, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x76, - 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x74, 0x0a, 0x23, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x67, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x22, 0xdc, 0x02, 0x0a, 0x0e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, + 0x6e, 0x62, 0x6f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x6d, 0x74, + 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, + 0x62, 0x6f, 0x78, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, + 0x6f, 0x78, 0x12, 0x3e, 0x0a, 0x03, 0x61, 0x64, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, + 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x64, 0x64, + 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x61, + 0x64, 0x64, 0x12, 0x47, 0x0a, 0x06, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xdc, 0x02, 0x0a, 0x0e, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, - 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x48, 0x00, 0x52, - 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x12, 0x3e, 0x0a, 0x03, - 0x61, 0x64, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x61, 0x64, 0x64, 0x12, 0x47, 0x0a, 0x06, - 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x78, + 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x6b, 0x0a, 0x17, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, - 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x72, - 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x6b, 0x0a, 0x17, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, + 0x00, 0x52, 0x15, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x22, 0xa1, 0x01, 0x0a, 0x0e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, + 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, + 0x6f, 0x78, 0x49, 0x64, 0x22, 0x85, 0x01, 0x0a, 0x09, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, + 0x61, 0x70, 0x12, 0x3e, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, + 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc2, 0x01, 0x0a, + 0x10, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x07, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x4d, 0x61, 0x70, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, + 0x10, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x65, 0x6e, + 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0c, 0x52, 0x0e, 0x73, 0x65, 0x65, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x14, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x44, 0x69, 0x66, 0x66, 0x12, 0x4d, 0x0a, 0x0b, 0x6e, 0x65, + 0x77, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, + 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x6e, + 0x65, 0x77, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x55, 0x0a, 0x0f, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x42, 0xfa, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x15, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x0e, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, - 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x4e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x22, 0x85, - 0x01, 0x0a, 0x09, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x3e, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc2, 0x01, 0x0a, 0x10, 0x41, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, - 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, - 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x52, 0x07, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x76, - 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0e, 0x73, 0x65, 0x65, - 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x14, - 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x44, 0x69, 0x66, 0x66, 0x12, 0x4d, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x12, 0x55, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x42, 0xfa, 0x01, 0x0a, 0x1e, 0x63, - 0x6f, 0x6d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x10, 0x41, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, - 0x74, 0x70, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x67, 0x6f, 0x2f, - 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa2, - 0x02, 0x03, 0x58, 0x49, 0x41, 0xaa, 0x02, 0x1a, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0xca, 0x02, 0x1a, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x5c, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xe2, - 0x02, 0x26, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, - 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, 0x58, 0x6d, 0x74, 0x70, 0x3a, - 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x3a, 0x41, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x73, 0x42, 0x10, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2d, 0x6e, 0x6f, + 0x64, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x49, 0x41, 0xaa, 0x02, 0x1a, 0x58, 0x6d, + 0x74, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x41, 0x73, 0x73, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xca, 0x02, 0x1a, 0x58, 0x6d, 0x74, 0x70, 0x5c, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xe2, 0x02, 0x26, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x1c, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, + 0x3a, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pkg/proto/identity/associations/signature.pb.go b/pkg/proto/identity/associations/signature.pb.go index 975ca91b..ed79a4e2 100644 --- a/pkg/proto/identity/associations/signature.pb.go +++ b/pkg/proto/identity/associations/signature.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: identity/associations/signature.proto @@ -25,12 +25,11 @@ const ( // RecoverableEcdsaSignature for EIP-191 and V2 signatures type RecoverableEcdsaSignature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // 65-bytes [ R || S || V ], with recovery id as the last byte - Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` + Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RecoverableEcdsaSignature) Reset() { @@ -72,14 +71,13 @@ func (x *RecoverableEcdsaSignature) GetBytes() []byte { // EdDSA signature for 25519 type RecoverableEd25519Signature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // 64 bytes [R(32 bytes) || S(32 bytes)] Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` // 32 bytes - PublicKey []byte `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + PublicKey []byte `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RecoverableEd25519Signature) Reset() { @@ -128,17 +126,16 @@ func (x *RecoverableEd25519Signature) GetPublicKey() []byte { // Smart Contract Wallet signature type SmartContractWalletSignature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // CAIP-10 string // https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-10.md AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` // Specify the block number to verify the signature against BlockNumber uint64 `protobuf:"varint,2,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"` // The actual signature bytes - Signature []byte `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` + Signature []byte `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SmartContractWalletSignature) Reset() { @@ -199,12 +196,11 @@ func (x *SmartContractWalletSignature) GetSignature() []byte { // This signature type can ONLY be used for CreateXid and AddAssociation // payloads, and can only be used once in xmtpv3. type LegacyDelegatedSignature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + DelegatedKey *message_contents.SignedPublicKey `protobuf:"bytes,1,opt,name=delegated_key,json=delegatedKey,proto3" json:"delegated_key,omitempty"` + Signature *RecoverableEcdsaSignature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` unknownFields protoimpl.UnknownFields - - DelegatedKey *message_contents.SignedPublicKey `protobuf:"bytes,1,opt,name=delegated_key,json=delegatedKey,proto3" json:"delegated_key,omitempty"` - Signature *RecoverableEcdsaSignature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + sizeCache protoimpl.SizeCache } func (x *LegacyDelegatedSignature) Reset() { @@ -253,23 +249,22 @@ func (x *LegacyDelegatedSignature) GetSignature() *RecoverableEcdsaSignature { // A wrapper for all possible signature types type Signature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Must have two properties: // 1. An identifier (address or public key) for the signer must either be // recoverable, or specified as a field. // 2. The signer certifies that the signing payload is correct. The payload // must be inferred from the context in which the signature is provided. // - // Types that are assignable to Signature: + // Types that are valid to be assigned to Signature: // // *Signature_Erc_191 // *Signature_Erc_6492 // *Signature_InstallationKey // *Signature_DelegatedErc_191 - Signature isSignature_Signature `protobuf_oneof:"signature"` + Signature isSignature_Signature `protobuf_oneof:"signature"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Signature) Reset() { @@ -302,37 +297,45 @@ func (*Signature) Descriptor() ([]byte, []int) { return file_identity_associations_signature_proto_rawDescGZIP(), []int{4} } -func (m *Signature) GetSignature() isSignature_Signature { - if m != nil { - return m.Signature +func (x *Signature) GetSignature() isSignature_Signature { + if x != nil { + return x.Signature } return nil } func (x *Signature) GetErc_191() *RecoverableEcdsaSignature { - if x, ok := x.GetSignature().(*Signature_Erc_191); ok { - return x.Erc_191 + if x != nil { + if x, ok := x.Signature.(*Signature_Erc_191); ok { + return x.Erc_191 + } } return nil } func (x *Signature) GetErc_6492() *SmartContractWalletSignature { - if x, ok := x.GetSignature().(*Signature_Erc_6492); ok { - return x.Erc_6492 + if x != nil { + if x, ok := x.Signature.(*Signature_Erc_6492); ok { + return x.Erc_6492 + } } return nil } func (x *Signature) GetInstallationKey() *RecoverableEd25519Signature { - if x, ok := x.GetSignature().(*Signature_InstallationKey); ok { - return x.InstallationKey + if x != nil { + if x, ok := x.Signature.(*Signature_InstallationKey); ok { + return x.InstallationKey + } } return nil } func (x *Signature) GetDelegatedErc_191() *LegacyDelegatedSignature { - if x, ok := x.GetSignature().(*Signature_DelegatedErc_191); ok { - return x.DelegatedErc_191 + if x != nil { + if x, ok := x.Signature.(*Signature_DelegatedErc_191); ok { + return x.DelegatedErc_191 + } } return nil } diff --git a/pkg/proto/identity/credential.pb.go b/pkg/proto/identity/credential.pb.go index e39848ac..7011da54 100644 --- a/pkg/proto/identity/credential.pb.go +++ b/pkg/proto/identity/credential.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: identity/credential.proto @@ -24,11 +24,10 @@ const ( // A credential that can be used in MLS leaf nodes type MlsCredential struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + InboxId string `protobuf:"bytes,1,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` unknownFields protoimpl.UnknownFields - - InboxId string `protobuf:"bytes,1,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MlsCredential) Reset() { diff --git a/pkg/proto/keystore_api/v1/keystore.pb.go b/pkg/proto/keystore_api/v1/keystore.pb.go index 30cd04b1..44ab22cb 100644 --- a/pkg/proto/keystore_api/v1/keystore.pb.go +++ b/pkg/proto/keystore_api/v1/keystore.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: keystore_api/v1/keystore.proto @@ -178,12 +178,11 @@ func (GetKeystoreStatusResponse_KeystoreStatus) EnumDescriptor() ([]byte, []int) // Wrapper class for errors from the Keystore API type KeystoreError struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Code ErrorCode `protobuf:"varint,2,opt,name=code,proto3,enum=xmtp.keystore_api.v1.ErrorCode" json:"code,omitempty"` unknownFields protoimpl.UnknownFields - - Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` - Code ErrorCode `protobuf:"varint,2,opt,name=code,proto3,enum=xmtp.keystore_api.v1.ErrorCode" json:"code,omitempty"` + sizeCache protoimpl.SizeCache } func (x *KeystoreError) Reset() { @@ -232,11 +231,10 @@ func (x *KeystoreError) GetCode() ErrorCode { // Decrypt a batch of messages using X3DH key agreement type DecryptV1Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Requests []*DecryptV1Request_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` unknownFields protoimpl.UnknownFields - - Requests []*DecryptV1Request_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DecryptV1Request) Reset() { @@ -278,11 +276,10 @@ func (x *DecryptV1Request) GetRequests() []*DecryptV1Request_Request { // Response type for both V1 and V2 decryption requests type DecryptResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*DecryptResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` unknownFields protoimpl.UnknownFields - - Responses []*DecryptResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DecryptResponse) Reset() { @@ -324,11 +321,10 @@ func (x *DecryptResponse) GetResponses() []*DecryptResponse_Response { // Decrypt a batch of messages using the appropriate topic keys type DecryptV2Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Requests []*DecryptV2Request_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` unknownFields protoimpl.UnknownFields - - Requests []*DecryptV2Request_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DecryptV2Request) Reset() { @@ -370,11 +366,10 @@ func (x *DecryptV2Request) GetRequests() []*DecryptV2Request_Request { // Encrypt a batch of messages using X3DH key agreement type EncryptV1Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Requests []*EncryptV1Request_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` unknownFields protoimpl.UnknownFields - - Requests []*EncryptV1Request_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` + sizeCache protoimpl.SizeCache } func (x *EncryptV1Request) Reset() { @@ -416,11 +411,10 @@ func (x *EncryptV1Request) GetRequests() []*EncryptV1Request_Request { // Response type for both V1 and V2 encryption requests type EncryptResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*EncryptResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` unknownFields protoimpl.UnknownFields - - Responses []*EncryptResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + sizeCache protoimpl.SizeCache } func (x *EncryptResponse) Reset() { @@ -462,11 +456,10 @@ func (x *EncryptResponse) GetResponses() []*EncryptResponse_Response { // Encrypt a batch of messages using the appropriate topic keys type EncryptV2Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Requests []*EncryptV2Request_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` unknownFields protoimpl.UnknownFields - - Requests []*EncryptV2Request_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` + sizeCache protoimpl.SizeCache } func (x *EncryptV2Request) Reset() { @@ -508,11 +501,10 @@ func (x *EncryptV2Request) GetRequests() []*EncryptV2Request_Request { // Encrypt a message for yourself type SelfEncryptRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Requests []*SelfEncryptRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` unknownFields protoimpl.UnknownFields - - Requests []*SelfEncryptRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SelfEncryptRequest) Reset() { @@ -554,11 +546,10 @@ func (x *SelfEncryptRequest) GetRequests() []*SelfEncryptRequest_Request { // Response type for SelfEncryptRequest type SelfEncryptResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*SelfEncryptResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` unknownFields protoimpl.UnknownFields - - Responses []*SelfEncryptResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SelfEncryptResponse) Reset() { @@ -600,11 +591,10 @@ func (x *SelfEncryptResponse) GetResponses() []*SelfEncryptResponse_Response { // SelfDecryptRequest type SelfDecryptRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Requests []*SelfDecryptRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` unknownFields protoimpl.UnknownFields - - Requests []*SelfDecryptRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SelfDecryptRequest) Reset() { @@ -646,11 +636,10 @@ func (x *SelfDecryptRequest) GetRequests() []*SelfDecryptRequest_Request { // Get the private preferences topic identifier type GetPrivatePreferencesTopicIdentifierResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` unknownFields protoimpl.UnknownFields - - Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetPrivatePreferencesTopicIdentifierResponse) Reset() { @@ -692,14 +681,13 @@ func (x *GetPrivatePreferencesTopicIdentifierResponse) GetIdentifier() string { // Request to create an invite payload, and store the topic keys in the Keystore type CreateInviteRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Context *message_contents.InvitationV1_Context `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` + Recipient *message_contents.SignedPublicKeyBundle `protobuf:"bytes,2,opt,name=recipient,proto3" json:"recipient,omitempty"` + CreatedNs uint64 `protobuf:"varint,3,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` + ConsentProof *message_contents.ConsentProofPayload `protobuf:"bytes,4,opt,name=consent_proof,json=consentProof,proto3" json:"consent_proof,omitempty"` unknownFields protoimpl.UnknownFields - - Context *message_contents.InvitationV1_Context `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` - Recipient *message_contents.SignedPublicKeyBundle `protobuf:"bytes,2,opt,name=recipient,proto3" json:"recipient,omitempty"` - CreatedNs uint64 `protobuf:"varint,3,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` - ConsentProof *message_contents.ConsentProofPayload `protobuf:"bytes,4,opt,name=consent_proof,json=consentProof,proto3" json:"consent_proof,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CreateInviteRequest) Reset() { @@ -762,12 +750,11 @@ func (x *CreateInviteRequest) GetConsentProof() *message_contents.ConsentProofPa // Response to a CreateInviteRequest type CreateInviteResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Conversation *message_contents.ConversationReference `protobuf:"bytes,1,opt,name=conversation,proto3" json:"conversation,omitempty"` + Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` unknownFields protoimpl.UnknownFields - - Conversation *message_contents.ConversationReference `protobuf:"bytes,1,opt,name=conversation,proto3" json:"conversation,omitempty"` - Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CreateInviteResponse) Reset() { @@ -816,11 +803,10 @@ func (x *CreateInviteResponse) GetPayload() []byte { // Request to save a batch of invite messages to the Keystore type SaveInvitesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Requests []*SaveInvitesRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` unknownFields protoimpl.UnknownFields - - Requests []*SaveInvitesRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SaveInvitesRequest) Reset() { @@ -862,11 +848,10 @@ func (x *SaveInvitesRequest) GetRequests() []*SaveInvitesRequest_Request { // Response to a SaveInvitesRequest type SaveInvitesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*SaveInvitesResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` unknownFields protoimpl.UnknownFields - - Responses []*SaveInvitesResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SaveInvitesResponse) Reset() { @@ -908,11 +893,10 @@ func (x *SaveInvitesResponse) GetResponses() []*SaveInvitesResponse_Response { // CreateAuthTokenRequest is used to create an auth token for the XMTP API type CreateAuthTokenRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + TimestampNs *uint64 `protobuf:"varint,1,opt,name=timestamp_ns,json=timestampNs,proto3,oneof" json:"timestamp_ns,omitempty"` unknownFields protoimpl.UnknownFields - - TimestampNs *uint64 `protobuf:"varint,1,opt,name=timestamp_ns,json=timestampNs,proto3,oneof" json:"timestamp_ns,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CreateAuthTokenRequest) Reset() { @@ -955,11 +939,10 @@ func (x *CreateAuthTokenRequest) GetTimestampNs() uint64 { // SaveV1ConversationsRequest is used to save a batch of conversations to the // built in persistence type SaveV1ConversationsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Conversations []*message_contents.ConversationReference `protobuf:"bytes,1,rep,name=conversations,proto3" json:"conversations,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SaveV1ConversationsRequest) Reset() { @@ -1001,9 +984,9 @@ func (x *SaveV1ConversationsRequest) GetConversations() []*message_contents.Conv // Placeholder response type for SaveV1Conversations type SaveV1ConversationsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SaveV1ConversationsResponse) Reset() { @@ -1038,11 +1021,10 @@ func (*SaveV1ConversationsResponse) Descriptor() ([]byte, []int) { // Response for GetV2Conversations type GetConversationsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Conversations []*message_contents.ConversationReference `protobuf:"bytes,1,rep,name=conversations,proto3" json:"conversations,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetConversationsResponse) Reset() { @@ -1085,11 +1067,10 @@ func (x *GetConversationsResponse) GetConversations() []*message_contents.Conver // Used to check if the Keystore implementation has been setup for the given // wallet address Only used for MM Snap Keystore currently type GetKeystoreStatusRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WalletAddress string `protobuf:"bytes,1,opt,name=wallet_address,json=walletAddress,proto3" json:"wallet_address,omitempty"` unknownFields protoimpl.UnknownFields - - WalletAddress string `protobuf:"bytes,1,opt,name=wallet_address,json=walletAddress,proto3" json:"wallet_address,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetKeystoreStatusRequest) Reset() { @@ -1131,11 +1112,10 @@ func (x *GetKeystoreStatusRequest) GetWalletAddress() string { // Response to GetKeystoreStatusRequest type GetKeystoreStatusResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Status GetKeystoreStatusResponse_KeystoreStatus `protobuf:"varint,1,opt,name=status,proto3,enum=xmtp.keystore_api.v1.GetKeystoreStatusResponse_KeystoreStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields - - Status GetKeystoreStatusResponse_KeystoreStatus `protobuf:"varint,1,opt,name=status,proto3,enum=xmtp.keystore_api.v1.GetKeystoreStatusResponse_KeystoreStatus" json:"status,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetKeystoreStatusResponse) Reset() { @@ -1178,14 +1158,13 @@ func (x *GetKeystoreStatusResponse) GetStatus() GetKeystoreStatusResponse_Keysto // Used to initialize the Keystore with a private key bundle retrieved from the // client type InitKeystoreRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Bundle: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Bundle: // // *InitKeystoreRequest_V1 - Bundle isInitKeystoreRequest_Bundle `protobuf_oneof:"bundle"` + Bundle isInitKeystoreRequest_Bundle `protobuf_oneof:"bundle"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *InitKeystoreRequest) Reset() { @@ -1218,16 +1197,18 @@ func (*InitKeystoreRequest) Descriptor() ([]byte, []int) { return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{21} } -func (m *InitKeystoreRequest) GetBundle() isInitKeystoreRequest_Bundle { - if m != nil { - return m.Bundle +func (x *InitKeystoreRequest) GetBundle() isInitKeystoreRequest_Bundle { + if x != nil { + return x.Bundle } return nil } func (x *InitKeystoreRequest) GetV1() *message_contents.PrivateKeyBundleV1 { - if x, ok := x.GetBundle().(*InitKeystoreRequest_V1); ok { - return x.V1 + if x != nil { + if x, ok := x.Bundle.(*InitKeystoreRequest_V1); ok { + return x.V1 + } } return nil } @@ -1244,11 +1225,10 @@ func (*InitKeystoreRequest_V1) isInitKeystoreRequest_Bundle() {} // Response to the request to initialize the Keystore type InitKeystoreResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *KeystoreError `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` unknownFields protoimpl.UnknownFields - - Error *KeystoreError `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + sizeCache protoimpl.SizeCache } func (x *InitKeystoreResponse) Reset() { @@ -1291,16 +1271,15 @@ func (x *InitKeystoreResponse) GetError() *KeystoreError { // SignDigestRequest is used to sign a digest with either the identity key // or a prekey type SignDigestRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"` - // Types that are assignable to Signer: + state protoimpl.MessageState `protogen:"open.v1"` + Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"` + // Types that are valid to be assigned to Signer: // // *SignDigestRequest_IdentityKey // *SignDigestRequest_PrekeyIndex - Signer isSignDigestRequest_Signer `protobuf_oneof:"signer"` + Signer isSignDigestRequest_Signer `protobuf_oneof:"signer"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SignDigestRequest) Reset() { @@ -1340,23 +1319,27 @@ func (x *SignDigestRequest) GetDigest() []byte { return nil } -func (m *SignDigestRequest) GetSigner() isSignDigestRequest_Signer { - if m != nil { - return m.Signer +func (x *SignDigestRequest) GetSigner() isSignDigestRequest_Signer { + if x != nil { + return x.Signer } return nil } func (x *SignDigestRequest) GetIdentityKey() bool { - if x, ok := x.GetSigner().(*SignDigestRequest_IdentityKey); ok { - return x.IdentityKey + if x != nil { + if x, ok := x.Signer.(*SignDigestRequest_IdentityKey); ok { + return x.IdentityKey + } } return false } func (x *SignDigestRequest) GetPrekeyIndex() uint32 { - if x, ok := x.GetSigner().(*SignDigestRequest_PrekeyIndex); ok { - return x.PrekeyIndex + if x != nil { + if x, ok := x.Signer.(*SignDigestRequest_PrekeyIndex); ok { + return x.PrekeyIndex + } } return 0 } @@ -1379,11 +1362,10 @@ func (*SignDigestRequest_PrekeyIndex) isSignDigestRequest_Signer() {} // GetRefreshJobRequest is used to get the last run time of a refresh job type GetRefreshJobRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + JobType JobType `protobuf:"varint,1,opt,name=job_type,json=jobType,proto3,enum=xmtp.keystore_api.v1.JobType" json:"job_type,omitempty"` unknownFields protoimpl.UnknownFields - - JobType JobType `protobuf:"varint,1,opt,name=job_type,json=jobType,proto3,enum=xmtp.keystore_api.v1.JobType" json:"job_type,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetRefreshJobRequest) Reset() { @@ -1425,11 +1407,10 @@ func (x *GetRefreshJobRequest) GetJobType() JobType { // GetRefreshJobResponse is used to return the last run time of a refresh job type GetRefreshJobResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + LastRunNs int64 `protobuf:"varint,1,opt,name=last_run_ns,json=lastRunNs,proto3" json:"last_run_ns,omitempty"` unknownFields protoimpl.UnknownFields - - LastRunNs int64 `protobuf:"varint,1,opt,name=last_run_ns,json=lastRunNs,proto3" json:"last_run_ns,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetRefreshJobResponse) Reset() { @@ -1471,12 +1452,11 @@ func (x *GetRefreshJobResponse) GetLastRunNs() int64 { // SetRefreshJobRequest is used to set the last run time of a refresh job type SetRefeshJobRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + JobType JobType `protobuf:"varint,1,opt,name=job_type,json=jobType,proto3,enum=xmtp.keystore_api.v1.JobType" json:"job_type,omitempty"` + LastRunNs int64 `protobuf:"varint,2,opt,name=last_run_ns,json=lastRunNs,proto3" json:"last_run_ns,omitempty"` unknownFields protoimpl.UnknownFields - - JobType JobType `protobuf:"varint,1,opt,name=job_type,json=jobType,proto3,enum=xmtp.keystore_api.v1.JobType" json:"job_type,omitempty"` - LastRunNs int64 `protobuf:"varint,2,opt,name=last_run_ns,json=lastRunNs,proto3" json:"last_run_ns,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SetRefeshJobRequest) Reset() { @@ -1525,9 +1505,9 @@ func (x *SetRefeshJobRequest) GetLastRunNs() int64 { // SetRefreshJobResponse is an empty response type type SetRefreshJobResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SetRefreshJobResponse) Reset() { @@ -1562,11 +1542,10 @@ func (*SetRefreshJobResponse) Descriptor() ([]byte, []int) { // A mapping of topics to their decrypted invitations type TopicMap struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Topics map[string]*TopicMap_TopicData `protobuf:"bytes,1,rep,name=topics,proto3" json:"topics,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - Topics map[string]*TopicMap_TopicData `protobuf:"bytes,1,rep,name=topics,proto3" json:"topics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *TopicMap) Reset() { @@ -1608,11 +1587,10 @@ func (x *TopicMap) GetTopics() map[string]*TopicMap_TopicData { // Used to get a mapping of conversation topics to their HMAC keys type GetConversationHmacKeysRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Topics []string `protobuf:"bytes,1,rep,name=topics,proto3" json:"topics,omitempty"` unknownFields protoimpl.UnknownFields - - Topics []string `protobuf:"bytes,1,rep,name=topics,proto3" json:"topics,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetConversationHmacKeysRequest) Reset() { @@ -1654,11 +1632,10 @@ func (x *GetConversationHmacKeysRequest) GetTopics() []string { // A mapping of topics to their HMAC keys type GetConversationHmacKeysResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + HmacKeys map[string]*GetConversationHmacKeysResponse_HmacKeys `protobuf:"bytes,1,rep,name=hmac_keys,json=hmacKeys,proto3" json:"hmac_keys,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - HmacKeys map[string]*GetConversationHmacKeysResponse_HmacKeys `protobuf:"bytes,1,rep,name=hmac_keys,json=hmacKeys,proto3" json:"hmac_keys,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *GetConversationHmacKeysResponse) Reset() { @@ -1700,11 +1677,10 @@ func (x *GetConversationHmacKeysResponse) GetHmacKeys() map[string]*GetConversat // A mapping of message hashes to their private preferences action type PrivatePreferencesActionMap struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Actions map[string]*message_contents.PrivatePreferencesAction `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - Actions map[string]*message_contents.PrivatePreferencesAction `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *PrivatePreferencesActionMap) Reset() { @@ -1746,14 +1722,13 @@ func (x *PrivatePreferencesActionMap) GetActions() map[string]*message_contents. // A single decryption request type DecryptV1Request_Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Payload *message_contents.Ciphertext `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + PeerKeys *message_contents.PublicKeyBundle `protobuf:"bytes,2,opt,name=peer_keys,json=peerKeys,proto3" json:"peer_keys,omitempty"` + HeaderBytes []byte `protobuf:"bytes,3,opt,name=header_bytes,json=headerBytes,proto3" json:"header_bytes,omitempty"` + IsSender bool `protobuf:"varint,4,opt,name=is_sender,json=isSender,proto3" json:"is_sender,omitempty"` unknownFields protoimpl.UnknownFields - - Payload *message_contents.Ciphertext `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` - PeerKeys *message_contents.PublicKeyBundle `protobuf:"bytes,2,opt,name=peer_keys,json=peerKeys,proto3" json:"peer_keys,omitempty"` - HeaderBytes []byte `protobuf:"bytes,3,opt,name=header_bytes,json=headerBytes,proto3" json:"header_bytes,omitempty"` - IsSender bool `protobuf:"varint,4,opt,name=is_sender,json=isSender,proto3" json:"is_sender,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DecryptV1Request_Request) Reset() { @@ -1816,15 +1791,14 @@ func (x *DecryptV1Request_Request) GetIsSender() bool { // A single decryption response type DecryptResponse_Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Response: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Response: // // *DecryptResponse_Response_Result // *DecryptResponse_Response_Error - Response isDecryptResponse_Response_Response `protobuf_oneof:"response"` + Response isDecryptResponse_Response_Response `protobuf_oneof:"response"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DecryptResponse_Response) Reset() { @@ -1857,23 +1831,27 @@ func (*DecryptResponse_Response) Descriptor() ([]byte, []int) { return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{2, 0} } -func (m *DecryptResponse_Response) GetResponse() isDecryptResponse_Response_Response { - if m != nil { - return m.Response +func (x *DecryptResponse_Response) GetResponse() isDecryptResponse_Response_Response { + if x != nil { + return x.Response } return nil } func (x *DecryptResponse_Response) GetResult() *DecryptResponse_Response_Success { - if x, ok := x.GetResponse().(*DecryptResponse_Response_Result); ok { - return x.Result + if x != nil { + if x, ok := x.Response.(*DecryptResponse_Response_Result); ok { + return x.Result + } } return nil } func (x *DecryptResponse_Response) GetError() *KeystoreError { - if x, ok := x.GetResponse().(*DecryptResponse_Response_Error); ok { - return x.Error + if x != nil { + if x, ok := x.Response.(*DecryptResponse_Response_Error); ok { + return x.Error + } } return nil } @@ -1896,11 +1874,10 @@ func (*DecryptResponse_Response_Error) isDecryptResponse_Response_Response() {} // Wrapper object for success response type DecryptResponse_Response_Success struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Decrypted []byte `protobuf:"bytes,1,opt,name=decrypted,proto3" json:"decrypted,omitempty"` unknownFields protoimpl.UnknownFields - - Decrypted []byte `protobuf:"bytes,1,opt,name=decrypted,proto3" json:"decrypted,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DecryptResponse_Response_Success) Reset() { @@ -1942,13 +1919,12 @@ func (x *DecryptResponse_Response_Success) GetDecrypted() []byte { // A single decryption request type DecryptV2Request_Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Payload *message_contents.Ciphertext `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + HeaderBytes []byte `protobuf:"bytes,2,opt,name=header_bytes,json=headerBytes,proto3" json:"header_bytes,omitempty"` + ContentTopic string `protobuf:"bytes,3,opt,name=content_topic,json=contentTopic,proto3" json:"content_topic,omitempty"` unknownFields protoimpl.UnknownFields - - Payload *message_contents.Ciphertext `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` - HeaderBytes []byte `protobuf:"bytes,2,opt,name=header_bytes,json=headerBytes,proto3" json:"header_bytes,omitempty"` - ContentTopic string `protobuf:"bytes,3,opt,name=content_topic,json=contentTopic,proto3" json:"content_topic,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DecryptV2Request_Request) Reset() { @@ -2004,13 +1980,12 @@ func (x *DecryptV2Request_Request) GetContentTopic() string { // A single encryption request type EncryptV1Request_Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Recipient *message_contents.PublicKeyBundle `protobuf:"bytes,1,opt,name=recipient,proto3" json:"recipient,omitempty"` + Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + HeaderBytes []byte `protobuf:"bytes,3,opt,name=header_bytes,json=headerBytes,proto3" json:"header_bytes,omitempty"` unknownFields protoimpl.UnknownFields - - Recipient *message_contents.PublicKeyBundle `protobuf:"bytes,1,opt,name=recipient,proto3" json:"recipient,omitempty"` - Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` - HeaderBytes []byte `protobuf:"bytes,3,opt,name=header_bytes,json=headerBytes,proto3" json:"header_bytes,omitempty"` + sizeCache protoimpl.SizeCache } func (x *EncryptV1Request_Request) Reset() { @@ -2066,15 +2041,14 @@ func (x *EncryptV1Request_Request) GetHeaderBytes() []byte { // A single encryption response type EncryptResponse_Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Response: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Response: // // *EncryptResponse_Response_Result // *EncryptResponse_Response_Error - Response isEncryptResponse_Response_Response `protobuf_oneof:"response"` + Response isEncryptResponse_Response_Response `protobuf_oneof:"response"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EncryptResponse_Response) Reset() { @@ -2107,23 +2081,27 @@ func (*EncryptResponse_Response) Descriptor() ([]byte, []int) { return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{5, 0} } -func (m *EncryptResponse_Response) GetResponse() isEncryptResponse_Response_Response { - if m != nil { - return m.Response +func (x *EncryptResponse_Response) GetResponse() isEncryptResponse_Response_Response { + if x != nil { + return x.Response } return nil } func (x *EncryptResponse_Response) GetResult() *EncryptResponse_Response_Success { - if x, ok := x.GetResponse().(*EncryptResponse_Response_Result); ok { - return x.Result + if x != nil { + if x, ok := x.Response.(*EncryptResponse_Response_Result); ok { + return x.Result + } } return nil } func (x *EncryptResponse_Response) GetError() *KeystoreError { - if x, ok := x.GetResponse().(*EncryptResponse_Response_Error); ok { - return x.Error + if x != nil { + if x, ok := x.Response.(*EncryptResponse_Response_Error); ok { + return x.Error + } } return nil } @@ -2146,12 +2124,11 @@ func (*EncryptResponse_Response_Error) isEncryptResponse_Response_Response() {} // Wrapper object for success response type EncryptResponse_Response_Success struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Encrypted *message_contents.Ciphertext `protobuf:"bytes,1,opt,name=encrypted,proto3" json:"encrypted,omitempty"` + SenderHmac []byte `protobuf:"bytes,2,opt,name=sender_hmac,json=senderHmac,proto3" json:"sender_hmac,omitempty"` unknownFields protoimpl.UnknownFields - - Encrypted *message_contents.Ciphertext `protobuf:"bytes,1,opt,name=encrypted,proto3" json:"encrypted,omitempty"` - SenderHmac []byte `protobuf:"bytes,2,opt,name=sender_hmac,json=senderHmac,proto3" json:"sender_hmac,omitempty"` + sizeCache protoimpl.SizeCache } func (x *EncryptResponse_Response_Success) Reset() { @@ -2200,13 +2177,12 @@ func (x *EncryptResponse_Response_Success) GetSenderHmac() []byte { // A single encryption request type EncryptV2Request_Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + HeaderBytes []byte `protobuf:"bytes,2,opt,name=header_bytes,json=headerBytes,proto3" json:"header_bytes,omitempty"` + ContentTopic string `protobuf:"bytes,3,opt,name=content_topic,json=contentTopic,proto3" json:"content_topic,omitempty"` unknownFields protoimpl.UnknownFields - - Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` - HeaderBytes []byte `protobuf:"bytes,2,opt,name=header_bytes,json=headerBytes,proto3" json:"header_bytes,omitempty"` - ContentTopic string `protobuf:"bytes,3,opt,name=content_topic,json=contentTopic,proto3" json:"content_topic,omitempty"` + sizeCache protoimpl.SizeCache } func (x *EncryptV2Request_Request) Reset() { @@ -2262,11 +2238,10 @@ func (x *EncryptV2Request_Request) GetContentTopic() string { // Request type type SelfEncryptRequest_Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` unknownFields protoimpl.UnknownFields - - Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SelfEncryptRequest_Request) Reset() { @@ -2308,15 +2283,14 @@ func (x *SelfEncryptRequest_Request) GetPayload() []byte { // Response type type SelfEncryptResponse_Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Response: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Response: // // *SelfEncryptResponse_Response_Result // *SelfEncryptResponse_Response_Error - Response isSelfEncryptResponse_Response_Response `protobuf_oneof:"response"` + Response isSelfEncryptResponse_Response_Response `protobuf_oneof:"response"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SelfEncryptResponse_Response) Reset() { @@ -2349,23 +2323,27 @@ func (*SelfEncryptResponse_Response) Descriptor() ([]byte, []int) { return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{8, 0} } -func (m *SelfEncryptResponse_Response) GetResponse() isSelfEncryptResponse_Response_Response { - if m != nil { - return m.Response +func (x *SelfEncryptResponse_Response) GetResponse() isSelfEncryptResponse_Response_Response { + if x != nil { + return x.Response } return nil } func (x *SelfEncryptResponse_Response) GetResult() *SelfEncryptResponse_Response_Success { - if x, ok := x.GetResponse().(*SelfEncryptResponse_Response_Result); ok { - return x.Result + if x != nil { + if x, ok := x.Response.(*SelfEncryptResponse_Response_Result); ok { + return x.Result + } } return nil } func (x *SelfEncryptResponse_Response) GetError() *KeystoreError { - if x, ok := x.GetResponse().(*SelfEncryptResponse_Response_Error); ok { - return x.Error + if x != nil { + if x, ok := x.Response.(*SelfEncryptResponse_Response_Error); ok { + return x.Error + } } return nil } @@ -2388,11 +2366,10 @@ func (*SelfEncryptResponse_Response_Error) isSelfEncryptResponse_Response_Respon // Success response type SelfEncryptResponse_Response_Success struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Encrypted []byte `protobuf:"bytes,1,opt,name=encrypted,proto3" json:"encrypted,omitempty"` unknownFields protoimpl.UnknownFields - - Encrypted []byte `protobuf:"bytes,1,opt,name=encrypted,proto3" json:"encrypted,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SelfEncryptResponse_Response_Success) Reset() { @@ -2434,11 +2411,10 @@ func (x *SelfEncryptResponse_Response_Success) GetEncrypted() []byte { // Request type type SelfDecryptRequest_Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` unknownFields protoimpl.UnknownFields - - Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SelfDecryptRequest_Request) Reset() { @@ -2480,13 +2456,12 @@ func (x *SelfDecryptRequest_Request) GetPayload() []byte { // Mirrors xmtp.envelope schema type SaveInvitesRequest_Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ContentTopic string `protobuf:"bytes,1,opt,name=content_topic,json=contentTopic,proto3" json:"content_topic,omitempty"` + TimestampNs uint64 `protobuf:"varint,2,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"` + Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` unknownFields protoimpl.UnknownFields - - ContentTopic string `protobuf:"bytes,1,opt,name=content_topic,json=contentTopic,proto3" json:"content_topic,omitempty"` - TimestampNs uint64 `protobuf:"varint,2,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"` - Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SaveInvitesRequest_Request) Reset() { @@ -2542,15 +2517,14 @@ func (x *SaveInvitesRequest_Request) GetPayload() []byte { // A single response type SaveInvitesResponse_Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Response: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Response: // // *SaveInvitesResponse_Response_Result // *SaveInvitesResponse_Response_Error - Response isSaveInvitesResponse_Response_Response `protobuf_oneof:"response"` + Response isSaveInvitesResponse_Response_Response `protobuf_oneof:"response"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SaveInvitesResponse_Response) Reset() { @@ -2583,23 +2557,27 @@ func (*SaveInvitesResponse_Response) Descriptor() ([]byte, []int) { return file_keystore_api_v1_keystore_proto_rawDescGZIP(), []int{14, 0} } -func (m *SaveInvitesResponse_Response) GetResponse() isSaveInvitesResponse_Response_Response { - if m != nil { - return m.Response +func (x *SaveInvitesResponse_Response) GetResponse() isSaveInvitesResponse_Response_Response { + if x != nil { + return x.Response } return nil } func (x *SaveInvitesResponse_Response) GetResult() *SaveInvitesResponse_Response_Success { - if x, ok := x.GetResponse().(*SaveInvitesResponse_Response_Result); ok { - return x.Result + if x != nil { + if x, ok := x.Response.(*SaveInvitesResponse_Response_Result); ok { + return x.Result + } } return nil } func (x *SaveInvitesResponse_Response) GetError() *KeystoreError { - if x, ok := x.GetResponse().(*SaveInvitesResponse_Response_Error); ok { - return x.Error + if x != nil { + if x, ok := x.Response.(*SaveInvitesResponse_Response_Error); ok { + return x.Error + } } return nil } @@ -2622,11 +2600,10 @@ func (*SaveInvitesResponse_Response_Error) isSaveInvitesResponse_Response_Respon // Wrapper object for success response type SaveInvitesResponse_Response_Success struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Conversation *message_contents.ConversationReference `protobuf:"bytes,1,opt,name=conversation,proto3" json:"conversation,omitempty"` unknownFields protoimpl.UnknownFields - - Conversation *message_contents.ConversationReference `protobuf:"bytes,1,opt,name=conversation,proto3" json:"conversation,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SaveInvitesResponse_Response_Success) Reset() { @@ -2668,13 +2645,12 @@ func (x *SaveInvitesResponse_Response_Success) GetConversation() *message_conten // TopicData wraps the invitation and the timestamp it was created type TopicMap_TopicData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + CreatedNs uint64 `protobuf:"varint,1,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` + PeerAddress string `protobuf:"bytes,2,opt,name=peer_address,json=peerAddress,proto3" json:"peer_address,omitempty"` + Invitation *message_contents.InvitationV1 `protobuf:"bytes,3,opt,name=invitation,proto3" json:"invitation,omitempty"` unknownFields protoimpl.UnknownFields - - CreatedNs uint64 `protobuf:"varint,1,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` - PeerAddress string `protobuf:"bytes,2,opt,name=peer_address,json=peerAddress,proto3" json:"peer_address,omitempty"` - Invitation *message_contents.InvitationV1 `protobuf:"bytes,3,opt,name=invitation,proto3" json:"invitation,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TopicMap_TopicData) Reset() { @@ -2730,12 +2706,11 @@ func (x *TopicMap_TopicData) GetInvitation() *message_contents.InvitationV1 { // HmacKeyData wraps the HMAC key and the number of 30 day periods since epoch type GetConversationHmacKeysResponse_HmacKeyData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ThirtyDayPeriodsSinceEpoch int32 `protobuf:"varint,1,opt,name=thirty_day_periods_since_epoch,json=thirtyDayPeriodsSinceEpoch,proto3" json:"thirty_day_periods_since_epoch,omitempty"` - HmacKey []byte `protobuf:"bytes,2,opt,name=hmac_key,json=hmacKey,proto3" json:"hmac_key,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + ThirtyDayPeriodsSinceEpoch int32 `protobuf:"varint,1,opt,name=thirty_day_periods_since_epoch,json=thirtyDayPeriodsSinceEpoch,proto3" json:"thirty_day_periods_since_epoch,omitempty"` + HmacKey []byte `protobuf:"bytes,2,opt,name=hmac_key,json=hmacKey,proto3" json:"hmac_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetConversationHmacKeysResponse_HmacKeyData) Reset() { @@ -2784,11 +2759,10 @@ func (x *GetConversationHmacKeysResponse_HmacKeyData) GetHmacKey() []byte { // HmacKeys represents multiple HmacKeyData objects type GetConversationHmacKeysResponse_HmacKeys struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Values []*GetConversationHmacKeysResponse_HmacKeyData `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` unknownFields protoimpl.UnknownFields - - Values []*GetConversationHmacKeysResponse_HmacKeyData `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetConversationHmacKeysResponse_HmacKeys) Reset() { diff --git a/pkg/proto/message_api/v1/authn.pb.go b/pkg/proto/message_api/v1/authn.pb.go index 015b4fb3..3ffa7d0c 100644 --- a/pkg/proto/message_api/v1/authn.pb.go +++ b/pkg/proto/message_api/v1/authn.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_api/v1/authn.proto @@ -26,16 +26,15 @@ const ( // Token is used by clients to prove to the nodes // that they are serving a specific wallet. type Token struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // identity key signed by a wallet IdentityKey *message_contents.PublicKey `protobuf:"bytes,1,opt,name=identity_key,json=identityKey,proto3" json:"identity_key,omitempty"` // encoded bytes of AuthData AuthDataBytes []byte `protobuf:"bytes,2,opt,name=auth_data_bytes,json=authDataBytes,proto3" json:"auth_data_bytes,omitempty"` // identity key signature of AuthData bytes AuthDataSignature *message_contents.Signature `protobuf:"bytes,3,opt,name=auth_data_signature,json=authDataSignature,proto3" json:"auth_data_signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Token) Reset() { @@ -95,14 +94,13 @@ func (x *Token) GetAuthDataSignature() *message_contents.Signature { // so that the bytes don't need to be reconstructed // to verify the token signature. type AuthData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // address of the wallet WalletAddr string `protobuf:"bytes,1,opt,name=wallet_addr,json=walletAddr,proto3" json:"wallet_addr,omitempty"` // time when the token was generated/signed - CreatedNs uint64 `protobuf:"varint,2,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` + CreatedNs uint64 `protobuf:"varint,2,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AuthData) Reset() { diff --git a/pkg/proto/message_api/v1/message_api.pb.go b/pkg/proto/message_api/v1/message_api.pb.go index 7eb65927..bf67a329 100644 --- a/pkg/proto/message_api/v1/message_api.pb.go +++ b/pkg/proto/message_api/v1/message_api.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_api/v1/message_api.proto @@ -78,12 +78,11 @@ func (SortDirection) EnumDescriptor() ([]byte, []int) { // receiverTime and pubsubTopic removed for simplicity. // Both removed fields are optional type IndexCursor struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"` + SenderTimeNs uint64 `protobuf:"varint,2,opt,name=sender_time_ns,json=senderTimeNs,proto3" json:"sender_time_ns,omitempty"` unknownFields protoimpl.UnknownFields - - Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"` - SenderTimeNs uint64 `protobuf:"varint,2,opt,name=sender_time_ns,json=senderTimeNs,proto3" json:"sender_time_ns,omitempty"` + sizeCache protoimpl.SizeCache } func (x *IndexCursor) Reset() { @@ -132,18 +131,17 @@ func (x *IndexCursor) GetSenderTimeNs() uint64 { // Wrapper for potentially multiple types of cursor type Cursor struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Making the cursor a one-of type, as I would like to change the way we // handle pagination to use a precomputed sort field. // This way we can handle both methods // - // Types that are assignable to Cursor: + // Types that are valid to be assigned to Cursor: // // *Cursor_Index - Cursor isCursor_Cursor `protobuf_oneof:"cursor"` + Cursor isCursor_Cursor `protobuf_oneof:"cursor"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Cursor) Reset() { @@ -176,16 +174,18 @@ func (*Cursor) Descriptor() ([]byte, []int) { return file_message_api_v1_message_api_proto_rawDescGZIP(), []int{1} } -func (m *Cursor) GetCursor() isCursor_Cursor { - if m != nil { - return m.Cursor +func (x *Cursor) GetCursor() isCursor_Cursor { + if x != nil { + return x.Cursor } return nil } func (x *Cursor) GetIndex() *IndexCursor { - if x, ok := x.GetCursor().(*Cursor_Index); ok { - return x.Index + if x != nil { + if x, ok := x.Cursor.(*Cursor_Index); ok { + return x.Index + } } return nil } @@ -203,14 +203,13 @@ func (*Cursor_Index) isCursor_Cursor() {} // This is based off of the go-waku PagingInfo struct, but with the direction // changed to our SortDirection enum format type PagingInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Note: this is a uint32, while go-waku's pageSize is a uint64 - Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` - Cursor *Cursor `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` - Direction SortDirection `protobuf:"varint,3,opt,name=direction,proto3,enum=xmtp.message_api.v1.SortDirection" json:"direction,omitempty"` + Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` + Cursor *Cursor `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` + Direction SortDirection `protobuf:"varint,3,opt,name=direction,proto3,enum=xmtp.message_api.v1.SortDirection" json:"direction,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PagingInfo) Reset() { @@ -266,10 +265,7 @@ func (x *PagingInfo) GetDirection() SortDirection { // Envelope encapsulates a message while in transit. type Envelope struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The topic the message belongs to, // If the message includes the topic as well // it MUST be the same as the topic in the envelope. @@ -277,8 +273,10 @@ type Envelope struct { // Message creation timestamp // If the message includes the timestamp as well // it MUST be equivalent to the timestamp in the envelope. - TimestampNs uint64 `protobuf:"varint,2,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"` - Message []byte `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + TimestampNs uint64 `protobuf:"varint,2,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"` + Message []byte `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Envelope) Reset() { @@ -334,11 +332,10 @@ func (x *Envelope) GetMessage() []byte { // Publish type PublishRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Envelopes []*Envelope `protobuf:"bytes,1,rep,name=envelopes,proto3" json:"envelopes,omitempty"` unknownFields protoimpl.UnknownFields - - Envelopes []*Envelope `protobuf:"bytes,1,rep,name=envelopes,proto3" json:"envelopes,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PublishRequest) Reset() { @@ -380,9 +377,9 @@ func (x *PublishRequest) GetEnvelopes() []*Envelope { // Empty message as a response for Publish type PublishResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PublishResponse) Reset() { @@ -417,11 +414,10 @@ func (*PublishResponse) Descriptor() ([]byte, []int) { // Subscribe type SubscribeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ContentTopics []string `protobuf:"bytes,1,rep,name=content_topics,json=contentTopics,proto3" json:"content_topics,omitempty"` unknownFields protoimpl.UnknownFields - - ContentTopics []string `protobuf:"bytes,1,rep,name=content_topics,json=contentTopics,proto3" json:"content_topics,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SubscribeRequest) Reset() { @@ -463,9 +459,9 @@ func (x *SubscribeRequest) GetContentTopics() []string { // SubscribeAll type SubscribeAllRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SubscribeAllRequest) Reset() { @@ -500,14 +496,13 @@ func (*SubscribeAllRequest) Descriptor() ([]byte, []int) { // Query type QueryRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ContentTopics []string `protobuf:"bytes,1,rep,name=content_topics,json=contentTopics,proto3" json:"content_topics,omitempty"` + StartTimeNs uint64 `protobuf:"varint,2,opt,name=start_time_ns,json=startTimeNs,proto3" json:"start_time_ns,omitempty"` + EndTimeNs uint64 `protobuf:"varint,3,opt,name=end_time_ns,json=endTimeNs,proto3" json:"end_time_ns,omitempty"` + PagingInfo *PagingInfo `protobuf:"bytes,4,opt,name=paging_info,json=pagingInfo,proto3" json:"paging_info,omitempty"` unknownFields protoimpl.UnknownFields - - ContentTopics []string `protobuf:"bytes,1,rep,name=content_topics,json=contentTopics,proto3" json:"content_topics,omitempty"` - StartTimeNs uint64 `protobuf:"varint,2,opt,name=start_time_ns,json=startTimeNs,proto3" json:"start_time_ns,omitempty"` - EndTimeNs uint64 `protobuf:"varint,3,opt,name=end_time_ns,json=endTimeNs,proto3" json:"end_time_ns,omitempty"` - PagingInfo *PagingInfo `protobuf:"bytes,4,opt,name=paging_info,json=pagingInfo,proto3" json:"paging_info,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryRequest) Reset() { @@ -570,12 +565,11 @@ func (x *QueryRequest) GetPagingInfo() *PagingInfo { // The response, containing envelopes, for a query type QueryResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Envelopes []*Envelope `protobuf:"bytes,1,rep,name=envelopes,proto3" json:"envelopes,omitempty"` + PagingInfo *PagingInfo `protobuf:"bytes,2,opt,name=paging_info,json=pagingInfo,proto3" json:"paging_info,omitempty"` unknownFields protoimpl.UnknownFields - - Envelopes []*Envelope `protobuf:"bytes,1,rep,name=envelopes,proto3" json:"envelopes,omitempty"` - PagingInfo *PagingInfo `protobuf:"bytes,2,opt,name=paging_info,json=pagingInfo,proto3" json:"paging_info,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryResponse) Reset() { @@ -624,11 +618,10 @@ func (x *QueryResponse) GetPagingInfo() *PagingInfo { // BatchQuery type BatchQueryRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Requests []*QueryRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` unknownFields protoimpl.UnknownFields - - Requests []*QueryRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BatchQueryRequest) Reset() { @@ -670,11 +663,10 @@ func (x *BatchQueryRequest) GetRequests() []*QueryRequest { // Response containing a list of QueryResponse messages type BatchQueryResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*QueryResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` unknownFields protoimpl.UnknownFields - - Responses []*QueryResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + sizeCache protoimpl.SizeCache } func (x *BatchQueryResponse) Reset() { diff --git a/pkg/proto/message_contents/ciphertext.pb.go b/pkg/proto/message_contents/ciphertext.pb.go index 061d3396..44ecab6f 100644 --- a/pkg/proto/message_contents/ciphertext.pb.go +++ b/pkg/proto/message_contents/ciphertext.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_contents/ciphertext.proto @@ -27,14 +27,13 @@ const ( // The payload is accompanied by the cryptographic parameters // required by the chosen encryption scheme. type Ciphertext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Union: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Union: // // *Ciphertext_Aes256GcmHkdfSha256 - Union isCiphertext_Union `protobuf_oneof:"union"` + Union isCiphertext_Union `protobuf_oneof:"union"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Ciphertext) Reset() { @@ -67,16 +66,18 @@ func (*Ciphertext) Descriptor() ([]byte, []int) { return file_message_contents_ciphertext_proto_rawDescGZIP(), []int{0} } -func (m *Ciphertext) GetUnion() isCiphertext_Union { - if m != nil { - return m.Union +func (x *Ciphertext) GetUnion() isCiphertext_Union { + if x != nil { + return x.Union } return nil } func (x *Ciphertext) GetAes256GcmHkdfSha256() *Ciphertext_Aes256GcmHkdfsha256 { - if x, ok := x.GetUnion().(*Ciphertext_Aes256GcmHkdfSha256); ok { - return x.Aes256GcmHkdfSha256 + if x != nil { + if x, ok := x.Union.(*Ciphertext_Aes256GcmHkdfSha256); ok { + return x.Aes256GcmHkdfSha256 + } } return nil } @@ -93,14 +94,13 @@ func (*Ciphertext_Aes256GcmHkdfSha256) isCiphertext_Union() {} // SignedEciesCiphertext represents an ECIES encrypted payload and a signature type SignedEciesCiphertext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // serialized Ecies message EciesBytes []byte `protobuf:"bytes,1,opt,name=ecies_bytes,json=eciesBytes,proto3" json:"ecies_bytes,omitempty"` // signature of sha256(ecies_bytes) signed with the IdentityKey - Signature *Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + Signature *Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SignedEciesCiphertext) Reset() { @@ -150,13 +150,12 @@ func (x *SignedEciesCiphertext) GetSignature() *Signature { // Encryption: AES256-GCM // Key derivation function: HKDF-SHA256 type Ciphertext_Aes256GcmHkdfsha256 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + HkdfSalt []byte `protobuf:"bytes,1,opt,name=hkdf_salt,json=hkdfSalt,proto3" json:"hkdf_salt,omitempty"` // 32 bytes + GcmNonce []byte `protobuf:"bytes,2,opt,name=gcm_nonce,json=gcmNonce,proto3" json:"gcm_nonce,omitempty"` // 12 bytes + Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` // encrypted payload unknownFields protoimpl.UnknownFields - - HkdfSalt []byte `protobuf:"bytes,1,opt,name=hkdf_salt,json=hkdfSalt,proto3" json:"hkdf_salt,omitempty"` // 32 bytes - GcmNonce []byte `protobuf:"bytes,2,opt,name=gcm_nonce,json=gcmNonce,proto3" json:"gcm_nonce,omitempty"` // 12 bytes - Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` // encrypted payload + sizeCache protoimpl.SizeCache } func (x *Ciphertext_Aes256GcmHkdfsha256) Reset() { @@ -212,14 +211,13 @@ func (x *Ciphertext_Aes256GcmHkdfsha256) GetPayload() []byte { // Ecies is ciphertext encrypted using ECIES with a MAC type SignedEciesCiphertext_Ecies struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EphemeralPublicKey []byte `protobuf:"bytes,1,opt,name=ephemeral_public_key,json=ephemeralPublicKey,proto3" json:"ephemeral_public_key,omitempty"` // 65 bytes - Iv []byte `protobuf:"bytes,2,opt,name=iv,proto3" json:"iv,omitempty"` // 16 bytes - Mac []byte `protobuf:"bytes,3,opt,name=mac,proto3" json:"mac,omitempty"` // 32 bytes - Ciphertext []byte `protobuf:"bytes,4,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"` // encrypted payload with block size of 16 + state protoimpl.MessageState `protogen:"open.v1"` + EphemeralPublicKey []byte `protobuf:"bytes,1,opt,name=ephemeral_public_key,json=ephemeralPublicKey,proto3" json:"ephemeral_public_key,omitempty"` // 65 bytes + Iv []byte `protobuf:"bytes,2,opt,name=iv,proto3" json:"iv,omitempty"` // 16 bytes + Mac []byte `protobuf:"bytes,3,opt,name=mac,proto3" json:"mac,omitempty"` // 32 bytes + Ciphertext []byte `protobuf:"bytes,4,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"` // encrypted payload with block size of 16 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SignedEciesCiphertext_Ecies) Reset() { diff --git a/pkg/proto/message_contents/composite.pb.go b/pkg/proto/message_contents/composite.pb.go index ad77d364..b745e8f3 100644 --- a/pkg/proto/message_contents/composite.pb.go +++ b/pkg/proto/message_contents/composite.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_contents/composite.proto @@ -24,11 +24,10 @@ const ( // Composite is used to implement xmtp.org/composite content type type Composite struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Parts []*Composite_Part `protobuf:"bytes,1,rep,name=parts,proto3" json:"parts,omitempty"` unknownFields protoimpl.UnknownFields - - Parts []*Composite_Part `protobuf:"bytes,1,rep,name=parts,proto3" json:"parts,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Composite) Reset() { @@ -70,15 +69,14 @@ func (x *Composite) GetParts() []*Composite_Part { // Part represents one section of a composite message type Composite_Part struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Element: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Element: // // *Composite_Part_Part // *Composite_Part_Composite - Element isComposite_Part_Element `protobuf_oneof:"element"` + Element isComposite_Part_Element `protobuf_oneof:"element"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Composite_Part) Reset() { @@ -111,23 +109,27 @@ func (*Composite_Part) Descriptor() ([]byte, []int) { return file_message_contents_composite_proto_rawDescGZIP(), []int{0, 0} } -func (m *Composite_Part) GetElement() isComposite_Part_Element { - if m != nil { - return m.Element +func (x *Composite_Part) GetElement() isComposite_Part_Element { + if x != nil { + return x.Element } return nil } func (x *Composite_Part) GetPart() *EncodedContent { - if x, ok := x.GetElement().(*Composite_Part_Part); ok { - return x.Part + if x != nil { + if x, ok := x.Element.(*Composite_Part_Part); ok { + return x.Part + } } return nil } func (x *Composite_Part) GetComposite() *Composite { - if x, ok := x.GetElement().(*Composite_Part_Composite); ok { - return x.Composite + if x != nil { + if x, ok := x.Element.(*Composite_Part_Composite); ok { + return x.Composite + } } return nil } diff --git a/pkg/proto/message_contents/contact.pb.go b/pkg/proto/message_contents/contact.pb.go index 66d6b2ec..3c71f2da 100644 --- a/pkg/proto/message_contents/contact.pb.go +++ b/pkg/proto/message_contents/contact.pb.go @@ -6,7 +6,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_contents/contact.proto @@ -29,11 +29,10 @@ const ( // LEGACY: User key bundle V1 using PublicKeys. // The PublicKeys MUST be signed. type ContactBundleV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + KeyBundle *PublicKeyBundle `protobuf:"bytes,1,opt,name=key_bundle,json=keyBundle,proto3" json:"key_bundle,omitempty"` unknownFields protoimpl.UnknownFields - - KeyBundle *PublicKeyBundle `protobuf:"bytes,1,opt,name=key_bundle,json=keyBundle,proto3" json:"key_bundle,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ContactBundleV1) Reset() { @@ -75,11 +74,10 @@ func (x *ContactBundleV1) GetKeyBundle() *PublicKeyBundle { // User key bundle V2 using SignedPublicKeys. type ContactBundleV2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + KeyBundle *SignedPublicKeyBundle `protobuf:"bytes,1,opt,name=key_bundle,json=keyBundle,proto3" json:"key_bundle,omitempty"` unknownFields protoimpl.UnknownFields - - KeyBundle *SignedPublicKeyBundle `protobuf:"bytes,1,opt,name=key_bundle,json=keyBundle,proto3" json:"key_bundle,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ContactBundleV2) Reset() { @@ -121,15 +119,14 @@ func (x *ContactBundleV2) GetKeyBundle() *SignedPublicKeyBundle { // Versioned ContactBundle type ContactBundle struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *ContactBundle_V1 // *ContactBundle_V2 - Version isContactBundle_Version `protobuf_oneof:"version"` + Version isContactBundle_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ContactBundle) Reset() { @@ -162,23 +159,27 @@ func (*ContactBundle) Descriptor() ([]byte, []int) { return file_message_contents_contact_proto_rawDescGZIP(), []int{2} } -func (m *ContactBundle) GetVersion() isContactBundle_Version { - if m != nil { - return m.Version +func (x *ContactBundle) GetVersion() isContactBundle_Version { + if x != nil { + return x.Version } return nil } func (x *ContactBundle) GetV1() *ContactBundleV1 { - if x, ok := x.GetVersion().(*ContactBundle_V1); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*ContactBundle_V1); ok { + return x.V1 + } } return nil } func (x *ContactBundle) GetV2() *ContactBundleV2 { - if x, ok := x.GetVersion().(*ContactBundle_V2); ok { - return x.V2 + if x != nil { + if x, ok := x.Version.(*ContactBundle_V2); ok { + return x.V2 + } } return nil } diff --git a/pkg/proto/message_contents/content.pb.go b/pkg/proto/message_contents/content.pb.go index 0ef5b8b0..ad29c95e 100644 --- a/pkg/proto/message_contents/content.pb.go +++ b/pkg/proto/message_contents/content.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_contents/content.proto @@ -72,14 +72,13 @@ func (Compression) EnumDescriptor() ([]byte, []int) { // ContentTypeId is used to identify the type of content stored in a Message. type ContentTypeId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AuthorityId string `protobuf:"bytes,1,opt,name=authority_id,json=authorityId,proto3" json:"authority_id,omitempty"` // authority governing this content type + TypeId string `protobuf:"bytes,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` // type identifier + VersionMajor uint32 `protobuf:"varint,3,opt,name=version_major,json=versionMajor,proto3" json:"version_major,omitempty"` // major version of the type + VersionMinor uint32 `protobuf:"varint,4,opt,name=version_minor,json=versionMinor,proto3" json:"version_minor,omitempty"` // minor version of the type unknownFields protoimpl.UnknownFields - - AuthorityId string `protobuf:"bytes,1,opt,name=authority_id,json=authorityId,proto3" json:"authority_id,omitempty"` // authority governing this content type - TypeId string `protobuf:"bytes,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` // type identifier - VersionMajor uint32 `protobuf:"varint,3,opt,name=version_major,json=versionMajor,proto3" json:"version_major,omitempty"` // major version of the type - VersionMinor uint32 `protobuf:"varint,4,opt,name=version_minor,json=versionMinor,proto3" json:"version_minor,omitempty"` // minor version of the type + sizeCache protoimpl.SizeCache } func (x *ContentTypeId) Reset() { @@ -143,15 +142,12 @@ func (x *ContentTypeId) GetVersionMinor() uint32 { // EncodedContent bundles the content with metadata identifying its type // and parameters required for correct decoding and presentation of the content. type EncodedContent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // content type identifier used to match the payload with // the correct decoding machinery Type *ContentTypeId `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // optional encoding parameters required to correctly decode the content - Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // optional fallback description of the content that can be used in case // the client cannot decode or render the content Fallback *string `protobuf:"bytes,3,opt,name=fallback,proto3,oneof" json:"fallback,omitempty"` @@ -159,7 +155,9 @@ type EncodedContent struct { // compress the encoded content bytes Compression *Compression `protobuf:"varint,5,opt,name=compression,proto3,enum=xmtp.message_contents.Compression,oneof" json:"compression,omitempty"` // encoded content itself - Content []byte `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` + Content []byte `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EncodedContent) Reset() { @@ -229,17 +227,16 @@ func (x *EncodedContent) GetContent() []byte { // SignedContent attaches a signature to EncodedContent. type SignedContent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // MUST contain EncodedContent Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` Sender *SignedPublicKeyBundle `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` // MUST be a signature of a concatenation of // the message header bytes and the payload bytes, // signed by the sender's pre-key. - Signature *Signature `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` + Signature *Signature `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SignedContent) Reset() { diff --git a/pkg/proto/message_contents/conversation_reference.pb.go b/pkg/proto/message_contents/conversation_reference.pb.go index 2ce65cfd..c1829d0d 100644 --- a/pkg/proto/message_contents/conversation_reference.pb.go +++ b/pkg/proto/message_contents/conversation_reference.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_contents/conversation_reference.proto @@ -24,15 +24,14 @@ const ( // A light pointer for a conversation that contains no decryption keys type ConversationReference struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` - PeerAddress string `protobuf:"bytes,2,opt,name=peer_address,json=peerAddress,proto3" json:"peer_address,omitempty"` - CreatedNs uint64 `protobuf:"varint,3,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` - Context *InvitationV1_Context `protobuf:"bytes,4,opt,name=context,proto3" json:"context,omitempty"` - ConsentProofPayload *ConsentProofPayload `protobuf:"bytes,5,opt,name=consent_proof_payload,json=consentProofPayload,proto3" json:"consent_proof_payload,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` + PeerAddress string `protobuf:"bytes,2,opt,name=peer_address,json=peerAddress,proto3" json:"peer_address,omitempty"` + CreatedNs uint64 `protobuf:"varint,3,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` + Context *InvitationV1_Context `protobuf:"bytes,4,opt,name=context,proto3" json:"context,omitempty"` + ConsentProofPayload *ConsentProofPayload `protobuf:"bytes,5,opt,name=consent_proof_payload,json=consentProofPayload,proto3" json:"consent_proof_payload,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ConversationReference) Reset() { diff --git a/pkg/proto/message_contents/ecies.pb.go b/pkg/proto/message_contents/ecies.pb.go index 031a5ab6..4efcc4dd 100644 --- a/pkg/proto/message_contents/ecies.pb.go +++ b/pkg/proto/message_contents/ecies.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_contents/ecies.proto @@ -24,14 +24,13 @@ const ( // EciesMessage is a wrapper for ECIES encrypted payloads type EciesMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *EciesMessage_V1 - Version isEciesMessage_Version `protobuf_oneof:"version"` + Version isEciesMessage_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EciesMessage) Reset() { @@ -64,16 +63,18 @@ func (*EciesMessage) Descriptor() ([]byte, []int) { return file_message_contents_ecies_proto_rawDescGZIP(), []int{0} } -func (m *EciesMessage) GetVersion() isEciesMessage_Version { - if m != nil { - return m.Version +func (x *EciesMessage) GetVersion() isEciesMessage_Version { + if x != nil { + return x.Version } return nil } func (x *EciesMessage) GetV1() []byte { - if x, ok := x.GetVersion().(*EciesMessage_V1); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*EciesMessage_V1); ok { + return x.V1 + } } return nil } diff --git a/pkg/proto/message_contents/frames.pb.go b/pkg/proto/message_contents/frames.pb.go index cd3e532e..882d42e1 100644 --- a/pkg/proto/message_contents/frames.pb.go +++ b/pkg/proto/message_contents/frames.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_contents/frames.proto @@ -25,10 +25,7 @@ const ( // The message that will be signed by the Client and returned inside the // `action_body` field of the FrameAction message type FrameActionBody struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The URL of the frame that was clicked // May be different from `post_url` FrameUrl string `protobuf:"bytes,1,opt,name=frame_url,json=frameUrl,proto3" json:"frame_url,omitempty"` @@ -51,6 +48,8 @@ type FrameActionBody struct { Address string `protobuf:"bytes,8,opt,name=address,proto3" json:"address,omitempty"` // A hash from a transaction TransactionId string `protobuf:"bytes,9,opt,name=transaction_id,json=transactionId,proto3" json:"transaction_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FrameActionBody) Reset() { @@ -150,17 +149,25 @@ func (x *FrameActionBody) GetTransactionId() string { // The outer payload that will be sent as the `messageBytes` in the // `trusted_data` part of the Frames message type FrameAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` + // Deprecated: Marked as deprecated in message_contents/frames.proto. Signature *Signature `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` // The SignedPublicKeyBundle of the signer, used to link the XMTP signature // with a blockchain account through a chain of signatures. + // + // Deprecated: Marked as deprecated in message_contents/frames.proto. SignedPublicKeyBundle *SignedPublicKeyBundle `protobuf:"bytes,2,opt,name=signed_public_key_bundle,json=signedPublicKeyBundle,proto3" json:"signed_public_key_bundle,omitempty"` // Serialized FrameActionBody message, so that the signature verification can // happen on a byte-perfect representation of the message ActionBody []byte `protobuf:"bytes,3,opt,name=action_body,json=actionBody,proto3" json:"action_body,omitempty"` + // The installation signature + InstallationSignature []byte `protobuf:"bytes,4,opt,name=installation_signature,json=installationSignature,proto3" json:"installation_signature,omitempty"` + // The public installation id used to sign. + InstallationId []byte `protobuf:"bytes,5,opt,name=installation_id,json=installationId,proto3" json:"installation_id,omitempty"` + // The inbox id of the installation used to sign. + InboxId string `protobuf:"bytes,6,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FrameAction) Reset() { @@ -193,6 +200,7 @@ func (*FrameAction) Descriptor() ([]byte, []int) { return file_message_contents_frames_proto_rawDescGZIP(), []int{1} } +// Deprecated: Marked as deprecated in message_contents/frames.proto. func (x *FrameAction) GetSignature() *Signature { if x != nil { return x.Signature @@ -200,6 +208,7 @@ func (x *FrameAction) GetSignature() *Signature { return nil } +// Deprecated: Marked as deprecated in message_contents/frames.proto. func (x *FrameAction) GetSignedPublicKeyBundle() *SignedPublicKeyBundle { if x != nil { return x.SignedPublicKeyBundle @@ -214,6 +223,27 @@ func (x *FrameAction) GetActionBody() []byte { return nil } +func (x *FrameAction) GetInstallationSignature() []byte { + if x != nil { + return x.InstallationSignature + } + return nil +} + +func (x *FrameAction) GetInstallationId() []byte { + if x != nil { + return x.InstallationId + } + return nil +} + +func (x *FrameAction) GetInboxId() string { + if x != nil { + return x.InboxId + } + return "" +} + var File_message_contents_frames_proto protoreflect.FileDescriptor var file_message_contents_frames_proto_rawDesc = []byte{ @@ -246,34 +276,42 @@ var file_message_contents_frames_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xd5, 0x01, 0x0a, 0x0b, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xd8, 0x02, 0x0a, 0x0b, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x15, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x64, 0x79, 0x42, 0xd2, 0x01, 0x0a, - 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0b, 0x46, 0x72, 0x61, 0x6d, - 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2d, - 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, - 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, - 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x69, 0x0a, 0x18, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, + 0x70, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, + 0x65, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6f, + 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x6f, 0x64, 0x79, 0x12, 0x35, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x42, + 0xd2, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0b, 0x46, + 0x72, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x78, 0x6d, + 0x74, 0x70, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x14, 0x58, 0x6d, + 0x74, 0x70, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x73, 0xca, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, + 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x58, + 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pkg/proto/message_contents/invitation.pb.go b/pkg/proto/message_contents/invitation.pb.go index 0350cd72..62c94809 100644 --- a/pkg/proto/message_contents/invitation.pb.go +++ b/pkg/proto/message_contents/invitation.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_contents/invitation.proto @@ -73,10 +73,7 @@ func (ConsentProofPayloadVersion) EnumDescriptor() ([]byte, []int) { // Unsealed invitation V1 type InvitationV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // topic name chosen for this conversation. // It MUST be randomly generated bytes (length >= 32), // then base64 encoded without padding @@ -85,12 +82,14 @@ type InvitationV1 struct { Context *InvitationV1_Context `protobuf:"bytes,2,opt,name=context,proto3" json:"context,omitempty"` // message encryption scheme and keys for this conversation. // - // Types that are assignable to Encryption: + // Types that are valid to be assigned to Encryption: // // *InvitationV1_Aes256GcmHkdfSha256 Encryption isInvitationV1_Encryption `protobuf_oneof:"encryption"` // The user's consent proof - ConsentProof *ConsentProofPayload `protobuf:"bytes,4,opt,name=consent_proof,json=consentProof,proto3" json:"consent_proof,omitempty"` + ConsentProof *ConsentProofPayload `protobuf:"bytes,4,opt,name=consent_proof,json=consentProof,proto3" json:"consent_proof,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *InvitationV1) Reset() { @@ -137,16 +136,18 @@ func (x *InvitationV1) GetContext() *InvitationV1_Context { return nil } -func (m *InvitationV1) GetEncryption() isInvitationV1_Encryption { - if m != nil { - return m.Encryption +func (x *InvitationV1) GetEncryption() isInvitationV1_Encryption { + if x != nil { + return x.Encryption } return nil } func (x *InvitationV1) GetAes256GcmHkdfSha256() *InvitationV1_Aes256GcmHkdfsha256 { - if x, ok := x.GetEncryption().(*InvitationV1_Aes256GcmHkdfSha256); ok { - return x.Aes256GcmHkdfSha256 + if x != nil { + if x, ok := x.Encryption.(*InvitationV1_Aes256GcmHkdfSha256); ok { + return x.Aes256GcmHkdfSha256 + } } return nil } @@ -174,13 +175,12 @@ func (*InvitationV1_Aes256GcmHkdfSha256) isInvitationV1_Encryption() {} // it is however authenticated as associated data with the AEAD scheme used // to encrypt the invitation body, thus providing tamper evidence. type SealedInvitationHeaderV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Sender *SignedPublicKeyBundle `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + Recipient *SignedPublicKeyBundle `protobuf:"bytes,2,opt,name=recipient,proto3" json:"recipient,omitempty"` + CreatedNs uint64 `protobuf:"varint,3,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` unknownFields protoimpl.UnknownFields - - Sender *SignedPublicKeyBundle `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` - Recipient *SignedPublicKeyBundle `protobuf:"bytes,2,opt,name=recipient,proto3" json:"recipient,omitempty"` - CreatedNs uint64 `protobuf:"varint,3,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SealedInvitationHeaderV1) Reset() { @@ -239,14 +239,13 @@ func (x *SealedInvitationHeaderV1) GetCreatedNs() uint64 { // recipient's public key bundles using simplified X3DH where // the sender's ephemeral key is replaced with sender's pre-key. type SealedInvitationV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // encoded SealedInvitationHeaderV1 used as associated data for Ciphertext HeaderBytes []byte `protobuf:"bytes,1,opt,name=header_bytes,json=headerBytes,proto3" json:"header_bytes,omitempty"` // Ciphertext.payload MUST contain encrypted InvitationV1. - Ciphertext *Ciphertext `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"` + Ciphertext *Ciphertext `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SealedInvitationV1) Reset() { @@ -295,14 +294,13 @@ func (x *SealedInvitationV1) GetCiphertext() *Ciphertext { // Versioned Sealed Invitation type SealedInvitation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *SealedInvitation_V1 - Version isSealedInvitation_Version `protobuf_oneof:"version"` + Version isSealedInvitation_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SealedInvitation) Reset() { @@ -335,16 +333,18 @@ func (*SealedInvitation) Descriptor() ([]byte, []int) { return file_message_contents_invitation_proto_rawDescGZIP(), []int{3} } -func (m *SealedInvitation) GetVersion() isSealedInvitation_Version { - if m != nil { - return m.Version +func (x *SealedInvitation) GetVersion() isSealedInvitation_Version { + if x != nil { + return x.Version } return nil } func (x *SealedInvitation) GetV1() *SealedInvitationV1 { - if x, ok := x.GetVersion().(*SealedInvitation_V1); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*SealedInvitation_V1); ok { + return x.V1 + } } return nil } @@ -362,16 +362,15 @@ func (*SealedInvitation_V1) isSealedInvitation_Version() {} // Payload for user's consent proof to be set in the invitation // Signifying the conversation should be preapproved for the user on receipt type ConsentProofPayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // the user's signature in hex format Signature string `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` // approximate time when the user signed Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // version of the payload PayloadVersion ConsentProofPayloadVersion `protobuf:"varint,3,opt,name=payload_version,json=payloadVersion,proto3,enum=xmtp.message_contents.ConsentProofPayloadVersion" json:"payload_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ConsentProofPayload) Reset() { @@ -428,11 +427,10 @@ func (x *ConsentProofPayload) GetPayloadVersion() ConsentProofPayloadVersion { // Supported encryption schemes // AES256-GCM-HKDF-SHA256 type InvitationV1_Aes256GcmHkdfsha256 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + KeyMaterial []byte `protobuf:"bytes,1,opt,name=key_material,json=keyMaterial,proto3" json:"key_material,omitempty"` // randomly generated key material (32 bytes) unknownFields protoimpl.UnknownFields - - KeyMaterial []byte `protobuf:"bytes,1,opt,name=key_material,json=keyMaterial,proto3" json:"key_material,omitempty"` // randomly generated key material (32 bytes) + sizeCache protoimpl.SizeCache } func (x *InvitationV1_Aes256GcmHkdfsha256) Reset() { @@ -474,15 +472,14 @@ func (x *InvitationV1_Aes256GcmHkdfsha256) GetKeyMaterial() []byte { // The context type type InvitationV1_Context struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Expected to be a URI (ie xmtp.org/convo1) ConversationId string `protobuf:"bytes,1,opt,name=conversation_id,json=conversationId,proto3" json:"conversation_id,omitempty"` // Key value map of additional metadata that would be exposed to // application developers and could be used for filtering - Metadata map[string]string `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Metadata map[string]string `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *InvitationV1_Context) Reset() { diff --git a/pkg/proto/message_contents/message.pb.go b/pkg/proto/message_contents/message.pb.go index c913f9b9..df123b71 100644 --- a/pkg/proto/message_contents/message.pb.go +++ b/pkg/proto/message_contents/message.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_contents/message.proto @@ -25,13 +25,12 @@ const ( // Message header is encoded separately as the bytes are also used // as associated data for authenticated encryption type MessageHeaderV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Sender *PublicKeyBundle `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + Recipient *PublicKeyBundle `protobuf:"bytes,2,opt,name=recipient,proto3" json:"recipient,omitempty"` + Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` unknownFields protoimpl.UnknownFields - - Sender *PublicKeyBundle `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` - Recipient *PublicKeyBundle `protobuf:"bytes,2,opt,name=recipient,proto3" json:"recipient,omitempty"` - Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MessageHeaderV1) Reset() { @@ -87,14 +86,13 @@ func (x *MessageHeaderV1) GetTimestamp() uint64 { // Message is the top level protocol element type MessageV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // encapsulates encoded MessageHeaderV1 HeaderBytes []byte `protobuf:"bytes,1,opt,name=header_bytes,json=headerBytes,proto3" json:"header_bytes,omitempty"` // Ciphertext.payload MUST contain encrypted EncodedContent - Ciphertext *Ciphertext `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"` + Ciphertext *Ciphertext `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MessageV1) Reset() { @@ -146,14 +144,13 @@ func (x *MessageV1) GetCiphertext() *Ciphertext { // of the AEAD encryption used to protect the message, // thus providing tamper evidence. type MessageHeaderV2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // sender specified message creation time CreatedNs uint64 `protobuf:"varint,1,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` // the topic the message belongs to - Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"` + Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MessageHeaderV2) Reset() { @@ -202,10 +199,7 @@ func (x *MessageHeaderV2) GetTopic() string { // Message combines the encoded header with the encrypted payload. type MessageV2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // encapsulates encoded MessageHeaderV2 HeaderBytes []byte `protobuf:"bytes,1,opt,name=header_bytes,json=headerBytes,proto3" json:"header_bytes,omitempty"` // Ciphertext.payload MUST contain encrypted SignedContent @@ -215,7 +209,9 @@ type MessageV2 struct { SenderHmac []byte `protobuf:"bytes,3,opt,name=sender_hmac,json=senderHmac,proto3,oneof" json:"sender_hmac,omitempty"` // Flag indicating whether the message should be pushed from a notification // server - ShouldPush *bool `protobuf:"varint,4,opt,name=should_push,json=shouldPush,proto3,oneof" json:"should_push,omitempty"` + ShouldPush *bool `protobuf:"varint,4,opt,name=should_push,json=shouldPush,proto3,oneof" json:"should_push,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MessageV2) Reset() { @@ -278,15 +274,14 @@ func (x *MessageV2) GetShouldPush() bool { // Versioned Message type Message struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *Message_V1 // *Message_V2 - Version isMessage_Version `protobuf_oneof:"version"` + Version isMessage_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Message) Reset() { @@ -319,23 +314,27 @@ func (*Message) Descriptor() ([]byte, []int) { return file_message_contents_message_proto_rawDescGZIP(), []int{4} } -func (m *Message) GetVersion() isMessage_Version { - if m != nil { - return m.Version +func (x *Message) GetVersion() isMessage_Version { + if x != nil { + return x.Version } return nil } func (x *Message) GetV1() *MessageV1 { - if x, ok := x.GetVersion().(*Message_V1); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*Message_V1); ok { + return x.V1 + } } return nil } func (x *Message) GetV2() *MessageV2 { - if x, ok := x.GetVersion().(*Message_V2); ok { - return x.V2 + if x != nil { + if x, ok := x.Version.(*Message_V2); ok { + return x.V2 + } } return nil } @@ -360,10 +359,7 @@ func (*Message_V2) isMessage_Version() {} // DecodedMessage instances are not stored on the network, but // may be serialized and stored by clients type DecodedMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` MessageVersion string `protobuf:"bytes,2,opt,name=message_version,json=messageVersion,proto3" json:"message_version,omitempty"` SenderAddress string `protobuf:"bytes,3,opt,name=sender_address,json=senderAddress,proto3" json:"sender_address,omitempty"` @@ -372,6 +368,8 @@ type DecodedMessage struct { ContentTopic string `protobuf:"bytes,6,opt,name=content_topic,json=contentTopic,proto3" json:"content_topic,omitempty"` Conversation *ConversationReference `protobuf:"bytes,7,opt,name=conversation,proto3" json:"conversation,omitempty"` ContentBytes []byte `protobuf:"bytes,8,opt,name=content_bytes,json=contentBytes,proto3" json:"content_bytes,omitempty"` // encapsulates EncodedContent + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DecodedMessage) Reset() { diff --git a/pkg/proto/message_contents/private_key.pb.go b/pkg/proto/message_contents/private_key.pb.go index 716b4107..17626acb 100644 --- a/pkg/proto/message_contents/private_key.pb.go +++ b/pkg/proto/message_contents/private_key.pb.go @@ -5,7 +5,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_contents/private_key.proto @@ -27,20 +27,19 @@ const ( // PrivateKey generalized to support different key types type SignedPrivateKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // time the key was created CreatedNs uint64 `protobuf:"varint,1,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` // private key // - // Types that are assignable to Union: + // Types that are valid to be assigned to Union: // // *SignedPrivateKey_Secp256K1_ Union isSignedPrivateKey_Union `protobuf_oneof:"union"` // public key for this private key - PublicKey *SignedPublicKey `protobuf:"bytes,3,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + PublicKey *SignedPublicKey `protobuf:"bytes,3,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SignedPrivateKey) Reset() { @@ -80,16 +79,18 @@ func (x *SignedPrivateKey) GetCreatedNs() uint64 { return 0 } -func (m *SignedPrivateKey) GetUnion() isSignedPrivateKey_Union { - if m != nil { - return m.Union +func (x *SignedPrivateKey) GetUnion() isSignedPrivateKey_Union { + if x != nil { + return x.Union } return nil } func (x *SignedPrivateKey) GetSecp256K1() *SignedPrivateKey_Secp256K1 { - if x, ok := x.GetUnion().(*SignedPrivateKey_Secp256K1_); ok { - return x.Secp256K1 + if x != nil { + if x, ok := x.Union.(*SignedPrivateKey_Secp256K1_); ok { + return x.Secp256K1 + } } return nil } @@ -114,13 +115,12 @@ func (*SignedPrivateKey_Secp256K1_) isSignedPrivateKey_Union() {} // PrivateKeyBundle wraps the identityKey and the preKeys, // enforces usage of signed keys. type PrivateKeyBundleV2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IdentityKey *SignedPrivateKey `protobuf:"bytes,1,opt,name=identity_key,json=identityKey,proto3" json:"identity_key,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + IdentityKey *SignedPrivateKey `protobuf:"bytes,1,opt,name=identity_key,json=identityKey,proto3" json:"identity_key,omitempty"` // all the known pre-keys, newer keys first, - PreKeys []*SignedPrivateKey `protobuf:"bytes,2,rep,name=pre_keys,json=preKeys,proto3" json:"pre_keys,omitempty"` + PreKeys []*SignedPrivateKey `protobuf:"bytes,2,rep,name=pre_keys,json=preKeys,proto3" json:"pre_keys,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PrivateKeyBundleV2) Reset() { @@ -169,20 +169,19 @@ func (x *PrivateKeyBundleV2) GetPreKeys() []*SignedPrivateKey { // LEGACY: PrivateKey generalized to support different key types type PrivateKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // time the key was created Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // private key // - // Types that are assignable to Union: + // Types that are valid to be assigned to Union: // // *PrivateKey_Secp256K1_ Union isPrivateKey_Union `protobuf_oneof:"union"` // public key for this private key - PublicKey *PublicKey `protobuf:"bytes,3,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + PublicKey *PublicKey `protobuf:"bytes,3,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PrivateKey) Reset() { @@ -222,16 +221,18 @@ func (x *PrivateKey) GetTimestamp() uint64 { return 0 } -func (m *PrivateKey) GetUnion() isPrivateKey_Union { - if m != nil { - return m.Union +func (x *PrivateKey) GetUnion() isPrivateKey_Union { + if x != nil { + return x.Union } return nil } func (x *PrivateKey) GetSecp256K1() *PrivateKey_Secp256K1 { - if x, ok := x.GetUnion().(*PrivateKey_Secp256K1_); ok { - return x.Secp256K1 + if x != nil { + if x, ok := x.Union.(*PrivateKey_Secp256K1_); ok { + return x.Secp256K1 + } } return nil } @@ -255,13 +256,12 @@ func (*PrivateKey_Secp256K1_) isPrivateKey_Union() {} // LEGACY: PrivateKeyBundleV1 wraps the identityKey and the preKeys type PrivateKeyBundleV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IdentityKey *PrivateKey `protobuf:"bytes,1,opt,name=identity_key,json=identityKey,proto3" json:"identity_key,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + IdentityKey *PrivateKey `protobuf:"bytes,1,opt,name=identity_key,json=identityKey,proto3" json:"identity_key,omitempty"` // all the known pre-keys, newer keys first, - PreKeys []*PrivateKey `protobuf:"bytes,2,rep,name=pre_keys,json=preKeys,proto3" json:"pre_keys,omitempty"` + PreKeys []*PrivateKey `protobuf:"bytes,2,rep,name=pre_keys,json=preKeys,proto3" json:"pre_keys,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PrivateKeyBundleV1) Reset() { @@ -310,15 +310,14 @@ func (x *PrivateKeyBundleV1) GetPreKeys() []*PrivateKey { // Versioned PrivateKeyBundle type PrivateKeyBundle struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *PrivateKeyBundle_V1 // *PrivateKeyBundle_V2 - Version isPrivateKeyBundle_Version `protobuf_oneof:"version"` + Version isPrivateKeyBundle_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PrivateKeyBundle) Reset() { @@ -351,23 +350,27 @@ func (*PrivateKeyBundle) Descriptor() ([]byte, []int) { return file_message_contents_private_key_proto_rawDescGZIP(), []int{4} } -func (m *PrivateKeyBundle) GetVersion() isPrivateKeyBundle_Version { - if m != nil { - return m.Version +func (x *PrivateKeyBundle) GetVersion() isPrivateKeyBundle_Version { + if x != nil { + return x.Version } return nil } func (x *PrivateKeyBundle) GetV1() *PrivateKeyBundleV1 { - if x, ok := x.GetVersion().(*PrivateKeyBundle_V1); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*PrivateKeyBundle_V1); ok { + return x.V1 + } } return nil } func (x *PrivateKeyBundle) GetV2() *PrivateKeyBundleV2 { - if x, ok := x.GetVersion().(*PrivateKeyBundle_V2); ok { - return x.V2 + if x != nil { + if x, ok := x.Version.(*PrivateKeyBundle_V2); ok { + return x.V2 + } } return nil } @@ -394,14 +397,13 @@ func (*PrivateKeyBundle_V2) isPrivateKeyBundle_Version() {} // the pre-key embedded in it. // (see xmtp-js::PrivateKeyBundle.toEncryptedBytes for details) type EncryptedPrivateKeyBundleV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // randomly generated pre-key WalletPreKey []byte `protobuf:"bytes,1,opt,name=wallet_pre_key,json=walletPreKey,proto3" json:"wallet_pre_key,omitempty"` // 32 bytes // MUST contain encrypted PrivateKeyBundle - Ciphertext *Ciphertext `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"` + Ciphertext *Ciphertext `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EncryptedPrivateKeyBundleV1) Reset() { @@ -450,14 +452,13 @@ func (x *EncryptedPrivateKeyBundleV1) GetCiphertext() *Ciphertext { // Versioned encrypted PrivateKeyBundle type EncryptedPrivateKeyBundle struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *EncryptedPrivateKeyBundle_V1 - Version isEncryptedPrivateKeyBundle_Version `protobuf_oneof:"version"` + Version isEncryptedPrivateKeyBundle_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EncryptedPrivateKeyBundle) Reset() { @@ -490,16 +491,18 @@ func (*EncryptedPrivateKeyBundle) Descriptor() ([]byte, []int) { return file_message_contents_private_key_proto_rawDescGZIP(), []int{6} } -func (m *EncryptedPrivateKeyBundle) GetVersion() isEncryptedPrivateKeyBundle_Version { - if m != nil { - return m.Version +func (x *EncryptedPrivateKeyBundle) GetVersion() isEncryptedPrivateKeyBundle_Version { + if x != nil { + return x.Version } return nil } func (x *EncryptedPrivateKeyBundle) GetV1() *EncryptedPrivateKeyBundleV1 { - if x, ok := x.GetVersion().(*EncryptedPrivateKeyBundle_V1); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*EncryptedPrivateKeyBundle_V1); ok { + return x.V1 + } } return nil } @@ -516,11 +519,10 @@ func (*EncryptedPrivateKeyBundle_V1) isEncryptedPrivateKeyBundle_Version() {} // EC: SECP256k1 type SignedPrivateKey_Secp256K1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` // D big-endian, 32 bytes unknownFields protoimpl.UnknownFields - - Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` // D big-endian, 32 bytes + sizeCache protoimpl.SizeCache } func (x *SignedPrivateKey_Secp256K1) Reset() { @@ -562,11 +564,10 @@ func (x *SignedPrivateKey_Secp256K1) GetBytes() []byte { // EC: SECP256k1 type PrivateKey_Secp256K1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` // D big-endian, 32 bytes unknownFields protoimpl.UnknownFields - - Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` // D big-endian, 32 bytes + sizeCache protoimpl.SizeCache } func (x *PrivateKey_Secp256K1) Reset() { diff --git a/pkg/proto/message_contents/private_preferences.pb.go b/pkg/proto/message_contents/private_preferences.pb.go index d348e1dc..579748fa 100644 --- a/pkg/proto/message_contents/private_preferences.pb.go +++ b/pkg/proto/message_contents/private_preferences.pb.go @@ -5,7 +5,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_contents/private_preferences.proto @@ -28,11 +28,8 @@ const ( // PrivatePreferencesAction is a message used to update the client's preference // store. type PrivatePreferencesAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to MessageType: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to MessageType: // // *PrivatePreferencesAction_AllowAddress_ // *PrivatePreferencesAction_DenyAddress_ @@ -40,7 +37,9 @@ type PrivatePreferencesAction struct { // *PrivatePreferencesAction_DenyGroup_ // *PrivatePreferencesAction_AllowInboxId_ // *PrivatePreferencesAction_DenyInboxId_ - MessageType isPrivatePreferencesAction_MessageType `protobuf_oneof:"message_type"` + MessageType isPrivatePreferencesAction_MessageType `protobuf_oneof:"message_type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PrivatePreferencesAction) Reset() { @@ -73,51 +72,63 @@ func (*PrivatePreferencesAction) Descriptor() ([]byte, []int) { return file_message_contents_private_preferences_proto_rawDescGZIP(), []int{0} } -func (m *PrivatePreferencesAction) GetMessageType() isPrivatePreferencesAction_MessageType { - if m != nil { - return m.MessageType +func (x *PrivatePreferencesAction) GetMessageType() isPrivatePreferencesAction_MessageType { + if x != nil { + return x.MessageType } return nil } func (x *PrivatePreferencesAction) GetAllowAddress() *PrivatePreferencesAction_AllowAddress { - if x, ok := x.GetMessageType().(*PrivatePreferencesAction_AllowAddress_); ok { - return x.AllowAddress + if x != nil { + if x, ok := x.MessageType.(*PrivatePreferencesAction_AllowAddress_); ok { + return x.AllowAddress + } } return nil } func (x *PrivatePreferencesAction) GetDenyAddress() *PrivatePreferencesAction_DenyAddress { - if x, ok := x.GetMessageType().(*PrivatePreferencesAction_DenyAddress_); ok { - return x.DenyAddress + if x != nil { + if x, ok := x.MessageType.(*PrivatePreferencesAction_DenyAddress_); ok { + return x.DenyAddress + } } return nil } func (x *PrivatePreferencesAction) GetAllowGroup() *PrivatePreferencesAction_AllowGroup { - if x, ok := x.GetMessageType().(*PrivatePreferencesAction_AllowGroup_); ok { - return x.AllowGroup + if x != nil { + if x, ok := x.MessageType.(*PrivatePreferencesAction_AllowGroup_); ok { + return x.AllowGroup + } } return nil } func (x *PrivatePreferencesAction) GetDenyGroup() *PrivatePreferencesAction_DenyGroup { - if x, ok := x.GetMessageType().(*PrivatePreferencesAction_DenyGroup_); ok { - return x.DenyGroup + if x != nil { + if x, ok := x.MessageType.(*PrivatePreferencesAction_DenyGroup_); ok { + return x.DenyGroup + } } return nil } func (x *PrivatePreferencesAction) GetAllowInboxId() *PrivatePreferencesAction_AllowInboxId { - if x, ok := x.GetMessageType().(*PrivatePreferencesAction_AllowInboxId_); ok { - return x.AllowInboxId + if x != nil { + if x, ok := x.MessageType.(*PrivatePreferencesAction_AllowInboxId_); ok { + return x.AllowInboxId + } } return nil } func (x *PrivatePreferencesAction) GetDenyInboxId() *PrivatePreferencesAction_DenyInboxId { - if x, ok := x.GetMessageType().(*PrivatePreferencesAction_DenyInboxId_); ok { - return x.DenyInboxId + if x != nil { + if x, ok := x.MessageType.(*PrivatePreferencesAction_DenyInboxId_); ok { + return x.DenyInboxId + } } return nil } @@ -164,14 +175,13 @@ func (*PrivatePreferencesAction_DenyInboxId_) isPrivatePreferencesAction_Message // The payload that goes over the wire type PrivatePreferencesPayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *PrivatePreferencesPayload_V1 - Version isPrivatePreferencesPayload_Version `protobuf_oneof:"version"` + Version isPrivatePreferencesPayload_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PrivatePreferencesPayload) Reset() { @@ -204,16 +214,18 @@ func (*PrivatePreferencesPayload) Descriptor() ([]byte, []int) { return file_message_contents_private_preferences_proto_rawDescGZIP(), []int{1} } -func (m *PrivatePreferencesPayload) GetVersion() isPrivatePreferencesPayload_Version { - if m != nil { - return m.Version +func (x *PrivatePreferencesPayload) GetVersion() isPrivatePreferencesPayload_Version { + if x != nil { + return x.Version } return nil } func (x *PrivatePreferencesPayload) GetV1() *Ciphertext { - if x, ok := x.GetVersion().(*PrivatePreferencesPayload_V1); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*PrivatePreferencesPayload_V1); ok { + return x.V1 + } } return nil } @@ -230,12 +242,11 @@ func (*PrivatePreferencesPayload_V1) isPrivatePreferencesPayload_Version() {} // Allow 1:1 direct message (DM) access type PrivatePreferencesAction_AllowAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Add the given wallet addresses to the allow list WalletAddresses []string `protobuf:"bytes,1,rep,name=wallet_addresses,json=walletAddresses,proto3" json:"wallet_addresses,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PrivatePreferencesAction_AllowAddress) Reset() { @@ -277,12 +288,11 @@ func (x *PrivatePreferencesAction_AllowAddress) GetWalletAddresses() []string { // Deny (block) 1:1 direct message (DM) access type PrivatePreferencesAction_DenyAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Add the given wallet addresses to the deny list WalletAddresses []string `protobuf:"bytes,1,rep,name=wallet_addresses,json=walletAddresses,proto3" json:"wallet_addresses,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PrivatePreferencesAction_DenyAddress) Reset() { @@ -324,12 +334,11 @@ func (x *PrivatePreferencesAction_DenyAddress) GetWalletAddresses() []string { // Allow V3 1:1 direct message (DM) access type PrivatePreferencesAction_AllowInboxId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Add the given inbox id to the allow list - InboxIds []string `protobuf:"bytes,1,rep,name=inbox_ids,json=inboxIds,proto3" json:"inbox_ids,omitempty"` + InboxIds []string `protobuf:"bytes,1,rep,name=inbox_ids,json=inboxIds,proto3" json:"inbox_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PrivatePreferencesAction_AllowInboxId) Reset() { @@ -371,12 +380,11 @@ func (x *PrivatePreferencesAction_AllowInboxId) GetInboxIds() []string { // Deny (block) V3 1:1 direct message (DM) access type PrivatePreferencesAction_DenyInboxId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Add the given inbox id to the deny list - InboxIds []string `protobuf:"bytes,1,rep,name=inbox_ids,json=inboxIds,proto3" json:"inbox_ids,omitempty"` + InboxIds []string `protobuf:"bytes,1,rep,name=inbox_ids,json=inboxIds,proto3" json:"inbox_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PrivatePreferencesAction_DenyInboxId) Reset() { @@ -418,12 +426,11 @@ func (x *PrivatePreferencesAction_DenyInboxId) GetInboxIds() []string { // Allow Group access type PrivatePreferencesAction_AllowGroup struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Add the given group_ids to the allow list - GroupIds []string `protobuf:"bytes,1,rep,name=group_ids,json=groupIds,proto3" json:"group_ids,omitempty"` + GroupIds []string `protobuf:"bytes,1,rep,name=group_ids,json=groupIds,proto3" json:"group_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PrivatePreferencesAction_AllowGroup) Reset() { @@ -465,12 +472,11 @@ func (x *PrivatePreferencesAction_AllowGroup) GetGroupIds() []string { // Deny (deny) Group access type PrivatePreferencesAction_DenyGroup struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Add the given group_ids to the deny list - GroupIds []string `protobuf:"bytes,1,rep,name=group_ids,json=groupIds,proto3" json:"group_ids,omitempty"` + GroupIds []string `protobuf:"bytes,1,rep,name=group_ids,json=groupIds,proto3" json:"group_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PrivatePreferencesAction_DenyGroup) Reset() { diff --git a/pkg/proto/message_contents/public_key.pb.go b/pkg/proto/message_contents/public_key.pb.go index 9fd2cd9e..aa3d1633 100644 --- a/pkg/proto/message_contents/public_key.pb.go +++ b/pkg/proto/message_contents/public_key.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_contents/public_key.proto @@ -26,15 +26,14 @@ const ( // UnsignedPublicKey represents a generalized public key, // defined as a union to support cryptographic algorithm agility. type UnsignedPublicKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CreatedNs uint64 `protobuf:"varint,1,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` - // Types that are assignable to Union: + state protoimpl.MessageState `protogen:"open.v1"` + CreatedNs uint64 `protobuf:"varint,1,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` + // Types that are valid to be assigned to Union: // // *UnsignedPublicKey_Secp256K1Uncompressed_ - Union isUnsignedPublicKey_Union `protobuf_oneof:"union"` + Union isUnsignedPublicKey_Union `protobuf_oneof:"union"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UnsignedPublicKey) Reset() { @@ -74,16 +73,18 @@ func (x *UnsignedPublicKey) GetCreatedNs() uint64 { return 0 } -func (m *UnsignedPublicKey) GetUnion() isUnsignedPublicKey_Union { - if m != nil { - return m.Union +func (x *UnsignedPublicKey) GetUnion() isUnsignedPublicKey_Union { + if x != nil { + return x.Union } return nil } func (x *UnsignedPublicKey) GetSecp256K1Uncompressed() *UnsignedPublicKey_Secp256K1Uncompressed { - if x, ok := x.GetUnion().(*UnsignedPublicKey_Secp256K1Uncompressed_); ok { - return x.Secp256K1Uncompressed + if x != nil { + if x, ok := x.Union.(*UnsignedPublicKey_Secp256K1Uncompressed_); ok { + return x.Secp256K1Uncompressed + } } return nil } @@ -100,12 +101,11 @@ func (*UnsignedPublicKey_Secp256K1Uncompressed_) isUnsignedPublicKey_Union() {} // SignedPublicKey type SignedPublicKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + KeyBytes []byte `protobuf:"bytes,1,opt,name=key_bytes,json=keyBytes,proto3" json:"key_bytes,omitempty"` // embeds an UnsignedPublicKey + Signature *Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` // signs key_bytes unknownFields protoimpl.UnknownFields - - KeyBytes []byte `protobuf:"bytes,1,opt,name=key_bytes,json=keyBytes,proto3" json:"key_bytes,omitempty"` // embeds an UnsignedPublicKey - Signature *Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` // signs key_bytes + sizeCache protoimpl.SizeCache } func (x *SignedPublicKey) Reset() { @@ -154,14 +154,13 @@ func (x *SignedPublicKey) GetSignature() *Signature { // PublicKeyBundle packages the cryptographic keys associated with a wallet. type SignedPublicKeyBundle struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Identity key MUST be signed by the wallet. IdentityKey *SignedPublicKey `protobuf:"bytes,1,opt,name=identity_key,json=identityKey,proto3" json:"identity_key,omitempty"` // Pre-key MUST be signed by the identity key. - PreKey *SignedPublicKey `protobuf:"bytes,2,opt,name=pre_key,json=preKey,proto3" json:"pre_key,omitempty"` + PreKey *SignedPublicKey `protobuf:"bytes,2,opt,name=pre_key,json=preKey,proto3" json:"pre_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SignedPublicKeyBundle) Reset() { @@ -211,16 +210,15 @@ func (x *SignedPublicKeyBundle) GetPreKey() *SignedPublicKey { // PublicKey represents a generalized public key, // defined as a union to support cryptographic algorithm agility. type PublicKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Signature *Signature `protobuf:"bytes,2,opt,name=signature,proto3,oneof" json:"signature,omitempty"` - // Types that are assignable to Union: + state protoimpl.MessageState `protogen:"open.v1"` + Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Signature *Signature `protobuf:"bytes,2,opt,name=signature,proto3,oneof" json:"signature,omitempty"` + // Types that are valid to be assigned to Union: // // *PublicKey_Secp256K1Uncompressed_ - Union isPublicKey_Union `protobuf_oneof:"union"` + Union isPublicKey_Union `protobuf_oneof:"union"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PublicKey) Reset() { @@ -267,16 +265,18 @@ func (x *PublicKey) GetSignature() *Signature { return nil } -func (m *PublicKey) GetUnion() isPublicKey_Union { - if m != nil { - return m.Union +func (x *PublicKey) GetUnion() isPublicKey_Union { + if x != nil { + return x.Union } return nil } func (x *PublicKey) GetSecp256K1Uncompressed() *PublicKey_Secp256K1Uncompressed { - if x, ok := x.GetUnion().(*PublicKey_Secp256K1Uncompressed_); ok { - return x.Secp256K1Uncompressed + if x != nil { + if x, ok := x.Union.(*PublicKey_Secp256K1Uncompressed_); ok { + return x.Secp256K1Uncompressed + } } return nil } @@ -294,14 +294,13 @@ func (*PublicKey_Secp256K1Uncompressed_) isPublicKey_Union() {} // PublicKeyBundle packages the cryptographic keys associated with a wallet, // both senders and recipients are identified by their key bundles. type PublicKeyBundle struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Identity key MUST be signed by the wallet. IdentityKey *PublicKey `protobuf:"bytes,1,opt,name=identity_key,json=identityKey,proto3" json:"identity_key,omitempty"` // Pre-key MUST be signed by the identity key. - PreKey *PublicKey `protobuf:"bytes,2,opt,name=pre_key,json=preKey,proto3" json:"pre_key,omitempty"` + PreKey *PublicKey `protobuf:"bytes,2,opt,name=pre_key,json=preKey,proto3" json:"pre_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PublicKeyBundle) Reset() { @@ -350,12 +349,11 @@ func (x *PublicKeyBundle) GetPreKey() *PublicKey { // EC: SECP256k1 type UnsignedPublicKey_Secp256K1Uncompressed struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // uncompressed point with prefix (0x04) [ P || X || Y ], 65 bytes - Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` + Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UnsignedPublicKey_Secp256K1Uncompressed) Reset() { @@ -397,12 +395,11 @@ func (x *UnsignedPublicKey_Secp256K1Uncompressed) GetBytes() []byte { // The key bytes type PublicKey_Secp256K1Uncompressed struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // uncompressed point with prefix (0x04) [ P || X || Y ], 65 bytes - Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` + Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PublicKey_Secp256K1Uncompressed) Reset() { diff --git a/pkg/proto/message_contents/signature.pb.go b/pkg/proto/message_contents/signature.pb.go index c60a7602..fa4f743b 100644 --- a/pkg/proto/message_contents/signature.pb.go +++ b/pkg/proto/message_contents/signature.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_contents/signature.proto @@ -25,15 +25,14 @@ const ( // Signature represents a generalized public key signature, // defined as a union to support cryptographic algorithm agility. type Signature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Union: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Union: // // *Signature_EcdsaCompact // *Signature_WalletEcdsaCompact - Union isSignature_Union `protobuf_oneof:"union"` + Union isSignature_Union `protobuf_oneof:"union"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Signature) Reset() { @@ -66,23 +65,27 @@ func (*Signature) Descriptor() ([]byte, []int) { return file_message_contents_signature_proto_rawDescGZIP(), []int{0} } -func (m *Signature) GetUnion() isSignature_Union { - if m != nil { - return m.Union +func (x *Signature) GetUnion() isSignature_Union { + if x != nil { + return x.Union } return nil } func (x *Signature) GetEcdsaCompact() *Signature_ECDSACompact { - if x, ok := x.GetUnion().(*Signature_EcdsaCompact); ok { - return x.EcdsaCompact + if x != nil { + if x, ok := x.Union.(*Signature_EcdsaCompact); ok { + return x.EcdsaCompact + } } return nil } func (x *Signature) GetWalletEcdsaCompact() *Signature_WalletECDSACompact { - if x, ok := x.GetUnion().(*Signature_WalletEcdsaCompact); ok { - return x.WalletEcdsaCompact + if x != nil { + if x, ok := x.Union.(*Signature_WalletEcdsaCompact); ok { + return x.WalletEcdsaCompact + } } return nil } @@ -105,12 +108,11 @@ func (*Signature_WalletEcdsaCompact) isSignature_Union() {} // ECDSA signature bytes and the recovery bit type Signature_ECDSACompact struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` // compact representation [ R || S ], 64 bytes + Recovery uint32 `protobuf:"varint,2,opt,name=recovery,proto3" json:"recovery,omitempty"` // recovery bit unknownFields protoimpl.UnknownFields - - Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` // compact representation [ R || S ], 64 bytes - Recovery uint32 `protobuf:"varint,2,opt,name=recovery,proto3" json:"recovery,omitempty"` // recovery bit + sizeCache protoimpl.SizeCache } func (x *Signature_ECDSACompact) Reset() { @@ -162,12 +164,11 @@ func (x *Signature_ECDSACompact) GetRecovery() uint32 { // EIP-191 signature of a "Create Identity" message with the key embedded. // Used to sign identity keys. type Signature_WalletECDSACompact struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` // compact representation [ R || S ], 64 bytes + Recovery uint32 `protobuf:"varint,2,opt,name=recovery,proto3" json:"recovery,omitempty"` // recovery bit unknownFields protoimpl.UnknownFields - - Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` // compact representation [ R || S ], 64 bytes - Recovery uint32 `protobuf:"varint,2,opt,name=recovery,proto3" json:"recovery,omitempty"` // recovery bit + sizeCache protoimpl.SizeCache } func (x *Signature_WalletECDSACompact) Reset() { diff --git a/pkg/proto/message_contents/signed_payload.pb.go b/pkg/proto/message_contents/signed_payload.pb.go index c2981f36..ddd7a835 100644 --- a/pkg/proto/message_contents/signed_payload.pb.go +++ b/pkg/proto/message_contents/signed_payload.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: message_contents/signed_payload.proto @@ -24,12 +24,11 @@ const ( // SignedPayload is a wrapper for a signature and a payload type SignedPayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + Signature *Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` unknownFields protoimpl.UnknownFields - - Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` - Signature *Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SignedPayload) Reset() { diff --git a/pkg/proto/mls/api/v1/mls.pb.go b/pkg/proto/mls/api/v1/mls.pb.go index 1a96d3ff..277ff306 100644 --- a/pkg/proto/mls/api/v1/mls.pb.go +++ b/pkg/proto/mls/api/v1/mls.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: mls/api/v1/mls.proto @@ -78,14 +78,13 @@ func (SortDirection) EnumDescriptor() ([]byte, []int) { // Full representation of a welcome message type WelcomeMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *WelcomeMessage_V1_ - Version isWelcomeMessage_Version `protobuf_oneof:"version"` + Version isWelcomeMessage_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WelcomeMessage) Reset() { @@ -118,16 +117,18 @@ func (*WelcomeMessage) Descriptor() ([]byte, []int) { return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{0} } -func (m *WelcomeMessage) GetVersion() isWelcomeMessage_Version { - if m != nil { - return m.Version +func (x *WelcomeMessage) GetVersion() isWelcomeMessage_Version { + if x != nil { + return x.Version } return nil } func (x *WelcomeMessage) GetV1() *WelcomeMessage_V1 { - if x, ok := x.GetVersion().(*WelcomeMessage_V1_); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*WelcomeMessage_V1_); ok { + return x.V1 + } } return nil } @@ -144,14 +145,13 @@ func (*WelcomeMessage_V1_) isWelcomeMessage_Version() {} // Input type for a welcome message type WelcomeMessageInput struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *WelcomeMessageInput_V1_ - Version isWelcomeMessageInput_Version `protobuf_oneof:"version"` + Version isWelcomeMessageInput_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WelcomeMessageInput) Reset() { @@ -184,16 +184,18 @@ func (*WelcomeMessageInput) Descriptor() ([]byte, []int) { return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{1} } -func (m *WelcomeMessageInput) GetVersion() isWelcomeMessageInput_Version { - if m != nil { - return m.Version +func (x *WelcomeMessageInput) GetVersion() isWelcomeMessageInput_Version { + if x != nil { + return x.Version } return nil } func (x *WelcomeMessageInput) GetV1() *WelcomeMessageInput_V1 { - if x, ok := x.GetVersion().(*WelcomeMessageInput_V1_); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*WelcomeMessageInput_V1_); ok { + return x.V1 + } } return nil } @@ -210,14 +212,13 @@ func (*WelcomeMessageInput_V1_) isWelcomeMessageInput_Version() {} // Full representation of a group message type GroupMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *GroupMessage_V1_ - Version isGroupMessage_Version `protobuf_oneof:"version"` + Version isGroupMessage_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GroupMessage) Reset() { @@ -250,16 +251,18 @@ func (*GroupMessage) Descriptor() ([]byte, []int) { return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{2} } -func (m *GroupMessage) GetVersion() isGroupMessage_Version { - if m != nil { - return m.Version +func (x *GroupMessage) GetVersion() isGroupMessage_Version { + if x != nil { + return x.Version } return nil } func (x *GroupMessage) GetV1() *GroupMessage_V1 { - if x, ok := x.GetVersion().(*GroupMessage_V1_); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*GroupMessage_V1_); ok { + return x.V1 + } } return nil } @@ -276,14 +279,13 @@ func (*GroupMessage_V1_) isGroupMessage_Version() {} // Input type for a group message type GroupMessageInput struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *GroupMessageInput_V1_ - Version isGroupMessageInput_Version `protobuf_oneof:"version"` + Version isGroupMessageInput_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GroupMessageInput) Reset() { @@ -316,16 +318,18 @@ func (*GroupMessageInput) Descriptor() ([]byte, []int) { return file_mls_api_v1_mls_proto_rawDescGZIP(), []int{3} } -func (m *GroupMessageInput) GetVersion() isGroupMessageInput_Version { - if m != nil { - return m.Version +func (x *GroupMessageInput) GetVersion() isGroupMessageInput_Version { + if x != nil { + return x.Version } return nil } func (x *GroupMessageInput) GetV1() *GroupMessageInput_V1 { - if x, ok := x.GetVersion().(*GroupMessageInput_V1_); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*GroupMessageInput_V1_); ok { + return x.V1 + } } return nil } @@ -342,11 +346,10 @@ func (*GroupMessageInput_V1_) isGroupMessageInput_Version() {} // Send a batch of MLS messages type SendGroupMessagesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Messages []*GroupMessageInput `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` unknownFields protoimpl.UnknownFields - - Messages []*GroupMessageInput `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SendGroupMessagesRequest) Reset() { @@ -388,11 +391,10 @@ func (x *SendGroupMessagesRequest) GetMessages() []*GroupMessageInput { // Send a batch of welcome messages type SendWelcomeMessagesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Messages []*WelcomeMessageInput `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` unknownFields protoimpl.UnknownFields - - Messages []*WelcomeMessageInput `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SendWelcomeMessagesRequest) Reset() { @@ -434,13 +436,12 @@ func (x *SendWelcomeMessagesRequest) GetMessages() []*WelcomeMessageInput { // A wrapper around the Key Package bytes type KeyPackageUpload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The owner's wallet address would be extracted from the identity // credential in the key package, and all signatures would be validated. KeyPackageTlsSerialized []byte `protobuf:"bytes,1,opt,name=key_package_tls_serialized,json=keyPackageTlsSerialized,proto3" json:"key_package_tls_serialized,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *KeyPackageUpload) Reset() { @@ -482,13 +483,12 @@ func (x *KeyPackageUpload) GetKeyPackageTlsSerialized() []byte { // Register a new installation type RegisterInstallationRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The Key Package contains all information needed to register an installation KeyPackage *KeyPackageUpload `protobuf:"bytes,1,opt,name=key_package,json=keyPackage,proto3" json:"key_package,omitempty"` IsInboxIdCredential bool `protobuf:"varint,2,opt,name=is_inbox_id_credential,json=isInboxIdCredential,proto3" json:"is_inbox_id_credential,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RegisterInstallationRequest) Reset() { @@ -537,11 +537,10 @@ func (x *RegisterInstallationRequest) GetIsInboxIdCredential() bool { // The response to a RegisterInstallationRequest type RegisterInstallationResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RegisterInstallationResponse) Reset() { @@ -583,13 +582,12 @@ func (x *RegisterInstallationResponse) GetInstallationKey() []byte { // Upload a new key packages type UploadKeyPackageRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // An individual key package upload request KeyPackage *KeyPackageUpload `protobuf:"bytes,1,opt,name=key_package,json=keyPackage,proto3" json:"key_package,omitempty"` IsInboxIdCredential bool `protobuf:"varint,2,opt,name=is_inbox_id_credential,json=isInboxIdCredential,proto3" json:"is_inbox_id_credential,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UploadKeyPackageRequest) Reset() { @@ -638,14 +636,13 @@ func (x *UploadKeyPackageRequest) GetIsInboxIdCredential() bool { // Fetch one or more key packages type FetchKeyPackagesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The caller can provide an array of installation keys, and the API // will return one key package for each installation associated with each // installation key InstallationKeys [][]byte `protobuf:"bytes,1,rep,name=installation_keys,json=installationKeys,proto3" json:"installation_keys,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FetchKeyPackagesRequest) Reset() { @@ -687,14 +684,13 @@ func (x *FetchKeyPackagesRequest) GetInstallationKeys() [][]byte { // The response to a FetchKeyPackagesRequest type FetchKeyPackagesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Returns one key package per installation in the original order of the // request. If any installations are missing key packages, an empty entry is // left in their respective spots in the array. - KeyPackages []*FetchKeyPackagesResponse_KeyPackage `protobuf:"bytes,1,rep,name=key_packages,json=keyPackages,proto3" json:"key_packages,omitempty"` + KeyPackages []*FetchKeyPackagesResponse_KeyPackage `protobuf:"bytes,1,rep,name=key_packages,json=keyPackages,proto3" json:"key_packages,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FetchKeyPackagesResponse) Reset() { @@ -736,14 +732,13 @@ func (x *FetchKeyPackagesResponse) GetKeyPackages() []*FetchKeyPackagesResponse_ // Revoke an installation type RevokeInstallationRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` // All revocations must be validated with a wallet signature over the // installation_id being revoked (and some sort of standard prologue) WalletSignature *message_contents.Signature `protobuf:"bytes,2,opt,name=wallet_signature,json=walletSignature,proto3" json:"wallet_signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RevokeInstallationRequest) Reset() { @@ -792,12 +787,11 @@ func (x *RevokeInstallationRequest) GetWalletSignature() *message_contents.Signa // Get all updates for an identity since the specified time type GetIdentityUpdatesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AccountAddresses []string `protobuf:"bytes,1,rep,name=account_addresses,json=accountAddresses,proto3" json:"account_addresses,omitempty"` - StartTimeNs uint64 `protobuf:"varint,2,opt,name=start_time_ns,json=startTimeNs,proto3" json:"start_time_ns,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + AccountAddresses []string `protobuf:"bytes,1,rep,name=account_addresses,json=accountAddresses,proto3" json:"account_addresses,omitempty"` + StartTimeNs uint64 `protobuf:"varint,2,opt,name=start_time_ns,json=startTimeNs,proto3" json:"start_time_ns,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetIdentityUpdatesRequest) Reset() { @@ -846,13 +840,12 @@ func (x *GetIdentityUpdatesRequest) GetStartTimeNs() uint64 { // Used to get any new or revoked installations for a list of wallet addresses type GetIdentityUpdatesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A list of updates (or empty objects if no changes) in the original order // of the request - Updates []*GetIdentityUpdatesResponse_WalletUpdates `protobuf:"bytes,1,rep,name=updates,proto3" json:"updates,omitempty"` + Updates []*GetIdentityUpdatesResponse_WalletUpdates `protobuf:"bytes,1,rep,name=updates,proto3" json:"updates,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetIdentityUpdatesResponse) Reset() { @@ -894,13 +887,12 @@ func (x *GetIdentityUpdatesResponse) GetUpdates() []*GetIdentityUpdatesResponse_ // Pagination config for queries type PagingInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Direction SortDirection `protobuf:"varint,1,opt,name=direction,proto3,enum=xmtp.mls.api.v1.SortDirection" json:"direction,omitempty"` + Limit uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + IdCursor uint64 `protobuf:"varint,3,opt,name=id_cursor,json=idCursor,proto3" json:"id_cursor,omitempty"` unknownFields protoimpl.UnknownFields - - Direction SortDirection `protobuf:"varint,1,opt,name=direction,proto3,enum=xmtp.mls.api.v1.SortDirection" json:"direction,omitempty"` - Limit uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - IdCursor uint64 `protobuf:"varint,3,opt,name=id_cursor,json=idCursor,proto3" json:"id_cursor,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PagingInfo) Reset() { @@ -956,12 +948,11 @@ func (x *PagingInfo) GetIdCursor() uint64 { // Request for group message queries type QueryGroupMessagesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + GroupId []byte `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + PagingInfo *PagingInfo `protobuf:"bytes,2,opt,name=paging_info,json=pagingInfo,proto3" json:"paging_info,omitempty"` unknownFields protoimpl.UnknownFields - - GroupId []byte `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` - PagingInfo *PagingInfo `protobuf:"bytes,2,opt,name=paging_info,json=pagingInfo,proto3" json:"paging_info,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryGroupMessagesRequest) Reset() { @@ -1010,12 +1001,11 @@ func (x *QueryGroupMessagesRequest) GetPagingInfo() *PagingInfo { // Response for group message queries type QueryGroupMessagesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Messages []*GroupMessage `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` + PagingInfo *PagingInfo `protobuf:"bytes,2,opt,name=paging_info,json=pagingInfo,proto3" json:"paging_info,omitempty"` unknownFields protoimpl.UnknownFields - - Messages []*GroupMessage `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` - PagingInfo *PagingInfo `protobuf:"bytes,2,opt,name=paging_info,json=pagingInfo,proto3" json:"paging_info,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryGroupMessagesResponse) Reset() { @@ -1064,12 +1054,11 @@ func (x *QueryGroupMessagesResponse) GetPagingInfo() *PagingInfo { // Request for welcome message queries type QueryWelcomeMessagesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` - PagingInfo *PagingInfo `protobuf:"bytes,2,opt,name=paging_info,json=pagingInfo,proto3" json:"paging_info,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + PagingInfo *PagingInfo `protobuf:"bytes,2,opt,name=paging_info,json=pagingInfo,proto3" json:"paging_info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryWelcomeMessagesRequest) Reset() { @@ -1118,12 +1107,11 @@ func (x *QueryWelcomeMessagesRequest) GetPagingInfo() *PagingInfo { // Response for welcome message queries type QueryWelcomeMessagesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Messages []*WelcomeMessage `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` + PagingInfo *PagingInfo `protobuf:"bytes,2,opt,name=paging_info,json=pagingInfo,proto3" json:"paging_info,omitempty"` unknownFields protoimpl.UnknownFields - - Messages []*WelcomeMessage `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` - PagingInfo *PagingInfo `protobuf:"bytes,2,opt,name=paging_info,json=pagingInfo,proto3" json:"paging_info,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryWelcomeMessagesResponse) Reset() { @@ -1172,11 +1160,10 @@ func (x *QueryWelcomeMessagesResponse) GetPagingInfo() *PagingInfo { // Request for subscribing to group messages type SubscribeGroupMessagesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Filters []*SubscribeGroupMessagesRequest_Filter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` unknownFields protoimpl.UnknownFields - - Filters []*SubscribeGroupMessagesRequest_Filter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SubscribeGroupMessagesRequest) Reset() { @@ -1218,11 +1205,10 @@ func (x *SubscribeGroupMessagesRequest) GetFilters() []*SubscribeGroupMessagesRe // Request for subscribing to welcome messages type SubscribeWelcomeMessagesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Filters []*SubscribeWelcomeMessagesRequest_Filter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` unknownFields protoimpl.UnknownFields - - Filters []*SubscribeWelcomeMessagesRequest_Filter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SubscribeWelcomeMessagesRequest) Reset() { @@ -1264,15 +1250,14 @@ func (x *SubscribeWelcomeMessagesRequest) GetFilters() []*SubscribeWelcomeMessag // Version 1 of the WelcomeMessage format type WelcomeMessage_V1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - CreatedNs uint64 `protobuf:"varint,2,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` - InstallationKey []byte `protobuf:"bytes,3,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` - Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` - HpkePublicKey []byte `protobuf:"bytes,5,opt,name=hpke_public_key,json=hpkePublicKey,proto3" json:"hpke_public_key,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + CreatedNs uint64 `protobuf:"varint,2,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` + InstallationKey []byte `protobuf:"bytes,3,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` + HpkePublicKey []byte `protobuf:"bytes,5,opt,name=hpke_public_key,json=hpkePublicKey,proto3" json:"hpke_public_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WelcomeMessage_V1) Reset() { @@ -1342,13 +1327,12 @@ func (x *WelcomeMessage_V1) GetHpkePublicKey() []byte { // Version 1 of the WelcomeMessageInput format type WelcomeMessageInput_V1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` - HpkePublicKey []byte `protobuf:"bytes,3,opt,name=hpke_public_key,json=hpkePublicKey,proto3" json:"hpke_public_key,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + HpkePublicKey []byte `protobuf:"bytes,3,opt,name=hpke_public_key,json=hpkePublicKey,proto3" json:"hpke_public_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WelcomeMessageInput_V1) Reset() { @@ -1404,15 +1388,14 @@ func (x *WelcomeMessageInput_V1) GetHpkePublicKey() []byte { // Version 1 of the GroupMessage format type GroupMessage_V1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + CreatedNs uint64 `protobuf:"varint,2,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` + GroupId []byte `protobuf:"bytes,3,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` + SenderHmac []byte `protobuf:"bytes,5,opt,name=sender_hmac,json=senderHmac,proto3" json:"sender_hmac,omitempty"` unknownFields protoimpl.UnknownFields - - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - CreatedNs uint64 `protobuf:"varint,2,opt,name=created_ns,json=createdNs,proto3" json:"created_ns,omitempty"` - GroupId []byte `protobuf:"bytes,3,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` - Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` - SenderHmac []byte `protobuf:"bytes,5,opt,name=sender_hmac,json=senderHmac,proto3" json:"sender_hmac,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GroupMessage_V1) Reset() { @@ -1482,12 +1465,11 @@ func (x *GroupMessage_V1) GetSenderHmac() []byte { // Version 1 of the GroupMessageInput payload format type GroupMessageInput_V1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // Serialized MlsProtocolMessage + SenderHmac []byte `protobuf:"bytes,2,opt,name=sender_hmac,json=senderHmac,proto3" json:"sender_hmac,omitempty"` unknownFields protoimpl.UnknownFields - - Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // Serialized MlsProtocolMessage - SenderHmac []byte `protobuf:"bytes,2,opt,name=sender_hmac,json=senderHmac,proto3" json:"sender_hmac,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GroupMessageInput_V1) Reset() { @@ -1536,11 +1518,10 @@ func (x *GroupMessageInput_V1) GetSenderHmac() []byte { // An individual key package type FetchKeyPackagesResponse_KeyPackage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - KeyPackageTlsSerialized []byte `protobuf:"bytes,1,opt,name=key_package_tls_serialized,json=keyPackageTlsSerialized,proto3" json:"key_package_tls_serialized,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + KeyPackageTlsSerialized []byte `protobuf:"bytes,1,opt,name=key_package_tls_serialized,json=keyPackageTlsSerialized,proto3" json:"key_package_tls_serialized,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FetchKeyPackagesResponse_KeyPackage) Reset() { @@ -1582,12 +1563,11 @@ func (x *FetchKeyPackagesResponse_KeyPackage) GetKeyPackageTlsSerialized() []byt // A new installation key was seen for the first time by the nodes type GetIdentityUpdatesResponse_NewInstallationUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` - CredentialIdentity []byte `protobuf:"bytes,2,opt,name=credential_identity,json=credentialIdentity,proto3" json:"credential_identity,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + CredentialIdentity []byte `protobuf:"bytes,2,opt,name=credential_identity,json=credentialIdentity,proto3" json:"credential_identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetIdentityUpdatesResponse_NewInstallationUpdate) Reset() { @@ -1636,11 +1616,10 @@ func (x *GetIdentityUpdatesResponse_NewInstallationUpdate) GetCredentialIdentity // An installation was revoked type GetIdentityUpdatesResponse_RevokedInstallationUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetIdentityUpdatesResponse_RevokedInstallationUpdate) Reset() { @@ -1682,16 +1661,15 @@ func (x *GetIdentityUpdatesResponse_RevokedInstallationUpdate) GetInstallationKe // A wrapper for any update to the wallet type GetIdentityUpdatesResponse_Update struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TimestampNs uint64 `protobuf:"varint,1,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"` - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + TimestampNs uint64 `protobuf:"varint,1,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"` + // Types that are valid to be assigned to Kind: // // *GetIdentityUpdatesResponse_Update_NewInstallation // *GetIdentityUpdatesResponse_Update_RevokedInstallation - Kind isGetIdentityUpdatesResponse_Update_Kind `protobuf_oneof:"kind"` + Kind isGetIdentityUpdatesResponse_Update_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetIdentityUpdatesResponse_Update) Reset() { @@ -1731,23 +1709,27 @@ func (x *GetIdentityUpdatesResponse_Update) GetTimestampNs() uint64 { return 0 } -func (m *GetIdentityUpdatesResponse_Update) GetKind() isGetIdentityUpdatesResponse_Update_Kind { - if m != nil { - return m.Kind +func (x *GetIdentityUpdatesResponse_Update) GetKind() isGetIdentityUpdatesResponse_Update_Kind { + if x != nil { + return x.Kind } return nil } func (x *GetIdentityUpdatesResponse_Update) GetNewInstallation() *GetIdentityUpdatesResponse_NewInstallationUpdate { - if x, ok := x.GetKind().(*GetIdentityUpdatesResponse_Update_NewInstallation); ok { - return x.NewInstallation + if x != nil { + if x, ok := x.Kind.(*GetIdentityUpdatesResponse_Update_NewInstallation); ok { + return x.NewInstallation + } } return nil } func (x *GetIdentityUpdatesResponse_Update) GetRevokedInstallation() *GetIdentityUpdatesResponse_RevokedInstallationUpdate { - if x, ok := x.GetKind().(*GetIdentityUpdatesResponse_Update_RevokedInstallation); ok { - return x.RevokedInstallation + if x != nil { + if x, ok := x.Kind.(*GetIdentityUpdatesResponse_Update_RevokedInstallation); ok { + return x.RevokedInstallation + } } return nil } @@ -1772,11 +1754,10 @@ func (*GetIdentityUpdatesResponse_Update_RevokedInstallation) isGetIdentityUpdat // A wrapper for the updates for a single wallet type GetIdentityUpdatesResponse_WalletUpdates struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Updates []*GetIdentityUpdatesResponse_Update `protobuf:"bytes,1,rep,name=updates,proto3" json:"updates,omitempty"` unknownFields protoimpl.UnknownFields - - Updates []*GetIdentityUpdatesResponse_Update `protobuf:"bytes,1,rep,name=updates,proto3" json:"updates,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetIdentityUpdatesResponse_WalletUpdates) Reset() { @@ -1818,12 +1799,11 @@ func (x *GetIdentityUpdatesResponse_WalletUpdates) GetUpdates() []*GetIdentityUp // Subscription filter type SubscribeGroupMessagesRequest_Filter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + GroupId []byte `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + IdCursor uint64 `protobuf:"varint,2,opt,name=id_cursor,json=idCursor,proto3" json:"id_cursor,omitempty"` unknownFields protoimpl.UnknownFields - - GroupId []byte `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` - IdCursor uint64 `protobuf:"varint,2,opt,name=id_cursor,json=idCursor,proto3" json:"id_cursor,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SubscribeGroupMessagesRequest_Filter) Reset() { @@ -1872,12 +1852,11 @@ func (x *SubscribeGroupMessagesRequest_Filter) GetIdCursor() uint64 { // Subscription filter type SubscribeWelcomeMessagesRequest_Filter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` - IdCursor uint64 `protobuf:"varint,2,opt,name=id_cursor,json=idCursor,proto3" json:"id_cursor,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + IdCursor uint64 `protobuf:"varint,2,opt,name=id_cursor,json=idCursor,proto3" json:"id_cursor,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SubscribeWelcomeMessagesRequest_Filter) Reset() { diff --git a/pkg/proto/mls/database/intents.pb.go b/pkg/proto/mls/database/intents.pb.go index acac457a..24a621fb 100644 --- a/pkg/proto/mls/database/intents.pb.go +++ b/pkg/proto/mls/database/intents.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: mls/database/intents.proto @@ -195,14 +195,13 @@ func (PermissionPolicyOption) EnumDescriptor() ([]byte, []int) { // The data required to publish a message type SendMessageData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *SendMessageData_V1_ - Version isSendMessageData_Version `protobuf_oneof:"version"` + Version isSendMessageData_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SendMessageData) Reset() { @@ -235,16 +234,18 @@ func (*SendMessageData) Descriptor() ([]byte, []int) { return file_mls_database_intents_proto_rawDescGZIP(), []int{0} } -func (m *SendMessageData) GetVersion() isSendMessageData_Version { - if m != nil { - return m.Version +func (x *SendMessageData) GetVersion() isSendMessageData_Version { + if x != nil { + return x.Version } return nil } func (x *SendMessageData) GetV1() *SendMessageData_V1 { - if x, ok := x.GetVersion().(*SendMessageData_V1_); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*SendMessageData_V1_); ok { + return x.V1 + } } return nil } @@ -261,11 +262,10 @@ func (*SendMessageData_V1_) isSendMessageData_Version() {} // Wrapper around a list af repeated EVM Account Addresses type AccountAddresses struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AccountAddresses []string `protobuf:"bytes,1,rep,name=account_addresses,json=accountAddresses,proto3" json:"account_addresses,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + AccountAddresses []string `protobuf:"bytes,1,rep,name=account_addresses,json=accountAddresses,proto3" json:"account_addresses,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccountAddresses) Reset() { @@ -307,11 +307,10 @@ func (x *AccountAddresses) GetAccountAddresses() []string { // Wrapper around a list of repeated Installation IDs type InstallationIds struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InstallationIds [][]byte `protobuf:"bytes,1,rep,name=installation_ids,json=installationIds,proto3" json:"installation_ids,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + InstallationIds [][]byte `protobuf:"bytes,1,rep,name=installation_ids,json=installationIds,proto3" json:"installation_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *InstallationIds) Reset() { @@ -353,15 +352,14 @@ func (x *InstallationIds) GetInstallationIds() [][]byte { // One of an EVM account address or Installation ID type AddressesOrInstallationIds struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to AddressesOrInstallationIds: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to AddressesOrInstallationIds: // // *AddressesOrInstallationIds_AccountAddresses // *AddressesOrInstallationIds_InstallationIds AddressesOrInstallationIds isAddressesOrInstallationIds_AddressesOrInstallationIds `protobuf_oneof:"addresses_or_installation_ids"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AddressesOrInstallationIds) Reset() { @@ -394,23 +392,27 @@ func (*AddressesOrInstallationIds) Descriptor() ([]byte, []int) { return file_mls_database_intents_proto_rawDescGZIP(), []int{3} } -func (m *AddressesOrInstallationIds) GetAddressesOrInstallationIds() isAddressesOrInstallationIds_AddressesOrInstallationIds { - if m != nil { - return m.AddressesOrInstallationIds +func (x *AddressesOrInstallationIds) GetAddressesOrInstallationIds() isAddressesOrInstallationIds_AddressesOrInstallationIds { + if x != nil { + return x.AddressesOrInstallationIds } return nil } func (x *AddressesOrInstallationIds) GetAccountAddresses() *AccountAddresses { - if x, ok := x.GetAddressesOrInstallationIds().(*AddressesOrInstallationIds_AccountAddresses); ok { - return x.AccountAddresses + if x != nil { + if x, ok := x.AddressesOrInstallationIds.(*AddressesOrInstallationIds_AccountAddresses); ok { + return x.AccountAddresses + } } return nil } func (x *AddressesOrInstallationIds) GetInstallationIds() *InstallationIds { - if x, ok := x.GetAddressesOrInstallationIds().(*AddressesOrInstallationIds_InstallationIds); ok { - return x.InstallationIds + if x != nil { + if x, ok := x.AddressesOrInstallationIds.(*AddressesOrInstallationIds_InstallationIds); ok { + return x.InstallationIds + } } return nil } @@ -435,14 +437,13 @@ func (*AddressesOrInstallationIds_InstallationIds) isAddressesOrInstallationIds_ // The data required to add members to a group type AddMembersData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *AddMembersData_V1_ - Version isAddMembersData_Version `protobuf_oneof:"version"` + Version isAddMembersData_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AddMembersData) Reset() { @@ -475,16 +476,18 @@ func (*AddMembersData) Descriptor() ([]byte, []int) { return file_mls_database_intents_proto_rawDescGZIP(), []int{4} } -func (m *AddMembersData) GetVersion() isAddMembersData_Version { - if m != nil { - return m.Version +func (x *AddMembersData) GetVersion() isAddMembersData_Version { + if x != nil { + return x.Version } return nil } func (x *AddMembersData) GetV1() *AddMembersData_V1 { - if x, ok := x.GetVersion().(*AddMembersData_V1_); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*AddMembersData_V1_); ok { + return x.V1 + } } return nil } @@ -501,14 +504,13 @@ func (*AddMembersData_V1_) isAddMembersData_Version() {} // The data required to remove members from a group type RemoveMembersData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *RemoveMembersData_V1_ - Version isRemoveMembersData_Version `protobuf_oneof:"version"` + Version isRemoveMembersData_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RemoveMembersData) Reset() { @@ -541,16 +543,18 @@ func (*RemoveMembersData) Descriptor() ([]byte, []int) { return file_mls_database_intents_proto_rawDescGZIP(), []int{5} } -func (m *RemoveMembersData) GetVersion() isRemoveMembersData_Version { - if m != nil { - return m.Version +func (x *RemoveMembersData) GetVersion() isRemoveMembersData_Version { + if x != nil { + return x.Version } return nil } func (x *RemoveMembersData) GetV1() *RemoveMembersData_V1 { - if x, ok := x.GetVersion().(*RemoveMembersData_V1_); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*RemoveMembersData_V1_); ok { + return x.V1 + } } return nil } @@ -568,14 +572,13 @@ func (*RemoveMembersData_V1_) isRemoveMembersData_Version() {} // The data required to make a commit that updates group membership // Handles both Add and Remove actions type UpdateGroupMembershipData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *UpdateGroupMembershipData_V1_ - Version isUpdateGroupMembershipData_Version `protobuf_oneof:"version"` + Version isUpdateGroupMembershipData_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateGroupMembershipData) Reset() { @@ -608,16 +611,18 @@ func (*UpdateGroupMembershipData) Descriptor() ([]byte, []int) { return file_mls_database_intents_proto_rawDescGZIP(), []int{6} } -func (m *UpdateGroupMembershipData) GetVersion() isUpdateGroupMembershipData_Version { - if m != nil { - return m.Version +func (x *UpdateGroupMembershipData) GetVersion() isUpdateGroupMembershipData_Version { + if x != nil { + return x.Version } return nil } func (x *UpdateGroupMembershipData) GetV1() *UpdateGroupMembershipData_V1 { - if x, ok := x.GetVersion().(*UpdateGroupMembershipData_V1_); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*UpdateGroupMembershipData_V1_); ok { + return x.V1 + } } return nil } @@ -634,14 +639,13 @@ func (*UpdateGroupMembershipData_V1_) isUpdateGroupMembershipData_Version() {} // The data required to update group metadata type UpdateMetadataData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *UpdateMetadataData_V1_ - Version isUpdateMetadataData_Version `protobuf_oneof:"version"` + Version isUpdateMetadataData_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateMetadataData) Reset() { @@ -674,16 +678,18 @@ func (*UpdateMetadataData) Descriptor() ([]byte, []int) { return file_mls_database_intents_proto_rawDescGZIP(), []int{7} } -func (m *UpdateMetadataData) GetVersion() isUpdateMetadataData_Version { - if m != nil { - return m.Version +func (x *UpdateMetadataData) GetVersion() isUpdateMetadataData_Version { + if x != nil { + return x.Version } return nil } func (x *UpdateMetadataData) GetV1() *UpdateMetadataData_V1 { - if x, ok := x.GetVersion().(*UpdateMetadataData_V1_); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*UpdateMetadataData_V1_); ok { + return x.V1 + } } return nil } @@ -700,14 +706,13 @@ func (*UpdateMetadataData_V1_) isUpdateMetadataData_Version() {} // The data required to update group admin/super admin lists type UpdateAdminListsData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *UpdateAdminListsData_V1_ - Version isUpdateAdminListsData_Version `protobuf_oneof:"version"` + Version isUpdateAdminListsData_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateAdminListsData) Reset() { @@ -740,16 +745,18 @@ func (*UpdateAdminListsData) Descriptor() ([]byte, []int) { return file_mls_database_intents_proto_rawDescGZIP(), []int{8} } -func (m *UpdateAdminListsData) GetVersion() isUpdateAdminListsData_Version { - if m != nil { - return m.Version +func (x *UpdateAdminListsData) GetVersion() isUpdateAdminListsData_Version { + if x != nil { + return x.Version } return nil } func (x *UpdateAdminListsData) GetV1() *UpdateAdminListsData_V1 { - if x, ok := x.GetVersion().(*UpdateAdminListsData_V1_); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*UpdateAdminListsData_V1_); ok { + return x.V1 + } } return nil } @@ -766,14 +773,13 @@ func (*UpdateAdminListsData_V1_) isUpdateAdminListsData_Version() {} // The data required to update permissions type UpdatePermissionData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Version: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Version: // // *UpdatePermissionData_V1_ - Version isUpdatePermissionData_Version `protobuf_oneof:"version"` + Version isUpdatePermissionData_Version `protobuf_oneof:"version"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdatePermissionData) Reset() { @@ -806,16 +812,18 @@ func (*UpdatePermissionData) Descriptor() ([]byte, []int) { return file_mls_database_intents_proto_rawDescGZIP(), []int{9} } -func (m *UpdatePermissionData) GetVersion() isUpdatePermissionData_Version { - if m != nil { - return m.Version +func (x *UpdatePermissionData) GetVersion() isUpdatePermissionData_Version { + if x != nil { + return x.Version } return nil } func (x *UpdatePermissionData) GetV1() *UpdatePermissionData_V1 { - if x, ok := x.GetVersion().(*UpdatePermissionData_V1_); ok { - return x.V1 + if x != nil { + if x, ok := x.Version.(*UpdatePermissionData_V1_); ok { + return x.V1 + } } return nil } @@ -832,14 +840,13 @@ func (*UpdatePermissionData_V1_) isUpdatePermissionData_Version() {} // Generic data-type for all post-commit actions type PostCommitAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *PostCommitAction_SendWelcomes_ - Kind isPostCommitAction_Kind `protobuf_oneof:"kind"` + Kind isPostCommitAction_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PostCommitAction) Reset() { @@ -872,16 +879,18 @@ func (*PostCommitAction) Descriptor() ([]byte, []int) { return file_mls_database_intents_proto_rawDescGZIP(), []int{10} } -func (m *PostCommitAction) GetKind() isPostCommitAction_Kind { - if m != nil { - return m.Kind +func (x *PostCommitAction) GetKind() isPostCommitAction_Kind { + if x != nil { + return x.Kind } return nil } func (x *PostCommitAction) GetSendWelcomes() *PostCommitAction_SendWelcomes { - if x, ok := x.GetKind().(*PostCommitAction_SendWelcomes_); ok { - return x.SendWelcomes + if x != nil { + if x, ok := x.Kind.(*PostCommitAction_SendWelcomes_); ok { + return x.SendWelcomes + } } return nil } @@ -898,11 +907,10 @@ func (*PostCommitAction_SendWelcomes_) isPostCommitAction_Kind() {} // V1 of SendMessagePublishData type SendMessageData_V1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PayloadBytes []byte `protobuf:"bytes,1,opt,name=payload_bytes,json=payloadBytes,proto3" json:"payload_bytes,omitempty"` unknownFields protoimpl.UnknownFields - - PayloadBytes []byte `protobuf:"bytes,1,opt,name=payload_bytes,json=payloadBytes,proto3" json:"payload_bytes,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SendMessageData_V1) Reset() { @@ -944,11 +952,10 @@ func (x *SendMessageData_V1) GetPayloadBytes() []byte { // V1 of AddMembersPublishData type AddMembersData_V1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` AddressesOrInstallationIds *AddressesOrInstallationIds `protobuf:"bytes,1,opt,name=addresses_or_installation_ids,json=addressesOrInstallationIds,proto3" json:"addresses_or_installation_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AddMembersData_V1) Reset() { @@ -990,11 +997,10 @@ func (x *AddMembersData_V1) GetAddressesOrInstallationIds() *AddressesOrInstalla // V1 of RemoveMembersPublishData type RemoveMembersData_V1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` AddressesOrInstallationIds *AddressesOrInstallationIds `protobuf:"bytes,1,opt,name=addresses_or_installation_ids,json=addressesOrInstallationIds,proto3" json:"addresses_or_installation_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RemoveMembersData_V1) Reset() { @@ -1036,14 +1042,13 @@ func (x *RemoveMembersData_V1) GetAddressesOrInstallationIds() *AddressesOrInsta // V1 of UpdateGroupMembershipPublishData type UpdateGroupMembershipData_V1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Contains delta of membership updates that need to be applied - MembershipUpdates map[string]uint64 `protobuf:"bytes,1,rep,name=membership_updates,json=membershipUpdates,proto3" json:"membership_updates,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + MembershipUpdates map[string]uint64 `protobuf:"bytes,1,rep,name=membership_updates,json=membershipUpdates,proto3" json:"membership_updates,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // Contains the list of members that will be removed RemovedMembers []string `protobuf:"bytes,2,rep,name=removed_members,json=removedMembers,proto3" json:"removed_members,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateGroupMembershipData_V1) Reset() { @@ -1092,12 +1097,11 @@ func (x *UpdateGroupMembershipData_V1) GetRemovedMembers() []string { // V1 of UpdateMetadataPublishData type UpdateMetadataData_V1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` + FieldValue string `protobuf:"bytes,2,opt,name=field_value,json=fieldValue,proto3" json:"field_value,omitempty"` unknownFields protoimpl.UnknownFields - - FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` - FieldValue string `protobuf:"bytes,2,opt,name=field_value,json=fieldValue,proto3" json:"field_value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *UpdateMetadataData_V1) Reset() { @@ -1146,12 +1150,11 @@ func (x *UpdateMetadataData_V1) GetFieldValue() string { // V1 of UpdateAdminListsPublishData type UpdateAdminListsData_V1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AdminListUpdateType AdminListUpdateType `protobuf:"varint,1,opt,name=admin_list_update_type,json=adminListUpdateType,proto3,enum=xmtp.mls.database.AdminListUpdateType" json:"admin_list_update_type,omitempty"` - InboxId string `protobuf:"bytes,2,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + AdminListUpdateType AdminListUpdateType `protobuf:"varint,1,opt,name=admin_list_update_type,json=adminListUpdateType,proto3,enum=xmtp.mls.database.AdminListUpdateType" json:"admin_list_update_type,omitempty"` + InboxId string `protobuf:"bytes,2,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateAdminListsData_V1) Reset() { @@ -1200,14 +1203,13 @@ func (x *UpdateAdminListsData_V1) GetInboxId() string { // V1 of UpdatePermissionData type UpdatePermissionData_V1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` PermissionUpdateType PermissionUpdateType `protobuf:"varint,1,opt,name=permission_update_type,json=permissionUpdateType,proto3,enum=xmtp.mls.database.PermissionUpdateType" json:"permission_update_type,omitempty"` PermissionPolicyOption PermissionPolicyOption `protobuf:"varint,2,opt,name=permission_policy_option,json=permissionPolicyOption,proto3,enum=xmtp.mls.database.PermissionPolicyOption" json:"permission_policy_option,omitempty"` // Metadata permissions update specify which field permission they are updating MetadataFieldName *string `protobuf:"bytes,3,opt,name=metadata_field_name,json=metadataFieldName,proto3,oneof" json:"metadata_field_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdatePermissionData_V1) Reset() { @@ -1263,12 +1265,11 @@ func (x *UpdatePermissionData_V1) GetMetadataFieldName() string { // An installation type PostCommitAction_Installation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` - HpkePublicKey []byte `protobuf:"bytes,2,opt,name=hpke_public_key,json=hpkePublicKey,proto3" json:"hpke_public_key,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + InstallationKey []byte `protobuf:"bytes,1,opt,name=installation_key,json=installationKey,proto3" json:"installation_key,omitempty"` + HpkePublicKey []byte `protobuf:"bytes,2,opt,name=hpke_public_key,json=hpkePublicKey,proto3" json:"hpke_public_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PostCommitAction_Installation) Reset() { @@ -1317,12 +1318,11 @@ func (x *PostCommitAction_Installation) GetHpkePublicKey() []byte { // SendWelcome message type PostCommitAction_SendWelcomes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Installations []*PostCommitAction_Installation `protobuf:"bytes,1,rep,name=installations,proto3" json:"installations,omitempty"` WelcomeMessage []byte `protobuf:"bytes,2,opt,name=welcome_message,json=welcomeMessage,proto3" json:"welcome_message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PostCommitAction_SendWelcomes) Reset() { diff --git a/pkg/proto/mls/message_contents/content.pb.go b/pkg/proto/mls/message_contents/content.pb.go index 3749bc40..32dbb7d4 100644 --- a/pkg/proto/mls/message_contents/content.pb.go +++ b/pkg/proto/mls/message_contents/content.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: mls/message_contents/content.proto @@ -71,16 +71,65 @@ func (Compression) EnumDescriptor() ([]byte, []int) { return file_mls_message_contents_content_proto_rawDescGZIP(), []int{0} } +// The kind of device sync payload being sent +type DeviceSyncKind int32 + +const ( + DeviceSyncKind_DEVICE_SYNC_KIND_UNSPECIFIED DeviceSyncKind = 0 + DeviceSyncKind_DEVICE_SYNC_KIND_MESSAGE_HISTORY DeviceSyncKind = 1 + DeviceSyncKind_DEVICE_SYNC_KIND_CONSENT DeviceSyncKind = 2 +) + +// Enum value maps for DeviceSyncKind. +var ( + DeviceSyncKind_name = map[int32]string{ + 0: "DEVICE_SYNC_KIND_UNSPECIFIED", + 1: "DEVICE_SYNC_KIND_MESSAGE_HISTORY", + 2: "DEVICE_SYNC_KIND_CONSENT", + } + DeviceSyncKind_value = map[string]int32{ + "DEVICE_SYNC_KIND_UNSPECIFIED": 0, + "DEVICE_SYNC_KIND_MESSAGE_HISTORY": 1, + "DEVICE_SYNC_KIND_CONSENT": 2, + } +) + +func (x DeviceSyncKind) Enum() *DeviceSyncKind { + p := new(DeviceSyncKind) + *p = x + return p +} + +func (x DeviceSyncKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DeviceSyncKind) Descriptor() protoreflect.EnumDescriptor { + return file_mls_message_contents_content_proto_enumTypes[1].Descriptor() +} + +func (DeviceSyncKind) Type() protoreflect.EnumType { + return &file_mls_message_contents_content_proto_enumTypes[1] +} + +func (x DeviceSyncKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DeviceSyncKind.Descriptor instead. +func (DeviceSyncKind) EnumDescriptor() ([]byte, []int) { + return file_mls_message_contents_content_proto_rawDescGZIP(), []int{1} +} + // ContentTypeId is used to identify the type of content stored in a Message. type ContentTypeId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AuthorityId string `protobuf:"bytes,1,opt,name=authority_id,json=authorityId,proto3" json:"authority_id,omitempty"` // authority governing this content type + TypeId string `protobuf:"bytes,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` // type identifier + VersionMajor uint32 `protobuf:"varint,3,opt,name=version_major,json=versionMajor,proto3" json:"version_major,omitempty"` // major version of the type + VersionMinor uint32 `protobuf:"varint,4,opt,name=version_minor,json=versionMinor,proto3" json:"version_minor,omitempty"` // minor version of the type unknownFields protoimpl.UnknownFields - - AuthorityId string `protobuf:"bytes,1,opt,name=authority_id,json=authorityId,proto3" json:"authority_id,omitempty"` // authority governing this content type - TypeId string `protobuf:"bytes,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` // type identifier - VersionMajor uint32 `protobuf:"varint,3,opt,name=version_major,json=versionMajor,proto3" json:"version_major,omitempty"` // major version of the type - VersionMinor uint32 `protobuf:"varint,4,opt,name=version_minor,json=versionMinor,proto3" json:"version_minor,omitempty"` // minor version of the type + sizeCache protoimpl.SizeCache } func (x *ContentTypeId) Reset() { @@ -144,15 +193,12 @@ func (x *ContentTypeId) GetVersionMinor() uint32 { // EncodedContent bundles the content with metadata identifying its type // and parameters required for correct decoding and presentation of the content. type EncodedContent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // content type identifier used to match the payload with // the correct decoding machinery Type *ContentTypeId `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // optional encoding parameters required to correctly decode the content - Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // optional fallback description of the content that can be used in case // the client cannot decode or render the content Fallback *string `protobuf:"bytes,3,opt,name=fallback,proto3,oneof" json:"fallback,omitempty"` @@ -160,7 +206,9 @@ type EncodedContent struct { // compress the encoded content bytes Compression *Compression `protobuf:"varint,5,opt,name=compression,proto3,enum=xmtp.mls.message_contents.Compression,oneof" json:"compression,omitempty"` // encoded content itself - Content []byte `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` + Content []byte `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EncodedContent) Reset() { @@ -230,18 +278,17 @@ func (x *EncodedContent) GetContent() []byte { // A PlaintextEnvelope is the outermost payload that gets encrypted by MLS type PlaintextEnvelope struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Selector which declares which version of the EncodedContent this // PlaintextEnvelope is // - // Types that are assignable to Content: + // Types that are valid to be assigned to Content: // // *PlaintextEnvelope_V1_ // *PlaintextEnvelope_V2_ - Content isPlaintextEnvelope_Content `protobuf_oneof:"content"` + Content isPlaintextEnvelope_Content `protobuf_oneof:"content"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PlaintextEnvelope) Reset() { @@ -274,23 +321,27 @@ func (*PlaintextEnvelope) Descriptor() ([]byte, []int) { return file_mls_message_contents_content_proto_rawDescGZIP(), []int{2} } -func (m *PlaintextEnvelope) GetContent() isPlaintextEnvelope_Content { - if m != nil { - return m.Content +func (x *PlaintextEnvelope) GetContent() isPlaintextEnvelope_Content { + if x != nil { + return x.Content } return nil } func (x *PlaintextEnvelope) GetV1() *PlaintextEnvelope_V1 { - if x, ok := x.GetContent().(*PlaintextEnvelope_V1_); ok { - return x.V1 + if x != nil { + if x, ok := x.Content.(*PlaintextEnvelope_V1_); ok { + return x.V1 + } } return nil } func (x *PlaintextEnvelope) GetV2() *PlaintextEnvelope_V2 { - if x, ok := x.GetContent().(*PlaintextEnvelope_V2_); ok { - return x.V2 + if x != nil { + if x, ok := x.Content.(*PlaintextEnvelope_V2_); ok { + return x.V2 + } } return nil } @@ -311,32 +362,33 @@ func (*PlaintextEnvelope_V1_) isPlaintextEnvelope_Content() {} func (*PlaintextEnvelope_V2_) isPlaintextEnvelope_Content() {} -// Initiator or new installation id requesting a history will send a request -type MessageHistoryRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - +// Initiator or new installation id requesting a sync payload send a request +type DeviceSyncRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` // Unique identifier for each request RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` // Ensures a human is in the loop PinCode string `protobuf:"bytes,2,opt,name=pin_code,json=pinCode,proto3" json:"pin_code,omitempty"` + // request kind + Kind DeviceSyncKind `protobuf:"varint,3,opt,name=kind,proto3,enum=xmtp.mls.message_contents.DeviceSyncKind" json:"kind,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *MessageHistoryRequest) Reset() { - *x = MessageHistoryRequest{} +func (x *DeviceSyncRequest) Reset() { + *x = DeviceSyncRequest{} mi := &file_mls_message_contents_content_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *MessageHistoryRequest) String() string { +func (x *DeviceSyncRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MessageHistoryRequest) ProtoMessage() {} +func (*DeviceSyncRequest) ProtoMessage() {} -func (x *MessageHistoryRequest) ProtoReflect() protoreflect.Message { +func (x *DeviceSyncRequest) ProtoReflect() protoreflect.Message { mi := &file_mls_message_contents_content_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -348,53 +400,63 @@ func (x *MessageHistoryRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MessageHistoryRequest.ProtoReflect.Descriptor instead. -func (*MessageHistoryRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use DeviceSyncRequest.ProtoReflect.Descriptor instead. +func (*DeviceSyncRequest) Descriptor() ([]byte, []int) { return file_mls_message_contents_content_proto_rawDescGZIP(), []int{3} } -func (x *MessageHistoryRequest) GetRequestId() string { +func (x *DeviceSyncRequest) GetRequestId() string { if x != nil { return x.RequestId } return "" } -func (x *MessageHistoryRequest) GetPinCode() string { +func (x *DeviceSyncRequest) GetPinCode() string { if x != nil { return x.PinCode } return "" } -// Pre-existing installation id capable of supplying a history sends this reply -type MessageHistoryReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *DeviceSyncRequest) GetKind() DeviceSyncKind { + if x != nil { + return x.Kind + } + return DeviceSyncKind_DEVICE_SYNC_KIND_UNSPECIFIED +} +// Pre-existing installation id capable of supplying a sync payload sends this reply +type DeviceSyncReply struct { + state protoimpl.MessageState `protogen:"open.v1"` // Must match an existing request_id from a message history request RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` // Where the messages can be retrieved from Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` // Generated input 'secret' for the AES Key used to encrypt the message-bundle - EncryptionKey *MessageHistoryKeyType `protobuf:"bytes,3,opt,name=encryption_key,json=encryptionKey,proto3" json:"encryption_key,omitempty"` + EncryptionKey *DeviceSyncKeyType `protobuf:"bytes,3,opt,name=encryption_key,json=encryptionKey,proto3" json:"encryption_key,omitempty"` + // ns unix timestamp of when the reply was sent + TimestampNs uint64 `protobuf:"varint,4,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"` + // request kind + Kind DeviceSyncKind `protobuf:"varint,5,opt,name=kind,proto3,enum=xmtp.mls.message_contents.DeviceSyncKind" json:"kind,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *MessageHistoryReply) Reset() { - *x = MessageHistoryReply{} +func (x *DeviceSyncReply) Reset() { + *x = DeviceSyncReply{} mi := &file_mls_message_contents_content_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *MessageHistoryReply) String() string { +func (x *DeviceSyncReply) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MessageHistoryReply) ProtoMessage() {} +func (*DeviceSyncReply) ProtoMessage() {} -func (x *MessageHistoryReply) ProtoReflect() protoreflect.Message { +func (x *DeviceSyncReply) ProtoReflect() protoreflect.Message { mi := &file_mls_message_contents_content_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -406,58 +468,71 @@ func (x *MessageHistoryReply) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MessageHistoryReply.ProtoReflect.Descriptor instead. -func (*MessageHistoryReply) Descriptor() ([]byte, []int) { +// Deprecated: Use DeviceSyncReply.ProtoReflect.Descriptor instead. +func (*DeviceSyncReply) Descriptor() ([]byte, []int) { return file_mls_message_contents_content_proto_rawDescGZIP(), []int{4} } -func (x *MessageHistoryReply) GetRequestId() string { +func (x *DeviceSyncReply) GetRequestId() string { if x != nil { return x.RequestId } return "" } -func (x *MessageHistoryReply) GetUrl() string { +func (x *DeviceSyncReply) GetUrl() string { if x != nil { return x.Url } return "" } -func (x *MessageHistoryReply) GetEncryptionKey() *MessageHistoryKeyType { +func (x *DeviceSyncReply) GetEncryptionKey() *DeviceSyncKeyType { if x != nil { return x.EncryptionKey } return nil } -// Key used to encrypt the message-bundle -type MessageHistoryKeyType struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *DeviceSyncReply) GetTimestampNs() uint64 { + if x != nil { + return x.TimestampNs + } + return 0 +} - // Types that are assignable to Key: +func (x *DeviceSyncReply) GetKind() DeviceSyncKind { + if x != nil { + return x.Kind + } + return DeviceSyncKind_DEVICE_SYNC_KIND_UNSPECIFIED +} + +// Key used to encrypt the message-bundle +type DeviceSyncKeyType struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Key: // - // *MessageHistoryKeyType_Chacha20Poly1305 - Key isMessageHistoryKeyType_Key `protobuf_oneof:"key"` + // *DeviceSyncKeyType_Aes_256Gcm + Key isDeviceSyncKeyType_Key `protobuf_oneof:"key"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *MessageHistoryKeyType) Reset() { - *x = MessageHistoryKeyType{} +func (x *DeviceSyncKeyType) Reset() { + *x = DeviceSyncKeyType{} mi := &file_mls_message_contents_content_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *MessageHistoryKeyType) String() string { +func (x *DeviceSyncKeyType) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MessageHistoryKeyType) ProtoMessage() {} +func (*DeviceSyncKeyType) ProtoMessage() {} -func (x *MessageHistoryKeyType) ProtoReflect() protoreflect.Message { +func (x *DeviceSyncKeyType) ProtoReflect() protoreflect.Message { mi := &file_mls_message_contents_content_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -469,51 +544,96 @@ func (x *MessageHistoryKeyType) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MessageHistoryKeyType.ProtoReflect.Descriptor instead. -func (*MessageHistoryKeyType) Descriptor() ([]byte, []int) { +// Deprecated: Use DeviceSyncKeyType.ProtoReflect.Descriptor instead. +func (*DeviceSyncKeyType) Descriptor() ([]byte, []int) { return file_mls_message_contents_content_proto_rawDescGZIP(), []int{5} } -func (m *MessageHistoryKeyType) GetKey() isMessageHistoryKeyType_Key { - if m != nil { - return m.Key +func (x *DeviceSyncKeyType) GetKey() isDeviceSyncKeyType_Key { + if x != nil { + return x.Key } return nil } -func (x *MessageHistoryKeyType) GetChacha20Poly1305() []byte { - if x, ok := x.GetKey().(*MessageHistoryKeyType_Chacha20Poly1305); ok { - return x.Chacha20Poly1305 +func (x *DeviceSyncKeyType) GetAes_256Gcm() []byte { + if x != nil { + if x, ok := x.Key.(*DeviceSyncKeyType_Aes_256Gcm); ok { + return x.Aes_256Gcm + } } return nil } -type isMessageHistoryKeyType_Key interface { - isMessageHistoryKeyType_Key() +type isDeviceSyncKeyType_Key interface { + isDeviceSyncKeyType_Key() } -type MessageHistoryKeyType_Chacha20Poly1305 struct { - Chacha20Poly1305 []byte `protobuf:"bytes,1,opt,name=chacha20_poly1305,json=chacha20Poly1305,proto3,oneof"` +type DeviceSyncKeyType_Aes_256Gcm struct { + Aes_256Gcm []byte `protobuf:"bytes,1,opt,name=aes_256_gcm,json=aes256Gcm,proto3,oneof"` } -func (*MessageHistoryKeyType_Chacha20Poly1305) isMessageHistoryKeyType_Key() {} +func (*DeviceSyncKeyType_Aes_256Gcm) isDeviceSyncKeyType_Key() {} -// Version 1 of the encrypted envelope -type PlaintextEnvelope_V1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type UserPreferenceUpdate struct { + state protoimpl.MessageState `protogen:"open.v1"` + Contents [][]byte `protobuf:"bytes,1,rep,name=contents,proto3" json:"contents,omitempty"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserPreferenceUpdate) Reset() { + *x = UserPreferenceUpdate{} + mi := &file_mls_message_contents_content_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserPreferenceUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserPreferenceUpdate) ProtoMessage() {} + +func (x *UserPreferenceUpdate) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_content_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserPreferenceUpdate.ProtoReflect.Descriptor instead. +func (*UserPreferenceUpdate) Descriptor() ([]byte, []int) { + return file_mls_message_contents_content_proto_rawDescGZIP(), []int{6} +} + +func (x *UserPreferenceUpdate) GetContents() [][]byte { + if x != nil { + return x.Contents + } + return nil +} +// Version 1 of the encrypted envelope +type PlaintextEnvelope_V1 struct { + state protoimpl.MessageState `protogen:"open.v1"` // Expected to be EncodedContent Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` // A unique value that can be used to ensure that the same content can // produce different hashes. May be the sender timestamp. IdempotencyKey string `protobuf:"bytes,2,opt,name=idempotency_key,json=idempotencyKey,proto3" json:"idempotency_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PlaintextEnvelope_V1) Reset() { *x = PlaintextEnvelope_V1{} - mi := &file_mls_message_contents_content_proto_msgTypes[7] + mi := &file_mls_message_contents_content_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -525,7 +645,7 @@ func (x *PlaintextEnvelope_V1) String() string { func (*PlaintextEnvelope_V1) ProtoMessage() {} func (x *PlaintextEnvelope_V1) ProtoReflect() protoreflect.Message { - mi := &file_mls_message_contents_content_proto_msgTypes[7] + mi := &file_mls_message_contents_content_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -557,24 +677,24 @@ func (x *PlaintextEnvelope_V1) GetIdempotencyKey() string { // Version 2 of the encrypted envelope type PlaintextEnvelope_V2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A unique value that can be used to ensure that the same content can // produce different hashes. May be the sender timestamp. IdempotencyKey string `protobuf:"bytes,1,opt,name=idempotency_key,json=idempotencyKey,proto3" json:"idempotency_key,omitempty"` - // Types that are assignable to MessageType: + // Types that are valid to be assigned to MessageType: // // *PlaintextEnvelope_V2_Content - // *PlaintextEnvelope_V2_Request - // *PlaintextEnvelope_V2_Reply - MessageType isPlaintextEnvelope_V2_MessageType `protobuf_oneof:"message_type"` + // *PlaintextEnvelope_V2_DeviceSyncRequest + // *PlaintextEnvelope_V2_DeviceSyncReply + // *PlaintextEnvelope_V2_UserPreferenceUpdate + MessageType isPlaintextEnvelope_V2_MessageType `protobuf_oneof:"message_type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PlaintextEnvelope_V2) Reset() { *x = PlaintextEnvelope_V2{} - mi := &file_mls_message_contents_content_proto_msgTypes[8] + mi := &file_mls_message_contents_content_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -586,7 +706,7 @@ func (x *PlaintextEnvelope_V2) String() string { func (*PlaintextEnvelope_V2) ProtoMessage() {} func (x *PlaintextEnvelope_V2) ProtoReflect() protoreflect.Message { - mi := &file_mls_message_contents_content_proto_msgTypes[8] + mi := &file_mls_message_contents_content_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -609,30 +729,45 @@ func (x *PlaintextEnvelope_V2) GetIdempotencyKey() string { return "" } -func (m *PlaintextEnvelope_V2) GetMessageType() isPlaintextEnvelope_V2_MessageType { - if m != nil { - return m.MessageType +func (x *PlaintextEnvelope_V2) GetMessageType() isPlaintextEnvelope_V2_MessageType { + if x != nil { + return x.MessageType } return nil } func (x *PlaintextEnvelope_V2) GetContent() []byte { - if x, ok := x.GetMessageType().(*PlaintextEnvelope_V2_Content); ok { - return x.Content + if x != nil { + if x, ok := x.MessageType.(*PlaintextEnvelope_V2_Content); ok { + return x.Content + } + } + return nil +} + +func (x *PlaintextEnvelope_V2) GetDeviceSyncRequest() *DeviceSyncRequest { + if x != nil { + if x, ok := x.MessageType.(*PlaintextEnvelope_V2_DeviceSyncRequest); ok { + return x.DeviceSyncRequest + } } return nil } -func (x *PlaintextEnvelope_V2) GetRequest() *MessageHistoryRequest { - if x, ok := x.GetMessageType().(*PlaintextEnvelope_V2_Request); ok { - return x.Request +func (x *PlaintextEnvelope_V2) GetDeviceSyncReply() *DeviceSyncReply { + if x != nil { + if x, ok := x.MessageType.(*PlaintextEnvelope_V2_DeviceSyncReply); ok { + return x.DeviceSyncReply + } } return nil } -func (x *PlaintextEnvelope_V2) GetReply() *MessageHistoryReply { - if x, ok := x.GetMessageType().(*PlaintextEnvelope_V2_Reply); ok { - return x.Reply +func (x *PlaintextEnvelope_V2) GetUserPreferenceUpdate() *UserPreferenceUpdate { + if x != nil { + if x, ok := x.MessageType.(*PlaintextEnvelope_V2_UserPreferenceUpdate); ok { + return x.UserPreferenceUpdate + } } return nil } @@ -646,21 +781,28 @@ type PlaintextEnvelope_V2_Content struct { Content []byte `protobuf:"bytes,2,opt,name=content,proto3,oneof"` } -type PlaintextEnvelope_V2_Request struct { - // Initiator sends a request to receive message history - Request *MessageHistoryRequest `protobuf:"bytes,3,opt,name=request,proto3,oneof"` +type PlaintextEnvelope_V2_DeviceSyncRequest struct { + // Initiator sends a request to receive sync payload + DeviceSyncRequest *DeviceSyncRequest `protobuf:"bytes,3,opt,name=device_sync_request,json=deviceSyncRequest,proto3,oneof"` } -type PlaintextEnvelope_V2_Reply struct { - // Some other authorized installation sends a reply - Reply *MessageHistoryReply `protobuf:"bytes,4,opt,name=reply,proto3,oneof"` +type PlaintextEnvelope_V2_DeviceSyncReply struct { + // Some other authorized installation sends a reply with a link to payload + DeviceSyncReply *DeviceSyncReply `protobuf:"bytes,4,opt,name=device_sync_reply,json=deviceSyncReply,proto3,oneof"` +} + +type PlaintextEnvelope_V2_UserPreferenceUpdate struct { + // A serialized user preference update + UserPreferenceUpdate *UserPreferenceUpdate `protobuf:"bytes,5,opt,name=user_preference_update,json=userPreferenceUpdate,proto3,oneof"` } func (*PlaintextEnvelope_V2_Content) isPlaintextEnvelope_V2_MessageType() {} -func (*PlaintextEnvelope_V2_Request) isPlaintextEnvelope_V2_MessageType() {} +func (*PlaintextEnvelope_V2_DeviceSyncRequest) isPlaintextEnvelope_V2_MessageType() {} -func (*PlaintextEnvelope_V2_Reply) isPlaintextEnvelope_V2_MessageType() {} +func (*PlaintextEnvelope_V2_DeviceSyncReply) isPlaintextEnvelope_V2_MessageType() {} + +func (*PlaintextEnvelope_V2_UserPreferenceUpdate) isPlaintextEnvelope_V2_MessageType() {} var File_mls_message_contents_content_proto protoreflect.FileDescriptor @@ -703,7 +845,7 @@ var file_mls_message_contents_content_proto_rawDesc = []byte{ 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, - 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xdf, 0x03, 0x0a, 0x11, 0x50, 0x6c, + 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xec, 0x04, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x02, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, @@ -717,63 +859,91 @@ var file_mls_message_contents_content_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4b, 0x65, 0x79, 0x1a, 0xef, - 0x01, 0x0a, 0x02, 0x56, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, + 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4b, 0x65, 0x79, 0x1a, 0xfc, + 0x02, 0x0a, 0x02, 0x56, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x07, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6c, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, + 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x13, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, - 0x42, 0x0e, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x51, 0x0a, 0x15, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x69, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x9f, - 0x01, 0x0a, 0x13, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x57, 0x0a, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x30, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, - 0x22, 0x4d, 0x0a, 0x15, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x11, 0x63, 0x68, 0x61, - 0x63, 0x68, 0x61, 0x32, 0x30, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x31, 0x33, 0x30, 0x35, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x10, 0x63, 0x68, 0x61, 0x63, 0x68, 0x61, 0x32, 0x30, - 0x50, 0x6f, 0x6c, 0x79, 0x31, 0x33, 0x30, 0x35, 0x42, 0x05, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x2a, - 0x3c, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, - 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, - 0x46, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4d, 0x50, 0x52, - 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x5a, 0x49, 0x50, 0x10, 0x01, 0x42, 0xec, 0x01, - 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, - 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, - 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, - 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, - 0x4d, 0x4d, 0xaa, 0x02, 0x18, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x6c, 0x73, 0x2e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, 0x18, - 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x24, 0x58, 0x6d, 0x74, 0x70, 0x5c, - 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x1a, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x6c, 0x73, 0x3a, 0x3a, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, + 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x11, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, + 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x73, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x12, 0x67, 0x0a, 0x16, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x14, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x0e, 0x0a, + 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x09, 0x0a, + 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x8c, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, + 0x08, 0x70, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x69, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, + 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x73, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x69, 0x6e, + 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xf9, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x53, 0x0a, 0x0e, + 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, + 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, + 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x4e, 0x73, 0x12, 0x3d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x22, 0x3c, 0x0a, 0x11, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, + 0x63, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x65, 0x73, 0x5f, + 0x32, 0x35, 0x36, 0x5f, 0x67, 0x63, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, + 0x09, 0x61, 0x65, 0x73, 0x32, 0x35, 0x36, 0x47, 0x63, 0x6d, 0x42, 0x05, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x22, 0x32, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2a, 0x3c, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x46, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, + 0x10, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x5a, 0x49, + 0x50, 0x10, 0x01, 0x2a, 0x76, 0x0a, 0x0e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x79, 0x6e, + 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, + 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x45, 0x56, 0x49, 0x43, + 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x10, 0x01, 0x12, 0x1c, 0x0a, + 0x18, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4b, 0x49, 0x4e, + 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x42, 0xec, 0x01, 0x0a, 0x1d, + 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0c, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x78, + 0x6d, 0x74, 0x70, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x4d, + 0xaa, 0x02, 0x18, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x6c, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xca, 0x02, 0x18, 0x58, 0x6d, + 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0xe2, 0x02, 0x24, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, + 0x73, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, + 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x6c, 0x73, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -788,34 +958,39 @@ func file_mls_message_contents_content_proto_rawDescGZIP() []byte { return file_mls_message_contents_content_proto_rawDescData } -var file_mls_message_contents_content_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_mls_message_contents_content_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_mls_message_contents_content_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_mls_message_contents_content_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_mls_message_contents_content_proto_goTypes = []any{ - (Compression)(0), // 0: xmtp.mls.message_contents.Compression - (*ContentTypeId)(nil), // 1: xmtp.mls.message_contents.ContentTypeId - (*EncodedContent)(nil), // 2: xmtp.mls.message_contents.EncodedContent - (*PlaintextEnvelope)(nil), // 3: xmtp.mls.message_contents.PlaintextEnvelope - (*MessageHistoryRequest)(nil), // 4: xmtp.mls.message_contents.MessageHistoryRequest - (*MessageHistoryReply)(nil), // 5: xmtp.mls.message_contents.MessageHistoryReply - (*MessageHistoryKeyType)(nil), // 6: xmtp.mls.message_contents.MessageHistoryKeyType - nil, // 7: xmtp.mls.message_contents.EncodedContent.ParametersEntry - (*PlaintextEnvelope_V1)(nil), // 8: xmtp.mls.message_contents.PlaintextEnvelope.V1 - (*PlaintextEnvelope_V2)(nil), // 9: xmtp.mls.message_contents.PlaintextEnvelope.V2 + (Compression)(0), // 0: xmtp.mls.message_contents.Compression + (DeviceSyncKind)(0), // 1: xmtp.mls.message_contents.DeviceSyncKind + (*ContentTypeId)(nil), // 2: xmtp.mls.message_contents.ContentTypeId + (*EncodedContent)(nil), // 3: xmtp.mls.message_contents.EncodedContent + (*PlaintextEnvelope)(nil), // 4: xmtp.mls.message_contents.PlaintextEnvelope + (*DeviceSyncRequest)(nil), // 5: xmtp.mls.message_contents.DeviceSyncRequest + (*DeviceSyncReply)(nil), // 6: xmtp.mls.message_contents.DeviceSyncReply + (*DeviceSyncKeyType)(nil), // 7: xmtp.mls.message_contents.DeviceSyncKeyType + (*UserPreferenceUpdate)(nil), // 8: xmtp.mls.message_contents.UserPreferenceUpdate + nil, // 9: xmtp.mls.message_contents.EncodedContent.ParametersEntry + (*PlaintextEnvelope_V1)(nil), // 10: xmtp.mls.message_contents.PlaintextEnvelope.V1 + (*PlaintextEnvelope_V2)(nil), // 11: xmtp.mls.message_contents.PlaintextEnvelope.V2 } var file_mls_message_contents_content_proto_depIdxs = []int32{ - 1, // 0: xmtp.mls.message_contents.EncodedContent.type:type_name -> xmtp.mls.message_contents.ContentTypeId - 7, // 1: xmtp.mls.message_contents.EncodedContent.parameters:type_name -> xmtp.mls.message_contents.EncodedContent.ParametersEntry - 0, // 2: xmtp.mls.message_contents.EncodedContent.compression:type_name -> xmtp.mls.message_contents.Compression - 8, // 3: xmtp.mls.message_contents.PlaintextEnvelope.v1:type_name -> xmtp.mls.message_contents.PlaintextEnvelope.V1 - 9, // 4: xmtp.mls.message_contents.PlaintextEnvelope.v2:type_name -> xmtp.mls.message_contents.PlaintextEnvelope.V2 - 6, // 5: xmtp.mls.message_contents.MessageHistoryReply.encryption_key:type_name -> xmtp.mls.message_contents.MessageHistoryKeyType - 4, // 6: xmtp.mls.message_contents.PlaintextEnvelope.V2.request:type_name -> xmtp.mls.message_contents.MessageHistoryRequest - 5, // 7: xmtp.mls.message_contents.PlaintextEnvelope.V2.reply:type_name -> xmtp.mls.message_contents.MessageHistoryReply - 8, // [8:8] is the sub-list for method output_type - 8, // [8:8] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 2, // 0: xmtp.mls.message_contents.EncodedContent.type:type_name -> xmtp.mls.message_contents.ContentTypeId + 9, // 1: xmtp.mls.message_contents.EncodedContent.parameters:type_name -> xmtp.mls.message_contents.EncodedContent.ParametersEntry + 0, // 2: xmtp.mls.message_contents.EncodedContent.compression:type_name -> xmtp.mls.message_contents.Compression + 10, // 3: xmtp.mls.message_contents.PlaintextEnvelope.v1:type_name -> xmtp.mls.message_contents.PlaintextEnvelope.V1 + 11, // 4: xmtp.mls.message_contents.PlaintextEnvelope.v2:type_name -> xmtp.mls.message_contents.PlaintextEnvelope.V2 + 1, // 5: xmtp.mls.message_contents.DeviceSyncRequest.kind:type_name -> xmtp.mls.message_contents.DeviceSyncKind + 7, // 6: xmtp.mls.message_contents.DeviceSyncReply.encryption_key:type_name -> xmtp.mls.message_contents.DeviceSyncKeyType + 1, // 7: xmtp.mls.message_contents.DeviceSyncReply.kind:type_name -> xmtp.mls.message_contents.DeviceSyncKind + 5, // 8: xmtp.mls.message_contents.PlaintextEnvelope.V2.device_sync_request:type_name -> xmtp.mls.message_contents.DeviceSyncRequest + 6, // 9: xmtp.mls.message_contents.PlaintextEnvelope.V2.device_sync_reply:type_name -> xmtp.mls.message_contents.DeviceSyncReply + 8, // 10: xmtp.mls.message_contents.PlaintextEnvelope.V2.user_preference_update:type_name -> xmtp.mls.message_contents.UserPreferenceUpdate + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_mls_message_contents_content_proto_init() } @@ -829,20 +1004,21 @@ func file_mls_message_contents_content_proto_init() { (*PlaintextEnvelope_V2_)(nil), } file_mls_message_contents_content_proto_msgTypes[5].OneofWrappers = []any{ - (*MessageHistoryKeyType_Chacha20Poly1305)(nil), + (*DeviceSyncKeyType_Aes_256Gcm)(nil), } - file_mls_message_contents_content_proto_msgTypes[8].OneofWrappers = []any{ + file_mls_message_contents_content_proto_msgTypes[9].OneofWrappers = []any{ (*PlaintextEnvelope_V2_Content)(nil), - (*PlaintextEnvelope_V2_Request)(nil), - (*PlaintextEnvelope_V2_Reply)(nil), + (*PlaintextEnvelope_V2_DeviceSyncRequest)(nil), + (*PlaintextEnvelope_V2_DeviceSyncReply)(nil), + (*PlaintextEnvelope_V2_UserPreferenceUpdate)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_mls_message_contents_content_proto_rawDesc, - NumEnums: 1, - NumMessages: 9, + NumEnums: 2, + NumMessages: 10, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/mls/message_contents/content_types/reaction.pb.go b/pkg/proto/mls/message_contents/content_types/reaction.pb.go new file mode 100644 index 00000000..93e6129c --- /dev/null +++ b/pkg/proto/mls/message_contents/content_types/reaction.pb.go @@ -0,0 +1,338 @@ +// reaction.proto +// This file defines the ReactionV2 message type and is associated with the following ContentTypeId: +// +// ContentTypeId { +// authority_id: "xmtp.org", +// type_id: "reaction", +// version_major: 2, +// version_minor: 0, +// } +// + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.3 +// protoc (unknown) +// source: mls/message_contents/content_types/reaction.proto + +package content_types + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Action enum to represent reaction states +type ReactionAction int32 + +const ( + ReactionAction_REACTION_ACTION_UNSPECIFIED ReactionAction = 0 + ReactionAction_REACTION_ACTION_ADDED ReactionAction = 1 + ReactionAction_REACTION_ACTION_REMOVED ReactionAction = 2 +) + +// Enum value maps for ReactionAction. +var ( + ReactionAction_name = map[int32]string{ + 0: "REACTION_ACTION_UNSPECIFIED", + 1: "REACTION_ACTION_ADDED", + 2: "REACTION_ACTION_REMOVED", + } + ReactionAction_value = map[string]int32{ + "REACTION_ACTION_UNSPECIFIED": 0, + "REACTION_ACTION_ADDED": 1, + "REACTION_ACTION_REMOVED": 2, + } +) + +func (x ReactionAction) Enum() *ReactionAction { + p := new(ReactionAction) + *p = x + return p +} + +func (x ReactionAction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ReactionAction) Descriptor() protoreflect.EnumDescriptor { + return file_mls_message_contents_content_types_reaction_proto_enumTypes[0].Descriptor() +} + +func (ReactionAction) Type() protoreflect.EnumType { + return &file_mls_message_contents_content_types_reaction_proto_enumTypes[0] +} + +func (x ReactionAction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ReactionAction.Descriptor instead. +func (ReactionAction) EnumDescriptor() ([]byte, []int) { + return file_mls_message_contents_content_types_reaction_proto_rawDescGZIP(), []int{0} +} + +// Schema enum to represent reaction content types +type ReactionSchema int32 + +const ( + ReactionSchema_REACTION_SCHEMA_UNSPECIFIED ReactionSchema = 0 + ReactionSchema_REACTION_SCHEMA_UNICODE ReactionSchema = 1 + ReactionSchema_REACTION_SCHEMA_SHORTCODE ReactionSchema = 2 + ReactionSchema_REACTION_SCHEMA_CUSTOM ReactionSchema = 3 +) + +// Enum value maps for ReactionSchema. +var ( + ReactionSchema_name = map[int32]string{ + 0: "REACTION_SCHEMA_UNSPECIFIED", + 1: "REACTION_SCHEMA_UNICODE", + 2: "REACTION_SCHEMA_SHORTCODE", + 3: "REACTION_SCHEMA_CUSTOM", + } + ReactionSchema_value = map[string]int32{ + "REACTION_SCHEMA_UNSPECIFIED": 0, + "REACTION_SCHEMA_UNICODE": 1, + "REACTION_SCHEMA_SHORTCODE": 2, + "REACTION_SCHEMA_CUSTOM": 3, + } +) + +func (x ReactionSchema) Enum() *ReactionSchema { + p := new(ReactionSchema) + *p = x + return p +} + +func (x ReactionSchema) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ReactionSchema) Descriptor() protoreflect.EnumDescriptor { + return file_mls_message_contents_content_types_reaction_proto_enumTypes[1].Descriptor() +} + +func (ReactionSchema) Type() protoreflect.EnumType { + return &file_mls_message_contents_content_types_reaction_proto_enumTypes[1] +} + +func (x ReactionSchema) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ReactionSchema.Descriptor instead. +func (ReactionSchema) EnumDescriptor() ([]byte, []int) { + return file_mls_message_contents_content_types_reaction_proto_rawDescGZIP(), []int{1} +} + +// Reaction message type +type ReactionV2 struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The message ID being reacted to + Reference string `protobuf:"bytes,1,opt,name=reference,proto3" json:"reference,omitempty"` + // The inbox ID of the user who sent the message being reacted to + // Optional for group messages + ReferenceInboxId string `protobuf:"bytes,2,opt,name=reference_inbox_id,json=referenceInboxId,proto3" json:"reference_inbox_id,omitempty"` + // The action of the reaction (added or removed) + Action ReactionAction `protobuf:"varint,3,opt,name=action,proto3,enum=xmtp.mls.message_contents.content_types.ReactionAction" json:"action,omitempty"` + // The content of the reaction + Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` + // The schema of the reaction content + Schema ReactionSchema `protobuf:"varint,5,opt,name=schema,proto3,enum=xmtp.mls.message_contents.content_types.ReactionSchema" json:"schema,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReactionV2) Reset() { + *x = ReactionV2{} + mi := &file_mls_message_contents_content_types_reaction_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReactionV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReactionV2) ProtoMessage() {} + +func (x *ReactionV2) ProtoReflect() protoreflect.Message { + mi := &file_mls_message_contents_content_types_reaction_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReactionV2.ProtoReflect.Descriptor instead. +func (*ReactionV2) Descriptor() ([]byte, []int) { + return file_mls_message_contents_content_types_reaction_proto_rawDescGZIP(), []int{0} +} + +func (x *ReactionV2) GetReference() string { + if x != nil { + return x.Reference + } + return "" +} + +func (x *ReactionV2) GetReferenceInboxId() string { + if x != nil { + return x.ReferenceInboxId + } + return "" +} + +func (x *ReactionV2) GetAction() ReactionAction { + if x != nil { + return x.Action + } + return ReactionAction_REACTION_ACTION_UNSPECIFIED +} + +func (x *ReactionV2) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +func (x *ReactionV2) GetSchema() ReactionSchema { + if x != nil { + return x.Schema + } + return ReactionSchema_REACTION_SCHEMA_UNSPECIFIED +} + +var File_mls_message_contents_content_types_reaction_proto protoreflect.FileDescriptor + +var file_mls_message_contents_content_types_reaction_proto_rawDesc = []byte{ + 0x0a, 0x31, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x94, 0x02, 0x0a, + 0x0a, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x1c, 0x0a, 0x09, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x4f, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, + 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x2a, 0x69, 0x0a, 0x0e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x89, + 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, + 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, + 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x01, 0x12, + 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, + 0x4d, 0x41, 0x5f, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x02, 0x12, 0x1a, + 0x0a, 0x16, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, + 0x41, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x03, 0x42, 0xbf, 0x02, 0x0a, 0x2b, 0x63, + 0x6f, 0x6d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x42, 0x0d, 0x52, 0x65, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x78, 0x6d, 0x74, + 0x70, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0xa2, 0x02, 0x04, 0x58, 0x4d, 0x4d, 0x43, 0xaa, 0x02, 0x25, + 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x6c, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x73, 0xca, 0x02, 0x25, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, + 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, + 0x5c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0xe2, 0x02, 0x31, + 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x28, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x6c, 0x73, 0x3a, 0x3a, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x3a, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mls_message_contents_content_types_reaction_proto_rawDescOnce sync.Once + file_mls_message_contents_content_types_reaction_proto_rawDescData = file_mls_message_contents_content_types_reaction_proto_rawDesc +) + +func file_mls_message_contents_content_types_reaction_proto_rawDescGZIP() []byte { + file_mls_message_contents_content_types_reaction_proto_rawDescOnce.Do(func() { + file_mls_message_contents_content_types_reaction_proto_rawDescData = protoimpl.X.CompressGZIP(file_mls_message_contents_content_types_reaction_proto_rawDescData) + }) + return file_mls_message_contents_content_types_reaction_proto_rawDescData +} + +var file_mls_message_contents_content_types_reaction_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_mls_message_contents_content_types_reaction_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mls_message_contents_content_types_reaction_proto_goTypes = []any{ + (ReactionAction)(0), // 0: xmtp.mls.message_contents.content_types.ReactionAction + (ReactionSchema)(0), // 1: xmtp.mls.message_contents.content_types.ReactionSchema + (*ReactionV2)(nil), // 2: xmtp.mls.message_contents.content_types.ReactionV2 +} +var file_mls_message_contents_content_types_reaction_proto_depIdxs = []int32{ + 0, // 0: xmtp.mls.message_contents.content_types.ReactionV2.action:type_name -> xmtp.mls.message_contents.content_types.ReactionAction + 1, // 1: xmtp.mls.message_contents.content_types.ReactionV2.schema:type_name -> xmtp.mls.message_contents.content_types.ReactionSchema + 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_mls_message_contents_content_types_reaction_proto_init() } +func file_mls_message_contents_content_types_reaction_proto_init() { + if File_mls_message_contents_content_types_reaction_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mls_message_contents_content_types_reaction_proto_rawDesc, + NumEnums: 2, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mls_message_contents_content_types_reaction_proto_goTypes, + DependencyIndexes: file_mls_message_contents_content_types_reaction_proto_depIdxs, + EnumInfos: file_mls_message_contents_content_types_reaction_proto_enumTypes, + MessageInfos: file_mls_message_contents_content_types_reaction_proto_msgTypes, + }.Build() + File_mls_message_contents_content_types_reaction_proto = out.File + file_mls_message_contents_content_types_reaction_proto_rawDesc = nil + file_mls_message_contents_content_types_reaction_proto_goTypes = nil + file_mls_message_contents_content_types_reaction_proto_depIdxs = nil +} diff --git a/pkg/proto/mls/message_contents/group_membership.pb.go b/pkg/proto/mls/message_contents/group_membership.pb.go index a16c0393..8cd63fcd 100644 --- a/pkg/proto/mls/message_contents/group_membership.pb.go +++ b/pkg/proto/mls/message_contents/group_membership.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: mls/message_contents/group_membership.proto @@ -25,11 +25,10 @@ const ( // Contains a mapping of `inbox_id` -> `sequence_id` for all members of a group. // Designed to be stored in the group context extension of the MLS group type GroupMembership struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Members map[string]uint64 `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - Members map[string]uint64 `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *GroupMembership) Reset() { diff --git a/pkg/proto/mls/message_contents/group_metadata.pb.go b/pkg/proto/mls/message_contents/group_metadata.pb.go index 6727b5f1..d4729677 100644 --- a/pkg/proto/mls/message_contents/group_metadata.pb.go +++ b/pkg/proto/mls/message_contents/group_metadata.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: mls/message_contents/group_metadata.proto @@ -77,16 +77,15 @@ func (ConversationType) EnumDescriptor() ([]byte, []int) { // Parent message for group metadata type GroupMetadataV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ConversationType ConversationType `protobuf:"varint,1,opt,name=conversation_type,json=conversationType,proto3,enum=xmtp.mls.message_contents.ConversationType" json:"conversation_type,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + ConversationType ConversationType `protobuf:"varint,1,opt,name=conversation_type,json=conversationType,proto3,enum=xmtp.mls.message_contents.ConversationType" json:"conversation_type,omitempty"` // This will be removed soon CreatorAccountAddress string `protobuf:"bytes,2,opt,name=creator_account_address,json=creatorAccountAddress,proto3" json:"creator_account_address,omitempty"` CreatorInboxId string `protobuf:"bytes,3,opt,name=creator_inbox_id,json=creatorInboxId,proto3" json:"creator_inbox_id,omitempty"` // Should only be present for CONVERSATION_TYPE_DM - DmMembers *DmMembers `protobuf:"bytes,4,opt,name=dm_members,json=dmMembers,proto3,oneof" json:"dm_members,omitempty"` + DmMembers *DmMembers `protobuf:"bytes,4,opt,name=dm_members,json=dmMembers,proto3,oneof" json:"dm_members,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GroupMetadataV1) Reset() { @@ -149,11 +148,10 @@ func (x *GroupMetadataV1) GetDmMembers() *DmMembers { // Wrapper around an Inbox Id type Inbox struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + InboxId string `protobuf:"bytes,1,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` unknownFields protoimpl.UnknownFields - - InboxId string `protobuf:"bytes,1,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Inbox) Reset() { @@ -195,12 +193,11 @@ func (x *Inbox) GetInboxId() string { // Ordering does not matter here type DmMembers struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + DmMemberOne *Inbox `protobuf:"bytes,1,opt,name=dm_member_one,json=dmMemberOne,proto3" json:"dm_member_one,omitempty"` + DmMemberTwo *Inbox `protobuf:"bytes,2,opt,name=dm_member_two,json=dmMemberTwo,proto3" json:"dm_member_two,omitempty"` unknownFields protoimpl.UnknownFields - - DmMemberOne *Inbox `protobuf:"bytes,1,opt,name=dm_member_one,json=dmMemberOne,proto3" json:"dm_member_one,omitempty"` - DmMemberTwo *Inbox `protobuf:"bytes,2,opt,name=dm_member_two,json=dmMemberTwo,proto3" json:"dm_member_two,omitempty"` + sizeCache protoimpl.SizeCache } func (x *DmMembers) Reset() { diff --git a/pkg/proto/mls/message_contents/group_mutable_metadata.pb.go b/pkg/proto/mls/message_contents/group_mutable_metadata.pb.go index 80ca4b34..7d247c07 100644 --- a/pkg/proto/mls/message_contents/group_mutable_metadata.pb.go +++ b/pkg/proto/mls/message_contents/group_mutable_metadata.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: mls/message_contents/group_mutable_metadata.proto @@ -24,16 +24,15 @@ const ( // Message for group mutable metadata type GroupMutableMetadataV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Map to store various metadata attributes (Group name, etc.) - Attributes map[string]string `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Attributes map[string]string `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` AdminList *Inboxes `protobuf:"bytes,2,opt,name=admin_list,json=adminList,proto3" json:"admin_list,omitempty"` // Creator starts as only super_admin // Only super_admin can add/remove other super_admin SuperAdminList *Inboxes `protobuf:"bytes,3,opt,name=super_admin_list,json=superAdminList,proto3" json:"super_admin_list,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GroupMutableMetadataV1) Reset() { @@ -89,11 +88,10 @@ func (x *GroupMutableMetadataV1) GetSuperAdminList() *Inboxes { // Wrapper around a list of repeated Inbox Ids type Inboxes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + InboxIds []string `protobuf:"bytes,1,rep,name=inbox_ids,json=inboxIds,proto3" json:"inbox_ids,omitempty"` unknownFields protoimpl.UnknownFields - - InboxIds []string `protobuf:"bytes,1,rep,name=inbox_ids,json=inboxIds,proto3" json:"inbox_ids,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Inboxes) Reset() { diff --git a/pkg/proto/mls/message_contents/group_permissions.pb.go b/pkg/proto/mls/message_contents/group_permissions.pb.go index 5797bc44..46c3ff4e 100644 --- a/pkg/proto/mls/message_contents/group_permissions.pb.go +++ b/pkg/proto/mls/message_contents/group_permissions.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: mls/message_contents/group_permissions.proto @@ -189,11 +189,10 @@ func (PermissionsUpdatePolicy_PermissionsBasePolicy) EnumDescriptor() ([]byte, [ // Message for group mutable metadata type GroupMutablePermissionsV1 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Policies *PolicySet `protobuf:"bytes,1,opt,name=policies,proto3" json:"policies,omitempty"` unknownFields protoimpl.UnknownFields - - Policies *PolicySet `protobuf:"bytes,1,opt,name=policies,proto3" json:"policies,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GroupMutablePermissionsV1) Reset() { @@ -235,16 +234,15 @@ func (x *GroupMutablePermissionsV1) GetPolicies() *PolicySet { // The set of policies that govern the group type PolicySet struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` AddMemberPolicy *MembershipPolicy `protobuf:"bytes,1,opt,name=add_member_policy,json=addMemberPolicy,proto3" json:"add_member_policy,omitempty"` RemoveMemberPolicy *MembershipPolicy `protobuf:"bytes,2,opt,name=remove_member_policy,json=removeMemberPolicy,proto3" json:"remove_member_policy,omitempty"` - UpdateMetadataPolicy map[string]*MetadataPolicy `protobuf:"bytes,3,rep,name=update_metadata_policy,json=updateMetadataPolicy,proto3" json:"update_metadata_policy,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + UpdateMetadataPolicy map[string]*MetadataPolicy `protobuf:"bytes,3,rep,name=update_metadata_policy,json=updateMetadataPolicy,proto3" json:"update_metadata_policy,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` AddAdminPolicy *PermissionsUpdatePolicy `protobuf:"bytes,4,opt,name=add_admin_policy,json=addAdminPolicy,proto3" json:"add_admin_policy,omitempty"` RemoveAdminPolicy *PermissionsUpdatePolicy `protobuf:"bytes,5,opt,name=remove_admin_policy,json=removeAdminPolicy,proto3" json:"remove_admin_policy,omitempty"` UpdatePermissionsPolicy *PermissionsUpdatePolicy `protobuf:"bytes,6,opt,name=update_permissions_policy,json=updatePermissionsPolicy,proto3" json:"update_permissions_policy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PolicySet) Reset() { @@ -321,16 +319,15 @@ func (x *PolicySet) GetUpdatePermissionsPolicy() *PermissionsUpdatePolicy { // A policy that governs adding/removing members or installations type MembershipPolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *MembershipPolicy_Base // *MembershipPolicy_AndCondition_ // *MembershipPolicy_AnyCondition_ - Kind isMembershipPolicy_Kind `protobuf_oneof:"kind"` + Kind isMembershipPolicy_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MembershipPolicy) Reset() { @@ -363,30 +360,36 @@ func (*MembershipPolicy) Descriptor() ([]byte, []int) { return file_mls_message_contents_group_permissions_proto_rawDescGZIP(), []int{2} } -func (m *MembershipPolicy) GetKind() isMembershipPolicy_Kind { - if m != nil { - return m.Kind +func (x *MembershipPolicy) GetKind() isMembershipPolicy_Kind { + if x != nil { + return x.Kind } return nil } func (x *MembershipPolicy) GetBase() MembershipPolicy_BasePolicy { - if x, ok := x.GetKind().(*MembershipPolicy_Base); ok { - return x.Base + if x != nil { + if x, ok := x.Kind.(*MembershipPolicy_Base); ok { + return x.Base + } } return MembershipPolicy_BASE_POLICY_UNSPECIFIED } func (x *MembershipPolicy) GetAndCondition() *MembershipPolicy_AndCondition { - if x, ok := x.GetKind().(*MembershipPolicy_AndCondition_); ok { - return x.AndCondition + if x != nil { + if x, ok := x.Kind.(*MembershipPolicy_AndCondition_); ok { + return x.AndCondition + } } return nil } func (x *MembershipPolicy) GetAnyCondition() *MembershipPolicy_AnyCondition { - if x, ok := x.GetKind().(*MembershipPolicy_AnyCondition_); ok { - return x.AnyCondition + if x != nil { + if x, ok := x.Kind.(*MembershipPolicy_AnyCondition_); ok { + return x.AnyCondition + } } return nil } @@ -415,16 +418,15 @@ func (*MembershipPolicy_AnyCondition_) isMembershipPolicy_Kind() {} // A policy that governs updating metadata type MetadataPolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *MetadataPolicy_Base // *MetadataPolicy_AndCondition_ // *MetadataPolicy_AnyCondition_ - Kind isMetadataPolicy_Kind `protobuf_oneof:"kind"` + Kind isMetadataPolicy_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MetadataPolicy) Reset() { @@ -457,30 +459,36 @@ func (*MetadataPolicy) Descriptor() ([]byte, []int) { return file_mls_message_contents_group_permissions_proto_rawDescGZIP(), []int{3} } -func (m *MetadataPolicy) GetKind() isMetadataPolicy_Kind { - if m != nil { - return m.Kind +func (x *MetadataPolicy) GetKind() isMetadataPolicy_Kind { + if x != nil { + return x.Kind } return nil } func (x *MetadataPolicy) GetBase() MetadataPolicy_MetadataBasePolicy { - if x, ok := x.GetKind().(*MetadataPolicy_Base); ok { - return x.Base + if x != nil { + if x, ok := x.Kind.(*MetadataPolicy_Base); ok { + return x.Base + } } return MetadataPolicy_METADATA_BASE_POLICY_UNSPECIFIED } func (x *MetadataPolicy) GetAndCondition() *MetadataPolicy_AndCondition { - if x, ok := x.GetKind().(*MetadataPolicy_AndCondition_); ok { - return x.AndCondition + if x != nil { + if x, ok := x.Kind.(*MetadataPolicy_AndCondition_); ok { + return x.AndCondition + } } return nil } func (x *MetadataPolicy) GetAnyCondition() *MetadataPolicy_AnyCondition { - if x, ok := x.GetKind().(*MetadataPolicy_AnyCondition_); ok { - return x.AnyCondition + if x != nil { + if x, ok := x.Kind.(*MetadataPolicy_AnyCondition_); ok { + return x.AnyCondition + } } return nil } @@ -509,16 +517,15 @@ func (*MetadataPolicy_AnyCondition_) isMetadataPolicy_Kind() {} // A policy that governs updating permissions type PermissionsUpdatePolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *PermissionsUpdatePolicy_Base // *PermissionsUpdatePolicy_AndCondition_ // *PermissionsUpdatePolicy_AnyCondition_ - Kind isPermissionsUpdatePolicy_Kind `protobuf_oneof:"kind"` + Kind isPermissionsUpdatePolicy_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PermissionsUpdatePolicy) Reset() { @@ -551,30 +558,36 @@ func (*PermissionsUpdatePolicy) Descriptor() ([]byte, []int) { return file_mls_message_contents_group_permissions_proto_rawDescGZIP(), []int{4} } -func (m *PermissionsUpdatePolicy) GetKind() isPermissionsUpdatePolicy_Kind { - if m != nil { - return m.Kind +func (x *PermissionsUpdatePolicy) GetKind() isPermissionsUpdatePolicy_Kind { + if x != nil { + return x.Kind } return nil } func (x *PermissionsUpdatePolicy) GetBase() PermissionsUpdatePolicy_PermissionsBasePolicy { - if x, ok := x.GetKind().(*PermissionsUpdatePolicy_Base); ok { - return x.Base + if x != nil { + if x, ok := x.Kind.(*PermissionsUpdatePolicy_Base); ok { + return x.Base + } } return PermissionsUpdatePolicy_PERMISSIONS_BASE_POLICY_UNSPECIFIED } func (x *PermissionsUpdatePolicy) GetAndCondition() *PermissionsUpdatePolicy_AndCondition { - if x, ok := x.GetKind().(*PermissionsUpdatePolicy_AndCondition_); ok { - return x.AndCondition + if x != nil { + if x, ok := x.Kind.(*PermissionsUpdatePolicy_AndCondition_); ok { + return x.AndCondition + } } return nil } func (x *PermissionsUpdatePolicy) GetAnyCondition() *PermissionsUpdatePolicy_AnyCondition { - if x, ok := x.GetKind().(*PermissionsUpdatePolicy_AnyCondition_); ok { - return x.AnyCondition + if x != nil { + if x, ok := x.Kind.(*PermissionsUpdatePolicy_AnyCondition_); ok { + return x.AnyCondition + } } return nil } @@ -603,11 +616,10 @@ func (*PermissionsUpdatePolicy_AnyCondition_) isPermissionsUpdatePolicy_Kind() { // Combine multiple policies. All must evaluate to true type MembershipPolicy_AndCondition struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Policies []*MembershipPolicy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` unknownFields protoimpl.UnknownFields - - Policies []*MembershipPolicy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MembershipPolicy_AndCondition) Reset() { @@ -649,11 +661,10 @@ func (x *MembershipPolicy_AndCondition) GetPolicies() []*MembershipPolicy { // Combine multiple policies. Any must evaluate to true type MembershipPolicy_AnyCondition struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Policies []*MembershipPolicy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` unknownFields protoimpl.UnknownFields - - Policies []*MembershipPolicy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MembershipPolicy_AnyCondition) Reset() { @@ -695,11 +706,10 @@ func (x *MembershipPolicy_AnyCondition) GetPolicies() []*MembershipPolicy { // Combine multiple policies. All must evaluate to true type MetadataPolicy_AndCondition struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Policies []*MetadataPolicy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` unknownFields protoimpl.UnknownFields - - Policies []*MetadataPolicy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MetadataPolicy_AndCondition) Reset() { @@ -741,11 +751,10 @@ func (x *MetadataPolicy_AndCondition) GetPolicies() []*MetadataPolicy { // Combine multiple policies. Any must evaluate to true type MetadataPolicy_AnyCondition struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Policies []*MetadataPolicy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` unknownFields protoimpl.UnknownFields - - Policies []*MetadataPolicy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MetadataPolicy_AnyCondition) Reset() { @@ -787,11 +796,10 @@ func (x *MetadataPolicy_AnyCondition) GetPolicies() []*MetadataPolicy { // Combine multiple policies. All must evaluate to true type PermissionsUpdatePolicy_AndCondition struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Policies []*PermissionsUpdatePolicy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` unknownFields protoimpl.UnknownFields - - Policies []*PermissionsUpdatePolicy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PermissionsUpdatePolicy_AndCondition) Reset() { @@ -833,11 +841,10 @@ func (x *PermissionsUpdatePolicy_AndCondition) GetPolicies() []*PermissionsUpdat // Combine multiple policies. Any must evaluate to true type PermissionsUpdatePolicy_AnyCondition struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Policies []*PermissionsUpdatePolicy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` unknownFields protoimpl.UnknownFields - - Policies []*PermissionsUpdatePolicy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PermissionsUpdatePolicy_AnyCondition) Reset() { diff --git a/pkg/proto/mls/message_contents/transcript_messages.pb.go b/pkg/proto/mls/message_contents/transcript_messages.pb.go index 10347bfa..2554e808 100644 --- a/pkg/proto/mls/message_contents/transcript_messages.pb.go +++ b/pkg/proto/mls/message_contents/transcript_messages.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: mls/message_contents/transcript_messages.proto @@ -24,13 +24,12 @@ const ( // A group member and affected installation IDs type MembershipChange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InstallationIds [][]byte `protobuf:"bytes,1,rep,name=installation_ids,json=installationIds,proto3" json:"installation_ids,omitempty"` - AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - InitiatedByAccountAddress string `protobuf:"bytes,3,opt,name=initiated_by_account_address,json=initiatedByAccountAddress,proto3" json:"initiated_by_account_address,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + InstallationIds [][]byte `protobuf:"bytes,1,rep,name=installation_ids,json=installationIds,proto3" json:"installation_ids,omitempty"` + AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + InitiatedByAccountAddress string `protobuf:"bytes,3,opt,name=initiated_by_account_address,json=initiatedByAccountAddress,proto3" json:"initiated_by_account_address,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MembershipChange) Reset() { @@ -86,10 +85,7 @@ func (x *MembershipChange) GetInitiatedByAccountAddress() string { // The group membership change proto type GroupMembershipChanges struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Members that have been added in the commit MembersAdded []*MembershipChange `protobuf:"bytes,1,rep,name=members_added,json=membersAdded,proto3" json:"members_added,omitempty"` // Members that have been removed in the commit @@ -98,6 +94,8 @@ type GroupMembershipChanges struct { InstallationsAdded []*MembershipChange `protobuf:"bytes,3,rep,name=installations_added,json=installationsAdded,proto3" json:"installations_added,omitempty"` // Installations removed in the commit, grouped by member InstallationsRemoved []*MembershipChange `protobuf:"bytes,4,rep,name=installations_removed,json=installationsRemoved,proto3" json:"installations_removed,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GroupMembershipChanges) Reset() { @@ -161,17 +159,16 @@ func (x *GroupMembershipChanges) GetInstallationsRemoved() []*MembershipChange { // A summary of the changes in a commit. // Includes added/removed inboxes and changes to metadata type GroupUpdated struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InitiatedByInboxId string `protobuf:"bytes,1,opt,name=initiated_by_inbox_id,json=initiatedByInboxId,proto3" json:"initiated_by_inbox_id,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + InitiatedByInboxId string `protobuf:"bytes,1,opt,name=initiated_by_inbox_id,json=initiatedByInboxId,proto3" json:"initiated_by_inbox_id,omitempty"` // The inboxes added in the commit AddedInboxes []*GroupUpdated_Inbox `protobuf:"bytes,2,rep,name=added_inboxes,json=addedInboxes,proto3" json:"added_inboxes,omitempty"` // The inboxes removed in the commit RemovedInboxes []*GroupUpdated_Inbox `protobuf:"bytes,3,rep,name=removed_inboxes,json=removedInboxes,proto3" json:"removed_inboxes,omitempty"` // The metadata changes in the commit MetadataFieldChanges []*GroupUpdated_MetadataFieldChange `protobuf:"bytes,4,rep,name=metadata_field_changes,json=metadataFieldChanges,proto3" json:"metadata_field_changes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GroupUpdated) Reset() { @@ -234,11 +231,10 @@ func (x *GroupUpdated) GetMetadataFieldChanges() []*GroupUpdated_MetadataFieldCh // An inbox that was added or removed in this commit type GroupUpdated_Inbox struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + InboxId string `protobuf:"bytes,1,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` unknownFields protoimpl.UnknownFields - - InboxId string `protobuf:"bytes,1,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GroupUpdated_Inbox) Reset() { @@ -280,16 +276,15 @@ func (x *GroupUpdated_Inbox) GetInboxId() string { // A summary of a change to the mutable metadata type GroupUpdated_MetadataFieldChange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The field that was changed FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` // The previous value OldValue *string `protobuf:"bytes,2,opt,name=old_value,json=oldValue,proto3,oneof" json:"old_value,omitempty"` // The updated value - NewValue *string `protobuf:"bytes,3,opt,name=new_value,json=newValue,proto3,oneof" json:"new_value,omitempty"` + NewValue *string `protobuf:"bytes,3,opt,name=new_value,json=newValue,proto3,oneof" json:"new_value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GroupUpdated_MetadataFieldChange) Reset() { diff --git a/pkg/proto/mls_validation/v1/service.pb.go b/pkg/proto/mls_validation/v1/service.pb.go index e19e8fea..4c1c7176 100644 --- a/pkg/proto/mls_validation/v1/service.pb.go +++ b/pkg/proto/mls_validation/v1/service.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: mls_validation/v1/service.proto @@ -27,11 +27,10 @@ const ( // Contains a batch of serialized Key Packages type ValidateInboxIdKeyPackagesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + KeyPackages []*ValidateInboxIdKeyPackagesRequest_KeyPackage `protobuf:"bytes,1,rep,name=key_packages,json=keyPackages,proto3" json:"key_packages,omitempty"` unknownFields protoimpl.UnknownFields - - KeyPackages []*ValidateInboxIdKeyPackagesRequest_KeyPackage `protobuf:"bytes,1,rep,name=key_packages,json=keyPackages,proto3" json:"key_packages,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ValidateInboxIdKeyPackagesRequest) Reset() { @@ -73,11 +72,10 @@ func (x *ValidateInboxIdKeyPackagesRequest) GetKeyPackages() []*ValidateInboxIdK // Validates a Inbox-ID Key Package Type type ValidateInboxIdKeyPackagesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*ValidateInboxIdKeyPackagesResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` unknownFields protoimpl.UnknownFields - - Responses []*ValidateInboxIdKeyPackagesResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ValidateInboxIdKeyPackagesResponse) Reset() { @@ -119,11 +117,10 @@ func (x *ValidateInboxIdKeyPackagesResponse) GetResponses() []*ValidateInboxIdKe // Contains a batch of serialized Key Packages type ValidateKeyPackagesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + KeyPackages []*ValidateKeyPackagesRequest_KeyPackage `protobuf:"bytes,1,rep,name=key_packages,json=keyPackages,proto3" json:"key_packages,omitempty"` unknownFields protoimpl.UnknownFields - - KeyPackages []*ValidateKeyPackagesRequest_KeyPackage `protobuf:"bytes,1,rep,name=key_packages,json=keyPackages,proto3" json:"key_packages,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ValidateKeyPackagesRequest) Reset() { @@ -165,11 +162,10 @@ func (x *ValidateKeyPackagesRequest) GetKeyPackages() []*ValidateKeyPackagesRequ // Response to ValidateKeyPackagesRequest type ValidateKeyPackagesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*ValidateKeyPackagesResponse_ValidationResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` unknownFields protoimpl.UnknownFields - - Responses []*ValidateKeyPackagesResponse_ValidationResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ValidateKeyPackagesResponse) Reset() { @@ -211,11 +207,10 @@ func (x *ValidateKeyPackagesResponse) GetResponses() []*ValidateKeyPackagesRespo // Contains a batch of serialized Group Messages type ValidateGroupMessagesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` GroupMessages []*ValidateGroupMessagesRequest_GroupMessage `protobuf:"bytes,1,rep,name=group_messages,json=groupMessages,proto3" json:"group_messages,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ValidateGroupMessagesRequest) Reset() { @@ -257,11 +252,10 @@ func (x *ValidateGroupMessagesRequest) GetGroupMessages() []*ValidateGroupMessag // Response to ValidateGroupMessagesRequest type ValidateGroupMessagesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*ValidateGroupMessagesResponse_ValidationResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` unknownFields protoimpl.UnknownFields - - Responses []*ValidateGroupMessagesResponse_ValidationResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ValidateGroupMessagesResponse) Reset() { @@ -303,13 +297,12 @@ func (x *ValidateGroupMessagesResponse) GetResponses() []*ValidateGroupMessagesR // Request to get a final association state for identity updates type GetAssociationStateRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of identity updates - OldUpdates []*associations.IdentityUpdate `protobuf:"bytes,1,rep,name=old_updates,json=oldUpdates,proto3" json:"old_updates,omitempty"` - NewUpdates []*associations.IdentityUpdate `protobuf:"bytes,2,rep,name=new_updates,json=newUpdates,proto3" json:"new_updates,omitempty"` + OldUpdates []*associations.IdentityUpdate `protobuf:"bytes,1,rep,name=old_updates,json=oldUpdates,proto3" json:"old_updates,omitempty"` + NewUpdates []*associations.IdentityUpdate `protobuf:"bytes,2,rep,name=new_updates,json=newUpdates,proto3" json:"new_updates,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetAssociationStateRequest) Reset() { @@ -359,12 +352,11 @@ func (x *GetAssociationStateRequest) GetNewUpdates() []*associations.IdentityUpd // Response to GetAssociationStateRequest, containing the final association state // for an InboxID type GetAssociationStateResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` AssociationState *associations.AssociationState `protobuf:"bytes,1,opt,name=association_state,json=associationState,proto3" json:"association_state,omitempty"` StateDiff *associations.AssociationStateDiff `protobuf:"bytes,2,opt,name=state_diff,json=stateDiff,proto3" json:"state_diff,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetAssociationStateResponse) Reset() { @@ -411,113 +403,18 @@ func (x *GetAssociationStateResponse) GetStateDiff() *associations.AssociationSt return nil } -// Request to validate an InboxID with the backend service. Ensures an Inbox Id <> Installation key are valid. -type ValidateInboxIdsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // list of validation requests - Requests []*ValidateInboxIdsRequest_ValidationRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` -} - -func (x *ValidateInboxIdsRequest) Reset() { - *x = ValidateInboxIdsRequest{} - mi := &file_mls_validation_v1_service_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ValidateInboxIdsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ValidateInboxIdsRequest) ProtoMessage() {} - -func (x *ValidateInboxIdsRequest) ProtoReflect() protoreflect.Message { - mi := &file_mls_validation_v1_service_proto_msgTypes[8] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ValidateInboxIdsRequest.ProtoReflect.Descriptor instead. -func (*ValidateInboxIdsRequest) Descriptor() ([]byte, []int) { - return file_mls_validation_v1_service_proto_rawDescGZIP(), []int{8} -} - -func (x *ValidateInboxIdsRequest) GetRequests() []*ValidateInboxIdsRequest_ValidationRequest { - if x != nil { - return x.Requests - } - return nil -} - -// Response to ValidateInboxIdRequest -type ValidateInboxIdsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // List of validation responses - Responses []*ValidateInboxIdsResponse_ValidationResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` -} - -func (x *ValidateInboxIdsResponse) Reset() { - *x = ValidateInboxIdsResponse{} - mi := &file_mls_validation_v1_service_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ValidateInboxIdsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ValidateInboxIdsResponse) ProtoMessage() {} - -func (x *ValidateInboxIdsResponse) ProtoReflect() protoreflect.Message { - mi := &file_mls_validation_v1_service_proto_msgTypes[9] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ValidateInboxIdsResponse.ProtoReflect.Descriptor instead. -func (*ValidateInboxIdsResponse) Descriptor() ([]byte, []int) { - return file_mls_validation_v1_service_proto_rawDescGZIP(), []int{9} -} - -func (x *ValidateInboxIdsResponse) GetResponses() []*ValidateInboxIdsResponse_ValidationResponse { - if x != nil { - return x.Responses - } - return nil -} - // Wrapper for each key package type ValidateInboxIdKeyPackagesRequest_KeyPackage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - KeyPackageBytesTlsSerialized []byte `protobuf:"bytes,1,opt,name=key_package_bytes_tls_serialized,json=keyPackageBytesTlsSerialized,proto3" json:"key_package_bytes_tls_serialized,omitempty"` - IsInboxIdCredential bool `protobuf:"varint,2,opt,name=is_inbox_id_credential,json=isInboxIdCredential,proto3" json:"is_inbox_id_credential,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + KeyPackageBytesTlsSerialized []byte `protobuf:"bytes,1,opt,name=key_package_bytes_tls_serialized,json=keyPackageBytesTlsSerialized,proto3" json:"key_package_bytes_tls_serialized,omitempty"` + IsInboxIdCredential bool `protobuf:"varint,2,opt,name=is_inbox_id_credential,json=isInboxIdCredential,proto3" json:"is_inbox_id_credential,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ValidateInboxIdKeyPackagesRequest_KeyPackage) Reset() { *x = ValidateInboxIdKeyPackagesRequest_KeyPackage{} - mi := &file_mls_validation_v1_service_proto_msgTypes[10] + mi := &file_mls_validation_v1_service_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -529,7 +426,7 @@ func (x *ValidateInboxIdKeyPackagesRequest_KeyPackage) String() string { func (*ValidateInboxIdKeyPackagesRequest_KeyPackage) ProtoMessage() {} func (x *ValidateInboxIdKeyPackagesRequest_KeyPackage) ProtoReflect() protoreflect.Message { - mi := &file_mls_validation_v1_service_proto_msgTypes[10] + mi := &file_mls_validation_v1_service_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -561,20 +458,19 @@ func (x *ValidateInboxIdKeyPackagesRequest_KeyPackage) GetIsInboxIdCredential() // one response corresponding to information about one key package type ValidateInboxIdKeyPackagesResponse_Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` IsOk bool `protobuf:"varint,1,opt,name=is_ok,json=isOk,proto3" json:"is_ok,omitempty"` ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` Credential *identity.MlsCredential `protobuf:"bytes,3,opt,name=credential,proto3" json:"credential,omitempty"` InstallationPublicKey []byte `protobuf:"bytes,4,opt,name=installation_public_key,json=installationPublicKey,proto3" json:"installation_public_key,omitempty"` Expiration uint64 `protobuf:"varint,5,opt,name=expiration,proto3" json:"expiration,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ValidateInboxIdKeyPackagesResponse_Response) Reset() { *x = ValidateInboxIdKeyPackagesResponse_Response{} - mi := &file_mls_validation_v1_service_proto_msgTypes[11] + mi := &file_mls_validation_v1_service_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -586,7 +482,7 @@ func (x *ValidateInboxIdKeyPackagesResponse_Response) String() string { func (*ValidateInboxIdKeyPackagesResponse_Response) ProtoMessage() {} func (x *ValidateInboxIdKeyPackagesResponse_Response) ProtoReflect() protoreflect.Message { - mi := &file_mls_validation_v1_service_proto_msgTypes[11] + mi := &file_mls_validation_v1_service_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -639,17 +535,16 @@ func (x *ValidateInboxIdKeyPackagesResponse_Response) GetExpiration() uint64 { // Wrapper for each key package type ValidateKeyPackagesRequest_KeyPackage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - KeyPackageBytesTlsSerialized []byte `protobuf:"bytes,1,opt,name=key_package_bytes_tls_serialized,json=keyPackageBytesTlsSerialized,proto3" json:"key_package_bytes_tls_serialized,omitempty"` - IsInboxIdCredential bool `protobuf:"varint,2,opt,name=is_inbox_id_credential,json=isInboxIdCredential,proto3" json:"is_inbox_id_credential,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + KeyPackageBytesTlsSerialized []byte `protobuf:"bytes,1,opt,name=key_package_bytes_tls_serialized,json=keyPackageBytesTlsSerialized,proto3" json:"key_package_bytes_tls_serialized,omitempty"` + IsInboxIdCredential bool `protobuf:"varint,2,opt,name=is_inbox_id_credential,json=isInboxIdCredential,proto3" json:"is_inbox_id_credential,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ValidateKeyPackagesRequest_KeyPackage) Reset() { *x = ValidateKeyPackagesRequest_KeyPackage{} - mi := &file_mls_validation_v1_service_proto_msgTypes[12] + mi := &file_mls_validation_v1_service_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -661,7 +556,7 @@ func (x *ValidateKeyPackagesRequest_KeyPackage) String() string { func (*ValidateKeyPackagesRequest_KeyPackage) ProtoMessage() {} func (x *ValidateKeyPackagesRequest_KeyPackage) ProtoReflect() protoreflect.Message { - mi := &file_mls_validation_v1_service_proto_msgTypes[12] + mi := &file_mls_validation_v1_service_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -693,21 +588,20 @@ func (x *ValidateKeyPackagesRequest_KeyPackage) GetIsInboxIdCredential() bool { // An individual response to one key package type ValidateKeyPackagesResponse_ValidationResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsOk bool `protobuf:"varint,1,opt,name=is_ok,json=isOk,proto3" json:"is_ok,omitempty"` - ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` - InstallationId []byte `protobuf:"bytes,3,opt,name=installation_id,json=installationId,proto3" json:"installation_id,omitempty"` - AccountAddress string `protobuf:"bytes,4,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - CredentialIdentityBytes []byte `protobuf:"bytes,5,opt,name=credential_identity_bytes,json=credentialIdentityBytes,proto3" json:"credential_identity_bytes,omitempty"` - Expiration uint64 `protobuf:"varint,6,opt,name=expiration,proto3" json:"expiration,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + IsOk bool `protobuf:"varint,1,opt,name=is_ok,json=isOk,proto3" json:"is_ok,omitempty"` + ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + InstallationId []byte `protobuf:"bytes,3,opt,name=installation_id,json=installationId,proto3" json:"installation_id,omitempty"` + AccountAddress string `protobuf:"bytes,4,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + CredentialIdentityBytes []byte `protobuf:"bytes,5,opt,name=credential_identity_bytes,json=credentialIdentityBytes,proto3" json:"credential_identity_bytes,omitempty"` + Expiration uint64 `protobuf:"varint,6,opt,name=expiration,proto3" json:"expiration,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ValidateKeyPackagesResponse_ValidationResponse) Reset() { *x = ValidateKeyPackagesResponse_ValidationResponse{} - mi := &file_mls_validation_v1_service_proto_msgTypes[13] + mi := &file_mls_validation_v1_service_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -719,7 +613,7 @@ func (x *ValidateKeyPackagesResponse_ValidationResponse) String() string { func (*ValidateKeyPackagesResponse_ValidationResponse) ProtoMessage() {} func (x *ValidateKeyPackagesResponse_ValidationResponse) ProtoReflect() protoreflect.Message { - mi := &file_mls_validation_v1_service_proto_msgTypes[13] + mi := &file_mls_validation_v1_service_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -779,16 +673,15 @@ func (x *ValidateKeyPackagesResponse_ValidationResponse) GetExpiration() uint64 // Wrapper for each message type ValidateGroupMessagesRequest_GroupMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupMessageBytesTlsSerialized []byte `protobuf:"bytes,1,opt,name=group_message_bytes_tls_serialized,json=groupMessageBytesTlsSerialized,proto3" json:"group_message_bytes_tls_serialized,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + GroupMessageBytesTlsSerialized []byte `protobuf:"bytes,1,opt,name=group_message_bytes_tls_serialized,json=groupMessageBytesTlsSerialized,proto3" json:"group_message_bytes_tls_serialized,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ValidateGroupMessagesRequest_GroupMessage) Reset() { *x = ValidateGroupMessagesRequest_GroupMessage{} - mi := &file_mls_validation_v1_service_proto_msgTypes[14] + mi := &file_mls_validation_v1_service_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -800,7 +693,7 @@ func (x *ValidateGroupMessagesRequest_GroupMessage) String() string { func (*ValidateGroupMessagesRequest_GroupMessage) ProtoMessage() {} func (x *ValidateGroupMessagesRequest_GroupMessage) ProtoReflect() protoreflect.Message { - mi := &file_mls_validation_v1_service_proto_msgTypes[14] + mi := &file_mls_validation_v1_service_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -825,18 +718,17 @@ func (x *ValidateGroupMessagesRequest_GroupMessage) GetGroupMessageBytesTlsSeria // An individual response to one message type ValidateGroupMessagesResponse_ValidationResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + IsOk bool `protobuf:"varint,1,opt,name=is_ok,json=isOk,proto3" json:"is_ok,omitempty"` + ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + GroupId string `protobuf:"bytes,3,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` unknownFields protoimpl.UnknownFields - - IsOk bool `protobuf:"varint,1,opt,name=is_ok,json=isOk,proto3" json:"is_ok,omitempty"` - ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` - GroupId string `protobuf:"bytes,3,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ValidateGroupMessagesResponse_ValidationResponse) Reset() { *x = ValidateGroupMessagesResponse_ValidationResponse{} - mi := &file_mls_validation_v1_service_proto_msgTypes[15] + mi := &file_mls_validation_v1_service_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -848,7 +740,7 @@ func (x *ValidateGroupMessagesResponse_ValidationResponse) String() string { func (*ValidateGroupMessagesResponse_ValidationResponse) ProtoMessage() {} func (x *ValidateGroupMessagesResponse_ValidationResponse) ProtoReflect() protoreflect.Message { - mi := &file_mls_validation_v1_service_proto_msgTypes[15] + mi := &file_mls_validation_v1_service_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -885,130 +777,6 @@ func (x *ValidateGroupMessagesResponse_ValidationResponse) GetGroupId() string { return "" } -// a single validation request -type ValidateInboxIdsRequest_ValidationRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Credential *identity.MlsCredential `protobuf:"bytes,1,opt,name=credential,proto3" json:"credential,omitempty"` - InstallationPublicKey []byte `protobuf:"bytes,2,opt,name=installation_public_key,json=installationPublicKey,proto3" json:"installation_public_key,omitempty"` - IdentityUpdates []*associations.IdentityUpdate `protobuf:"bytes,3,rep,name=identity_updates,json=identityUpdates,proto3" json:"identity_updates,omitempty"` -} - -func (x *ValidateInboxIdsRequest_ValidationRequest) Reset() { - *x = ValidateInboxIdsRequest_ValidationRequest{} - mi := &file_mls_validation_v1_service_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ValidateInboxIdsRequest_ValidationRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ValidateInboxIdsRequest_ValidationRequest) ProtoMessage() {} - -func (x *ValidateInboxIdsRequest_ValidationRequest) ProtoReflect() protoreflect.Message { - mi := &file_mls_validation_v1_service_proto_msgTypes[16] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ValidateInboxIdsRequest_ValidationRequest.ProtoReflect.Descriptor instead. -func (*ValidateInboxIdsRequest_ValidationRequest) Descriptor() ([]byte, []int) { - return file_mls_validation_v1_service_proto_rawDescGZIP(), []int{8, 0} -} - -func (x *ValidateInboxIdsRequest_ValidationRequest) GetCredential() *identity.MlsCredential { - if x != nil { - return x.Credential - } - return nil -} - -func (x *ValidateInboxIdsRequest_ValidationRequest) GetInstallationPublicKey() []byte { - if x != nil { - return x.InstallationPublicKey - } - return nil -} - -func (x *ValidateInboxIdsRequest_ValidationRequest) GetIdentityUpdates() []*associations.IdentityUpdate { - if x != nil { - return x.IdentityUpdates - } - return nil -} - -// a single validation response -type ValidateInboxIdsResponse_ValidationResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsOk bool `protobuf:"varint,1,opt,name=is_ok,json=isOk,proto3" json:"is_ok,omitempty"` - ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` - InboxId string `protobuf:"bytes,3,opt,name=inbox_id,json=inboxId,proto3" json:"inbox_id,omitempty"` -} - -func (x *ValidateInboxIdsResponse_ValidationResponse) Reset() { - *x = ValidateInboxIdsResponse_ValidationResponse{} - mi := &file_mls_validation_v1_service_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ValidateInboxIdsResponse_ValidationResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ValidateInboxIdsResponse_ValidationResponse) ProtoMessage() {} - -func (x *ValidateInboxIdsResponse_ValidationResponse) ProtoReflect() protoreflect.Message { - mi := &file_mls_validation_v1_service_proto_msgTypes[17] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ValidateInboxIdsResponse_ValidationResponse.ProtoReflect.Descriptor instead. -func (*ValidateInboxIdsResponse_ValidationResponse) Descriptor() ([]byte, []int) { - return file_mls_validation_v1_service_proto_rawDescGZIP(), []int{9, 0} -} - -func (x *ValidateInboxIdsResponse_ValidationResponse) GetIsOk() bool { - if x != nil { - return x.IsOk - } - return false -} - -func (x *ValidateInboxIdsResponse_ValidationResponse) GetErrorMessage() string { - if x != nil { - return x.ErrorMessage - } - return "" -} - -func (x *ValidateInboxIdsResponse_ValidationResponse) GetInboxId() string { - if x != nil { - return x.InboxId - } - return "" -} - var File_mls_validation_v1_service_proto protoreflect.FileDescriptor var file_mls_validation_v1_service_proto_rawDesc = []byte{ @@ -1020,252 +788,197 @@ var file_mls_validation_v1_service_proto_rawDesc = []byte{ 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x25, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x02, 0x0a, 0x21, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x0c, 0x6b, 0x65, - 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x44, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x73, 0x1a, 0x89, 0x01, 0x0a, 0x0a, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x12, 0x46, 0x0a, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x69, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1c, 0x6b, 0x65, - 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6c, 0x73, - 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, - 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x49, 0x6e, - 0x62, 0x6f, 0x78, 0x49, 0x64, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, - 0xe4, 0x02, 0x0a, 0x22, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, - 0x78, 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x78, 0x6d, 0x74, 0x70, + 0x74, 0x6f, 0x1a, 0x19, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x63, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x02, + 0x0a, 0x21, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, + 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, - 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0xda, 0x01, 0x0a, 0x08, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x69, 0x73, 0x5f, 0x6f, 0x6b, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x3c, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2e, 0x4d, 0x6c, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x36, - 0x0a, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x02, 0x0a, 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x6b, 0x65, 0x79, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x89, 0x01, 0x0a, 0x0a, 0x4b, 0x65, 0x79, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x46, 0x0a, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6c, 0x73, 0x5f, - 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x1c, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, - 0x73, 0x54, 0x6c, 0x73, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x33, - 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, - 0x69, 0x73, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x22, 0x82, 0x03, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, - 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0xfc, 0x01, 0x0a, 0x12, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x13, 0x0a, 0x05, 0x69, 0x73, 0x5f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x19, - 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x17, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe4, 0x01, 0x0a, 0x1c, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x0e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x41, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x4a, 0x0a, 0x22, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x73, - 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x1e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x54, 0x6c, 0x73, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x22, - 0xf2, 0x01, 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x66, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x69, 0x0a, 0x12, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, + 0x0b, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x89, 0x01, 0x0a, + 0x0a, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x46, 0x0a, 0x20, 0x6b, + 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1c, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6c, 0x73, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, + 0x69, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x43, 0x72, + 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xe4, 0x02, 0x0a, 0x22, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x61, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x73, 0x1a, 0xda, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x69, 0x73, 0x5f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x49, 0x64, 0x22, 0xb6, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x6f, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, - 0x12, 0x4b, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, + 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x63, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x4d, 0x6c, + 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x0a, 0x63, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, + 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x8a, 0x02, 0x0a, 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, + 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x52, 0x0b, 0x6b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, + 0x1a, 0x89, 0x01, 0x0a, 0x0a, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, + 0x46, 0x0a, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1c, 0x6b, 0x65, 0x79, 0x50, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6c, 0x73, 0x53, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x69, 0x6e, + 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x49, 0x6e, 0x62, 0x6f, 0x78, + 0x49, 0x64, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x82, 0x03, 0x0a, + 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x09, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x46, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x73, 0x1a, 0xfc, 0x01, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x69, 0x73, 0x5f, + 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x23, + 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x17, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x79, 0x74, 0x65, + 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xe4, 0x01, 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x68, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x78, 0x6d, 0x74, + 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x5a, 0x0a, 0x0c, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4a, 0x0a, 0x22, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6c, 0x73, 0x53, 0x65, + 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x22, 0xf2, 0x01, 0x0a, 0x1d, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x09, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x73, 0x1a, 0x69, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x69, 0x73, 0x5f, 0x6f, + 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x23, 0x0a, + 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0xb6, 0x01, + 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x0b, + 0x6f, 0x6c, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x6f, + 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0b, 0x6e, 0x65, 0x77, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, + 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, + 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x10, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x4f, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xc9, 0x01, - 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, - 0x11, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x10, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x44, 0x69, 0x66, 0x66, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x44, 0x69, 0x66, 0x66, 0x22, 0xdb, 0x02, 0x0a, 0x17, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x73, 0x1a, 0xe0, 0x01, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x63, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x4d, - 0x6c, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x0a, 0x63, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, - 0x12, 0x55, 0x0a, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xe8, 0x01, 0x0a, 0x18, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x69, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x13, 0x0a, - 0x05, 0x69, 0x73, 0x5f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, - 0x4f, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x78, - 0x49, 0x64, 0x32, 0xd7, 0x06, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x41, 0x70, 0x69, 0x12, 0x80, 0x01, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x33, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x12, 0x34, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, - 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x80, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x73, 0x12, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, - 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x4b, - 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x12, 0x2f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, - 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x78, 0x6d, 0x74, 0x70, + 0x6e, 0x73, 0x2e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x44, 0x69, 0x66, 0x66, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x44, 0x69, + 0x66, 0x66, 0x32, 0xdb, 0x04, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x70, 0x69, 0x12, 0x86, 0x01, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x34, + 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, + 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, - 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xac, 0x01, - 0x0a, 0x23, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x40, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, - 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, - 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xeb, 0x01, 0x0a, - 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x78, 0x6d, 0x74, - 0x70, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, 0xaa, 0x02, 0x15, 0x58, - 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x6c, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x21, 0x58, - 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x17, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x6c, 0x73, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x8e, 0x01, 0x0a, 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, + 0x6f, 0x78, 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, + 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x5f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x4b, 0x65, 0x79, 0x50, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0xac, 0x01, 0x0a, 0x23, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x40, 0x2e, 0x78, 0x6d, 0x74, 0x70, + 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x78, 0x6d, + 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x42, 0xeb, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, + 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, + 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, + 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x6c, 0x73, 0x5f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x58, 0x4d, 0x58, + 0xaa, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x4d, 0x6c, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x5c, + 0x4d, 0x6c, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, + 0xe2, 0x02, 0x21, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x4d, 0x6c, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x4d, 0x6c, 0x73, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1280,7 +993,7 @@ func file_mls_validation_v1_service_proto_rawDescGZIP() []byte { return file_mls_validation_v1_service_proto_rawDescData } -var file_mls_validation_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_mls_validation_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_mls_validation_v1_service_proto_goTypes = []any{ (*ValidateInboxIdKeyPackagesRequest)(nil), // 0: xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesRequest (*ValidateInboxIdKeyPackagesResponse)(nil), // 1: xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse @@ -1290,56 +1003,44 @@ var file_mls_validation_v1_service_proto_goTypes = []any{ (*ValidateGroupMessagesResponse)(nil), // 5: xmtp.mls_validation.v1.ValidateGroupMessagesResponse (*GetAssociationStateRequest)(nil), // 6: xmtp.mls_validation.v1.GetAssociationStateRequest (*GetAssociationStateResponse)(nil), // 7: xmtp.mls_validation.v1.GetAssociationStateResponse - (*ValidateInboxIdsRequest)(nil), // 8: xmtp.mls_validation.v1.ValidateInboxIdsRequest - (*ValidateInboxIdsResponse)(nil), // 9: xmtp.mls_validation.v1.ValidateInboxIdsResponse - (*ValidateInboxIdKeyPackagesRequest_KeyPackage)(nil), // 10: xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesRequest.KeyPackage - (*ValidateInboxIdKeyPackagesResponse_Response)(nil), // 11: xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse.Response - (*ValidateKeyPackagesRequest_KeyPackage)(nil), // 12: xmtp.mls_validation.v1.ValidateKeyPackagesRequest.KeyPackage - (*ValidateKeyPackagesResponse_ValidationResponse)(nil), // 13: xmtp.mls_validation.v1.ValidateKeyPackagesResponse.ValidationResponse - (*ValidateGroupMessagesRequest_GroupMessage)(nil), // 14: xmtp.mls_validation.v1.ValidateGroupMessagesRequest.GroupMessage - (*ValidateGroupMessagesResponse_ValidationResponse)(nil), // 15: xmtp.mls_validation.v1.ValidateGroupMessagesResponse.ValidationResponse - (*ValidateInboxIdsRequest_ValidationRequest)(nil), // 16: xmtp.mls_validation.v1.ValidateInboxIdsRequest.ValidationRequest - (*ValidateInboxIdsResponse_ValidationResponse)(nil), // 17: xmtp.mls_validation.v1.ValidateInboxIdsResponse.ValidationResponse - (*associations.IdentityUpdate)(nil), // 18: xmtp.identity.associations.IdentityUpdate - (*associations.AssociationState)(nil), // 19: xmtp.identity.associations.AssociationState - (*associations.AssociationStateDiff)(nil), // 20: xmtp.identity.associations.AssociationStateDiff - (*identity.MlsCredential)(nil), // 21: xmtp.identity.MlsCredential - (*v1.VerifySmartContractWalletSignaturesRequest)(nil), // 22: xmtp.identity.api.v1.VerifySmartContractWalletSignaturesRequest - (*v1.VerifySmartContractWalletSignaturesResponse)(nil), // 23: xmtp.identity.api.v1.VerifySmartContractWalletSignaturesResponse + (*ValidateInboxIdKeyPackagesRequest_KeyPackage)(nil), // 8: xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesRequest.KeyPackage + (*ValidateInboxIdKeyPackagesResponse_Response)(nil), // 9: xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse.Response + (*ValidateKeyPackagesRequest_KeyPackage)(nil), // 10: xmtp.mls_validation.v1.ValidateKeyPackagesRequest.KeyPackage + (*ValidateKeyPackagesResponse_ValidationResponse)(nil), // 11: xmtp.mls_validation.v1.ValidateKeyPackagesResponse.ValidationResponse + (*ValidateGroupMessagesRequest_GroupMessage)(nil), // 12: xmtp.mls_validation.v1.ValidateGroupMessagesRequest.GroupMessage + (*ValidateGroupMessagesResponse_ValidationResponse)(nil), // 13: xmtp.mls_validation.v1.ValidateGroupMessagesResponse.ValidationResponse + (*associations.IdentityUpdate)(nil), // 14: xmtp.identity.associations.IdentityUpdate + (*associations.AssociationState)(nil), // 15: xmtp.identity.associations.AssociationState + (*associations.AssociationStateDiff)(nil), // 16: xmtp.identity.associations.AssociationStateDiff + (*identity.MlsCredential)(nil), // 17: xmtp.identity.MlsCredential + (*v1.VerifySmartContractWalletSignaturesRequest)(nil), // 18: xmtp.identity.api.v1.VerifySmartContractWalletSignaturesRequest + (*v1.VerifySmartContractWalletSignaturesResponse)(nil), // 19: xmtp.identity.api.v1.VerifySmartContractWalletSignaturesResponse } var file_mls_validation_v1_service_proto_depIdxs = []int32{ - 10, // 0: xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesRequest.key_packages:type_name -> xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesRequest.KeyPackage - 11, // 1: xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse.responses:type_name -> xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse.Response - 12, // 2: xmtp.mls_validation.v1.ValidateKeyPackagesRequest.key_packages:type_name -> xmtp.mls_validation.v1.ValidateKeyPackagesRequest.KeyPackage - 13, // 3: xmtp.mls_validation.v1.ValidateKeyPackagesResponse.responses:type_name -> xmtp.mls_validation.v1.ValidateKeyPackagesResponse.ValidationResponse - 14, // 4: xmtp.mls_validation.v1.ValidateGroupMessagesRequest.group_messages:type_name -> xmtp.mls_validation.v1.ValidateGroupMessagesRequest.GroupMessage - 15, // 5: xmtp.mls_validation.v1.ValidateGroupMessagesResponse.responses:type_name -> xmtp.mls_validation.v1.ValidateGroupMessagesResponse.ValidationResponse - 18, // 6: xmtp.mls_validation.v1.GetAssociationStateRequest.old_updates:type_name -> xmtp.identity.associations.IdentityUpdate - 18, // 7: xmtp.mls_validation.v1.GetAssociationStateRequest.new_updates:type_name -> xmtp.identity.associations.IdentityUpdate - 19, // 8: xmtp.mls_validation.v1.GetAssociationStateResponse.association_state:type_name -> xmtp.identity.associations.AssociationState - 20, // 9: xmtp.mls_validation.v1.GetAssociationStateResponse.state_diff:type_name -> xmtp.identity.associations.AssociationStateDiff - 16, // 10: xmtp.mls_validation.v1.ValidateInboxIdsRequest.requests:type_name -> xmtp.mls_validation.v1.ValidateInboxIdsRequest.ValidationRequest - 17, // 11: xmtp.mls_validation.v1.ValidateInboxIdsResponse.responses:type_name -> xmtp.mls_validation.v1.ValidateInboxIdsResponse.ValidationResponse - 21, // 12: xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse.Response.credential:type_name -> xmtp.identity.MlsCredential - 21, // 13: xmtp.mls_validation.v1.ValidateInboxIdsRequest.ValidationRequest.credential:type_name -> xmtp.identity.MlsCredential - 18, // 14: xmtp.mls_validation.v1.ValidateInboxIdsRequest.ValidationRequest.identity_updates:type_name -> xmtp.identity.associations.IdentityUpdate - 2, // 15: xmtp.mls_validation.v1.ValidationApi.ValidateKeyPackages:input_type -> xmtp.mls_validation.v1.ValidateKeyPackagesRequest - 4, // 16: xmtp.mls_validation.v1.ValidationApi.ValidateGroupMessages:input_type -> xmtp.mls_validation.v1.ValidateGroupMessagesRequest - 6, // 17: xmtp.mls_validation.v1.ValidationApi.GetAssociationState:input_type -> xmtp.mls_validation.v1.GetAssociationStateRequest - 2, // 18: xmtp.mls_validation.v1.ValidationApi.ValidateInboxIdKeyPackages:input_type -> xmtp.mls_validation.v1.ValidateKeyPackagesRequest - 8, // 19: xmtp.mls_validation.v1.ValidationApi.ValidateInboxIds:input_type -> xmtp.mls_validation.v1.ValidateInboxIdsRequest - 22, // 20: xmtp.mls_validation.v1.ValidationApi.VerifySmartContractWalletSignatures:input_type -> xmtp.identity.api.v1.VerifySmartContractWalletSignaturesRequest - 3, // 21: xmtp.mls_validation.v1.ValidationApi.ValidateKeyPackages:output_type -> xmtp.mls_validation.v1.ValidateKeyPackagesResponse - 5, // 22: xmtp.mls_validation.v1.ValidationApi.ValidateGroupMessages:output_type -> xmtp.mls_validation.v1.ValidateGroupMessagesResponse - 7, // 23: xmtp.mls_validation.v1.ValidationApi.GetAssociationState:output_type -> xmtp.mls_validation.v1.GetAssociationStateResponse - 1, // 24: xmtp.mls_validation.v1.ValidationApi.ValidateInboxIdKeyPackages:output_type -> xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse - 9, // 25: xmtp.mls_validation.v1.ValidationApi.ValidateInboxIds:output_type -> xmtp.mls_validation.v1.ValidateInboxIdsResponse - 23, // 26: xmtp.mls_validation.v1.ValidationApi.VerifySmartContractWalletSignatures:output_type -> xmtp.identity.api.v1.VerifySmartContractWalletSignaturesResponse - 21, // [21:27] is the sub-list for method output_type - 15, // [15:21] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 8, // 0: xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesRequest.key_packages:type_name -> xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesRequest.KeyPackage + 9, // 1: xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse.responses:type_name -> xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse.Response + 10, // 2: xmtp.mls_validation.v1.ValidateKeyPackagesRequest.key_packages:type_name -> xmtp.mls_validation.v1.ValidateKeyPackagesRequest.KeyPackage + 11, // 3: xmtp.mls_validation.v1.ValidateKeyPackagesResponse.responses:type_name -> xmtp.mls_validation.v1.ValidateKeyPackagesResponse.ValidationResponse + 12, // 4: xmtp.mls_validation.v1.ValidateGroupMessagesRequest.group_messages:type_name -> xmtp.mls_validation.v1.ValidateGroupMessagesRequest.GroupMessage + 13, // 5: xmtp.mls_validation.v1.ValidateGroupMessagesResponse.responses:type_name -> xmtp.mls_validation.v1.ValidateGroupMessagesResponse.ValidationResponse + 14, // 6: xmtp.mls_validation.v1.GetAssociationStateRequest.old_updates:type_name -> xmtp.identity.associations.IdentityUpdate + 14, // 7: xmtp.mls_validation.v1.GetAssociationStateRequest.new_updates:type_name -> xmtp.identity.associations.IdentityUpdate + 15, // 8: xmtp.mls_validation.v1.GetAssociationStateResponse.association_state:type_name -> xmtp.identity.associations.AssociationState + 16, // 9: xmtp.mls_validation.v1.GetAssociationStateResponse.state_diff:type_name -> xmtp.identity.associations.AssociationStateDiff + 17, // 10: xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse.Response.credential:type_name -> xmtp.identity.MlsCredential + 4, // 11: xmtp.mls_validation.v1.ValidationApi.ValidateGroupMessages:input_type -> xmtp.mls_validation.v1.ValidateGroupMessagesRequest + 6, // 12: xmtp.mls_validation.v1.ValidationApi.GetAssociationState:input_type -> xmtp.mls_validation.v1.GetAssociationStateRequest + 2, // 13: xmtp.mls_validation.v1.ValidationApi.ValidateInboxIdKeyPackages:input_type -> xmtp.mls_validation.v1.ValidateKeyPackagesRequest + 18, // 14: xmtp.mls_validation.v1.ValidationApi.VerifySmartContractWalletSignatures:input_type -> xmtp.identity.api.v1.VerifySmartContractWalletSignaturesRequest + 5, // 15: xmtp.mls_validation.v1.ValidationApi.ValidateGroupMessages:output_type -> xmtp.mls_validation.v1.ValidateGroupMessagesResponse + 7, // 16: xmtp.mls_validation.v1.ValidationApi.GetAssociationState:output_type -> xmtp.mls_validation.v1.GetAssociationStateResponse + 1, // 17: xmtp.mls_validation.v1.ValidationApi.ValidateInboxIdKeyPackages:output_type -> xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse + 19, // 18: xmtp.mls_validation.v1.ValidationApi.VerifySmartContractWalletSignatures:output_type -> xmtp.identity.api.v1.VerifySmartContractWalletSignaturesResponse + 15, // [15:19] is the sub-list for method output_type + 11, // [11:15] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_mls_validation_v1_service_proto_init() } @@ -1353,7 +1054,7 @@ func file_mls_validation_v1_service_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_mls_validation_v1_service_proto_rawDesc, NumEnums: 0, - NumMessages: 18, + NumMessages: 14, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/proto/mls_validation/v1/service_grpc.pb.go b/pkg/proto/mls_validation/v1/service_grpc.pb.go index f870bd80..b37f4fd3 100644 --- a/pkg/proto/mls_validation/v1/service_grpc.pb.go +++ b/pkg/proto/mls_validation/v1/service_grpc.pb.go @@ -22,11 +22,9 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - ValidationApi_ValidateKeyPackages_FullMethodName = "/xmtp.mls_validation.v1.ValidationApi/ValidateKeyPackages" ValidationApi_ValidateGroupMessages_FullMethodName = "/xmtp.mls_validation.v1.ValidationApi/ValidateGroupMessages" ValidationApi_GetAssociationState_FullMethodName = "/xmtp.mls_validation.v1.ValidationApi/GetAssociationState" ValidationApi_ValidateInboxIdKeyPackages_FullMethodName = "/xmtp.mls_validation.v1.ValidationApi/ValidateInboxIdKeyPackages" - ValidationApi_ValidateInboxIds_FullMethodName = "/xmtp.mls_validation.v1.ValidationApi/ValidateInboxIds" ValidationApi_VerifySmartContractWalletSignatures_FullMethodName = "/xmtp.mls_validation.v1.ValidationApi/VerifySmartContractWalletSignatures" ) @@ -34,8 +32,6 @@ const ( // // 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 ValidationApiClient interface { - // Validates and parses a batch of key packages and returns relevant details - ValidateKeyPackages(ctx context.Context, in *ValidateKeyPackagesRequest, opts ...grpc.CallOption) (*ValidateKeyPackagesResponse, error) // Validates and parses a group message and returns relevant details ValidateGroupMessages(ctx context.Context, in *ValidateGroupMessagesRequest, opts ...grpc.CallOption) (*ValidateGroupMessagesResponse, error) // Gets the final association state for a batch of identity updates @@ -43,11 +39,8 @@ type ValidationApiClient interface { // Validates InboxID key packages and returns credential information for them, without checking // whether an InboxId <> InstallationPublicKey pair is really valid. ValidateInboxIdKeyPackages(ctx context.Context, in *ValidateKeyPackagesRequest, opts ...grpc.CallOption) (*ValidateInboxIdKeyPackagesResponse, error) - // Validate an InboxID Key Package - // need public key possibly - ValidateInboxIds(ctx context.Context, in *ValidateInboxIdsRequest, opts ...grpc.CallOption) (*ValidateInboxIdsResponse, error) // Verifies smart contracts - // This request is proxied from the node, so we'll reuse those messgaes. + // This request is proxied from the node, so we'll reuse those messages. VerifySmartContractWalletSignatures(ctx context.Context, in *v1.VerifySmartContractWalletSignaturesRequest, opts ...grpc.CallOption) (*v1.VerifySmartContractWalletSignaturesResponse, error) } @@ -59,15 +52,6 @@ func NewValidationApiClient(cc grpc.ClientConnInterface) ValidationApiClient { return &validationApiClient{cc} } -func (c *validationApiClient) ValidateKeyPackages(ctx context.Context, in *ValidateKeyPackagesRequest, opts ...grpc.CallOption) (*ValidateKeyPackagesResponse, error) { - out := new(ValidateKeyPackagesResponse) - err := c.cc.Invoke(ctx, ValidationApi_ValidateKeyPackages_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *validationApiClient) ValidateGroupMessages(ctx context.Context, in *ValidateGroupMessagesRequest, opts ...grpc.CallOption) (*ValidateGroupMessagesResponse, error) { out := new(ValidateGroupMessagesResponse) err := c.cc.Invoke(ctx, ValidationApi_ValidateGroupMessages_FullMethodName, in, out, opts...) @@ -95,15 +79,6 @@ func (c *validationApiClient) ValidateInboxIdKeyPackages(ctx context.Context, in return out, nil } -func (c *validationApiClient) ValidateInboxIds(ctx context.Context, in *ValidateInboxIdsRequest, opts ...grpc.CallOption) (*ValidateInboxIdsResponse, error) { - out := new(ValidateInboxIdsResponse) - err := c.cc.Invoke(ctx, ValidationApi_ValidateInboxIds_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *validationApiClient) VerifySmartContractWalletSignatures(ctx context.Context, in *v1.VerifySmartContractWalletSignaturesRequest, opts ...grpc.CallOption) (*v1.VerifySmartContractWalletSignaturesResponse, error) { out := new(v1.VerifySmartContractWalletSignaturesResponse) err := c.cc.Invoke(ctx, ValidationApi_VerifySmartContractWalletSignatures_FullMethodName, in, out, opts...) @@ -117,8 +92,6 @@ func (c *validationApiClient) VerifySmartContractWalletSignatures(ctx context.Co // All implementations must embed UnimplementedValidationApiServer // for forward compatibility type ValidationApiServer interface { - // Validates and parses a batch of key packages and returns relevant details - ValidateKeyPackages(context.Context, *ValidateKeyPackagesRequest) (*ValidateKeyPackagesResponse, error) // Validates and parses a group message and returns relevant details ValidateGroupMessages(context.Context, *ValidateGroupMessagesRequest) (*ValidateGroupMessagesResponse, error) // Gets the final association state for a batch of identity updates @@ -126,11 +99,8 @@ type ValidationApiServer interface { // Validates InboxID key packages and returns credential information for them, without checking // whether an InboxId <> InstallationPublicKey pair is really valid. ValidateInboxIdKeyPackages(context.Context, *ValidateKeyPackagesRequest) (*ValidateInboxIdKeyPackagesResponse, error) - // Validate an InboxID Key Package - // need public key possibly - ValidateInboxIds(context.Context, *ValidateInboxIdsRequest) (*ValidateInboxIdsResponse, error) // Verifies smart contracts - // This request is proxied from the node, so we'll reuse those messgaes. + // This request is proxied from the node, so we'll reuse those messages. VerifySmartContractWalletSignatures(context.Context, *v1.VerifySmartContractWalletSignaturesRequest) (*v1.VerifySmartContractWalletSignaturesResponse, error) mustEmbedUnimplementedValidationApiServer() } @@ -139,9 +109,6 @@ type ValidationApiServer interface { type UnimplementedValidationApiServer struct { } -func (UnimplementedValidationApiServer) ValidateKeyPackages(context.Context, *ValidateKeyPackagesRequest) (*ValidateKeyPackagesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ValidateKeyPackages not implemented") -} func (UnimplementedValidationApiServer) ValidateGroupMessages(context.Context, *ValidateGroupMessagesRequest) (*ValidateGroupMessagesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ValidateGroupMessages not implemented") } @@ -151,9 +118,6 @@ func (UnimplementedValidationApiServer) GetAssociationState(context.Context, *Ge func (UnimplementedValidationApiServer) ValidateInboxIdKeyPackages(context.Context, *ValidateKeyPackagesRequest) (*ValidateInboxIdKeyPackagesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ValidateInboxIdKeyPackages not implemented") } -func (UnimplementedValidationApiServer) ValidateInboxIds(context.Context, *ValidateInboxIdsRequest) (*ValidateInboxIdsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ValidateInboxIds not implemented") -} func (UnimplementedValidationApiServer) VerifySmartContractWalletSignatures(context.Context, *v1.VerifySmartContractWalletSignaturesRequest) (*v1.VerifySmartContractWalletSignaturesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method VerifySmartContractWalletSignatures not implemented") } @@ -170,24 +134,6 @@ func RegisterValidationApiServer(s grpc.ServiceRegistrar, srv ValidationApiServe s.RegisterService(&ValidationApi_ServiceDesc, srv) } -func _ValidationApi_ValidateKeyPackages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ValidateKeyPackagesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ValidationApiServer).ValidateKeyPackages(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ValidationApi_ValidateKeyPackages_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ValidationApiServer).ValidateKeyPackages(ctx, req.(*ValidateKeyPackagesRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _ValidationApi_ValidateGroupMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ValidateGroupMessagesRequest) if err := dec(in); err != nil { @@ -242,24 +188,6 @@ func _ValidationApi_ValidateInboxIdKeyPackages_Handler(srv interface{}, ctx cont return interceptor(ctx, in, info, handler) } -func _ValidationApi_ValidateInboxIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ValidateInboxIdsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ValidationApiServer).ValidateInboxIds(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ValidationApi_ValidateInboxIds_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ValidationApiServer).ValidateInboxIds(ctx, req.(*ValidateInboxIdsRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _ValidationApi_VerifySmartContractWalletSignatures_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v1.VerifySmartContractWalletSignaturesRequest) if err := dec(in); err != nil { @@ -285,10 +213,6 @@ var ValidationApi_ServiceDesc = grpc.ServiceDesc{ ServiceName: "xmtp.mls_validation.v1.ValidationApi", HandlerType: (*ValidationApiServer)(nil), Methods: []grpc.MethodDesc{ - { - MethodName: "ValidateKeyPackages", - Handler: _ValidationApi_ValidateKeyPackages_Handler, - }, { MethodName: "ValidateGroupMessages", Handler: _ValidationApi_ValidateGroupMessages_Handler, @@ -301,10 +225,6 @@ var ValidationApi_ServiceDesc = grpc.ServiceDesc{ MethodName: "ValidateInboxIdKeyPackages", Handler: _ValidationApi_ValidateInboxIdKeyPackages_Handler, }, - { - MethodName: "ValidateInboxIds", - Handler: _ValidationApi_ValidateInboxIds_Handler, - }, { MethodName: "VerifySmartContractWalletSignatures", Handler: _ValidationApi_VerifySmartContractWalletSignatures_Handler, diff --git a/pkg/proto/openapi/message_api/v1/message_api.swagger.json b/pkg/proto/openapi/message_api/v1/message_api.swagger.json index 8422b003..9a5e2890 100644 --- a/pkg/proto/openapi/message_api/v1/message_api.swagger.json +++ b/pkg/proto/openapi/message_api/v1/message_api.swagger.json @@ -201,6 +201,15 @@ } }, "definitions": { + "message_apiv1Cursor": { + "type": "object", + "properties": { + "index": { + "$ref": "#/definitions/v1IndexCursor" + } + }, + "title": "Wrapper for potentially multiple types of cursor" + }, "protobufAny": { "type": "object", "properties": { @@ -255,15 +264,6 @@ }, "title": "Response containing a list of QueryResponse messages" }, - "v1Cursor": { - "type": "object", - "properties": { - "index": { - "$ref": "#/definitions/v1IndexCursor" - } - }, - "title": "Wrapper for potentially multiple types of cursor" - }, "v1Envelope": { "type": "object", "properties": { @@ -378,7 +378,7 @@ "title": "Note: this is a uint32, while go-waku's pageSize is a uint64" }, "cursor": { - "$ref": "#/definitions/v1Cursor" + "$ref": "#/definitions/message_apiv1Cursor" }, "direction": { "$ref": "#/definitions/xmtpmessage_apiv1SortDirection" diff --git a/pkg/proto/openapi/mls/message_contents/content_types/reaction.swagger.json b/pkg/proto/openapi/mls/message_contents/content_types/reaction.swagger.json new file mode 100644 index 00000000..7de26694 --- /dev/null +++ b/pkg/proto/openapi/mls/message_contents/content_types/reaction.swagger.json @@ -0,0 +1,44 @@ +{ + "swagger": "2.0", + "info": { + "title": "mls/message_contents/content_types/reaction.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "rpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/protobufAny" + } + } + } + } + } +} diff --git a/pkg/proto/openapi/mls_validation/v1/service.swagger.json b/pkg/proto/openapi/mls_validation/v1/service.swagger.json index e9d2bebd..eedeb6de 100644 --- a/pkg/proto/openapi/mls_validation/v1/service.swagger.json +++ b/pkg/proto/openapi/mls_validation/v1/service.swagger.json @@ -49,26 +49,6 @@ }, "description": "ECDSA signature bytes and the recovery bit\nproduced by xmtp-js::PublicKey.signWithWallet function, i.e.\nEIP-191 signature of a \"Create Identity\" message with the key embedded.\nUsed to sign identity keys." }, - "ValidateInboxIdsRequestValidationRequest": { - "type": "object", - "properties": { - "credential": { - "$ref": "#/definitions/identityMlsCredential" - }, - "installationPublicKey": { - "type": "string", - "format": "byte" - }, - "identityUpdates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/associationsIdentityUpdate" - } - } - }, - "title": "a single validation request" - }, "associationsAddAssociation": { "type": "object", "properties": { @@ -221,6 +201,10 @@ "clientTimestampNs": { "type": "string", "format": "uint64" + }, + "addedOnChainId": { + "type": "string", + "format": "uint64" } }, "title": "single member that optionally indicates the member that added them" @@ -465,35 +449,6 @@ }, "title": "one response corresponding to information about one key package" }, - "v1ValidateInboxIdsResponse": { - "type": "object", - "properties": { - "responses": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/v1ValidateInboxIdsResponseValidationResponse" - }, - "title": "List of validation responses" - } - }, - "title": "Response to ValidateInboxIdRequest" - }, - "v1ValidateInboxIdsResponseValidationResponse": { - "type": "object", - "properties": { - "isOk": { - "type": "boolean" - }, - "errorMessage": { - "type": "string" - }, - "inboxId": { - "type": "string" - } - }, - "title": "a single validation response" - }, "v1ValidateKeyPackagesRequestKeyPackage": { "type": "object", "properties": { @@ -507,46 +462,6 @@ }, "title": "Wrapper for each key package" }, - "v1ValidateKeyPackagesResponse": { - "type": "object", - "properties": { - "responses": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/v1ValidateKeyPackagesResponseValidationResponse" - } - } - }, - "title": "Response to ValidateKeyPackagesRequest" - }, - "v1ValidateKeyPackagesResponseValidationResponse": { - "type": "object", - "properties": { - "isOk": { - "type": "boolean" - }, - "errorMessage": { - "type": "string" - }, - "installationId": { - "type": "string", - "format": "byte" - }, - "accountAddress": { - "type": "string" - }, - "credentialIdentityBytes": { - "type": "string", - "format": "byte" - }, - "expiration": { - "type": "string", - "format": "uint64" - } - }, - "title": "An individual response to one key package" - }, "v1VerifySmartContractWalletSignatureRequestSignature": { "type": "object", "properties": { diff --git a/pkg/proto/openapi/xmtpv4/envelopes/envelopes.swagger.json b/pkg/proto/openapi/xmtpv4/envelopes/envelopes.swagger.json new file mode 100644 index 00000000..880598a8 --- /dev/null +++ b/pkg/proto/openapi/xmtpv4/envelopes/envelopes.swagger.json @@ -0,0 +1,44 @@ +{ + "swagger": "2.0", + "info": { + "title": "xmtpv4/envelopes/envelopes.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "rpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/protobufAny" + } + } + } + } + } +} diff --git a/pkg/proto/openapi/xmtpv4/message_api/message_api.swagger.json b/pkg/proto/openapi/xmtpv4/message_api/message_api.swagger.json index 581c8285..9e15df25 100644 --- a/pkg/proto/openapi/xmtpv4/message_api/message_api.swagger.json +++ b/pkg/proto/openapi/xmtpv4/message_api/message_api.swagger.json @@ -18,13 +18,12 @@ "paths": { "/mls/v2/get-inbox-ids": { "post": { - "summary": "Get inbox ids", "operationId": "ReplicationApi_GetInboxIds", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/xmtpxmtpv4GetInboxIdsResponse" + "$ref": "#/definitions/xmtpv4message_apiGetInboxIdsResponse" } }, "default": { @@ -40,7 +39,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/xmtpxmtpv4GetInboxIdsRequest" + "$ref": "#/definitions/xmtpv4message_apiGetInboxIdsRequest" } } ], @@ -49,15 +48,14 @@ ] } }, - "/mls/v2/publish-envelope": { + "/mls/v2/publish-payer-envelopes": { "post": { - "summary": "Publish envelope", - "operationId": "ReplicationApi_PublishEnvelope", + "operationId": "ReplicationApi_PublishPayerEnvelopes", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/xmtpv4PublishEnvelopeResponse" + "$ref": "#/definitions/message_apiPublishPayerEnvelopesResponse" } }, "default": { @@ -73,7 +71,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/xmtpv4PublishEnvelopeRequest" + "$ref": "#/definitions/message_apiPublishPayerEnvelopesRequest" } } ], @@ -84,13 +82,12 @@ }, "/mls/v2/query-envelopes": { "post": { - "summary": "Query envelopes", "operationId": "ReplicationApi_QueryEnvelopes", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/xmtpv4QueryEnvelopesResponse" + "$ref": "#/definitions/message_apiQueryEnvelopesResponse" } }, "default": { @@ -106,7 +103,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/xmtpv4QueryEnvelopesRequest" + "$ref": "#/definitions/message_apiQueryEnvelopesRequest" } } ], @@ -117,8 +114,7 @@ }, "/mls/v2/subscribe-envelopes": { "post": { - "summary": "Subscribe to envelopes", - "operationId": "ReplicationApi_BatchSubscribeEnvelopes", + "operationId": "ReplicationApi_SubscribeEnvelopes", "responses": { "200": { "description": "A successful response.(streaming responses)", @@ -126,13 +122,13 @@ "type": "object", "properties": { "result": { - "$ref": "#/definitions/xmtpv4BatchSubscribeEnvelopesResponse" + "$ref": "#/definitions/message_apiSubscribeEnvelopesResponse" }, "error": { "$ref": "#/definitions/rpcStatus" } }, - "title": "Stream result of xmtpv4BatchSubscribeEnvelopesResponse" + "title": "Stream result of message_apiSubscribeEnvelopesResponse" } }, "default": { @@ -148,7 +144,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/xmtpv4BatchSubscribeEnvelopesRequest" + "$ref": "#/definitions/message_apiSubscribeEnvelopesRequest" } } ], @@ -159,15 +155,6 @@ } }, "definitions": { - "BatchSubscribeEnvelopesRequestSubscribeEnvelopesRequest": { - "type": "object", - "properties": { - "query": { - "$ref": "#/definitions/xmtpv4EnvelopesQuery" - } - }, - "title": "Single subscription request for envelopes" - }, "associationsRecoverableEcdsaSignature": { "type": "object", "properties": { @@ -179,94 +166,17 @@ }, "title": "RecoverableEcdsaSignature for EIP-191 and V2 signatures" }, - "protobufAny": { - "type": "object", - "properties": { - "@type": { - "type": "string" - } - }, - "additionalProperties": {} - }, - "rpcStatus": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/protobufAny" - } - } - } - }, - "xmtpv4BatchSubscribeEnvelopesRequest": { - "type": "object", - "properties": { - "requests": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/BatchSubscribeEnvelopesRequestSubscribeEnvelopesRequest" - } - } - }, - "title": "Batch subscribe to envelopes" - }, - "xmtpv4BatchSubscribeEnvelopesResponse": { - "type": "object", - "properties": { - "envelopes": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/definitions/xmtpv4OriginatorEnvelope" - } - } - }, - "title": "Streamed response for batch subscribe - can be multiple envelopes at once" - }, - "xmtpv4BlockchainProof": { + "envelopesBlockchainProof": { "type": "object", "properties": { - "blockNumber": { + "transactionHash": { "type": "string", - "format": "uint64" - }, - "publisherNodeId": { - "type": "integer", - "format": "int64" + "format": "byte" } }, "title": "An alternative to a signature for blockchain payloads" }, - "xmtpv4EnvelopesQuery": { - "type": "object", - "properties": { - "topic": { - "type": "string", - "format": "byte", - "title": "Client queries" - }, - "originatorNodeId": { - "type": "integer", - "format": "int64", - "title": "Node queries" - }, - "lastSeen": { - "$ref": "#/definitions/xmtpv4VectorClock" - } - }, - "title": "Query for envelopes, shared by query and subscribe endpoints" - }, - "xmtpv4OriginatorEnvelope": { + "envelopesOriginatorEnvelope": { "type": "object", "properties": { "unsignedOriginatorEnvelope": { @@ -278,12 +188,12 @@ "$ref": "#/definitions/associationsRecoverableEcdsaSignature" }, "blockchainProof": { - "$ref": "#/definitions/xmtpv4BlockchainProof" + "$ref": "#/definitions/envelopesBlockchainProof" } }, "title": "Signed originator envelope" }, - "xmtpv4PayerEnvelope": { + "envelopesPayerEnvelope": { "type": "object", "properties": { "unsignedClientEnvelope": { @@ -297,27 +207,60 @@ }, "title": "Wraps client envelope with payer signature" }, - "xmtpv4PublishEnvelopeRequest": { + "message_apiEnvelopesQuery": { "type": "object", "properties": { - "payerEnvelope": { - "$ref": "#/definitions/xmtpv4PayerEnvelope" + "topics": { + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "title": "Client queries" + }, + "originatorNodeIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "title": "Node queries" + }, + "lastSeen": { + "$ref": "#/definitions/xmtpv4envelopesCursor" + } + }, + "title": "Query for envelopes, shared by query and subscribe endpoints\nEither topics or originator_node_ids may be set, but not both" + }, + "message_apiPublishPayerEnvelopesRequest": { + "type": "object", + "properties": { + "payerEnvelopes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/envelopesPayerEnvelope" + } } } }, - "xmtpv4PublishEnvelopeResponse": { + "message_apiPublishPayerEnvelopesResponse": { "type": "object", "properties": { - "originatorEnvelope": { - "$ref": "#/definitions/xmtpv4OriginatorEnvelope" + "originatorEnvelopes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/envelopesOriginatorEnvelope" + } } } }, - "xmtpv4QueryEnvelopesRequest": { + "message_apiQueryEnvelopesRequest": { "type": "object", "properties": { "query": { - "$ref": "#/definitions/xmtpv4EnvelopesQuery" + "$ref": "#/definitions/message_apiEnvelopesQuery" }, "limit": { "type": "integer", @@ -326,20 +269,70 @@ }, "title": "Query envelopes request" }, - "xmtpv4QueryEnvelopesResponse": { + "message_apiQueryEnvelopesResponse": { "type": "object", "properties": { "envelopes": { "type": "array", "items": { "type": "object", - "$ref": "#/definitions/xmtpv4OriginatorEnvelope" + "$ref": "#/definitions/envelopesOriginatorEnvelope" } } }, "title": "Query envelopes response" }, - "xmtpv4VectorClock": { + "message_apiSubscribeEnvelopesRequest": { + "type": "object", + "properties": { + "query": { + "$ref": "#/definitions/message_apiEnvelopesQuery" + } + }, + "title": "Batch subscribe to envelopes" + }, + "message_apiSubscribeEnvelopesResponse": { + "type": "object", + "properties": { + "envelopes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/envelopesOriginatorEnvelope" + } + } + }, + "title": "Streamed response for batch subscribe - can be multiple envelopes at once" + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "rpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "xmtpv4envelopesCursor": { "type": "object", "properties": { "nodeIdToSequenceId": { @@ -350,22 +343,22 @@ } } }, - "description": "The last seen entry per originator. Originators that have not been seen are omitted.\nEntries MUST be sorted in ascending order, so that smaller node ID's appear first." + "description": "The last seen entry per originator. Originators that have not been seen are omitted." }, - "xmtpxmtpv4GetInboxIdsRequest": { + "xmtpv4message_apiGetInboxIdsRequest": { "type": "object", "properties": { "requests": { "type": "array", "items": { "type": "object", - "$ref": "#/definitions/xmtpxmtpv4GetInboxIdsRequestRequest" + "$ref": "#/definitions/xmtpv4message_apiGetInboxIdsRequestRequest" } } }, "title": "Request to retrieve the XIDs for the given addresses" }, - "xmtpxmtpv4GetInboxIdsRequestRequest": { + "xmtpv4message_apiGetInboxIdsRequestRequest": { "type": "object", "properties": { "address": { @@ -374,20 +367,20 @@ }, "title": "A single request for a given address" }, - "xmtpxmtpv4GetInboxIdsResponse": { + "xmtpv4message_apiGetInboxIdsResponse": { "type": "object", "properties": { "responses": { "type": "array", "items": { "type": "object", - "$ref": "#/definitions/xmtpxmtpv4GetInboxIdsResponseResponse" + "$ref": "#/definitions/xmtpv4message_apiGetInboxIdsResponseResponse" } } }, "title": "Response with the XIDs for the requested addresses" }, - "xmtpxmtpv4GetInboxIdsResponseResponse": { + "xmtpv4message_apiGetInboxIdsResponseResponse": { "type": "object", "properties": { "address": { diff --git a/pkg/proto/openapi/xmtpv4/message_api/misbehavior_api.swagger.json b/pkg/proto/openapi/xmtpv4/message_api/misbehavior_api.swagger.json new file mode 100644 index 00000000..f05c70ab --- /dev/null +++ b/pkg/proto/openapi/xmtpv4/message_api/misbehavior_api.swagger.json @@ -0,0 +1,359 @@ +{ + "swagger": "2.0", + "info": { + "title": "xmtpv4/message_api/misbehavior_api.proto", + "version": "version not set" + }, + "tags": [ + { + "name": "MisbehaviorApi" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/mls/v2/query-misbehavior-reports": { + "post": { + "operationId": "MisbehaviorApi_QueryMisbehaviorReports", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/message_apiQueryMisbehaviorReportsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/message_apiQueryMisbehaviorReportsRequest" + } + } + ], + "tags": [ + "MisbehaviorApi" + ] + } + }, + "/mls/v2/submit-misbehavior-report": { + "post": { + "operationId": "MisbehaviorApi_SubmitMisbehaviorReport", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/message_apiSubmitMisbehaviorReportResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/message_apiSubmitMisbehaviorReportRequest" + } + } + ], + "tags": [ + "MisbehaviorApi" + ] + } + } + }, + "definitions": { + "associationsRecoverableEcdsaSignature": { + "type": "object", + "properties": { + "bytes": { + "type": "string", + "format": "byte", + "title": "65-bytes [ R || S || V ], with recovery id as the last byte" + } + }, + "title": "RecoverableEcdsaSignature for EIP-191 and V2 signatures" + }, + "envelopesBlockchainProof": { + "type": "object", + "properties": { + "transactionHash": { + "type": "string", + "format": "byte" + } + }, + "title": "An alternative to a signature for blockchain payloads" + }, + "envelopesOriginatorEnvelope": { + "type": "object", + "properties": { + "unsignedOriginatorEnvelope": { + "type": "string", + "format": "byte", + "title": "Protobuf serialized" + }, + "originatorSignature": { + "$ref": "#/definitions/associationsRecoverableEcdsaSignature" + }, + "blockchainProof": { + "$ref": "#/definitions/envelopesBlockchainProof" + } + }, + "title": "Signed originator envelope" + }, + "envelopesPayerEnvelope": { + "type": "object", + "properties": { + "unsignedClientEnvelope": { + "type": "string", + "format": "byte", + "title": "Protobuf serialized" + }, + "payerSignature": { + "$ref": "#/definitions/associationsRecoverableEcdsaSignature" + } + }, + "title": "Wraps client envelope with payer signature" + }, + "message_apiEnvelopesQuery": { + "type": "object", + "properties": { + "topics": { + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "title": "Client queries" + }, + "originatorNodeIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "title": "Node queries" + }, + "lastSeen": { + "$ref": "#/definitions/xmtpv4envelopesCursor" + } + }, + "title": "Query for envelopes, shared by query and subscribe endpoints\nEither topics or originator_node_ids may be set, but not both" + }, + "message_apiLivenessFailure": { + "type": "object", + "properties": { + "responseTimeNs": { + "type": "integer", + "format": "int64" + }, + "subscribe": { + "$ref": "#/definitions/message_apiSubscribeEnvelopesRequest" + }, + "query": { + "$ref": "#/definitions/message_apiQueryEnvelopesRequest" + }, + "publish": { + "$ref": "#/definitions/message_apiPublishPayerEnvelopesRequest" + } + } + }, + "message_apiMisbehavior": { + "type": "string", + "enum": [ + "MISBEHAVIOR_UNSPECIFIED", + "MISBEHAVIOR_UNRESPONSIVE_NODE", + "MISBEHAVIOR_SLOW_NODE", + "MISBEHAVIOR_FAILED_REQUEST", + "MISBEHAVIOR_OUT_OF_ORDER", + "MISBEHAVIOR_DUPLICATE_SEQUENCE_ID", + "MISBEHAVIOR_CAUSAL_ORDERING", + "MISBEHAVIOR_INVALID_PAYLOAD", + "MISBEHAVIOR_BLOCKCHAIN_INCONSISTENCY" + ], + "default": "MISBEHAVIOR_UNSPECIFIED" + }, + "message_apiMisbehaviorReport": { + "type": "object", + "properties": { + "serverTimeNs": { + "type": "string", + "format": "uint64", + "description": "Server time when the report was stored. Used only for querying reports.\nThis field is not signed." + }, + "unsignedMisbehaviorReport": { + "type": "string", + "format": "byte" + }, + "signature": { + "$ref": "#/definitions/associationsRecoverableEcdsaSignature", + "title": "Signed by the node hosting the report" + } + } + }, + "message_apiPublishPayerEnvelopesRequest": { + "type": "object", + "properties": { + "payerEnvelopes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/envelopesPayerEnvelope" + } + } + } + }, + "message_apiQueryEnvelopesRequest": { + "type": "object", + "properties": { + "query": { + "$ref": "#/definitions/message_apiEnvelopesQuery" + }, + "limit": { + "type": "integer", + "format": "int64" + } + }, + "title": "Query envelopes request" + }, + "message_apiQueryMisbehaviorReportsRequest": { + "type": "object", + "properties": { + "afterNs": { + "type": "string", + "format": "uint64" + } + } + }, + "message_apiQueryMisbehaviorReportsResponse": { + "type": "object", + "properties": { + "reports": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/message_apiMisbehaviorReport" + } + } + } + }, + "message_apiSafetyFailure": { + "type": "object", + "properties": { + "envelopes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/envelopesOriginatorEnvelope" + } + } + } + }, + "message_apiSubmitMisbehaviorReportRequest": { + "type": "object", + "properties": { + "report": { + "$ref": "#/definitions/message_apiUnsignedMisbehaviorReport" + } + } + }, + "message_apiSubmitMisbehaviorReportResponse": { + "type": "object" + }, + "message_apiSubscribeEnvelopesRequest": { + "type": "object", + "properties": { + "query": { + "$ref": "#/definitions/message_apiEnvelopesQuery" + } + }, + "title": "Batch subscribe to envelopes" + }, + "message_apiUnsignedMisbehaviorReport": { + "type": "object", + "properties": { + "reporterTimeNs": { + "type": "string", + "format": "uint64" + }, + "misbehavingNodeId": { + "type": "integer", + "format": "int64" + }, + "type": { + "$ref": "#/definitions/message_apiMisbehavior" + }, + "liveness": { + "$ref": "#/definitions/message_apiLivenessFailure" + }, + "safety": { + "$ref": "#/definitions/message_apiSafetyFailure" + }, + "submittedByNode": { + "type": "boolean", + "title": "Nodes must verify this field is false for client-submitted reports" + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "rpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "xmtpv4envelopesCursor": { + "type": "object", + "properties": { + "nodeIdToSequenceId": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "uint64" + } + } + }, + "description": "The last seen entry per originator. Originators that have not been seen are omitted." + } + } +} diff --git a/pkg/proto/openapi/xmtpv4/payer_api/payer_api.swagger.json b/pkg/proto/openapi/xmtpv4/payer_api/payer_api.swagger.json new file mode 100644 index 00000000..c6945aee --- /dev/null +++ b/pkg/proto/openapi/xmtpv4/payer_api/payer_api.swagger.json @@ -0,0 +1,503 @@ +{ + "swagger": "2.0", + "info": { + "title": "xmtpv4/payer_api/payer_api.proto", + "version": "version not set" + }, + "tags": [ + { + "name": "PayerApi" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/mls/v2/payer/publish-client-envelopes": { + "post": { + "summary": "Publish envelope", + "operationId": "PayerApi_PublishClientEnvelopes", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/payer_apiPublishClientEnvelopesResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/payer_apiPublishClientEnvelopesRequest" + } + } + ], + "tags": [ + "PayerApi" + ] + } + } + }, + "definitions": { + "SignatureECDSACompact": { + "type": "object", + "properties": { + "bytes": { + "type": "string", + "format": "byte", + "title": "compact representation [ R || S ], 64 bytes" + }, + "recovery": { + "type": "integer", + "format": "int64", + "title": "recovery bit" + } + }, + "title": "ECDSA signature bytes and the recovery bit" + }, + "SignatureWalletECDSACompact": { + "type": "object", + "properties": { + "bytes": { + "type": "string", + "format": "byte", + "title": "compact representation [ R || S ], 64 bytes" + }, + "recovery": { + "type": "integer", + "format": "int64", + "title": "recovery bit" + } + }, + "description": "ECDSA signature bytes and the recovery bit\nproduced by xmtp-js::PublicKey.signWithWallet function, i.e.\nEIP-191 signature of a \"Create Identity\" message with the key embedded.\nUsed to sign identity keys." + }, + "associationsAddAssociation": { + "type": "object", + "properties": { + "newMemberIdentifier": { + "$ref": "#/definitions/associationsMemberIdentifier" + }, + "existingMemberSignature": { + "$ref": "#/definitions/identityassociationsSignature" + }, + "newMemberSignature": { + "$ref": "#/definitions/identityassociationsSignature" + } + }, + "description": "Adds a new member for an XID - either an addressable member such as a\nwallet, or an installation acting on behalf of an address.\nA key-pair that has been associated with one role MUST not be permitted to be\nassociated with a different role." + }, + "associationsChangeRecoveryAddress": { + "type": "object", + "properties": { + "newRecoveryAddress": { + "type": "string" + }, + "existingRecoveryAddressSignature": { + "$ref": "#/definitions/identityassociationsSignature" + } + }, + "description": "Changes the recovery address for an XID. The recovery address is not required\nto be a member of the XID. In addition to being able to add members, the\nrecovery address can also revoke members." + }, + "associationsCreateInbox": { + "type": "object", + "properties": { + "initialAddress": { + "type": "string" + }, + "nonce": { + "type": "string", + "format": "uint64" + }, + "initialAddressSignature": { + "$ref": "#/definitions/identityassociationsSignature", + "title": "Must be an addressable member" + } + }, + "description": "The first entry of any XID log. The XID must be deterministically derivable\nfrom the address and nonce.\nThe recovery address defaults to the initial associated_address unless\nthere is a subsequent ChangeRecoveryAddress in the log." + }, + "associationsIdentityAction": { + "type": "object", + "properties": { + "createInbox": { + "$ref": "#/definitions/associationsCreateInbox" + }, + "add": { + "$ref": "#/definitions/associationsAddAssociation" + }, + "revoke": { + "$ref": "#/definitions/associationsRevokeAssociation" + }, + "changeRecoveryAddress": { + "$ref": "#/definitions/associationsChangeRecoveryAddress" + } + }, + "title": "A single identity operation" + }, + "associationsIdentityUpdate": { + "type": "object", + "properties": { + "actions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/associationsIdentityAction" + } + }, + "clientTimestampNs": { + "type": "string", + "format": "uint64" + }, + "inboxId": { + "type": "string" + } + }, + "description": "One or more identity actions that were signed together.\nExample: [CreateXid, AddAssociation, ChangeRecoveryAddress]\n1. The batched signature text is created by concatenating the signature text\n of each association together with a separator, '\\n\\n\\n'.\n2. The user signs this concatenated result.\n3. The resulting signature is added to each association proto where relevant.\n The same signature may be used for multiple associations in the array." + }, + "associationsLegacyDelegatedSignature": { + "type": "object", + "properties": { + "delegatedKey": { + "$ref": "#/definitions/message_contentsSignedPublicKey" + }, + "signature": { + "$ref": "#/definitions/associationsRecoverableEcdsaSignature" + } + }, + "description": "An existing address on xmtpv2 may have already signed a legacy identity key\nof type SignedPublicKey via the 'Create Identity' signature.\nFor migration to xmtpv3, the legacy key is permitted to sign on behalf of the\naddress to create a matching xmtpv3 installation key.\nThis signature type can ONLY be used for CreateXid and AddAssociation\npayloads, and can only be used once in xmtpv3." + }, + "associationsMemberIdentifier": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "installationPublicKey": { + "type": "string", + "format": "byte" + } + }, + "title": "The identifier for a member of an XID" + }, + "associationsRecoverableEcdsaSignature": { + "type": "object", + "properties": { + "bytes": { + "type": "string", + "format": "byte", + "title": "65-bytes [ R || S || V ], with recovery id as the last byte" + } + }, + "title": "RecoverableEcdsaSignature for EIP-191 and V2 signatures" + }, + "associationsRecoverableEd25519Signature": { + "type": "object", + "properties": { + "bytes": { + "type": "string", + "format": "byte", + "title": "64 bytes [R(32 bytes) || S(32 bytes)]" + }, + "publicKey": { + "type": "string", + "format": "byte", + "title": "32 bytes" + } + }, + "title": "EdDSA signature for 25519" + }, + "associationsRevokeAssociation": { + "type": "object", + "properties": { + "memberToRevoke": { + "$ref": "#/definitions/associationsMemberIdentifier" + }, + "recoveryAddressSignature": { + "$ref": "#/definitions/identityassociationsSignature" + } + }, + "description": "Revokes a member from an XID. The recovery address must sign the revocation." + }, + "associationsSmartContractWalletSignature": { + "type": "object", + "properties": { + "accountId": { + "type": "string", + "title": "CAIP-10 string\nhttps://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-10.md" + }, + "blockNumber": { + "type": "string", + "format": "uint64", + "title": "Specify the block number to verify the signature against" + }, + "signature": { + "type": "string", + "format": "byte", + "title": "The actual signature bytes" + } + }, + "title": "Smart Contract Wallet signature" + }, + "envelopesAuthenticatedData": { + "type": "object", + "properties": { + "targetOriginator": { + "type": "integer", + "format": "int64" + }, + "targetTopic": { + "type": "string", + "format": "byte" + }, + "dependsOn": { + "$ref": "#/definitions/xmtpv4envelopesCursor" + } + }, + "description": "Data visible to the server that has been authenticated by the client." + }, + "envelopesBlockchainProof": { + "type": "object", + "properties": { + "transactionHash": { + "type": "string", + "format": "byte" + } + }, + "title": "An alternative to a signature for blockchain payloads" + }, + "envelopesClientEnvelope": { + "type": "object", + "properties": { + "aad": { + "$ref": "#/definitions/envelopesAuthenticatedData" + }, + "groupMessage": { + "$ref": "#/definitions/v1GroupMessageInput" + }, + "welcomeMessage": { + "$ref": "#/definitions/v1WelcomeMessageInput" + }, + "uploadKeyPackage": { + "$ref": "#/definitions/v1UploadKeyPackageRequest" + }, + "identityUpdate": { + "$ref": "#/definitions/associationsIdentityUpdate" + } + } + }, + "envelopesOriginatorEnvelope": { + "type": "object", + "properties": { + "unsignedOriginatorEnvelope": { + "type": "string", + "format": "byte", + "title": "Protobuf serialized" + }, + "originatorSignature": { + "$ref": "#/definitions/associationsRecoverableEcdsaSignature" + }, + "blockchainProof": { + "$ref": "#/definitions/envelopesBlockchainProof" + } + }, + "title": "Signed originator envelope" + }, + "identityassociationsSignature": { + "type": "object", + "properties": { + "erc191": { + "$ref": "#/definitions/associationsRecoverableEcdsaSignature" + }, + "erc6492": { + "$ref": "#/definitions/associationsSmartContractWalletSignature" + }, + "installationKey": { + "$ref": "#/definitions/associationsRecoverableEd25519Signature" + }, + "delegatedErc191": { + "$ref": "#/definitions/associationsLegacyDelegatedSignature" + } + }, + "title": "A wrapper for all possible signature types" + }, + "message_contentsSignedPublicKey": { + "type": "object", + "properties": { + "keyBytes": { + "type": "string", + "format": "byte", + "title": "embeds an UnsignedPublicKey" + }, + "signature": { + "$ref": "#/definitions/xmtpmessage_contentsSignature", + "title": "signs key_bytes" + } + }, + "title": "SignedPublicKey" + }, + "payer_apiPublishClientEnvelopesRequest": { + "type": "object", + "properties": { + "envelopes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/envelopesClientEnvelope" + } + } + } + }, + "payer_apiPublishClientEnvelopesResponse": { + "type": "object", + "properties": { + "originatorEnvelopes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/envelopesOriginatorEnvelope" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "rpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "v1GroupMessageInput": { + "type": "object", + "properties": { + "v1": { + "$ref": "#/definitions/v1GroupMessageInputV1" + } + }, + "title": "Input type for a group message" + }, + "v1GroupMessageInputV1": { + "type": "object", + "properties": { + "data": { + "type": "string", + "format": "byte", + "title": "Serialized MlsProtocolMessage" + }, + "senderHmac": { + "type": "string", + "format": "byte" + } + }, + "title": "Version 1 of the GroupMessageInput payload format" + }, + "v1KeyPackageUpload": { + "type": "object", + "properties": { + "keyPackageTlsSerialized": { + "type": "string", + "format": "byte", + "description": "The owner's wallet address would be extracted from the identity\ncredential in the key package, and all signatures would be validated." + } + }, + "description": "This would be a serialized MLS key package that the node would\n parse, validate, and then store.", + "title": "A wrapper around the Key Package bytes" + }, + "v1UploadKeyPackageRequest": { + "type": "object", + "properties": { + "keyPackage": { + "$ref": "#/definitions/v1KeyPackageUpload", + "title": "An individual key package upload request" + }, + "isInboxIdCredential": { + "type": "boolean" + } + }, + "title": "Upload a new key packages" + }, + "v1WelcomeMessageInput": { + "type": "object", + "properties": { + "v1": { + "$ref": "#/definitions/v1WelcomeMessageInputV1" + } + }, + "title": "Input type for a welcome message" + }, + "v1WelcomeMessageInputV1": { + "type": "object", + "properties": { + "installationKey": { + "type": "string", + "format": "byte" + }, + "data": { + "type": "string", + "format": "byte" + }, + "hpkePublicKey": { + "type": "string", + "format": "byte" + } + }, + "title": "Version 1 of the WelcomeMessageInput format" + }, + "xmtpmessage_contentsSignature": { + "type": "object", + "properties": { + "ecdsaCompact": { + "$ref": "#/definitions/SignatureECDSACompact" + }, + "walletEcdsaCompact": { + "$ref": "#/definitions/SignatureWalletECDSACompact" + } + }, + "description": "Signature represents a generalized public key signature,\ndefined as a union to support cryptographic algorithm agility." + }, + "xmtpv4envelopesCursor": { + "type": "object", + "properties": { + "nodeIdToSequenceId": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "uint64" + } + } + }, + "description": "The last seen entry per originator. Originators that have not been seen are omitted." + } + } +} diff --git a/pkg/proto/xmtpv4/envelopes/envelopes.pb.go b/pkg/proto/xmtpv4/envelopes/envelopes.pb.go new file mode 100644 index 00000000..d9a07f29 --- /dev/null +++ b/pkg/proto/xmtpv4/envelopes/envelopes.pb.go @@ -0,0 +1,719 @@ +// Message API for XMTP V4 + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.3 +// protoc (unknown) +// source: xmtpv4/envelopes/envelopes.proto + +package envelopes + +import ( + associations "github.com/xmtp/xmtp-node-go/pkg/proto/identity/associations" + v1 "github.com/xmtp/xmtp-node-go/pkg/proto/mls/api/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The last seen entry per originator. Originators that have not been seen are omitted. +type Cursor struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeIdToSequenceId map[uint32]uint64 `protobuf:"bytes,1,rep,name=node_id_to_sequence_id,json=nodeIdToSequenceId,proto3" json:"node_id_to_sequence_id,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Cursor) Reset() { + *x = Cursor{} + mi := &file_xmtpv4_envelopes_envelopes_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Cursor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Cursor) ProtoMessage() {} + +func (x *Cursor) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_envelopes_envelopes_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Cursor.ProtoReflect.Descriptor instead. +func (*Cursor) Descriptor() ([]byte, []int) { + return file_xmtpv4_envelopes_envelopes_proto_rawDescGZIP(), []int{0} +} + +func (x *Cursor) GetNodeIdToSequenceId() map[uint32]uint64 { + if x != nil { + return x.NodeIdToSequenceId + } + return nil +} + +// Data visible to the server that has been authenticated by the client. +type AuthenticatedData struct { + state protoimpl.MessageState `protogen:"open.v1"` + TargetOriginator uint32 `protobuf:"varint,1,opt,name=target_originator,json=targetOriginator,proto3" json:"target_originator,omitempty"` + TargetTopic []byte `protobuf:"bytes,2,opt,name=target_topic,json=targetTopic,proto3" json:"target_topic,omitempty"` + DependsOn *Cursor `protobuf:"bytes,3,opt,name=depends_on,json=dependsOn,proto3" json:"depends_on,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AuthenticatedData) Reset() { + *x = AuthenticatedData{} + mi := &file_xmtpv4_envelopes_envelopes_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AuthenticatedData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthenticatedData) ProtoMessage() {} + +func (x *AuthenticatedData) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_envelopes_envelopes_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthenticatedData.ProtoReflect.Descriptor instead. +func (*AuthenticatedData) Descriptor() ([]byte, []int) { + return file_xmtpv4_envelopes_envelopes_proto_rawDescGZIP(), []int{1} +} + +func (x *AuthenticatedData) GetTargetOriginator() uint32 { + if x != nil { + return x.TargetOriginator + } + return 0 +} + +func (x *AuthenticatedData) GetTargetTopic() []byte { + if x != nil { + return x.TargetTopic + } + return nil +} + +func (x *AuthenticatedData) GetDependsOn() *Cursor { + if x != nil { + return x.DependsOn + } + return nil +} + +type ClientEnvelope struct { + state protoimpl.MessageState `protogen:"open.v1"` + Aad *AuthenticatedData `protobuf:"bytes,1,opt,name=aad,proto3" json:"aad,omitempty"` + // Types that are valid to be assigned to Payload: + // + // *ClientEnvelope_GroupMessage + // *ClientEnvelope_WelcomeMessage + // *ClientEnvelope_UploadKeyPackage + // *ClientEnvelope_IdentityUpdate + Payload isClientEnvelope_Payload `protobuf_oneof:"payload"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ClientEnvelope) Reset() { + *x = ClientEnvelope{} + mi := &file_xmtpv4_envelopes_envelopes_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ClientEnvelope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientEnvelope) ProtoMessage() {} + +func (x *ClientEnvelope) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_envelopes_envelopes_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientEnvelope.ProtoReflect.Descriptor instead. +func (*ClientEnvelope) Descriptor() ([]byte, []int) { + return file_xmtpv4_envelopes_envelopes_proto_rawDescGZIP(), []int{2} +} + +func (x *ClientEnvelope) GetAad() *AuthenticatedData { + if x != nil { + return x.Aad + } + return nil +} + +func (x *ClientEnvelope) GetPayload() isClientEnvelope_Payload { + if x != nil { + return x.Payload + } + return nil +} + +func (x *ClientEnvelope) GetGroupMessage() *v1.GroupMessageInput { + if x != nil { + if x, ok := x.Payload.(*ClientEnvelope_GroupMessage); ok { + return x.GroupMessage + } + } + return nil +} + +func (x *ClientEnvelope) GetWelcomeMessage() *v1.WelcomeMessageInput { + if x != nil { + if x, ok := x.Payload.(*ClientEnvelope_WelcomeMessage); ok { + return x.WelcomeMessage + } + } + return nil +} + +func (x *ClientEnvelope) GetUploadKeyPackage() *v1.UploadKeyPackageRequest { + if x != nil { + if x, ok := x.Payload.(*ClientEnvelope_UploadKeyPackage); ok { + return x.UploadKeyPackage + } + } + return nil +} + +func (x *ClientEnvelope) GetIdentityUpdate() *associations.IdentityUpdate { + if x != nil { + if x, ok := x.Payload.(*ClientEnvelope_IdentityUpdate); ok { + return x.IdentityUpdate + } + } + return nil +} + +type isClientEnvelope_Payload interface { + isClientEnvelope_Payload() +} + +type ClientEnvelope_GroupMessage struct { + GroupMessage *v1.GroupMessageInput `protobuf:"bytes,2,opt,name=group_message,json=groupMessage,proto3,oneof"` +} + +type ClientEnvelope_WelcomeMessage struct { + WelcomeMessage *v1.WelcomeMessageInput `protobuf:"bytes,3,opt,name=welcome_message,json=welcomeMessage,proto3,oneof"` +} + +type ClientEnvelope_UploadKeyPackage struct { + UploadKeyPackage *v1.UploadKeyPackageRequest `protobuf:"bytes,4,opt,name=upload_key_package,json=uploadKeyPackage,proto3,oneof"` +} + +type ClientEnvelope_IdentityUpdate struct { + IdentityUpdate *associations.IdentityUpdate `protobuf:"bytes,5,opt,name=identity_update,json=identityUpdate,proto3,oneof"` +} + +func (*ClientEnvelope_GroupMessage) isClientEnvelope_Payload() {} + +func (*ClientEnvelope_WelcomeMessage) isClientEnvelope_Payload() {} + +func (*ClientEnvelope_UploadKeyPackage) isClientEnvelope_Payload() {} + +func (*ClientEnvelope_IdentityUpdate) isClientEnvelope_Payload() {} + +// Wraps client envelope with payer signature +type PayerEnvelope struct { + state protoimpl.MessageState `protogen:"open.v1"` + UnsignedClientEnvelope []byte `protobuf:"bytes,1,opt,name=unsigned_client_envelope,json=unsignedClientEnvelope,proto3" json:"unsigned_client_envelope,omitempty"` // Protobuf serialized + PayerSignature *associations.RecoverableEcdsaSignature `protobuf:"bytes,2,opt,name=payer_signature,json=payerSignature,proto3" json:"payer_signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PayerEnvelope) Reset() { + *x = PayerEnvelope{} + mi := &file_xmtpv4_envelopes_envelopes_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PayerEnvelope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayerEnvelope) ProtoMessage() {} + +func (x *PayerEnvelope) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_envelopes_envelopes_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PayerEnvelope.ProtoReflect.Descriptor instead. +func (*PayerEnvelope) Descriptor() ([]byte, []int) { + return file_xmtpv4_envelopes_envelopes_proto_rawDescGZIP(), []int{3} +} + +func (x *PayerEnvelope) GetUnsignedClientEnvelope() []byte { + if x != nil { + return x.UnsignedClientEnvelope + } + return nil +} + +func (x *PayerEnvelope) GetPayerSignature() *associations.RecoverableEcdsaSignature { + if x != nil { + return x.PayerSignature + } + return nil +} + +// For blockchain envelopes, these fields are set by the smart contract +type UnsignedOriginatorEnvelope struct { + state protoimpl.MessageState `protogen:"open.v1"` + OriginatorNodeId uint32 `protobuf:"varint,1,opt,name=originator_node_id,json=originatorNodeId,proto3" json:"originator_node_id,omitempty"` + OriginatorSequenceId uint64 `protobuf:"varint,2,opt,name=originator_sequence_id,json=originatorSequenceId,proto3" json:"originator_sequence_id,omitempty"` + OriginatorNs int64 `protobuf:"varint,3,opt,name=originator_ns,json=originatorNs,proto3" json:"originator_ns,omitempty"` + PayerEnvelope *PayerEnvelope `protobuf:"bytes,4,opt,name=payer_envelope,json=payerEnvelope,proto3" json:"payer_envelope,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnsignedOriginatorEnvelope) Reset() { + *x = UnsignedOriginatorEnvelope{} + mi := &file_xmtpv4_envelopes_envelopes_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnsignedOriginatorEnvelope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnsignedOriginatorEnvelope) ProtoMessage() {} + +func (x *UnsignedOriginatorEnvelope) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_envelopes_envelopes_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnsignedOriginatorEnvelope.ProtoReflect.Descriptor instead. +func (*UnsignedOriginatorEnvelope) Descriptor() ([]byte, []int) { + return file_xmtpv4_envelopes_envelopes_proto_rawDescGZIP(), []int{4} +} + +func (x *UnsignedOriginatorEnvelope) GetOriginatorNodeId() uint32 { + if x != nil { + return x.OriginatorNodeId + } + return 0 +} + +func (x *UnsignedOriginatorEnvelope) GetOriginatorSequenceId() uint64 { + if x != nil { + return x.OriginatorSequenceId + } + return 0 +} + +func (x *UnsignedOriginatorEnvelope) GetOriginatorNs() int64 { + if x != nil { + return x.OriginatorNs + } + return 0 +} + +func (x *UnsignedOriginatorEnvelope) GetPayerEnvelope() *PayerEnvelope { + if x != nil { + return x.PayerEnvelope + } + return nil +} + +// An alternative to a signature for blockchain payloads +type BlockchainProof struct { + state protoimpl.MessageState `protogen:"open.v1"` + TransactionHash []byte `protobuf:"bytes,1,opt,name=transaction_hash,json=transactionHash,proto3" json:"transaction_hash,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BlockchainProof) Reset() { + *x = BlockchainProof{} + mi := &file_xmtpv4_envelopes_envelopes_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BlockchainProof) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockchainProof) ProtoMessage() {} + +func (x *BlockchainProof) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_envelopes_envelopes_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlockchainProof.ProtoReflect.Descriptor instead. +func (*BlockchainProof) Descriptor() ([]byte, []int) { + return file_xmtpv4_envelopes_envelopes_proto_rawDescGZIP(), []int{5} +} + +func (x *BlockchainProof) GetTransactionHash() []byte { + if x != nil { + return x.TransactionHash + } + return nil +} + +// Signed originator envelope +type OriginatorEnvelope struct { + state protoimpl.MessageState `protogen:"open.v1"` + UnsignedOriginatorEnvelope []byte `protobuf:"bytes,1,opt,name=unsigned_originator_envelope,json=unsignedOriginatorEnvelope,proto3" json:"unsigned_originator_envelope,omitempty"` // Protobuf serialized + // Types that are valid to be assigned to Proof: + // + // *OriginatorEnvelope_OriginatorSignature + // *OriginatorEnvelope_BlockchainProof + Proof isOriginatorEnvelope_Proof `protobuf_oneof:"proof"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OriginatorEnvelope) Reset() { + *x = OriginatorEnvelope{} + mi := &file_xmtpv4_envelopes_envelopes_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OriginatorEnvelope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OriginatorEnvelope) ProtoMessage() {} + +func (x *OriginatorEnvelope) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_envelopes_envelopes_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OriginatorEnvelope.ProtoReflect.Descriptor instead. +func (*OriginatorEnvelope) Descriptor() ([]byte, []int) { + return file_xmtpv4_envelopes_envelopes_proto_rawDescGZIP(), []int{6} +} + +func (x *OriginatorEnvelope) GetUnsignedOriginatorEnvelope() []byte { + if x != nil { + return x.UnsignedOriginatorEnvelope + } + return nil +} + +func (x *OriginatorEnvelope) GetProof() isOriginatorEnvelope_Proof { + if x != nil { + return x.Proof + } + return nil +} + +func (x *OriginatorEnvelope) GetOriginatorSignature() *associations.RecoverableEcdsaSignature { + if x != nil { + if x, ok := x.Proof.(*OriginatorEnvelope_OriginatorSignature); ok { + return x.OriginatorSignature + } + } + return nil +} + +func (x *OriginatorEnvelope) GetBlockchainProof() *BlockchainProof { + if x != nil { + if x, ok := x.Proof.(*OriginatorEnvelope_BlockchainProof); ok { + return x.BlockchainProof + } + } + return nil +} + +type isOriginatorEnvelope_Proof interface { + isOriginatorEnvelope_Proof() +} + +type OriginatorEnvelope_OriginatorSignature struct { + OriginatorSignature *associations.RecoverableEcdsaSignature `protobuf:"bytes,2,opt,name=originator_signature,json=originatorSignature,proto3,oneof"` +} + +type OriginatorEnvelope_BlockchainProof struct { + BlockchainProof *BlockchainProof `protobuf:"bytes,3,opt,name=blockchain_proof,json=blockchainProof,proto3,oneof"` +} + +func (*OriginatorEnvelope_OriginatorSignature) isOriginatorEnvelope_Proof() {} + +func (*OriginatorEnvelope_BlockchainProof) isOriginatorEnvelope_Proof() {} + +var File_xmtpv4_envelopes_envelopes_proto protoreflect.FileDescriptor + +var file_xmtpv4_envelopes_envelopes_proto_rawDesc = []byte{ + 0x0a, 0x20, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x73, 0x2f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, + 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x1a, 0x27, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x25, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x6d, 0x6c, 0x73, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0xba, 0x01, 0x0a, 0x06, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x69, 0x0a, 0x16, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, 0x74, + 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x73, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, + 0x54, 0x6f, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x12, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x54, 0x6f, 0x53, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x49, 0x64, 0x1a, 0x45, 0x0a, 0x17, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x54, + 0x6f, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa1, 0x01, 0x0a, + 0x11, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, + 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x43, + 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x09, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x4f, 0x6e, + 0x22, 0xa4, 0x03, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x03, 0x61, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, + 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x03, 0x61, 0x61, 0x64, 0x12, + 0x49, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, + 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4f, 0x0a, 0x0f, 0x77, 0x65, + 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x77, 0x65, 0x6c, + 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x58, 0x0a, 0x12, 0x75, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, + 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x10, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, + 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x65, + 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x76, + 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x12, 0x5e, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, + 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x63, 0x64, 0x73, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x1a, 0x55, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, + 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, + 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, + 0x12, 0x34, 0x0a, 0x16, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x14, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x71, 0x75, + 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x73, 0x12, 0x4b, 0x0a, 0x0e, 0x70, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, + 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x65, + 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x65, 0x72, + 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x22, 0x3c, 0x0a, 0x0f, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x29, 0x0a, 0x10, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x22, 0xa0, 0x02, 0x0a, 0x12, 0x4f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x40, 0x0a, + 0x1c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x1a, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, + 0x6a, 0x0a, 0x14, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, + 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x63, 0x64, 0x73, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x6f, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x53, 0x0a, 0x10, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, + 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x48, 0x00, 0x52, + 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, + 0x42, 0x07, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x42, 0xda, 0x01, 0x0a, 0x19, 0x63, 0x6f, + 0x6d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2d, + 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x73, 0xa2, 0x02, 0x03, 0x58, 0x58, 0x45, 0xaa, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x2e, + 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, + 0xca, 0x02, 0x15, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x5c, 0x45, + 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0xe2, 0x02, 0x21, 0x58, 0x6d, 0x74, 0x70, 0x5c, + 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x5c, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x58, + 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x3a, 0x3a, 0x45, 0x6e, 0x76, + 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_xmtpv4_envelopes_envelopes_proto_rawDescOnce sync.Once + file_xmtpv4_envelopes_envelopes_proto_rawDescData = file_xmtpv4_envelopes_envelopes_proto_rawDesc +) + +func file_xmtpv4_envelopes_envelopes_proto_rawDescGZIP() []byte { + file_xmtpv4_envelopes_envelopes_proto_rawDescOnce.Do(func() { + file_xmtpv4_envelopes_envelopes_proto_rawDescData = protoimpl.X.CompressGZIP(file_xmtpv4_envelopes_envelopes_proto_rawDescData) + }) + return file_xmtpv4_envelopes_envelopes_proto_rawDescData +} + +var file_xmtpv4_envelopes_envelopes_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_xmtpv4_envelopes_envelopes_proto_goTypes = []any{ + (*Cursor)(nil), // 0: xmtp.xmtpv4.envelopes.Cursor + (*AuthenticatedData)(nil), // 1: xmtp.xmtpv4.envelopes.AuthenticatedData + (*ClientEnvelope)(nil), // 2: xmtp.xmtpv4.envelopes.ClientEnvelope + (*PayerEnvelope)(nil), // 3: xmtp.xmtpv4.envelopes.PayerEnvelope + (*UnsignedOriginatorEnvelope)(nil), // 4: xmtp.xmtpv4.envelopes.UnsignedOriginatorEnvelope + (*BlockchainProof)(nil), // 5: xmtp.xmtpv4.envelopes.BlockchainProof + (*OriginatorEnvelope)(nil), // 6: xmtp.xmtpv4.envelopes.OriginatorEnvelope + nil, // 7: xmtp.xmtpv4.envelopes.Cursor.NodeIdToSequenceIdEntry + (*v1.GroupMessageInput)(nil), // 8: xmtp.mls.api.v1.GroupMessageInput + (*v1.WelcomeMessageInput)(nil), // 9: xmtp.mls.api.v1.WelcomeMessageInput + (*v1.UploadKeyPackageRequest)(nil), // 10: xmtp.mls.api.v1.UploadKeyPackageRequest + (*associations.IdentityUpdate)(nil), // 11: xmtp.identity.associations.IdentityUpdate + (*associations.RecoverableEcdsaSignature)(nil), // 12: xmtp.identity.associations.RecoverableEcdsaSignature +} +var file_xmtpv4_envelopes_envelopes_proto_depIdxs = []int32{ + 7, // 0: xmtp.xmtpv4.envelopes.Cursor.node_id_to_sequence_id:type_name -> xmtp.xmtpv4.envelopes.Cursor.NodeIdToSequenceIdEntry + 0, // 1: xmtp.xmtpv4.envelopes.AuthenticatedData.depends_on:type_name -> xmtp.xmtpv4.envelopes.Cursor + 1, // 2: xmtp.xmtpv4.envelopes.ClientEnvelope.aad:type_name -> xmtp.xmtpv4.envelopes.AuthenticatedData + 8, // 3: xmtp.xmtpv4.envelopes.ClientEnvelope.group_message:type_name -> xmtp.mls.api.v1.GroupMessageInput + 9, // 4: xmtp.xmtpv4.envelopes.ClientEnvelope.welcome_message:type_name -> xmtp.mls.api.v1.WelcomeMessageInput + 10, // 5: xmtp.xmtpv4.envelopes.ClientEnvelope.upload_key_package:type_name -> xmtp.mls.api.v1.UploadKeyPackageRequest + 11, // 6: xmtp.xmtpv4.envelopes.ClientEnvelope.identity_update:type_name -> xmtp.identity.associations.IdentityUpdate + 12, // 7: xmtp.xmtpv4.envelopes.PayerEnvelope.payer_signature:type_name -> xmtp.identity.associations.RecoverableEcdsaSignature + 3, // 8: xmtp.xmtpv4.envelopes.UnsignedOriginatorEnvelope.payer_envelope:type_name -> xmtp.xmtpv4.envelopes.PayerEnvelope + 12, // 9: xmtp.xmtpv4.envelopes.OriginatorEnvelope.originator_signature:type_name -> xmtp.identity.associations.RecoverableEcdsaSignature + 5, // 10: xmtp.xmtpv4.envelopes.OriginatorEnvelope.blockchain_proof:type_name -> xmtp.xmtpv4.envelopes.BlockchainProof + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_xmtpv4_envelopes_envelopes_proto_init() } +func file_xmtpv4_envelopes_envelopes_proto_init() { + if File_xmtpv4_envelopes_envelopes_proto != nil { + return + } + file_xmtpv4_envelopes_envelopes_proto_msgTypes[2].OneofWrappers = []any{ + (*ClientEnvelope_GroupMessage)(nil), + (*ClientEnvelope_WelcomeMessage)(nil), + (*ClientEnvelope_UploadKeyPackage)(nil), + (*ClientEnvelope_IdentityUpdate)(nil), + } + file_xmtpv4_envelopes_envelopes_proto_msgTypes[6].OneofWrappers = []any{ + (*OriginatorEnvelope_OriginatorSignature)(nil), + (*OriginatorEnvelope_BlockchainProof)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_xmtpv4_envelopes_envelopes_proto_rawDesc, + NumEnums: 0, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_xmtpv4_envelopes_envelopes_proto_goTypes, + DependencyIndexes: file_xmtpv4_envelopes_envelopes_proto_depIdxs, + MessageInfos: file_xmtpv4_envelopes_envelopes_proto_msgTypes, + }.Build() + File_xmtpv4_envelopes_envelopes_proto = out.File + file_xmtpv4_envelopes_envelopes_proto_rawDesc = nil + file_xmtpv4_envelopes_envelopes_proto_goTypes = nil + file_xmtpv4_envelopes_envelopes_proto_depIdxs = nil +} diff --git a/pkg/proto/xmtpv4/message_api/message_api.pb.go b/pkg/proto/xmtpv4/message_api/message_api.pb.go index 8de036bc..3f03f3ff 100644 --- a/pkg/proto/xmtpv4/message_api/message_api.pb.go +++ b/pkg/proto/xmtpv4/message_api/message_api.pb.go @@ -2,15 +2,14 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.35.1 +// protoc-gen-go v1.36.3 // protoc (unknown) // source: xmtpv4/message_api/message_api.proto package message_api import ( - associations "github.com/xmtp/xmtp-node-go/pkg/proto/identity/associations" - v1 "github.com/xmtp/xmtp-node-go/pkg/proto/mls/api/v1" + envelopes "github.com/xmtp/xmtp-node-go/pkg/proto/xmtpv4/envelopes" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -25,652 +24,22 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// Misbehavior types -type Misbehavior int32 - -const ( - Misbehavior_MISBEHAVIOR_UNSPECIFIED Misbehavior = 0 - Misbehavior_MISBEHAVIOR_UNAVAILABLE_NODE Misbehavior = 1 - Misbehavior_MISBEHAVIOR_OUT_OF_ORDER_ORIGINATOR_SID Misbehavior = 2 - Misbehavior_MISBEHAVIOR_DUPLICATE_ORIGINATOR_SID Misbehavior = 3 - Misbehavior_MISBEHAVIOR_CYCLICAL_MESSAGE_ORDERING Misbehavior = 4 -) - -// Enum value maps for Misbehavior. -var ( - Misbehavior_name = map[int32]string{ - 0: "MISBEHAVIOR_UNSPECIFIED", - 1: "MISBEHAVIOR_UNAVAILABLE_NODE", - 2: "MISBEHAVIOR_OUT_OF_ORDER_ORIGINATOR_SID", - 3: "MISBEHAVIOR_DUPLICATE_ORIGINATOR_SID", - 4: "MISBEHAVIOR_CYCLICAL_MESSAGE_ORDERING", - } - Misbehavior_value = map[string]int32{ - "MISBEHAVIOR_UNSPECIFIED": 0, - "MISBEHAVIOR_UNAVAILABLE_NODE": 1, - "MISBEHAVIOR_OUT_OF_ORDER_ORIGINATOR_SID": 2, - "MISBEHAVIOR_DUPLICATE_ORIGINATOR_SID": 3, - "MISBEHAVIOR_CYCLICAL_MESSAGE_ORDERING": 4, - } -) - -func (x Misbehavior) Enum() *Misbehavior { - p := new(Misbehavior) - *p = x - return p -} - -func (x Misbehavior) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Misbehavior) Descriptor() protoreflect.EnumDescriptor { - return file_xmtpv4_message_api_message_api_proto_enumTypes[0].Descriptor() -} - -func (Misbehavior) Type() protoreflect.EnumType { - return &file_xmtpv4_message_api_message_api_proto_enumTypes[0] -} - -func (x Misbehavior) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Misbehavior.Descriptor instead. -func (Misbehavior) EnumDescriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{0} -} - -// The last seen entry per originator. Originators that have not been seen are omitted. -// Entries MUST be sorted in ascending order, so that smaller node ID's appear first. -type VectorClock struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NodeIdToSequenceId map[uint32]uint64 `protobuf:"bytes,1,rep,name=node_id_to_sequence_id,json=nodeIdToSequenceId,proto3" json:"node_id_to_sequence_id,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` -} - -func (x *VectorClock) Reset() { - *x = VectorClock{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *VectorClock) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VectorClock) ProtoMessage() {} - -func (x *VectorClock) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[0] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VectorClock.ProtoReflect.Descriptor instead. -func (*VectorClock) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{0} -} - -func (x *VectorClock) GetNodeIdToSequenceId() map[uint32]uint64 { - if x != nil { - return x.NodeIdToSequenceId - } - return nil -} - -// Data visible to the server that has been authenticated by the client. -type AuthenticatedData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TargetOriginator uint32 `protobuf:"varint,1,opt,name=target_originator,json=targetOriginator,proto3" json:"target_originator,omitempty"` - TargetTopic []byte `protobuf:"bytes,2,opt,name=target_topic,json=targetTopic,proto3" json:"target_topic,omitempty"` - LastSeen *VectorClock `protobuf:"bytes,3,opt,name=last_seen,json=lastSeen,proto3" json:"last_seen,omitempty"` -} - -func (x *AuthenticatedData) Reset() { - *x = AuthenticatedData{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *AuthenticatedData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AuthenticatedData) ProtoMessage() {} - -func (x *AuthenticatedData) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[1] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AuthenticatedData.ProtoReflect.Descriptor instead. -func (*AuthenticatedData) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{1} -} - -func (x *AuthenticatedData) GetTargetOriginator() uint32 { - if x != nil { - return x.TargetOriginator - } - return 0 -} - -func (x *AuthenticatedData) GetTargetTopic() []byte { - if x != nil { - return x.TargetTopic - } - return nil -} - -func (x *AuthenticatedData) GetLastSeen() *VectorClock { - if x != nil { - return x.LastSeen - } - return nil -} - -type ClientEnvelope struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Payload: - // - // *ClientEnvelope_GroupMessage - // *ClientEnvelope_WelcomeMessage - // *ClientEnvelope_RegisterInstallation - // *ClientEnvelope_UploadKeyPackage - // *ClientEnvelope_RevokeInstallation - // *ClientEnvelope_IdentityUpdate - Payload isClientEnvelope_Payload `protobuf_oneof:"payload"` - Aad *AuthenticatedData `protobuf:"bytes,6,opt,name=aad,proto3" json:"aad,omitempty"` -} - -func (x *ClientEnvelope) Reset() { - *x = ClientEnvelope{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ClientEnvelope) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClientEnvelope) ProtoMessage() {} - -func (x *ClientEnvelope) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[2] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClientEnvelope.ProtoReflect.Descriptor instead. -func (*ClientEnvelope) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{2} -} - -func (m *ClientEnvelope) GetPayload() isClientEnvelope_Payload { - if m != nil { - return m.Payload - } - return nil -} - -func (x *ClientEnvelope) GetGroupMessage() *v1.GroupMessageInput { - if x, ok := x.GetPayload().(*ClientEnvelope_GroupMessage); ok { - return x.GroupMessage - } - return nil -} - -func (x *ClientEnvelope) GetWelcomeMessage() *v1.WelcomeMessageInput { - if x, ok := x.GetPayload().(*ClientEnvelope_WelcomeMessage); ok { - return x.WelcomeMessage - } - return nil -} - -func (x *ClientEnvelope) GetRegisterInstallation() *v1.RegisterInstallationRequest { - if x, ok := x.GetPayload().(*ClientEnvelope_RegisterInstallation); ok { - return x.RegisterInstallation - } - return nil -} - -func (x *ClientEnvelope) GetUploadKeyPackage() *v1.UploadKeyPackageRequest { - if x, ok := x.GetPayload().(*ClientEnvelope_UploadKeyPackage); ok { - return x.UploadKeyPackage - } - return nil -} - -func (x *ClientEnvelope) GetRevokeInstallation() *v1.RevokeInstallationRequest { - if x, ok := x.GetPayload().(*ClientEnvelope_RevokeInstallation); ok { - return x.RevokeInstallation - } - return nil -} - -func (x *ClientEnvelope) GetIdentityUpdate() *associations.IdentityUpdate { - if x, ok := x.GetPayload().(*ClientEnvelope_IdentityUpdate); ok { - return x.IdentityUpdate - } - return nil -} - -func (x *ClientEnvelope) GetAad() *AuthenticatedData { - if x != nil { - return x.Aad - } - return nil -} - -type isClientEnvelope_Payload interface { - isClientEnvelope_Payload() -} - -type ClientEnvelope_GroupMessage struct { - GroupMessage *v1.GroupMessageInput `protobuf:"bytes,1,opt,name=group_message,json=groupMessage,proto3,oneof"` -} - -type ClientEnvelope_WelcomeMessage struct { - WelcomeMessage *v1.WelcomeMessageInput `protobuf:"bytes,2,opt,name=welcome_message,json=welcomeMessage,proto3,oneof"` -} - -type ClientEnvelope_RegisterInstallation struct { - RegisterInstallation *v1.RegisterInstallationRequest `protobuf:"bytes,3,opt,name=register_installation,json=registerInstallation,proto3,oneof"` -} - -type ClientEnvelope_UploadKeyPackage struct { - UploadKeyPackage *v1.UploadKeyPackageRequest `protobuf:"bytes,4,opt,name=upload_key_package,json=uploadKeyPackage,proto3,oneof"` -} - -type ClientEnvelope_RevokeInstallation struct { - RevokeInstallation *v1.RevokeInstallationRequest `protobuf:"bytes,5,opt,name=revoke_installation,json=revokeInstallation,proto3,oneof"` -} - -type ClientEnvelope_IdentityUpdate struct { - IdentityUpdate *associations.IdentityUpdate `protobuf:"bytes,7,opt,name=identity_update,json=identityUpdate,proto3,oneof"` -} - -func (*ClientEnvelope_GroupMessage) isClientEnvelope_Payload() {} - -func (*ClientEnvelope_WelcomeMessage) isClientEnvelope_Payload() {} - -func (*ClientEnvelope_RegisterInstallation) isClientEnvelope_Payload() {} - -func (*ClientEnvelope_UploadKeyPackage) isClientEnvelope_Payload() {} - -func (*ClientEnvelope_RevokeInstallation) isClientEnvelope_Payload() {} - -func (*ClientEnvelope_IdentityUpdate) isClientEnvelope_Payload() {} - -// Wraps client envelope with payer signature -type PayerEnvelope struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UnsignedClientEnvelope []byte `protobuf:"bytes,1,opt,name=unsigned_client_envelope,json=unsignedClientEnvelope,proto3" json:"unsigned_client_envelope,omitempty"` // Protobuf serialized - PayerSignature *associations.RecoverableEcdsaSignature `protobuf:"bytes,2,opt,name=payer_signature,json=payerSignature,proto3" json:"payer_signature,omitempty"` -} - -func (x *PayerEnvelope) Reset() { - *x = PayerEnvelope{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PayerEnvelope) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PayerEnvelope) ProtoMessage() {} - -func (x *PayerEnvelope) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[3] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PayerEnvelope.ProtoReflect.Descriptor instead. -func (*PayerEnvelope) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{3} -} - -func (x *PayerEnvelope) GetUnsignedClientEnvelope() []byte { - if x != nil { - return x.UnsignedClientEnvelope - } - return nil -} - -func (x *PayerEnvelope) GetPayerSignature() *associations.RecoverableEcdsaSignature { - if x != nil { - return x.PayerSignature - } - return nil -} - -// For blockchain envelopes, the originator_sid is set by the smart contract, -// but the originator_ns is set by the publishing node -type UnsignedOriginatorEnvelope struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OriginatorNodeId uint32 `protobuf:"varint,1,opt,name=originator_node_id,json=originatorNodeId,proto3" json:"originator_node_id,omitempty"` - OriginatorSequenceId uint64 `protobuf:"varint,2,opt,name=originator_sequence_id,json=originatorSequenceId,proto3" json:"originator_sequence_id,omitempty"` - OriginatorNs int64 `protobuf:"varint,3,opt,name=originator_ns,json=originatorNs,proto3" json:"originator_ns,omitempty"` - PayerEnvelope *PayerEnvelope `protobuf:"bytes,4,opt,name=payer_envelope,json=payerEnvelope,proto3" json:"payer_envelope,omitempty"` -} - -func (x *UnsignedOriginatorEnvelope) Reset() { - *x = UnsignedOriginatorEnvelope{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *UnsignedOriginatorEnvelope) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnsignedOriginatorEnvelope) ProtoMessage() {} - -func (x *UnsignedOriginatorEnvelope) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[4] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UnsignedOriginatorEnvelope.ProtoReflect.Descriptor instead. -func (*UnsignedOriginatorEnvelope) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{4} -} - -func (x *UnsignedOriginatorEnvelope) GetOriginatorNodeId() uint32 { - if x != nil { - return x.OriginatorNodeId - } - return 0 -} - -func (x *UnsignedOriginatorEnvelope) GetOriginatorSequenceId() uint64 { - if x != nil { - return x.OriginatorSequenceId - } - return 0 -} - -func (x *UnsignedOriginatorEnvelope) GetOriginatorNs() int64 { - if x != nil { - return x.OriginatorNs - } - return 0 -} - -func (x *UnsignedOriginatorEnvelope) GetPayerEnvelope() *PayerEnvelope { - if x != nil { - return x.PayerEnvelope - } - return nil -} - -// An alternative to a signature for blockchain payloads -type BlockchainProof struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - BlockNumber uint64 `protobuf:"varint,1,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"` - PublisherNodeId uint32 `protobuf:"varint,2,opt,name=publisher_node_id,json=publisherNodeId,proto3" json:"publisher_node_id,omitempty"` -} - -func (x *BlockchainProof) Reset() { - *x = BlockchainProof{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *BlockchainProof) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BlockchainProof) ProtoMessage() {} - -func (x *BlockchainProof) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[5] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BlockchainProof.ProtoReflect.Descriptor instead. -func (*BlockchainProof) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{5} -} - -func (x *BlockchainProof) GetBlockNumber() uint64 { - if x != nil { - return x.BlockNumber - } - return 0 -} - -func (x *BlockchainProof) GetPublisherNodeId() uint32 { - if x != nil { - return x.PublisherNodeId - } - return 0 -} - -// Signed originator envelope -type OriginatorEnvelope struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UnsignedOriginatorEnvelope []byte `protobuf:"bytes,1,opt,name=unsigned_originator_envelope,json=unsignedOriginatorEnvelope,proto3" json:"unsigned_originator_envelope,omitempty"` // Protobuf serialized - // Types that are assignable to Proof: - // - // *OriginatorEnvelope_OriginatorSignature - // *OriginatorEnvelope_BlockchainProof - Proof isOriginatorEnvelope_Proof `protobuf_oneof:"proof"` -} - -func (x *OriginatorEnvelope) Reset() { - *x = OriginatorEnvelope{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *OriginatorEnvelope) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OriginatorEnvelope) ProtoMessage() {} - -func (x *OriginatorEnvelope) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[6] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OriginatorEnvelope.ProtoReflect.Descriptor instead. -func (*OriginatorEnvelope) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{6} -} - -func (x *OriginatorEnvelope) GetUnsignedOriginatorEnvelope() []byte { - if x != nil { - return x.UnsignedOriginatorEnvelope - } - return nil -} - -func (m *OriginatorEnvelope) GetProof() isOriginatorEnvelope_Proof { - if m != nil { - return m.Proof - } - return nil -} - -func (x *OriginatorEnvelope) GetOriginatorSignature() *associations.RecoverableEcdsaSignature { - if x, ok := x.GetProof().(*OriginatorEnvelope_OriginatorSignature); ok { - return x.OriginatorSignature - } - return nil -} - -func (x *OriginatorEnvelope) GetBlockchainProof() *BlockchainProof { - if x, ok := x.GetProof().(*OriginatorEnvelope_BlockchainProof); ok { - return x.BlockchainProof - } - return nil -} - -type isOriginatorEnvelope_Proof interface { - isOriginatorEnvelope_Proof() -} - -type OriginatorEnvelope_OriginatorSignature struct { - OriginatorSignature *associations.RecoverableEcdsaSignature `protobuf:"bytes,2,opt,name=originator_signature,json=originatorSignature,proto3,oneof"` -} - -type OriginatorEnvelope_BlockchainProof struct { - BlockchainProof *BlockchainProof `protobuf:"bytes,3,opt,name=blockchain_proof,json=blockchainProof,proto3,oneof"` -} - -func (*OriginatorEnvelope_OriginatorSignature) isOriginatorEnvelope_Proof() {} - -func (*OriginatorEnvelope_BlockchainProof) isOriginatorEnvelope_Proof() {} - -// Reports node misbehavior, submittable by nodes or by clients -type MisbehaviorReport struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Type Misbehavior `protobuf:"varint,1,opt,name=type,proto3,enum=xmtp.xmtpv4.Misbehavior" json:"type,omitempty"` - Envelopes []*OriginatorEnvelope `protobuf:"bytes,2,rep,name=envelopes,proto3" json:"envelopes,omitempty"` -} - -func (x *MisbehaviorReport) Reset() { - *x = MisbehaviorReport{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *MisbehaviorReport) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MisbehaviorReport) ProtoMessage() {} - -func (x *MisbehaviorReport) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[7] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MisbehaviorReport.ProtoReflect.Descriptor instead. -func (*MisbehaviorReport) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{7} -} - -func (x *MisbehaviorReport) GetType() Misbehavior { - if x != nil { - return x.Type - } - return Misbehavior_MISBEHAVIOR_UNSPECIFIED -} - -func (x *MisbehaviorReport) GetEnvelopes() []*OriginatorEnvelope { - if x != nil { - return x.Envelopes - } - return nil -} - // Query for envelopes, shared by query and subscribe endpoints +// Either topics or originator_node_ids may be set, but not both type EnvelopesQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Filter: - // - // *EnvelopesQuery_Topic - // *EnvelopesQuery_OriginatorNodeId - Filter isEnvelopesQuery_Filter `protobuf_oneof:"filter"` - LastSeen *VectorClock `protobuf:"bytes,3,opt,name=last_seen,json=lastSeen,proto3" json:"last_seen,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + // Client queries + Topics [][]byte `protobuf:"bytes,1,rep,name=topics,proto3" json:"topics,omitempty"` + // Node queries + OriginatorNodeIds []uint32 `protobuf:"varint,2,rep,packed,name=originator_node_ids,json=originatorNodeIds,proto3" json:"originator_node_ids,omitempty"` + LastSeen *envelopes.Cursor `protobuf:"bytes,3,opt,name=last_seen,json=lastSeen,proto3" json:"last_seen,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EnvelopesQuery) Reset() { *x = EnvelopesQuery{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[8] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -682,7 +51,7 @@ func (x *EnvelopesQuery) String() string { func (*EnvelopesQuery) ProtoMessage() {} func (x *EnvelopesQuery) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[8] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -695,79 +64,53 @@ func (x *EnvelopesQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use EnvelopesQuery.ProtoReflect.Descriptor instead. func (*EnvelopesQuery) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{8} + return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{0} } -func (m *EnvelopesQuery) GetFilter() isEnvelopesQuery_Filter { - if m != nil { - return m.Filter +func (x *EnvelopesQuery) GetTopics() [][]byte { + if x != nil { + return x.Topics } return nil } -func (x *EnvelopesQuery) GetTopic() []byte { - if x, ok := x.GetFilter().(*EnvelopesQuery_Topic); ok { - return x.Topic +func (x *EnvelopesQuery) GetOriginatorNodeIds() []uint32 { + if x != nil { + return x.OriginatorNodeIds } return nil } -func (x *EnvelopesQuery) GetOriginatorNodeId() uint32 { - if x, ok := x.GetFilter().(*EnvelopesQuery_OriginatorNodeId); ok { - return x.OriginatorNodeId - } - return 0 -} - -func (x *EnvelopesQuery) GetLastSeen() *VectorClock { +func (x *EnvelopesQuery) GetLastSeen() *envelopes.Cursor { if x != nil { return x.LastSeen } return nil } -type isEnvelopesQuery_Filter interface { - isEnvelopesQuery_Filter() -} - -type EnvelopesQuery_Topic struct { - // Client queries - Topic []byte `protobuf:"bytes,1,opt,name=topic,proto3,oneof"` -} - -type EnvelopesQuery_OriginatorNodeId struct { - // Node queries - OriginatorNodeId uint32 `protobuf:"varint,2,opt,name=originator_node_id,json=originatorNodeId,proto3,oneof"` -} - -func (*EnvelopesQuery_Topic) isEnvelopesQuery_Filter() {} - -func (*EnvelopesQuery_OriginatorNodeId) isEnvelopesQuery_Filter() {} - // Batch subscribe to envelopes -type BatchSubscribeEnvelopesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type SubscribeEnvelopesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Query *EnvelopesQuery `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` unknownFields protoimpl.UnknownFields - - Requests []*BatchSubscribeEnvelopesRequest_SubscribeEnvelopesRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *BatchSubscribeEnvelopesRequest) Reset() { - *x = BatchSubscribeEnvelopesRequest{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[9] +func (x *SubscribeEnvelopesRequest) Reset() { + *x = SubscribeEnvelopesRequest{} + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *BatchSubscribeEnvelopesRequest) String() string { +func (x *SubscribeEnvelopesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BatchSubscribeEnvelopesRequest) ProtoMessage() {} +func (*SubscribeEnvelopesRequest) ProtoMessage() {} -func (x *BatchSubscribeEnvelopesRequest) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[9] +func (x *SubscribeEnvelopesRequest) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -778,42 +121,41 @@ func (x *BatchSubscribeEnvelopesRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatchSubscribeEnvelopesRequest.ProtoReflect.Descriptor instead. -func (*BatchSubscribeEnvelopesRequest) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{9} +// Deprecated: Use SubscribeEnvelopesRequest.ProtoReflect.Descriptor instead. +func (*SubscribeEnvelopesRequest) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{1} } -func (x *BatchSubscribeEnvelopesRequest) GetRequests() []*BatchSubscribeEnvelopesRequest_SubscribeEnvelopesRequest { +func (x *SubscribeEnvelopesRequest) GetQuery() *EnvelopesQuery { if x != nil { - return x.Requests + return x.Query } return nil } // Streamed response for batch subscribe - can be multiple envelopes at once -type BatchSubscribeEnvelopesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type SubscribeEnvelopesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Envelopes []*envelopes.OriginatorEnvelope `protobuf:"bytes,1,rep,name=envelopes,proto3" json:"envelopes,omitempty"` unknownFields protoimpl.UnknownFields - - Envelopes []*OriginatorEnvelope `protobuf:"bytes,1,rep,name=envelopes,proto3" json:"envelopes,omitempty"` + sizeCache protoimpl.SizeCache } -func (x *BatchSubscribeEnvelopesResponse) Reset() { - *x = BatchSubscribeEnvelopesResponse{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[10] +func (x *SubscribeEnvelopesResponse) Reset() { + *x = SubscribeEnvelopesResponse{} + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *BatchSubscribeEnvelopesResponse) String() string { +func (x *SubscribeEnvelopesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BatchSubscribeEnvelopesResponse) ProtoMessage() {} +func (*SubscribeEnvelopesResponse) ProtoMessage() {} -func (x *BatchSubscribeEnvelopesResponse) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[10] +func (x *SubscribeEnvelopesResponse) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -824,12 +166,12 @@ func (x *BatchSubscribeEnvelopesResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatchSubscribeEnvelopesResponse.ProtoReflect.Descriptor instead. -func (*BatchSubscribeEnvelopesResponse) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{10} +// Deprecated: Use SubscribeEnvelopesResponse.ProtoReflect.Descriptor instead. +func (*SubscribeEnvelopesResponse) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{2} } -func (x *BatchSubscribeEnvelopesResponse) GetEnvelopes() []*OriginatorEnvelope { +func (x *SubscribeEnvelopesResponse) GetEnvelopes() []*envelopes.OriginatorEnvelope { if x != nil { return x.Envelopes } @@ -838,17 +180,16 @@ func (x *BatchSubscribeEnvelopesResponse) GetEnvelopes() []*OriginatorEnvelope { // Query envelopes request type QueryEnvelopesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Query *EnvelopesQuery `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + Limit uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` unknownFields protoimpl.UnknownFields - - Query *EnvelopesQuery `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` - Limit uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryEnvelopesRequest) Reset() { *x = QueryEnvelopesRequest{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[11] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -860,7 +201,7 @@ func (x *QueryEnvelopesRequest) String() string { func (*QueryEnvelopesRequest) ProtoMessage() {} func (x *QueryEnvelopesRequest) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[11] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -873,7 +214,7 @@ func (x *QueryEnvelopesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryEnvelopesRequest.ProtoReflect.Descriptor instead. func (*QueryEnvelopesRequest) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{11} + return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{3} } func (x *QueryEnvelopesRequest) GetQuery() *EnvelopesQuery { @@ -892,16 +233,15 @@ func (x *QueryEnvelopesRequest) GetLimit() uint32 { // Query envelopes response type QueryEnvelopesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Envelopes []*envelopes.OriginatorEnvelope `protobuf:"bytes,1,rep,name=envelopes,proto3" json:"envelopes,omitempty"` unknownFields protoimpl.UnknownFields - - Envelopes []*OriginatorEnvelope `protobuf:"bytes,1,rep,name=envelopes,proto3" json:"envelopes,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryEnvelopesResponse) Reset() { *x = QueryEnvelopesResponse{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[12] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -913,7 +253,7 @@ func (x *QueryEnvelopesResponse) String() string { func (*QueryEnvelopesResponse) ProtoMessage() {} func (x *QueryEnvelopesResponse) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[12] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -926,39 +266,38 @@ func (x *QueryEnvelopesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryEnvelopesResponse.ProtoReflect.Descriptor instead. func (*QueryEnvelopesResponse) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{12} + return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{4} } -func (x *QueryEnvelopesResponse) GetEnvelopes() []*OriginatorEnvelope { +func (x *QueryEnvelopesResponse) GetEnvelopes() []*envelopes.OriginatorEnvelope { if x != nil { return x.Envelopes } return nil } -type PublishEnvelopeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PayerEnvelope *PayerEnvelope `protobuf:"bytes,1,opt,name=payer_envelope,json=payerEnvelope,proto3" json:"payer_envelope,omitempty"` +type PublishPayerEnvelopesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PayerEnvelopes []*envelopes.PayerEnvelope `protobuf:"bytes,1,rep,name=payer_envelopes,json=payerEnvelopes,proto3" json:"payer_envelopes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *PublishEnvelopeRequest) Reset() { - *x = PublishEnvelopeRequest{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[13] +func (x *PublishPayerEnvelopesRequest) Reset() { + *x = PublishPayerEnvelopesRequest{} + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *PublishEnvelopeRequest) String() string { +func (x *PublishPayerEnvelopesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PublishEnvelopeRequest) ProtoMessage() {} +func (*PublishPayerEnvelopesRequest) ProtoMessage() {} -func (x *PublishEnvelopeRequest) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[13] +func (x *PublishPayerEnvelopesRequest) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -969,41 +308,40 @@ func (x *PublishEnvelopeRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PublishEnvelopeRequest.ProtoReflect.Descriptor instead. -func (*PublishEnvelopeRequest) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{13} +// Deprecated: Use PublishPayerEnvelopesRequest.ProtoReflect.Descriptor instead. +func (*PublishPayerEnvelopesRequest) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{5} } -func (x *PublishEnvelopeRequest) GetPayerEnvelope() *PayerEnvelope { +func (x *PublishPayerEnvelopesRequest) GetPayerEnvelopes() []*envelopes.PayerEnvelope { if x != nil { - return x.PayerEnvelope + return x.PayerEnvelopes } return nil } -type PublishEnvelopeResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OriginatorEnvelope *OriginatorEnvelope `protobuf:"bytes,1,opt,name=originator_envelope,json=originatorEnvelope,proto3" json:"originator_envelope,omitempty"` +type PublishPayerEnvelopesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + OriginatorEnvelopes []*envelopes.OriginatorEnvelope `protobuf:"bytes,1,rep,name=originator_envelopes,json=originatorEnvelopes,proto3" json:"originator_envelopes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *PublishEnvelopeResponse) Reset() { - *x = PublishEnvelopeResponse{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[14] +func (x *PublishPayerEnvelopesResponse) Reset() { + *x = PublishPayerEnvelopesResponse{} + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *PublishEnvelopeResponse) String() string { +func (x *PublishPayerEnvelopesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PublishEnvelopeResponse) ProtoMessage() {} +func (*PublishPayerEnvelopesResponse) ProtoMessage() {} -func (x *PublishEnvelopeResponse) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[14] +func (x *PublishPayerEnvelopesResponse) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1014,30 +352,29 @@ func (x *PublishEnvelopeResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PublishEnvelopeResponse.ProtoReflect.Descriptor instead. -func (*PublishEnvelopeResponse) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{14} +// Deprecated: Use PublishPayerEnvelopesResponse.ProtoReflect.Descriptor instead. +func (*PublishPayerEnvelopesResponse) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{6} } -func (x *PublishEnvelopeResponse) GetOriginatorEnvelope() *OriginatorEnvelope { +func (x *PublishPayerEnvelopesResponse) GetOriginatorEnvelopes() []*envelopes.OriginatorEnvelope { if x != nil { - return x.OriginatorEnvelope + return x.OriginatorEnvelopes } return nil } // Request to retrieve the XIDs for the given addresses type GetInboxIdsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Requests []*GetInboxIdsRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` unknownFields protoimpl.UnknownFields - - Requests []*GetInboxIdsRequest_Request `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetInboxIdsRequest) Reset() { *x = GetInboxIdsRequest{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[15] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1049,7 +386,7 @@ func (x *GetInboxIdsRequest) String() string { func (*GetInboxIdsRequest) ProtoMessage() {} func (x *GetInboxIdsRequest) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[15] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1062,7 +399,7 @@ func (x *GetInboxIdsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInboxIdsRequest.ProtoReflect.Descriptor instead. func (*GetInboxIdsRequest) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{15} + return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{7} } func (x *GetInboxIdsRequest) GetRequests() []*GetInboxIdsRequest_Request { @@ -1074,16 +411,15 @@ func (x *GetInboxIdsRequest) GetRequests() []*GetInboxIdsRequest_Request { // Response with the XIDs for the requested addresses type GetInboxIdsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*GetInboxIdsResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` unknownFields protoimpl.UnknownFields - - Responses []*GetInboxIdsResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetInboxIdsResponse) Reset() { *x = GetInboxIdsResponse{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[16] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1095,7 +431,7 @@ func (x *GetInboxIdsResponse) String() string { func (*GetInboxIdsResponse) ProtoMessage() {} func (x *GetInboxIdsResponse) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[16] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1108,7 +444,7 @@ func (x *GetInboxIdsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInboxIdsResponse.ProtoReflect.Descriptor instead. func (*GetInboxIdsResponse) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{16} + return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{8} } func (x *GetInboxIdsResponse) GetResponses() []*GetInboxIdsResponse_Response { @@ -1118,64 +454,17 @@ func (x *GetInboxIdsResponse) GetResponses() []*GetInboxIdsResponse_Response { return nil } -// Single subscription request for envelopes -type BatchSubscribeEnvelopesRequest_SubscribeEnvelopesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Query *EnvelopesQuery `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` -} - -func (x *BatchSubscribeEnvelopesRequest_SubscribeEnvelopesRequest) Reset() { - *x = BatchSubscribeEnvelopesRequest_SubscribeEnvelopesRequest{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *BatchSubscribeEnvelopesRequest_SubscribeEnvelopesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchSubscribeEnvelopesRequest_SubscribeEnvelopesRequest) ProtoMessage() {} - -func (x *BatchSubscribeEnvelopesRequest_SubscribeEnvelopesRequest) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[18] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BatchSubscribeEnvelopesRequest_SubscribeEnvelopesRequest.ProtoReflect.Descriptor instead. -func (*BatchSubscribeEnvelopesRequest_SubscribeEnvelopesRequest) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{9, 0} -} - -func (x *BatchSubscribeEnvelopesRequest_SubscribeEnvelopesRequest) GetQuery() *EnvelopesQuery { - if x != nil { - return x.Query - } - return nil -} - // A single request for a given address type GetInboxIdsRequest_Request struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` unknownFields protoimpl.UnknownFields - - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetInboxIdsRequest_Request) Reset() { *x = GetInboxIdsRequest_Request{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[19] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1187,7 +476,7 @@ func (x *GetInboxIdsRequest_Request) String() string { func (*GetInboxIdsRequest_Request) ProtoMessage() {} func (x *GetInboxIdsRequest_Request) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[19] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1200,7 +489,7 @@ func (x *GetInboxIdsRequest_Request) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInboxIdsRequest_Request.ProtoReflect.Descriptor instead. func (*GetInboxIdsRequest_Request) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{15, 0} + return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{7, 0} } func (x *GetInboxIdsRequest_Request) GetAddress() string { @@ -1212,17 +501,16 @@ func (x *GetInboxIdsRequest_Request) GetAddress() string { // A single response for a given address type GetInboxIdsResponse_Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + InboxId *string `protobuf:"bytes,2,opt,name=inbox_id,json=inboxId,proto3,oneof" json:"inbox_id,omitempty"` unknownFields protoimpl.UnknownFields - - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - InboxId *string `protobuf:"bytes,2,opt,name=inbox_id,json=inboxId,proto3,oneof" json:"inbox_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetInboxIdsResponse_Response) Reset() { *x = GetInboxIdsResponse_Response{} - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[20] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1234,7 +522,7 @@ func (x *GetInboxIdsResponse_Response) String() string { func (*GetInboxIdsResponse_Response) ProtoMessage() {} func (x *GetInboxIdsResponse_Response) ProtoReflect() protoreflect.Message { - mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[20] + mi := &file_xmtpv4_message_api_message_api_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1247,7 +535,7 @@ func (x *GetInboxIdsResponse_Response) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInboxIdsResponse_Response.ProtoReflect.Descriptor instead. func (*GetInboxIdsResponse_Response) Descriptor() ([]byte, []int) { - return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{16, 0} + return file_xmtpv4_message_api_message_api_proto_rawDescGZIP(), []int{8, 0} } func (x *GetInboxIdsResponse_Response) GetAddress() string { @@ -1269,265 +557,139 @@ var File_xmtpv4_message_api_message_api_proto protoreflect.FileDescriptor var file_xmtpv4_message_api_message_api_proto_rawDesc = []byte{ 0x0a, 0x24, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x76, 0x34, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x27, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x14, 0x6d, 0x6c, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6c, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x01, 0x0a, 0x0b, 0x56, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x64, 0x0a, 0x16, 0x6e, 0x6f, 0x64, 0x65, 0x5f, - 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x6f, 0x63, - 0x6b, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x54, 0x6f, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x49, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6e, 0x6f, 0x64, 0x65, 0x49, - 0x64, 0x54, 0x6f, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x1a, 0x45, 0x0a, - 0x17, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x54, 0x6f, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x49, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9a, 0x01, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x35, 0x0a, 0x09, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x56, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, - 0x6e, 0x22, 0xde, 0x04, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x65, - 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, - 0x00, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x4f, 0x0a, 0x0f, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x6c, 0x63, 0x6f, - 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, - 0x52, 0x0e, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x63, 0x0a, 0x15, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x14, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x12, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, - 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x75, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, - 0x5d, 0x0a, 0x13, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x6d, 0x6c, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x72, 0x65, 0x76, 0x6f, - 0x6b, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, - 0x0a, 0x0f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x03, 0x61, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, - 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x03, 0x61, 0x61, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, - 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x5e, - 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, - 0x45, 0x63, 0x64, 0x73, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, - 0x70, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xe8, - 0x01, 0x0a, 0x1a, 0x55, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x2c, 0x0a, - 0x12, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x6f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, - 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x73, 0x12, 0x41, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, - 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x50, 0x61, 0x79, - 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x65, - 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x22, 0x60, 0x0a, 0x0f, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x21, 0x0a, 0x0c, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x2a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x96, 0x02, 0x0a, 0x12, - 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, - 0x70, 0x65, 0x12, 0x40, 0x0a, 0x1c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1a, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, - 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x6a, 0x0a, 0x14, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x6f, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x63, 0x64, 0x73, 0x61, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x13, 0x6f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x12, 0x49, 0x0a, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x70, - 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x42, 0x07, 0x0a, 0x05, 0x70, - 0x72, 0x6f, 0x6f, 0x66, 0x22, 0x80, 0x01, 0x0a, 0x11, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x65, 0x6e, 0x76, 0x65, - 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x09, 0x65, 0x6e, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x76, 0x65, - 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, - 0x52, 0x10, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x6f, 0x64, 0x65, - 0x49, 0x64, 0x12, 0x35, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x76, 0x34, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x52, - 0x08, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x22, 0xd3, 0x01, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x61, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, - 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x4e, 0x0a, 0x19, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x76, 0x34, 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x60, 0x0a, 0x1f, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, - 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x09, - 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x4f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, - 0x52, 0x09, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x60, 0x0a, 0x15, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, - 0x34, 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x57, 0x0a, - 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x65, 0x6e, 0x76, 0x65, 0x6c, - 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x6d, 0x74, - 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x76, - 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x5b, 0x0a, 0x16, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x41, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x50, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, - 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, - 0x6f, 0x70, 0x65, 0x22, 0x6b, 0x0a, 0x17, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x6e, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, - 0x0a, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x76, - 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x12, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, - 0x22, 0x7e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, - 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, - 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x23, 0x0a, 0x07, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x22, 0xb1, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, - 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x73, 0x1a, 0x51, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, 0x78, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x62, - 0x6f, 0x78, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x62, 0x6f, - 0x78, 0x5f, 0x69, 0x64, 0x2a, 0xce, 0x01, 0x0a, 0x0b, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, - 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, - 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x44, - 0x45, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, - 0x4f, 0x52, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, - 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x53, 0x49, 0x44, 0x10, 0x02, - 0x12, 0x28, 0x0a, 0x24, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, - 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, - 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x53, 0x49, 0x44, 0x10, 0x03, 0x12, 0x29, 0x0a, 0x25, 0x4d, 0x49, - 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x43, 0x59, 0x43, 0x4c, 0x49, 0x43, - 0x41, 0x4c, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, - 0x49, 0x4e, 0x47, 0x10, 0x04, 0x32, 0xa8, 0x04, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x70, 0x69, 0x12, 0x9e, 0x01, 0x0a, 0x17, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, - 0x6f, 0x70, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, - 0x76, 0x34, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2c, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x6e, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x6d, 0x6c, 0x73, - 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2d, 0x65, 0x6e, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x30, 0x01, 0x12, 0x7d, 0x0a, 0x0e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, - 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x23, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, - 0x17, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2d, 0x65, - 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x0f, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x23, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x24, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, - 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x2d, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x72, 0x0a, 0x0b, - 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, - 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x78, - 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, - 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, - 0x76, 0x32, 0x2f, 0x67, 0x65, 0x74, 0x2d, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x2d, 0x69, 0x64, 0x73, - 0x42, 0xaa, 0x01, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, - 0x74, 0x70, 0x76, 0x34, 0x42, 0x0f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2d, 0x6e, 0x6f, - 0x64, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, - 0x70, 0x69, 0xa2, 0x02, 0x03, 0x58, 0x58, 0x58, 0xaa, 0x02, 0x0b, 0x58, 0x6d, 0x74, 0x70, 0x2e, - 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0xca, 0x02, 0x0b, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x58, 0x6d, - 0x74, 0x70, 0x76, 0x34, 0xe2, 0x02, 0x17, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x58, 0x6d, 0x74, 0x70, - 0x76, 0x34, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x0c, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, + 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x1a, + 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x78, + 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2f, + 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x94, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0c, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x6f, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x08, 0x6c, 0x61, + 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x22, 0x5a, 0x0a, 0x19, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, + 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x76, + 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x22, 0x65, 0x0a, 0x1a, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, + 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x47, 0x0a, 0x09, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, + 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x09, + 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x6c, 0x0a, 0x15, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x61, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x47, 0x0a, 0x09, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, + 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, + 0x09, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x1c, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, + 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0f, 0x70, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, + 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x65, + 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x65, 0x72, + 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x7d, 0x0a, 0x1d, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x14, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, + 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, + 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4f, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x49, + 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x1a, 0x23, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, + 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, + 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x35, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, + 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x73, 0x1a, 0x51, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x69, 0x6e, 0x62, 0x6f, + 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, + 0x62, 0x6f, 0x78, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x62, + 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x32, 0x94, 0x05, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x70, 0x69, 0x12, 0xa7, 0x01, 0x0a, 0x12, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x12, + 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, + 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, + 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2d, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, + 0x30, 0x01, 0x12, 0x95, 0x01, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, + 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, + 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, + 0x2a, 0x22, 0x17, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2d, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x12, 0xb2, 0x01, 0x0a, 0x15, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, + 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x78, 0x6d, + 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, + 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, + 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x2d, + 0x70, 0x61, 0x79, 0x65, 0x72, 0x2d, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x12, + 0x8a, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x73, 0x12, + 0x2b, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, + 0x6f, 0x78, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x78, + 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x62, 0x6f, 0x78, 0x49, + 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x67, + 0x65, 0x74, 0x2d, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x2d, 0x69, 0x64, 0x73, 0x42, 0xe3, 0x01, 0x0a, + 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, + 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x42, 0x0f, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, + 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0xa2, 0x02, 0x03, 0x58, 0x58, 0x4d, + 0xaa, 0x02, 0x16, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0xca, 0x02, 0x16, 0x58, 0x6d, 0x74, 0x70, + 0x5c, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, + 0x70, 0x69, 0xe2, 0x02, 0x22, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, + 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, + 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, + 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1542,78 +704,46 @@ func file_xmtpv4_message_api_message_api_proto_rawDescGZIP() []byte { return file_xmtpv4_message_api_message_api_proto_rawDescData } -var file_xmtpv4_message_api_message_api_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_xmtpv4_message_api_message_api_proto_msgTypes = make([]protoimpl.MessageInfo, 21) +var file_xmtpv4_message_api_message_api_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_xmtpv4_message_api_message_api_proto_goTypes = []any{ - (Misbehavior)(0), // 0: xmtp.xmtpv4.Misbehavior - (*VectorClock)(nil), // 1: xmtp.xmtpv4.VectorClock - (*AuthenticatedData)(nil), // 2: xmtp.xmtpv4.AuthenticatedData - (*ClientEnvelope)(nil), // 3: xmtp.xmtpv4.ClientEnvelope - (*PayerEnvelope)(nil), // 4: xmtp.xmtpv4.PayerEnvelope - (*UnsignedOriginatorEnvelope)(nil), // 5: xmtp.xmtpv4.UnsignedOriginatorEnvelope - (*BlockchainProof)(nil), // 6: xmtp.xmtpv4.BlockchainProof - (*OriginatorEnvelope)(nil), // 7: xmtp.xmtpv4.OriginatorEnvelope - (*MisbehaviorReport)(nil), // 8: xmtp.xmtpv4.MisbehaviorReport - (*EnvelopesQuery)(nil), // 9: xmtp.xmtpv4.EnvelopesQuery - (*BatchSubscribeEnvelopesRequest)(nil), // 10: xmtp.xmtpv4.BatchSubscribeEnvelopesRequest - (*BatchSubscribeEnvelopesResponse)(nil), // 11: xmtp.xmtpv4.BatchSubscribeEnvelopesResponse - (*QueryEnvelopesRequest)(nil), // 12: xmtp.xmtpv4.QueryEnvelopesRequest - (*QueryEnvelopesResponse)(nil), // 13: xmtp.xmtpv4.QueryEnvelopesResponse - (*PublishEnvelopeRequest)(nil), // 14: xmtp.xmtpv4.PublishEnvelopeRequest - (*PublishEnvelopeResponse)(nil), // 15: xmtp.xmtpv4.PublishEnvelopeResponse - (*GetInboxIdsRequest)(nil), // 16: xmtp.xmtpv4.GetInboxIdsRequest - (*GetInboxIdsResponse)(nil), // 17: xmtp.xmtpv4.GetInboxIdsResponse - nil, // 18: xmtp.xmtpv4.VectorClock.NodeIdToSequenceIdEntry - (*BatchSubscribeEnvelopesRequest_SubscribeEnvelopesRequest)(nil), // 19: xmtp.xmtpv4.BatchSubscribeEnvelopesRequest.SubscribeEnvelopesRequest - (*GetInboxIdsRequest_Request)(nil), // 20: xmtp.xmtpv4.GetInboxIdsRequest.Request - (*GetInboxIdsResponse_Response)(nil), // 21: xmtp.xmtpv4.GetInboxIdsResponse.Response - (*v1.GroupMessageInput)(nil), // 22: xmtp.mls.api.v1.GroupMessageInput - (*v1.WelcomeMessageInput)(nil), // 23: xmtp.mls.api.v1.WelcomeMessageInput - (*v1.RegisterInstallationRequest)(nil), // 24: xmtp.mls.api.v1.RegisterInstallationRequest - (*v1.UploadKeyPackageRequest)(nil), // 25: xmtp.mls.api.v1.UploadKeyPackageRequest - (*v1.RevokeInstallationRequest)(nil), // 26: xmtp.mls.api.v1.RevokeInstallationRequest - (*associations.IdentityUpdate)(nil), // 27: xmtp.identity.associations.IdentityUpdate - (*associations.RecoverableEcdsaSignature)(nil), // 28: xmtp.identity.associations.RecoverableEcdsaSignature + (*EnvelopesQuery)(nil), // 0: xmtp.xmtpv4.message_api.EnvelopesQuery + (*SubscribeEnvelopesRequest)(nil), // 1: xmtp.xmtpv4.message_api.SubscribeEnvelopesRequest + (*SubscribeEnvelopesResponse)(nil), // 2: xmtp.xmtpv4.message_api.SubscribeEnvelopesResponse + (*QueryEnvelopesRequest)(nil), // 3: xmtp.xmtpv4.message_api.QueryEnvelopesRequest + (*QueryEnvelopesResponse)(nil), // 4: xmtp.xmtpv4.message_api.QueryEnvelopesResponse + (*PublishPayerEnvelopesRequest)(nil), // 5: xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequest + (*PublishPayerEnvelopesResponse)(nil), // 6: xmtp.xmtpv4.message_api.PublishPayerEnvelopesResponse + (*GetInboxIdsRequest)(nil), // 7: xmtp.xmtpv4.message_api.GetInboxIdsRequest + (*GetInboxIdsResponse)(nil), // 8: xmtp.xmtpv4.message_api.GetInboxIdsResponse + (*GetInboxIdsRequest_Request)(nil), // 9: xmtp.xmtpv4.message_api.GetInboxIdsRequest.Request + (*GetInboxIdsResponse_Response)(nil), // 10: xmtp.xmtpv4.message_api.GetInboxIdsResponse.Response + (*envelopes.Cursor)(nil), // 11: xmtp.xmtpv4.envelopes.Cursor + (*envelopes.OriginatorEnvelope)(nil), // 12: xmtp.xmtpv4.envelopes.OriginatorEnvelope + (*envelopes.PayerEnvelope)(nil), // 13: xmtp.xmtpv4.envelopes.PayerEnvelope } var file_xmtpv4_message_api_message_api_proto_depIdxs = []int32{ - 18, // 0: xmtp.xmtpv4.VectorClock.node_id_to_sequence_id:type_name -> xmtp.xmtpv4.VectorClock.NodeIdToSequenceIdEntry - 1, // 1: xmtp.xmtpv4.AuthenticatedData.last_seen:type_name -> xmtp.xmtpv4.VectorClock - 22, // 2: xmtp.xmtpv4.ClientEnvelope.group_message:type_name -> xmtp.mls.api.v1.GroupMessageInput - 23, // 3: xmtp.xmtpv4.ClientEnvelope.welcome_message:type_name -> xmtp.mls.api.v1.WelcomeMessageInput - 24, // 4: xmtp.xmtpv4.ClientEnvelope.register_installation:type_name -> xmtp.mls.api.v1.RegisterInstallationRequest - 25, // 5: xmtp.xmtpv4.ClientEnvelope.upload_key_package:type_name -> xmtp.mls.api.v1.UploadKeyPackageRequest - 26, // 6: xmtp.xmtpv4.ClientEnvelope.revoke_installation:type_name -> xmtp.mls.api.v1.RevokeInstallationRequest - 27, // 7: xmtp.xmtpv4.ClientEnvelope.identity_update:type_name -> xmtp.identity.associations.IdentityUpdate - 2, // 8: xmtp.xmtpv4.ClientEnvelope.aad:type_name -> xmtp.xmtpv4.AuthenticatedData - 28, // 9: xmtp.xmtpv4.PayerEnvelope.payer_signature:type_name -> xmtp.identity.associations.RecoverableEcdsaSignature - 4, // 10: xmtp.xmtpv4.UnsignedOriginatorEnvelope.payer_envelope:type_name -> xmtp.xmtpv4.PayerEnvelope - 28, // 11: xmtp.xmtpv4.OriginatorEnvelope.originator_signature:type_name -> xmtp.identity.associations.RecoverableEcdsaSignature - 6, // 12: xmtp.xmtpv4.OriginatorEnvelope.blockchain_proof:type_name -> xmtp.xmtpv4.BlockchainProof - 0, // 13: xmtp.xmtpv4.MisbehaviorReport.type:type_name -> xmtp.xmtpv4.Misbehavior - 7, // 14: xmtp.xmtpv4.MisbehaviorReport.envelopes:type_name -> xmtp.xmtpv4.OriginatorEnvelope - 1, // 15: xmtp.xmtpv4.EnvelopesQuery.last_seen:type_name -> xmtp.xmtpv4.VectorClock - 19, // 16: xmtp.xmtpv4.BatchSubscribeEnvelopesRequest.requests:type_name -> xmtp.xmtpv4.BatchSubscribeEnvelopesRequest.SubscribeEnvelopesRequest - 7, // 17: xmtp.xmtpv4.BatchSubscribeEnvelopesResponse.envelopes:type_name -> xmtp.xmtpv4.OriginatorEnvelope - 9, // 18: xmtp.xmtpv4.QueryEnvelopesRequest.query:type_name -> xmtp.xmtpv4.EnvelopesQuery - 7, // 19: xmtp.xmtpv4.QueryEnvelopesResponse.envelopes:type_name -> xmtp.xmtpv4.OriginatorEnvelope - 4, // 20: xmtp.xmtpv4.PublishEnvelopeRequest.payer_envelope:type_name -> xmtp.xmtpv4.PayerEnvelope - 7, // 21: xmtp.xmtpv4.PublishEnvelopeResponse.originator_envelope:type_name -> xmtp.xmtpv4.OriginatorEnvelope - 20, // 22: xmtp.xmtpv4.GetInboxIdsRequest.requests:type_name -> xmtp.xmtpv4.GetInboxIdsRequest.Request - 21, // 23: xmtp.xmtpv4.GetInboxIdsResponse.responses:type_name -> xmtp.xmtpv4.GetInboxIdsResponse.Response - 9, // 24: xmtp.xmtpv4.BatchSubscribeEnvelopesRequest.SubscribeEnvelopesRequest.query:type_name -> xmtp.xmtpv4.EnvelopesQuery - 10, // 25: xmtp.xmtpv4.ReplicationApi.BatchSubscribeEnvelopes:input_type -> xmtp.xmtpv4.BatchSubscribeEnvelopesRequest - 12, // 26: xmtp.xmtpv4.ReplicationApi.QueryEnvelopes:input_type -> xmtp.xmtpv4.QueryEnvelopesRequest - 14, // 27: xmtp.xmtpv4.ReplicationApi.PublishEnvelope:input_type -> xmtp.xmtpv4.PublishEnvelopeRequest - 16, // 28: xmtp.xmtpv4.ReplicationApi.GetInboxIds:input_type -> xmtp.xmtpv4.GetInboxIdsRequest - 11, // 29: xmtp.xmtpv4.ReplicationApi.BatchSubscribeEnvelopes:output_type -> xmtp.xmtpv4.BatchSubscribeEnvelopesResponse - 13, // 30: xmtp.xmtpv4.ReplicationApi.QueryEnvelopes:output_type -> xmtp.xmtpv4.QueryEnvelopesResponse - 15, // 31: xmtp.xmtpv4.ReplicationApi.PublishEnvelope:output_type -> xmtp.xmtpv4.PublishEnvelopeResponse - 17, // 32: xmtp.xmtpv4.ReplicationApi.GetInboxIds:output_type -> xmtp.xmtpv4.GetInboxIdsResponse - 29, // [29:33] is the sub-list for method output_type - 25, // [25:29] is the sub-list for method input_type - 25, // [25:25] is the sub-list for extension type_name - 25, // [25:25] is the sub-list for extension extendee - 0, // [0:25] is the sub-list for field type_name + 11, // 0: xmtp.xmtpv4.message_api.EnvelopesQuery.last_seen:type_name -> xmtp.xmtpv4.envelopes.Cursor + 0, // 1: xmtp.xmtpv4.message_api.SubscribeEnvelopesRequest.query:type_name -> xmtp.xmtpv4.message_api.EnvelopesQuery + 12, // 2: xmtp.xmtpv4.message_api.SubscribeEnvelopesResponse.envelopes:type_name -> xmtp.xmtpv4.envelopes.OriginatorEnvelope + 0, // 3: xmtp.xmtpv4.message_api.QueryEnvelopesRequest.query:type_name -> xmtp.xmtpv4.message_api.EnvelopesQuery + 12, // 4: xmtp.xmtpv4.message_api.QueryEnvelopesResponse.envelopes:type_name -> xmtp.xmtpv4.envelopes.OriginatorEnvelope + 13, // 5: xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequest.payer_envelopes:type_name -> xmtp.xmtpv4.envelopes.PayerEnvelope + 12, // 6: xmtp.xmtpv4.message_api.PublishPayerEnvelopesResponse.originator_envelopes:type_name -> xmtp.xmtpv4.envelopes.OriginatorEnvelope + 9, // 7: xmtp.xmtpv4.message_api.GetInboxIdsRequest.requests:type_name -> xmtp.xmtpv4.message_api.GetInboxIdsRequest.Request + 10, // 8: xmtp.xmtpv4.message_api.GetInboxIdsResponse.responses:type_name -> xmtp.xmtpv4.message_api.GetInboxIdsResponse.Response + 1, // 9: xmtp.xmtpv4.message_api.ReplicationApi.SubscribeEnvelopes:input_type -> xmtp.xmtpv4.message_api.SubscribeEnvelopesRequest + 3, // 10: xmtp.xmtpv4.message_api.ReplicationApi.QueryEnvelopes:input_type -> xmtp.xmtpv4.message_api.QueryEnvelopesRequest + 5, // 11: xmtp.xmtpv4.message_api.ReplicationApi.PublishPayerEnvelopes:input_type -> xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequest + 7, // 12: xmtp.xmtpv4.message_api.ReplicationApi.GetInboxIds:input_type -> xmtp.xmtpv4.message_api.GetInboxIdsRequest + 2, // 13: xmtp.xmtpv4.message_api.ReplicationApi.SubscribeEnvelopes:output_type -> xmtp.xmtpv4.message_api.SubscribeEnvelopesResponse + 4, // 14: xmtp.xmtpv4.message_api.ReplicationApi.QueryEnvelopes:output_type -> xmtp.xmtpv4.message_api.QueryEnvelopesResponse + 6, // 15: xmtp.xmtpv4.message_api.ReplicationApi.PublishPayerEnvelopes:output_type -> xmtp.xmtpv4.message_api.PublishPayerEnvelopesResponse + 8, // 16: xmtp.xmtpv4.message_api.ReplicationApi.GetInboxIds:output_type -> xmtp.xmtpv4.message_api.GetInboxIdsResponse + 13, // [13:17] is the sub-list for method output_type + 9, // [9:13] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name } func init() { file_xmtpv4_message_api_message_api_proto_init() } @@ -1621,36 +751,19 @@ func file_xmtpv4_message_api_message_api_proto_init() { if File_xmtpv4_message_api_message_api_proto != nil { return } - file_xmtpv4_message_api_message_api_proto_msgTypes[2].OneofWrappers = []any{ - (*ClientEnvelope_GroupMessage)(nil), - (*ClientEnvelope_WelcomeMessage)(nil), - (*ClientEnvelope_RegisterInstallation)(nil), - (*ClientEnvelope_UploadKeyPackage)(nil), - (*ClientEnvelope_RevokeInstallation)(nil), - (*ClientEnvelope_IdentityUpdate)(nil), - } - file_xmtpv4_message_api_message_api_proto_msgTypes[6].OneofWrappers = []any{ - (*OriginatorEnvelope_OriginatorSignature)(nil), - (*OriginatorEnvelope_BlockchainProof)(nil), - } - file_xmtpv4_message_api_message_api_proto_msgTypes[8].OneofWrappers = []any{ - (*EnvelopesQuery_Topic)(nil), - (*EnvelopesQuery_OriginatorNodeId)(nil), - } - file_xmtpv4_message_api_message_api_proto_msgTypes[20].OneofWrappers = []any{} + file_xmtpv4_message_api_message_api_proto_msgTypes[10].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_xmtpv4_message_api_message_api_proto_rawDesc, - NumEnums: 1, - NumMessages: 21, + NumEnums: 0, + NumMessages: 11, NumExtensions: 0, NumServices: 1, }, GoTypes: file_xmtpv4_message_api_message_api_proto_goTypes, DependencyIndexes: file_xmtpv4_message_api_message_api_proto_depIdxs, - EnumInfos: file_xmtpv4_message_api_message_api_proto_enumTypes, MessageInfos: file_xmtpv4_message_api_message_api_proto_msgTypes, }.Build() File_xmtpv4_message_api_message_api_proto = out.File diff --git a/pkg/proto/xmtpv4/message_api/message_api.pb.gw.go b/pkg/proto/xmtpv4/message_api/message_api.pb.gw.go index 83467689..4fecd3bc 100644 --- a/pkg/proto/xmtpv4/message_api/message_api.pb.gw.go +++ b/pkg/proto/xmtpv4/message_api/message_api.pb.gw.go @@ -31,15 +31,15 @@ var _ = runtime.String var _ = utilities.NewDoubleArray var _ = metadata.Join -func request_ReplicationApi_BatchSubscribeEnvelopes_0(ctx context.Context, marshaler runtime.Marshaler, client ReplicationApiClient, req *http.Request, pathParams map[string]string) (ReplicationApi_BatchSubscribeEnvelopesClient, runtime.ServerMetadata, error) { - var protoReq BatchSubscribeEnvelopesRequest +func request_ReplicationApi_SubscribeEnvelopes_0(ctx context.Context, marshaler runtime.Marshaler, client ReplicationApiClient, req *http.Request, pathParams map[string]string) (ReplicationApi_SubscribeEnvelopesClient, runtime.ServerMetadata, error) { + var protoReq SubscribeEnvelopesRequest var metadata runtime.ServerMetadata if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - stream, err := client.BatchSubscribeEnvelopes(ctx, &protoReq) + stream, err := client.SubscribeEnvelopes(ctx, &protoReq) if err != nil { return nil, metadata, err } @@ -78,28 +78,28 @@ func local_request_ReplicationApi_QueryEnvelopes_0(ctx context.Context, marshale } -func request_ReplicationApi_PublishEnvelope_0(ctx context.Context, marshaler runtime.Marshaler, client ReplicationApiClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PublishEnvelopeRequest +func request_ReplicationApi_PublishPayerEnvelopes_0(ctx context.Context, marshaler runtime.Marshaler, client ReplicationApiClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PublishPayerEnvelopesRequest var metadata runtime.ServerMetadata if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.PublishEnvelope(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.PublishPayerEnvelopes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_ReplicationApi_PublishEnvelope_0(ctx context.Context, marshaler runtime.Marshaler, server ReplicationApiServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PublishEnvelopeRequest +func local_request_ReplicationApi_PublishPayerEnvelopes_0(ctx context.Context, marshaler runtime.Marshaler, server ReplicationApiServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PublishPayerEnvelopesRequest var metadata runtime.ServerMetadata if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.PublishEnvelope(ctx, &protoReq) + msg, err := server.PublishPayerEnvelopes(ctx, &protoReq) return msg, metadata, err } @@ -136,7 +136,7 @@ func local_request_ReplicationApi_GetInboxIds_0(ctx context.Context, marshaler r // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterReplicationApiHandlerFromEndpoint instead. func RegisterReplicationApiHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ReplicationApiServer) error { - mux.Handle("POST", pattern_ReplicationApi_BatchSubscribeEnvelopes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_ReplicationApi_SubscribeEnvelopes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) @@ -151,7 +151,7 @@ func RegisterReplicationApiHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/xmtp.xmtpv4.ReplicationApi/QueryEnvelopes", runtime.WithHTTPPathPattern("/mls/v2/query-envelopes")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/xmtp.xmtpv4.message_api.ReplicationApi/QueryEnvelopes", runtime.WithHTTPPathPattern("/mls/v2/query-envelopes")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -168,7 +168,7 @@ func RegisterReplicationApiHandlerServer(ctx context.Context, mux *runtime.Serve }) - mux.Handle("POST", pattern_ReplicationApi_PublishEnvelope_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_ReplicationApi_PublishPayerEnvelopes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -176,12 +176,12 @@ func RegisterReplicationApiHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/xmtp.xmtpv4.ReplicationApi/PublishEnvelope", runtime.WithHTTPPathPattern("/mls/v2/publish-envelope")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/xmtp.xmtpv4.message_api.ReplicationApi/PublishPayerEnvelopes", runtime.WithHTTPPathPattern("/mls/v2/publish-payer-envelopes")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_ReplicationApi_PublishEnvelope_0(annotatedContext, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_ReplicationApi_PublishPayerEnvelopes_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { @@ -189,7 +189,7 @@ func RegisterReplicationApiHandlerServer(ctx context.Context, mux *runtime.Serve return } - forward_ReplicationApi_PublishEnvelope_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_ReplicationApi_PublishPayerEnvelopes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -201,7 +201,7 @@ func RegisterReplicationApiHandlerServer(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/xmtp.xmtpv4.ReplicationApi/GetInboxIds", runtime.WithHTTPPathPattern("/mls/v2/get-inbox-ids")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/xmtp.xmtpv4.message_api.ReplicationApi/GetInboxIds", runtime.WithHTTPPathPattern("/mls/v2/get-inbox-ids")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -259,25 +259,25 @@ func RegisterReplicationApiHandler(ctx context.Context, mux *runtime.ServeMux, c // "ReplicationApiClient" to call the correct interceptors. func RegisterReplicationApiHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ReplicationApiClient) error { - mux.Handle("POST", pattern_ReplicationApi_BatchSubscribeEnvelopes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_ReplicationApi_SubscribeEnvelopes_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) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/xmtp.xmtpv4.ReplicationApi/BatchSubscribeEnvelopes", runtime.WithHTTPPathPattern("/mls/v2/subscribe-envelopes")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/xmtp.xmtpv4.message_api.ReplicationApi/SubscribeEnvelopes", runtime.WithHTTPPathPattern("/mls/v2/subscribe-envelopes")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_ReplicationApi_BatchSubscribeEnvelopes_0(annotatedContext, inboundMarshaler, client, req, pathParams) + resp, md, err := request_ReplicationApi_SubscribeEnvelopes_0(annotatedContext, inboundMarshaler, client, req, pathParams) annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_ReplicationApi_BatchSubscribeEnvelopes_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_ReplicationApi_SubscribeEnvelopes_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -287,7 +287,7 @@ func RegisterReplicationApiHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/xmtp.xmtpv4.ReplicationApi/QueryEnvelopes", runtime.WithHTTPPathPattern("/mls/v2/query-envelopes")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/xmtp.xmtpv4.message_api.ReplicationApi/QueryEnvelopes", runtime.WithHTTPPathPattern("/mls/v2/query-envelopes")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -303,25 +303,25 @@ func RegisterReplicationApiHandlerClient(ctx context.Context, mux *runtime.Serve }) - mux.Handle("POST", pattern_ReplicationApi_PublishEnvelope_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_ReplicationApi_PublishPayerEnvelopes_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) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/xmtp.xmtpv4.ReplicationApi/PublishEnvelope", runtime.WithHTTPPathPattern("/mls/v2/publish-envelope")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/xmtp.xmtpv4.message_api.ReplicationApi/PublishPayerEnvelopes", runtime.WithHTTPPathPattern("/mls/v2/publish-payer-envelopes")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_ReplicationApi_PublishEnvelope_0(annotatedContext, inboundMarshaler, client, req, pathParams) + resp, md, err := request_ReplicationApi_PublishPayerEnvelopes_0(annotatedContext, inboundMarshaler, client, req, pathParams) annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_ReplicationApi_PublishEnvelope_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_ReplicationApi_PublishPayerEnvelopes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -331,7 +331,7 @@ func RegisterReplicationApiHandlerClient(ctx context.Context, mux *runtime.Serve inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/xmtp.xmtpv4.ReplicationApi/GetInboxIds", runtime.WithHTTPPathPattern("/mls/v2/get-inbox-ids")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/xmtp.xmtpv4.message_api.ReplicationApi/GetInboxIds", runtime.WithHTTPPathPattern("/mls/v2/get-inbox-ids")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -351,21 +351,21 @@ func RegisterReplicationApiHandlerClient(ctx context.Context, mux *runtime.Serve } var ( - pattern_ReplicationApi_BatchSubscribeEnvelopes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"mls", "v2", "subscribe-envelopes"}, "")) + pattern_ReplicationApi_SubscribeEnvelopes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"mls", "v2", "subscribe-envelopes"}, "")) pattern_ReplicationApi_QueryEnvelopes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"mls", "v2", "query-envelopes"}, "")) - pattern_ReplicationApi_PublishEnvelope_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"mls", "v2", "publish-envelope"}, "")) + pattern_ReplicationApi_PublishPayerEnvelopes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"mls", "v2", "publish-payer-envelopes"}, "")) pattern_ReplicationApi_GetInboxIds_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"mls", "v2", "get-inbox-ids"}, "")) ) var ( - forward_ReplicationApi_BatchSubscribeEnvelopes_0 = runtime.ForwardResponseStream + forward_ReplicationApi_SubscribeEnvelopes_0 = runtime.ForwardResponseStream forward_ReplicationApi_QueryEnvelopes_0 = runtime.ForwardResponseMessage - forward_ReplicationApi_PublishEnvelope_0 = runtime.ForwardResponseMessage + forward_ReplicationApi_PublishPayerEnvelopes_0 = runtime.ForwardResponseMessage forward_ReplicationApi_GetInboxIds_0 = runtime.ForwardResponseMessage ) diff --git a/pkg/proto/xmtpv4/message_api/message_api_grpc.pb.go b/pkg/proto/xmtpv4/message_api/message_api_grpc.pb.go index 4b0de312..60f35609 100644 --- a/pkg/proto/xmtpv4/message_api/message_api_grpc.pb.go +++ b/pkg/proto/xmtpv4/message_api/message_api_grpc.pb.go @@ -21,23 +21,19 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - ReplicationApi_BatchSubscribeEnvelopes_FullMethodName = "/xmtp.xmtpv4.ReplicationApi/BatchSubscribeEnvelopes" - ReplicationApi_QueryEnvelopes_FullMethodName = "/xmtp.xmtpv4.ReplicationApi/QueryEnvelopes" - ReplicationApi_PublishEnvelope_FullMethodName = "/xmtp.xmtpv4.ReplicationApi/PublishEnvelope" - ReplicationApi_GetInboxIds_FullMethodName = "/xmtp.xmtpv4.ReplicationApi/GetInboxIds" + ReplicationApi_SubscribeEnvelopes_FullMethodName = "/xmtp.xmtpv4.message_api.ReplicationApi/SubscribeEnvelopes" + ReplicationApi_QueryEnvelopes_FullMethodName = "/xmtp.xmtpv4.message_api.ReplicationApi/QueryEnvelopes" + ReplicationApi_PublishPayerEnvelopes_FullMethodName = "/xmtp.xmtpv4.message_api.ReplicationApi/PublishPayerEnvelopes" + ReplicationApi_GetInboxIds_FullMethodName = "/xmtp.xmtpv4.message_api.ReplicationApi/GetInboxIds" ) // ReplicationApiClient is the client API for ReplicationApi 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 ReplicationApiClient interface { - // Subscribe to envelopes - BatchSubscribeEnvelopes(ctx context.Context, in *BatchSubscribeEnvelopesRequest, opts ...grpc.CallOption) (ReplicationApi_BatchSubscribeEnvelopesClient, error) - // Query envelopes + SubscribeEnvelopes(ctx context.Context, in *SubscribeEnvelopesRequest, opts ...grpc.CallOption) (ReplicationApi_SubscribeEnvelopesClient, error) QueryEnvelopes(ctx context.Context, in *QueryEnvelopesRequest, opts ...grpc.CallOption) (*QueryEnvelopesResponse, error) - // Publish envelope - PublishEnvelope(ctx context.Context, in *PublishEnvelopeRequest, opts ...grpc.CallOption) (*PublishEnvelopeResponse, error) - // Get inbox ids + PublishPayerEnvelopes(ctx context.Context, in *PublishPayerEnvelopesRequest, opts ...grpc.CallOption) (*PublishPayerEnvelopesResponse, error) GetInboxIds(ctx context.Context, in *GetInboxIdsRequest, opts ...grpc.CallOption) (*GetInboxIdsResponse, error) } @@ -49,12 +45,12 @@ func NewReplicationApiClient(cc grpc.ClientConnInterface) ReplicationApiClient { return &replicationApiClient{cc} } -func (c *replicationApiClient) BatchSubscribeEnvelopes(ctx context.Context, in *BatchSubscribeEnvelopesRequest, opts ...grpc.CallOption) (ReplicationApi_BatchSubscribeEnvelopesClient, error) { - stream, err := c.cc.NewStream(ctx, &ReplicationApi_ServiceDesc.Streams[0], ReplicationApi_BatchSubscribeEnvelopes_FullMethodName, opts...) +func (c *replicationApiClient) SubscribeEnvelopes(ctx context.Context, in *SubscribeEnvelopesRequest, opts ...grpc.CallOption) (ReplicationApi_SubscribeEnvelopesClient, error) { + stream, err := c.cc.NewStream(ctx, &ReplicationApi_ServiceDesc.Streams[0], ReplicationApi_SubscribeEnvelopes_FullMethodName, opts...) if err != nil { return nil, err } - x := &replicationApiBatchSubscribeEnvelopesClient{stream} + x := &replicationApiSubscribeEnvelopesClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -64,17 +60,17 @@ func (c *replicationApiClient) BatchSubscribeEnvelopes(ctx context.Context, in * return x, nil } -type ReplicationApi_BatchSubscribeEnvelopesClient interface { - Recv() (*BatchSubscribeEnvelopesResponse, error) +type ReplicationApi_SubscribeEnvelopesClient interface { + Recv() (*SubscribeEnvelopesResponse, error) grpc.ClientStream } -type replicationApiBatchSubscribeEnvelopesClient struct { +type replicationApiSubscribeEnvelopesClient struct { grpc.ClientStream } -func (x *replicationApiBatchSubscribeEnvelopesClient) Recv() (*BatchSubscribeEnvelopesResponse, error) { - m := new(BatchSubscribeEnvelopesResponse) +func (x *replicationApiSubscribeEnvelopesClient) Recv() (*SubscribeEnvelopesResponse, error) { + m := new(SubscribeEnvelopesResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -90,9 +86,9 @@ func (c *replicationApiClient) QueryEnvelopes(ctx context.Context, in *QueryEnve return out, nil } -func (c *replicationApiClient) PublishEnvelope(ctx context.Context, in *PublishEnvelopeRequest, opts ...grpc.CallOption) (*PublishEnvelopeResponse, error) { - out := new(PublishEnvelopeResponse) - err := c.cc.Invoke(ctx, ReplicationApi_PublishEnvelope_FullMethodName, in, out, opts...) +func (c *replicationApiClient) PublishPayerEnvelopes(ctx context.Context, in *PublishPayerEnvelopesRequest, opts ...grpc.CallOption) (*PublishPayerEnvelopesResponse, error) { + out := new(PublishPayerEnvelopesResponse) + err := c.cc.Invoke(ctx, ReplicationApi_PublishPayerEnvelopes_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -112,13 +108,9 @@ func (c *replicationApiClient) GetInboxIds(ctx context.Context, in *GetInboxIdsR // All implementations must embed UnimplementedReplicationApiServer // for forward compatibility type ReplicationApiServer interface { - // Subscribe to envelopes - BatchSubscribeEnvelopes(*BatchSubscribeEnvelopesRequest, ReplicationApi_BatchSubscribeEnvelopesServer) error - // Query envelopes + SubscribeEnvelopes(*SubscribeEnvelopesRequest, ReplicationApi_SubscribeEnvelopesServer) error QueryEnvelopes(context.Context, *QueryEnvelopesRequest) (*QueryEnvelopesResponse, error) - // Publish envelope - PublishEnvelope(context.Context, *PublishEnvelopeRequest) (*PublishEnvelopeResponse, error) - // Get inbox ids + PublishPayerEnvelopes(context.Context, *PublishPayerEnvelopesRequest) (*PublishPayerEnvelopesResponse, error) GetInboxIds(context.Context, *GetInboxIdsRequest) (*GetInboxIdsResponse, error) mustEmbedUnimplementedReplicationApiServer() } @@ -127,14 +119,14 @@ type ReplicationApiServer interface { type UnimplementedReplicationApiServer struct { } -func (UnimplementedReplicationApiServer) BatchSubscribeEnvelopes(*BatchSubscribeEnvelopesRequest, ReplicationApi_BatchSubscribeEnvelopesServer) error { - return status.Errorf(codes.Unimplemented, "method BatchSubscribeEnvelopes not implemented") +func (UnimplementedReplicationApiServer) SubscribeEnvelopes(*SubscribeEnvelopesRequest, ReplicationApi_SubscribeEnvelopesServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeEnvelopes not implemented") } func (UnimplementedReplicationApiServer) QueryEnvelopes(context.Context, *QueryEnvelopesRequest) (*QueryEnvelopesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method QueryEnvelopes not implemented") } -func (UnimplementedReplicationApiServer) PublishEnvelope(context.Context, *PublishEnvelopeRequest) (*PublishEnvelopeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method PublishEnvelope not implemented") +func (UnimplementedReplicationApiServer) PublishPayerEnvelopes(context.Context, *PublishPayerEnvelopesRequest) (*PublishPayerEnvelopesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PublishPayerEnvelopes not implemented") } func (UnimplementedReplicationApiServer) GetInboxIds(context.Context, *GetInboxIdsRequest) (*GetInboxIdsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetInboxIds not implemented") @@ -152,24 +144,24 @@ func RegisterReplicationApiServer(s grpc.ServiceRegistrar, srv ReplicationApiSer s.RegisterService(&ReplicationApi_ServiceDesc, srv) } -func _ReplicationApi_BatchSubscribeEnvelopes_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(BatchSubscribeEnvelopesRequest) +func _ReplicationApi_SubscribeEnvelopes_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeEnvelopesRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ReplicationApiServer).BatchSubscribeEnvelopes(m, &replicationApiBatchSubscribeEnvelopesServer{stream}) + return srv.(ReplicationApiServer).SubscribeEnvelopes(m, &replicationApiSubscribeEnvelopesServer{stream}) } -type ReplicationApi_BatchSubscribeEnvelopesServer interface { - Send(*BatchSubscribeEnvelopesResponse) error +type ReplicationApi_SubscribeEnvelopesServer interface { + Send(*SubscribeEnvelopesResponse) error grpc.ServerStream } -type replicationApiBatchSubscribeEnvelopesServer struct { +type replicationApiSubscribeEnvelopesServer struct { grpc.ServerStream } -func (x *replicationApiBatchSubscribeEnvelopesServer) Send(m *BatchSubscribeEnvelopesResponse) error { +func (x *replicationApiSubscribeEnvelopesServer) Send(m *SubscribeEnvelopesResponse) error { return x.ServerStream.SendMsg(m) } @@ -191,20 +183,20 @@ func _ReplicationApi_QueryEnvelopes_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } -func _ReplicationApi_PublishEnvelope_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PublishEnvelopeRequest) +func _ReplicationApi_PublishPayerEnvelopes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PublishPayerEnvelopesRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ReplicationApiServer).PublishEnvelope(ctx, in) + return srv.(ReplicationApiServer).PublishPayerEnvelopes(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ReplicationApi_PublishEnvelope_FullMethodName, + FullMethod: ReplicationApi_PublishPayerEnvelopes_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ReplicationApiServer).PublishEnvelope(ctx, req.(*PublishEnvelopeRequest)) + return srv.(ReplicationApiServer).PublishPayerEnvelopes(ctx, req.(*PublishPayerEnvelopesRequest)) } return interceptor(ctx, in, info, handler) } @@ -231,7 +223,7 @@ func _ReplicationApi_GetInboxIds_Handler(srv interface{}, ctx context.Context, d // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) var ReplicationApi_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "xmtp.xmtpv4.ReplicationApi", + ServiceName: "xmtp.xmtpv4.message_api.ReplicationApi", HandlerType: (*ReplicationApiServer)(nil), Methods: []grpc.MethodDesc{ { @@ -239,8 +231,8 @@ var ReplicationApi_ServiceDesc = grpc.ServiceDesc{ Handler: _ReplicationApi_QueryEnvelopes_Handler, }, { - MethodName: "PublishEnvelope", - Handler: _ReplicationApi_PublishEnvelope_Handler, + MethodName: "PublishPayerEnvelopes", + Handler: _ReplicationApi_PublishPayerEnvelopes_Handler, }, { MethodName: "GetInboxIds", @@ -249,8 +241,8 @@ var ReplicationApi_ServiceDesc = grpc.ServiceDesc{ }, Streams: []grpc.StreamDesc{ { - StreamName: "BatchSubscribeEnvelopes", - Handler: _ReplicationApi_BatchSubscribeEnvelopes_Handler, + StreamName: "SubscribeEnvelopes", + Handler: _ReplicationApi_SubscribeEnvelopes_Handler, ServerStreams: true, }, }, diff --git a/pkg/proto/xmtpv4/message_api/misbehavior_api.pb.go b/pkg/proto/xmtpv4/message_api/misbehavior_api.pb.go new file mode 100644 index 00000000..58a72140 --- /dev/null +++ b/pkg/proto/xmtpv4/message_api/misbehavior_api.pb.go @@ -0,0 +1,836 @@ +// API for reporting and querying node misbehavior in decentralized XMTP + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.3 +// protoc (unknown) +// source: xmtpv4/message_api/misbehavior_api.proto + +package message_api + +import ( + associations "github.com/xmtp/xmtp-node-go/pkg/proto/identity/associations" + envelopes "github.com/xmtp/xmtp-node-go/pkg/proto/xmtpv4/envelopes" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Misbehavior int32 + +const ( + Misbehavior_MISBEHAVIOR_UNSPECIFIED Misbehavior = 0 + Misbehavior_MISBEHAVIOR_UNRESPONSIVE_NODE Misbehavior = 1 + Misbehavior_MISBEHAVIOR_SLOW_NODE Misbehavior = 2 + Misbehavior_MISBEHAVIOR_FAILED_REQUEST Misbehavior = 3 + Misbehavior_MISBEHAVIOR_OUT_OF_ORDER Misbehavior = 4 + Misbehavior_MISBEHAVIOR_DUPLICATE_SEQUENCE_ID Misbehavior = 5 + Misbehavior_MISBEHAVIOR_CAUSAL_ORDERING Misbehavior = 6 + Misbehavior_MISBEHAVIOR_INVALID_PAYLOAD Misbehavior = 7 + Misbehavior_MISBEHAVIOR_BLOCKCHAIN_INCONSISTENCY Misbehavior = 8 +) + +// Enum value maps for Misbehavior. +var ( + Misbehavior_name = map[int32]string{ + 0: "MISBEHAVIOR_UNSPECIFIED", + 1: "MISBEHAVIOR_UNRESPONSIVE_NODE", + 2: "MISBEHAVIOR_SLOW_NODE", + 3: "MISBEHAVIOR_FAILED_REQUEST", + 4: "MISBEHAVIOR_OUT_OF_ORDER", + 5: "MISBEHAVIOR_DUPLICATE_SEQUENCE_ID", + 6: "MISBEHAVIOR_CAUSAL_ORDERING", + 7: "MISBEHAVIOR_INVALID_PAYLOAD", + 8: "MISBEHAVIOR_BLOCKCHAIN_INCONSISTENCY", + } + Misbehavior_value = map[string]int32{ + "MISBEHAVIOR_UNSPECIFIED": 0, + "MISBEHAVIOR_UNRESPONSIVE_NODE": 1, + "MISBEHAVIOR_SLOW_NODE": 2, + "MISBEHAVIOR_FAILED_REQUEST": 3, + "MISBEHAVIOR_OUT_OF_ORDER": 4, + "MISBEHAVIOR_DUPLICATE_SEQUENCE_ID": 5, + "MISBEHAVIOR_CAUSAL_ORDERING": 6, + "MISBEHAVIOR_INVALID_PAYLOAD": 7, + "MISBEHAVIOR_BLOCKCHAIN_INCONSISTENCY": 8, + } +) + +func (x Misbehavior) Enum() *Misbehavior { + p := new(Misbehavior) + *p = x + return p +} + +func (x Misbehavior) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Misbehavior) Descriptor() protoreflect.EnumDescriptor { + return file_xmtpv4_message_api_misbehavior_api_proto_enumTypes[0].Descriptor() +} + +func (Misbehavior) Type() protoreflect.EnumType { + return &file_xmtpv4_message_api_misbehavior_api_proto_enumTypes[0] +} + +func (x Misbehavior) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Misbehavior.Descriptor instead. +func (Misbehavior) EnumDescriptor() ([]byte, []int) { + return file_xmtpv4_message_api_misbehavior_api_proto_rawDescGZIP(), []int{0} +} + +type LivenessFailure struct { + state protoimpl.MessageState `protogen:"open.v1"` + ResponseTimeNs uint32 `protobuf:"varint,1,opt,name=response_time_ns,json=responseTimeNs,proto3" json:"response_time_ns,omitempty"` + // Types that are valid to be assigned to Request: + // + // *LivenessFailure_Subscribe + // *LivenessFailure_Query + // *LivenessFailure_Publish + Request isLivenessFailure_Request `protobuf_oneof:"request"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LivenessFailure) Reset() { + *x = LivenessFailure{} + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LivenessFailure) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LivenessFailure) ProtoMessage() {} + +func (x *LivenessFailure) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LivenessFailure.ProtoReflect.Descriptor instead. +func (*LivenessFailure) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_misbehavior_api_proto_rawDescGZIP(), []int{0} +} + +func (x *LivenessFailure) GetResponseTimeNs() uint32 { + if x != nil { + return x.ResponseTimeNs + } + return 0 +} + +func (x *LivenessFailure) GetRequest() isLivenessFailure_Request { + if x != nil { + return x.Request + } + return nil +} + +func (x *LivenessFailure) GetSubscribe() *SubscribeEnvelopesRequest { + if x != nil { + if x, ok := x.Request.(*LivenessFailure_Subscribe); ok { + return x.Subscribe + } + } + return nil +} + +func (x *LivenessFailure) GetQuery() *QueryEnvelopesRequest { + if x != nil { + if x, ok := x.Request.(*LivenessFailure_Query); ok { + return x.Query + } + } + return nil +} + +func (x *LivenessFailure) GetPublish() *PublishPayerEnvelopesRequest { + if x != nil { + if x, ok := x.Request.(*LivenessFailure_Publish); ok { + return x.Publish + } + } + return nil +} + +type isLivenessFailure_Request interface { + isLivenessFailure_Request() +} + +type LivenessFailure_Subscribe struct { + Subscribe *SubscribeEnvelopesRequest `protobuf:"bytes,2,opt,name=subscribe,proto3,oneof"` +} + +type LivenessFailure_Query struct { + Query *QueryEnvelopesRequest `protobuf:"bytes,3,opt,name=query,proto3,oneof"` +} + +type LivenessFailure_Publish struct { + Publish *PublishPayerEnvelopesRequest `protobuf:"bytes,4,opt,name=publish,proto3,oneof"` +} + +func (*LivenessFailure_Subscribe) isLivenessFailure_Request() {} + +func (*LivenessFailure_Query) isLivenessFailure_Request() {} + +func (*LivenessFailure_Publish) isLivenessFailure_Request() {} + +type SafetyFailure struct { + state protoimpl.MessageState `protogen:"open.v1"` + Envelopes []*envelopes.OriginatorEnvelope `protobuf:"bytes,1,rep,name=envelopes,proto3" json:"envelopes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SafetyFailure) Reset() { + *x = SafetyFailure{} + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SafetyFailure) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SafetyFailure) ProtoMessage() {} + +func (x *SafetyFailure) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SafetyFailure.ProtoReflect.Descriptor instead. +func (*SafetyFailure) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_misbehavior_api_proto_rawDescGZIP(), []int{1} +} + +func (x *SafetyFailure) GetEnvelopes() []*envelopes.OriginatorEnvelope { + if x != nil { + return x.Envelopes + } + return nil +} + +type UnsignedMisbehaviorReport struct { + state protoimpl.MessageState `protogen:"open.v1"` + ReporterTimeNs uint64 `protobuf:"varint,1,opt,name=reporter_time_ns,json=reporterTimeNs,proto3" json:"reporter_time_ns,omitempty"` + MisbehavingNodeId uint32 `protobuf:"varint,2,opt,name=misbehaving_node_id,json=misbehavingNodeId,proto3" json:"misbehaving_node_id,omitempty"` + Type Misbehavior `protobuf:"varint,3,opt,name=type,proto3,enum=xmtp.xmtpv4.message_api.Misbehavior" json:"type,omitempty"` + // Types that are valid to be assigned to Failure: + // + // *UnsignedMisbehaviorReport_Liveness + // *UnsignedMisbehaviorReport_Safety + Failure isUnsignedMisbehaviorReport_Failure `protobuf_oneof:"failure"` + // Nodes must verify this field is false for client-submitted reports + SubmittedByNode bool `protobuf:"varint,6,opt,name=submitted_by_node,json=submittedByNode,proto3" json:"submitted_by_node,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnsignedMisbehaviorReport) Reset() { + *x = UnsignedMisbehaviorReport{} + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnsignedMisbehaviorReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnsignedMisbehaviorReport) ProtoMessage() {} + +func (x *UnsignedMisbehaviorReport) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnsignedMisbehaviorReport.ProtoReflect.Descriptor instead. +func (*UnsignedMisbehaviorReport) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_misbehavior_api_proto_rawDescGZIP(), []int{2} +} + +func (x *UnsignedMisbehaviorReport) GetReporterTimeNs() uint64 { + if x != nil { + return x.ReporterTimeNs + } + return 0 +} + +func (x *UnsignedMisbehaviorReport) GetMisbehavingNodeId() uint32 { + if x != nil { + return x.MisbehavingNodeId + } + return 0 +} + +func (x *UnsignedMisbehaviorReport) GetType() Misbehavior { + if x != nil { + return x.Type + } + return Misbehavior_MISBEHAVIOR_UNSPECIFIED +} + +func (x *UnsignedMisbehaviorReport) GetFailure() isUnsignedMisbehaviorReport_Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *UnsignedMisbehaviorReport) GetLiveness() *LivenessFailure { + if x != nil { + if x, ok := x.Failure.(*UnsignedMisbehaviorReport_Liveness); ok { + return x.Liveness + } + } + return nil +} + +func (x *UnsignedMisbehaviorReport) GetSafety() *SafetyFailure { + if x != nil { + if x, ok := x.Failure.(*UnsignedMisbehaviorReport_Safety); ok { + return x.Safety + } + } + return nil +} + +func (x *UnsignedMisbehaviorReport) GetSubmittedByNode() bool { + if x != nil { + return x.SubmittedByNode + } + return false +} + +type isUnsignedMisbehaviorReport_Failure interface { + isUnsignedMisbehaviorReport_Failure() +} + +type UnsignedMisbehaviorReport_Liveness struct { + Liveness *LivenessFailure `protobuf:"bytes,4,opt,name=liveness,proto3,oneof"` +} + +type UnsignedMisbehaviorReport_Safety struct { + Safety *SafetyFailure `protobuf:"bytes,5,opt,name=safety,proto3,oneof"` +} + +func (*UnsignedMisbehaviorReport_Liveness) isUnsignedMisbehaviorReport_Failure() {} + +func (*UnsignedMisbehaviorReport_Safety) isUnsignedMisbehaviorReport_Failure() {} + +type MisbehaviorReport struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Server time when the report was stored. Used only for querying reports. + // This field is not signed. + ServerTimeNs uint64 `protobuf:"varint,1,opt,name=server_time_ns,json=serverTimeNs,proto3" json:"server_time_ns,omitempty"` + UnsignedMisbehaviorReport []byte `protobuf:"bytes,2,opt,name=unsigned_misbehavior_report,json=unsignedMisbehaviorReport,proto3" json:"unsigned_misbehavior_report,omitempty"` + // Signed by the node hosting the report + Signature *associations.RecoverableEcdsaSignature `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MisbehaviorReport) Reset() { + *x = MisbehaviorReport{} + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MisbehaviorReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MisbehaviorReport) ProtoMessage() {} + +func (x *MisbehaviorReport) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MisbehaviorReport.ProtoReflect.Descriptor instead. +func (*MisbehaviorReport) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_misbehavior_api_proto_rawDescGZIP(), []int{3} +} + +func (x *MisbehaviorReport) GetServerTimeNs() uint64 { + if x != nil { + return x.ServerTimeNs + } + return 0 +} + +func (x *MisbehaviorReport) GetUnsignedMisbehaviorReport() []byte { + if x != nil { + return x.UnsignedMisbehaviorReport + } + return nil +} + +func (x *MisbehaviorReport) GetSignature() *associations.RecoverableEcdsaSignature { + if x != nil { + return x.Signature + } + return nil +} + +type SubmitMisbehaviorReportRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Report *UnsignedMisbehaviorReport `protobuf:"bytes,1,opt,name=report,proto3" json:"report,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SubmitMisbehaviorReportRequest) Reset() { + *x = SubmitMisbehaviorReportRequest{} + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SubmitMisbehaviorReportRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubmitMisbehaviorReportRequest) ProtoMessage() {} + +func (x *SubmitMisbehaviorReportRequest) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubmitMisbehaviorReportRequest.ProtoReflect.Descriptor instead. +func (*SubmitMisbehaviorReportRequest) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_misbehavior_api_proto_rawDescGZIP(), []int{4} +} + +func (x *SubmitMisbehaviorReportRequest) GetReport() *UnsignedMisbehaviorReport { + if x != nil { + return x.Report + } + return nil +} + +type SubmitMisbehaviorReportResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SubmitMisbehaviorReportResponse) Reset() { + *x = SubmitMisbehaviorReportResponse{} + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SubmitMisbehaviorReportResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubmitMisbehaviorReportResponse) ProtoMessage() {} + +func (x *SubmitMisbehaviorReportResponse) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubmitMisbehaviorReportResponse.ProtoReflect.Descriptor instead. +func (*SubmitMisbehaviorReportResponse) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_misbehavior_api_proto_rawDescGZIP(), []int{5} +} + +type QueryMisbehaviorReportsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AfterNs uint64 `protobuf:"varint,1,opt,name=after_ns,json=afterNs,proto3" json:"after_ns,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QueryMisbehaviorReportsRequest) Reset() { + *x = QueryMisbehaviorReportsRequest{} + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QueryMisbehaviorReportsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryMisbehaviorReportsRequest) ProtoMessage() {} + +func (x *QueryMisbehaviorReportsRequest) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueryMisbehaviorReportsRequest.ProtoReflect.Descriptor instead. +func (*QueryMisbehaviorReportsRequest) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_misbehavior_api_proto_rawDescGZIP(), []int{6} +} + +func (x *QueryMisbehaviorReportsRequest) GetAfterNs() uint64 { + if x != nil { + return x.AfterNs + } + return 0 +} + +type QueryMisbehaviorReportsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Reports []*MisbehaviorReport `protobuf:"bytes,1,rep,name=reports,proto3" json:"reports,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QueryMisbehaviorReportsResponse) Reset() { + *x = QueryMisbehaviorReportsResponse{} + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QueryMisbehaviorReportsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryMisbehaviorReportsResponse) ProtoMessage() {} + +func (x *QueryMisbehaviorReportsResponse) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueryMisbehaviorReportsResponse.ProtoReflect.Descriptor instead. +func (*QueryMisbehaviorReportsResponse) Descriptor() ([]byte, []int) { + return file_xmtpv4_message_api_misbehavior_api_proto_rawDescGZIP(), []int{7} +} + +func (x *QueryMisbehaviorReportsResponse) GetReports() []*MisbehaviorReport { + if x != nil { + return x.Reports + } + return nil +} + +var File_xmtpv4_message_api_misbehavior_api_proto protoreflect.FileDescriptor + +var file_xmtpv4_message_api_misbehavior_api_proto_rawDesc = []byte{ + 0x0a, 0x28, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x78, 0x6d, 0x74, 0x70, + 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, + 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x25, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x73, 0x73, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, + 0x2f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2f, 0x65, 0x6e, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x78, 0x6d, 0x74, 0x70, + 0x76, 0x34, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xb5, 0x02, 0x0a, 0x0f, 0x4c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x46, 0x61, 0x69, + 0x6c, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x52, + 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x12, 0x46, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x51, 0x0a, 0x07, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, + 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x61, 0x79, + 0x65, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x42, 0x09, 0x0a, + 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x58, 0x0a, 0x0d, 0x53, 0x61, 0x66, 0x65, + 0x74, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x65, 0x6e, 0x76, + 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, + 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, + 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x73, 0x22, 0xf0, 0x02, 0x0a, 0x19, 0x55, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4d, + 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6d, 0x69, + 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x08, 0x6c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, + 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x4c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, + 0x48, 0x00, 0x52, 0x08, 0x6c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x06, + 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, + 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x46, 0x61, 0x69, + 0x6c, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x06, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x12, 0x2a, + 0x0a, 0x11, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x6e, + 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x64, 0x42, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x66, 0x61, + 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0xce, 0x01, 0x0a, 0x11, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, + 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4e, + 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x6d, 0x69, + 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x19, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x53, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x63, 0x64, + 0x73, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x6c, 0x0a, 0x1e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x55, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4d, 0x69, 0x73, 0x62, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x22, 0x21, 0x0a, 0x1f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4d, 0x69, + 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x66, 0x74, + 0x65, 0x72, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x61, 0x66, 0x74, + 0x65, 0x72, 0x4e, 0x73, 0x22, 0x67, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, 0x73, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2a, 0xb9, 0x02, + 0x0a, 0x0b, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1b, 0x0a, + 0x17, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4d, 0x49, + 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x53, 0x50, + 0x4f, 0x4e, 0x53, 0x49, 0x56, 0x45, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, + 0x15, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x53, 0x4c, 0x4f, + 0x57, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x49, 0x53, 0x42, + 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, + 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x49, 0x53, 0x42, + 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x4f, + 0x52, 0x44, 0x45, 0x52, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, + 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, + 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x05, 0x12, 0x1f, 0x0a, + 0x1b, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x43, 0x41, 0x55, + 0x53, 0x41, 0x4c, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x1f, + 0x0a, 0x1b, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x07, 0x12, + 0x28, 0x0a, 0x24, 0x4d, 0x49, 0x53, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x42, + 0x4c, 0x4f, 0x43, 0x4b, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4e, 0x53, + 0x49, 0x53, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x08, 0x32, 0x8a, 0x03, 0x0a, 0x0e, 0x4d, 0x69, + 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x41, 0x70, 0x69, 0x12, 0xba, 0x01, 0x0a, + 0x17, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x37, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x38, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x6d, + 0x69, 0x74, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, + 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x2d, 0x6d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x2d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0xba, 0x01, 0x0a, 0x17, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x37, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, + 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, + 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, + 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, + 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2d, 0x6d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2d, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, 0xe7, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x78, + 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x42, 0x13, 0x4d, 0x69, 0x73, 0x62, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x78, + 0x6d, 0x74, 0x70, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x70, 0x69, 0xa2, 0x02, 0x03, 0x58, 0x58, 0x4d, 0xaa, 0x02, + 0x16, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0xca, 0x02, 0x16, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x58, + 0x6d, 0x74, 0x70, 0x76, 0x34, 0x5c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, + 0xe2, 0x02, 0x22, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x5c, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x58, 0x6d, + 0x74, 0x70, 0x76, 0x34, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x70, 0x69, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_xmtpv4_message_api_misbehavior_api_proto_rawDescOnce sync.Once + file_xmtpv4_message_api_misbehavior_api_proto_rawDescData = file_xmtpv4_message_api_misbehavior_api_proto_rawDesc +) + +func file_xmtpv4_message_api_misbehavior_api_proto_rawDescGZIP() []byte { + file_xmtpv4_message_api_misbehavior_api_proto_rawDescOnce.Do(func() { + file_xmtpv4_message_api_misbehavior_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_xmtpv4_message_api_misbehavior_api_proto_rawDescData) + }) + return file_xmtpv4_message_api_misbehavior_api_proto_rawDescData +} + +var file_xmtpv4_message_api_misbehavior_api_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_xmtpv4_message_api_misbehavior_api_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_xmtpv4_message_api_misbehavior_api_proto_goTypes = []any{ + (Misbehavior)(0), // 0: xmtp.xmtpv4.message_api.Misbehavior + (*LivenessFailure)(nil), // 1: xmtp.xmtpv4.message_api.LivenessFailure + (*SafetyFailure)(nil), // 2: xmtp.xmtpv4.message_api.SafetyFailure + (*UnsignedMisbehaviorReport)(nil), // 3: xmtp.xmtpv4.message_api.UnsignedMisbehaviorReport + (*MisbehaviorReport)(nil), // 4: xmtp.xmtpv4.message_api.MisbehaviorReport + (*SubmitMisbehaviorReportRequest)(nil), // 5: xmtp.xmtpv4.message_api.SubmitMisbehaviorReportRequest + (*SubmitMisbehaviorReportResponse)(nil), // 6: xmtp.xmtpv4.message_api.SubmitMisbehaviorReportResponse + (*QueryMisbehaviorReportsRequest)(nil), // 7: xmtp.xmtpv4.message_api.QueryMisbehaviorReportsRequest + (*QueryMisbehaviorReportsResponse)(nil), // 8: xmtp.xmtpv4.message_api.QueryMisbehaviorReportsResponse + (*SubscribeEnvelopesRequest)(nil), // 9: xmtp.xmtpv4.message_api.SubscribeEnvelopesRequest + (*QueryEnvelopesRequest)(nil), // 10: xmtp.xmtpv4.message_api.QueryEnvelopesRequest + (*PublishPayerEnvelopesRequest)(nil), // 11: xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequest + (*envelopes.OriginatorEnvelope)(nil), // 12: xmtp.xmtpv4.envelopes.OriginatorEnvelope + (*associations.RecoverableEcdsaSignature)(nil), // 13: xmtp.identity.associations.RecoverableEcdsaSignature +} +var file_xmtpv4_message_api_misbehavior_api_proto_depIdxs = []int32{ + 9, // 0: xmtp.xmtpv4.message_api.LivenessFailure.subscribe:type_name -> xmtp.xmtpv4.message_api.SubscribeEnvelopesRequest + 10, // 1: xmtp.xmtpv4.message_api.LivenessFailure.query:type_name -> xmtp.xmtpv4.message_api.QueryEnvelopesRequest + 11, // 2: xmtp.xmtpv4.message_api.LivenessFailure.publish:type_name -> xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequest + 12, // 3: xmtp.xmtpv4.message_api.SafetyFailure.envelopes:type_name -> xmtp.xmtpv4.envelopes.OriginatorEnvelope + 0, // 4: xmtp.xmtpv4.message_api.UnsignedMisbehaviorReport.type:type_name -> xmtp.xmtpv4.message_api.Misbehavior + 1, // 5: xmtp.xmtpv4.message_api.UnsignedMisbehaviorReport.liveness:type_name -> xmtp.xmtpv4.message_api.LivenessFailure + 2, // 6: xmtp.xmtpv4.message_api.UnsignedMisbehaviorReport.safety:type_name -> xmtp.xmtpv4.message_api.SafetyFailure + 13, // 7: xmtp.xmtpv4.message_api.MisbehaviorReport.signature:type_name -> xmtp.identity.associations.RecoverableEcdsaSignature + 3, // 8: xmtp.xmtpv4.message_api.SubmitMisbehaviorReportRequest.report:type_name -> xmtp.xmtpv4.message_api.UnsignedMisbehaviorReport + 4, // 9: xmtp.xmtpv4.message_api.QueryMisbehaviorReportsResponse.reports:type_name -> xmtp.xmtpv4.message_api.MisbehaviorReport + 5, // 10: xmtp.xmtpv4.message_api.MisbehaviorApi.SubmitMisbehaviorReport:input_type -> xmtp.xmtpv4.message_api.SubmitMisbehaviorReportRequest + 7, // 11: xmtp.xmtpv4.message_api.MisbehaviorApi.QueryMisbehaviorReports:input_type -> xmtp.xmtpv4.message_api.QueryMisbehaviorReportsRequest + 6, // 12: xmtp.xmtpv4.message_api.MisbehaviorApi.SubmitMisbehaviorReport:output_type -> xmtp.xmtpv4.message_api.SubmitMisbehaviorReportResponse + 8, // 13: xmtp.xmtpv4.message_api.MisbehaviorApi.QueryMisbehaviorReports:output_type -> xmtp.xmtpv4.message_api.QueryMisbehaviorReportsResponse + 12, // [12:14] is the sub-list for method output_type + 10, // [10:12] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_xmtpv4_message_api_misbehavior_api_proto_init() } +func file_xmtpv4_message_api_misbehavior_api_proto_init() { + if File_xmtpv4_message_api_misbehavior_api_proto != nil { + return + } + file_xmtpv4_message_api_message_api_proto_init() + file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[0].OneofWrappers = []any{ + (*LivenessFailure_Subscribe)(nil), + (*LivenessFailure_Query)(nil), + (*LivenessFailure_Publish)(nil), + } + file_xmtpv4_message_api_misbehavior_api_proto_msgTypes[2].OneofWrappers = []any{ + (*UnsignedMisbehaviorReport_Liveness)(nil), + (*UnsignedMisbehaviorReport_Safety)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_xmtpv4_message_api_misbehavior_api_proto_rawDesc, + NumEnums: 1, + NumMessages: 8, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_xmtpv4_message_api_misbehavior_api_proto_goTypes, + DependencyIndexes: file_xmtpv4_message_api_misbehavior_api_proto_depIdxs, + EnumInfos: file_xmtpv4_message_api_misbehavior_api_proto_enumTypes, + MessageInfos: file_xmtpv4_message_api_misbehavior_api_proto_msgTypes, + }.Build() + File_xmtpv4_message_api_misbehavior_api_proto = out.File + file_xmtpv4_message_api_misbehavior_api_proto_rawDesc = nil + file_xmtpv4_message_api_misbehavior_api_proto_goTypes = nil + file_xmtpv4_message_api_misbehavior_api_proto_depIdxs = nil +} diff --git a/pkg/proto/xmtpv4/message_api/misbehavior_api.pb.gw.go b/pkg/proto/xmtpv4/message_api/misbehavior_api.pb.gw.go new file mode 100644 index 00000000..f45617af --- /dev/null +++ b/pkg/proto/xmtpv4/message_api/misbehavior_api.pb.gw.go @@ -0,0 +1,240 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: xmtpv4/message_api/misbehavior_api.proto + +/* +Package message_api is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package message_api + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/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" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_MisbehaviorApi_SubmitMisbehaviorReport_0(ctx context.Context, marshaler runtime.Marshaler, client MisbehaviorApiClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubmitMisbehaviorReportRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SubmitMisbehaviorReport(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MisbehaviorApi_SubmitMisbehaviorReport_0(ctx context.Context, marshaler runtime.Marshaler, server MisbehaviorApiServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubmitMisbehaviorReportRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SubmitMisbehaviorReport(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MisbehaviorApi_QueryMisbehaviorReports_0(ctx context.Context, marshaler runtime.Marshaler, client MisbehaviorApiClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryMisbehaviorReportsRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.QueryMisbehaviorReports(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MisbehaviorApi_QueryMisbehaviorReports_0(ctx context.Context, marshaler runtime.Marshaler, server MisbehaviorApiServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryMisbehaviorReportsRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.QueryMisbehaviorReports(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterMisbehaviorApiHandlerServer registers the http handlers for service MisbehaviorApi to "mux". +// UnaryRPC :call MisbehaviorApiServer 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 RegisterMisbehaviorApiHandlerFromEndpoint instead. +func RegisterMisbehaviorApiHandlerServer(ctx context.Context, mux *runtime.ServeMux, server MisbehaviorApiServer) error { + + mux.Handle("POST", pattern_MisbehaviorApi_SubmitMisbehaviorReport_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/xmtp.xmtpv4.message_api.MisbehaviorApi/SubmitMisbehaviorReport", runtime.WithHTTPPathPattern("/mls/v2/submit-misbehavior-report")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MisbehaviorApi_SubmitMisbehaviorReport_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MisbehaviorApi_SubmitMisbehaviorReport_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MisbehaviorApi_QueryMisbehaviorReports_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/xmtp.xmtpv4.message_api.MisbehaviorApi/QueryMisbehaviorReports", runtime.WithHTTPPathPattern("/mls/v2/query-misbehavior-reports")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MisbehaviorApi_QueryMisbehaviorReports_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MisbehaviorApi_QueryMisbehaviorReports_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterMisbehaviorApiHandlerFromEndpoint is same as RegisterMisbehaviorApiHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterMisbehaviorApiHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, 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 RegisterMisbehaviorApiHandler(ctx, mux, conn) +} + +// RegisterMisbehaviorApiHandler registers the http handlers for service MisbehaviorApi to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterMisbehaviorApiHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterMisbehaviorApiHandlerClient(ctx, mux, NewMisbehaviorApiClient(conn)) +} + +// RegisterMisbehaviorApiHandlerClient registers the http handlers for service MisbehaviorApi +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "MisbehaviorApiClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "MisbehaviorApiClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "MisbehaviorApiClient" to call the correct interceptors. +func RegisterMisbehaviorApiHandlerClient(ctx context.Context, mux *runtime.ServeMux, client MisbehaviorApiClient) error { + + mux.Handle("POST", pattern_MisbehaviorApi_SubmitMisbehaviorReport_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/xmtp.xmtpv4.message_api.MisbehaviorApi/SubmitMisbehaviorReport", runtime.WithHTTPPathPattern("/mls/v2/submit-misbehavior-report")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MisbehaviorApi_SubmitMisbehaviorReport_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MisbehaviorApi_SubmitMisbehaviorReport_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MisbehaviorApi_QueryMisbehaviorReports_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/xmtp.xmtpv4.message_api.MisbehaviorApi/QueryMisbehaviorReports", runtime.WithHTTPPathPattern("/mls/v2/query-misbehavior-reports")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MisbehaviorApi_QueryMisbehaviorReports_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MisbehaviorApi_QueryMisbehaviorReports_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_MisbehaviorApi_SubmitMisbehaviorReport_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"mls", "v2", "submit-misbehavior-report"}, "")) + + pattern_MisbehaviorApi_QueryMisbehaviorReports_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"mls", "v2", "query-misbehavior-reports"}, "")) +) + +var ( + forward_MisbehaviorApi_SubmitMisbehaviorReport_0 = runtime.ForwardResponseMessage + + forward_MisbehaviorApi_QueryMisbehaviorReports_0 = runtime.ForwardResponseMessage +) diff --git a/pkg/proto/xmtpv4/message_api/misbehavior_api_grpc.pb.go b/pkg/proto/xmtpv4/message_api/misbehavior_api_grpc.pb.go new file mode 100644 index 00000000..48a122d7 --- /dev/null +++ b/pkg/proto/xmtpv4/message_api/misbehavior_api_grpc.pb.go @@ -0,0 +1,148 @@ +// API for reporting and querying node misbehavior in decentralized XMTP + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: xmtpv4/message_api/misbehavior_api.proto + +package message_api + +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 ( + MisbehaviorApi_SubmitMisbehaviorReport_FullMethodName = "/xmtp.xmtpv4.message_api.MisbehaviorApi/SubmitMisbehaviorReport" + MisbehaviorApi_QueryMisbehaviorReports_FullMethodName = "/xmtp.xmtpv4.message_api.MisbehaviorApi/QueryMisbehaviorReports" +) + +// MisbehaviorApiClient is the client API for MisbehaviorApi 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 MisbehaviorApiClient interface { + SubmitMisbehaviorReport(ctx context.Context, in *SubmitMisbehaviorReportRequest, opts ...grpc.CallOption) (*SubmitMisbehaviorReportResponse, error) + QueryMisbehaviorReports(ctx context.Context, in *QueryMisbehaviorReportsRequest, opts ...grpc.CallOption) (*QueryMisbehaviorReportsResponse, error) +} + +type misbehaviorApiClient struct { + cc grpc.ClientConnInterface +} + +func NewMisbehaviorApiClient(cc grpc.ClientConnInterface) MisbehaviorApiClient { + return &misbehaviorApiClient{cc} +} + +func (c *misbehaviorApiClient) SubmitMisbehaviorReport(ctx context.Context, in *SubmitMisbehaviorReportRequest, opts ...grpc.CallOption) (*SubmitMisbehaviorReportResponse, error) { + out := new(SubmitMisbehaviorReportResponse) + err := c.cc.Invoke(ctx, MisbehaviorApi_SubmitMisbehaviorReport_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *misbehaviorApiClient) QueryMisbehaviorReports(ctx context.Context, in *QueryMisbehaviorReportsRequest, opts ...grpc.CallOption) (*QueryMisbehaviorReportsResponse, error) { + out := new(QueryMisbehaviorReportsResponse) + err := c.cc.Invoke(ctx, MisbehaviorApi_QueryMisbehaviorReports_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MisbehaviorApiServer is the server API for MisbehaviorApi service. +// All implementations must embed UnimplementedMisbehaviorApiServer +// for forward compatibility +type MisbehaviorApiServer interface { + SubmitMisbehaviorReport(context.Context, *SubmitMisbehaviorReportRequest) (*SubmitMisbehaviorReportResponse, error) + QueryMisbehaviorReports(context.Context, *QueryMisbehaviorReportsRequest) (*QueryMisbehaviorReportsResponse, error) + mustEmbedUnimplementedMisbehaviorApiServer() +} + +// UnimplementedMisbehaviorApiServer must be embedded to have forward compatible implementations. +type UnimplementedMisbehaviorApiServer struct { +} + +func (UnimplementedMisbehaviorApiServer) SubmitMisbehaviorReport(context.Context, *SubmitMisbehaviorReportRequest) (*SubmitMisbehaviorReportResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubmitMisbehaviorReport not implemented") +} +func (UnimplementedMisbehaviorApiServer) QueryMisbehaviorReports(context.Context, *QueryMisbehaviorReportsRequest) (*QueryMisbehaviorReportsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryMisbehaviorReports not implemented") +} +func (UnimplementedMisbehaviorApiServer) mustEmbedUnimplementedMisbehaviorApiServer() {} + +// UnsafeMisbehaviorApiServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to MisbehaviorApiServer will +// result in compilation errors. +type UnsafeMisbehaviorApiServer interface { + mustEmbedUnimplementedMisbehaviorApiServer() +} + +func RegisterMisbehaviorApiServer(s grpc.ServiceRegistrar, srv MisbehaviorApiServer) { + s.RegisterService(&MisbehaviorApi_ServiceDesc, srv) +} + +func _MisbehaviorApi_SubmitMisbehaviorReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SubmitMisbehaviorReportRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MisbehaviorApiServer).SubmitMisbehaviorReport(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: MisbehaviorApi_SubmitMisbehaviorReport_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MisbehaviorApiServer).SubmitMisbehaviorReport(ctx, req.(*SubmitMisbehaviorReportRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MisbehaviorApi_QueryMisbehaviorReports_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryMisbehaviorReportsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MisbehaviorApiServer).QueryMisbehaviorReports(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: MisbehaviorApi_QueryMisbehaviorReports_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MisbehaviorApiServer).QueryMisbehaviorReports(ctx, req.(*QueryMisbehaviorReportsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// MisbehaviorApi_ServiceDesc is the grpc.ServiceDesc for MisbehaviorApi service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var MisbehaviorApi_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "xmtp.xmtpv4.message_api.MisbehaviorApi", + HandlerType: (*MisbehaviorApiServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "SubmitMisbehaviorReport", + Handler: _MisbehaviorApi_SubmitMisbehaviorReport_Handler, + }, + { + MethodName: "QueryMisbehaviorReports", + Handler: _MisbehaviorApi_QueryMisbehaviorReports_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "xmtpv4/message_api/misbehavior_api.proto", +} diff --git a/pkg/proto/xmtpv4/payer_api/payer_api.pb.go b/pkg/proto/xmtpv4/payer_api/payer_api.pb.go new file mode 100644 index 00000000..25ab2995 --- /dev/null +++ b/pkg/proto/xmtpv4/payer_api/payer_api.pb.go @@ -0,0 +1,223 @@ +// Payer API + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.3 +// protoc (unknown) +// source: xmtpv4/payer_api/payer_api.proto + +package payer_api + +import ( + envelopes "github.com/xmtp/xmtp-node-go/pkg/proto/xmtpv4/envelopes" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type PublishClientEnvelopesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Envelopes []*envelopes.ClientEnvelope `protobuf:"bytes,1,rep,name=envelopes,proto3" json:"envelopes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PublishClientEnvelopesRequest) Reset() { + *x = PublishClientEnvelopesRequest{} + mi := &file_xmtpv4_payer_api_payer_api_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PublishClientEnvelopesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublishClientEnvelopesRequest) ProtoMessage() {} + +func (x *PublishClientEnvelopesRequest) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_payer_api_payer_api_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PublishClientEnvelopesRequest.ProtoReflect.Descriptor instead. +func (*PublishClientEnvelopesRequest) Descriptor() ([]byte, []int) { + return file_xmtpv4_payer_api_payer_api_proto_rawDescGZIP(), []int{0} +} + +func (x *PublishClientEnvelopesRequest) GetEnvelopes() []*envelopes.ClientEnvelope { + if x != nil { + return x.Envelopes + } + return nil +} + +type PublishClientEnvelopesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + OriginatorEnvelopes []*envelopes.OriginatorEnvelope `protobuf:"bytes,1,rep,name=originator_envelopes,json=originatorEnvelopes,proto3" json:"originator_envelopes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PublishClientEnvelopesResponse) Reset() { + *x = PublishClientEnvelopesResponse{} + mi := &file_xmtpv4_payer_api_payer_api_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PublishClientEnvelopesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublishClientEnvelopesResponse) ProtoMessage() {} + +func (x *PublishClientEnvelopesResponse) ProtoReflect() protoreflect.Message { + mi := &file_xmtpv4_payer_api_payer_api_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PublishClientEnvelopesResponse.ProtoReflect.Descriptor instead. +func (*PublishClientEnvelopesResponse) Descriptor() ([]byte, []int) { + return file_xmtpv4_payer_api_payer_api_proto_rawDescGZIP(), []int{1} +} + +func (x *PublishClientEnvelopesResponse) GetOriginatorEnvelopes() []*envelopes.OriginatorEnvelope { + if x != nil { + return x.OriginatorEnvelopes + } + return nil +} + +var File_xmtpv4_payer_api_payer_api_proto protoreflect.FileDescriptor + +var file_xmtpv4_payer_api_payer_api_proto_rawDesc = []byte{ + 0x0a, 0x20, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, + 0x70, 0x69, 0x2f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x15, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, + 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, + 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, + 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x1d, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, + 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x09, 0x65, 0x6e, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x22, + 0x7e, 0x0a, 0x1e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5c, 0x0a, 0x14, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x65, 0x6e, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x32, + 0xc5, 0x01, 0x0a, 0x08, 0x50, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x69, 0x12, 0xb8, 0x01, 0x0a, + 0x16, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, + 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x2e, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, + 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x70, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x3a, 0x01, 0x2a, 0x22, + 0x26, 0x2f, 0x6d, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x2f, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x2d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2d, 0x65, 0x6e, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x73, 0x42, 0xd5, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, + 0x78, 0x6d, 0x74, 0x70, 0x2e, 0x78, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2e, 0x70, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x61, 0x70, 0x69, 0x42, 0x0d, 0x50, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x69, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2f, 0x78, 0x6d, 0x74, 0x70, 0x2d, 0x6e, 0x6f, 0x64, + 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x78, + 0x6d, 0x74, 0x70, 0x76, 0x34, 0x2f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0xa2, + 0x02, 0x03, 0x58, 0x58, 0x50, 0xaa, 0x02, 0x14, 0x58, 0x6d, 0x74, 0x70, 0x2e, 0x58, 0x6d, 0x74, + 0x70, 0x76, 0x34, 0x2e, 0x50, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x69, 0xca, 0x02, 0x14, 0x58, + 0x6d, 0x74, 0x70, 0x5c, 0x58, 0x6d, 0x74, 0x70, 0x76, 0x34, 0x5c, 0x50, 0x61, 0x79, 0x65, 0x72, + 0x41, 0x70, 0x69, 0xe2, 0x02, 0x20, 0x58, 0x6d, 0x74, 0x70, 0x5c, 0x58, 0x6d, 0x74, 0x70, 0x76, + 0x34, 0x5c, 0x50, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x69, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x58, 0x6d, 0x74, 0x70, 0x3a, 0x3a, 0x58, + 0x6d, 0x74, 0x70, 0x76, 0x34, 0x3a, 0x3a, 0x50, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x69, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_xmtpv4_payer_api_payer_api_proto_rawDescOnce sync.Once + file_xmtpv4_payer_api_payer_api_proto_rawDescData = file_xmtpv4_payer_api_payer_api_proto_rawDesc +) + +func file_xmtpv4_payer_api_payer_api_proto_rawDescGZIP() []byte { + file_xmtpv4_payer_api_payer_api_proto_rawDescOnce.Do(func() { + file_xmtpv4_payer_api_payer_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_xmtpv4_payer_api_payer_api_proto_rawDescData) + }) + return file_xmtpv4_payer_api_payer_api_proto_rawDescData +} + +var file_xmtpv4_payer_api_payer_api_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_xmtpv4_payer_api_payer_api_proto_goTypes = []any{ + (*PublishClientEnvelopesRequest)(nil), // 0: xmtp.xmtpv4.payer_api.PublishClientEnvelopesRequest + (*PublishClientEnvelopesResponse)(nil), // 1: xmtp.xmtpv4.payer_api.PublishClientEnvelopesResponse + (*envelopes.ClientEnvelope)(nil), // 2: xmtp.xmtpv4.envelopes.ClientEnvelope + (*envelopes.OriginatorEnvelope)(nil), // 3: xmtp.xmtpv4.envelopes.OriginatorEnvelope +} +var file_xmtpv4_payer_api_payer_api_proto_depIdxs = []int32{ + 2, // 0: xmtp.xmtpv4.payer_api.PublishClientEnvelopesRequest.envelopes:type_name -> xmtp.xmtpv4.envelopes.ClientEnvelope + 3, // 1: xmtp.xmtpv4.payer_api.PublishClientEnvelopesResponse.originator_envelopes:type_name -> xmtp.xmtpv4.envelopes.OriginatorEnvelope + 0, // 2: xmtp.xmtpv4.payer_api.PayerApi.PublishClientEnvelopes:input_type -> xmtp.xmtpv4.payer_api.PublishClientEnvelopesRequest + 1, // 3: xmtp.xmtpv4.payer_api.PayerApi.PublishClientEnvelopes:output_type -> xmtp.xmtpv4.payer_api.PublishClientEnvelopesResponse + 3, // [3:4] is the sub-list for method output_type + 2, // [2:3] 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_xmtpv4_payer_api_payer_api_proto_init() } +func file_xmtpv4_payer_api_payer_api_proto_init() { + if File_xmtpv4_payer_api_payer_api_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_xmtpv4_payer_api_payer_api_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_xmtpv4_payer_api_payer_api_proto_goTypes, + DependencyIndexes: file_xmtpv4_payer_api_payer_api_proto_depIdxs, + MessageInfos: file_xmtpv4_payer_api_payer_api_proto_msgTypes, + }.Build() + File_xmtpv4_payer_api_payer_api_proto = out.File + file_xmtpv4_payer_api_payer_api_proto_rawDesc = nil + file_xmtpv4_payer_api_payer_api_proto_goTypes = nil + file_xmtpv4_payer_api_payer_api_proto_depIdxs = nil +} diff --git a/pkg/proto/xmtpv4/payer_api/payer_api.pb.gw.go b/pkg/proto/xmtpv4/payer_api/payer_api.pb.gw.go new file mode 100644 index 00000000..cc4f2add --- /dev/null +++ b/pkg/proto/xmtpv4/payer_api/payer_api.pb.gw.go @@ -0,0 +1,163 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: xmtpv4/payer_api/payer_api.proto + +/* +Package payer_api is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package payer_api + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/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" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_PayerApi_PublishClientEnvelopes_0(ctx context.Context, marshaler runtime.Marshaler, client PayerApiClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PublishClientEnvelopesRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PublishClientEnvelopes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PayerApi_PublishClientEnvelopes_0(ctx context.Context, marshaler runtime.Marshaler, server PayerApiServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PublishClientEnvelopesRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PublishClientEnvelopes(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterPayerApiHandlerServer registers the http handlers for service PayerApi to "mux". +// UnaryRPC :call PayerApiServer 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 RegisterPayerApiHandlerFromEndpoint instead. +func RegisterPayerApiHandlerServer(ctx context.Context, mux *runtime.ServeMux, server PayerApiServer) error { + + mux.Handle("POST", pattern_PayerApi_PublishClientEnvelopes_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/xmtp.xmtpv4.payer_api.PayerApi/PublishClientEnvelopes", runtime.WithHTTPPathPattern("/mls/v2/payer/publish-client-envelopes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PayerApi_PublishClientEnvelopes_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PayerApi_PublishClientEnvelopes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterPayerApiHandlerFromEndpoint is same as RegisterPayerApiHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterPayerApiHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.DialContext(ctx, 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 RegisterPayerApiHandler(ctx, mux, conn) +} + +// RegisterPayerApiHandler registers the http handlers for service PayerApi to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterPayerApiHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterPayerApiHandlerClient(ctx, mux, NewPayerApiClient(conn)) +} + +// RegisterPayerApiHandlerClient registers the http handlers for service PayerApi +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "PayerApiClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "PayerApiClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "PayerApiClient" to call the correct interceptors. +func RegisterPayerApiHandlerClient(ctx context.Context, mux *runtime.ServeMux, client PayerApiClient) error { + + mux.Handle("POST", pattern_PayerApi_PublishClientEnvelopes_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/xmtp.xmtpv4.payer_api.PayerApi/PublishClientEnvelopes", runtime.WithHTTPPathPattern("/mls/v2/payer/publish-client-envelopes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PayerApi_PublishClientEnvelopes_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PayerApi_PublishClientEnvelopes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_PayerApi_PublishClientEnvelopes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mls", "v2", "payer", "publish-client-envelopes"}, "")) +) + +var ( + forward_PayerApi_PublishClientEnvelopes_0 = runtime.ForwardResponseMessage +) diff --git a/pkg/proto/xmtpv4/payer_api/payer_api_grpc.pb.go b/pkg/proto/xmtpv4/payer_api/payer_api_grpc.pb.go new file mode 100644 index 00000000..dbc2c76f --- /dev/null +++ b/pkg/proto/xmtpv4/payer_api/payer_api_grpc.pb.go @@ -0,0 +1,113 @@ +// Payer API + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: xmtpv4/payer_api/payer_api.proto + +package payer_api + +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 ( + PayerApi_PublishClientEnvelopes_FullMethodName = "/xmtp.xmtpv4.payer_api.PayerApi/PublishClientEnvelopes" +) + +// PayerApiClient is the client API for PayerApi 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 PayerApiClient interface { + // Publish envelope + PublishClientEnvelopes(ctx context.Context, in *PublishClientEnvelopesRequest, opts ...grpc.CallOption) (*PublishClientEnvelopesResponse, error) +} + +type payerApiClient struct { + cc grpc.ClientConnInterface +} + +func NewPayerApiClient(cc grpc.ClientConnInterface) PayerApiClient { + return &payerApiClient{cc} +} + +func (c *payerApiClient) PublishClientEnvelopes(ctx context.Context, in *PublishClientEnvelopesRequest, opts ...grpc.CallOption) (*PublishClientEnvelopesResponse, error) { + out := new(PublishClientEnvelopesResponse) + err := c.cc.Invoke(ctx, PayerApi_PublishClientEnvelopes_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// PayerApiServer is the server API for PayerApi service. +// All implementations must embed UnimplementedPayerApiServer +// for forward compatibility +type PayerApiServer interface { + // Publish envelope + PublishClientEnvelopes(context.Context, *PublishClientEnvelopesRequest) (*PublishClientEnvelopesResponse, error) + mustEmbedUnimplementedPayerApiServer() +} + +// UnimplementedPayerApiServer must be embedded to have forward compatible implementations. +type UnimplementedPayerApiServer struct { +} + +func (UnimplementedPayerApiServer) PublishClientEnvelopes(context.Context, *PublishClientEnvelopesRequest) (*PublishClientEnvelopesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PublishClientEnvelopes not implemented") +} +func (UnimplementedPayerApiServer) mustEmbedUnimplementedPayerApiServer() {} + +// UnsafePayerApiServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to PayerApiServer will +// result in compilation errors. +type UnsafePayerApiServer interface { + mustEmbedUnimplementedPayerApiServer() +} + +func RegisterPayerApiServer(s grpc.ServiceRegistrar, srv PayerApiServer) { + s.RegisterService(&PayerApi_ServiceDesc, srv) +} + +func _PayerApi_PublishClientEnvelopes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PublishClientEnvelopesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PayerApiServer).PublishClientEnvelopes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: PayerApi_PublishClientEnvelopes_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PayerApiServer).PublishClientEnvelopes(ctx, req.(*PublishClientEnvelopesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// PayerApi_ServiceDesc is the grpc.ServiceDesc for PayerApi service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var PayerApi_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "xmtp.xmtpv4.payer_api.PayerApi", + HandlerType: (*PayerApiServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "PublishClientEnvelopes", + Handler: _PayerApi_PublishClientEnvelopes_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "xmtpv4/payer_api/payer_api.proto", +}