UNPKG

lotus-sdk

Version:

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

39 lines (38 loc) 1.3 kB
export function publicKeyToHex(publicKey) { return publicKey.toString(); } export function hexToPublicKey(hex) { return hex; } export function isValidSignerCriteria(criteria) { return criteria.protocol === 'musig2'; } export function isValidSigningRequestCriteria(criteria) { return criteria.protocol === 'musig2-request'; } export function isValidSignerAdvertisement(ad) { return (ad.protocol === 'musig2' && typeof ad.id === 'string' && ad.publicKey !== undefined && Array.isArray(ad.transactionTypes)); } export function isValidSigningRequestAdvertisement(ad) { return (ad.protocol === 'musig2-request' && typeof ad.requestId === 'string' && Array.isArray(ad.requiredPublicKeys) && ad.requiredPublicKeys.length > 0 && typeof ad.messageHash === 'string' && typeof ad.creatorPeerId === 'string'); } export const DEFAULT_MUSIG2_DISCOVERY_CONFIG = { signerKeyPrefix: 'musig2:signer:', requestKeyPrefix: 'musig2:request:', signerTTL: 30 * 60 * 1000, requestTTL: 10 * 60 * 1000, enableBurnValidation: false, minBurnAmount: 50_000_000, chronikUrl: 'https://chronik.lotusia.org', enableAutoRefresh: true, signerRefreshInterval: 20 * 60 * 1000, maxConcurrentRequests: 5, };