mlsvalidate

package
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AssociationStateResult

type AssociationStateResult struct {
	AssociationState *associations.AssociationState     `protobuf:"bytes,1,opt,name=association_state,json=associationState,proto3" json:"association_state,omitempty"`
	StateDiff        *associations.AssociationStateDiff `protobuf:"bytes,2,opt,name=state_diff,json=stateDiff,proto3"               json:"state_diff,omitempty"`
}

type GroupMessageValidationResult

type GroupMessageValidationResult struct {
	GroupId  string
	IsCommit bool
}

type IdentityInput

type IdentityInput struct {
	SigningPublicKey []byte
	Identity         []byte
}

type IdentityStore

type IdentityStore interface {
	GetInboxLogs(
		ctx context.Context,
		req *identity.GetIdentityUpdatesRequest,
	) (*identity.GetIdentityUpdatesResponse, error)
}

type IdentityValidationResult

type IdentityValidationResult struct {
	AccountAddress     string
	InstallationKey    []byte
	CredentialIdentity []byte
	Expiration         uint64
}

type InboxIdKeyPackage

type InboxIdKeyPackage struct {
	InboxId               string
	InstallationPublicKey []byte
}

type InboxIdValidationResult

type InboxIdValidationResult struct {
	InstallationKey []byte
	Credential      *identity_proto.MlsCredential
	Expiration      uint64
}

type MLSValidationOptions

type MLSValidationOptions struct {
	GRPCAddress string `long:"grpc-address" description:"Address for the GRPC validation service"`
}

type MLSValidationService

type MLSValidationService interface {
	ValidateInboxIdKeyPackages(
		ctx context.Context,
		keyPackages [][]byte,
	) ([]InboxIdValidationResult, error)
	ValidateGroupMessages(
		ctx context.Context,
		groupMessages []*mlsv1.GroupMessageInput,
	) ([]GroupMessageValidationResult, error)
	ValidateGroupMessagePayloads(
		ctx context.Context,
		groupMessagePayloads [][]byte,
	) ([]GroupMessageValidationResult, error)
	GetAssociationState(
		ctx context.Context,
		oldUpdates []*associations.IdentityUpdate,
		newUpdates []*associations.IdentityUpdate,
	) (*AssociationStateResult, error)
	VerifySmartContractWalletSignatures(
		ctx context.Context,
		req *identity.VerifySmartContractWalletSignaturesRequest,
	) (*identity.VerifySmartContractWalletSignaturesResponse, error)
}

type MLSValidationServiceImpl

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

func NewMlsValidationService

func NewMlsValidationService(
	ctx context.Context,
	options MLSValidationOptions,
	identityStore IdentityStore,
) (*MLSValidationServiceImpl, error)

func (*MLSValidationServiceImpl) GetAssociationState

func (s *MLSValidationServiceImpl) GetAssociationState(
	ctx context.Context,
	oldUpdates []*associations.IdentityUpdate,
	newUpdates []*associations.IdentityUpdate,
) (*AssociationStateResult, error)

func (*MLSValidationServiceImpl) ValidateGroupMessagePayloads added in v1.1.0

func (s *MLSValidationServiceImpl) ValidateGroupMessagePayloads(
	ctx context.Context,
	groupMessagePayloads [][]byte,
) ([]GroupMessageValidationResult, error)

func (*MLSValidationServiceImpl) ValidateGroupMessages

func (s *MLSValidationServiceImpl) ValidateGroupMessages(
	ctx context.Context,
	groupMessages []*mlsv1.GroupMessageInput,
) ([]GroupMessageValidationResult, error)

func (*MLSValidationServiceImpl) ValidateInboxIdKeyPackages

func (s *MLSValidationServiceImpl) ValidateInboxIdKeyPackages(
	ctx context.Context,
	keyPackages [][]byte,
) ([]InboxIdValidationResult, error)

Jump to

Keyboard shortcuts

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