UNPKG

lotus-sdk

Version:

Central repository for several classes of tools for integrating with, and building for, the Lotusia ecosystem

32 lines 1.39 kB
import type { P2PCoordinator } from '../coordinator.js'; import { PrivateKey } from '../../bitcore/privatekey.js'; import { type IDiscoveryAdvertiser, type DiscoveryAdvertisement, type DiscoveryOptions } from './types.js'; export declare class DHTAdvertiser implements IDiscoveryAdvertiser { private readonly coordinator; private readonly activeAdvertisements; private readonly rateLimitTracker; private started; private cleanupTimer?; private signingKey?; constructor(coordinator: P2PCoordinator, signingKey?: PrivateKey); advertise(advertisement: DiscoveryAdvertisement, options?: DiscoveryOptions): Promise<string>; withdraw(advertisementId: string): Promise<void>; refresh(advertisementId: string, options?: DiscoveryOptions): Promise<void>; getActiveAdvertisements(): string[]; isAdvertisementActive(advertisementId: string): boolean; start(): Promise<void>; stop(): Promise<void>; private signAdvertisement; private constructSignedMessage; setSigningKey(signingKey: PrivateKey): void; getSigningKey(): PrivateKey | undefined; private validateAdvertisement; private checkRateLimits; private publishToDHT; private getGossipSubTopic; private removeFromDHT; private getDHTKey; private setupRefreshTimer; private cleanupExpiredAdvertisements; } //# sourceMappingURL=dht-advertiser.d.ts.map