Represents UCAN chain view over the set of DAG UCAN nodes. You can think of this as UCAN interface of the CAR.

Implements

Type Parameters

Hierarchy

  • Delegation

Implements

Constructors

Properties

blocks: BlockStore<unknown>

Map of all the IPLD blocks that were included with this delegation DAG. Usually this would be blocks corresponding to proofs, however it may also contain other blocks e.g. things that capabilities or facts may link. It is not guaranteed to include all the blocks of this DAG, as it represents a partial DAG of the delegation desired for transporting.

Also note that map may contain blocks that are not part of this delegation DAG. That is because Delegation is usually constructed as view / selection over the CAR which may contain bunch of other blocks.

Deprecated

root: UCANBlock<C, MulticodecCode<number, string>, SigAlg>

The root block of the IPLD DAG this is the view of. This is the the block from which all other blocks are linked directly or transitively.

Accessors

  • Returns AttachedLinkSet

  • get audience(): Principal<`did:${string}:${string}`>
  • Returns Principal<`did:${string}:${string}`>

  • get capabilities(): C
  • Returns C

  • get data(): UCAN.View<C>
  • Returns UCAN.View<C>

  • get expiration(): number
  • Returns number

  • get facts(): Fact[]
  • Returns Fact[]

  • get issuer(): Principal<`did:${string}:${string}`>
  • Returns Principal<`did:${string}:${string}`>

  • get nonce(): undefined | string
  • Returns undefined | string

  • get notBefore(): undefined | number
  • Returns undefined | number

  • get version(): `${number}.${number}.${number}`
  • Returns `${number}.${number}.${number}`

Methods

  • Attach a block to the delegation DAG so it would be included in the block iterator. ⚠️ You can only attach blocks that are referenced from the capabilities or facts.

    Parameters

    Returns void

  • Encodes all the blocks and creates a new IPLDView instance over them. Can be passed a multihasher to specify a preferred hashing algorithm. Note that there is no guarantee that preferred hasher will be used, it is only a hint of preference and not a requirement.

    Returns Delegation.Delegation<C>

  • Returns an iterable of all the IPLD blocks that are included in this view. It is RECOMMENDED that implementations return blocks in bottom up order (i.e. leaf blocks first, root block last).

    Iterator MUST include the root block otherwise it will lead to encoders into omitting it when encoding the view into a CAR archive.

    Note that we would like to rename this method to blocks but that would be a breaking change on the Delegate API so we defer it for now.

    Returns IterableIterator<Transport.Block<any, number, number, 1>>

Generated using TypeDoc