Skip to content

Welshman Docs / @welshman/app / Zappers

Class: Zappers ​

Defined in: plugins/zappers.ts:28

Lightning zapper info, keyed by lnurl. A "local" loadable collection: items aren't nostr events, they're fetched over HTTP (either directly from each lnurl, or via a dufflepud proxy to protect user privacy). Depends on the profiles collection to resolve a pubkey's lnurl.

Extends ​

Constructors ​

Constructor ​

new Zappers(app, options?): Zappers

Defined in: plugins/base.ts:150

Parameters ​

app ​

IApp

options? ​

MakeLoadItemOptions = {}

Returns ​

Zappers

Inherited from ​

LoadableMapPlugin.constructor

Properties ​

all ​

all: Projection<Zapper[]>

Defined in: plugins/base.ts:77

Inherited from ​

LoadableMapPlugin.all


app ​

protected readonly app: IApp

Defined in: plugins/base.ts:81

Inherited from ​

LoadableMapPlugin.app


fetch ​

fetch: (request) => Promise<Zapper | undefined>

Defined in: plugins/zappers.ts:29

Parameters ​

request ​

string

Returns ​

Promise<Zapper | undefined>

Overrides ​

LoadableMapPlugin.fetch


forceLoad ​

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

Defined in: plugins/base.ts:146

Parameters ​

key ​

string

args ​

...any[]

Returns ​

Promise<Maybe<Zapper>>

Inherited from ​

LoadableMapPlugin.forceLoad


index ​

index: Projection<ItemsByKey<Zapper>>

Defined in: plugins/base.ts:76

Inherited from ​

LoadableMapPlugin.index


load ​

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

Defined in: plugins/base.ts:145

Parameters ​

key ​

string

args ​

...any[]

Returns ​

Promise<Maybe<Zapper>>

Inherited from ​

LoadableMapPlugin.load


one ​

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

Defined in: plugins/base.ts:78

Parameters ​

key? ​

string

args ​

...any[]

Returns ​

Readable<Maybe<Zapper>>

Inherited from ​

LoadableMapPlugin.one


store ​

protected store: Writable<Map<string, Zapper>>

Defined in: plugins/base.ts:75

Inherited from ​

LoadableMapPlugin.store


subs ​

subs: (key, value) => void[] = []

Defined in: plugins/base.ts:79

Parameters ​

key ​

string

value ​

Maybe<Zapper>

Returns ​

void

Inherited from ​

LoadableMapPlugin.subs

Methods ​

clear() ​

clear(): void

Defined in: plugins/base.ts:112

Returns ​

void

Inherited from ​

LoadableMapPlugin.clear


delete() ​

delete(key): void

Defined in: plugins/base.ts:102

Parameters ​

key ​

string

Returns ​

void

Inherited from ​

LoadableMapPlugin.delete


emitItem() ​

protected emitItem(key, value): void

Defined in: plugins/base.ts:132

Parameters ​

key ​

string

value ​

Maybe<Zapper>

Returns ​

void

Inherited from ​

LoadableMapPlugin.emitItem


forPubkey() ​

forPubkey(pubkey, relays?): Projection<Maybe<Zapper>>

Defined in: plugins/zappers.ts:79

Parameters ​

pubkey ​

string

relays? ​

string[] = []

Returns ​

Projection<Maybe<Zapper>>


get() ​

get(key): Zapper | undefined

Defined in: plugins/base.ts:87

Parameters ​

key ​

string

Returns ​

Zapper | undefined

Inherited from ​

LoadableMapPlugin.get


loadForPubkey() ​

loadForPubkey(pubkey, relays?): Promise<Maybe<Zapper>>

Defined in: plugins/zappers.ts:71

Parameters ​

pubkey ​

string

relays? ​

string[] = []

Returns ​

Promise<Maybe<Zapper>>


loadZapperForZap() ​

loadZapperForZap(zapReceipt, parent, relays?): Promise<Maybe<Zapper>>

Defined in: plugins/zappers.ts:103

Resolve the zapper a zap receipt should be validated against. A receipt's p tag is the recipient (copied from the zap request), so we honor only receipts addressed to one of the parent's designated split recipients and load that recipient's zapper, so zaps to any split recipient validate.

Parameters ​

zapReceipt ​

TrustedEvent

parent ​

TrustedEvent

relays? ​

string[] = []

Returns ​

Promise<Maybe<Zapper>>


onItem() ​

onItem(subscriber): Unsubscriber

Defined in: plugins/base.ts:122

Parameters ​

subscriber ​

(key, value) => void

Returns ​

Unsubscriber

Inherited from ​

LoadableMapPlugin.onItem


project() ​

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

Defined in: plugins/base.ts:89

Type Parameters ​

U ​

U

Parameters ​

key ​

string

read ​

(item) => U

Returns ​

Projection<U>

Inherited from ​

LoadableMapPlugin.project


set() ​

set(key, value): void

Defined in: plugins/base.ts:92

Parameters ​

key ​

string

value ​

Zapper

Returns ​

void

Inherited from ​

LoadableMapPlugin.set


validateZapReceipt() ​

validateZapReceipt(zapReceipt, parent, relays?): Promise<Zap | undefined>

Defined in: plugins/zappers.ts:116

Parameters ​

zapReceipt ​

TrustedEvent

parent ​

TrustedEvent

relays? ​

string[] = []

Returns ​

Promise<Zap | undefined>


validateZapReceipts() ​

validateZapReceipts(zapReceipts, parent, relays?): Promise<Zap[]>

Defined in: plugins/zappers.ts:130

Parameters ​

zapReceipts ​

TrustedEvent[]

parent ​

TrustedEvent

relays? ​

string[] = []

Returns ​

Promise<Zap[]>


validZapReceipts() ​

validZapReceipts(zapReceipts, parent, relays?): Projection<Zap[]>

Defined in: plugins/zappers.ts:141

Parameters ​

zapReceipts ​

TrustedEvent[]

parent ​

TrustedEvent

relays? ​

string[] = []

Returns ​

Projection<Zap[]>