lotus-sdk
Version:
Central repository for several classes of tools for integrating with, and building for, the Lotusia ecosystem
48 lines • 2.54 kB
TypeScript
import { EventEmitter } from 'events';
import { PublicKey } from '../../bitcore/publickey.js';
import type { P2PCoordinator } from '../coordinator.js';
import { type DiscoveryOptions } from '../discovery/types.js';
import type { MuSig2SignerCriteria, MuSig2SigningRequestCriteria, MuSig2SignerAdvertisement, MuSig2SigningRequestAdvertisement, MuSig2DiscoveryConfig } from './discovery-types.js';
import { type TransactionType } from './types.js';
export declare class MuSig2Discovery extends EventEmitter {
private advertiser;
private discoverer;
private config;
private coordinator;
private activeSignerAd;
private activeRequestAds;
private refreshTimer;
constructor(coordinator: P2PCoordinator, config?: Partial<MuSig2DiscoveryConfig>);
start(): Promise<void>;
stop(): Promise<void>;
advertiseSigner(publicKey: PublicKey, transactionTypes: TransactionType[], options?: {
amountRange?: {
min?: number;
max?: number;
};
metadata?: MuSig2SignerAdvertisement['signerMetadata'];
ttl?: number;
}): Promise<string>;
withdrawSigner(): Promise<void>;
discoverSigners(criteria?: Partial<MuSig2SignerCriteria>, options?: DiscoveryOptions): Promise<MuSig2SignerAdvertisement[]>;
createSigningRequest(requiredPublicKeys: PublicKey[], messageHash: string, options?: {
metadata?: MuSig2SigningRequestAdvertisement['requestMetadata'];
ttl?: number;
creatorSignature?: Buffer;
}): Promise<string>;
withdrawSigningRequest(requestId: string): Promise<void>;
discoverSigningRequests(criteria?: Partial<MuSig2SigningRequestCriteria>, options?: DiscoveryOptions): Promise<MuSig2SigningRequestAdvertisement[]>;
joinSigningRequest(requestId: string, publicKey: PublicKey): Promise<void>;
private generateSignerAdId;
private generateRequestId;
private isSignerAdvertisement;
private isSigningRequestAdvertisement;
private matchesSignerCriteria;
private matchesRequestCriteria;
private refreshActiveAdvertisements;
private withdrawAllAdvertisements;
subscribeToSigners(criteria: Partial<MuSig2SignerCriteria> | undefined, callback: (signer: MuSig2SignerAdvertisement) => void): Promise<string>;
subscribeToSigningRequests(criteria: Partial<MuSig2SigningRequestCriteria> | undefined, callback: (request: MuSig2SigningRequestAdvertisement) => void): Promise<string>;
unsubscribe(subscriptionId: string): Promise<void>;
}
//# sourceMappingURL=discovery-extension.d.ts.map