/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/libp2p-bootstrap@0.14.0/src/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";const PeerId=require("peer-id"),{Multiaddr:Multiaddr}=require("multiaddr"),mafmt=require("mafmt"),{EventEmitter:EventEmitter}=require("events"),debug=require("debug"),log=Object.assign(debug("libp2p:bootstrap"),{error:debug("libp2p:bootstrap:error")});class Bootstrap extends EventEmitter{constructor(t={list:[]}){if(!t.list||!t.list.length)throw new Error("Bootstrap requires a list of peer addresses");super(),this._list=t.list,this._interval=t.interval||1e4,this._timer=null}start(){this._timer||(this._timer=setInterval((()=>this._discoverBootstrapPeers()),this._interval),log("Starting bootstrap node discovery"),this._discoverBootstrapPeers())}_discoverBootstrapPeers(){this._timer&&this._list.forEach((t=>{if(!mafmt.P2P.matches(t))return log.error("Invalid multiaddr");const r=new Multiaddr(t),e=r.getPeerId();if(!e)return void log.error("Invalid bootstrap multiaddr without peer id");const i=PeerId.createFromB58String(e);try{this.emit("peer",{id:i,multiaddrs:[r]})}catch(t){log.error("Invalid bootstrap peer id",t)}}))}stop(){this._timer&&clearInterval(this._timer),this._timer=null}}exports=module.exports=Bootstrap,exports.tag="bootstrap";
//# sourceMappingURL=/sm/3442f7bb6e8d4f603de143bdeb12a4ba1990f56264be706de21d2b05ea57cca6.map