mixmessages

package
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2023 License: BSD-2-Clause Imports: 29 Imported by: 40

README

gRPC - Adding New Cryptop Message Types

Note: This guide is specifically intended for adding new node comms. It can easily generalized to comms relevant to client, gateway, etc., but specific file paths may not be correct.

Step 1: Add Message to mixmessages.proto

Create a new message, resembling a struct in golang.

message PrecompDecryptSlot {
  uint64 Slot = 1;
  bytes EncryptedPayloadAKeys = 2;
  bytes EncryptedPayloadBKeys = 3;
  bytes PartialPayloadACypherText = 4;
  bytes PartialPayloadBCypherText = 5;
}

Simply specify a type and name for each field, and set equal to its field number.

For cryptop-type messages, you will likely need to wrap that message in a message of its own containing the RoundID and an array (aka repeated) of messages. This wrapper message represents a batch for the cryptop.

// Message for batch of Precomp Decrypt Slots
message PrecompDecryptMessage {
  string RoundID = 1;
  repeated PrecompDecryptSlot Slots = 2;
}

Then, simply add an rpc in service Node specifying what the endpoint for your new message will be called. You must also specify what message that endpoint will trigger with, and what type of message to respond with (Keep in mind, these are examples and actual names may change)

For example, this rpc is called PrecompDecrypt. PrecompDecryptMessage messages will end up here, and the endpoint will respond with a generic blank Ack message (Use Ack if you don't need anything back, which is the case for cryptops).

rpc PrecompDecrypt (PrecompDecryptMessage) returns (Ack) {}
Optional

You may also want to create a message that should be used as an ACK for your new message. For example, we want to respond to Ping messages with Pong messages:

rpc AskOnline (Ping) returns (Pong) {}
message Ping {}
message Pong {}
Step 2: Regenerate mixmessages.pb.go

Run the following command in the base project directory (assuming you've set gRPC up correctly per the main README):

go get -u github.com/golang/protobuf/protoc-gen-go@v1.22.0
cd mixmessages
protoc -I. -I/path/to/gitlab.com mixmessages.proto --go_opt=paths=source_relative --go_out=plugins=grpc:../mixmessages/
cd ..

Note that /path/to/gitlab must have xx_network/comms and elixxir/comms checked out into it.

This enables interacting with your new messages like normal go structs.

Step 3: Implement your rpc endpoint in endpoint.go

This step is required for every rpc you create, otherwise there will be errors. Create a method on server for your message. It will take in a Context and your message as arguments, and return the message type that was specified in your rpc. For example, PrecompDecrypt looks like:

func (s *server) PrecompDecrypt(ctx context.Context, msg *pb.PrecompDecryptMessage) (*pb.Ack, error) {
	// Call the server handler with the msg
	serverHandler.PrecompDecrypt(msg)
	return &pb.Ack{}, nil
}

This method will be called every time the endpoint receives your message. For cryptops, this is where you must pass your message to server by calling serverHandler.YOURCRYPTOP(msg) like above. We will create this interface method in Step 5.

Step 4: Add SendMessage function for your rpc in node package

Create a new file in node package for your rpc. The purpose of this is to be able to send a message from the server repository without any dependencies on gRPC. You may copy one of the other files in this package and modify the message input and return types. Additionally, make sure you call your endpoint from Step 3 in the method body as follows:

result, err := c.PrecompDecrypt(ctx, input)

Add any additional logic that may be required when sending your message here. This is the last step for normal messages. For cryptop messages, continue to Step 5.

Step 5: Add interface method for cryptop in serverHandler.go

Add a method to the interface for your new cryptop message. For example,

type ServerHandler interface {
	// Server Interface for the PrecompDecrypt Messages
	PrecompDecrypt(*mixmessages.PrecompDecryptMessage)
}

We will be implementing this method in the server repository in the server/node package. It is recommended that you stub this method out now in order to prevent interface implementation errors once your new message is merged.

Step 6: Testing

Find the mockserver_test.go file in the same node package, and add a blank method in order to implement the interface method you added in Step 5. Do the same for mockserver_test.go located in the client package.

Then, you may write a test for your Send function you added in Step 4 (which also tests the Step 3 endpoint, which is why we need the TestInterface). For example:

// Smoke test SendPrecompDecrypt
func TestSendPrecompDecrypt(t *testing.T) {
	addr := "localhost:5555"
	go mixserver.StartServer(addr, TestInterface{})
	_, err := SendPrecompDecrypt(addr, &pb.PrecompDecryptMessage{})
	if err != nil {
		t.Errorf("PrecompDecrypt: Error received: %s", err)
	}
}

Documentation

Overview

Contains functions to make the RoundInfo message type conform to a generic signing interface

Index

Constants

View Source
const (
	PostPhaseHeader        = "batchinfo"
	UnmixedBatchHeader     = "unmixedbatchinfo"
	MixedBatchHeader       = "mixedBatchInfo"
	FinishRealtimeHeader   = "finishRealtimeRoundInfo"
	PrecompTestBatchHeader = "precompTestBatch"
)

Headers for streaming

View Source
const ChunkHeader = "totalChunks"

ChunkHeader is the header used for by a gateway streaming its response for client poll. This is used for streaming the amount of chunks the response has been split into.

View Source
const ChunkSize = 1250

ChunkSize is the size of a streaming chunk in bytes.

View Source
const NoStreamingHeaderErr = "Streaming header has no information from %s"

Variables

View Source
var Authorizer_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "mixmessages.Authorizer",
	HandlerType: (*AuthorizerServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Authorize",
			Handler:    _Authorizer_Authorize_Handler,
		},
		{
			MethodName: "RequestCert",
			Handler:    _Authorizer_RequestCert_Handler,
		},
		{
			MethodName: "RequestEABCredentials",
			Handler:    _Authorizer_RequestEABCredentials_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "mixmessages.proto",
}

Authorizer_ServiceDesc is the grpc.ServiceDesc for Authorizer service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var ClientRegistrar_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "mixmessages.ClientRegistrar",
	HandlerType: (*ClientRegistrarServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "RegisterUser",
			Handler:    _ClientRegistrar_RegisterUser_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "mixmessages.proto",
}

ClientRegistrar_ServiceDesc is the grpc.ServiceDesc for ClientRegistrar service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var File_mixmessages_proto protoreflect.FileDescriptor
View Source
var Gateway_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "mixmessages.Gateway",
	HandlerType: (*GatewayServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "RequestClientKey",
			Handler:    _Gateway_RequestClientKey_Handler,
		},
		{
			MethodName: "BatchNodeRegistration",
			Handler:    _Gateway_BatchNodeRegistration_Handler,
		},
		{
			MethodName: "PutMessage",
			Handler:    _Gateway_PutMessage_Handler,
		},
		{
			MethodName: "PutManyMessages",
			Handler:    _Gateway_PutManyMessages_Handler,
		},
		{
			MethodName: "PutMessageProxy",
			Handler:    _Gateway_PutMessageProxy_Handler,
		},
		{
			MethodName: "PutManyMessagesProxy",
			Handler:    _Gateway_PutManyMessagesProxy_Handler,
		},
		{
			MethodName: "RequestHistoricalRounds",
			Handler:    _Gateway_RequestHistoricalRounds_Handler,
		},
		{
			MethodName: "RequestMessages",
			Handler:    _Gateway_RequestMessages_Handler,
		},
		{
			MethodName: "RequestBatchMessages",
			Handler:    _Gateway_RequestBatchMessages_Handler,
		},
		{
			MethodName: "RequestTlsCert",
			Handler:    _Gateway_RequestTlsCert_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "Poll",
			Handler:       _Gateway_Poll_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "mixmessages.proto",
}

Gateway_ServiceDesc is the grpc.ServiceDesc for Gateway service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var Node_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "mixmessages.Node",
	HandlerType: (*NodeServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "AskOnline",
			Handler:    _Node_AskOnline_Handler,
		},
		{
			MethodName: "CreateNewRound",
			Handler:    _Node_CreateNewRound_Handler,
		},
		{
			MethodName: "PostPhase",
			Handler:    _Node_PostPhase_Handler,
		},
		{
			MethodName: "GetRoundBufferInfo",
			Handler:    _Node_GetRoundBufferInfo_Handler,
		},
		{
			MethodName: "RequestClientKey",
			Handler:    _Node_RequestClientKey_Handler,
		},
		{
			MethodName: "PostPrecompResult",
			Handler:    _Node_PostPrecompResult_Handler,
		},
		{
			MethodName: "GetMeasure",
			Handler:    _Node_GetMeasure_Handler,
		},
		{
			MethodName: "Poll",
			Handler:    _Node_Poll_Handler,
		},
		{
			MethodName: "SendRoundTripPing",
			Handler:    _Node_SendRoundTripPing_Handler,
		},
		{
			MethodName: "RoundError",
			Handler:    _Node_RoundError_Handler,
		},
		{
			MethodName: "GetPermissioningAddress",
			Handler:    _Node_GetPermissioningAddress_Handler,
		},
		{
			MethodName: "StartSharePhase",
			Handler:    _Node_StartSharePhase_Handler,
		},
		{
			MethodName: "SharePhaseRound",
			Handler:    _Node_SharePhaseRound_Handler,
		},
		{
			MethodName: "ShareFinalKey",
			Handler:    _Node_ShareFinalKey_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "UploadUnmixedBatch",
			Handler:       _Node_UploadUnmixedBatch_Handler,
			ClientStreams: true,
		},
		{
			StreamName:    "FinishRealtime",
			Handler:       _Node_FinishRealtime_Handler,
			ClientStreams: true,
		},
		{
			StreamName:    "PrecompTestBatch",
			Handler:       _Node_PrecompTestBatch_Handler,
			ClientStreams: true,
		},
		{
			StreamName:    "StreamPostPhase",
			Handler:       _Node_StreamPostPhase_Handler,
			ClientStreams: true,
		},
		{
			StreamName:    "DownloadMixedBatch",
			Handler:       _Node_DownloadMixedBatch_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "mixmessages.proto",
}

Node_ServiceDesc is the grpc.ServiceDesc for Node service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var NotificationBot_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "mixmessages.NotificationBot",
	HandlerType: (*NotificationBotServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "UnregisterForNotifications",
			Handler:    _NotificationBot_UnregisterForNotifications_Handler,
		},
		{
			MethodName: "RegisterForNotifications",
			Handler:    _NotificationBot_RegisterForNotifications_Handler,
		},
		{
			MethodName: "ReceiveNotificationBatch",
			Handler:    _NotificationBot_ReceiveNotificationBatch_Handler,
		},
		{
			MethodName: "RegisterToken",
			Handler:    _NotificationBot_RegisterToken_Handler,
		},
		{
			MethodName: "UnregisterToken",
			Handler:    _NotificationBot_UnregisterToken_Handler,
		},
		{
			MethodName: "RegisterTrackedID",
			Handler:    _NotificationBot_RegisterTrackedID_Handler,
		},
		{
			MethodName: "UnregisterTrackedID",
			Handler:    _NotificationBot_UnregisterTrackedID_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "mixmessages.proto",
}

NotificationBot_ServiceDesc is the grpc.ServiceDesc for NotificationBot service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var Registration_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "mixmessages.Registration",
	HandlerType: (*RegistrationServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "RegisterNode",
			Handler:    _Registration_RegisterNode_Handler,
		},
		{
			MethodName: "PollNdf",
			Handler:    _Registration_PollNdf_Handler,
		},
		{
			MethodName: "Poll",
			Handler:    _Registration_Poll_Handler,
		},
		{
			MethodName: "CheckRegistration",
			Handler:    _Registration_CheckRegistration_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "mixmessages.proto",
}

Registration_ServiceDesc is the grpc.ServiceDesc for Registration service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var RemoteSync_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "mixmessages.RemoteSync",
	HandlerType: (*RemoteSyncServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Login",
			Handler:    _RemoteSync_Login_Handler,
		},
		{
			MethodName: "Read",
			Handler:    _RemoteSync_Read_Handler,
		},
		{
			MethodName: "Write",
			Handler:    _RemoteSync_Write_Handler,
		},
		{
			MethodName: "GetLastModified",
			Handler:    _RemoteSync_GetLastModified_Handler,
		},
		{
			MethodName: "GetLastWrite",
			Handler:    _RemoteSync_GetLastWrite_Handler,
		},
		{
			MethodName: "ReadDir",
			Handler:    _RemoteSync_ReadDir_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "mixmessages.proto",
}

RemoteSync_ServiceDesc is the grpc.ServiceDesc for RemoteSync service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var UDB_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "mixmessages.UDB",
	HandlerType: (*UDBServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "RegisterUser",
			Handler:    _UDB_RegisterUser_Handler,
		},
		{
			MethodName: "RemoveUser",
			Handler:    _UDB_RemoveUser_Handler,
		},
		{
			MethodName: "RegisterFact",
			Handler:    _UDB_RegisterFact_Handler,
		},
		{
			MethodName: "ConfirmFact",
			Handler:    _UDB_ConfirmFact_Handler,
		},
		{
			MethodName: "RemoveFact",
			Handler:    _UDB_RemoveFact_Handler,
		},
		{
			MethodName: "RequestChannelLease",
			Handler:    _UDB_RequestChannelLease_Handler,
		},
		{
			MethodName: "ValidateUsername",
			Handler:    _UDB_ValidateUsername_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "mixmessages.proto",
}

UDB_ServiceDesc is the grpc.ServiceDesc for UDB service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func AssembleChunksIntoResponse

func AssembleChunksIntoResponse(chunks []*StreamChunk, response proto.Message) error

AssembleChunksIntoResponse takes a list of StreamChunk's and assembles the datum into the message type expected by the caller. This functions acts as the inverse of SplitResponseIntoChunks.

func DebugMode

func DebugMode()

func MakeNotificationsCSV

func MakeNotificationsCSV(l []*NotificationData) string

func RandStringRunes

func RandStringRunes(n int) string

func RegisterAuthorizerServer

func RegisterAuthorizerServer(s grpc.ServiceRegistrar, srv AuthorizerServer)

func RegisterClientRegistrarServer

func RegisterClientRegistrarServer(s grpc.ServiceRegistrar, srv ClientRegistrarServer)

func RegisterGatewayServer

func RegisterGatewayServer(s grpc.ServiceRegistrar, srv GatewayServer)

func RegisterNodeServer

func RegisterNodeServer(s grpc.ServiceRegistrar, srv NodeServer)

func RegisterNotificationBotServer

func RegisterNotificationBotServer(s grpc.ServiceRegistrar, srv NotificationBotServer)

func RegisterRegistrationServer

func RegisterRegistrationServer(s grpc.ServiceRegistrar, srv RegistrationServer)

func RegisterRemoteSyncServer

func RegisterRemoteSyncServer(s grpc.ServiceRegistrar, srv RemoteSyncServer)

func RegisterUDBServer

func RegisterUDBServer(s grpc.ServiceRegistrar, srv UDBServer)

func TraceMode

func TraceMode()

Types

type AuthorizerAuth

type AuthorizerAuth struct {
	NodeID    []byte `protobuf:"bytes,1,opt,name=NodeID,proto3" json:"NodeID,omitempty"`
	Salt      []byte `protobuf:"bytes,2,opt,name=Salt,proto3" json:"Salt,omitempty"`
	PubkeyPem []byte `protobuf:"bytes,3,opt,name=PubkeyPem,proto3" json:"PubkeyPem,omitempty"`
	TimeStamp int64  `protobuf:"varint,4,opt,name=TimeStamp,proto3" json:"TimeStamp,omitempty"`
	Signature []byte `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"`
	// contains filtered or unexported fields
}

func (*AuthorizerAuth) Descriptor deprecated

func (*AuthorizerAuth) Descriptor() ([]byte, []int)

Deprecated: Use AuthorizerAuth.ProtoReflect.Descriptor instead.

func (*AuthorizerAuth) GetNodeID

func (x *AuthorizerAuth) GetNodeID() []byte

func (*AuthorizerAuth) GetPubkeyPem

func (x *AuthorizerAuth) GetPubkeyPem() []byte

func (*AuthorizerAuth) GetSalt

func (x *AuthorizerAuth) GetSalt() []byte

func (*AuthorizerAuth) GetSignature

func (x *AuthorizerAuth) GetSignature() []byte

func (*AuthorizerAuth) GetTimeStamp

func (x *AuthorizerAuth) GetTimeStamp() int64

func (*AuthorizerAuth) ProtoMessage

func (*AuthorizerAuth) ProtoMessage()

func (*AuthorizerAuth) ProtoReflect

func (x *AuthorizerAuth) ProtoReflect() protoreflect.Message

func (*AuthorizerAuth) Reset

func (x *AuthorizerAuth) Reset()

func (*AuthorizerAuth) String

func (x *AuthorizerAuth) String() string

type AuthorizerCertRequest

type AuthorizerCertRequest struct {
	GwID      []byte `protobuf:"bytes,1,opt,name=GwID,proto3" json:"GwID,omitempty"`
	Timestamp int64  `protobuf:"varint,2,opt,name=Timestamp,proto3" json:"Timestamp,omitempty"`
	ACMEToken string `protobuf:"bytes,3,opt,name=ACMEToken,proto3" json:"ACMEToken,omitempty"`
	Signature []byte `protobuf:"bytes,4,opt,name=Signature,proto3" json:"Signature,omitempty"`
	// contains filtered or unexported fields
}

func (*AuthorizerCertRequest) Descriptor deprecated

func (*AuthorizerCertRequest) Descriptor() ([]byte, []int)

Deprecated: Use AuthorizerCertRequest.ProtoReflect.Descriptor instead.

func (*AuthorizerCertRequest) GetACMEToken

func (x *AuthorizerCertRequest) GetACMEToken() string

func (*AuthorizerCertRequest) GetGwID

func (x *AuthorizerCertRequest) GetGwID() []byte

func (*AuthorizerCertRequest) GetSignature

func (x *AuthorizerCertRequest) GetSignature() []byte

func (*AuthorizerCertRequest) GetTimestamp

func (x *AuthorizerCertRequest) GetTimestamp() int64

func (*AuthorizerCertRequest) ProtoMessage

func (*AuthorizerCertRequest) ProtoMessage()

func (*AuthorizerCertRequest) ProtoReflect

func (x *AuthorizerCertRequest) ProtoReflect() protoreflect.Message

func (*AuthorizerCertRequest) Reset

func (x *AuthorizerCertRequest) Reset()

func (*AuthorizerCertRequest) String

func (x *AuthorizerCertRequest) String() string

type AuthorizerClient

type AuthorizerClient interface {
	Authorize(ctx context.Context, in *AuthorizerAuth, opts ...grpc.CallOption) (*messages.Ack, error)
	RequestCert(ctx context.Context, in *AuthorizerCertRequest, opts ...grpc.CallOption) (*messages.Ack, error)
	RequestEABCredentials(ctx context.Context, in *EABCredentialRequest, opts ...grpc.CallOption) (*EABCredentialResponse, error)
}

AuthorizerClient is the client API for Authorizer 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.

func NewAuthorizerClient

func NewAuthorizerClient(cc grpc.ClientConnInterface) AuthorizerClient

type AuthorizerServer

type AuthorizerServer interface {
	Authorize(context.Context, *AuthorizerAuth) (*messages.Ack, error)
	RequestCert(context.Context, *AuthorizerCertRequest) (*messages.Ack, error)
	RequestEABCredentials(context.Context, *EABCredentialRequest) (*EABCredentialResponse, error)
	// contains filtered or unexported methods
}

AuthorizerServer is the server API for Authorizer service. All implementations must embed UnimplementedAuthorizerServer for forward compatibility

type Batch

type Batch struct {
	Round     *RoundInfo `protobuf:"bytes,1,opt,name=Round,proto3" json:"Round,omitempty"`
	FromPhase int32      `protobuf:"varint,2,opt,name=FromPhase,proto3" json:"FromPhase,omitempty"`
	Slots     []*Slot    `protobuf:"bytes,3,rep,name=slots,proto3" json:"slots,omitempty"`
	// contains filtered or unexported fields
}

Contains the complete set of messages/slots for a round

func (*Batch) Descriptor deprecated

func (*Batch) Descriptor() ([]byte, []int)

Deprecated: Use Batch.ProtoReflect.Descriptor instead.

func (*Batch) GetFromPhase

func (x *Batch) GetFromPhase() int32

func (*Batch) GetRound

func (x *Batch) GetRound() *RoundInfo

func (*Batch) GetSlots

func (x *Batch) GetSlots() []*Slot

func (*Batch) ProtoMessage

func (*Batch) ProtoMessage()

func (*Batch) ProtoReflect

func (x *Batch) ProtoReflect() protoreflect.Message

func (*Batch) Reset

func (x *Batch) Reset()

func (*Batch) String

func (x *Batch) String() string

type BatchInfo

type BatchInfo struct {
	Round     *RoundInfo `protobuf:"bytes,1,opt,name=Round,proto3" json:"Round,omitempty"`
	FromPhase int32      `protobuf:"varint,2,opt,name=FromPhase,proto3" json:"FromPhase,omitempty"`
	BatchSize uint32     `protobuf:"varint,3,opt,name=BatchSize,proto3" json:"BatchSize,omitempty"`
	// contains filtered or unexported fields
}

Used as part of header for streaming slots

func (*BatchInfo) Descriptor deprecated

func (*BatchInfo) Descriptor() ([]byte, []int)

Deprecated: Use BatchInfo.ProtoReflect.Descriptor instead.

func (*BatchInfo) GetBatchSize

func (x *BatchInfo) GetBatchSize() uint32

func (*BatchInfo) GetFromPhase

func (x *BatchInfo) GetFromPhase() int32

func (*BatchInfo) GetRound

func (x *BatchInfo) GetRound() *RoundInfo

func (*BatchInfo) ProtoMessage

func (*BatchInfo) ProtoMessage()

func (*BatchInfo) ProtoReflect

func (x *BatchInfo) ProtoReflect() protoreflect.Message

func (*BatchInfo) Reset

func (x *BatchInfo) Reset()

func (*BatchInfo) String

func (x *BatchInfo) String() string

type BatchReady

type BatchReady struct {
	RoundId uint64 `protobuf:"varint,1,opt,name=RoundId,proto3" json:"RoundId,omitempty"`
	// contains filtered or unexported fields
}

func (*BatchReady) Descriptor deprecated

func (*BatchReady) Descriptor() ([]byte, []int)

Deprecated: Use BatchReady.ProtoReflect.Descriptor instead.

func (*BatchReady) GetRoundId

func (x *BatchReady) GetRoundId() uint64

func (*BatchReady) ProtoMessage

func (*BatchReady) ProtoMessage()

func (*BatchReady) ProtoReflect

func (x *BatchReady) ProtoReflect() protoreflect.Message

func (*BatchReady) Reset

func (x *BatchReady) Reset()

func (*BatchReady) String

func (x *BatchReady) String() string

type BatchSenders

type BatchSenders struct {
	SenderIds [][]byte `protobuf:"bytes,1,rep,name=SenderIds,proto3" json:"SenderIds,omitempty"`
	RoundID   uint64   `protobuf:"varint,2,opt,name=RoundID,proto3" json:"RoundID,omitempty"`
	Ips       [][]byte `protobuf:"bytes,3,rep,name=Ips,proto3" json:"Ips,omitempty"`
	// contains filtered or unexported fields
}

Gateway -> Gateway gossip of all Sender IDs in a Batch

func (*BatchSenders) Descriptor deprecated

func (*BatchSenders) Descriptor() ([]byte, []int)

Deprecated: Use BatchSenders.ProtoReflect.Descriptor instead.

func (*BatchSenders) GetIps

func (x *BatchSenders) GetIps() [][]byte

func (*BatchSenders) GetRoundID

func (x *BatchSenders) GetRoundID() uint64

func (*BatchSenders) GetSenderIds

func (x *BatchSenders) GetSenderIds() [][]byte

func (*BatchSenders) ProtoMessage

func (*BatchSenders) ProtoMessage()

func (*BatchSenders) ProtoReflect

func (x *BatchSenders) ProtoReflect() protoreflect.Message

func (*BatchSenders) Reset

func (x *BatchSenders) Reset()

func (*BatchSenders) String

func (x *BatchSenders) String() string

type ChannelLeaseRequest

type ChannelLeaseRequest struct {
	UserID                 []byte `protobuf:"bytes,1,opt,name=UserID,proto3" json:"UserID,omitempty"`
	UserEd25519PubKey      []byte `protobuf:"bytes,2,opt,name=UserEd25519PubKey,proto3" json:"UserEd25519PubKey,omitempty"`
	Timestamp              int64  `protobuf:"varint,3,opt,name=Timestamp,proto3" json:"Timestamp,omitempty"`
	UserPubKeyRSASignature []byte `protobuf:"bytes,4,opt,name=UserPubKeyRSASignature,proto3" json:"UserPubKeyRSASignature,omitempty"`
	// contains filtered or unexported fields
}

Holds information for a user requesting a channel lease from UD

func (*ChannelLeaseRequest) Descriptor deprecated

func (*ChannelLeaseRequest) Descriptor() ([]byte, []int)

Deprecated: Use ChannelLeaseRequest.ProtoReflect.Descriptor instead.

func (*ChannelLeaseRequest) GetTimestamp

func (x *ChannelLeaseRequest) GetTimestamp() int64

func (*ChannelLeaseRequest) GetUserEd25519PubKey

func (x *ChannelLeaseRequest) GetUserEd25519PubKey() []byte

func (*ChannelLeaseRequest) GetUserID

func (x *ChannelLeaseRequest) GetUserID() []byte

func (*ChannelLeaseRequest) GetUserPubKeyRSASignature

func (x *ChannelLeaseRequest) GetUserPubKeyRSASignature() []byte

func (*ChannelLeaseRequest) ProtoMessage

func (*ChannelLeaseRequest) ProtoMessage()

func (*ChannelLeaseRequest) ProtoReflect

func (x *ChannelLeaseRequest) ProtoReflect() protoreflect.Message

func (*ChannelLeaseRequest) Reset

func (x *ChannelLeaseRequest) Reset()

func (*ChannelLeaseRequest) String

func (x *ChannelLeaseRequest) String() string

type ChannelLeaseResponse

type ChannelLeaseResponse struct {
	Lease                   int64  `protobuf:"varint,1,opt,name=Lease,proto3" json:"Lease,omitempty"`
	UserEd25519PubKey       []byte `protobuf:"bytes,2,opt,name=UserEd25519PubKey,proto3" json:"UserEd25519PubKey,omitempty"`
	UDLeaseEd25519Signature []byte `protobuf:"bytes,3,opt,name=UDLeaseEd25519Signature,proto3" json:"UDLeaseEd25519Signature,omitempty"`
	// contains filtered or unexported fields
}

Contains UD response to a ChannelLeaseRequest, including lease & signature

func (*ChannelLeaseResponse) Descriptor deprecated

func (*ChannelLeaseResponse) Descriptor() ([]byte, []int)

Deprecated: Use ChannelLeaseResponse.ProtoReflect.Descriptor instead.

func (*ChannelLeaseResponse) GetLease

func (x *ChannelLeaseResponse) GetLease() int64

func (*ChannelLeaseResponse) GetUDLeaseEd25519Signature

func (x *ChannelLeaseResponse) GetUDLeaseEd25519Signature() []byte

func (*ChannelLeaseResponse) GetUserEd25519PubKey

func (x *ChannelLeaseResponse) GetUserEd25519PubKey() []byte

func (*ChannelLeaseResponse) ProtoMessage

func (*ChannelLeaseResponse) ProtoMessage()

func (*ChannelLeaseResponse) ProtoReflect

func (x *ChannelLeaseResponse) ProtoReflect() protoreflect.Message

func (*ChannelLeaseResponse) Reset

func (x *ChannelLeaseResponse) Reset()

func (*ChannelLeaseResponse) String

func (x *ChannelLeaseResponse) String() string

type ClientBloom

type ClientBloom struct {
	Filter     []byte `protobuf:"bytes,1,opt,name=Filter,proto3" json:"Filter,omitempty"`
	FirstRound uint64 `protobuf:"varint,2,opt,name=FirstRound,proto3" json:"FirstRound,omitempty"`
	RoundRange uint32 `protobuf:"varint,3,opt,name=RoundRange,proto3" json:"RoundRange,omitempty"`
	// contains filtered or unexported fields
}

Hold a ClientBloomFilter and its associated metadata

func (*ClientBloom) Descriptor deprecated

func (*ClientBloom) Descriptor() ([]byte, []int)

Deprecated: Use ClientBloom.ProtoReflect.Descriptor instead.

func (*ClientBloom) GetFilter

func (x *ClientBloom) GetFilter() []byte

func (*ClientBloom) GetFirstRound

func (x *ClientBloom) GetFirstRound() uint64

func (*ClientBloom) GetRoundRange

func (x *ClientBloom) GetRoundRange() uint32

func (*ClientBloom) ProtoMessage

func (*ClientBloom) ProtoMessage()

func (*ClientBloom) ProtoReflect

func (x *ClientBloom) ProtoReflect() protoreflect.Message

func (*ClientBloom) Reset

func (x *ClientBloom) Reset()

func (*ClientBloom) String

func (x *ClientBloom) String() string

type ClientBlooms

type ClientBlooms struct {
	Period         int64          `protobuf:"varint,1,opt,name=Period,proto3" json:"Period,omitempty"`
	FirstTimestamp int64          `protobuf:"varint,2,opt,name=FirstTimestamp,proto3" json:"FirstTimestamp,omitempty"` // Earliest timestamp of the included BloomFilters
	Filters        []*ClientBloom `protobuf:"bytes,3,rep,name=Filters,proto3" json:"Filters,omitempty"`
	// contains filtered or unexported fields
}

Holds a set of ClientBloom and their associated metadata

func (*ClientBlooms) Descriptor deprecated

func (*ClientBlooms) Descriptor() ([]byte, []int)

Deprecated: Use ClientBlooms.ProtoReflect.Descriptor instead.

func (*ClientBlooms) GetFilters

func (x *ClientBlooms) GetFilters() []*ClientBloom

func (*ClientBlooms) GetFirstTimestamp

func (x *ClientBlooms) GetFirstTimestamp() int64

func (*ClientBlooms) GetPeriod

func (x *ClientBlooms) GetPeriod() int64

func (*ClientBlooms) ProtoMessage

func (*ClientBlooms) ProtoMessage()

func (*ClientBlooms) ProtoReflect

func (x *ClientBlooms) ProtoReflect() protoreflect.Message

func (*ClientBlooms) Reset

func (x *ClientBlooms) Reset()

func (*ClientBlooms) String

func (x *ClientBlooms) String() string

type ClientError

type ClientError struct {
	ClientId []byte `protobuf:"bytes,1,opt,name=ClientId,proto3" json:"ClientId,omitempty"`
	Error    string `protobuf:"bytes,2,opt,name=Error,proto3" json:"Error,omitempty"`
	Source   []byte `protobuf:"bytes,3,opt,name=Source,proto3" json:"Source,omitempty"` // ID of the node that created it
	// contains filtered or unexported fields
}

Info containing error among a client Passed server -> Permissioning via the poll comm

func (*ClientError) Descriptor deprecated

func (*ClientError) Descriptor() ([]byte, []int)

Deprecated: Use ClientError.ProtoReflect.Descriptor instead.

func (*ClientError) Digest

func (m *ClientError) Digest(nonce []byte, h hash.Hash) []byte

Digest hashes the contents of the message in a repeatable manner using the provided cryptographic hash. It includes the nonce in the hash

func (*ClientError) GetClientId

func (x *ClientError) GetClientId() []byte

func (*ClientError) GetError

func (x *ClientError) GetError() string

func (*ClientError) GetSource

func (x *ClientError) GetSource() []byte

func (*ClientError) ProtoMessage

func (*ClientError) ProtoMessage()

func (*ClientError) ProtoReflect

func (x *ClientError) ProtoReflect() protoreflect.Message

func (*ClientError) Reset

func (x *ClientError) Reset()

func (*ClientError) String

func (x *ClientError) String() string

type ClientKeyRequest

type ClientKeyRequest struct {

	// Salt used to generate the Client ID
	Salt []byte `protobuf:"bytes,1,opt,name=Salt,proto3" json:"Salt,omitempty"`
	// NOTE: The following entry becomes a pointer to the blockchain that denotes
	// where to find the users public key. The node can then read the blockchain
	// and verify that the registration was done properly there.
	ClientTransmissionConfirmation *SignedRegistrationConfirmation `protobuf:"bytes,2,opt,name=ClientTransmissionConfirmation,proto3" json:"ClientTransmissionConfirmation,omitempty"`
	// the timestamp of this request,
	RequestTimestamp int64 `protobuf:"varint,3,opt,name=RequestTimestamp,proto3" json:"RequestTimestamp,omitempty"`
	// timestamp of registration, tied to ClientRegistrationConfirmation
	RegistrationTimestamp int64 `protobuf:"varint,4,opt,name=RegistrationTimestamp,proto3" json:"RegistrationTimestamp,omitempty"`
	// The public key of the client for the purposes of creating the diffie helman sesskey
	ClientDHPubKey []byte `protobuf:"bytes,5,opt,name=ClientDHPubKey,proto3" json:"ClientDHPubKey,omitempty"`
	// contains filtered or unexported fields
}

func (*ClientKeyRequest) Descriptor deprecated

func (*ClientKeyRequest) Descriptor() ([]byte, []int)

Deprecated: Use ClientKeyRequest.ProtoReflect.Descriptor instead.

func (*ClientKeyRequest) GetClientDHPubKey

func (x *ClientKeyRequest) GetClientDHPubKey() []byte

func (*ClientKeyRequest) GetClientTransmissionConfirmation

func (x *ClientKeyRequest) GetClientTransmissionConfirmation() *SignedRegistrationConfirmation

func (*ClientKeyRequest) GetRegistrationTimestamp

func (x *ClientKeyRequest) GetRegistrationTimestamp() int64

func (*ClientKeyRequest) GetRequestTimestamp

func (x *ClientKeyRequest) GetRequestTimestamp() int64

func (*ClientKeyRequest) GetSalt

func (x *ClientKeyRequest) GetSalt() []byte

func (*ClientKeyRequest) ProtoMessage

func (*ClientKeyRequest) ProtoMessage()

func (*ClientKeyRequest) ProtoReflect

func (x *ClientKeyRequest) ProtoReflect() protoreflect.Message

func (*ClientKeyRequest) Reset

func (x *ClientKeyRequest) Reset()

func (*ClientKeyRequest) String

func (x *ClientKeyRequest) String() string

type ClientKeyResponse

type ClientKeyResponse struct {
	EncryptedClientKey     []byte `protobuf:"bytes,1,opt,name=EncryptedClientKey,proto3" json:"EncryptedClientKey,omitempty"`
	EncryptedClientKeyHMAC []byte `protobuf:"bytes,2,opt,name=EncryptedClientKeyHMAC,proto3" json:"EncryptedClientKeyHMAC,omitempty"`
	NodeDHPubKey           []byte `protobuf:"bytes,3,opt,name=NodeDHPubKey,proto3" json:"NodeDHPubKey,omitempty"`
	KeyID                  []byte `protobuf:"bytes,4,opt,name=KeyID,proto3" json:"KeyID,omitempty"`            // Currently unused and empty.
	ValidUntil             uint64 `protobuf:"varint,5,opt,name=ValidUntil,proto3" json:"ValidUntil,omitempty"` // Timestamp of when the key expires
	// contains filtered or unexported fields
}

func (*ClientKeyResponse) Descriptor deprecated

func (*ClientKeyResponse) Descriptor() ([]byte, []int)

Deprecated: Use ClientKeyResponse.ProtoReflect.Descriptor instead.

func (*ClientKeyResponse) GetEncryptedClientKey

func (x *ClientKeyResponse) GetEncryptedClientKey() []byte

func (*ClientKeyResponse) GetEncryptedClientKeyHMAC

func (x *ClientKeyResponse) GetEncryptedClientKeyHMAC() []byte

func (*ClientKeyResponse) GetKeyID

func (x *ClientKeyResponse) GetKeyID() []byte

func (*ClientKeyResponse) GetNodeDHPubKey

func (x *ClientKeyResponse) GetNodeDHPubKey() []byte

func (*ClientKeyResponse) GetValidUntil

func (x *ClientKeyResponse) GetValidUntil() uint64

func (*ClientKeyResponse) ProtoMessage

func (*ClientKeyResponse) ProtoMessage()

func (*ClientKeyResponse) ProtoReflect

func (x *ClientKeyResponse) ProtoReflect() protoreflect.Message

func (*ClientKeyResponse) Reset

func (x *ClientKeyResponse) Reset()

func (*ClientKeyResponse) String

func (x *ClientKeyResponse) String() string

type ClientRegistrarClient

type ClientRegistrarClient interface {
	// Client uses this to register its user with the system
	RegisterUser(ctx context.Context, in *ClientRegistration, opts ...grpc.CallOption) (*SignedClientRegistrationConfirmations, error)
}

ClientRegistrarClient is the client API for ClientRegistrar 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 ClientRegistrarServer

type ClientRegistrarServer interface {
	// Client uses this to register its user with the system
	RegisterUser(context.Context, *ClientRegistration) (*SignedClientRegistrationConfirmations, error)
	// contains filtered or unexported methods
}

ClientRegistrarServer is the server API for ClientRegistrar service. All implementations must embed UnimplementedClientRegistrarServer for forward compatibility

type ClientRegistration

type ClientRegistration struct {
	RegistrationCode            string `protobuf:"bytes,1,opt,name=RegistrationCode,proto3" json:"RegistrationCode,omitempty"`
	ClientTransmissionRSAPubKey string `protobuf:"bytes,2,opt,name=ClientTransmissionRSAPubKey,proto3" json:"ClientTransmissionRSAPubKey,omitempty"`
	ClientReceptionRSAPubKey    string `protobuf:"bytes,3,opt,name=ClientReceptionRSAPubKey,proto3" json:"ClientReceptionRSAPubKey,omitempty"`
	// contains filtered or unexported fields
}

UserRegistration message to initialize registration process Client -> ClientRegistrar

func (*ClientRegistration) Descriptor deprecated

func (*ClientRegistration) Descriptor() ([]byte, []int)

Deprecated: Use ClientRegistration.ProtoReflect.Descriptor instead.

func (*ClientRegistration) GetClientReceptionRSAPubKey

func (x *ClientRegistration) GetClientReceptionRSAPubKey() string

func (*ClientRegistration) GetClientTransmissionRSAPubKey

func (x *ClientRegistration) GetClientTransmissionRSAPubKey() string

func (*ClientRegistration) GetRegistrationCode

func (x *ClientRegistration) GetRegistrationCode() string

func (*ClientRegistration) ProtoMessage

func (*ClientRegistration) ProtoMessage()

func (*ClientRegistration) ProtoReflect

func (x *ClientRegistration) ProtoReflect() protoreflect.Message

func (*ClientRegistration) Reset

func (x *ClientRegistration) Reset()

func (*ClientRegistration) String

func (x *ClientRegistration) String() string

type ClientRegistrationConfirmation

type ClientRegistrationConfirmation struct {
	RSAPubKey string `protobuf:"bytes,1,opt,name=RSAPubKey,proto3" json:"RSAPubKey,omitempty"`
	Timestamp int64  `protobuf:"varint,2,opt,name=Timestamp,proto3" json:"Timestamp,omitempty"`
	// contains filtered or unexported fields
}

ClientRegistrationConfirmation to confirm registration with Clients ClientRegistrar -> Client (Response to ClientRegistration)

func (*ClientRegistrationConfirmation) Descriptor deprecated

func (*ClientRegistrationConfirmation) Descriptor() ([]byte, []int)

Deprecated: Use ClientRegistrationConfirmation.ProtoReflect.Descriptor instead.

func (*ClientRegistrationConfirmation) GetRSAPubKey

func (x *ClientRegistrationConfirmation) GetRSAPubKey() string

func (*ClientRegistrationConfirmation) GetTimestamp

func (x *ClientRegistrationConfirmation) GetTimestamp() int64

func (*ClientRegistrationConfirmation) ProtoMessage

func (*ClientRegistrationConfirmation) ProtoMessage()

func (*ClientRegistrationConfirmation) ProtoReflect

func (*ClientRegistrationConfirmation) Reset

func (x *ClientRegistrationConfirmation) Reset()

func (*ClientRegistrationConfirmation) String

type ClientVersion

type ClientVersion struct {
	Version string `protobuf:"bytes,1,opt,name=Version,proto3" json:"Version,omitempty"`
	// contains filtered or unexported fields
}

ClientVersion contains a version string for the client

func (*ClientVersion) Descriptor deprecated

func (*ClientVersion) Descriptor() ([]byte, []int)

Deprecated: Use ClientVersion.ProtoReflect.Descriptor instead.

func (*ClientVersion) GetVersion

func (x *ClientVersion) GetVersion() string

func (*ClientVersion) ProtoMessage

func (*ClientVersion) ProtoMessage()

func (*ClientVersion) ProtoReflect

func (x *ClientVersion) ProtoReflect() protoreflect.Message

func (*ClientVersion) Reset

func (x *ClientVersion) Reset()

func (*ClientVersion) String

func (x *ClientVersion) String() string

type CompletedBatch

type CompletedBatch struct {
	RoundID uint64  `protobuf:"varint,1,opt,name=RoundID,proto3" json:"RoundID,omitempty"`
	Slots   []*Slot `protobuf:"bytes,2,rep,name=slots,proto3" json:"slots,omitempty"`
	// contains filtered or unexported fields
}

func (*CompletedBatch) Descriptor deprecated

func (*CompletedBatch) Descriptor() ([]byte, []int)

Deprecated: Use CompletedBatch.ProtoReflect.Descriptor instead.

func (*CompletedBatch) GetRoundID

func (x *CompletedBatch) GetRoundID() uint64

func (*CompletedBatch) GetSlots

func (x *CompletedBatch) GetSlots() []*Slot

func (*CompletedBatch) ProtoMessage

func (*CompletedBatch) ProtoMessage()

func (*CompletedBatch) ProtoReflect

func (x *CompletedBatch) ProtoReflect() protoreflect.Message

func (*CompletedBatch) Reset

func (x *CompletedBatch) Reset()

func (*CompletedBatch) String

func (x *CompletedBatch) String() string

type EABCredentialRequest

type EABCredentialRequest struct {
	// contains filtered or unexported fields
}

func (*EABCredentialRequest) Descriptor deprecated

func (*EABCredentialRequest) Descriptor() ([]byte, []int)

Deprecated: Use EABCredentialRequest.ProtoReflect.Descriptor instead.

func (*EABCredentialRequest) ProtoMessage

func (*EABCredentialRequest) ProtoMessage()

func (*EABCredentialRequest) ProtoReflect

func (x *EABCredentialRequest) ProtoReflect() protoreflect.Message

func (*EABCredentialRequest) Reset

func (x *EABCredentialRequest) Reset()

func (*EABCredentialRequest) String

func (x *EABCredentialRequest) String() string

type EABCredentialResponse

type EABCredentialResponse struct {
	KeyId string `protobuf:"bytes,1,opt,name=KeyId,proto3" json:"KeyId,omitempty"`
	Key   string `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"`
	// contains filtered or unexported fields
}

func (*EABCredentialResponse) Descriptor deprecated

func (*EABCredentialResponse) Descriptor() ([]byte, []int)

Deprecated: Use EABCredentialResponse.ProtoReflect.Descriptor instead.

func (*EABCredentialResponse) GetKey

func (x *EABCredentialResponse) GetKey() string

func (*EABCredentialResponse) GetKeyId

func (x *EABCredentialResponse) GetKeyId() string

func (*EABCredentialResponse) ProtoMessage

func (*EABCredentialResponse) ProtoMessage()

func (*EABCredentialResponse) ProtoReflect

func (x *EABCredentialResponse) ProtoReflect() protoreflect.Message

func (*EABCredentialResponse) Reset

func (x *EABCredentialResponse) Reset()

func (*EABCredentialResponse) String

func (x *EABCredentialResponse) String() string

type Fact

type Fact struct {
	Fact     string `protobuf:"bytes,1,opt,name=Fact,proto3" json:"Fact,omitempty"`
	FactType uint32 `protobuf:"varint,2,opt,name=FactType,proto3" json:"FactType,omitempty"`
	// contains filtered or unexported fields
}

Fact describes a Fact, namely what it is and what type it is

func (*Fact) Descriptor deprecated

func (*Fact) Descriptor() ([]byte, []int)

Deprecated: Use Fact.ProtoReflect.Descriptor instead.

func (*Fact) GetFact

func (x *Fact) GetFact() string

func (*Fact) GetFactType

func (x *Fact) GetFactType() uint32

func (*Fact) ProtoMessage

func (*Fact) ProtoMessage()

func (*Fact) ProtoReflect

func (x *Fact) ProtoReflect() protoreflect.Message

func (*Fact) Reset

func (x *Fact) Reset()

func (*Fact) String

func (x *Fact) String() string

type FactConfirmRequest

type FactConfirmRequest struct {
	ConfirmationID string `protobuf:"bytes,1,opt,name=ConfirmationID,proto3" json:"ConfirmationID,omitempty"`
	Code           string `protobuf:"bytes,2,opt,name=Code,proto3" json:"Code,omitempty"`
	// contains filtered or unexported fields
}

Holds information for a Fact confirmation request

func (*FactConfirmRequest) Descriptor deprecated

func (*FactConfirmRequest) Descriptor() ([]byte, []int)

Deprecated: Use FactConfirmRequest.ProtoReflect.Descriptor instead.

func (*FactConfirmRequest) GetCode

func (x *FactConfirmRequest) GetCode() string

func (*FactConfirmRequest) GetConfirmationID

func (x *FactConfirmRequest) GetConfirmationID() string

func (*FactConfirmRequest) ProtoMessage

func (*FactConfirmRequest) ProtoMessage()

func (*FactConfirmRequest) ProtoReflect

func (x *FactConfirmRequest) ProtoReflect() protoreflect.Message

func (*FactConfirmRequest) Reset

func (x *FactConfirmRequest) Reset()

func (*FactConfirmRequest) String

func (x *FactConfirmRequest) String() string

type FactRegisterRequest

type FactRegisterRequest struct {
	UID     []byte `protobuf:"bytes,1,opt,name=UID,proto3" json:"UID,omitempty"`
	Fact    *Fact  `protobuf:"bytes,2,opt,name=Fact,proto3" json:"Fact,omitempty"`
	FactSig []byte `protobuf:"bytes,3,opt,name=FactSig,proto3" json:"FactSig,omitempty"` // (RSAPublicSign(Fact.Digest()))
	// contains filtered or unexported fields
}

Holds information for a Fact registration request

func (*FactRegisterRequest) Descriptor deprecated

func (*FactRegisterRequest) Descriptor() ([]byte, []int)

Deprecated: Use FactRegisterRequest.ProtoReflect.Descriptor instead.

func (*FactRegisterRequest) GetFact

func (x *FactRegisterRequest) GetFact() *Fact

func (*FactRegisterRequest) GetFactSig

func (x *FactRegisterRequest) GetFactSig() []byte

func (*FactRegisterRequest) GetUID

func (x *FactRegisterRequest) GetUID() []byte

func (*FactRegisterRequest) ProtoMessage

func (*FactRegisterRequest) ProtoMessage()

func (*FactRegisterRequest) ProtoReflect

func (x *FactRegisterRequest) ProtoReflect() protoreflect.Message

func (*FactRegisterRequest) Reset

func (x *FactRegisterRequest) Reset()

func (*FactRegisterRequest) String

func (x *FactRegisterRequest) String() string

type FactRegisterResponse

type FactRegisterResponse struct {
	ConfirmationID string `protobuf:"bytes,1,opt,name=ConfirmationID,proto3" json:"ConfirmationID,omitempty"`
	// contains filtered or unexported fields
}

FactRegisterResponse describes UDB's handling of a FactRegisterRequest request

func (*FactRegisterResponse) Descriptor deprecated

func (*FactRegisterResponse) Descriptor() ([]byte, []int)

Deprecated: Use FactRegisterResponse.ProtoReflect.Descriptor instead.

func (*FactRegisterResponse) GetConfirmationID

func (x *FactRegisterResponse) GetConfirmationID() string

func (*FactRegisterResponse) ProtoMessage

func (*FactRegisterResponse) ProtoMessage()

func (*FactRegisterResponse) ProtoReflect

func (x *FactRegisterResponse) ProtoReflect() protoreflect.Message

func (*FactRegisterResponse) Reset

func (x *FactRegisterResponse) Reset()

func (*FactRegisterResponse) String

func (x *FactRegisterResponse) String() string

type FactRemovalRequest

type FactRemovalRequest struct {
	UID         []byte `protobuf:"bytes,1,opt,name=UID,proto3" json:"UID,omitempty"`
	RemovalData *Fact  `protobuf:"bytes,2,opt,name=RemovalData,proto3" json:"RemovalData,omitempty"`
	FactSig     []byte `protobuf:"bytes,3,opt,name=FactSig,proto3" json:"FactSig,omitempty"` // (RSAPublicSign(Fact.Digest()))
	// contains filtered or unexported fields
}

Holds information for a Fact removal request

func (*FactRemovalRequest) Descriptor deprecated

func (*FactRemovalRequest) Descriptor() ([]byte, []int)

Deprecated: Use FactRemovalRequest.ProtoReflect.Descriptor instead.

func (*FactRemovalRequest) GetFactSig

func (x *FactRemovalRequest) GetFactSig() []byte

func (*FactRemovalRequest) GetRemovalData

func (x *FactRemovalRequest) GetRemovalData() *Fact

func (*FactRemovalRequest) GetUID

func (x *FactRemovalRequest) GetUID() []byte

func (*FactRemovalRequest) ProtoMessage

func (*FactRemovalRequest) ProtoMessage()

func (*FactRemovalRequest) ProtoReflect

func (x *FactRemovalRequest) ProtoReflect() protoreflect.Message

func (*FactRemovalRequest) Reset

func (x *FactRemovalRequest) Reset()

func (*FactRemovalRequest) String

func (x *FactRemovalRequest) String() string

type GatewayCertificate

type GatewayCertificate struct {
	Certificate []byte `protobuf:"bytes,1,opt,name=Certificate,proto3" json:"Certificate,omitempty"`
	Signature   []byte `protobuf:"bytes,2,opt,name=Signature,proto3" json:"Signature,omitempty"`
	// contains filtered or unexported fields
}

func (*GatewayCertificate) Descriptor deprecated

func (*GatewayCertificate) Descriptor() ([]byte, []int)

Deprecated: Use GatewayCertificate.ProtoReflect.Descriptor instead.

func (*GatewayCertificate) GetCertificate

func (x *GatewayCertificate) GetCertificate() []byte

func (*GatewayCertificate) GetSignature

func (x *GatewayCertificate) GetSignature() []byte

func (*GatewayCertificate) ProtoMessage

func (*GatewayCertificate) ProtoMessage()

func (*GatewayCertificate) ProtoReflect

func (x *GatewayCertificate) ProtoReflect() protoreflect.Message

func (*GatewayCertificate) Reset

func (x *GatewayCertificate) Reset()

func (*GatewayCertificate) String

func (x *GatewayCertificate) String() string

type GatewayClient

type GatewayClient interface {
	// RequestClientKey returns a Nonce to the user
	RequestClientKey(ctx context.Context, in *SignedClientKeyRequest, opts ...grpc.CallOption) (*SignedKeyResponse, error)
	// BatchNodeRegistration sends a SignedClientBatchKeyRequest to multiple
	// gateways by proxy (client -> gateway -> target gateway)
	BatchNodeRegistration(ctx context.Context, in *SignedClientBatchKeyRequest, opts ...grpc.CallOption) (*SignedBatchKeyResponse, error)
	// PutMessage on the cMix Gateway (client -> gateway)
	PutMessage(ctx context.Context, in *GatewaySlot, opts ...grpc.CallOption) (*GatewaySlotResponse, error)
	// PutMessage on the cMix Gateway (client -> gateway)
	PutManyMessages(ctx context.Context, in *GatewaySlots, opts ...grpc.CallOption) (*GatewaySlotResponse, error)
	// PutMessage on the cMix Gateway (gateway -> gateway)
	PutMessageProxy(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*GatewaySlotResponse, error)
	// PutMessage on the cMix Gateway (gateway -> gateway)
	PutManyMessagesProxy(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*GatewaySlotResponse, error)
	// Client -> Gateway unified polling
	Poll(ctx context.Context, in *GatewayPoll, opts ...grpc.CallOption) (Gateway_PollClient, error)
	// Client -> Gateway historical round request
	RequestHistoricalRounds(ctx context.Context, in *HistoricalRounds, opts ...grpc.CallOption) (*HistoricalRoundsResponse, error)
	// Client -> Gateway message request
	RequestMessages(ctx context.Context, in *GetMessages, opts ...grpc.CallOption) (*GetMessagesResponse, error)
	RequestBatchMessages(ctx context.Context, in *GetMessagesBatch, opts ...grpc.CallOption) (*GetMessagesResponseBatch, error)
	RequestTlsCert(ctx context.Context, in *RequestGatewayCert, opts ...grpc.CallOption) (*GatewayCertificate, error)
}

GatewayClient is the client API for Gateway 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.

func NewGatewayClient

func NewGatewayClient(cc grpc.ClientConnInterface) GatewayClient

type GatewayPoll

type GatewayPoll struct {
	Partial     *NDFHash `protobuf:"bytes,1,opt,name=Partial,proto3" json:"Partial,omitempty"`
	LastUpdate  uint64   `protobuf:"varint,2,opt,name=LastUpdate,proto3" json:"LastUpdate,omitempty"`
	ReceptionID []byte   `protobuf:"bytes,3,opt,name=ReceptionID,proto3" json:"ReceptionID,omitempty"`
	// Define range for ClientBloomFilter searches
	StartTimestamp int64  `protobuf:"varint,4,opt,name=StartTimestamp,proto3" json:"StartTimestamp,omitempty"`
	EndTimestamp   int64  `protobuf:"varint,5,opt,name=EndTimestamp,proto3" json:"EndTimestamp,omitempty"`
	ClientVersion  []byte `protobuf:"bytes,6,opt,name=ClientVersion,proto3" json:"ClientVersion,omitempty"`
	// Determines whether client gets filtered network
	// updates or all updates.
	// If true, filtered updates relevant to client (FAILED, COMPLETED, QUEUED)
	// If false, all updates from the network
	FastPolling bool   `protobuf:"varint,7,opt,name=FastPolling,proto3" json:"FastPolling,omitempty"`
	LastRound   uint64 `protobuf:"varint,8,opt,name=LastRound,proto3" json:"LastRound,omitempty"`
	// When set to true, the gateway will not get new NDFs and network round
	// updates. This variable is added as the last field to be backward
	// compatible. If it is not included, then the field defaults to false and
	// will return all updates.
	DisableUpdates bool `protobuf:"varint,9,opt,name=DisableUpdates,proto3" json:"DisableUpdates,omitempty"`
	// contains filtered or unexported fields
}

Unified Client->Gateway polling message

func (*GatewayPoll) Descriptor deprecated

func (*GatewayPoll) Descriptor() ([]byte, []int)

Deprecated: Use GatewayPoll.ProtoReflect.Descriptor instead.

func (*GatewayPoll) GetClientVersion

func (x *GatewayPoll) GetClientVersion() []byte

func (*GatewayPoll) GetDisableUpdates

func (x *GatewayPoll) GetDisableUpdates() bool

func (*GatewayPoll) GetEndTimestamp

func (x *GatewayPoll) GetEndTimestamp() int64

func (*GatewayPoll) GetFastPolling

func (x *GatewayPoll) GetFastPolling() bool

func (*GatewayPoll) GetLastRound

func (x *GatewayPoll) GetLastRound() uint64

func (*GatewayPoll) GetLastUpdate

func (x *GatewayPoll) GetLastUpdate() uint64

func (*GatewayPoll) GetPartial

func (x *GatewayPoll) GetPartial() *NDFHash

func (*GatewayPoll) GetReceptionID

func (x *GatewayPoll) GetReceptionID() []byte

func (*GatewayPoll) GetStartTimestamp

func (x *GatewayPoll) GetStartTimestamp() int64

func (*GatewayPoll) ProtoMessage

func (*GatewayPoll) ProtoMessage()

func (*GatewayPoll) ProtoReflect

func (x *GatewayPoll) ProtoReflect() protoreflect.Message

func (*GatewayPoll) Reset

func (x *GatewayPoll) Reset()

func (*GatewayPoll) String

func (x *GatewayPoll) String() string

type GatewayPollResponse

type GatewayPollResponse struct {
	PartialNDF       *NDF          `protobuf:"bytes,1,opt,name=PartialNDF,proto3" json:"PartialNDF,omitempty"`        // Empty if no update needed
	Updates          []*RoundInfo  `protobuf:"bytes,2,rep,name=Updates,proto3" json:"Updates,omitempty"`              // Empty if no update needed
	KnownRounds      []byte        `protobuf:"bytes,3,opt,name=KnownRounds,proto3" json:"KnownRounds,omitempty"`      // Rounds gateway knows about
	Filters          *ClientBlooms `protobuf:"bytes,4,opt,name=Filters,proto3" json:"Filters,omitempty"`              // Set of ClientBloomFilters requested by Client
	EarliestRound    uint64        `protobuf:"varint,5,opt,name=EarliestRound,proto3" json:"EarliestRound,omitempty"` // The earliest round the gateway still has info for
	EarliestRoundErr string        `protobuf:"bytes,6,opt,name=EarliestRoundErr,proto3" json:"EarliestRoundErr,omitempty"`
	// The following are used for the homebrew clock offset system in Client
	ReceivedTs   int64 `protobuf:"varint,7,opt,name=ReceivedTs,proto3" json:"ReceivedTs,omitempty"`     // Timestamp that Gateway received GatewayPoll
	GatewayDelay int64 `protobuf:"varint,8,opt,name=GatewayDelay,proto3" json:"GatewayDelay,omitempty"` // Duration of the Gateway Poll() function
	// contains filtered or unexported fields
}

Unified Client->Gateway polling response

func (*GatewayPollResponse) Descriptor deprecated

func (*GatewayPollResponse) Descriptor() ([]byte, []int)

Deprecated: Use GatewayPollResponse.ProtoReflect.Descriptor instead.

func (*GatewayPollResponse) GetEarliestRound

func (x *GatewayPollResponse) GetEarliestRound() uint64

func (*GatewayPollResponse) GetEarliestRoundErr

func (x *GatewayPollResponse) GetEarliestRoundErr() string

func (*GatewayPollResponse) GetFilters

func (x *GatewayPollResponse) GetFilters() *ClientBlooms

func (*GatewayPollResponse) GetGatewayDelay

func (x *GatewayPollResponse) GetGatewayDelay() int64

func (*GatewayPollResponse) GetKnownRounds

func (x *GatewayPollResponse) GetKnownRounds() []byte

func (*GatewayPollResponse) GetPartialNDF

func (x *GatewayPollResponse) GetPartialNDF() *NDF

func (*GatewayPollResponse) GetReceivedTs

func (x *GatewayPollResponse) GetReceivedTs() int64

func (*GatewayPollResponse) GetUpdates

func (x *GatewayPollResponse) GetUpdates() []*RoundInfo

func (*GatewayPollResponse) ProtoMessage

func (*GatewayPollResponse) ProtoMessage()

func (*GatewayPollResponse) ProtoReflect

func (x *GatewayPollResponse) ProtoReflect() protoreflect.Message

func (*GatewayPollResponse) Reset

func (x *GatewayPollResponse) Reset()

func (*GatewayPollResponse) String

func (x *GatewayPollResponse) String() string

type GatewayServer

type GatewayServer interface {
	// RequestClientKey returns a Nonce to the user
	RequestClientKey(context.Context, *SignedClientKeyRequest) (*SignedKeyResponse, error)
	// BatchNodeRegistration sends a SignedClientBatchKeyRequest to multiple
	// gateways by proxy (client -> gateway -> target gateway)
	BatchNodeRegistration(context.Context, *SignedClientBatchKeyRequest) (*SignedBatchKeyResponse, error)
	// PutMessage on the cMix Gateway (client -> gateway)
	PutMessage(context.Context, *GatewaySlot) (*GatewaySlotResponse, error)
	// PutMessage on the cMix Gateway (client -> gateway)
	PutManyMessages(context.Context, *GatewaySlots) (*GatewaySlotResponse, error)
	// PutMessage on the cMix Gateway (gateway -> gateway)
	PutMessageProxy(context.Context, *messages.AuthenticatedMessage) (*GatewaySlotResponse, error)
	// PutMessage on the cMix Gateway (gateway -> gateway)
	PutManyMessagesProxy(context.Context, *messages.AuthenticatedMessage) (*GatewaySlotResponse, error)
	// Client -> Gateway unified polling
	Poll(*GatewayPoll, Gateway_PollServer) error
	// Client -> Gateway historical round request
	RequestHistoricalRounds(context.Context, *HistoricalRounds) (*HistoricalRoundsResponse, error)
	// Client -> Gateway message request
	RequestMessages(context.Context, *GetMessages) (*GetMessagesResponse, error)
	RequestBatchMessages(context.Context, *GetMessagesBatch) (*GetMessagesResponseBatch, error)
	RequestTlsCert(context.Context, *RequestGatewayCert) (*GatewayCertificate, error)
	// contains filtered or unexported methods
}

GatewayServer is the server API for Gateway service. All implementations must embed UnimplementedGatewayServer for forward compatibility

type GatewaySlot

type GatewaySlot struct {
	Message *Slot  `protobuf:"bytes,1,opt,name=Message,proto3" json:"Message,omitempty"`
	RoundID uint64 `protobuf:"varint,2,opt,name=RoundID,proto3" json:"RoundID,omitempty"`
	MAC     []byte `protobuf:"bytes,3,opt,name=MAC,proto3" json:"MAC,omitempty"`
	Target  []byte `protobuf:"bytes,4,opt,name=Target,proto3" json:"Target,omitempty"`
	IpAddr  string `protobuf:"bytes,5,opt,name=IpAddr,proto3" json:"IpAddr,omitempty"` // IpAddr of client
	// contains filtered or unexported fields
}

Client -> Gateway authentication message

func (*GatewaySlot) Descriptor deprecated

func (*GatewaySlot) Descriptor() ([]byte, []int)

Deprecated: Use GatewaySlot.ProtoReflect.Descriptor instead.

func (*GatewaySlot) GetIpAddr

func (x *GatewaySlot) GetIpAddr() string

func (*GatewaySlot) GetMAC

func (x *GatewaySlot) GetMAC() []byte

func (*GatewaySlot) GetMessage

func (x *GatewaySlot) GetMessage() *Slot

func (*GatewaySlot) GetRoundID

func (x *GatewaySlot) GetRoundID() uint64

func (*GatewaySlot) GetTarget

func (x *GatewaySlot) GetTarget() []byte

func (*GatewaySlot) ProtoMessage

func (*GatewaySlot) ProtoMessage()

func (*GatewaySlot) ProtoReflect

func (x *GatewaySlot) ProtoReflect() protoreflect.Message

func (*GatewaySlot) Reset

func (x *GatewaySlot) Reset()

func (*GatewaySlot) String

func (x *GatewaySlot) String() string

type GatewaySlotResponse

type GatewaySlotResponse struct {
	Accepted bool   `protobuf:"varint,1,opt,name=accepted,proto3" json:"accepted,omitempty"`
	RoundID  uint64 `protobuf:"varint,2,opt,name=RoundID,proto3" json:"RoundID,omitempty"`
	// contains filtered or unexported fields
}

Gateway -> Client authentication response

func (*GatewaySlotResponse) Descriptor deprecated

func (*GatewaySlotResponse) Descriptor() ([]byte, []int)

Deprecated: Use GatewaySlotResponse.ProtoReflect.Descriptor instead.

func (*GatewaySlotResponse) GetAccepted

func (x *GatewaySlotResponse) GetAccepted() bool

func (*GatewaySlotResponse) GetRoundID

func (x *GatewaySlotResponse) GetRoundID() uint64

func (*GatewaySlotResponse) ProtoMessage

func (*GatewaySlotResponse) ProtoMessage()

func (*GatewaySlotResponse) ProtoReflect

func (x *GatewaySlotResponse) ProtoReflect() protoreflect.Message

func (*GatewaySlotResponse) Reset

func (x *GatewaySlotResponse) Reset()

func (*GatewaySlotResponse) String

func (x *GatewaySlotResponse) String() string

type GatewaySlots

type GatewaySlots struct {
	Messages []*GatewaySlot `protobuf:"bytes,1,rep,name=Messages,proto3" json:"Messages,omitempty"`
	// Below should have same values as all elements in slice (this is assumed)
	RoundID uint64 `protobuf:"varint,2,opt,name=RoundID,proto3" json:"RoundID,omitempty"`
	Target  []byte `protobuf:"bytes,3,opt,name=Target,proto3" json:"Target,omitempty"`
	IpAddr  string `protobuf:"bytes,4,opt,name=IpAddr,proto3" json:"IpAddr,omitempty"` // IpAddr of client
	// contains filtered or unexported fields
}

Client -> Gateway authentication message

func (*GatewaySlots) Descriptor deprecated

func (*GatewaySlots) Descriptor() ([]byte, []int)

Deprecated: Use GatewaySlots.ProtoReflect.Descriptor instead.

func (*GatewaySlots) GetIpAddr

func (x *GatewaySlots) GetIpAddr() string

func (*GatewaySlots) GetMessages

func (x *GatewaySlots) GetMessages() []*GatewaySlot

func (*GatewaySlots) GetRoundID

func (x *GatewaySlots) GetRoundID() uint64

func (*GatewaySlots) GetTarget

func (x *GatewaySlots) GetTarget() []byte

func (*GatewaySlots) ProtoMessage

func (*GatewaySlots) ProtoMessage()

func (*GatewaySlots) ProtoReflect

func (x *GatewaySlots) ProtoReflect() protoreflect.Message

func (*GatewaySlots) Reset

func (x *GatewaySlots) Reset()

func (*GatewaySlots) String

func (x *GatewaySlots) String() string

type Gateway_PollClient

type Gateway_PollClient interface {
	Recv() (*StreamChunk, error)
	grpc.ClientStream
}

type Gateway_PollServer

type Gateway_PollServer interface {
	Send(*StreamChunk) error
	grpc.ServerStream
}

type GetMessages

type GetMessages struct {
	ClientID []byte `protobuf:"bytes,1,opt,name=ClientID,proto3" json:"ClientID,omitempty"`
	RoundID  uint64 `protobuf:"varint,2,opt,name=RoundID,proto3" json:"RoundID,omitempty"`
	Target   []byte `protobuf:"bytes,3,opt,name=Target,proto3" json:"Target,omitempty"`
	// contains filtered or unexported fields
}

Client -> Gateway request for available messages The query will be a request for all messages available in a round.

func (*GetMessages) Descriptor deprecated

func (*GetMessages) Descriptor() ([]byte, []int)

Deprecated: Use GetMessages.ProtoReflect.Descriptor instead.

func (*GetMessages) GetClientID

func (x *GetMessages) GetClientID() []byte

func (*GetMessages) GetRoundID

func (x *GetMessages) GetRoundID() uint64

func (*GetMessages) GetTarget

func (x *GetMessages) GetTarget() []byte

func (*GetMessages) ProtoMessage

func (*GetMessages) ProtoMessage()

func (*GetMessages) ProtoReflect

func (x *GetMessages) ProtoReflect() protoreflect.Message

func (*GetMessages) Reset

func (x *GetMessages) Reset()

func (*GetMessages) String

func (x *GetMessages) String() string

type GetMessagesBatch

type GetMessagesBatch struct {
	Requests []*GetMessages `protobuf:"bytes,1,rep,name=Requests,proto3" json:"Requests,omitempty"`
	Timeout  uint64         `protobuf:"varint,2,opt,name=Timeout,proto3" json:"Timeout,omitempty"`
	// contains filtered or unexported fields
}

func (*GetMessagesBatch) Descriptor deprecated

func (*GetMessagesBatch) Descriptor() ([]byte, []int)

Deprecated: Use GetMessagesBatch.ProtoReflect.Descriptor instead.

func (*GetMessagesBatch) GetRequests

func (x *GetMessagesBatch) GetRequests() []*GetMessages

func (*GetMessagesBatch) GetTimeout

func (x *GetMessagesBatch) GetTimeout() uint64

func (*GetMessagesBatch) ProtoMessage

func (*GetMessagesBatch) ProtoMessage()

func (*GetMessagesBatch) ProtoReflect

func (x *GetMessagesBatch) ProtoReflect() protoreflect.Message

func (*GetMessagesBatch) Reset

func (x *GetMessagesBatch) Reset()

func (*GetMessagesBatch) String

func (x *GetMessagesBatch) String() string

type GetMessagesResponse

type GetMessagesResponse struct {
	Messages []*Slot `protobuf:"bytes,1,rep,name=Messages,proto3" json:"Messages,omitempty"`
	HasRound bool    `protobuf:"varint,2,opt,name=HasRound,proto3" json:"HasRound,omitempty"`
	// contains filtered or unexported fields
}

Gateway response to a GetMessages request

func (*GetMessagesResponse) Descriptor deprecated

func (*GetMessagesResponse) Descriptor() ([]byte, []int)

Deprecated: Use GetMessagesResponse.ProtoReflect.Descriptor instead.

func (*GetMessagesResponse) GetHasRound

func (x *GetMessagesResponse) GetHasRound() bool

func (*GetMessagesResponse) GetMessages

func (x *GetMessagesResponse) GetMessages() []*Slot

func (*GetMessagesResponse) ProtoMessage

func (*GetMessagesResponse) ProtoMessage()

func (*GetMessagesResponse) ProtoReflect

func (x *GetMessagesResponse) ProtoReflect() protoreflect.Message

func (*GetMessagesResponse) Reset

func (x *GetMessagesResponse) Reset()

func (*GetMessagesResponse) String

func (x *GetMessagesResponse) String() string

type GetMessagesResponseBatch

type GetMessagesResponseBatch struct {
	Results []*GetMessagesResponse `protobuf:"bytes,1,rep,name=Results,proto3" json:"Results,omitempty"`
	Errors  []string               `protobuf:"bytes,3,rep,name=Errors,proto3" json:"Errors,omitempty"`
	// contains filtered or unexported fields
}

func (*GetMessagesResponseBatch) Descriptor deprecated

func (*GetMessagesResponseBatch) Descriptor() ([]byte, []int)

Deprecated: Use GetMessagesResponseBatch.ProtoReflect.Descriptor instead.

func (*GetMessagesResponseBatch) GetErrors

func (x *GetMessagesResponseBatch) GetErrors() []string

func (*GetMessagesResponseBatch) GetResults

func (x *GetMessagesResponseBatch) GetResults() []*GetMessagesResponse

func (*GetMessagesResponseBatch) ProtoMessage

func (*GetMessagesResponseBatch) ProtoMessage()

func (*GetMessagesResponseBatch) ProtoReflect

func (x *GetMessagesResponseBatch) ProtoReflect() protoreflect.Message

func (*GetMessagesResponseBatch) Reset

func (x *GetMessagesResponseBatch) Reset()

func (*GetMessagesResponseBatch) String

func (x *GetMessagesResponseBatch) String() string

type HistoricalRounds

type HistoricalRounds struct {
	Rounds []uint64 `protobuf:"varint,1,rep,packed,name=rounds,proto3" json:"rounds,omitempty"`
	// contains filtered or unexported fields
}

Client -> Gateway request for information about historical rounds

func (*HistoricalRounds) Descriptor deprecated

func (*HistoricalRounds) Descriptor() ([]byte, []int)

Deprecated: Use HistoricalRounds.ProtoReflect.Descriptor instead.

func (*HistoricalRounds) GetRounds

func (x *HistoricalRounds) GetRounds() []uint64

func (*HistoricalRounds) ProtoMessage

func (*HistoricalRounds) ProtoMessage()

func (*HistoricalRounds) ProtoReflect

func (x *HistoricalRounds) ProtoReflect() protoreflect.Message

func (*HistoricalRounds) Reset

func (x *HistoricalRounds) Reset()

func (*HistoricalRounds) String

func (x *HistoricalRounds) String() string

type HistoricalRoundsResponse

type HistoricalRoundsResponse struct {
	Rounds []*RoundInfo `protobuf:"bytes,1,rep,name=Rounds,proto3" json:"Rounds,omitempty"`
	// contains filtered or unexported fields
}

Gateway's response to client's request for previous (historical) rounds

func (*HistoricalRoundsResponse) Descriptor deprecated

func (*HistoricalRoundsResponse) Descriptor() ([]byte, []int)

Deprecated: Use HistoricalRoundsResponse.ProtoReflect.Descriptor instead.

func (*HistoricalRoundsResponse) GetRounds

func (x *HistoricalRoundsResponse) GetRounds() []*RoundInfo

func (*HistoricalRoundsResponse) ProtoMessage

func (*HistoricalRoundsResponse) ProtoMessage()

func (*HistoricalRoundsResponse) ProtoReflect

func (x *HistoricalRoundsResponse) ProtoReflect() protoreflect.Message

func (*HistoricalRoundsResponse) Reset

func (x *HistoricalRoundsResponse) Reset()

func (*HistoricalRoundsResponse) String

func (x *HistoricalRoundsResponse) String() string

type IDList

type IDList struct {
	IDs []string `protobuf:"bytes,1,rep,name=IDs,proto3" json:"IDs,omitempty"`
	// contains filtered or unexported fields
}

The message for clients to poll the gateway for Message IDs

func (*IDList) Descriptor deprecated

func (*IDList) Descriptor() ([]byte, []int)

Deprecated: Use IDList.ProtoReflect.Descriptor instead.

func (*IDList) GetIDs

func (x *IDList) GetIDs() []string

func (*IDList) ProtoMessage

func (*IDList) ProtoMessage()

func (*IDList) ProtoReflect

func (x *IDList) ProtoReflect() protoreflect.Message

func (*IDList) Reset

func (x *IDList) Reset()

func (*IDList) String

func (x *IDList) String() string

type Identity

type Identity struct {
	Username string `protobuf:"bytes,1,opt,name=Username,proto3" json:"Username,omitempty"`
	DhPubKey []byte `protobuf:"bytes,2,opt,name=dhPubKey,proto3" json:"dhPubKey,omitempty"`
	Salt     []byte `protobuf:"bytes,3,opt,name=Salt,proto3" json:"Salt,omitempty"`
	// contains filtered or unexported fields
}

Identity describes a user and their cryptographic info

func (*Identity) Descriptor deprecated

func (*Identity) Descriptor() ([]byte, []int)

Deprecated: Use Identity.ProtoReflect.Descriptor instead.

func (*Identity) Digest

func (i *Identity) Digest() []byte

Function to digest Identity

func (*Identity) GetDhPubKey

func (x *Identity) GetDhPubKey() []byte

func (*Identity) GetSalt

func (x *Identity) GetSalt() []byte

func (*Identity) GetUsername

func (x *Identity) GetUsername() string

func (*Identity) ProtoMessage

func (*Identity) ProtoMessage()

func (*Identity) ProtoReflect

func (x *Identity) ProtoReflect() protoreflect.Message

func (*Identity) Reset

func (x *Identity) Reset()

func (*Identity) String

func (x *Identity) String() string

type NDF

type NDF struct {
	Ndf       []byte                 `protobuf:"bytes,1,opt,name=Ndf,proto3" json:"Ndf,omitempty"`
	Signature *messages.RSASignature `protobuf:"bytes,2,opt,name=Signature,proto3" json:"Signature,omitempty"`
	// contains filtered or unexported fields
}

The Network Definition File is defined as a JSON structure in primitives/ndf. Can be provided in a "complete" and "incomplete" format. An incomplete NDF is provided to level 4 (ie clients) to protect the inner levels

func (*NDF) Descriptor deprecated

func (*NDF) Descriptor() ([]byte, []int)

Deprecated: Use NDF.ProtoReflect.Descriptor instead.

func (*NDF) Digest

func (m *NDF) Digest(nonce []byte, h hash.Hash) []byte

Digest hashes the contents of the message in a repeatable manner using the provided cryptographic hash. It includes the nonce in the hash

func (*NDF) GetNdf

func (x *NDF) GetNdf() []byte

func (*NDF) GetSig

func (m *NDF) GetSig() *messages.RSASignature

GetSig returns the RSA signature. IF none exists, it creates it, adds it to the object, then returns it.

func (*NDF) GetSignature

func (x *NDF) GetSignature() *messages.RSASignature

func (*NDF) ProtoMessage

func (*NDF) ProtoMessage()

func (*NDF) ProtoReflect

func (x *NDF) ProtoReflect() protoreflect.Message

func (*NDF) Reset

func (x *NDF) Reset()

func (*NDF) String

func (x *NDF) String() string

type NDFHash

type NDFHash struct {
	Hash []byte `protobuf:"bytes,1,opt,name=Hash,proto3" json:"Hash,omitempty"`
	// contains filtered or unexported fields
}

The ndf Hash used to compare ndf on permissioning and client

func (*NDFHash) Descriptor deprecated

func (*NDFHash) Descriptor() ([]byte, []int)

Deprecated: Use NDFHash.ProtoReflect.Descriptor instead.

func (*NDFHash) GetHash

func (x *NDFHash) GetHash() []byte

func (*NDFHash) ProtoMessage

func (*NDFHash) ProtoMessage()

func (*NDFHash) ProtoReflect

func (x *NDFHash) ProtoReflect() protoreflect.Message

func (*NDFHash) Reset

func (x *NDFHash) Reset()

func (*NDFHash) String

func (x *NDFHash) String() string

type NodeClient

type NodeClient interface {
	// Handles AskOnline
	AskOnline(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*messages.Ack, error)
	// CreatesNewRound makes a new round with a certain ID
	CreateNewRound(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*messages.Ack, error)
	// UploadUnmixedBatch sends a batch to be processed in the server's realtime
	// Gateway -> Server
	UploadUnmixedBatch(ctx context.Context, opts ...grpc.CallOption) (Node_UploadUnmixedBatchClient, error)
	// FinishRealtime broadcasts when realtime is complete
	FinishRealtime(ctx context.Context, opts ...grpc.CallOption) (Node_FinishRealtimeClient, error)
	// PrecompTestBatch is a server to server streaming broadcast. It simulates
	// sending the completed batch of FinishRealtime, testing for connectivity.
	PrecompTestBatch(ctx context.Context, opts ...grpc.CallOption) (Node_PrecompTestBatchClient, error)
	// PostPhase runs a cMix phase on another node
	PostPhase(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*messages.Ack, error)
	// StreamPostPhase runs a cMix phase on another node
	// by using unary streaming of slots
	StreamPostPhase(ctx context.Context, opts ...grpc.CallOption) (Node_StreamPostPhaseClient, error)
	// GetRoundBufferInfo returns the # of rounds ready for messages
	GetRoundBufferInfo(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*RoundBufferInfo, error)
	// RequestClientKey generates a nonce for user registration
	RequestClientKey(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*SignedKeyResponse, error)
	// PostPrecompResult finalizes the precomputation results with each node from the last node
	// sending the final PayloadA and PayloadB precomputations
	PostPrecompResult(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*messages.Ack, error)
	GetMeasure(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*RoundMetrics, error)
	// Gateway -> Server unified polling
	Poll(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*ServerPollResponse, error)
	// Streams a completed batch
	// Server -> Gateway
	DownloadMixedBatch(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (Node_DownloadMixedBatchClient, error)
	// Round trip ping comm
	SendRoundTripPing(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*messages.Ack, error)
	// Round error comm
	RoundError(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*messages.Ack, error)
	// Server -> Gateway permissioning address
	GetPermissioningAddress(ctx context.Context, in *messages.Ping, opts ...grpc.CallOption) (*StrAddress, error)
	// Server -> Server initiating multi-party round DH key generation
	StartSharePhase(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*messages.Ack, error)
	// Server -> Server passing state of multi-party round DH key generation
	SharePhaseRound(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*messages.Ack, error)
	// Server -> Server received final key
	ShareFinalKey(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*messages.Ack, error)
}

NodeClient is the client API for Node 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.

func NewNodeClient

func NewNodeClient(cc grpc.ClientConnInterface) NodeClient

type NodeRegistration

type NodeRegistration struct {
	Salt             []byte `protobuf:"bytes,1,opt,name=Salt,proto3" json:"Salt,omitempty"`
	ServerTlsCert    string `protobuf:"bytes,2,opt,name=ServerTlsCert,proto3" json:"ServerTlsCert,omitempty"`
	ServerAddress    string `protobuf:"bytes,3,opt,name=ServerAddress,proto3" json:"ServerAddress,omitempty"`
	ServerPort       uint32 `protobuf:"varint,4,opt,name=ServerPort,proto3" json:"ServerPort,omitempty"` // Note: there is no uint16
	GatewayTlsCert   string `protobuf:"bytes,5,opt,name=GatewayTlsCert,proto3" json:"GatewayTlsCert,omitempty"`
	GatewayAddress   string `protobuf:"bytes,6,opt,name=GatewayAddress,proto3" json:"GatewayAddress,omitempty"`
	GatewayPort      uint32 `protobuf:"varint,7,opt,name=GatewayPort,proto3" json:"GatewayPort,omitempty"` // Note: there is no uint16
	RegistrationCode string `protobuf:"bytes,8,opt,name=RegistrationCode,proto3" json:"RegistrationCode,omitempty"`
	// contains filtered or unexported fields
}

NodeRegistration contains information to register a node. Note: this includes the desired server and gateway addresses. The registration server is free to ignore these addresses and derive the address from the network connection.

func (*NodeRegistration) Descriptor deprecated

func (*NodeRegistration) Descriptor() ([]byte, []int)

Deprecated: Use NodeRegistration.ProtoReflect.Descriptor instead.

func (*NodeRegistration) GetGatewayAddress

func (x *NodeRegistration) GetGatewayAddress() string

func (*NodeRegistration) GetGatewayPort

func (x *NodeRegistration) GetGatewayPort() uint32

func (*NodeRegistration) GetGatewayTlsCert

func (x *NodeRegistration) GetGatewayTlsCert() string

func (*NodeRegistration) GetRegistrationCode

func (x *NodeRegistration) GetRegistrationCode() string

func (*NodeRegistration) GetSalt

func (x *NodeRegistration) GetSalt() []byte

func (*NodeRegistration) GetServerAddress

func (x *NodeRegistration) GetServerAddress() string

func (*NodeRegistration) GetServerPort

func (x *NodeRegistration) GetServerPort() uint32

func (*NodeRegistration) GetServerTlsCert

func (x *NodeRegistration) GetServerTlsCert() string

func (*NodeRegistration) ProtoMessage

func (*NodeRegistration) ProtoMessage()

func (*NodeRegistration) ProtoReflect

func (x *NodeRegistration) ProtoReflect() protoreflect.Message

func (*NodeRegistration) Reset

func (x *NodeRegistration) Reset()

func (*NodeRegistration) String

func (x *NodeRegistration) String() string

type NodeServer

type NodeServer interface {
	// Handles AskOnline
	AskOnline(context.Context, *messages.AuthenticatedMessage) (*messages.Ack, error)
	// CreatesNewRound makes a new round with a certain ID
	CreateNewRound(context.Context, *messages.AuthenticatedMessage) (*messages.Ack, error)
	// UploadUnmixedBatch sends a batch to be processed in the server's realtime
	// Gateway -> Server
	UploadUnmixedBatch(Node_UploadUnmixedBatchServer) error
	// FinishRealtime broadcasts when realtime is complete
	FinishRealtime(Node_FinishRealtimeServer) error
	// PrecompTestBatch is a server to server streaming broadcast. It simulates
	// sending the completed batch of FinishRealtime, testing for connectivity.
	PrecompTestBatch(Node_PrecompTestBatchServer) error
	// PostPhase runs a cMix phase on another node
	PostPhase(context.Context, *messages.AuthenticatedMessage) (*messages.Ack, error)
	// StreamPostPhase runs a cMix phase on another node
	// by using unary streaming of slots
	StreamPostPhase(Node_StreamPostPhaseServer) error
	// GetRoundBufferInfo returns the # of rounds ready for messages
	GetRoundBufferInfo(context.Context, *messages.AuthenticatedMessage) (*RoundBufferInfo, error)
	// RequestClientKey generates a nonce for user registration
	RequestClientKey(context.Context, *messages.AuthenticatedMessage) (*SignedKeyResponse, error)
	// PostPrecompResult finalizes the precomputation results with each node from the last node
	// sending the final PayloadA and PayloadB precomputations
	PostPrecompResult(context.Context, *messages.AuthenticatedMessage) (*messages.Ack, error)
	GetMeasure(context.Context, *messages.AuthenticatedMessage) (*RoundMetrics, error)
	// Gateway -> Server unified polling
	Poll(context.Context, *messages.AuthenticatedMessage) (*ServerPollResponse, error)
	// Streams a completed batch
	// Server -> Gateway
	DownloadMixedBatch(*messages.AuthenticatedMessage, Node_DownloadMixedBatchServer) error
	// Round trip ping comm
	SendRoundTripPing(context.Context, *messages.AuthenticatedMessage) (*messages.Ack, error)
	// Round error comm
	RoundError(context.Context, *messages.AuthenticatedMessage) (*messages.Ack, error)
	// Server -> Gateway permissioning address
	GetPermissioningAddress(context.Context, *messages.Ping) (*StrAddress, error)
	// Server -> Server initiating multi-party round DH key generation
	StartSharePhase(context.Context, *messages.AuthenticatedMessage) (*messages.Ack, error)
	// Server -> Server passing state of multi-party round DH key generation
	SharePhaseRound(context.Context, *messages.AuthenticatedMessage) (*messages.Ack, error)
	// Server -> Server received final key
	ShareFinalKey(context.Context, *messages.AuthenticatedMessage) (*messages.Ack, error)
	// contains filtered or unexported methods
}

NodeServer is the server API for Node service. All implementations must embed UnimplementedNodeServer for forward compatibility

type Node_DownloadMixedBatchClient

type Node_DownloadMixedBatchClient interface {
	Recv() (*Slot, error)
	grpc.ClientStream
}

type Node_DownloadMixedBatchServer

type Node_DownloadMixedBatchServer interface {
	Send(*Slot) error
	grpc.ServerStream
}

type Node_FinishRealtimeClient

type Node_FinishRealtimeClient interface {
	Send(*Slot) error
	CloseAndRecv() (*messages.Ack, error)
	grpc.ClientStream
}

type Node_FinishRealtimeServer

type Node_FinishRealtimeServer interface {
	SendAndClose(*messages.Ack) error
	Recv() (*Slot, error)
	grpc.ServerStream
}

type Node_PrecompTestBatchClient

type Node_PrecompTestBatchClient interface {
	Send(*Slot) error
	CloseAndRecv() (*messages.Ack, error)
	grpc.ClientStream
}

type Node_PrecompTestBatchServer

type Node_PrecompTestBatchServer interface {
	SendAndClose(*messages.Ack) error
	Recv() (*Slot, error)
	grpc.ServerStream
}

type Node_StreamPostPhaseClient

type Node_StreamPostPhaseClient interface {
	Send(*Slot) error
	CloseAndRecv() (*messages.Ack, error)
	grpc.ClientStream
}

type Node_StreamPostPhaseServer

type Node_StreamPostPhaseServer interface {
	SendAndClose(*messages.Ack) error
	Recv() (*Slot, error)
	grpc.ServerStream
}

type Node_UploadUnmixedBatchClient

type Node_UploadUnmixedBatchClient interface {
	Send(*Slot) error
	CloseAndRecv() (*messages.Ack, error)
	grpc.ClientStream
}

type Node_UploadUnmixedBatchServer

type Node_UploadUnmixedBatchServer interface {
	SendAndClose(*messages.Ack) error
	Recv() (*Slot, error)
	grpc.ServerStream
}

type NotificationBatch

type NotificationBatch struct {
	RoundID       uint64              `protobuf:"varint,1,opt,name=roundID,proto3" json:"roundID,omitempty"`
	Notifications []*NotificationData `protobuf:"bytes,2,rep,name=notifications,proto3" json:"notifications,omitempty"`
	// contains filtered or unexported fields
}

Notification data transmitted to the notification bot from gateway

func (*NotificationBatch) Descriptor deprecated

func (*NotificationBatch) Descriptor() ([]byte, []int)

Deprecated: Use NotificationBatch.ProtoReflect.Descriptor instead.

func (*NotificationBatch) GetNotifications

func (x *NotificationBatch) GetNotifications() []*NotificationData

func (*NotificationBatch) GetRoundID

func (x *NotificationBatch) GetRoundID() uint64

func (*NotificationBatch) ProtoMessage

func (*NotificationBatch) ProtoMessage()

func (*NotificationBatch) ProtoReflect

func (x *NotificationBatch) ProtoReflect() protoreflect.Message

func (*NotificationBatch) Reset

func (x *NotificationBatch) Reset()

func (*NotificationBatch) String

func (x *NotificationBatch) String() string

type NotificationBotClient

type NotificationBotClient interface {
	// Unregister clients from push notifications
	UnregisterForNotifications(ctx context.Context, in *NotificationUnregisterRequest, opts ...grpc.CallOption) (*messages.Ack, error)
	// Register clients from push notifications
	RegisterForNotifications(ctx context.Context, in *NotificationRegisterRequest, opts ...grpc.CallOption) (*messages.Ack, error)
	// Gateway -> Notifications notification data
	ReceiveNotificationBatch(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*messages.Ack, error)
	// (V2 notifications) register a token for a user
	RegisterToken(ctx context.Context, in *RegisterTokenRequest, opts ...grpc.CallOption) (*messages.Ack, error)
	// (V2 notifications) unregister a token from a user
	UnregisterToken(ctx context.Context, in *UnregisterTokenRequest, opts ...grpc.CallOption) (*messages.Ack, error)
	// (V2 notifications) Register a tracked ID to a user
	RegisterTrackedID(ctx context.Context, in *RegisterTrackedIdRequest, opts ...grpc.CallOption) (*messages.Ack, error)
	// (V2 notifications) Unregister a tracked ID from a user
	UnregisterTrackedID(ctx context.Context, in *UnregisterTrackedIdRequest, opts ...grpc.CallOption) (*messages.Ack, error)
}

NotificationBotClient is the client API for NotificationBot 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 NotificationBotServer

type NotificationBotServer interface {
	// Unregister clients from push notifications
	UnregisterForNotifications(context.Context, *NotificationUnregisterRequest) (*messages.Ack, error)
	// Register clients from push notifications
	RegisterForNotifications(context.Context, *NotificationRegisterRequest) (*messages.Ack, error)
	// Gateway -> Notifications notification data
	ReceiveNotificationBatch(context.Context, *messages.AuthenticatedMessage) (*messages.Ack, error)
	// (V2 notifications) register a token for a user
	RegisterToken(context.Context, *RegisterTokenRequest) (*messages.Ack, error)
	// (V2 notifications) unregister a token from a user
	UnregisterToken(context.Context, *UnregisterTokenRequest) (*messages.Ack, error)
	// (V2 notifications) Register a tracked ID to a user
	RegisterTrackedID(context.Context, *RegisterTrackedIdRequest) (*messages.Ack, error)
	// (V2 notifications) Unregister a tracked ID from a user
	UnregisterTrackedID(context.Context, *UnregisterTrackedIdRequest) (*messages.Ack, error)
	// contains filtered or unexported methods
}

NotificationBotServer is the server API for NotificationBot service. All implementations must embed UnimplementedNotificationBotServer for forward compatibility

type NotificationData

type NotificationData struct {
	EphemeralID int64  `protobuf:"varint,1,opt,name=ephemeralID,proto3" json:"ephemeralID,omitempty"`
	IdentityFP  []byte `protobuf:"bytes,2,opt,name=identityFP,proto3" json:"identityFP,omitempty"`
	MessageHash []byte `protobuf:"bytes,3,opt,name=messageHash,proto3" json:"messageHash,omitempty"`
	// contains filtered or unexported fields
}

Data for a single notification

func DecodeNotificationsCSV

func DecodeNotificationsCSV(data string) ([]*NotificationData, error)

func (*NotificationData) Descriptor deprecated

func (*NotificationData) Descriptor() ([]byte, []int)

Deprecated: Use NotificationData.ProtoReflect.Descriptor instead.

func (*NotificationData) GetEphemeralID

func (x *NotificationData) GetEphemeralID() int64

func (*NotificationData) GetIdentityFP

func (x *NotificationData) GetIdentityFP() []byte

func (*NotificationData) GetMessageHash

func (x *NotificationData) GetMessageHash() []byte

func (*NotificationData) ProtoMessage

func (*NotificationData) ProtoMessage()

func (*NotificationData) ProtoReflect

func (x *NotificationData) ProtoReflect() protoreflect.Message

func (*NotificationData) Reset

func (x *NotificationData) Reset()

func (*NotificationData) String

func (x *NotificationData) String() string

type NotificationRegisterRequest

type NotificationRegisterRequest struct {
	Token                 string `protobuf:"bytes,1,opt,name=Token,proto3" json:"Token,omitempty"`
	IntermediaryId        []byte `protobuf:"bytes,2,opt,name=IntermediaryId,proto3" json:"IntermediaryId,omitempty"`
	TransmissionRsa       []byte `protobuf:"bytes,3,opt,name=TransmissionRsa,proto3" json:"TransmissionRsa,omitempty"`
	TransmissionSalt      []byte `protobuf:"bytes,4,opt,name=TransmissionSalt,proto3" json:"TransmissionSalt,omitempty"`
	TransmissionRsaSig    []byte `protobuf:"bytes,5,opt,name=TransmissionRsaSig,proto3" json:"TransmissionRsaSig,omitempty"`
	IIDTransmissionRsaSig []byte `protobuf:"bytes,6,opt,name=IIDTransmissionRsaSig,proto3" json:"IIDTransmissionRsaSig,omitempty"`
	// Timestamp in which user registered with the network (ie permissioning)
	RegistrationTimestamp int64 `protobuf:"varint,7,opt,name=RegistrationTimestamp,proto3" json:"RegistrationTimestamp,omitempty"`
	// contains filtered or unexported fields
}

Registration token to be associated with the client

func (*NotificationRegisterRequest) Descriptor deprecated

func (*NotificationRegisterRequest) Descriptor() ([]byte, []int)

Deprecated: Use NotificationRegisterRequest.ProtoReflect.Descriptor instead.

func (*NotificationRegisterRequest) GetIIDTransmissionRsaSig

func (x *NotificationRegisterRequest) GetIIDTransmissionRsaSig() []byte

func (*NotificationRegisterRequest) GetIntermediaryId

func (x *NotificationRegisterRequest) GetIntermediaryId() []byte

func (*NotificationRegisterRequest) GetRegistrationTimestamp

func (x *NotificationRegisterRequest) GetRegistrationTimestamp() int64

func (*NotificationRegisterRequest) GetToken

func (x *NotificationRegisterRequest) GetToken() string

func (*NotificationRegisterRequest) GetTransmissionRsa

func (x *NotificationRegisterRequest) GetTransmissionRsa() []byte

func (*NotificationRegisterRequest) GetTransmissionRsaSig

func (x *NotificationRegisterRequest) GetTransmissionRsaSig() []byte

func (*NotificationRegisterRequest) GetTransmissionSalt

func (x *NotificationRegisterRequest) GetTransmissionSalt() []byte

func (*NotificationRegisterRequest) ProtoMessage

func (*NotificationRegisterRequest) ProtoMessage()

func (*NotificationRegisterRequest) ProtoReflect

func (*NotificationRegisterRequest) Reset

func (x *NotificationRegisterRequest) Reset()

func (*NotificationRegisterRequest) String

func (x *NotificationRegisterRequest) String() string

type NotificationUnregisterRequest

type NotificationUnregisterRequest struct {
	IntermediaryId        []byte `protobuf:"bytes,1,opt,name=IntermediaryId,proto3" json:"IntermediaryId,omitempty"`
	IIDTransmissionRsaSig []byte `protobuf:"bytes,2,opt,name=IIDTransmissionRsaSig,proto3" json:"IIDTransmissionRsaSig,omitempty"`
	// contains filtered or unexported fields
}

func (*NotificationUnregisterRequest) Descriptor deprecated

func (*NotificationUnregisterRequest) Descriptor() ([]byte, []int)

Deprecated: Use NotificationUnregisterRequest.ProtoReflect.Descriptor instead.

func (*NotificationUnregisterRequest) GetIIDTransmissionRsaSig

func (x *NotificationUnregisterRequest) GetIIDTransmissionRsaSig() []byte

func (*NotificationUnregisterRequest) GetIntermediaryId

func (x *NotificationUnregisterRequest) GetIntermediaryId() []byte

func (*NotificationUnregisterRequest) ProtoMessage

func (*NotificationUnregisterRequest) ProtoMessage()

func (*NotificationUnregisterRequest) ProtoReflect

func (*NotificationUnregisterRequest) Reset

func (x *NotificationUnregisterRequest) Reset()

func (*NotificationUnregisterRequest) String

type PermissionPollResponse

type PermissionPollResponse struct {
	FullNDF                *NDF         `protobuf:"bytes,1,opt,name=FullNDF,proto3" json:"FullNDF,omitempty"`                                // Empty if no update needed
	PartialNDF             *NDF         `protobuf:"bytes,2,opt,name=PartialNDF,proto3" json:"PartialNDF,omitempty"`                          // Empty if no update needed
	Updates                []*RoundInfo `protobuf:"bytes,3,rep,name=Updates,proto3" json:"Updates,omitempty"`                                // Empty if no update needed
	EarliestClientRound    uint64       `protobuf:"varint,4,opt,name=EarliestClientRound,proto3" json:"EarliestClientRound,omitempty"`       // Earliest round to track for clients
	EarliestGatewayRound   uint64       `protobuf:"varint,5,opt,name=EarliestGatewayRound,proto3" json:"EarliestGatewayRound,omitempty"`     // Earliest round to track for gateways
	EarliestRoundTimestamp int64        `protobuf:"varint,6,opt,name=EarliestRoundTimestamp,proto3" json:"EarliestRoundTimestamp,omitempty"` // The timestamp associated with the earliest the gateway still has info for
	EarliestRoundErr       string       `protobuf:"bytes,7,opt,name=EarliestRoundErr,proto3" json:"EarliestRoundErr,omitempty"`
	// contains filtered or unexported fields
}

Unified Server->Permissioning polling response

func (*PermissionPollResponse) Descriptor deprecated

func (*PermissionPollResponse) Descriptor() ([]byte, []int)

Deprecated: Use PermissionPollResponse.ProtoReflect.Descriptor instead.

func (*PermissionPollResponse) GetEarliestClientRound

func (x *PermissionPollResponse) GetEarliestClientRound() uint64

func (*PermissionPollResponse) GetEarliestGatewayRound

func (x *PermissionPollResponse) GetEarliestGatewayRound() uint64

func (*PermissionPollResponse) GetEarliestRoundErr

func (x *PermissionPollResponse) GetEarliestRoundErr() string

func (*PermissionPollResponse) GetEarliestRoundTimestamp

func (x *PermissionPollResponse) GetEarliestRoundTimestamp() int64

func (*PermissionPollResponse) GetFullNDF

func (x *PermissionPollResponse) GetFullNDF() *NDF

func (*PermissionPollResponse) GetPartialNDF

func (x *PermissionPollResponse) GetPartialNDF() *NDF

func (*PermissionPollResponse) GetUpdates

func (x *PermissionPollResponse) GetUpdates() []*RoundInfo

func (*PermissionPollResponse) ProtoMessage

func (*PermissionPollResponse) ProtoMessage()

func (*PermissionPollResponse) ProtoReflect

func (x *PermissionPollResponse) ProtoReflect() protoreflect.Message

func (*PermissionPollResponse) Reset

func (x *PermissionPollResponse) Reset()

func (*PermissionPollResponse) String

func (x *PermissionPollResponse) String() string

type PermissioningPoll

type PermissioningPoll struct {
	Full           *NDFHash       `protobuf:"bytes,1,opt,name=Full,proto3" json:"Full,omitempty"`
	Partial        *NDFHash       `protobuf:"bytes,2,opt,name=Partial,proto3" json:"Partial,omitempty"`
	LastUpdate     uint64         `protobuf:"varint,3,opt,name=LastUpdate,proto3" json:"LastUpdate,omitempty"`
	Activity       uint32         `protobuf:"varint,4,opt,name=Activity,proto3" json:"Activity,omitempty"`
	Error          *RoundError    `protobuf:"bytes,5,opt,name=Error,proto3" json:"Error,omitempty"` // Only Populated in the event of errors
	GatewayAddress string         `protobuf:"bytes,6,opt,name=gatewayAddress,proto3" json:"gatewayAddress,omitempty"`
	GatewayVersion string         `protobuf:"bytes,7,opt,name=gatewayVersion,proto3" json:"gatewayVersion,omitempty"`
	ServerAddress  string         `protobuf:"bytes,8,opt,name=serverAddress,proto3" json:"serverAddress,omitempty"`
	ServerVersion  string         `protobuf:"bytes,9,opt,name=serverVersion,proto3" json:"serverVersion,omitempty"`
	ClientErrors   []*ClientError `protobuf:"bytes,10,rep,name=ClientErrors,proto3" json:"ClientErrors,omitempty"` // Client error information
	Ed25519        []byte         `protobuf:"bytes,11,opt,name=Ed25519,proto3" json:"Ed25519,omitempty"`
	// contains filtered or unexported fields
}

Unified Server->Permissioning polling message

func (*PermissioningPoll) Descriptor deprecated

func (*PermissioningPoll) Descriptor() ([]byte, []int)

Deprecated: Use PermissioningPoll.ProtoReflect.Descriptor instead.

func (*PermissioningPoll) GetActivity

func (x *PermissioningPoll) GetActivity() uint32

func (*PermissioningPoll) GetClientErrors

func (x *PermissioningPoll) GetClientErrors() []*ClientError

func (*PermissioningPoll) GetCurrentActivityState

func (m *PermissioningPoll) GetCurrentActivityState() current.Activity

GetState gets the state of the node

func (*PermissioningPoll) GetEd25519

func (x *PermissioningPoll) GetEd25519() []byte

func (*PermissioningPoll) GetError

func (x *PermissioningPoll) GetError() *RoundError

func (*PermissioningPoll) GetFull

func (x *PermissioningPoll) GetFull() *NDFHash

func (*PermissioningPoll) GetGatewayAddress

func (x *PermissioningPoll) GetGatewayAddress() string

func (*PermissioningPoll) GetGatewayVersion

func (x *PermissioningPoll) GetGatewayVersion() string

func (*PermissioningPoll) GetLastUpdate

func (x *PermissioningPoll) GetLastUpdate() uint64

func (*PermissioningPoll) GetPartial

func (x *PermissioningPoll) GetPartial() *NDFHash

func (*PermissioningPoll) GetServerAddress

func (x *PermissioningPoll) GetServerAddress() string

func (*PermissioningPoll) GetServerVersion

func (x *PermissioningPoll) GetServerVersion() string

func (*PermissioningPoll) ProtoMessage

func (*PermissioningPoll) ProtoMessage()

func (*PermissioningPoll) ProtoReflect

func (x *PermissioningPoll) ProtoReflect() protoreflect.Message

func (*PermissioningPoll) Reset

func (x *PermissioningPoll) Reset()

func (*PermissioningPoll) String

func (x *PermissioningPoll) String() string

type PostPrecompResult

type PostPrecompResult struct {
	RoundId  uint64 `protobuf:"varint,1,opt,name=RoundId,proto3" json:"RoundId,omitempty"`
	NumSlots uint32 `protobuf:"varint,2,opt,name=NumSlots,proto3" json:"NumSlots,omitempty"`
	// contains filtered or unexported fields
}

func (*PostPrecompResult) Descriptor deprecated

func (*PostPrecompResult) Descriptor() ([]byte, []int)

Deprecated: Use PostPrecompResult.ProtoReflect.Descriptor instead.

func (*PostPrecompResult) GetNumSlots

func (x *PostPrecompResult) GetNumSlots() uint32

func (*PostPrecompResult) GetRoundId

func (x *PostPrecompResult) GetRoundId() uint64

func (*PostPrecompResult) ProtoMessage

func (*PostPrecompResult) ProtoMessage()

func (*PostPrecompResult) ProtoReflect

func (x *PostPrecompResult) ProtoReflect() protoreflect.Message

func (*PostPrecompResult) Reset

func (x *PostPrecompResult) Reset()

func (*PostPrecompResult) String

func (x *PostPrecompResult) String() string

type Recipients

type Recipients struct {
	RecipientIds [][]byte `protobuf:"bytes,1,rep,name=RecipientIds,proto3" json:"RecipientIds,omitempty"`
	RoundID      uint64   `protobuf:"varint,2,opt,name=RoundID,proto3" json:"RoundID,omitempty"`
	RoundTS      uint64   `protobuf:"varint,3,opt,name=RoundTS,proto3" json:"RoundTS,omitempty"`
	// contains filtered or unexported fields
}

Gateway -> Gateway gossip of all recipient IDs in a Batch

func (*Recipients) Descriptor deprecated

func (*Recipients) Descriptor() ([]byte, []int)

Deprecated: Use Recipients.ProtoReflect.Descriptor instead.

func (*Recipients) GetRecipientIds

func (x *Recipients) GetRecipientIds() [][]byte

func (*Recipients) GetRoundID

func (x *Recipients) GetRoundID() uint64

func (*Recipients) GetRoundTS

func (x *Recipients) GetRoundTS() uint64

func (*Recipients) ProtoMessage

func (*Recipients) ProtoMessage()

func (*Recipients) ProtoReflect

func (x *Recipients) ProtoReflect() protoreflect.Message

func (*Recipients) Reset

func (x *Recipients) Reset()

func (*Recipients) String

func (x *Recipients) String() string

type RegisterTokenRequest

type RegisterTokenRequest struct {
	App                         string `protobuf:"bytes,1,opt,name=App,proto3" json:"App,omitempty"`
	Token                       string `protobuf:"bytes,2,opt,name=Token,proto3" json:"Token,omitempty"`
	TransmissionRsaPem          []byte `protobuf:"bytes,3,opt,name=TransmissionRsaPem,proto3" json:"TransmissionRsaPem,omitempty"`
	TransmissionSalt            []byte `protobuf:"bytes,4,opt,name=TransmissionSalt,proto3" json:"TransmissionSalt,omitempty"`
	RegistrationTimestamp       int64  `protobuf:"varint,5,opt,name=RegistrationTimestamp,proto3" json:"RegistrationTimestamp,omitempty"`
	TransmissionRsaRegistrarSig []byte `protobuf:"bytes,6,opt,name=TransmissionRsaRegistrarSig,proto3" json:"TransmissionRsaRegistrarSig,omitempty"`
	RequestTimestamp            int64  `protobuf:"varint,7,opt,name=RequestTimestamp,proto3" json:"RequestTimestamp,omitempty"`
	TokenSignature              []byte `protobuf:"bytes,8,opt,name=TokenSignature,proto3" json:"TokenSignature,omitempty"`
	// contains filtered or unexported fields
}

func (*RegisterTokenRequest) Descriptor deprecated

func (*RegisterTokenRequest) Descriptor() ([]byte, []int)

Deprecated: Use RegisterTokenRequest.ProtoReflect.Descriptor instead.

func (*RegisterTokenRequest) GetApp

func (x *RegisterTokenRequest) GetApp() string

func (*RegisterTokenRequest) GetRegistrationTimestamp

func (x *RegisterTokenRequest) GetRegistrationTimestamp() int64

func (*RegisterTokenRequest) GetRequestTimestamp

func (x *RegisterTokenRequest) GetRequestTimestamp() int64

func (*RegisterTokenRequest) GetToken

func (x *RegisterTokenRequest) GetToken() string

func (*RegisterTokenRequest) GetTokenSignature

func (x *RegisterTokenRequest) GetTokenSignature() []byte

func (*RegisterTokenRequest) GetTransmissionRsaPem

func (x *RegisterTokenRequest) GetTransmissionRsaPem() []byte

func (*RegisterTokenRequest) GetTransmissionRsaRegistrarSig

func (x *RegisterTokenRequest) GetTransmissionRsaRegistrarSig() []byte

func (*RegisterTokenRequest) GetTransmissionSalt

func (x *RegisterTokenRequest) GetTransmissionSalt() []byte

func (*RegisterTokenRequest) ProtoMessage

func (*RegisterTokenRequest) ProtoMessage()

func (*RegisterTokenRequest) ProtoReflect

func (x *RegisterTokenRequest) ProtoReflect() protoreflect.Message

func (*RegisterTokenRequest) Reset

func (x *RegisterTokenRequest) Reset()

func (*RegisterTokenRequest) String

func (x *RegisterTokenRequest) String() string

type RegisterTrackedIdRequest

type RegisterTrackedIdRequest struct {
	Request                     *TrackedIntermediaryIdRequest `protobuf:"bytes,1,opt,name=Request,proto3" json:"Request,omitempty"`
	RegistrationTimestamp       int64                         `protobuf:"varint,2,opt,name=RegistrationTimestamp,proto3" json:"RegistrationTimestamp,omitempty"`
	TransmissionRsaRegistrarSig []byte                        `protobuf:"bytes,3,opt,name=TransmissionRsaRegistrarSig,proto3" json:"TransmissionRsaRegistrarSig,omitempty"`
	// contains filtered or unexported fields
}

func (*RegisterTrackedIdRequest) Descriptor deprecated

func (*RegisterTrackedIdRequest) Descriptor() ([]byte, []int)

Deprecated: Use RegisterTrackedIdRequest.ProtoReflect.Descriptor instead.

func (*RegisterTrackedIdRequest) GetRegistrationTimestamp

func (x *RegisterTrackedIdRequest) GetRegistrationTimestamp() int64

func (*RegisterTrackedIdRequest) GetRequest

func (*RegisterTrackedIdRequest) GetTransmissionRsaRegistrarSig

func (x *RegisterTrackedIdRequest) GetTransmissionRsaRegistrarSig() []byte

func (*RegisterTrackedIdRequest) ProtoMessage

func (*RegisterTrackedIdRequest) ProtoMessage()

func (*RegisterTrackedIdRequest) ProtoReflect

func (x *RegisterTrackedIdRequest) ProtoReflect() protoreflect.Message

func (*RegisterTrackedIdRequest) Reset

func (x *RegisterTrackedIdRequest) Reset()

func (*RegisterTrackedIdRequest) String

func (x *RegisterTrackedIdRequest) String() string

type RegisteredNodeCheck

type RegisteredNodeCheck struct {
	ID []byte `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
	// contains filtered or unexported fields
}

func (*RegisteredNodeCheck) Descriptor deprecated

func (*RegisteredNodeCheck) Descriptor() ([]byte, []int)

Deprecated: Use RegisteredNodeCheck.ProtoReflect.Descriptor instead.

func (*RegisteredNodeCheck) GetID

func (x *RegisteredNodeCheck) GetID() []byte

func (*RegisteredNodeCheck) ProtoMessage

func (*RegisteredNodeCheck) ProtoMessage()

func (*RegisteredNodeCheck) ProtoReflect

func (x *RegisteredNodeCheck) ProtoReflect() protoreflect.Message

func (*RegisteredNodeCheck) Reset

func (x *RegisteredNodeCheck) Reset()

func (*RegisteredNodeCheck) String

func (x *RegisteredNodeCheck) String() string

type RegisteredNodeConfirmation

type RegisteredNodeConfirmation struct {
	IsRegistered bool `protobuf:"varint,1,opt,name=IsRegistered,proto3" json:"IsRegistered,omitempty"`
	// contains filtered or unexported fields
}

Server -> Permissioning message for whether a node has been registered

func (*RegisteredNodeConfirmation) Descriptor deprecated

func (*RegisteredNodeConfirmation) Descriptor() ([]byte, []int)

Deprecated: Use RegisteredNodeConfirmation.ProtoReflect.Descriptor instead.

func (*RegisteredNodeConfirmation) GetIsRegistered

func (x *RegisteredNodeConfirmation) GetIsRegistered() bool

func (*RegisteredNodeConfirmation) ProtoMessage

func (*RegisteredNodeConfirmation) ProtoMessage()

func (*RegisteredNodeConfirmation) ProtoReflect

func (*RegisteredNodeConfirmation) Reset

func (x *RegisteredNodeConfirmation) Reset()

func (*RegisteredNodeConfirmation) String

func (x *RegisteredNodeConfirmation) String() string

type RegistrationClient

type RegistrationClient interface {
	// Node registration for the permissioning server
	RegisterNode(ctx context.Context, in *NodeRegistration, opts ...grpc.CallOption) (*messages.Ack, error)
	// Obtain NDF from the Registration Server
	PollNdf(ctx context.Context, in *NDFHash, opts ...grpc.CallOption) (*NDF, error)
	// Server -> Permissioning unified polling
	Poll(ctx context.Context, in *messages.AuthenticatedMessage, opts ...grpc.CallOption) (*PermissionPollResponse, error)
	// Checks if node has been registered
	CheckRegistration(ctx context.Context, in *RegisteredNodeCheck, opts ...grpc.CallOption) (*RegisteredNodeConfirmation, error)
}

RegistrationClient is the client API for Registration 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 RegistrationServer

type RegistrationServer interface {
	// Node registration for the permissioning server
	RegisterNode(context.Context, *NodeRegistration) (*messages.Ack, error)
	// Obtain NDF from the Registration Server
	PollNdf(context.Context, *NDFHash) (*NDF, error)
	// Server -> Permissioning unified polling
	Poll(context.Context, *messages.AuthenticatedMessage) (*PermissionPollResponse, error)
	// Checks if node has been registered
	CheckRegistration(context.Context, *RegisteredNodeCheck) (*RegisteredNodeConfirmation, error)
	// contains filtered or unexported methods
}

RegistrationServer is the server API for Registration service. All implementations must embed UnimplementedRegistrationServer for forward compatibility

type RemoteSyncClient

type RemoteSyncClient interface {
	Login(ctx context.Context, in *RsAuthenticationRequest, opts ...grpc.CallOption) (*RsAuthenticationResponse, error)
	Read(ctx context.Context, in *RsReadRequest, opts ...grpc.CallOption) (*RsReadResponse, error)
	Write(ctx context.Context, in *RsWriteRequest, opts ...grpc.CallOption) (*messages.Ack, error)
	GetLastModified(ctx context.Context, in *RsReadRequest, opts ...grpc.CallOption) (*RsTimestampResponse, error)
	GetLastWrite(ctx context.Context, in *RsLastWriteRequest, opts ...grpc.CallOption) (*RsTimestampResponse, error)
	ReadDir(ctx context.Context, in *RsReadRequest, opts ...grpc.CallOption) (*RsReadDirResponse, error)
}

RemoteSyncClient is the client API for RemoteSync 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.

func NewRemoteSyncClient

func NewRemoteSyncClient(cc grpc.ClientConnInterface) RemoteSyncClient

type RemoteSyncServer

RemoteSyncServer is the server API for RemoteSync service. All implementations must embed UnimplementedRemoteSyncServer for forward compatibility

type RequestGatewayCert

type RequestGatewayCert struct {
	// contains filtered or unexported fields
}

func (*RequestGatewayCert) Descriptor deprecated

func (*RequestGatewayCert) Descriptor() ([]byte, []int)

Deprecated: Use RequestGatewayCert.ProtoReflect.Descriptor instead.

func (*RequestGatewayCert) ProtoMessage

func (*RequestGatewayCert) ProtoMessage()

func (*RequestGatewayCert) ProtoReflect

func (x *RequestGatewayCert) ProtoReflect() protoreflect.Message

func (*RequestGatewayCert) Reset

func (x *RequestGatewayCert) Reset()

func (*RequestGatewayCert) String

func (x *RequestGatewayCert) String() string

type RoundBufferInfo

type RoundBufferInfo struct {
	RoundBufferSize uint32 `protobuf:"varint,1,opt,name=RoundBufferSize,proto3" json:"RoundBufferSize,omitempty"`
	// contains filtered or unexported fields
}

RoundInfo contains the # of precomputations ready for messages, among other information

func (*RoundBufferInfo) Descriptor deprecated

func (*RoundBufferInfo) Descriptor() ([]byte, []int)

Deprecated: Use RoundBufferInfo.ProtoReflect.Descriptor instead.

func (*RoundBufferInfo) GetRoundBufferSize

func (x *RoundBufferInfo) GetRoundBufferSize() uint32

func (*RoundBufferInfo) ProtoMessage

func (*RoundBufferInfo) ProtoMessage()

func (*RoundBufferInfo) ProtoReflect

func (x *RoundBufferInfo) ProtoReflect() protoreflect.Message

func (*RoundBufferInfo) Reset

func (x *RoundBufferInfo) Reset()

func (*RoundBufferInfo) String

func (x *RoundBufferInfo) String() string

type RoundError

type RoundError struct {
	Id        uint64                 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
	NodeId    []byte                 `protobuf:"bytes,2,opt,name=NodeId,proto3" json:"NodeId,omitempty"`
	Error     string                 `protobuf:"bytes,3,opt,name=Error,proto3" json:"Error,omitempty"`
	Signature *messages.RSASignature `protobuf:"bytes,4,opt,name=Signature,proto3" json:"Signature,omitempty"`
	// contains filtered or unexported fields
}

RoundError will be used to describe a round error Passed along to gateways (level 2) and clients (level 3)

func (*RoundError) Descriptor deprecated

func (*RoundError) Descriptor() ([]byte, []int)

Deprecated: Use RoundError.ProtoReflect.Descriptor instead.

func (*RoundError) Digest

func (m *RoundError) Digest(nonce []byte, h hash.Hash) []byte

Digest hashes the contents of the message in a repeatable manner using the provided cryptographic hash. It includes the nonce in the hash

func (*RoundError) GetError

func (x *RoundError) GetError() string

func (*RoundError) GetId

func (x *RoundError) GetId() uint64

func (*RoundError) GetNodeId

func (x *RoundError) GetNodeId() []byte

func (*RoundError) GetSig

func (m *RoundError) GetSig() *messages.RSASignature

GetSig returns the RSA signature. IF none exists, it creates it, adds it to the object, then returns it.

func (*RoundError) GetSignature

func (x *RoundError) GetSignature() *messages.RSASignature

func (*RoundError) ProtoMessage

func (*RoundError) ProtoMessage()

func (*RoundError) ProtoReflect

func (x *RoundError) ProtoReflect() protoreflect.Message

func (*RoundError) Reset

func (x *RoundError) Reset()

func (*RoundError) String

func (x *RoundError) String() string

type RoundInfo

type RoundInfo struct {
	ID                         uint64                 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	UpdateID                   uint64                 `protobuf:"varint,2,opt,name=UpdateID,proto3" json:"UpdateID,omitempty"`
	State                      uint32                 `protobuf:"varint,3,opt,name=State,proto3" json:"State,omitempty"` // Precomp, Standby, Realtime, Completed, Failed
	BatchSize                  uint32                 `protobuf:"varint,4,opt,name=BatchSize,proto3" json:"BatchSize,omitempty"`
	Topology                   [][]byte               `protobuf:"bytes,5,rep,name=Topology,proto3" json:"Topology,omitempty"`             // List of NodeIDs
	Timestamps                 []uint64               `protobuf:"varint,6,rep,packed,name=Timestamps,proto3" json:"Timestamps,omitempty"` // List of state timestamps in UTC
	Errors                     []*RoundError          `protobuf:"bytes,7,rep,name=Errors,proto3" json:"Errors,omitempty"`                 // List of round errors which occurred
	ClientErrors               []*ClientError         `protobuf:"bytes,8,rep,name=ClientErrors,proto3" json:"ClientErrors,omitempty"`
	ResourceQueueTimeoutMillis uint32                 `protobuf:"varint,9,opt,name=ResourceQueueTimeoutMillis,proto3" json:"ResourceQueueTimeoutMillis,omitempty"` // Timeout for resource queue on nodes
	Signature                  *messages.RSASignature `protobuf:"bytes,10,opt,name=Signature,proto3" json:"Signature,omitempty"`
	AddressSpaceSize           uint32                 `protobuf:"varint,11,opt,name=AddressSpaceSize,proto3" json:"AddressSpaceSize,omitempty"`
	EccSignature               *messages.ECCSignature `protobuf:"bytes,12,opt,name=EccSignature,proto3" json:"EccSignature,omitempty"`
	// contains filtered or unexported fields
}

Describes a round

func (*RoundInfo) DeepCopy

func (m *RoundInfo) DeepCopy() *RoundInfo

func (*RoundInfo) Descriptor deprecated

func (*RoundInfo) Descriptor() ([]byte, []int)

Deprecated: Use RoundInfo.ProtoReflect.Descriptor instead.

func (*RoundInfo) Digest

func (m *RoundInfo) Digest(nonce []byte, h hash.Hash) []byte

Digest hashes the contents of the message in a repeatable manner using the provided cryptographic hash. It includes the nonce in the hash

func (*RoundInfo) GetAddressSpaceSize

func (x *RoundInfo) GetAddressSpaceSize() uint32

func (*RoundInfo) GetBatchSize

func (x *RoundInfo) GetBatchSize() uint32

func (*RoundInfo) GetClientErrors

func (x *RoundInfo) GetClientErrors() []*ClientError

func (*RoundInfo) GetEccSig

func (m *RoundInfo) GetEccSig() *messages.ECCSignature

func (*RoundInfo) GetEccSignature

func (x *RoundInfo) GetEccSignature() *messages.ECCSignature

func (*RoundInfo) GetErrors

func (x *RoundInfo) GetErrors() []*RoundError

func (*RoundInfo) GetID

func (x *RoundInfo) GetID() uint64

func (*RoundInfo) GetResourceQueueTimeoutMillis

func (x *RoundInfo) GetResourceQueueTimeoutMillis() uint32

func (*RoundInfo) GetRoundId

func (m *RoundInfo) GetRoundId() id.Round

func (*RoundInfo) GetRoundState

func (m *RoundInfo) GetRoundState() states.Round

GetActivity gets the state of the node

func (*RoundInfo) GetSig

func (m *RoundInfo) GetSig() *messages.RSASignature

GetSig returns the RSA signature. IF none exists, it creates it, adds it to the object, then returns it.

func (*RoundInfo) GetSignature

func (x *RoundInfo) GetSignature() *messages.RSASignature

func (*RoundInfo) GetState

func (x *RoundInfo) GetState() uint32

func (*RoundInfo) GetTimestamps

func (x *RoundInfo) GetTimestamps() []uint64

func (*RoundInfo) GetTopology

func (x *RoundInfo) GetTopology() [][]byte

func (*RoundInfo) GetUpdateID

func (x *RoundInfo) GetUpdateID() uint64

func (*RoundInfo) ProtoMessage

func (*RoundInfo) ProtoMessage()

func (*RoundInfo) ProtoReflect

func (x *RoundInfo) ProtoReflect() protoreflect.Message

func (*RoundInfo) Reset

func (x *RoundInfo) Reset()

func (*RoundInfo) String

func (x *RoundInfo) String() string

type RoundMessages

type RoundMessages struct {
	RoundId  uint64  `protobuf:"varint,1,opt,name=RoundId,proto3" json:"RoundId,omitempty"`
	Messages []*Slot `protobuf:"bytes,2,rep,name=Messages,proto3" json:"Messages,omitempty"`
	// contains filtered or unexported fields
}

Gateway -> Gateway message sharing within a team

func (*RoundMessages) Descriptor deprecated

func (*RoundMessages) Descriptor() ([]byte, []int)

Deprecated: Use RoundMessages.ProtoReflect.Descriptor instead.

func (*RoundMessages) GetMessages

func (x *RoundMessages) GetMessages() []*Slot

func (*RoundMessages) GetRoundId

func (x *RoundMessages) GetRoundId() uint64

func (*RoundMessages) ProtoMessage

func (*RoundMessages) ProtoMessage()

func (*RoundMessages) ProtoReflect

func (x *RoundMessages) ProtoReflect() protoreflect.Message

func (*RoundMessages) Reset

func (x *RoundMessages) Reset()

func (*RoundMessages) String

func (x *RoundMessages) String() string

type RoundMetrics

type RoundMetrics struct {
	RoundMetricJSON string `protobuf:"bytes,1,opt,name=RoundMetricJSON,proto3" json:"RoundMetricJSON,omitempty"`
	// contains filtered or unexported fields
}

func (*RoundMetrics) Descriptor deprecated

func (*RoundMetrics) Descriptor() ([]byte, []int)

Deprecated: Use RoundMetrics.ProtoReflect.Descriptor instead.

func (*RoundMetrics) GetRoundMetricJSON

func (x *RoundMetrics) GetRoundMetricJSON() string

func (*RoundMetrics) ProtoMessage

func (*RoundMetrics) ProtoMessage()

func (*RoundMetrics) ProtoReflect

func (x *RoundMetrics) ProtoReflect() protoreflect.Message

func (*RoundMetrics) Reset

func (x *RoundMetrics) Reset()

func (*RoundMetrics) String

func (x *RoundMetrics) String() string

type RoundPublicKey

type RoundPublicKey struct {
	Round *RoundInfo `protobuf:"bytes,1,opt,name=Round,proto3" json:"Round,omitempty"`
	Key   []byte     `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"`
	// contains filtered or unexported fields
}

func (*RoundPublicKey) Descriptor deprecated

func (*RoundPublicKey) Descriptor() ([]byte, []int)

Deprecated: Use RoundPublicKey.ProtoReflect.Descriptor instead.

func (*RoundPublicKey) GetKey

func (x *RoundPublicKey) GetKey() []byte

func (*RoundPublicKey) GetRound

func (x *RoundPublicKey) GetRound() *RoundInfo

func (*RoundPublicKey) ProtoMessage

func (*RoundPublicKey) ProtoMessage()

func (*RoundPublicKey) ProtoReflect

func (x *RoundPublicKey) ProtoReflect() protoreflect.Message

func (*RoundPublicKey) Reset

func (x *RoundPublicKey) Reset()

func (*RoundPublicKey) String

func (x *RoundPublicKey) String() string

type RoundTripPing

type RoundTripPing struct {
	Payload *anypb.Any `protobuf:"bytes,1,opt,name=Payload,proto3" json:"Payload,omitempty"`
	Round   *RoundInfo `protobuf:"bytes,2,opt,name=Round,proto3" json:"Round,omitempty"`
	// contains filtered or unexported fields
}

Used for collecting metrics on a round trip of the system

func (*RoundTripPing) Descriptor deprecated

func (*RoundTripPing) Descriptor() ([]byte, []int)

Deprecated: Use RoundTripPing.ProtoReflect.Descriptor instead.

func (*RoundTripPing) GetPayload

func (x *RoundTripPing) GetPayload() *anypb.Any

func (*RoundTripPing) GetRound

func (x *RoundTripPing) GetRound() *RoundInfo

func (*RoundTripPing) ProtoMessage

func (*RoundTripPing) ProtoMessage()

func (*RoundTripPing) ProtoReflect

func (x *RoundTripPing) ProtoReflect() protoreflect.Message

func (*RoundTripPing) Reset

func (x *RoundTripPing) Reset()

func (*RoundTripPing) String

func (x *RoundTripPing) String() string

type RsAuthenticationRequest

type RsAuthenticationRequest struct {
	Username     string `protobuf:"bytes,1,opt,name=Username,proto3" json:"Username,omitempty"`
	PasswordHash []byte `protobuf:"bytes,2,opt,name=PasswordHash,proto3" json:"PasswordHash,omitempty"`
	Salt         []byte `protobuf:"bytes,3,opt,name=Salt,proto3" json:"Salt,omitempty"`
	// contains filtered or unexported fields
}

func (*RsAuthenticationRequest) Descriptor deprecated

func (*RsAuthenticationRequest) Descriptor() ([]byte, []int)

Deprecated: Use RsAuthenticationRequest.ProtoReflect.Descriptor instead.

func (*RsAuthenticationRequest) GetPasswordHash

func (x *RsAuthenticationRequest) GetPasswordHash() []byte

func (*RsAuthenticationRequest) GetSalt

func (x *RsAuthenticationRequest) GetSalt() []byte

func (*RsAuthenticationRequest) GetUsername

func (x *RsAuthenticationRequest) GetUsername() string

func (*RsAuthenticationRequest) ProtoMessage

func (*RsAuthenticationRequest) ProtoMessage()

func (*RsAuthenticationRequest) ProtoReflect

func (x *RsAuthenticationRequest) ProtoReflect() protoreflect.Message

func (*RsAuthenticationRequest) Reset

func (x *RsAuthenticationRequest) Reset()

func (*RsAuthenticationRequest) String

func (x *RsAuthenticationRequest) String() string

type RsAuthenticationResponse

type RsAuthenticationResponse struct {
	Token     []byte `protobuf:"bytes,1,opt,name=Token,proto3" json:"Token,omitempty"`
	ExpiresAt int64  `protobuf:"varint,2,opt,name=ExpiresAt,proto3" json:"ExpiresAt,omitempty"`
	// contains filtered or unexported fields
}

func (*RsAuthenticationResponse) Descriptor deprecated

func (*RsAuthenticationResponse) Descriptor() ([]byte, []int)

Deprecated: Use RsAuthenticationResponse.ProtoReflect.Descriptor instead.

func (*RsAuthenticationResponse) GetExpiresAt

func (x *RsAuthenticationResponse) GetExpiresAt() int64

func (*RsAuthenticationResponse) GetToken

func (x *RsAuthenticationResponse) GetToken() []byte

func (*RsAuthenticationResponse) ProtoMessage

func (*RsAuthenticationResponse) ProtoMessage()

func (*RsAuthenticationResponse) ProtoReflect

func (x *RsAuthenticationResponse) ProtoReflect() protoreflect.Message

func (*RsAuthenticationResponse) Reset

func (x *RsAuthenticationResponse) Reset()

func (*RsAuthenticationResponse) String

func (x *RsAuthenticationResponse) String() string

type RsLastWriteRequest

type RsLastWriteRequest struct {
	Token []byte `protobuf:"bytes,1,opt,name=Token,proto3" json:"Token,omitempty"`
	// contains filtered or unexported fields
}

func (*RsLastWriteRequest) Descriptor deprecated

func (*RsLastWriteRequest) Descriptor() ([]byte, []int)

Deprecated: Use RsLastWriteRequest.ProtoReflect.Descriptor instead.

func (*RsLastWriteRequest) GetToken

func (x *RsLastWriteRequest) GetToken() []byte

func (*RsLastWriteRequest) ProtoMessage

func (*RsLastWriteRequest) ProtoMessage()

func (*RsLastWriteRequest) ProtoReflect

func (x *RsLastWriteRequest) ProtoReflect() protoreflect.Message

func (*RsLastWriteRequest) Reset

func (x *RsLastWriteRequest) Reset()

func (*RsLastWriteRequest) String

func (x *RsLastWriteRequest) String() string

type RsReadDirResponse

type RsReadDirResponse struct {
	Data []string `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"`
	// contains filtered or unexported fields
}

func (*RsReadDirResponse) Descriptor deprecated

func (*RsReadDirResponse) Descriptor() ([]byte, []int)

Deprecated: Use RsReadDirResponse.ProtoReflect.Descriptor instead.

func (*RsReadDirResponse) GetData

func (x *RsReadDirResponse) GetData() []string

func (*RsReadDirResponse) ProtoMessage

func (*RsReadDirResponse) ProtoMessage()

func (*RsReadDirResponse) ProtoReflect

func (x *RsReadDirResponse) ProtoReflect() protoreflect.Message

func (*RsReadDirResponse) Reset

func (x *RsReadDirResponse) Reset()

func (*RsReadDirResponse) String

func (x *RsReadDirResponse) String() string

type RsReadRequest

type RsReadRequest struct {
	Path  string `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"`
	Token []byte `protobuf:"bytes,2,opt,name=Token,proto3" json:"Token,omitempty"`
	// contains filtered or unexported fields
}

func (*RsReadRequest) Descriptor deprecated

func (*RsReadRequest) Descriptor() ([]byte, []int)

Deprecated: Use RsReadRequest.ProtoReflect.Descriptor instead.

func (*RsReadRequest) GetPath

func (x *RsReadRequest) GetPath() string

func (*RsReadRequest) GetToken

func (x *RsReadRequest) GetToken() []byte

func (*RsReadRequest) ProtoMessage

func (*RsReadRequest) ProtoMessage()

func (*RsReadRequest) ProtoReflect

func (x *RsReadRequest) ProtoReflect() protoreflect.Message

func (*RsReadRequest) Reset

func (x *RsReadRequest) Reset()

func (*RsReadRequest) String

func (x *RsReadRequest) String() string

type RsReadResponse

type RsReadResponse struct {
	Data []byte `protobuf:"bytes,1,opt,name=Data,proto3" json:"Data,omitempty"`
	// contains filtered or unexported fields
}

func (*RsReadResponse) Descriptor deprecated

func (*RsReadResponse) Descriptor() ([]byte, []int)

Deprecated: Use RsReadResponse.ProtoReflect.Descriptor instead.

func (*RsReadResponse) GetData

func (x *RsReadResponse) GetData() []byte

func (*RsReadResponse) ProtoMessage

func (*RsReadResponse) ProtoMessage()

func (*RsReadResponse) ProtoReflect

func (x *RsReadResponse) ProtoReflect() protoreflect.Message

func (*RsReadResponse) Reset

func (x *RsReadResponse) Reset()

func (*RsReadResponse) String

func (x *RsReadResponse) String() string

type RsTimestampResponse

type RsTimestampResponse struct {
	Timestamp int64 `protobuf:"varint,1,opt,name=Timestamp,proto3" json:"Timestamp,omitempty"`
	// contains filtered or unexported fields
}

func (*RsTimestampResponse) Descriptor deprecated

func (*RsTimestampResponse) Descriptor() ([]byte, []int)

Deprecated: Use RsTimestampResponse.ProtoReflect.Descriptor instead.

func (*RsTimestampResponse) GetTimestamp

func (x *RsTimestampResponse) GetTimestamp() int64

func (*RsTimestampResponse) ProtoMessage

func (*RsTimestampResponse) ProtoMessage()

func (*RsTimestampResponse) ProtoReflect

func (x *RsTimestampResponse) ProtoReflect() protoreflect.Message

func (*RsTimestampResponse) Reset

func (x *RsTimestampResponse) Reset()

func (*RsTimestampResponse) String

func (x *RsTimestampResponse) String() string

type RsWriteRequest

type RsWriteRequest struct {
	Path  string `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"`
	Data  []byte `protobuf:"bytes,2,opt,name=Data,proto3" json:"Data,omitempty"`
	Token []byte `protobuf:"bytes,3,opt,name=Token,proto3" json:"Token,omitempty"`
	// contains filtered or unexported fields
}

func (*RsWriteRequest) Descriptor deprecated

func (*RsWriteRequest) Descriptor() ([]byte, []int)

Deprecated: Use RsWriteRequest.ProtoReflect.Descriptor instead.

func (*RsWriteRequest) GetData

func (x *RsWriteRequest) GetData() []byte

func (*RsWriteRequest) GetPath

func (x *RsWriteRequest) GetPath() string

func (*RsWriteRequest) GetToken

func (x *RsWriteRequest) GetToken() []byte

func (*RsWriteRequest) ProtoMessage

func (*RsWriteRequest) ProtoMessage()

func (*RsWriteRequest) ProtoReflect

func (x *RsWriteRequest) ProtoReflect() protoreflect.Message

func (*RsWriteRequest) Reset

func (x *RsWriteRequest) Reset()

func (*RsWriteRequest) String

func (x *RsWriteRequest) String() string

type ServerPoll

type ServerPoll struct {
	Full           *NDFHash `protobuf:"bytes,1,opt,name=Full,proto3" json:"Full,omitempty"`
	Partial        *NDFHash `protobuf:"bytes,2,opt,name=Partial,proto3" json:"Partial,omitempty"`
	LastUpdate     uint64   `protobuf:"varint,3,opt,name=LastUpdate,proto3" json:"LastUpdate,omitempty"`
	Error          string   `protobuf:"bytes,4,opt,name=Error,proto3" json:"Error,omitempty"` // Only Populated in the event of errors
	GatewayVersion string   `protobuf:"bytes,5,opt,name=gatewayVersion,proto3" json:"gatewayVersion,omitempty"`
	GatewayAddress string   `protobuf:"bytes,6,opt,name=gatewayAddress,proto3" json:"gatewayAddress,omitempty"`
	// contains filtered or unexported fields
}

Unified Gateway->Server polling message

func (*ServerPoll) Descriptor deprecated

func (*ServerPoll) Descriptor() ([]byte, []int)

Deprecated: Use ServerPoll.ProtoReflect.Descriptor instead.

func (*ServerPoll) GetError

func (x *ServerPoll) GetError() string

func (*ServerPoll) GetFull

func (x *ServerPoll) GetFull() *NDFHash

func (*ServerPoll) GetGatewayAddress

func (x *ServerPoll) GetGatewayAddress() string

func (*ServerPoll) GetGatewayVersion

func (x *ServerPoll) GetGatewayVersion() string

func (*ServerPoll) GetLastUpdate

func (x *ServerPoll) GetLastUpdate() uint64

func (*ServerPoll) GetPartial

func (x *ServerPoll) GetPartial() *NDFHash

func (*ServerPoll) ProtoMessage

func (*ServerPoll) ProtoMessage()

func (*ServerPoll) ProtoReflect

func (x *ServerPoll) ProtoReflect() protoreflect.Message

func (*ServerPoll) Reset

func (x *ServerPoll) Reset()

func (*ServerPoll) String

func (x *ServerPoll) String() string

type ServerPollResponse

type ServerPollResponse struct {
	Id                     []byte       `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id,omitempty"`
	FullNDF                *NDF         `protobuf:"bytes,2,opt,name=FullNDF,proto3" json:"FullNDF,omitempty"`           //Empty if no update needed
	PartialNDF             *NDF         `protobuf:"bytes,3,opt,name=PartialNDF,proto3" json:"PartialNDF,omitempty"`     //Empty if no update needed
	Updates                []*RoundInfo `protobuf:"bytes,4,rep,name=Updates,proto3" json:"Updates,omitempty"`           //Empty if no update needed
	BatchRequest           *RoundInfo   `protobuf:"bytes,5,opt,name=BatchRequest,proto3" json:"BatchRequest,omitempty"` //Empty if no update needed
	Batch                  *BatchReady  `protobuf:"bytes,6,opt,name=Batch,proto3" json:"Batch,omitempty"`
	EarliestClientRound    uint64       `protobuf:"varint,7,opt,name=EarliestClientRound,proto3" json:"EarliestClientRound,omitempty"`
	EarliestGatewayRound   uint64       `protobuf:"varint,8,opt,name=EarliestGatewayRound,proto3" json:"EarliestGatewayRound,omitempty"`     // Earliest round to track for gateways
	EarliestRoundTimestamp int64        `protobuf:"varint,9,opt,name=EarliestRoundTimestamp,proto3" json:"EarliestRoundTimestamp,omitempty"` // The timestamp associated with the earliest the gateway still has info for
	EarliestRoundErr       string       `protobuf:"bytes,10,opt,name=EarliestRoundErr,proto3" json:"EarliestRoundErr,omitempty"`
	// contains filtered or unexported fields
}

Unified Gateway->Server polling response

func (*ServerPollResponse) Descriptor deprecated

func (*ServerPollResponse) Descriptor() ([]byte, []int)

Deprecated: Use ServerPollResponse.ProtoReflect.Descriptor instead.

func (*ServerPollResponse) GetBatch

func (x *ServerPollResponse) GetBatch() *BatchReady

func (*ServerPollResponse) GetBatchRequest

func (x *ServerPollResponse) GetBatchRequest() *RoundInfo

func (*ServerPollResponse) GetEarliestClientRound

func (x *ServerPollResponse) GetEarliestClientRound() uint64

func (*ServerPollResponse) GetEarliestGatewayRound

func (x *ServerPollResponse) GetEarliestGatewayRound() uint64

func (*ServerPollResponse) GetEarliestRoundErr

func (x *ServerPollResponse) GetEarliestRoundErr() string

func (*ServerPollResponse) GetEarliestRoundTimestamp

func (x *ServerPollResponse) GetEarliestRoundTimestamp() int64

func (*ServerPollResponse) GetFullNDF

func (x *ServerPollResponse) GetFullNDF() *NDF

func (*ServerPollResponse) GetId

func (x *ServerPollResponse) GetId() []byte

func (*ServerPollResponse) GetPartialNDF

func (x *ServerPollResponse) GetPartialNDF() *NDF

func (*ServerPollResponse) GetUpdates

func (x *ServerPollResponse) GetUpdates() []*RoundInfo

func (*ServerPollResponse) ProtoMessage

func (*ServerPollResponse) ProtoMessage()

func (*ServerPollResponse) ProtoReflect

func (x *ServerPollResponse) ProtoReflect() protoreflect.Message

func (*ServerPollResponse) Reset

func (x *ServerPollResponse) Reset()

func (*ServerPollResponse) String

func (x *ServerPollResponse) String() string

type SharePiece

type SharePiece struct {
	Piece        []byte                 `protobuf:"bytes,1,opt,name=Piece,proto3" json:"Piece,omitempty"`               // In progress round public key
	Participants [][]byte               `protobuf:"bytes,2,rep,name=participants,proto3" json:"participants,omitempty"` // List of nodes who have participated
	RoundID      uint64                 `protobuf:"varint,3,opt,name=roundID,proto3" json:"roundID,omitempty"`          // Id of round tied to round key generation
	Signature    *messages.RSASignature `protobuf:"bytes,4,opt,name=Signature,proto3" json:"Signature,omitempty"`       // Signature tied to message sent by node
	// contains filtered or unexported fields
}

Used as part of Share phase for generation of a multi-party Diffie-Helman key Node <-> Node message

func (*SharePiece) Descriptor deprecated

func (*SharePiece) Descriptor() ([]byte, []int)

Deprecated: Use SharePiece.ProtoReflect.Descriptor instead.

func (*SharePiece) Digest

func (m *SharePiece) Digest(nonce []byte, h hash.Hash) []byte

Digest hashes the contents of the message in a repeatable manner using the provided cryptographic hash. It includes the nonce in the hash

func (*SharePiece) GetParticipants

func (x *SharePiece) GetParticipants() [][]byte

func (*SharePiece) GetPiece

func (x *SharePiece) GetPiece() []byte

func (*SharePiece) GetRoundID

func (x *SharePiece) GetRoundID() uint64

func (*SharePiece) GetSig

func (m *SharePiece) GetSig() *messages.RSASignature

GetSig returns the RSA signature. IF none exists, it creates it, adds it to the object, then returns it.

func (*SharePiece) GetSignature

func (x *SharePiece) GetSignature() *messages.RSASignature

func (*SharePiece) ProtoMessage

func (*SharePiece) ProtoMessage()

func (*SharePiece) ProtoReflect

func (x *SharePiece) ProtoReflect() protoreflect.Message

func (*SharePiece) Reset

func (x *SharePiece) Reset()

func (*SharePiece) String

func (x *SharePiece) String() string

type SignedBatchKeyResponse

type SignedBatchKeyResponse struct {
	SignedKeys []*SignedKeyResponse `protobuf:"bytes,1,rep,name=SignedKeys,proto3" json:"SignedKeys,omitempty"`
	// contains filtered or unexported fields
}

SignedBatchKeyResponse contains responses received from target gateways to the gateway which received the original SignedClientKeyRequest, to be returned to the client

func (*SignedBatchKeyResponse) Descriptor deprecated

func (*SignedBatchKeyResponse) Descriptor() ([]byte, []int)

Deprecated: Use SignedBatchKeyResponse.ProtoReflect.Descriptor instead.

func (*SignedBatchKeyResponse) GetSignedKeys

func (x *SignedBatchKeyResponse) GetSignedKeys() []*SignedKeyResponse

func (*SignedBatchKeyResponse) ProtoMessage

func (*SignedBatchKeyResponse) ProtoMessage()

func (*SignedBatchKeyResponse) ProtoReflect

func (x *SignedBatchKeyResponse) ProtoReflect() protoreflect.Message

func (*SignedBatchKeyResponse) Reset

func (x *SignedBatchKeyResponse) Reset()

func (*SignedBatchKeyResponse) String

func (x *SignedBatchKeyResponse) String() string

type SignedClientBatchKeyRequest

type SignedClientBatchKeyRequest struct {
	ClientKeyRequest          []byte                 `protobuf:"bytes,1,opt,name=ClientKeyRequest,proto3" json:"ClientKeyRequest,omitempty"`
	ClientKeyRequestSignature *messages.RSASignature `protobuf:"bytes,2,opt,name=ClientKeyRequestSignature,proto3" json:"ClientKeyRequestSignature,omitempty"`
	Targets                   [][]byte               `protobuf:"bytes,3,rep,name=Targets,proto3" json:"Targets,omitempty"`
	Timeout                   uint64                 `protobuf:"varint,4,opt,name=Timeout,proto3" json:"Timeout,omitempty"`
	UseSHA                    bool                   `protobuf:"varint,5,opt,name=UseSHA,proto3" json:"UseSHA,omitempty"`
	// contains filtered or unexported fields
}

SignedClientBatchKeyRequest is a message sent from client to a gateway, which will act as a proxy & send the registration request on to the IDs in Targets

func (*SignedClientBatchKeyRequest) Descriptor deprecated

func (*SignedClientBatchKeyRequest) Descriptor() ([]byte, []int)

Deprecated: Use SignedClientBatchKeyRequest.ProtoReflect.Descriptor instead.

func (*SignedClientBatchKeyRequest) GetClientKeyRequest

func (x *SignedClientBatchKeyRequest) GetClientKeyRequest() []byte

func (*SignedClientBatchKeyRequest) GetClientKeyRequestSignature

func (x *SignedClientBatchKeyRequest) GetClientKeyRequestSignature() *messages.RSASignature

func (*SignedClientBatchKeyRequest) GetTargets

func (x *SignedClientBatchKeyRequest) GetTargets() [][]byte

func (*SignedClientBatchKeyRequest) GetTimeout

func (x *SignedClientBatchKeyRequest) GetTimeout() uint64

func (*SignedClientBatchKeyRequest) GetUseSHA

func (x *SignedClientBatchKeyRequest) GetUseSHA() bool

func (*SignedClientBatchKeyRequest) ProtoMessage

func (*SignedClientBatchKeyRequest) ProtoMessage()

func (*SignedClientBatchKeyRequest) ProtoReflect

func (*SignedClientBatchKeyRequest) Reset

func (x *SignedClientBatchKeyRequest) Reset()

func (*SignedClientBatchKeyRequest) String

func (x *SignedClientBatchKeyRequest) String() string

type SignedClientKeyRequest

type SignedClientKeyRequest struct {

	// Wire serialized format of the ClientKeyRequest Object (above)
	ClientKeyRequest []byte `protobuf:"bytes,1,opt,name=ClientKeyRequest,proto3" json:"ClientKeyRequest,omitempty"`
	// RSA signature signed by the client
	ClientKeyRequestSignature *messages.RSASignature `protobuf:"bytes,2,opt,name=ClientKeyRequestSignature,proto3" json:"ClientKeyRequestSignature,omitempty"`
	// Target Gateway/Node - used to proxy through an alternate gateway
	Target []byte `protobuf:"bytes,3,opt,name=Target,proto3" json:"Target,omitempty"`
	// Use sha rather than blake for faster client-side signing
	UseSHA bool `protobuf:"varint,4,opt,name=UseSHA,proto3" json:"UseSHA,omitempty"`
	// contains filtered or unexported fields
}

func (*SignedClientKeyRequest) Descriptor deprecated

func (*SignedClientKeyRequest) Descriptor() ([]byte, []int)

Deprecated: Use SignedClientKeyRequest.ProtoReflect.Descriptor instead.

func (*SignedClientKeyRequest) GetClientKeyRequest

func (x *SignedClientKeyRequest) GetClientKeyRequest() []byte

func (*SignedClientKeyRequest) GetClientKeyRequestSignature

func (x *SignedClientKeyRequest) GetClientKeyRequestSignature() *messages.RSASignature

func (*SignedClientKeyRequest) GetTarget

func (x *SignedClientKeyRequest) GetTarget() []byte

func (*SignedClientKeyRequest) GetUseSHA

func (x *SignedClientKeyRequest) GetUseSHA() bool

func (*SignedClientKeyRequest) ProtoMessage

func (*SignedClientKeyRequest) ProtoMessage()

func (*SignedClientKeyRequest) ProtoReflect

func (x *SignedClientKeyRequest) ProtoReflect() protoreflect.Message

func (*SignedClientKeyRequest) Reset

func (x *SignedClientKeyRequest) Reset()

func (*SignedClientKeyRequest) String

func (x *SignedClientKeyRequest) String() string

type SignedClientRegistrationConfirmations

type SignedClientRegistrationConfirmations struct {
	ClientTransmissionConfirmation *SignedRegistrationConfirmation `protobuf:"bytes,1,opt,name=ClientTransmissionConfirmation,proto3" json:"ClientTransmissionConfirmation,omitempty"`
	ClientReceptionConfirmation    *SignedRegistrationConfirmation `protobuf:"bytes,2,opt,name=ClientReceptionConfirmation,proto3" json:"ClientReceptionConfirmation,omitempty"`
	Error                          string                          `protobuf:"bytes,3,opt,name=Error,proto3" json:"Error,omitempty"`
	// contains filtered or unexported fields
}

func (*SignedClientRegistrationConfirmations) Descriptor deprecated

func (*SignedClientRegistrationConfirmations) Descriptor() ([]byte, []int)

Deprecated: Use SignedClientRegistrationConfirmations.ProtoReflect.Descriptor instead.

func (*SignedClientRegistrationConfirmations) GetClientReceptionConfirmation

func (x *SignedClientRegistrationConfirmations) GetClientReceptionConfirmation() *SignedRegistrationConfirmation

func (*SignedClientRegistrationConfirmations) GetClientTransmissionConfirmation

func (x *SignedClientRegistrationConfirmations) GetClientTransmissionConfirmation() *SignedRegistrationConfirmation

func (*SignedClientRegistrationConfirmations) GetError

func (*SignedClientRegistrationConfirmations) ProtoMessage

func (*SignedClientRegistrationConfirmations) ProtoMessage()

func (*SignedClientRegistrationConfirmations) ProtoReflect

func (*SignedClientRegistrationConfirmations) Reset

func (*SignedClientRegistrationConfirmations) String

type SignedKeyResponse

type SignedKeyResponse struct {
	KeyResponse                []byte                 `protobuf:"bytes,1,opt,name=KeyResponse,proto3" json:"KeyResponse,omitempty"`
	KeyResponseSignedByGateway *messages.RSASignature `protobuf:"bytes,2,opt,name=KeyResponseSignedByGateway,proto3" json:"KeyResponseSignedByGateway,omitempty"`
	ClientGatewayKey           []byte                 `protobuf:"bytes,3,opt,name=ClientGatewayKey,proto3" json:"ClientGatewayKey,omitempty"` // Stripped off by node gateway
	Error                      string                 `protobuf:"bytes,4,opt,name=Error,proto3" json:"Error,omitempty"`
	// contains filtered or unexported fields
}

func (*SignedKeyResponse) Descriptor deprecated

func (*SignedKeyResponse) Descriptor() ([]byte, []int)

Deprecated: Use SignedKeyResponse.ProtoReflect.Descriptor instead.

func (*SignedKeyResponse) GetClientGatewayKey

func (x *SignedKeyResponse) GetClientGatewayKey() []byte

func (*SignedKeyResponse) GetError

func (x *SignedKeyResponse) GetError() string

func (*SignedKeyResponse) GetKeyResponse

func (x *SignedKeyResponse) GetKeyResponse() []byte

func (*SignedKeyResponse) GetKeyResponseSignedByGateway

func (x *SignedKeyResponse) GetKeyResponseSignedByGateway() *messages.RSASignature

func (*SignedKeyResponse) ProtoMessage

func (*SignedKeyResponse) ProtoMessage()

func (*SignedKeyResponse) ProtoReflect

func (x *SignedKeyResponse) ProtoReflect() protoreflect.Message

func (*SignedKeyResponse) Reset

func (x *SignedKeyResponse) Reset()

func (*SignedKeyResponse) String

func (x *SignedKeyResponse) String() string

type SignedRegistrationConfirmation

type SignedRegistrationConfirmation struct {
	ClientRegistrationConfirmation []byte                 `protobuf:"bytes,1,opt,name=ClientRegistrationConfirmation,proto3" json:"ClientRegistrationConfirmation,omitempty"`
	RegistrarSignature             *messages.RSASignature `protobuf:"bytes,2,opt,name=RegistrarSignature,proto3" json:"RegistrarSignature,omitempty"`
	// contains filtered or unexported fields
}

func (*SignedRegistrationConfirmation) Descriptor deprecated

func (*SignedRegistrationConfirmation) Descriptor() ([]byte, []int)

Deprecated: Use SignedRegistrationConfirmation.ProtoReflect.Descriptor instead.

func (*SignedRegistrationConfirmation) GetClientRegistrationConfirmation

func (x *SignedRegistrationConfirmation) GetClientRegistrationConfirmation() []byte

func (*SignedRegistrationConfirmation) GetRegistrarSignature

func (x *SignedRegistrationConfirmation) GetRegistrarSignature() *messages.RSASignature

func (*SignedRegistrationConfirmation) ProtoMessage

func (*SignedRegistrationConfirmation) ProtoMessage()

func (*SignedRegistrationConfirmation) ProtoReflect

func (*SignedRegistrationConfirmation) Reset

func (x *SignedRegistrationConfirmation) Reset()

func (*SignedRegistrationConfirmation) String

type Slot

type Slot struct {

	// Index in batch this slot belongs in
	Index uint32 `protobuf:"varint,1,opt,name=Index,proto3" json:"Index,omitempty"`
	// Precomputation fields
	EncryptedPayloadAKeys       []byte `protobuf:"bytes,2,opt,name=EncryptedPayloadAKeys,proto3" json:"EncryptedPayloadAKeys,omitempty"`
	EncryptedPayloadBKeys       []byte `protobuf:"bytes,3,opt,name=EncryptedPayloadBKeys,proto3" json:"EncryptedPayloadBKeys,omitempty"`
	PartialPayloadACypherText   []byte `protobuf:"bytes,4,opt,name=PartialPayloadACypherText,proto3" json:"PartialPayloadACypherText,omitempty"`
	PartialPayloadBCypherText   []byte `protobuf:"bytes,5,opt,name=PartialPayloadBCypherText,proto3" json:"PartialPayloadBCypherText,omitempty"`
	PartialRoundPublicCypherKey []byte `protobuf:"bytes,6,opt,name=PartialRoundPublicCypherKey,proto3" json:"PartialRoundPublicCypherKey,omitempty"`
	// Realtime/client fields
	SenderID      []byte   `protobuf:"bytes,7,opt,name=SenderID,proto3" json:"SenderID,omitempty"`                    // 256 bit Sender Id
	PayloadA      []byte   `protobuf:"bytes,8,opt,name=PayloadA,proto3" json:"PayloadA,omitempty"`                    // Len(Prime) bit length payload A (contains part of encrypted payload)
	PayloadB      []byte   `protobuf:"bytes,9,opt,name=PayloadB,proto3" json:"PayloadB,omitempty"`                    // Len(Prime) bit length payload B (contains part of encrypted payload, and associated data)
	Salt          []byte   `protobuf:"bytes,10,opt,name=Salt,proto3" json:"Salt,omitempty"`                           // Salt to identify message key
	KMACs         [][]byte `protobuf:"bytes,11,rep,name=KMACs,proto3" json:"KMACs,omitempty"`                         // Individual Key MAC for each node in network
	Ed25519       []byte   `protobuf:"bytes,12,opt,name=Ed25519,proto3" json:"Ed25519,omitempty"`                     // Client ephemeral ed25519 key, if applicable
	EphemeralKeys []bool   `protobuf:"varint,13,rep,packed,name=EphemeralKeys,proto3" json:"EphemeralKeys,omitempty"` // true for each node which used ephemeral key generation
	// contains filtered or unexported fields
}

Represents a single encrypted message in a batch

func (*Slot) Descriptor deprecated

func (*Slot) Descriptor() ([]byte, []int)

Deprecated: Use Slot.ProtoReflect.Descriptor instead.

func (*Slot) GetEd25519

func (x *Slot) GetEd25519() []byte

func (*Slot) GetEncryptedPayloadAKeys

func (x *Slot) GetEncryptedPayloadAKeys() []byte

func (*Slot) GetEncryptedPayloadBKeys

func (x *Slot) GetEncryptedPayloadBKeys() []byte

func (*Slot) GetEphemeralKeys

func (x *Slot) GetEphemeralKeys() []bool

func (*Slot) GetIndex

func (x *Slot) GetIndex() uint32

func (*Slot) GetKMACs

func (x *Slot) GetKMACs() [][]byte

func (*Slot) GetPartialPayloadACypherText

func (x *Slot) GetPartialPayloadACypherText() []byte

func (*Slot) GetPartialPayloadBCypherText

func (x *Slot) GetPartialPayloadBCypherText() []byte

func (*Slot) GetPartialRoundPublicCypherKey

func (x *Slot) GetPartialRoundPublicCypherKey() []byte

func (*Slot) GetPayloadA

func (x *Slot) GetPayloadA() []byte

func (*Slot) GetPayloadB

func (x *Slot) GetPayloadB() []byte

func (*Slot) GetSalt

func (x *Slot) GetSalt() []byte

func (*Slot) GetSenderID

func (x *Slot) GetSenderID() []byte

func (*Slot) ProtoMessage

func (*Slot) ProtoMessage()

func (*Slot) ProtoReflect

func (x *Slot) ProtoReflect() protoreflect.Message

func (*Slot) Reset

func (x *Slot) Reset()

func (*Slot) String

func (x *Slot) String() string

type StrAddress

type StrAddress struct {
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// contains filtered or unexported fields
}

For sending permission address Server -> Gateway

func (*StrAddress) Descriptor deprecated

func (*StrAddress) Descriptor() ([]byte, []int)

Deprecated: Use StrAddress.ProtoReflect.Descriptor instead.

func (*StrAddress) GetAddress

func (x *StrAddress) GetAddress() string

func (*StrAddress) ProtoMessage

func (*StrAddress) ProtoMessage()

func (*StrAddress) ProtoReflect

func (x *StrAddress) ProtoReflect() protoreflect.Message

func (*StrAddress) Reset

func (x *StrAddress) Reset()

func (*StrAddress) String

func (x *StrAddress) String() string

type StreamChunk

type StreamChunk struct {
	Datum []byte `protobuf:"bytes,1,opt,name=Datum,proto3" json:"Datum,omitempty"`
	// contains filtered or unexported fields
}

StreamChunk represents a part of a response, to be streamed in chunks for bandwidth efficiency.

func SplitResponseIntoChunks

func SplitResponseIntoChunks(message proto.Message) ([]*StreamChunk, error)

SplitResponseIntoChunks is a function which takes in a message and splits the serialized message into ChunkSize chunks. .

func (*StreamChunk) Descriptor deprecated

func (*StreamChunk) Descriptor() ([]byte, []int)

Deprecated: Use StreamChunk.ProtoReflect.Descriptor instead.

func (*StreamChunk) GetDatum

func (x *StreamChunk) GetDatum() []byte

func (*StreamChunk) ProtoMessage

func (*StreamChunk) ProtoMessage()

func (*StreamChunk) ProtoReflect

func (x *StreamChunk) ProtoReflect() protoreflect.Message

func (*StreamChunk) Reset

func (x *StreamChunk) Reset()

func (*StreamChunk) String

func (x *StreamChunk) String() string

type TrackedIntermediaryIdRequest

type TrackedIntermediaryIdRequest struct {
	TrackedIntermediaryID [][]byte `protobuf:"bytes,1,rep,name=TrackedIntermediaryID,proto3" json:"TrackedIntermediaryID,omitempty"`
	TransmissionRsaPem    []byte   `protobuf:"bytes,2,opt,name=TransmissionRsaPem,proto3" json:"TransmissionRsaPem,omitempty"`
	RequestTimestamp      int64    `protobuf:"varint,3,opt,name=RequestTimestamp,proto3" json:"RequestTimestamp,omitempty"`
	Signature             []byte   `protobuf:"bytes,4,opt,name=Signature,proto3" json:"Signature,omitempty"`
	// contains filtered or unexported fields
}

func (*TrackedIntermediaryIdRequest) Descriptor deprecated

func (*TrackedIntermediaryIdRequest) Descriptor() ([]byte, []int)

Deprecated: Use TrackedIntermediaryIdRequest.ProtoReflect.Descriptor instead.

func (*TrackedIntermediaryIdRequest) GetRequestTimestamp

func (x *TrackedIntermediaryIdRequest) GetRequestTimestamp() int64

func (*TrackedIntermediaryIdRequest) GetSignature

func (x *TrackedIntermediaryIdRequest) GetSignature() []byte

func (*TrackedIntermediaryIdRequest) GetTrackedIntermediaryID

func (x *TrackedIntermediaryIdRequest) GetTrackedIntermediaryID() [][]byte

func (*TrackedIntermediaryIdRequest) GetTransmissionRsaPem

func (x *TrackedIntermediaryIdRequest) GetTransmissionRsaPem() []byte

func (*TrackedIntermediaryIdRequest) ProtoMessage

func (*TrackedIntermediaryIdRequest) ProtoMessage()

func (*TrackedIntermediaryIdRequest) ProtoReflect

func (*TrackedIntermediaryIdRequest) Reset

func (x *TrackedIntermediaryIdRequest) Reset()

func (*TrackedIntermediaryIdRequest) String

type UDBClient

type UDBClient interface {
	// RegisterUser adds a new ID to the user discovery system
	RegisterUser(ctx context.Context, in *UDBUserRegistration, opts ...grpc.CallOption) (*messages.Ack, error)
	// RemoveUser deletes this user registration and blocks anyone from ever
	// registering under that username again.
	// The fact removal request must be for the username or it will not work.
	RemoveUser(ctx context.Context, in *FactRemovalRequest, opts ...grpc.CallOption) (*messages.Ack, error)
	// RegisterFact starts the association of a fact with an ID. This is
	// completed if it is a username and confirmations are required for verifiable
	// facts like e-mail address and phone numbers.
	RegisterFact(ctx context.Context, in *FactRegisterRequest, opts ...grpc.CallOption) (*FactRegisterResponse, error)
	// ConfirmFact completes the association of a fact with an ID
	ConfirmFact(ctx context.Context, in *FactConfirmRequest, opts ...grpc.CallOption) (*messages.Ack, error)
	// RemoveFact deletes a fact from its associated ID.
	// You cannot RemoveFact on a username. Callers must RemoveUser and reregsiter.
	RemoveFact(ctx context.Context, in *FactRemovalRequest, opts ...grpc.CallOption) (*messages.Ack, error)
	// RequestChannelAuthentication requests a signature from UD on a user's ed25519 public key
	// Returning a lease and a signature from UD
	RequestChannelLease(ctx context.Context, in *ChannelLeaseRequest, opts ...grpc.CallOption) (*ChannelLeaseResponse, error)
	// ValidateUsername sends a UsernameValidationRequest. This is a user side
	// initiated comm, where UD signs the username.
	ValidateUsername(ctx context.Context, in *UsernameValidationRequest, opts ...grpc.CallOption) (*UsernameValidation, error)
}

UDBClient is the client API for UDB 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.

func NewUDBClient

func NewUDBClient(cc grpc.ClientConnInterface) UDBClient

type UDBServer

type UDBServer interface {
	// RegisterUser adds a new ID to the user discovery system
	RegisterUser(context.Context, *UDBUserRegistration) (*messages.Ack, error)
	// RemoveUser deletes this user registration and blocks anyone from ever
	// registering under that username again.
	// The fact removal request must be for the username or it will not work.
	RemoveUser(context.Context, *FactRemovalRequest) (*messages.Ack, error)
	// RegisterFact starts the association of a fact with an ID. This is
	// completed if it is a username and confirmations are required for verifiable
	// facts like e-mail address and phone numbers.
	RegisterFact(context.Context, *FactRegisterRequest) (*FactRegisterResponse, error)
	// ConfirmFact completes the association of a fact with an ID
	ConfirmFact(context.Context, *FactConfirmRequest) (*messages.Ack, error)
	// RemoveFact deletes a fact from its associated ID.
	// You cannot RemoveFact on a username. Callers must RemoveUser and reregsiter.
	RemoveFact(context.Context, *FactRemovalRequest) (*messages.Ack, error)
	// RequestChannelAuthentication requests a signature from UD on a user's ed25519 public key
	// Returning a lease and a signature from UD
	RequestChannelLease(context.Context, *ChannelLeaseRequest) (*ChannelLeaseResponse, error)
	// ValidateUsername sends a UsernameValidationRequest. This is a user side
	// initiated comm, where UD signs the username.
	ValidateUsername(context.Context, *UsernameValidationRequest) (*UsernameValidation, error)
	// contains filtered or unexported methods
}

UDBServer is the server API for UDB service. All implementations must embed UnimplementedUDBServer for forward compatibility

type UDBUserRegistration

type UDBUserRegistration struct {
	PermissioningSignature []byte               `protobuf:"bytes,1,opt,name=PermissioningSignature,proto3" json:"PermissioningSignature,omitempty"`
	RSAPublicPem           string               `protobuf:"bytes,2,opt,name=RSAPublicPem,proto3" json:"RSAPublicPem,omitempty"`
	Timestamp              int64                `protobuf:"varint,3,opt,name=Timestamp,proto3" json:"Timestamp,omitempty"`
	IdentityRegistration   *Identity            `protobuf:"bytes,4,opt,name=IdentityRegistration,proto3" json:"IdentityRegistration,omitempty"`
	IdentitySignature      []byte               `protobuf:"bytes,5,opt,name=IdentitySignature,proto3" json:"IdentitySignature,omitempty"` // (RSAPublicSign(Data.Digest()))
	Frs                    *FactRegisterRequest `protobuf:"bytes,6,opt,name=frs,proto3" json:"frs,omitempty"`
	UID                    []byte               `protobuf:"bytes,7,opt,name=UID,proto3" json:"UID,omitempty"`
	// contains filtered or unexported fields
}

Holds information for a UDB user registration request

func (*UDBUserRegistration) Descriptor deprecated

func (*UDBUserRegistration) Descriptor() ([]byte, []int)

Deprecated: Use UDBUserRegistration.ProtoReflect.Descriptor instead.

func (*UDBUserRegistration) GetFrs

func (*UDBUserRegistration) GetIdentityRegistration

func (x *UDBUserRegistration) GetIdentityRegistration() *Identity

func (*UDBUserRegistration) GetIdentitySignature

func (x *UDBUserRegistration) GetIdentitySignature() []byte

func (*UDBUserRegistration) GetPermissioningSignature

func (x *UDBUserRegistration) GetPermissioningSignature() []byte

func (*UDBUserRegistration) GetRSAPublicPem

func (x *UDBUserRegistration) GetRSAPublicPem() string

func (*UDBUserRegistration) GetTimestamp

func (x *UDBUserRegistration) GetTimestamp() int64

func (*UDBUserRegistration) GetUID

func (x *UDBUserRegistration) GetUID() []byte

func (*UDBUserRegistration) ProtoMessage

func (*UDBUserRegistration) ProtoMessage()

func (*UDBUserRegistration) ProtoReflect

func (x *UDBUserRegistration) ProtoReflect() protoreflect.Message

func (*UDBUserRegistration) Reset

func (x *UDBUserRegistration) Reset()

func (*UDBUserRegistration) String

func (x *UDBUserRegistration) String() string

type UnimplementedAuthorizerServer

type UnimplementedAuthorizerServer struct {
}

UnimplementedAuthorizerServer must be embedded to have forward compatible implementations.

func (UnimplementedAuthorizerServer) Authorize

func (UnimplementedAuthorizerServer) RequestCert

func (UnimplementedAuthorizerServer) RequestEABCredentials

type UnimplementedClientRegistrarServer

type UnimplementedClientRegistrarServer struct {
}

UnimplementedClientRegistrarServer must be embedded to have forward compatible implementations.

type UnimplementedGatewayServer

type UnimplementedGatewayServer struct {
}

UnimplementedGatewayServer must be embedded to have forward compatible implementations.

func (UnimplementedGatewayServer) BatchNodeRegistration

func (UnimplementedGatewayServer) Poll

func (UnimplementedGatewayServer) PutManyMessages

func (UnimplementedGatewayServer) PutManyMessagesProxy

func (UnimplementedGatewayServer) PutMessage

func (UnimplementedGatewayServer) PutMessageProxy

func (UnimplementedGatewayServer) RequestBatchMessages

func (UnimplementedGatewayServer) RequestClientKey

func (UnimplementedGatewayServer) RequestHistoricalRounds

func (UnimplementedGatewayServer) RequestMessages

func (UnimplementedGatewayServer) RequestTlsCert

type UnimplementedNodeServer

type UnimplementedNodeServer struct {
}

UnimplementedNodeServer must be embedded to have forward compatible implementations.

func (UnimplementedNodeServer) AskOnline

func (UnimplementedNodeServer) CreateNewRound

func (UnimplementedNodeServer) FinishRealtime

func (UnimplementedNodeServer) GetMeasure

func (UnimplementedNodeServer) GetPermissioningAddress

func (UnimplementedNodeServer) GetPermissioningAddress(context.Context, *messages.Ping) (*StrAddress, error)

func (UnimplementedNodeServer) GetRoundBufferInfo

func (UnimplementedNodeServer) PostPhase

func (UnimplementedNodeServer) PostPrecompResult

func (UnimplementedNodeServer) PrecompTestBatch

func (UnimplementedNodeServer) RequestClientKey

func (UnimplementedNodeServer) RoundError

func (UnimplementedNodeServer) SendRoundTripPing

func (UnimplementedNodeServer) ShareFinalKey

func (UnimplementedNodeServer) SharePhaseRound

func (UnimplementedNodeServer) StartSharePhase

func (UnimplementedNodeServer) StreamPostPhase

func (UnimplementedNodeServer) UploadUnmixedBatch

type UnimplementedNotificationBotServer

type UnimplementedNotificationBotServer struct {
}

UnimplementedNotificationBotServer must be embedded to have forward compatible implementations.

func (UnimplementedNotificationBotServer) ReceiveNotificationBatch

func (UnimplementedNotificationBotServer) RegisterForNotifications

func (UnimplementedNotificationBotServer) RegisterToken

func (UnimplementedNotificationBotServer) RegisterTrackedID

func (UnimplementedNotificationBotServer) UnregisterForNotifications

func (UnimplementedNotificationBotServer) UnregisterToken

func (UnimplementedNotificationBotServer) UnregisterTrackedID

type UnimplementedRegistrationServer

type UnimplementedRegistrationServer struct {
}

UnimplementedRegistrationServer must be embedded to have forward compatible implementations.

func (UnimplementedRegistrationServer) CheckRegistration

func (UnimplementedRegistrationServer) PollNdf

func (UnimplementedRegistrationServer) RegisterNode

type UnimplementedRemoteSyncServer

type UnimplementedRemoteSyncServer struct {
}

UnimplementedRemoteSyncServer must be embedded to have forward compatible implementations.

func (UnimplementedRemoteSyncServer) GetLastModified

func (UnimplementedRemoteSyncServer) GetLastWrite

func (UnimplementedRemoteSyncServer) Read

func (UnimplementedRemoteSyncServer) ReadDir

func (UnimplementedRemoteSyncServer) Write

type UnimplementedUDBServer

type UnimplementedUDBServer struct {
}

UnimplementedUDBServer must be embedded to have forward compatible implementations.

func (UnimplementedUDBServer) ConfirmFact

func (UnimplementedUDBServer) RegisterFact

func (UnimplementedUDBServer) RegisterUser

func (UnimplementedUDBServer) RemoveFact

func (UnimplementedUDBServer) RemoveUser

func (UnimplementedUDBServer) RequestChannelLease

func (UnimplementedUDBServer) ValidateUsername

type UnregisterTokenRequest

type UnregisterTokenRequest struct {
	App                string `protobuf:"bytes,1,opt,name=App,proto3" json:"App,omitempty"`
	Token              string `protobuf:"bytes,2,opt,name=Token,proto3" json:"Token,omitempty"`
	TransmissionRsaPem []byte `protobuf:"bytes,3,opt,name=TransmissionRsaPem,proto3" json:"TransmissionRsaPem,omitempty"`
	RequestTimestamp   int64  `protobuf:"varint,4,opt,name=RequestTimestamp,proto3" json:"RequestTimestamp,omitempty"`
	TokenSignature     []byte `protobuf:"bytes,5,opt,name=TokenSignature,proto3" json:"TokenSignature,omitempty"`
	// contains filtered or unexported fields
}

func (*UnregisterTokenRequest) Descriptor deprecated

func (*UnregisterTokenRequest) Descriptor() ([]byte, []int)

Deprecated: Use UnregisterTokenRequest.ProtoReflect.Descriptor instead.

func (*UnregisterTokenRequest) GetApp

func (x *UnregisterTokenRequest) GetApp() string

func (*UnregisterTokenRequest) GetRequestTimestamp

func (x *UnregisterTokenRequest) GetRequestTimestamp() int64

func (*UnregisterTokenRequest) GetToken

func (x *UnregisterTokenRequest) GetToken() string

func (*UnregisterTokenRequest) GetTokenSignature

func (x *UnregisterTokenRequest) GetTokenSignature() []byte

func (*UnregisterTokenRequest) GetTransmissionRsaPem

func (x *UnregisterTokenRequest) GetTransmissionRsaPem() []byte

func (*UnregisterTokenRequest) ProtoMessage

func (*UnregisterTokenRequest) ProtoMessage()

func (*UnregisterTokenRequest) ProtoReflect

func (x *UnregisterTokenRequest) ProtoReflect() protoreflect.Message

func (*UnregisterTokenRequest) Reset

func (x *UnregisterTokenRequest) Reset()

func (*UnregisterTokenRequest) String

func (x *UnregisterTokenRequest) String() string

type UnregisterTrackedIdRequest

type UnregisterTrackedIdRequest struct {
	Request *TrackedIntermediaryIdRequest `protobuf:"bytes,1,opt,name=Request,proto3" json:"Request,omitempty"`
	// contains filtered or unexported fields
}

func (*UnregisterTrackedIdRequest) Descriptor deprecated

func (*UnregisterTrackedIdRequest) Descriptor() ([]byte, []int)

Deprecated: Use UnregisterTrackedIdRequest.ProtoReflect.Descriptor instead.

func (*UnregisterTrackedIdRequest) GetRequest

func (*UnregisterTrackedIdRequest) ProtoMessage

func (*UnregisterTrackedIdRequest) ProtoMessage()

func (*UnregisterTrackedIdRequest) ProtoReflect

func (*UnregisterTrackedIdRequest) Reset

func (x *UnregisterTrackedIdRequest) Reset()

func (*UnregisterTrackedIdRequest) String

func (x *UnregisterTrackedIdRequest) String() string

type UnsafeAuthorizerServer

type UnsafeAuthorizerServer interface {
	// contains filtered or unexported methods
}

UnsafeAuthorizerServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AuthorizerServer will result in compilation errors.

type UnsafeClientRegistrarServer

type UnsafeClientRegistrarServer interface {
	// contains filtered or unexported methods
}

UnsafeClientRegistrarServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ClientRegistrarServer will result in compilation errors.

type UnsafeGatewayServer

type UnsafeGatewayServer interface {
	// contains filtered or unexported methods
}

UnsafeGatewayServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to GatewayServer will result in compilation errors.

type UnsafeNodeServer

type UnsafeNodeServer interface {
	// contains filtered or unexported methods
}

UnsafeNodeServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to NodeServer will result in compilation errors.

type UnsafeNotificationBotServer

type UnsafeNotificationBotServer interface {
	// contains filtered or unexported methods
}

UnsafeNotificationBotServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to NotificationBotServer will result in compilation errors.

type UnsafeRegistrationServer

type UnsafeRegistrationServer interface {
	// contains filtered or unexported methods
}

UnsafeRegistrationServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to RegistrationServer will result in compilation errors.

type UnsafeRemoteSyncServer

type UnsafeRemoteSyncServer interface {
	// contains filtered or unexported methods
}

UnsafeRemoteSyncServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to RemoteSyncServer will result in compilation errors.

type UnsafeUDBServer

type UnsafeUDBServer interface {
	// contains filtered or unexported methods
}

UnsafeUDBServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to UDBServer will result in compilation errors.

type UserIdList

type UserIdList struct {
	IDs [][]byte `protobuf:"bytes,1,rep,name=IDs,proto3" json:"IDs,omitempty"`
	// contains filtered or unexported fields
}

The list of user IDS for notification polling

func (*UserIdList) Descriptor deprecated

func (*UserIdList) Descriptor() ([]byte, []int)

Deprecated: Use UserIdList.ProtoReflect.Descriptor instead.

func (*UserIdList) GetIDs

func (x *UserIdList) GetIDs() [][]byte

func (*UserIdList) ProtoMessage

func (*UserIdList) ProtoMessage()

func (*UserIdList) ProtoReflect

func (x *UserIdList) ProtoReflect() protoreflect.Message

func (*UserIdList) Reset

func (x *UserIdList) Reset()

func (*UserIdList) String

func (x *UserIdList) String() string

type UsernameValidation

type UsernameValidation struct {
	Signature             []byte `protobuf:"bytes,1,opt,name=Signature,proto3" json:"Signature,omitempty"`
	Username              string `protobuf:"bytes,2,opt,name=Username,proto3" json:"Username,omitempty"`
	ReceptionPublicKeyPem []byte `protobuf:"bytes,3,opt,name=ReceptionPublicKeyPem,proto3" json:"ReceptionPublicKeyPem,omitempty"`
	// contains filtered or unexported fields
}

UsernameValidation is the response to a UsernameValidationRequest. This contains a signature from a UD server on the data within the request message.

func (*UsernameValidation) Descriptor deprecated

func (*UsernameValidation) Descriptor() ([]byte, []int)

Deprecated: Use UsernameValidation.ProtoReflect.Descriptor instead.

func (*UsernameValidation) GetReceptionPublicKeyPem

func (x *UsernameValidation) GetReceptionPublicKeyPem() []byte

func (*UsernameValidation) GetSignature

func (x *UsernameValidation) GetSignature() []byte

func (*UsernameValidation) GetUsername

func (x *UsernameValidation) GetUsername() string

func (*UsernameValidation) ProtoMessage

func (*UsernameValidation) ProtoMessage()

func (*UsernameValidation) ProtoReflect

func (x *UsernameValidation) ProtoReflect() protoreflect.Message

func (*UsernameValidation) Reset

func (x *UsernameValidation) Reset()

func (*UsernameValidation) String

func (x *UsernameValidation) String() string

type UsernameValidationRequest

type UsernameValidationRequest struct {
	UserId []byte `protobuf:"bytes,3,opt,name=UserId,proto3" json:"UserId,omitempty"`
	// contains filtered or unexported fields
}

UsernameValidationRequest is the message a user sends to UD to for validation that they own their username

func (*UsernameValidationRequest) Descriptor deprecated

func (*UsernameValidationRequest) Descriptor() ([]byte, []int)

Deprecated: Use UsernameValidationRequest.ProtoReflect.Descriptor instead.

func (*UsernameValidationRequest) GetUserId

func (x *UsernameValidationRequest) GetUserId() []byte

func (*UsernameValidationRequest) ProtoMessage

func (*UsernameValidationRequest) ProtoMessage()

func (*UsernameValidationRequest) ProtoReflect

func (*UsernameValidationRequest) Reset

func (x *UsernameValidationRequest) Reset()

func (*UsernameValidationRequest) String

func (x *UsernameValidationRequest) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL