Marmot-TS
    Preparing search index...

    Class NostrWelcomeDelivery

    Owns Nostr/NIP-59 Welcome wrapping and inbox publication.

    Index
    signer: EventSigner
    • Delivers a Welcome to many recipients, one deliver call each. This is the shared fanout D-06/D-07 puts on the class whose job is Welcome delivery — reached by both GroupRuntime (ordinary invite) and GroupFactory (founding create), so exactly one implementation exists that cannot drift.

      Never throws and never aggregates: each recipient's settled result maps to exactly one WelcomeDeliveryOutcome entry, in the order the recipients were supplied. A Welcome failure is a normal per-recipient outcome, not an error — see refs/marmot/protocol-core/publish-lifecycle.md lines 66-78 ("succeeds or fails independently and does not affect canonical group state").

      A fulfilled publish is only classified succeeded when the shared hasAck helper (src/utils/nostr.ts) reports at least one acknowledging relay — the same required-ack rule GroupRuntime applies to group events. A fulfilled publish where no relay acknowledged is classified failed (CR-02, 10-VERIFICATION.md), so an unacknowledged invitee stays visible to pendingWelcomes and retryable (FOUND-04).

      Parameters

      Returns Promise<WelcomeDeliveryOutcome[]>