zkgroup

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Jul 3, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrVerificationFailed = errors.New("zkgroup verification failed")

Functions

This section is empty.

Types

type MembershipCredential

type MembershipCredential struct {
	GroupID      string
	MemberID     string
	Issuer       string
	ExpiresAt    int64
	ProofDigest  string
	UpstreamPath string
}

type PrivateMembershipCredential added in v0.6.0

type PrivateMembershipCredential struct {
	CredentialID        string `json:"credential_id"`
	GroupID             string `json:"group_id"`
	Issuer              string `json:"issuer"`
	MemberCommitment    string `json:"member_commitment"`
	MembershipEpoch     uint64 `json:"membership_epoch"`
	ExpiresAt           int64  `json:"expires_at"`
	UpstreamPath        string `json:"upstream_path,omitempty"`
	CredentialSignature string `json:"credential_signature"`
}

func IssuePrivateMembershipCredential added in v0.6.0

func IssuePrivateMembershipCredential(req PrivateMembershipIssueRequest) (PrivateMembershipCredential, error)

type PrivateMembershipIssueRequest added in v0.6.0

type PrivateMembershipIssueRequest struct {
	GroupID         string
	MemberID        string
	Issuer          string
	IssuerSecret    []byte
	MembershipEpoch uint64
	ExpiresAt       int64
	UpstreamPath    string
}

type PrivateMembershipPresentation added in v0.6.0

type PrivateMembershipPresentation struct {
	CredentialID        string `json:"credential_id"`
	GroupID             string `json:"group_id"`
	Issuer              string `json:"issuer"`
	MemberCommitment    string `json:"member_commitment"`
	MembershipEpoch     uint64 `json:"membership_epoch"`
	ExpiresAt           int64  `json:"expires_at"`
	UpstreamPath        string `json:"upstream_path,omitempty"`
	Audience            string `json:"audience"`
	OperationID         string `json:"operation_id"`
	CredentialSignature string `json:"credential_signature"`
	ProofDigest         string `json:"proof_digest"`
}

type PrivateMembershipPresentationRequest added in v0.6.0

type PrivateMembershipPresentationRequest struct {
	Audience    string
	OperationID string
}

type PrivateMembershipVerificationReport added in v0.6.0

type PrivateMembershipVerificationReport struct {
	Domain               string
	Accepted             bool
	ProductionReady      bool
	OfficialZKEquivalent bool
	Reason               string
	MemberCommitment     string
	UpstreamPath         string
}

func VerifyPrivateMembershipPresentation added in v0.6.0

func VerifyPrivateMembershipPresentation(presentation PrivateMembershipPresentation, req PrivateMembershipVerifyRequest) (PrivateMembershipVerificationReport, error)

type PrivateMembershipVerifyRequest added in v0.6.0

type PrivateMembershipVerifyRequest struct {
	IssuerSecret             []byte
	Audience                 string
	OperationID              string
	CurrentMembershipEpoch   uint64
	RevokedMemberCommitments []string
	NowUnix                  int64
}

type VerificationReport

type VerificationReport struct {
	Domain          string
	Accepted        bool
	ProductionReady bool
	UpstreamPath    string
}

func VerifyMembershipCredential

func VerifyMembershipCredential(credential MembershipCredential) (VerificationReport, error)

Jump to

Keyboard shortcuts

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