Skip to main content
The Deno 2 Release Candidate is here
Learn more
Module

x/willow/src/wgps/pai/pai_finder.ts>PaiFinder

Exploring Willow in the most efficient and sound programming language
Go to Latest
class PaiFinder
import { PaiFinder } from "https://deno.land/x/willow@0.2.1/src/wgps/pai/pai_finder.ts";

Given ReadAuthorisations, emits intersected

Type Parameters

ReadCapability
PsiGroup
PsiScalar
SubspaceReadCapability
NamespaceId
SubspaceId

Properties

private
bindFragmentQueue: FIFO<[PsiGroup, boolean]>

Queue of: a fragment group to bind, and whether it was derived from a secondary fragment.

private
fragmentsInfo: Map<bigint, LocalFragmentInfo<ReadCapability, SubspaceReadCapability, NamespaceId, SubspaceId>>
private
intersectionHandlesOurs: HandleStore<Intersection<PsiGroup>>
private
intersectionHandlesTheirs: HandleStore<Intersection<PsiGroup>>

Queue of: a read capability to bind, and a handle of our own intersection this is related to, and the outer area to encode against.

private
namespaceScheme: NamespaceScheme<NamespaceId>
private
replyFragmentQueue: FIFO<[bigint, PsiGroup]>

Queue of: the fragment group being replied to, and the multiplied result

private
requestedSubspaceCapHandles: Set<bigint>
private
scalar: PsiScalar
private
subspaceCapReplyQueue: FIFO<[bigint, SubspaceReadCapability]>

Queue of: the handle of the intersection being rseponded to, and the subspace cap.

private
subspaceCapRequestQueue: FIFO<bigint>

Queue of: the handle of the intersecting handle we would like a subspace cap for.

Methods

private
checkForIntersections(handle: bigint, ours: boolean)
private
getHandleOuterArea(handle: bigint): Area<SubspaceId>
getIntersectionPrivy(handle: bigint, ours: boolean): ReadCapPrivy<NamespaceId, SubspaceId>
receivedBind(groupMember: PsiGroup, isSecondary: boolean)
receivedReadCapForIntersection(theirIntersectionHandle: bigint)
receivedReply(handle: bigint, groupMember: PsiGroup)
receivedVerifiedSubspaceCapReply(handle: bigint, namespace: NamespaceId)

Submit a ReadAuthorisation for private set intersection.