Skip to content

Welshman Docs / @welshman/domain / Bolt12ZapWriter

Class: Bolt12ZapWriter ​

Defined in: domain/src/kinds/Bolt12Zap.ts:251

Extends ​

Constructors ​

Constructor ​

new Bolt12ZapWriter(kind, context, reader?): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:67

Parameters ​

kind ​

number

context ​

KindContext

reader? ​

Bolt12ZapReader

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.constructor

Properties ​

clientTag? ​

optional clientTag?: string[]

Defined in: domain/src/core/EventWriter.ts:57

Inherited from ​

EventWriter.clientTag


content ​

content: string = ""

Defined in: domain/src/core/EventWriter.ts:52

Inherited from ​

EventWriter.content


contentWarningTag? ​

optional contentWarningTag?: string[]

Defined in: domain/src/core/EventWriter.ts:56

Inherited from ​

EventWriter.contentWarningTag


context ​

readonly context: KindContext

Defined in: domain/src/core/EventWriter.ts:69

Inherited from ​

EventWriter.context


expirationTag? ​

optional expirationTag?: string[]

Defined in: domain/src/core/EventWriter.ts:55

Inherited from ​

EventWriter.expirationTag


extraTags ​

extraTags: string[][] = []

Defined in: domain/src/core/EventWriter.ts:59

Inherited from ​

EventWriter.extraTags


forcedRoutes? ​

optional forcedRoutes?: RelaySelection[]

Defined in: domain/src/core/EventWriter.ts:60

Inherited from ​

EventWriter.forcedRoutes


identifierTag? ​

optional identifierTag?: string[]

Defined in: domain/src/core/EventWriter.ts:58

Inherited from ​

EventWriter.identifierTag


kind ​

readonly kind: number

Defined in: domain/src/core/EventWriter.ts:68

Inherited from ​

EventWriter.kind


pendingResolves ​

pendingResolves: Promise<unknown>[] = []

Defined in: domain/src/core/EventWriter.ts:61

Inherited from ​

EventWriter.pendingResolves


protectTag? ​

optional protectTag?: string[]

Defined in: domain/src/core/EventWriter.ts:54

Inherited from ​

EventWriter.protectTag


reader? ​

readonly optional reader?: Bolt12ZapReader

Defined in: domain/src/core/EventWriter.ts:70

Inherited from ​

EventWriter.reader


requiresRelays ​

readonly requiresRelays: boolean = false

Defined in: domain/src/core/EventWriter.ts:65

Inherited from ​

EventWriter.requiresRelays


roomTag? ​

optional roomTag?: string[]

Defined in: domain/src/core/EventWriter.ts:53

Inherited from ​

EventWriter.roomTag

Methods ​

addEmoji() ​

addEmoji(shortcode, url, address?): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:269

Parameters ​

shortcode ​

string

url ​

string

address? ​

string

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.addEmoji


addImeta() ​

addImeta(imeta): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:261

Parameters ​

imeta ​

Imeta

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.addImeta


addMention() ​

addMention(pubkey): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:209

Parameters ​

pubkey ​

string

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.addMention


addQuote() ​

addQuote(event): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:225

Parameters ​

event ​

TrustedEvent

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.addQuote


addTags() ​

addTags(...tags): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:191

Parameters ​

tags ​

...string[][]

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.addTags


addZapSplit() ​

addZapSplit(pubkey, split?): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:241

Parameters ​

pubkey ​

string

split? ​

number = 1

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.addZapSplit


clearClient() ​

clearClient(): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:173

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.clearClient


clearContentWarning() ​

clearContentWarning(): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:148

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.clearContentWarning


clearExpiration() ​

clearExpiration(): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:135

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.clearExpiration


clearForcedRoutes() ​

clearForcedRoutes(): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:117

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.clearForcedRoutes


clearIdentifier() ​

clearIdentifier(): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:185

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.clearIdentifier


clearPayer() ​

clearPayer(): Bolt12ZapWriter

Defined in: domain/src/kinds/Bolt12Zap.ts:271

Returns ​

Bolt12ZapWriter


clearRoom() ​

clearRoom(): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:99

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.clearRoom


dropTags() ​

dropTags(pred): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:203

Parameters ​

pred ​

(tag) => unknown

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.dropTags


forceRoutes() ​

forceRoutes(...routes): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:111

Replaces the rendered routes. These are routes rather than urls, so forceRoutes(userInbox()) pins an event to the user's read relays without resolving them first.

Parameters ​

routes ​

...RelaySelection[]

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.forceRoutes


hint() ​

protected hint(...routes): Promise<string>

Defined in: domain/src/core/EventWriter.ts:316

Resolves one or more relay selections to a single hint url, tracking the in-flight promise so renderTags can wait for it. Callers backfill the resolved url into a tag's hint slot.

Parameters ​

routes ​

...RelaySelection[]

Returns ​

Promise<string>

Inherited from ​

EventWriter.hint


imeta() ​

imeta(): Imeta[]

Defined in: domain/src/core/EventWriter.ts:257

Returns ​

Imeta[]

Inherited from ​

EventWriter.imeta


keepTags() ​

keepTags(pred): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:197

Parameters ​

pred ​

(tag) => unknown

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.keepTags


quotes() ​

quotes(): Quote[]

Defined in: domain/src/core/EventWriter.ts:221

Returns ​

Quote[]

Inherited from ​

EventWriter.quotes


relays() ​

relays(): Promise<string[]>

Defined in: domain/src/core/EventWriter.ts:400

Shortcut for getting relays from the router scenario. Forced routes bypass scoring.

Returns ​

Promise<string[]>

Inherited from ​

EventWriter.relays


removeEmoji() ​

removeEmoji(shortcode): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:275

Parameters ​

shortcode ​

string

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.removeEmoji


removeImeta() ​

removeImeta(match): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:265

Parameters ​

match ​

(imeta) => boolean

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.removeImeta


removeQuote() ​

removeQuote(value): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:237

Parameters ​

value ​

string

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.removeQuote


removeZapSplit() ​

removeZapSplit(pubkey): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:253

Parameters ​

pubkey ​

string

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.removeZapSplit


render() ​

render(): Promise<{ event: EventTemplate; relays: string[]; }>

Defined in: domain/src/core/EventWriter.ts:409

Returns a rendered event template along with its relays.

Returns ​

Promise<{ event: EventTemplate; relays: string[]; }>

Inherited from ​

EventWriter.render


renderBehaviorTags() ​

protected renderBehaviorTags(): MaybeAsync<string[][]>

Defined in: domain/src/core/EventWriter.ts:323

Returns a list of tags that may be attached to any kind.

Returns ​

MaybeAsync<string[][]>

Inherited from ​

EventWriter.renderBehaviorTags


renderContent() ​

renderContent(): MaybeAsync<string>

Defined in: domain/src/core/EventWriter.ts:357

Returns the content string as defined by the kind.

Returns ​

MaybeAsync<string>

Inherited from ​

EventWriter.renderContent


renderDomainTags() ​

protected renderDomainTags(): MaybeAsync<string[][]>

Defined in: domain/src/core/EventWriter.ts:337

Returns a list of tags related to the kind.

Returns ​

MaybeAsync<string[][]>

Inherited from ​

EventWriter.renderDomainTags


renderRoutes() ​

protected renderRoutes(): Promise<RelaySelection[]>

Defined in: domain/src/kinds/Bolt12Zap.ts:279

An anonymous zap goes to the recipient's inboxes alone. The default adds the user's own outbox relays, which would link the ephemeral key it is signed with back to them.

Returns ​

Promise<RelaySelection[]>

Overrides ​

EventWriter.renderRoutes


renderTags() ​

renderTags(): Promise<string[][]>

Defined in: domain/src/core/EventWriter.ts:344

Returns the complete tag list for publishing.

Returns ​

Promise<string[][]>

Inherited from ​

EventWriter.renderTags


renderTemplate() ​

renderTemplate(): Promise<EventTemplate>

Defined in: domain/src/core/EventWriter.ts:364

Validates and renders an event template.

Returns ​

Promise<EventTemplate>

Inherited from ​

EventWriter.renderTemplate


scenario() ​

scenario(): Promise<RelayScenario>

Defined in: domain/src/core/EventWriter.ts:391

Returns a router scenario for this event. Publishes to the forced routes (e.g. a NIP-29 room's relay) when set, otherwise to the rendered routes.

The resolver's default limit is tuned for reads, where an extra relay is a round trip returning mostly the same events. Publishing is the opposite: a relay that never received the event serves it to nobody. Override scenario for a different limit.

Returns ​

Promise<RelayScenario>

Inherited from ​

EventWriter.scenario


setClient() ​

setClient(name, address?): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:159

Attributes the event to the NIP-89 client that produced it. address is an optional 31990:pubkey:d-tag pointer to the client's handler information event; when given, its author's outbox fills in the tag's relay hint slot.

Parameters ​

name ​

string

address? ​

string

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.setClient


setContent() ​

setContent(content): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:86

Parameters ​

content ​

string

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.setContent


setContentWarning() ​

setContentWarning(reason?): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:142

Parameters ​

reason? ​

string

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.setContentWarning


setExpiration() ​

setExpiration(expiration): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:129

Parameters ​

expiration ​

number

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.setExpiration


setIdentifier() ​

setIdentifier(identifier?): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:179

Parameters ​

identifier? ​

string = ...

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.setIdentifier


setIntent() ​

setIntent(intent): Bolt12ZapWriter

Defined in: domain/src/kinds/Bolt12Zap.ts:253

Parameters ​

intent ​

SignedEvent

Returns ​

Bolt12ZapWriter


setPayer() ​

setPayer(payer): Bolt12ZapWriter

Defined in: domain/src/kinds/Bolt12Zap.ts:267

Parameters ​

payer ​

string

Returns ​

Bolt12ZapWriter


setProof() ​

setProof(proof): Bolt12ZapWriter

Defined in: domain/src/kinds/Bolt12Zap.ts:262

Parameters ​

proof ​

string

Returns ​

Bolt12ZapWriter


setProtected() ​

setProtected(protect): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:123

Parameters ​

protect ​

Maybe<boolean>

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.setProtected


setRoom() ​

setRoom(url, room): Bolt12ZapWriter

Defined in: domain/src/core/EventWriter.ts:92

Parameters ​

url ​

string

room ​

string

Returns ​

Bolt12ZapWriter

Inherited from ​

EventWriter.setRoom


validate() ​

validate(): void

Defined in: domain/src/kinds/Bolt12Zap.ts:287

Validates a domain object, throwing an error if invalid.

Returns ​

void

Overrides ​

EventWriter.validate