Skip to content

Welshman Docs / @welshman/app / RelaySignedDerivedPlugin

Class: abstract RelaySignedDerivedPlugin<T>

Defined in: app/src/plugins/relays.ts:85

A RelayScopedDerivedPlugin that additionally validates provenance: an item is only keyed on a relay when the relay ITSELF signed it — i.e. the event's author matches the relay's NIP-11 self pubkey. This is the trust model for relay-hosted, relay-signed content (NIP-29 room state, relay membership and roles), and rejects events of these kinds forged by other pubkeys.

Relay self pubkeys load from NIP-11 and can arrive after the events, so the collection re-evaluates whenever the relay-profile collection changes.

Extends

Extended by

Type Parameters

T

T extends RelaySignedItem

Constructors

Constructor

new RelaySignedDerivedPlugin<T>(app, options): RelaySignedDerivedPlugin<T>

Defined in: app/src/plugins/relays.ts:88

Parameters

app

IApp

options

RelayScopedDerivedPluginOptions<T>

Returns

RelaySignedDerivedPlugin<T>

Overrides

RelayScopedDerivedPlugin.constructor

Properties

all

all: Projection<T[]>

Defined in: app/src/plugins/base.ts:264

Inherited from

RelayScopedDerivedPlugin.all


app

protected readonly app: IApp

Defined in: app/src/plugins/base.ts:272

Inherited from

RelayScopedDerivedPlugin.app


forceLoad()

forceLoad: (key, ...args) => Promise<Maybe<T>>

Defined in: app/src/plugins/base.ts:267

Parameters

key

string

args

...any[]

Returns

Promise<Maybe<T>>

Inherited from

RelayScopedDerivedPlugin.forceLoad


index

index: Projection<ItemsByKey<T>>

Defined in: app/src/plugins/base.ts:263

Inherited from

RelayScopedDerivedPlugin.index


load()

load: (key, ...args) => Promise<Maybe<T>>

Defined in: app/src/plugins/base.ts:266

Parameters

key

string

args

...any[]

Returns

Promise<Maybe<T>>

Inherited from

RelayScopedDerivedPlugin.load


one()

one: (key?, ...args) => Readable<Maybe<T>>

Defined in: app/src/plugins/base.ts:265

Parameters

key?

string

args?

...any[]

Returns

Readable<Maybe<T>>

Inherited from

RelayScopedDerivedPlugin.one

Methods

fetch()

abstract fetch(key, ...args): Promise<unknown>

Defined in: app/src/plugins/base.ts:269

Parameters

key

string

args

...any[]

Returns

Promise<unknown>

Inherited from

RelayScopedDerivedPlugin.fetch


get()

get(key): undefined | T

Defined in: app/src/plugins/base.ts:295

Parameters

key

string

Returns

undefined | T

Inherited from

RelayScopedDerivedPlugin.get


project()

project<U>(key, read): Projection<U>

Defined in: app/src/plugins/base.ts:297

Type Parameters

U

U

Parameters

key

string

read

(item) => U

Returns

Projection<U>

Inherited from

RelayScopedDerivedPlugin.project