@bsv/overlay-express
Version:
BSV Blockchain Overlay Express
36 lines • 1.98 kB
TypeScript
import * as DiscoveryServices from '@bsv/overlay-discovery-services';
import { BanService } from './BanService.js';
type SHIPStorage = InstanceType<typeof DiscoveryServices.SHIPStorage>;
type SLAPStorage = InstanceType<typeof DiscoveryServices.SLAPStorage>;
/**
* Prevents banned SHIP records from being written to discovery storage.
*/
export declare class BanAwareSHIPStorage {
private readonly wrapped;
private readonly banService;
private readonly logger;
constructor(wrapped: SHIPStorage, banService: BanService, logger?: typeof console);
ensureIndexes(): Promise<void>;
hasDuplicateRecord(identityKey: string, domain: string, topic: string): Promise<boolean>;
storeSHIPRecord(txid: string, outputIndex: number, identityKey: string, domain: string, topic: string): Promise<void>;
deleteSHIPRecord(txid: string, outputIndex: number): Promise<void>;
findRecord(...args: Parameters<SHIPStorage['findRecord']>): ReturnType<SHIPStorage['findRecord']>;
findAll(...args: Parameters<SHIPStorage['findAll']>): ReturnType<SHIPStorage['findAll']>;
}
/**
* Prevents banned SLAP records from being written to discovery storage.
*/
export declare class BanAwareSLAPStorage {
private readonly wrapped;
private readonly banService;
private readonly logger;
constructor(wrapped: SLAPStorage, banService: BanService, logger?: typeof console);
ensureIndexes(): Promise<void>;
hasDuplicateRecord(identityKey: string, domain: string, service: string): Promise<boolean>;
storeSLAPRecord(txid: string, outputIndex: number, identityKey: string, domain: string, service: string): Promise<void>;
deleteSLAPRecord(txid: string, outputIndex: number): Promise<void>;
findRecord(...args: Parameters<SLAPStorage['findRecord']>): ReturnType<SLAPStorage['findRecord']>;
findAll(...args: Parameters<SLAPStorage['findAll']>): ReturnType<SLAPStorage['findAll']>;
}
export {};
//# sourceMappingURL=BanAwareDiscoveryStorage.d.ts.map