UNPKG

@bsv/overlay

Version:
42 lines (35 loc) 1.44 kB
import { Script, TaggedBEEF } from '@bsv/sdk' import { Advertisement } from './Advertisement.js' export interface AdvertisementData { protocol: 'SHIP' | 'SLAP' topicOrServiceName: string } /** * Interface for managing SHIP and SLAP advertisements. * Provides methods for creating, finding, and revoking advertisements. */ export interface Advertiser { /** * Creates a new SHIP/SLAP advertisement for a given topic. * @param adsData - The data indicating the type of advertisement. * @returns A promise that resolves to the created advertisement as TaggedBEEF. */ createAdvertisements: (adsData: AdvertisementData[]) => Promise<TaggedBEEF> /** * Finds all SHIP/SLAP advertisements. * @returns A promise that resolves to an array of SHIP/SLAP advertisements. */ findAllAdvertisements: (protocol: 'SHIP' | 'SLAP') => Promise<Advertisement[]> /** * Revokes an existing advertisement, either SHIP or SLAP. * @param advertisements - The advertisements to revoke, either SHIP or SLAP. * @returns A promise that resolves to the revocation transaction as TaggedBEEF. */ revokeAdvertisements: (advertisements: Advertisement[]) => Promise<TaggedBEEF> /** * Parses an output script to extract an advertisement. * @param outputScript - The script of the output to be parsed. * @returns The parsed advertisement */ parseAdvertisement: (outputScript: Script) => Advertisement }