Skip to content

Welshman Docs / @welshman/app / RelaySignedDerivedPlugin

Abstract Class: RelaySignedDerivedPlugin<T> ​

Defined in: plugins/relays.ts:83

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: plugins/relays.ts:86

Parameters ​

app ​

IApp

options ​

RelayScopedDerivedPluginOptions<T>

Returns ​

RelaySignedDerivedPlugin<T>

Overrides ​

RelayScopedDerivedPlugin.constructor

Properties ​

all ​

all: Projection<T[]>

Defined in: plugins/base.ts:167

Inherited from ​

RelayScopedDerivedPlugin.all


app ​

protected readonly app: IApp

Defined in: plugins/base.ts:175

Inherited from ​

RelayScopedDerivedPlugin.app


forceLoad ​

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

Defined in: plugins/base.ts:170

Parameters ​

key ​

string

args ​

...any[]

Returns ​

Promise<Maybe<T>>

Inherited from ​

RelayScopedDerivedPlugin.forceLoad


index ​

readonly index: ItemCollection<T>

Defined in: plugins/base.ts:176

Inherited from ​

RelayScopedDerivedPlugin.index


load ​

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

Defined in: plugins/base.ts:169

Parameters ​

key ​

string

args ​

...any[]

Returns ​

Promise<Maybe<T>>

Inherited from ​

RelayScopedDerivedPlugin.load


one ​

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

Defined in: plugins/base.ts:168

Parameters ​

key? ​

string

args ​

...any[]

Returns ​

Readable<Maybe<T>>

Inherited from ​

RelayScopedDerivedPlugin.one

Methods ​

fetch() ​

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

Defined in: plugins/base.ts:172

Parameters ​

key ​

string

args ​

...any[]

Returns ​

Promise<unknown>

Inherited from ​

RelayScopedDerivedPlugin.fetch


get() ​

get(key): T | undefined

Defined in: plugins/base.ts:190

Parameters ​

key ​

string

Returns ​

T | undefined

Inherited from ​

RelayScopedDerivedPlugin.get


project() ​

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

Defined in: plugins/base.ts:192

Type Parameters ​

U ​

U

Parameters ​

key ​

string

read ​

(item) => U

Returns ​

Projection<U>

Inherited from ​

RelayScopedDerivedPlugin.project