{"_id":"libp2p-pubsub","_rev":"35-f925ff1cfc3231674a6b4aaf750e311d","name":"libp2p-pubsub","dist-tags":{"latest":"0.9.1"},"versions":{"0.0.1":{"name":"libp2p-pubsub","version":"0.0.1","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test -t node","test:node":"aegir test -t node","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^18.0.3","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","libp2p":"~0.24.4","libp2p-secio":"~0.11.0","libp2p-spdy":"~0.13.1","libp2p-tcp":"~0.13.0","lodash":"^4.17.11","peer-id":"~0.12.2","peer-info":"~0.15.1"},"dependencies":{"async":"^2.6.1","debug":"^4.1.1","err-code":"^1.1.2","length-prefixed-stream":"^1.6.0","protons":"^1.0.1","pull-pushable":"^2.2.0"},"contributors":[{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"}],"gitHead":"96f533434aa00eeb2fb763e0525fbae04c30b948","_id":"libp2p-pubsub@0.0.1","_npmVersion":"6.5.0","_nodeVersion":"10.14.1","_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"dist":{"integrity":"sha512-otbe4kthsx0JiTgLyzKVvLNAD+j/kZU89owzlOuAMET82RUOo9qGP5CoYohgaQZGx4Y9dVGgsMUHu339DvN6qA==","shasum":"ba5da8bd519929ac2ffc5bfea0679c7871201c11","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.0.1.tgz","fileCount":13,"unpackedSize":1085035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcS0ngCRA9TVsSAnZWagAAOYMQAJEI15tX5z2dZ1jkMlVP\ntEAeIeX7wVjl+8ppVnfXfUsS22WDUwV/UM9BtLf+qHKNS4Gz3X/UIccwf3eO\nH+b5hPOFsDtwFUKWdS0/9DxblVlhzgFnHiBnuZTzIyNldB1uXRn5scaVwNdb\nJkxbsNSLtmsljzx//dE0MUmWSHghQZZ6JWXCXo+O/d8qWk2ih/saFqMkORpN\ncJfWTmdfW9wZy1b9jwxQksf4XEFGfnerOJYDEEK21Q6lBFad6Bt3knAgvA0h\nUoesL/g2Uv+ZRRwKZzhbm+4JdSWVGLwKqzOPTytgzyV9+WVtWBr1K1ukiJAl\nQWo47nYLaGAGSuoep6lD+56+Nc45QUpkuMz/Y6ruFyuD1G+3VSvo9dL0ZMxv\nYEBYnGw8edg+DXFTk5xdYI7twdQOF34ddUEcv6dE7FZcHuvWCxbZ4r1Gp42L\nWYBV6IGiqDBCtmOGNAUhRiCVCGGQfVpCQ63TW/yzJnuwAhEba4Mcr/PTq+RI\nS2jzw0CeCl9uFLFsjS+1wK93EaVQ9aFCiVmCiEw9oLFpxqio/HS6g7ql8AWS\nMXBSmWiAyU0bh26MKwWbNg3uTe3jDuIudaSVqsmKHwENgpgRaeGa8m0/rUCQ\n9glCIcR5ljbgtjtaJR1gk03qHLdISwTyM7BqO1zKi6tC9xrJZiNIBb4f8T1K\nz+QT\r\n=POIO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4jrSusoRQdnQwuDBLB5GTQoE3oXZXdAkTchDoBQ6NuwIgCToSLiw8c6BJnUTfnkjspSltlX4gTuVPmV4i44Wtwrg="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.0.1_1548437983742_0.3588810743578683"},"_hasShrinkwrap":false},"0.0.2":{"name":"libp2p-pubsub","version":"0.0.2","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test -t node","test:node":"aegir test -t node","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^18.0.3","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","libp2p":"~0.24.4","libp2p-secio":"~0.11.0","libp2p-spdy":"~0.13.1","libp2p-tcp":"~0.13.0","lodash":"^4.17.11","peer-id":"~0.12.2","peer-info":"~0.15.1"},"dependencies":{"async":"^2.6.1","debug":"^4.1.1","err-code":"^1.1.2","length-prefixed-stream":"^1.6.0","protons":"^1.0.1","pull-pushable":"^2.2.0","time-cache":"~0.3.0"},"contributors":[{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"}],"gitHead":"1e4ce8cbf3b00dc7288283f82a35317f84ace714","_id":"libp2p-pubsub@0.0.2","_npmVersion":"6.5.0","_nodeVersion":"10.14.1","_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"dist":{"integrity":"sha512-1/ZzP+QmEG/J1D20JKORar9H1QgNLvFVHnaGPSWt0D4oGtzY790oRSyybYFEV+tkshii/gm74na5UmDHL/1q7g==","shasum":"67b42182af2fe00eb199ab680c1334b98b8111d9","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.0.2.tgz","fileCount":13,"unpackedSize":1143023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXWqxCRA9TVsSAnZWagAADiEQAJQC/Fs7GU/srdLiEhLx\nmc5n2gzslDY5nFpg4sL4QUrd+d+Iyukmi1/UcHu/ytpKhMI0Xqw/PcIR/9vJ\nExX6zhNxp0CXRaS3Pg0YA0N3tYwgebw61jlXSNZ+OKyHivY5wCeFsfLIN864\nS2o1v5ilggbFPbxseRofPCCyrDDMEDC0siHvSb6wNp2p7P77/0uNJyCyOXvZ\nbUHGK9OGi1EmkZ+sp697uaVZvJqlnTJIMN9opk96Ru2Uz6TcQiyQIqJkJ2yO\nqqf4JUzChIQCausdp2UyY8dIPbXpTbcQrenZe1eGZi8LBGgNz1Hg5T6VBs1T\nBV4p/gJxAuzzw8bgcfmcSuTXs4aYrXCwGdp7q/T6ZiBY5iRYpe1rYoWn+ge6\ndfgKq/L5s0B/soyCmhbX72ZlbUN78LsQEPKjNg+eJ3Z+xGwnwkqfSE3/nEj/\nyEjrp0cl2ZfdCV+invSLpREbOysf2VngamwcXULk9KcmCuxqzRiqPLo8goaW\nPVtTJrqmPAx4XUzXkzCDb43QbL5tYqNeggPAOdx8eSdMpeWN34nWMUendJzQ\nzdBpCQYZmiTxdwX7+pOHjXgeO+TNw9Yv092fM5gr24Jj8IXEhd5ZCQfDlXEI\nqmdiq7lFPuRyJ8zSr+c2Nd42lSuBC4Vdi5SAsQ5l/IAKx5ChHcjAd9bvZyws\nLAJW\r\n=g4cp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZimcUz8goSRElAco4NTfL1M2QZzjJckawSZUTz03BfwIgL+hvEnQgeomLu4wgw5UMXPLdRWTud90IYXN5/Dq50ok="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.0.2_1549626032391_0.8029793902247562"},"_hasShrinkwrap":false},"0.0.3":{"name":"libp2p-pubsub","version":"0.0.3","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test -t node","test:node":"aegir test -t node","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^18.2.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","libp2p":"~0.24.4","libp2p-secio":"~0.11.1","libp2p-spdy":"~0.13.3","libp2p-tcp":"~0.13.0","lodash":"^4.17.11","peer-id":"~0.12.2","peer-info":"~0.15.1"},"dependencies":{"async":"^2.6.2","bs58":"^4.0.1","debug":"^4.1.1","err-code":"^1.1.2","length-prefixed-stream":"^2.0.0","libp2p-crypto":"~0.16.1","protons":"^1.0.1","pull-length-prefixed":"^1.3.1","pull-pushable":"^2.2.0","pull-stream":"^3.6.9","time-cache":"~0.3.0"},"contributors":[{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"}],"gitHead":"be03d16ef43046d1e23b4d77807dbc6fa8ca7e42","_id":"libp2p-pubsub@0.0.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"dist":{"integrity":"sha512-DdPQGOcNmSzN2yicJXhiX6A5POlVLyIg9b1/f/w9oHNI/sp6+SoAd1ZGNtgsixhlVrgfGAlOqtOhyWEO5nZsDQ==","shasum":"2a31851d48bbdbf7587f1d34bd2c33f12aa8ceaa","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.0.3.tgz","fileCount":14,"unpackedSize":1149873,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctw5eCRA9TVsSAnZWagAAKFYQAIa1D5d0Ij45Sur1B8Nf\nFklL5Fxd8T09f3PnUoPkzL9kflz/7/JLEtTPZkjnzwq2lVouPm2gRJzS9fNB\nHxhaR6QJF5bKTjRRAqKyK9mv4CYot05l75lBVl6NHqD4iBRI9p8jRUlkUsc+\nBzxtChKEVZ4TnGO80++SMdirRzenzZJ1HCrRTQ3tjDrdaIyk0TRpZd1+OeOw\nI5DgvzyBTD2GqZUIbm4A3IemY1g5yGsK46IrxKTpztxuIFIn+bk6lomHKjps\nkNXgY2sGIfpQyLayHybpUVfhEyHIvBV7n6nEs4AqOeNNPEqcAEAjXe2n0skh\nYbSi50X2xLi2Iud4NFGYcDkZDPvEO59VHEfZgZ/dB4rI1a8cLbiyx5I6ibXI\nlnPAuuGWujz0aOBCffeS1zBjreRA9DcAhER4gZJx71G2kNzPxZO37OqTQKPa\n0GfDnxOGM6Jh2F8A+tjbABppXTG6geCOAR46L30kUP7XZ5UeQS1GJRc0WbL8\nV0Wezj01VvbMywO1MRyLFzGQqaziAHbvovuiFoK9Aac1FrcMCJ32V4WVVBud\nWtpmZS/RTKy3et0MPPgPJ4ZjrrH3pCsq7LkcFK/nzAqXhfy+p8FEvNdU1W6L\nDtIOh5AV8VtBGwwQoEathklBjylQjCfwyrg9/1UhrElXyBNbSyzZiMU24SS9\nZ3ZB\r\n=SAyb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXWZU50QKgbXSw2kTbOHCiIKWgi8uVW1D3K3S+Az7eSwIgY/nVN704F2vgP7LTRuuYT38+8stDeBmkK/5TDmd77vU="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.0.3_1555500637512_0.039848392673500266"},"_hasShrinkwrap":false},"0.0.4":{"name":"libp2p-pubsub","version":"0.0.4","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test -t node","test:node":"aegir test -t node","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^18.2.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","libp2p":"~0.24.4","libp2p-secio":"~0.11.1","libp2p-spdy":"~0.13.3","libp2p-tcp":"~0.13.0","lodash":"^4.17.11","peer-id":"~0.12.2","peer-info":"~0.15.1"},"dependencies":{"async":"^2.6.2","bs58":"^4.0.1","debug":"^4.1.1","err-code":"^1.1.2","length-prefixed-stream":"^2.0.0","libp2p-crypto":"~0.16.1","protons":"^1.0.1","pull-length-prefixed":"^1.3.1","pull-pushable":"^2.2.0","pull-stream":"^3.6.9","time-cache":"~0.3.0"},"contributors":[{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"}],"gitHead":"dda1894e30fa4fc6555ba4281bf43df9db3ec592","_id":"libp2p-pubsub@0.0.4","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"dist":{"integrity":"sha512-j6cup6pQ1060Qhn8Lw2wzoGISyvQgvsFNiGngn5Yld8LaHKgP2T6wgJMEe0e69uEa3yqCWxe+QWFO5RcA1AJDw==","shasum":"8c4b53b32b2e2cd6838e9e4dfc48e2ba010bfcb8","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.0.4.tgz","fileCount":14,"unpackedSize":5579416,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvd7kCRA9TVsSAnZWagAAue8P/0E/Ky++aVLruGN2hAof\nDzh+2ylsv9ljrYBCEzjnXmobwcTjK+ZUNNmLI2OYjEIKw+NBT8bQb0zZmAc3\nyqbZTOTMMf/hZ4D0qjZiDo5uETIQcVgagzRQcRUTs5huqr2ityobrXkdWgXE\neweQ3V9O3EYrOjRtBukizzdB6r35QymdieqrXWLmW01UYSiT4/5LqdOYv+/f\n6O5Icpctzc1O54qCUQhaFI4uyfQedAYDRFV9zbRUCen9w+2/QrIi4OPkOKKp\nH7KjdLxHdwPQVphw2OSb08wUmxMsB9a1croS72TqVPAcnpiw589cstDlIpRI\n+fsh5MH1h0ZZQBUutSmw7ZYik34vCR1vAxL4GMkgGLHv+plo/pptx5Kv5Z63\nSCR/TpVBhkvgTNFN1P8FSr0nm3NT3btxzhYIlPktSZ9XEqmZXjbwba40/S0Q\nJ0SpHOrmCnd/zOoL4okU7rKsT8GDLR+qqdQw6KSz8BxCzU9jFSCOV5SGch8O\nJClBoarYbU0tdwb9qWlImsKwdcDE8RXrxeF6mZWiMZIg0HWzT1jUFY++7KjG\nf3Yza032pZdFOKT33BQKYjmcaDA8jENI7LCfowSTpUK1ZIapb8jwrwx+Oe94\nrVJXUuv7zjvZLByB+A9YwamXfD0J+bQjRSjbNXFPb9H4Mnoj5pppQxxpNYCP\n0/29\r\n=IorA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD99JIY4nantqRNgnPoqijS2aV+HpKw5mRL1eSpMV3wcAIgb7S3hEqFgprXeO6I4RG4FeoVTQ19r7x8H0jDLpV3rbo="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.0.4_1555947235700_0.16414200340797525"},"_hasShrinkwrap":false},"0.1.0":{"name":"libp2p-pubsub","version":"0.1.0","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test -t node","test:node":"aegir test -t node","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^18.2.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","libp2p":"~0.24.4","libp2p-secio":"~0.11.1","libp2p-spdy":"~0.13.3","libp2p-tcp":"~0.13.0","lodash":"^4.17.11","peer-id":"~0.12.2","peer-info":"~0.15.1"},"dependencies":{"async":"^2.6.2","bs58":"^4.0.1","debug":"^4.1.1","err-code":"^1.1.2","length-prefixed-stream":"^2.0.0","libp2p-crypto":"~0.16.1","protons":"^1.0.1","pull-length-prefixed":"^1.3.1","pull-pushable":"^2.2.0","pull-stream":"^3.6.9","time-cache":"~0.3.0"},"contributors":[{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"}],"gitHead":"5f4a7ad0daf1f188f80175b433dd4b9e47880896","_id":"libp2p-pubsub@0.1.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"dist":{"integrity":"sha512-oppDCIZLmqODAgt1r625yO0j9wy7auro7B6/5bw2WN5ctqTsG791dn3SGVRLV8Dvd7uSfMlOaZ/Bkw8jle0Ytg==","shasum":"cf7b5bd389a0a6879a814d5e6519b13ad361b4fa","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.1.0.tgz","fileCount":15,"unpackedSize":5592522,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0Vi6CRA9TVsSAnZWagAAstUP/AqkelQNFpdCKVAHJqHM\nn58EG2Z9o9TKDcCqhrmaloj3ADW1CwpCin95oUZMhApm4nYkm1QeFHHw+a6s\n4KnTPIKJDCLUYcsTkq4yScJvv1VhQD8tGvnHRBJmSpywMC5nqKmEltx31jZI\noilLxxZrVlOWw1GGm70cKKscv591k2BPLwlpQ4IkPLFkEZixHwbPcNolebZ7\nRODdDOSkYgiBa4F8LJlRaBVeOlY70n3n1mxBLu7MChLyR+duj3nPvhlYAmC7\nOMTU3+PmR2Qy7qNOwNXDbJmysi3Hqz6KnR5h1lR/5bopwO/Mj0dMNzmK/A/u\ncvr9L6kQru/nxI0Llkex60gWt+jjbCWdb9c+Hd2oq7TJshJIhkdHBwe0xq/Z\nT1jH/lVCf0OzxdKPaVKlbVVjZito60fDO7CElehN9B54vEwmebvkw0MzWclL\nPL92lPiSTE1Tm098KeHBqI/x/r92BNAwOeEfa5UKniqtA7AOCJvf3xPnUGGI\n37Rn9JGckY8eRZN89lz0O9BH/u98UKwd2lY6pjFfPN/pSsSMbNzSvamMTFR3\nBBy03O55+KGN9aZ9034MuPGjv/svQ3HX8IItwUDTQ+YqmyRlMfgMaci/KdLe\nve4VmztvHCanQA+8bBVLX3gJYsRnQ3fplZ2pCxw8eFAbbVOtR6ZCUjcTtrD1\nlrDv\r\n=J3+X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEFOuryEtGSF3c5D6A7D82rWcLCgMXwLC2CdpA9bONn0AiBPO3dmPGif7oZKRTBRdy0wS0siAp727MMlW0GiFG2vxg=="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.1.0_1557223609907_0.4122699045648013"},"_hasShrinkwrap":false},"0.2.0":{"name":"libp2p-pubsub","version":"0.2.0","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"browser":{"test/utils/nodejs-bundle":"./test/utils/browser-bundle.js"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^18.2.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","libp2p":"~0.24.4","libp2p-secio":"~0.11.1","libp2p-spdy":"~0.13.3","libp2p-tcp":"~0.13.0","libp2p-websocket-star":"~0.10.2","libp2p-websocket-star-rendezvous":"~0.3.0","lodash":"^4.17.11","multiaddr":"^6.0.6","peer-id":"~0.12.2","peer-info":"~0.15.1"},"dependencies":{"async":"^2.6.2","bs58":"^4.0.1","debug":"^4.1.1","err-code":"^1.1.2","length-prefixed-stream":"^2.0.0","libp2p-crypto":"~0.16.1","protons":"^1.0.1","pull-length-prefixed":"^1.3.1","pull-pushable":"^2.2.0","pull-stream":"^3.6.9","sinon":"^7.3.2","time-cache":"~0.3.0"},"contributors":[{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"}],"gitHead":"9402257b2f3c12c9f2a67b08fc8dec6a4b173533","_id":"libp2p-pubsub@0.2.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"dist":{"integrity":"sha512-H1UIvJqYWEopb3EJluEoanU/cLgQF9aEzhTwmvH00GmJkyxQ5f/KMmVMCU0WxtEKTpQE9IA2W9vtX41nvlzo0w==","shasum":"28f11af5190e9f5cebbb40a3943488b8f2d6dbdf","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.2.0.tgz","fileCount":15,"unpackedSize":5850117,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdIz2KCRA9TVsSAnZWagAAcHIP/1rBcUGG5rIAQ3QeedLU\nAR7zgvl5bN/MFjGGuy2xNVxDMO5NdxHHY51cFJ46r3MolqsGgF/bHWlnHuaa\nxIwDCRVHsc1Q5iPc3LNJvhr1Fn64mTYjk7eDLZ5nltqLEDvuK04DmZ61GI5x\n5IP3m1bRcmYXVJI0Zj+/4YktKMTqxxsMjT2TgdUgIAhCrOgS5y65lp1qpvx/\nmy2k7/6nWcVXFqRKB85avvczMVFc/LW1MI5w/pGU8ddx50/1bK1nKfV95adf\nQBtpKcVXNhyrDnWtdPynAlKGNEI4gTra10zxaAh+PTf+pY3LlLmK5MFeNM1r\nobJBVCeleivKH+ikYWbWLnnPvOEkQxJJjz1x5G2EzeMGD7KQye5Z4bO6J3qb\n508CytKNBOWwvaWiFAIdAufWZG1ucX2gY20zHnx7DoxQF/aqPQct1XdxZH6A\n4cW5MJhXD5+VVAPxfYVpTOVsPZNTHifOmRZhb4hSYNr4lNIhu42mT9Se1drK\nmyaoSwQsEi/hPuOonmOFmQ/dHOjWXGRuklQ+bVGbxBpJ8/K6WEvN7nkZ5/by\nZbR98Q95Qv1N2EgGhUcbKlic5x4INCu7S0DnMmpjAXQBayCjmQzqCmkOpz1/\nmDEJMbBV4E3KKM79bAkejQ0YvrvWr/XZG3kOR98N4YV6W5mXpiaKu4fR4LWb\nddM9\r\n=V0DN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuzarXnoAHgQY3P2J6S3HkYfdg5D1DgiKNWGvCAT0/jwIhAPAb3JEuO/Z44BZmojv5Z67jv7xvfJy6EKYF5zQxBWnL"}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.2.0_1562590601293_0.7723318164888859"},"_hasShrinkwrap":false},"0.2.1":{"name":"libp2p-pubsub","version":"0.2.1","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"browser":{"test/utils/nodejs-bundle":"./test/utils/browser-bundle.js"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^18.2.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","libp2p":"~0.24.4","libp2p-secio":"~0.11.1","libp2p-spdy":"~0.13.3","libp2p-tcp":"~0.13.0","libp2p-websocket-star":"~0.10.2","libp2p-websocket-star-rendezvous":"~0.3.0","lodash":"^4.17.11","multiaddr":"^6.0.6","peer-id":"~0.12.5","peer-info":"~0.15.1"},"dependencies":{"async":"^2.6.2","bs58":"^4.0.1","debug":"^4.1.1","err-code":"^1.1.2","length-prefixed-stream":"^2.0.0","libp2p-crypto":"~0.16.1","protons":"^1.0.1","pull-length-prefixed":"^1.3.1","pull-pushable":"^2.2.0","pull-stream":"^3.6.9","sinon":"^7.3.2","time-cache":"~0.3.0"},"contributors":[{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"a1300","email":"a1300@users.noreply.github.com"}],"gitHead":"8669709604b3db0131e2f1ddab6d43d0f956230f","_id":"libp2p-pubsub@0.2.1","_nodeVersion":"10.15.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-6LFl7b/39LLWKK9v/Oz9F7+c0WX8t2W2Qf2nwyMMCtJDGxC3csvXdhWwUDzBwXx704BJhVgpsVVJ4fXQn5gahg==","shasum":"be26e92be87e0603ffe9685025cc2a5c78ac412c","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.2.1.tgz","fileCount":15,"unpackedSize":5948589,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdjIM4CRA9TVsSAnZWagAAkGIP/RxbLrE0hjYeM6Rj4Y2w\nr4W62QMC/hS5dt58UFRap0+jBwUORBbUTyYmB655k064jrisiOa9UDVl1HCs\nMKhQu/kq1FdF2QzTDdsjDvBvRo28V+OfE6z+gZYPCFzz2Ode0Ipp4exEK7nl\npll0giBwUVABmawdv06dMigv9Q7G13/5Ifb2nZNV8z7jJZQrkmrF8MmXw4NB\nIgVpMNESXF4bHjkFwGVQ22/ztABXXxXcBlczdjltjI9NwIFH7EtkZYChOJ3E\nWh/uKnTH+3DsK9EHFACkBIi9YM9qJTOnMScsuMiqV8MmLMBCeSNcVd87R1ah\n4Egmd3VFDJsL1c+vguoPxZ9cSQL6lUNPf6dcglheXI7D/TPw5IsDRBywz00y\nDcX1uHpA1XBNb9pHtNQ+1oa9tfEB8CvjZElVSa3i7ahvAH6ALF62iPsi6hw7\nQ6c4mtOQuBPZd71soKmge3Y8gVNFW+6gI0cgXyDm7qJ8VzmHR75WDAbh5H2E\nUNxO49tK+cUZ0K/3w5cWugMFPPnx6O3rbWLFdcHBOGjuBEGbePTJk1raYRGg\n0wBb1y1oWVVzoENduRlrXf8rKAWt/wZSHiIthVrAWJwrFVmEM/6R6pNez9n4\nwHs6YibE2sEkxZkYqJl/LWtUtchvlygFSG+o/zH2dGKH1AEROZ1Czs1hG7RB\n/yaO\r\n=Vg1L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJ7pxHV0OVI0pn04GwpFZAdPQdfD5TwcxNI35YQpuD4AIhAKlHuLAbvkNqkZPqItNxMD8TwgoM5liM7euvVmVW7lx/"}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.2.1_1569489719624_0.7651136898222932"},"_hasShrinkwrap":false},"0.3.0":{"name":"libp2p-pubsub","version":"0.3.0","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^20.4.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^6.1.0","peer-id":"~0.13.3","peer-info":"~0.17.0"},"dependencies":{"bs58":"^4.0.1","debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^2.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"~0.1.4","protons":"^1.0.1","sinon":"^7.5.0"},"contributors":[{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"a1300","email":"a1300@users.noreply.github.com"}],"gitHead":"39309a593abd4320acac12177e105c57219677b4","_id":"libp2p-pubsub@0.3.0","_nodeVersion":"10.15.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-cqRS3ucDDwH8Zx+7585LBnu76D+hkcpQMLBDDTDyGNWRd1QHg05mmFgxeEsUPXyDCJPVPWQNxhbnQlNyNhAFfQ==","shasum":"13d8ad633a9b7a7b1ac1c6479b6249bbb5563fd4","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.3.0.tgz","fileCount":16,"unpackedSize":6787925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzVmRCRA9TVsSAnZWagAACK0QAJUx9l0KZBDuPooU8Esf\nGkq0Fs51ZUbpO89XQo165qd1Q4GOHELESCRX5rrhpO/W73K177EIKrXGXZf+\nZw5XRy+nX/EhFoP1Ng6JDmOPyzT2Q6a97SugMuFfz/vG6y+B+veTslLihz8y\n6OcxNztOQHD59BzI1VhB5Rsqbabb/oSwTbrYyRkVIYvC75o8J9fLN7DX38oI\n2LUoK1kYngPFmql4EI3A86+Qy47mRDHs3ym3CJ77jKpP//Q7nVIZHZoH5mu0\ndGBOIPnbuecIeW/kb7EIzAXqf60yQi+bi1PzA8+zLJxmFh2qkuiqSlkh61FH\nia+6eE2LqYyJ5eegOXIwlA1U07nDi8gNLo/u/eWkN/G2NeI0WDNkXBdgOC8W\nn+2z5ecejJ6lefAg7hdUEM8ZxdgOmszwh4dFNgwui4bBPpm2qJLtqwcWnDVR\ns++B+3GFSK/R5qxRGvC4ydptuFpxZzXH997kVYzMcnmiN9cYByfRDJJ9t3aq\nJmC8aMyL6g/igjyBd+mSu0QdAH1PRHWpIpRzsHObnxUAyyFd2MiBgBTxIpgs\nHddkhM45HLFqzr0EIj9pzCj3WHDgsI0ZNq0dsotLRyc5P7sBanMM1qwd1/gI\nfQx50doEhEK0aqReytySojCsIPrdsq7niS/7q6GXIrw7Rg1dF7zHImAM4GUf\nzaqd\r\n=dui8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFaRaLignxCoEvOacxzCnA2WLYqCoiFrKZn8rGZUD07JAiEA9u2pUbLZWUME2skA5w5clkkgrkFaFf3NhB45jSJvWJ4="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.3.0_1573738897096_0.7028313490958229"},"_hasShrinkwrap":false},"0.3.1":{"name":"libp2p-pubsub","version":"0.3.1","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^20.4.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^6.1.0","peer-id":"~0.13.3","peer-info":"~0.17.0"},"dependencies":{"bs58":"^4.0.1","debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^2.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"~0.1.4","protons":"^1.0.1","sinon":"^7.5.0"},"contributors":[{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"a1300","email":"a1300@users.noreply.github.com"}],"gitHead":"a3371a0d539a1c94a8d6b263da5bf99f70fe2a35","_id":"libp2p-pubsub@0.3.1","_nodeVersion":"10.15.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-MgwT76jK51s7wR3r82YYmlJT7siFPBPy38GUhttORf3o2FnXkCg52fd0ZvU5ilnQdWGRZB+1vVtCSoVq9vPUvg==","shasum":"f24f354af1c378d7b18f352020b0c89d59e25172","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.3.1.tgz","fileCount":16,"unpackedSize":6788296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzrDwCRA9TVsSAnZWagAAr7kP/A4gQA24MYi+yGe52bOu\nloYoQ6DFl1WaUvX7uxOhg9921Je4qplG5lgVveUwra2t/2V8MHQ6jOavn80B\nBWM0q5h8ZL4sFU9+R4l6185gDX2eAKT5AlL0YGCOWveHvIiVcBqVU0etksaf\n1+58zcvbweA5XFZRHua2WuFm0Lc+whXcLsUeMZN6zWvJzKsuR9ie4lOr10GJ\nNYJ+By0ggObX5UXFC+5KnKU3m0U4IpOan0cQheyochf/0uJNpnP3edADyLx/\neZbNsT3KEIl2niUeS15ecMd2eb1c50iNxR+vjHUvG1TXMvvRYdkOeT6im+3u\nIloPQSFW6/ZL5X9uvPGVqZL35pk3faxSid2LLjpVGCy2XypE1j+elJg7YWy/\nK83kDAaqGGt/IC+JwqzpzwCAyN1LbVwjRVW3dq3wv/02tRy/LEWbKGQsc9Fk\n4AuGeBnf+DppaX06BMNYH6hpOKh4nhv2ApIUCtMTewNAcS+R/7Ob8GC6B/fD\nE++iNF+pbCUgvsDNA4juDgtfCEW9dJASfBAJzm9wGM/3HErQhSJGZ5rGyTbw\nk6691X54Mb6BfLuiqmaqOj+Cm/XWLB02Q9O2O11Zcq/NgBav1Uij9SbFOp6R\nFUbLEfBzXqf3ZX0E0VzxXQnk9rsoY8zaB7f9KPtLkeb4v/GDIqAuyvSdpKts\nFCdk\r\n=arFD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6ZF0OdiBCSRaUsUlVcNzqRTl5SOxvC9IxBwk8Q/pyrgIhAM7jn/+FqSxAzwHfvDs0kRt7+D1wV0B4z2N5zyIPdwEh"}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.3.1_1573826799617_0.42298061100436923"},"_hasShrinkwrap":false},"0.3.2":{"name":"libp2p-pubsub","version":"0.3.2","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^20.4.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^6.1.0","peer-id":"~0.13.3","peer-info":"~0.17.0"},"dependencies":{"bs58":"^4.0.1","debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^2.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"~0.1.4","protons":"^1.0.1","sinon":"^7.5.0"},"contributors":[{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Marin Petrunić","email":"mpetrunic@users.noreply.github.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"a1300","email":"a1300@users.noreply.github.com"}],"gitHead":"15740239e3a355c5f2489365eaa347fa674e8821","_id":"libp2p-pubsub@0.3.2","_nodeVersion":"10.15.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-nIwXdi6TlpDquIBkkBR8QQ5brUtWjFRyFLZJR1eTvcyceQGb+V4ohmMGGV0DZZ5/GjKy5otWwGn/hXVO4ttgyw==","shasum":"c9a57220a658d8a373d3e7335ad73d1a0bc4fdb5","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.3.2.tgz","fileCount":16,"unpackedSize":6789950,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd36NwCRA9TVsSAnZWagAAJGEP/Rel8Ege6TXRWqbOVZOl\nSqFUxU+lZmPFa3hCYe7nlfGLqSIZJ1yzhepB5oVYyZ4JN6fyF1MKiekEg91W\n2HwGV4dShg/97M1pfjD6uAejoIqOp1qqPZ7BsBd9WTUxyJbtmJFA+rdJNIsf\nYaZ4Kbg4n2syUDyyUPvvaQK+Ooa6/2BMHwfdxcc6+rXLjd8w1wlIjGFkdIRJ\nYK2H4F9yWsUcJrbZDjgzBYmSAnDKRUVFcMAMpZovomc39U3J0JXxQzhmWhGX\nULBbwOzNXhiWroEBktWiGZOZY8G5KvHoOgC23ZLNPC+bPCP7HfHAGHAHslkU\nnX/ZkwGIi4ibIZt94PxLTibsezukGP0wmA5cIIM5fhmcRhnTGeMOMMVg/E0Z\nAZ5zbzqvZIT4agiUw+hLAnhzVX/ChYSY23ynnPWUjktS/OmObO133jQjvoqy\nA3q4SbIV3RaTGXqHKPEfIiV+oghijeLJ0UTW6BCGi6N1vTxcTxtrJql4uSsH\n1Ts3uKi4PcERWFfhTtTu/q3f0YcqfLSDwvjgvKXjGdEFftu3hlqWvRUKG5Pt\naqmUlnN9FjY9fwPawRSHWn6iU3fVryaSj9wtlm7YLtYT8SESYjYp4OsDCApN\nUJiGLR2CW+jBWEyFjoOaT1vWFzFMFFZq206F6eZWkCA+rAhicpZncQITaSSM\n0EKw\r\n=Yupp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpqkSU1vSmgWifuOrYF+zXbFF1vN28mks98V2aptF7eQIhALMG39zxTa7iX3jF5ygo+skaecB0JbErtA+WCv88hbWV"}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.3.2_1574937456318_0.3972144911456461"},"_hasShrinkwrap":false},"0.4.0":{"name":"libp2p-pubsub","version":"0.4.0","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^20.4.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^6.1.0","peer-id":"~0.13.3","peer-info":"~0.17.0"},"dependencies":{"bs58":"^4.0.1","debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^2.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"~0.1.4","protons":"^1.0.1","sinon":"^7.5.0"},"contributors":[{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Marin Petrunić","email":"mpetrunic@users.noreply.github.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"a1300","email":"a1300@users.noreply.github.com"}],"gitHead":"ea8fac86f3c3208c1b7d176d709ccff5c1b05d82","_id":"libp2p-pubsub@0.4.0","_nodeVersion":"10.15.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-4igawj95w/LWtNRUiJN4kvZvgJLeoxxDp/1nJ7u1ohMgkgIQ5LvttoTfE8NcWYQ7Ft9nb3LUc2bXUF2xMl5spQ==","shasum":"dd6a396e2f06b08a21a9f85f4b7181a328a8bc9b","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.4.0.tgz","fileCount":16,"unpackedSize":6790350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5B88CRA9TVsSAnZWagAAc7QP/jBsjyrD5D61TGznISxt\n0+rwlOewZ0Yjv+IFpSR7IgZrAI46BfEFveiO3gpYW103OoB3juayVjoT9sqm\nUDIUiKBJelZu2QhcktgPdBHVnf0ByRb8mcVXyGlSKSh8IM5Kqk4nEbF0RQzO\npd/ysfUhBj7ovQWVTlvS1MNcTWvWyszHw1Ek7X1BdO9yZNtXmjIShxnCQBPV\n/H3vR8R00GG8I8ibCbClMgclkbmucfO7/1MYdVOhSgDu90Hio0R+qcy8QNos\nYiTyo6jytHZAv4FSV7ASRyzUB857U77WajVp8KnArdz6Tm5ATDA6I/Ci5UU2\n5a3yw0C2vQMItIk9ToevHVZIlgUSdQ7iyJtj/GTJt4jdI+WpLEeHpUV14nmj\nKpFXAlNB4zURwdsFmpPXLKZ9HuMCrDrNz/mT48Hoo2m1fXyuc3JKfE6VkA02\ncyv08d+fNs7TQgaA4HCrVfREs7AOGPa9NaibsUbKlvPF3p6g1O+d8tLY7oNE\ntc1isIpZpMaMq+R0ROYvdKCt4TyCtdnemwV5+KXSetnYdmEQnY4ZEVBhWCcv\nyOTvk8kOC/BB68TM1NmOef/BThY1TXDNlZm+R6oDQR6xV1zQjc4jnxjmAhFq\ntXUl3DTyAw48W3ryH4d4C8b9SuuPVs/Nzw3A4Not0Ld3cSMXBHFQj5BLDivu\nLZzO\r\n=C+IZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEqw0y6L51O3silRlo2eTsvLrN0+h/SEye3XbANsv/39AiBH7SSWMl44coZIGWM7o1GQUtgIIk7YmfVU/hEB+LrygQ=="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.4.0_1575231292447_0.03537012239283732"},"_hasShrinkwrap":false},"0.4.1":{"name":"libp2p-pubsub","version":"0.4.1","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^20.4.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^6.1.0","peer-id":"~0.13.3","peer-info":"~0.17.0"},"dependencies":{"bs58":"^4.0.1","debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^2.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"~0.1.4","protons":"^1.0.1","sinon":"^7.5.0"},"contributors":[{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Marin Petrunić","email":"mpetrunic@users.noreply.github.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"a1300","email":"a1300@users.noreply.github.com"}],"gitHead":"651ab08b3c46a5b80b6431e49efdd49782f5a609","_id":"libp2p-pubsub@0.4.1","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-AE+SwgQUSutuUHgwOtfpRjnv1ehfl+/RXuqHkCCqTTHMvIIKcGuN0icwZ0toyIR/qMmHhXb2jUAdbZbDpk5GoA==","shasum":"3e2b91f7c4e23f0ff668321ef1d5c5411cc09d2e","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.4.1.tgz","fileCount":16,"unpackedSize":6583166,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFLnUCRA9TVsSAnZWagAAZOIP/2DNDRiPvrKQalQvFsFU\nSauHk6lIUTLFujaKmzgKoBPDLjLu+lC4qlaf7rDxjk62To9sisrlVpaVd/TQ\nxaObk2DYz7BNRYBx/4z/YCJumvw15v5P2Mlu1ZaJR+9g81bk9ZL074/KGd/R\nnNptU1aPgsxhJeJSuQ7E+Xzd4Sm9w6FY9ycLK5ldZpCLVV7LIosYmFVijRMH\n+s+XJn63cC4loPcEqR3JUxhP8TBYmCVo4pcmfoQfyxuWXsFV3CEBwmDvt+qx\nBwqEptWDqTXl9R7DVqkuFxR5Ln2gdjt8XwYBbTSVJ8k2XUm3x3ikTyQ9S2Qt\nCmV7tAM7dFeiI42NEnEVPbb1tTbMyc2yDHEErvrI1Y/mpAOjmDHPVOZKMsCn\nbx7HqZFQM6j1nJ0u174IfJx+AbxXfJEU2p8OHxiEzRv/ZDOQH2yNVseH38mh\nwtmgb6UuFxXxNaIWy+SfGq9diEgud0tJlols6+p2Br1T/E6D1zmDvr/+bW1G\nGYXUY1YnELEO+lmhoaTRQg2AiXLFVKYXSKSAuqBlIYZ9rOmDP82dpMbnyvTI\n84LDpw2iPv0OOJZqkIokn8OGEa/hN+hglt5rPOJiGzRuyiRfXdN/0lxE8u0B\n+hjxRnPPMyh/E1Mk5SxC9X4VfgpXxeodkNghxsLETQUcoa4mXdBg8xjCh3S7\neSxT\r\n=nPaY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDV1HoaTtw3tr9O4riUIf4o3fqlECVXyD3E8sP4bHZINAiEAolPSj1RIL1FLm9SWubCEHwp678Hujwh9XfOU96Madrg="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.4.1_1578416595621_0.4436608865061147"},"_hasShrinkwrap":false},"0.4.2":{"name":"libp2p-pubsub","version":"0.4.2","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^20.4.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^7.2.1","peer-id":"~0.13.3","peer-info":"~0.17.0","sinon":"^8.1.1"},"dependencies":{"bs58":"^4.0.1","debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^3.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"^0.2.3","protons":"^1.0.1"},"contributors":[{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Marin Petrunić","email":"mpetrunic@users.noreply.github.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"a1300","email":"a1300@users.noreply.github.com"}],"gitHead":"21d30179cd5151a5e17b7d42160f4fc2ca4de8e7","_id":"libp2p-pubsub@0.4.2","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-diFzwUK0XfuxKafCvMK1Kg6NFACKwxQkHQZsx3f7JtR+sIcVHwpHxih6quUUy84ePj2jdtPqwRrYzYXYYrPxaA==","shasum":"4f10b977c1c867ac2dad84750a46a7a92cc36481","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.4.2.tgz","fileCount":16,"unpackedSize":6589396,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeNqAJCRA9TVsSAnZWagAA6t4QAKAsER7CBOi268FJ7ahr\nDuOUhpEFFGv3fgJDDOumoZq+UOGxCMxMEf/PfdTcDgFGGlZPb7ciqqhCpL4j\nhLDSv4U7ydrzDVR4sxc+q+jN2w73EHbc1m6gxu3pIu0FT0h84bIA6qce5kP+\n746s8Zjk5YgGV6MOzns6kLIqDimLRvNisA0214hf1Ap/0EYGAX65ntOz88/Q\ntEPSRohE+1UYY5q43mSCGHwljqJ845C87iUcbGNxxVOuKils49Dc0w3uQTE9\n+uSxO1ujhRuQq9YbCWm2qlOKN+4/QkhRgNj9TKUhDDf3Ao83VTYRxjprJTfF\nIUNBrpeT/TpzHiizfk6JUmd5rR+K0vXQsIY7UMcMs6mMsYA3Rex0NnUBv3dn\nNyg5vpxERsyU4P29Hb/dne9VK4yr5VY+Jm3mqP5GH8qSipKpxEmkmoswUhqT\njZo2sZKkbYqxCCeBUqC21STEcBPsdOyq5Qe41jYDy9EohfflQPwE/3iZe/8S\nSdpmZRyi0d/9HcEPaNLQFXvv7JBvvnUu9i+bYmYzDwZuM0CxT8QeUXUTOcZM\ndRKENGVatEE+qT9yIlC8h55zwCt0Ru5N92NZ8CKA/R7cvQ6rt+NzC3ha9AgR\nKOVvLtY8t4/aEY1jsJvA6tBvTda65K8PW/B6xl6zaYeRh0bfwjXWixfXgR/N\nLajt\r\n=hGxh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFovP7FzDVeVCsX3GTc5tkn66a2qg9/oUeBCW5ralyxmAiBBaZOsfknl6jIJPaXjsIy755Xkgk9QbxufYt0mSLlzVw=="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"jacobheun","email":"jacobheun@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.4.2_1580638216642_0.47223321640712235"},"_hasShrinkwrap":false},"0.4.3":{"name":"libp2p-pubsub","version":"0.4.3","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^20.4.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^7.2.1","peer-id":"~0.13.3","peer-info":"~0.17.0","sinon":"^8.1.1"},"dependencies":{"bs58":"^4.0.1","debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^3.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"^0.2.3","protons":"^1.0.1"},"contributors":[{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Marin Petrunić","email":"mpetrunic@users.noreply.github.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"a1300","email":"a1300@users.noreply.github.com"}],"gitHead":"43dd116c2ba59c8627de2872b327be219c467b5a","_id":"libp2p-pubsub@0.4.3","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-rqNxvD8p7vK+7E/GEcDquWqPDoCbwc4w7s6RLSextR/2oEHY72CFcsSQmajyLYRj1I9jZfBnrV+eB+upMoZ4Pw==","shasum":"82302f4cc8a61a08857ec78651bfd348f1cdcce8","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.4.3.tgz","fileCount":16,"unpackedSize":6584860,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRoKdCRA9TVsSAnZWagAAhkEP+gMxRPsjNHu/Sd8zcnQD\n1CXrQb6W0SDHW0LUPqDoDsLlopbtsBmukOZq3Ub/O9a6bHAYAVs1yle5R5Sz\nH5Sj5EYWn09Dx+0jDcZMGYh+GmCSDHOK17neTsZ3pLX8kpnzD5+DqnIGayXT\nsLmS2U+Nx6XAlSjlsm1ndOuFt4mltoZtXXFYTksJkFpjWaoGL+2j8FU9UxQF\nDM0l20QJuS4Fy+bx22rObD60fnnBlrpEQG9HDd2k/3EvtheC4N9GtAZ2/jnd\nzw9vSFTnSVC4Pr6zc7bosF9V3RHiFBLeM0J9OxjYTeGuJHybvKtfY25SjAdV\nz16G9EdNJG79k85N5u6iNa8fsFTYWVYA+XE7VPw47acbEcc6BHNjt/jnFyuV\nEHisMEavXmXUbpqcxJuYR9221o6w8wJfF7p8HJTdYc30QzFQkm9Lv5D2o32r\ns4EdBvWGBWpUW98G0kaczL6mbLaoDz0YBCLcDGJ5Mj93936OF8n7ggSXpL2q\nnXmg1wSaKfUkdSTuCxfrhi51yhN3pFgtiGGUK/eoRiHDFo3BuC3TBAn9fiDf\nv73oYG1n2PJZS8/8MhpeEY6+/RkI59ETD9Wik4fbK4qPkZHFlw2bA3Zrbn2W\n/tVqhEHKLmuarCDEv3ssxy/teX6tLV4C8t72C1jpAoY8pR+wbq6l9GDQ/TfB\nXpA7\r\n=MM11\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDF3ymUQGk4BiuwyJiCQzNx3fXIbUVpX7LdHqtoHvFLHAiBdGJabAo2pVYo5TzFEwNg0ut9lYh/D/0c5GDkMeZtbfQ=="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.4.3_1581679261232_0.5762543553480319"},"_hasShrinkwrap":false},"0.5.0":{"name":"libp2p-pubsub","version":"0.5.0","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^21.2.0","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^7.2.1","sinon":"^9.0.0"},"dependencies":{"bs58":"^4.0.1","debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^3.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"^0.3.0","peer-id":"~0.13.3","protons":"^1.0.1"},"contributors":[{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"}],"readme":"js-libp2p-pubsub\n==================\n\n[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io)\n[![](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://libp2p.io/)\n[![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discourse posts](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg)](https://discuss.libp2p.io)\n[![Coverage Status](https://coveralls.io/repos/github/libp2p/js-libp2p-pubsub/badge.svg?branch=master)](https://coveralls.io/github/libp2p/js-libp2p-pubsub?branch=master)\n[![Travis CI](https://travis-ci.org/libp2p/js-libp2p-pubsub.svg?branch=master)](https://travis-ci.org/libp2p/js-libp2p-pubsub)\n[![Circle CI](https://circleci.com/gh/libp2p/js-libp2p-pubsub.svg?style=svg)](https://circleci.com/gh/libp2p/js-libp2p-pubsub)\n[![Dependency Status](https://david-dm.org/libp2p/js-libp2p-pubsub.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-pubsub) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard)\n[![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)\n[![](https://img.shields.io/badge/pm-waffle-yellow.svg?style=flat-square)](https://waffle.io/libp2p/js-libp2p-pubsub)\n\n> libp2p-pubsub is the base protocol for libp2p pubsub implementations. This module is responsible for registering the protocol with libp2p, as well as managing the logic regarding pubsub connections with other peers.\n\n## Lead Maintainer\n\n[Vasco Santos](https://github.com/vasco-santos).\n\n## Table of Contents\n\n- [Install](#install)\n- [Usage](#usage)\n- [API](#api)\n- [Contribute](#contribute)\n- [License](#license)\n\n## Install\n\n```sh\n> npm install libp2p-pubsub\n```\n\n## Usage\n\n`libp2p-pubsub` abstracts the implementation protocol registration within `libp2p` and takes care of all the protocol connections. This way, a pubsub implementation can focus on its routing algorithm, instead of also needing to create the setup for it.\n\nA pubsub implementation **MUST** override the `_processMessages`, `publish`, `subscribe`, `unsubscribe` and `getTopics` functions.\n\nOther functions, such as `_onPeerConnected`, `_onPeerDisconnected`, `_addPeer`, `_removePeer`, `start` and `stop` may be overwritten if the pubsub implementation needs to customize their logic. Implementations overriding  `start` and `stop` **MUST** call `super`. The `start` function is responsible for registering the pubsub protocol with libp2p, while the `stop` function is responsible for unregistering the pubsub protocol and closing pubsub connections.\n\nAll the remaining functions **MUST NOT** be overwritten.\n\nThe following example aims to show how to create your pubsub implementation extending this base protocol. The pubsub implementation will handle the subscriptions logic.\n\nTODO: add explanation for registrar!\n\n```JavaScript\nconst Pubsub = require('libp2p-pubsub')\n\nclass PubsubImplementation extends Pubsub {\n  constructor({ peerId, registrar, ...options })\n    super({\n      debugName: 'libp2p:pubsub',\n      multicodecs: '/pubsub-implementation/1.0.0',\n      peerId: peerId,\n      registrar: registrar,\n      signMessages: options.signMessages,\n      strictSigning: options.strictSigning\n    })\n  }\n\n  _processMessages(idB58Str, conn, peer) {\n    // Required to be implemented by the subclass\n    // Process each message accordingly\n  }\n\n  publish() {\n    // Required to be implemented by the subclass\n  }\n\n  subscribe() {\n    // Required to be implemented by the subclass\n  }\n\n  unsubscribe() {\n    // Required to be implemented by the subclass\n  }\n\n  getTopics() {\n    // Required to be implemented by the subclass\n  }\n}\n```\n\n## API\n\nThe following specified API should be the base API for a pubsub implementation on top of `libp2p`.\n\n### Start\n\nStarts the pubsub subsystem. The protocol will be registered to `libp2p`, which will result in pubsub being notified when peers who support the protocol connect/disconnect to `libp2p`.\n\n#### `pubsub.start()`\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Promise<void>` | resolves once pubsub starts |\n\n### Stop\n\nStops the pubsub subsystem. The protocol will be unregistered from `libp2p`, which will remove all listeners for the protocol and the established connections will be closed.\n\n#### `pubsub.stop()`\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Promise<void>` | resolves once pubsub stops |\n\n### Publish\n\nPublish data messages to pubsub topics.\n\n#### `pubsub.publish(topics, messages)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| topics | `Array<string>|string` | set of pubsub topics |\n| messages | `Array<any>|any` | set of messages to publish |\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Promise<void>` | resolves once messages are published to the network |\n\n### Subscribe\n\nSubscribe to the given topic(s).\n\n#### `pubsub.subscribe(topics)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| topics | `Array<string>|string` | set of pubsub topics |\n\n### Unsubscribe\n\nUnsubscribe from the given topic(s).\n\n#### `pubsub.unsubscribe(topics)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| topics | `Array<string>|string` | set of pubsub topics |\n\n### Get Topics\n\nGet the list of topics which the peer is subscribed to.\n\n#### `pubsub.getTopics()`\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Array<String>` | Array of subscribed topics |\n\n### Get Peers Subscribed to a topic\n\nGet a list of the [PeerId](https://github.com/libp2p/js-peer-id) strings that are subscribed to one topic.\n\n#### `pubsub.getSubscribers(topic)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| topic | `string` | pubsub topic |\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Array<string>` | Array of base-58 PeerId's |\n\n### Validate\n\nValidates the signature of a message.\n\n#### `pubsub.validate(message)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| message | `Message` | a pubsub message |\n\n#### Returns\n\n| Type | Description |\n|------|-------------|\n| `Promise<Boolean>` | resolves to true if the message is valid |\n\n## Implementations using this base protocol\n\nYou can use the following implementations as examples for building your own pubsub implementation.\n\n- [libp2p/js-libp2p-floodsub](https://github.com/libp2p/js-libp2p-floodsub)\n- [ChainSafe/gossipsub-js](https://github.com/ChainSafe/gossipsub-js)\n\n## Contribute\n\nFeel free to join in. All welcome. Open an [issue](https://github.com/libp2p/js-libp2p-pubsub/issues)!\n\nThis repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\n## License\n\nCopyright (c) Protocol Labs, Inc. under the **MIT License**. See [LICENSE file](./LICENSE) for details.\n","readmeFilename":"README.md","gitHead":"363f65537fbfe62cfd48133959a6ff8b1ff39830","_id":"libp2p-pubsub@0.5.0","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Ac9sb7oiQfGSTjPA6mFGdxihphzAna4XNS4ZOvwUOwSH5LcJkpp+M71/1f+jwdd+5yNSDBPUEb83RazKT087tw==","shasum":"4e6706227f60fd103a80975493163f962817f5bb","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.5.0.tgz","fileCount":16,"unpackedSize":4553498,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoFP0CRA9TVsSAnZWagAA75MQAJs6VRlzcgBuOG/Hk6Y8\nvrQ3pB393HTb9+BNRZ9XV0j1H8cbC1fP0CS891NeeEVXthaeoO+7fkRDLMQB\nAN6IZe0CMG1tBAIw+v/Y6fm5ZlPWjVYTbthEMLqGqKt/0q3cxm9t/aO0fTBP\nR0Bzd8rJedSjFMSZeaDpdbaKY4PPMJ7F4OMlu6LOopIYKDio9TZwPx8vAQwZ\nS5AF9B5vkrhrlsCQ4f+REULN1GKD8407lF3RkEC7IBIFsA1cG0wjL3S7dOXI\n5Itdky6ykHqUwbk5ZssFPPUclEUUMApfXbqG9JF9vDTWXkslQZ1GFME7OKhh\nyLqc8ELvujCatkDxeRMHkXCcw96H+1F7+HEVB/EFXne21210Xf/pNnA7jIqX\nNHKJxcpsMp3Hu90jA4JxHav/awpXhJegN3p8FxDX1Xy4hCZwuyyVKigkbkZn\njScpXZRoKpp6BTbTdin+iovbc+Wu6Dacob/RCMpdqPtCf6dyLz/IiWg8qdXG\n2ZQKbapMIM5A5l70M0pWWyuqwTjJU+lncXLD1HOmiPHaHAZhv82Ap38mmcsa\nLjs9vnMzdCoGM9STd3a3JSsU2aYlkUWnoYLSb7yimMtMvHn7DbqKWMPCB0bD\n660eMIlCb+X4mvli9ud0nKK4SWZmJuftOu6idOw2iF/uU8VZm7TeGQZbyecf\nGcza\r\n=Y4xd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2sFdUwUrgmv3hTV6MvEWC6FhmfUWLFkPu9L+oLlRX9AIhANgTWumL/BAlWDjTroIROWo9UbdT3PPkrmwfsdlTnRA2"}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.5.0_1587565555999_0.7873773823395549"},"_hasShrinkwrap":false},"0.5.1":{"name":"libp2p-pubsub","version":"0.5.1","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^21.2.0","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^7.2.1","sinon":"^9.0.0"},"dependencies":{"debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^3.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"^0.3.0","multibase":"^0.7.0","peer-id":"~0.13.3","protons":"^1.0.1"},"contributors":[{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"}],"readme":"js-libp2p-pubsub\n==================\n\n[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io)\n[![](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://libp2p.io/)\n[![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discourse posts](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg)](https://discuss.libp2p.io)\n[![Coverage Status](https://coveralls.io/repos/github/libp2p/js-libp2p-pubsub/badge.svg?branch=master)](https://coveralls.io/github/libp2p/js-libp2p-pubsub?branch=master)\n[![Travis CI](https://travis-ci.org/libp2p/js-libp2p-pubsub.svg?branch=master)](https://travis-ci.org/libp2p/js-libp2p-pubsub)\n[![Circle CI](https://circleci.com/gh/libp2p/js-libp2p-pubsub.svg?style=svg)](https://circleci.com/gh/libp2p/js-libp2p-pubsub)\n[![Dependency Status](https://david-dm.org/libp2p/js-libp2p-pubsub.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-pubsub) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard)\n[![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)\n[![](https://img.shields.io/badge/pm-waffle-yellow.svg?style=flat-square)](https://waffle.io/libp2p/js-libp2p-pubsub)\n\n> libp2p-pubsub is the base protocol for libp2p pubsub implementations. This module is responsible for registering the protocol with libp2p, as well as managing the logic regarding pubsub connections with other peers.\n\n## Lead Maintainer\n\n[Vasco Santos](https://github.com/vasco-santos).\n\n## Table of Contents\n\n- [Install](#install)\n- [Usage](#usage)\n- [API](#api)\n- [Contribute](#contribute)\n- [License](#license)\n\n## Install\n\n```sh\n> npm install libp2p-pubsub\n```\n\n## Usage\n\n`libp2p-pubsub` abstracts the implementation protocol registration within `libp2p` and takes care of all the protocol connections. This way, a pubsub implementation can focus on its routing algorithm, instead of also needing to create the setup for it.\n\nA pubsub implementation **MUST** override the `_processMessages`, `publish`, `subscribe`, `unsubscribe` and `getTopics` functions.\n\nOther functions, such as `_onPeerConnected`, `_onPeerDisconnected`, `_addPeer`, `_removePeer`, `start` and `stop` may be overwritten if the pubsub implementation needs to customize their logic. Implementations overriding  `start` and `stop` **MUST** call `super`. The `start` function is responsible for registering the pubsub protocol with libp2p, while the `stop` function is responsible for unregistering the pubsub protocol and closing pubsub connections.\n\nAll the remaining functions **MUST NOT** be overwritten.\n\nThe following example aims to show how to create your pubsub implementation extending this base protocol. The pubsub implementation will handle the subscriptions logic.\n\nTODO: add explanation for registrar!\n\n```JavaScript\nconst Pubsub = require('libp2p-pubsub')\n\nclass PubsubImplementation extends Pubsub {\n  constructor({ peerId, registrar, ...options })\n    super({\n      debugName: 'libp2p:pubsub',\n      multicodecs: '/pubsub-implementation/1.0.0',\n      peerId: peerId,\n      registrar: registrar,\n      signMessages: options.signMessages,\n      strictSigning: options.strictSigning\n    })\n  }\n\n  _processMessages(idB58Str, conn, peer) {\n    // Required to be implemented by the subclass\n    // Process each message accordingly\n  }\n\n  publish() {\n    // Required to be implemented by the subclass\n  }\n\n  subscribe() {\n    // Required to be implemented by the subclass\n  }\n\n  unsubscribe() {\n    // Required to be implemented by the subclass\n  }\n\n  getTopics() {\n    // Required to be implemented by the subclass\n  }\n}\n```\n\n## API\n\nThe following specified API should be the base API for a pubsub implementation on top of `libp2p`.\n\n### Start\n\nStarts the pubsub subsystem. The protocol will be registered to `libp2p`, which will result in pubsub being notified when peers who support the protocol connect/disconnect to `libp2p`.\n\n#### `pubsub.start()`\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Promise<void>` | resolves once pubsub starts |\n\n### Stop\n\nStops the pubsub subsystem. The protocol will be unregistered from `libp2p`, which will remove all listeners for the protocol and the established connections will be closed.\n\n#### `pubsub.stop()`\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Promise<void>` | resolves once pubsub stops |\n\n### Publish\n\nPublish data messages to pubsub topics.\n\n#### `pubsub.publish(topics, messages)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| topics | `Array<string>|string` | set of pubsub topics |\n| messages | `Array<any>|any` | set of messages to publish |\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Promise<void>` | resolves once messages are published to the network |\n\n### Subscribe\n\nSubscribe to the given topic(s).\n\n#### `pubsub.subscribe(topics)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| topics | `Array<string>|string` | set of pubsub topics |\n\n### Unsubscribe\n\nUnsubscribe from the given topic(s).\n\n#### `pubsub.unsubscribe(topics)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| topics | `Array<string>|string` | set of pubsub topics |\n\n### Get Topics\n\nGet the list of topics which the peer is subscribed to.\n\n#### `pubsub.getTopics()`\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Array<String>` | Array of subscribed topics |\n\n### Get Peers Subscribed to a topic\n\nGet a list of the [PeerId](https://github.com/libp2p/js-peer-id) strings that are subscribed to one topic.\n\n#### `pubsub.getSubscribers(topic)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| topic | `string` | pubsub topic |\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Array<string>` | Array of base-58 PeerId's |\n\n### Validate\n\nValidates the signature of a message.\n\n#### `pubsub.validate(message)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| message | `Message` | a pubsub message |\n\n#### Returns\n\n| Type | Description |\n|------|-------------|\n| `Promise<Boolean>` | resolves to true if the message is valid |\n\n## Implementations using this base protocol\n\nYou can use the following implementations as examples for building your own pubsub implementation.\n\n- [libp2p/js-libp2p-floodsub](https://github.com/libp2p/js-libp2p-floodsub)\n- [ChainSafe/gossipsub-js](https://github.com/ChainSafe/gossipsub-js)\n\n## Contribute\n\nFeel free to join in. All welcome. Open an [issue](https://github.com/libp2p/js-libp2p-pubsub/issues)!\n\nThis repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\n## License\n\nCopyright (c) Protocol Labs, Inc. under the **MIT License**. See [LICENSE file](./LICENSE) for details.\n","readmeFilename":"README.md","gitHead":"fb53ce4444f016e0114e3193cd177717314a1662","_id":"libp2p-pubsub@0.5.1","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-9ZyVJM6W7npYGhA4Gw5Yy7TwuIT6Q0vWNLj3H2sommtlXp9Y2xbkxjCBBWro9muTWfvF9k99u0Buz/gGkRH1vA==","shasum":"eb05431edf041550483e0ee34af7c429407e4c63","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.5.1.tgz","fileCount":16,"unpackedSize":4553395,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoY1PCRA9TVsSAnZWagAAVukP/RW/0lufn2arJqq7NsDT\nnvxqzcZFHkY268rZeICATLoi+uINlQqypoD74t6qE1CytNqpg7eiQPLRFENW\nOQLoYaSNax55T9kiBTFHYflFxjVymcpYANEO34/AUlZRevVjqQ+HUyEJL6b7\nHMTtPO1l0P/UPWo6mokpeI0vPQ3FJ9aO8svNBPP7gEJI95fAgXo11ABRVZqZ\ncxVvc7bKVIOTXwoyVXfY4W2ygIJh79j3LCw9ypURZyKKr+g1Gx9lxyTPLsfE\niNNoP3Jmf7FnFsA0Mn+JU1zwSL+1O2k5sAeUiT5zHCOUJbqLT0RFSMnJr3Fr\nZ1axspd0Gw3a8xY/kTPja5ZnXiOviMmcKQUeQzDSavuaRpZhXJeYRoLzzBKi\nzmg/mwPiH1pKajiPMlblcu5Epi5V6uZhS/jEUX4X3JcX6xBhUlTuuZmSZ+YD\nCiwUdin5J+IDXUHYn+FEqycJBo/VsXMOWFGDXGx8iVdHihPnNTfJtuHbkbjE\npAC2S34fLyVFt9uH/hXeUOWYJzoxrHjFOfwV1nx35e2WmbsDeQ/snQmVYI0j\nV7Eyta/yF7wbhGcGBpG4BrmvXtuF/Prmh2C0my0Ogjn3G/oSvnx/hQS/1mk2\nW7aQiL0NO2ia0vaNrg/R2vJM8kbEk3qOB1znS+m0NPKrVO8kB6aNFIgOUEhp\nOiWh\r\n=TMOY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFBecexU0YzVm3J7Z3orQwKMsFxo6Zyn5x6uQ0IziUhdAiEAmx58+lAoAtWQx5LI5ct3ilVmt6yo5XFNA6e5dzsYV/c="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.5.1_1587645774764_0.19415063429073398"},"_hasShrinkwrap":false},"0.4.4":{"name":"libp2p-pubsub","version":"0.4.4","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^20.4.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^7.2.1","peer-id":"~0.13.3","peer-info":"~0.17.0","sinon":"^8.1.1"},"dependencies":{"debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^3.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"^0.2.3","multibase":"^0.7.0","protons":"^1.0.1"},"contributors":[{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Marin Petrunić","email":"mpetrunic@users.noreply.github.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"a1300","email":"a1300@users.noreply.github.com"}],"gitHead":"3d4fd92bc3162d9e99c5e0b4a813a95ffb485213","_id":"libp2p-pubsub@0.4.4","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-/nFEWjaeKhDLDgXpoqZa1HivvHAQH6RCX9T+VTzQO2aUVoHWOFnrXqBeu5ffjD2DSyyaKtRs1qsLjPVsk3p2zw==","shasum":"ca2ee85dc0bd6f2b39ab38df522bf6d3f7a74336","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.4.4.tgz","fileCount":16,"unpackedSize":4710358,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoY/tCRA9TVsSAnZWagAAI8wQAJlbFcXTBbuEL4qU11tL\n1wjG9/sgruN2W5cKR5pZwIfoHIvyoYN6QU+r7pGKkek5eDvgmubxzy8IbQOw\n+Jcahi2ODw8oFfaKp7eq6DEv1lyX7gzwnEkqJOMwYxPMpiWHdHz2qBqgT1/Q\nOYoDvzJNlhGnibQMWBSGvH4PTvZ3Dufo91i/wC1hgUN3DuU12ykrysy4p4Wv\nb8hCWWDX1m2s8j/0AnbbosG8PU2AnYbdQtyrqnFSrqPsd8Gt3QPp/qqmmYom\nT7NPIPb3knORwFCdGTeIwChnuuImAsyM20bXDCamIg1DoKZTSWrdl5FSBGBM\nCQ3e3wqeYay4G2Tfh3mz5REzKnLGxOOREuWStbaAkIHRA4D4/megyeQWE5RU\nRgNurUA4YYROzy16YfO42g31tTBQtINVUjksbzFBCs89SKMoVwBq88rWkghQ\nuemAaeT7iNgyD/t/E1Cdo0as8ZFbYmzhr6o5gvYtMy2lAzMIb8vQXxN8Yh8l\n/n7uWPVtf5dWh9AnRNVr6GI8u/RjbVJCtWtAjpYbq0XqarDFP4V1VOHvSxHv\n6CfQTAbWul9xvXY/bxcZF7ABLj6Dey95K+i0AtoDPKwfXSI6uVbKSH8e7xF7\nN4pBhV7jEMrUz0Lt73QISfDh1HPrCsyM+FzejfX5qA+YkKMNrRTHqCfDEYTP\nwrj2\r\n=6t0N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEN2MB8YS5GIsAw43qm87gTIcJoZWBrf0k0dcqfXNbZSAiABlIvMdahSVj1xrBzvc91l3Mql0tl4k8QcHyNabU5DiA=="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.4.4_1587646445316_0.5590259196744558"},"_hasShrinkwrap":false},"0.4.5":{"name":"libp2p-pubsub","version":"0.4.5","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^20.4.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^7.2.1","peer-id":"~0.13.3","peer-info":"~0.17.0","sinon":"^8.1.1"},"dependencies":{"debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^3.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"^0.2.3","multibase":"^0.7.0","protons":"^1.0.1"},"contributors":[{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Marin Petrunić","email":"mpetrunic@users.noreply.github.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"a1300","email":"a1300@users.noreply.github.com"}],"gitHead":"1f38fbbf1e11ea82d468a58920947dc8cb136faa","_id":"libp2p-pubsub@0.4.5","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-foqWQuD7C1V9DmtyxM+3ZBfvtGCvhzZ8uQtFWxUNjm6U5v0B5YCIw4/rE/nYmByw/+1/hLPt5MoUZiCqAE+lqQ==","shasum":"a8c3daf9c92eb1e5b4bc017fe58f3b3a9b066943","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.4.5.tgz","fileCount":16,"unpackedSize":4711826,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1/hxCRA9TVsSAnZWagAA8VIP+wYiqhIUoRtrjFkH0QeH\nXpqdrGp47EqNRlu/HKc1fR6C+y7dddQ7wp0O6I0dPMq1D9I+oziyCAaazl40\nS8f01UAxMXK3wr6iYZAzRVCdFGVej7+s28QO3l4Pq+N2vi9HLAIVMYvu+pnQ\nhisSVqUztYcdIfRd1nt/YDFAWtuB5sJzUZTHknVi1URdcHkZVgL3l+9xdBOI\n6A42FhwDvAn/iAGBldK6n78JZgIc8bZuQfpqnF2X2BxV+/aKO++jwiV5OBM/\n6IZZmbd++DVTGMA/6HLE5ofKY9eXz5sh7E4VhHVh0QYx+DW+hCqMIIbbG8DN\nBUZC9gnyHDtSCGwTaA3OSrxdKx8fL4FTF64/hDFvwSBR42tSiN5QSXc9WHXQ\nQKXclV/30fIsFV/C8lwHP09CPhNgwg5dO1KgQ/9L5UETMDGki4IZnIcgzVy5\nH107O/5ZZY2rU/CN5TH2e/DkJOa+lyidDKNGV9tdvojy154NN0x/vlqOELuo\nlLQbyvLpdQC8a+G66AmGvniFzIspjMeydCWNN/24aFHfVau3kW0pNDds1UR2\n+I/HmGagKg99dCQ/GoOpPPxXhCyUJWiUHxl/7yRuMN87OL31RGQ7L5WN2jtu\nb85/A6IDIJ4BYAbDeWWI1bWz9Qte10KhTiKdJ8TgSPHP182BddwH59/cROzz\nPAk4\r\n=88oU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsbH703+GK7q1m0veLoVNPPvvL+6IQN9n5JfQpcfvXmgIhAPKIxBEimh3d9y04g4OiMJPMob6lEOJt5GRiRQNDk4ae"}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.4.5_1591212145111_0.32763419463205445"},"_hasShrinkwrap":false},"0.5.2":{"name":"libp2p-pubsub","version":"0.5.2","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^22.0.0","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^7.2.1","sinon":"^9.0.0"},"dependencies":{"debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^3.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"^0.3.0","multibase":"^0.7.0","peer-id":"~0.13.3","protons":"^1.0.1"},"contributors":[{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"}],"readme":"js-libp2p-pubsub\n==================\n\n[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io)\n[![](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://libp2p.io/)\n[![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs)\n[![Discourse posts](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg)](https://discuss.libp2p.io)\n[![Coverage Status](https://coveralls.io/repos/github/libp2p/js-libp2p-pubsub/badge.svg?branch=master)](https://coveralls.io/github/libp2p/js-libp2p-pubsub?branch=master)\n[![Travis CI](https://travis-ci.org/libp2p/js-libp2p-pubsub.svg?branch=master)](https://travis-ci.org/libp2p/js-libp2p-pubsub)\n[![Circle CI](https://circleci.com/gh/libp2p/js-libp2p-pubsub.svg?style=svg)](https://circleci.com/gh/libp2p/js-libp2p-pubsub)\n[![Dependency Status](https://david-dm.org/libp2p/js-libp2p-pubsub.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-pubsub) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard)\n[![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)\n[![](https://img.shields.io/badge/pm-waffle-yellow.svg?style=flat-square)](https://waffle.io/libp2p/js-libp2p-pubsub)\n\n> libp2p-pubsub is the base protocol for libp2p pubsub implementations. This module is responsible for registering the protocol with libp2p, as well as managing the logic regarding pubsub connections with other peers.\n\n## Lead Maintainer\n\n[Vasco Santos](https://github.com/vasco-santos).\n\n## Table of Contents\n\n- [Install](#install)\n- [Usage](#usage)\n- [API](#api)\n- [Contribute](#contribute)\n- [License](#license)\n\n## Install\n\n```sh\n> npm install libp2p-pubsub\n```\n\n## Usage\n\n`libp2p-pubsub` abstracts the implementation protocol registration within `libp2p` and takes care of all the protocol connections. This way, a pubsub implementation can focus on its routing algorithm, instead of also needing to create the setup for it.\n\nA pubsub implementation **MUST** override the `_processMessages`, `publish`, `subscribe`, `unsubscribe` and `getTopics` functions.\n\nOther functions, such as `_onPeerConnected`, `_onPeerDisconnected`, `_addPeer`, `_removePeer`, `start` and `stop` may be overwritten if the pubsub implementation needs to customize their logic. Implementations overriding  `start` and `stop` **MUST** call `super`. The `start` function is responsible for registering the pubsub protocol with libp2p, while the `stop` function is responsible for unregistering the pubsub protocol and closing pubsub connections.\n\nAll the remaining functions **MUST NOT** be overwritten.\n\nThe following example aims to show how to create your pubsub implementation extending this base protocol. The pubsub implementation will handle the subscriptions logic.\n\nTODO: add explanation for registrar!\n\n```JavaScript\nconst Pubsub = require('libp2p-pubsub')\n\nclass PubsubImplementation extends Pubsub {\n  constructor({ peerId, registrar, ...options })\n    super({\n      debugName: 'libp2p:pubsub',\n      multicodecs: '/pubsub-implementation/1.0.0',\n      peerId: peerId,\n      registrar: registrar,\n      signMessages: options.signMessages,\n      strictSigning: options.strictSigning\n    })\n  }\n\n  _processMessages(idB58Str, conn, peer) {\n    // Required to be implemented by the subclass\n    // Process each message accordingly\n  }\n\n  publish() {\n    // Required to be implemented by the subclass\n  }\n\n  subscribe() {\n    // Required to be implemented by the subclass\n  }\n\n  unsubscribe() {\n    // Required to be implemented by the subclass\n  }\n\n  getTopics() {\n    // Required to be implemented by the subclass\n  }\n}\n```\n\n## API\n\nThe following specified API should be the base API for a pubsub implementation on top of `libp2p`.\n\n### Start\n\nStarts the pubsub subsystem. The protocol will be registered to `libp2p`, which will result in pubsub being notified when peers who support the protocol connect/disconnect to `libp2p`.\n\n#### `pubsub.start()`\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Promise<void>` | resolves once pubsub starts |\n\n### Stop\n\nStops the pubsub subsystem. The protocol will be unregistered from `libp2p`, which will remove all listeners for the protocol and the established connections will be closed.\n\n#### `pubsub.stop()`\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Promise<void>` | resolves once pubsub stops |\n\n### Publish\n\nPublish data messages to pubsub topics.\n\n#### `pubsub.publish(topics, messages)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| topics | `Array<string>|string` | set of pubsub topics |\n| messages | `Array<any>|any` | set of messages to publish |\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Promise<void>` | resolves once messages are published to the network |\n\n### Subscribe\n\nSubscribe to the given topic(s).\n\n#### `pubsub.subscribe(topics)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| topics | `Array<string>|string` | set of pubsub topics |\n\n### Unsubscribe\n\nUnsubscribe from the given topic(s).\n\n#### `pubsub.unsubscribe(topics)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| topics | `Array<string>|string` | set of pubsub topics |\n\n### Get Topics\n\nGet the list of topics which the peer is subscribed to.\n\n#### `pubsub.getTopics()`\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Array<String>` | Array of subscribed topics |\n\n### Get Peers Subscribed to a topic\n\nGet a list of the [PeerId](https://github.com/libp2p/js-peer-id) strings that are subscribed to one topic.\n\n#### `pubsub.getSubscribers(topic)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| topic | `string` | pubsub topic |\n\n##### Returns\n\n| Type | Description |\n|------|-------------|\n| `Array<string>` | Array of base-58 PeerId's |\n\n### Validate\n\nValidates the signature of a message.\n\n#### `pubsub.validate(message)`\n\n##### Parameters\n\n| Name | Type | Description |\n|------|------|-------------|\n| message | `Message` | a pubsub message |\n\n#### Returns\n\n| Type | Description |\n|------|-------------|\n| `Promise<Boolean>` | resolves to true if the message is valid |\n\n## Implementations using this base protocol\n\nYou can use the following implementations as examples for building your own pubsub implementation.\n\n- [libp2p/js-libp2p-floodsub](https://github.com/libp2p/js-libp2p-floodsub)\n- [ChainSafe/js-libp2p-gossipsub](https://github.com/ChainSafe/js-libp2p-gossipsub)\n\n## Contribute\n\nFeel free to join in. All welcome. Open an [issue](https://github.com/libp2p/js-libp2p-pubsub/issues)!\n\nThis repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).\n\n## License\n\nCopyright (c) Protocol Labs, Inc. under the **MIT License**. See [LICENSE file](./LICENSE) for details.\n","readmeFilename":"README.md","gitHead":"d478ed08ca557953fccc9b0c22fdeee6fc55e84a","_id":"libp2p-pubsub@0.5.2","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-wo7rffFtTiqeAuWxSxgoqWPyNw6ZqoC3YKaFi/xEnwrgz5w58PYxyrWs1r7/8rOtvh9P5sd23puNCckzshKS+Q==","shasum":"79037e70369027dfa82c05cb5c184300ea404a8f","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.5.2.tgz","fileCount":13,"unpackedSize":493277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2K6xCRA9TVsSAnZWagAAxAEQAJ/uSrLnGrLh6+bXQHIG\nI1P80Frde8I14njevGigDp98b0hLD4SFudZeRLu7J0fyrc8QNhj+qSWZEur9\n4v5iQmAX3j5c4/kq5mDEG7pvmiKGa7Q4PJFV3H365JTdL+Rn7pRPhSceXlo6\ndGjDBqIBhIzmpJW8ZxcChNT96Wr3s/s8wREGA6oW0gMbHUIT9oayys44FHl2\nj8n28yM9XVHI30Q0MTzP3ituvnHfc75KQav/88jaRv1VorpSSUfB6x9V7Vnd\nT0gkDjeNh7yA6o5JGBxytfQfy7pMddgzsZSzhbd2X7U+2x3w25Ykgarlzg+/\nNeBngA81Jv8XwcnVmokXfwmfRVPzuLbbHIPQCSjaIHCMmDDgRs7sV4yTd+su\nkTR8isk5vgFqZBquK4CdWFKmxnHDY4ivJIvb7zLstX5si3GGWJA7+CCdNNBT\n3s1hePhI735pP3HQ+THRFgwstFROpJKEl3fiNx7MrrvDVtKYKtc2bu7nc+TZ\n/vpWfU126Lf8BlnOaXfAriqRH6ogpfGLmBunrTWo5CFQ9g7u4MzLK9AyE3nQ\nqo9feXhcB5/kiS0MMvGJPWyv/0hnJs7vA3ro7e78ysMm0sh0w5k0ziBF3LaL\npivasTSux/hTYpTGG+dLu+khEgQkT9bqCIndTrTkLl3NTq8p9Wf4zoM+JTsK\ns3Xh\r\n=hpQf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3Yuq+0wgFkkxtQGiGnZQx41+CaDCaNeII/wtzpRm0OwIgGp1/8ndZhUNbdmMQ9dfdZLxBtwY46Ei8t2yG8NSeJcs="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.5.2_1591258800760_0.8316400943303528"},"_hasShrinkwrap":false},"0.5.3":{"name":"libp2p-pubsub","version":"0.5.3","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^22.0.0","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^7.2.1","sinon":"^9.0.0"},"dependencies":{"debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^3.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"^0.3.0","multibase":"^0.7.0","peer-id":"~0.13.3","protons":"^1.0.1"},"contributors":[{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"}],"gitHead":"66529fa89833bd995acc5f3f4875de43ca7dc1a4","_id":"libp2p-pubsub@0.5.3","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-PoHe+W+8GFN+g4E5rpgrE0IsJ8B31e82UUvlganXGxbKqkMddezSFJkea4hnwREyD0jf9vTL2ysdgA59uqIGXg==","shasum":"4c00aff1a5a8189a9776bfa70ab80012ab86c99b","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.5.3.tgz","fileCount":13,"unpackedSize":493668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe54ZaCRA9TVsSAnZWagAAxQQP/1AONsaMuVkvxJB9+ayM\n///sebEV2WQ/5MlrDbVXciw5UvtZkqY/3qAtN5KF2Ru22MF8jY3lT2K8cjBV\nk4UtI+Xc7bWaRSvBsRysgt0Nsi+fUGU36EyRjvx1xi7Mrm7IwTAFK5Z5asGi\n+Av/G4OoX4TaBbMsi97bQies5GkuN9UoKgZ/A8jx+3oCwomqz69dmDmgkK5/\nyh77S5B+t8FPUbqeQlitndjdtrcBao/8lX2PGuh40upwLCZmVwP/8PNXFfh+\nTfECXsETibWYN5WynHlreJ4+c+1YgVkXrPJEZAH4Hgt7uJ5aUbHu57CzSF34\nHi3LP/8lS6LiGL6qm2peSx4OH8k/IzKEbMz+fG+xe5DPPW/vyFys2FDUxLaV\nDd7MRDCQ3Gm9boNieiLIIuC5anWAyEfc2iCyxYnghVAfmAaipfF0B2oP3UB7\nrjfTKHLIPJtvKlU4xujxpC3jdd6Pi6PYTBMh+rfELAQXgRY6dTl0tpiEMFk6\nOPztiH75xxfJOKVMFUkgjwUfFNZ73MYwedGl9B2qPY7jQht3KImHp5wOe96s\nhSLr8F8S26x3gFGYuVbcTDpDN8ecZtqOMXX2LDLSY1WzasBGtj5YeHul0aPo\n0v7RtJd3DVNe9BcHaxrGV9gVlBZjLaT571mYsfAxbCRaVXvy9xYEVpbJPyf2\nTjGM\r\n=CsC9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHUqYMK+OnKIiY+ND+vuVwXsHTzyjucpI6TawFmmcasiAiEAqtCHW4JKb2fZrj4PkLwSr3E1SHOIUR9UYPugGVgij6A="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.5.3_1592231514235_0.6938836376449042"},"_hasShrinkwrap":false},"0.4.6":{"name":"libp2p-pubsub","version":"0.4.6","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^20.4.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^7.2.1","peer-id":"~0.13.3","peer-info":"~0.17.0","sinon":"^8.1.1"},"dependencies":{"debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^3.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"^0.2.3","multibase":"^0.7.0","protons":"^1.0.1"},"contributors":[{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Joel Thorstensson","email":"oed@3box.io"},{"name":"Marin Petrunić","email":"mpetrunic@users.noreply.github.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"a1300","email":"a1300@users.noreply.github.com"}],"gitHead":"5a6f0f1cd6dbbe86011df42642e605cf3464935a","_id":"libp2p-pubsub@0.4.6","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-FVOevlc6YAOU/GnM7fTobKDkkQ9GPEZ+H+FVPcwHYlkA6NcB1xHImmVQ+N4R4DiBt2YmnLIZFE70vDlkgnM06A==","shasum":"a17e9f81b868653d61be09d6d83ddb04e382f494","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.4.6.tgz","fileCount":16,"unpackedSize":4855850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8i04CRA9TVsSAnZWagAAxOkP/3tbFlXh714KP6hH63LL\n68GuuxQmvrtxt7CJi1Ad5Gd8YG/HbDXrr/1Ns3tULUFrcOhwIV1grfIt9vEW\nSO2gHSpUFBw9IP+noSiWRbraLNz8UZg5W577Al36jd2NCm29YcJ6m9rZYYBs\nxf6xi4Xlp6+NOwGBak8FwSLwt3WJogL3LKjKmAPCsbFOF+y/ZrqPFX7IuiSg\n9u/34xIU/XopoWRaPbcRPrnsGdrKFnn+FLpBmiKqgIt6apVISPnk5Q1oDlJ4\nRAn537J6URk5tOdUvfUzcmB+bRRkUHU5SEd5GdN2bhLYMG9+SUP620wkCMkl\n00F8CDeCCb0waNiPx8ROiJCLDc/cuyUenVt70Gjjq3a3K6xD5ySlIv5ixqpW\np/ZYo+ac0SBdOPMkxUGLrJdm4a0mCAV5RYchtm0sl7cV4Pf1SnKzUN1UUGTs\nDcWrY4xJiLKu1ELwQrhIaGnPjzksDKjq/OruE2lAyPXGf7OHytXbXGMVEG2D\nRx3NBNyqbapx17Iv11CKIga14u8XsFisbbTanT81WZur8UTqrr19qBLafOgQ\nQb6wRWae8TtFY8YB1GY6GkG21ItKoRSDhKvqwCylBIVNdG2il2VEFTvfIKeF\ndmM7JIsLF+w4svUhAg8qnP578MpwykuGTeA1ME80GKQGZdddaGS6oCOi5n4i\nvXKI\r\n=694g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFDJdymTP9PD26hQ3qnfQ4kKhwWwHFY0bhwwQJQ40qj0AiEAh/FJnXzP8kSLWdsrqrCyp4pvRlHJSXvtQao5f8qPhKY="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.4.6_1592929591543_0.5365066597449557"},"_hasShrinkwrap":false},"0.5.4":{"name":"libp2p-pubsub","version":"0.5.4","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^22.0.0","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^7.2.1","sinon":"^9.0.0"},"dependencies":{"debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^3.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"^0.3.0","multibase":"^0.7.0","peer-id":"~0.13.3","protons":"^1.0.1"},"contributors":[{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"}],"gitHead":"e2ac4191d16200ad29f74aa4976cb9edffe0d675","_id":"libp2p-pubsub@0.5.4","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-cWj+77ux20dzeFl8Zlqouyezwjgn1XrsZJYfXq3NnBw6C7+1uX5GTWAtpxQR9nvv0zinGLCYER1HzXx9caPSKA==","shasum":"07749c2cb54e3b675e78bcdf5c9f0eac139df2cf","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.5.4.tgz","fileCount":13,"unpackedSize":492460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBJtlCRA9TVsSAnZWagAAhS4P/0kDxNTl04mBgLXRZrnr\n0R+HV5xIR1LQvo1ZGqWG6WIuUdBudttLvYmRbPn7Ey4rAA+odGWSKUO1EsDf\nmwo7dHh+Id0mdSdkuyXBLuqf7/3xXTbBErYL0sw8e1ZDfU07f6xfisOOqroL\njROfNghwQXadbc7RBAoiztIm9MDf28KLdSx4GMiGvdRsBVApOBNkj7MnBFTX\npx3B9MA2LWDaKNkc6ODLFBEy6xb5NqPuU4sEgfwKbqu2ZHAyeKYC3idnRFw+\nTjmpW0TAKHubZ3F/tN/K0MsOn4+cmF1UJ8XED/olD44o9J/+lYPP6bYwvweR\nIvnKUvOhmPaV/vCYxfEotAZbMk246c//H4QEVG2B6jNLdHh3Mb8HB+aQutOW\nKVF6m/9gaqDA7xzPkeXbEneMExsorhU4QW3tkrKuHgOY+mbALVePC9vGxhXZ\nQ7OAWXHyQ1zLR8wtbT0mzQ1GexS1xyxD4t9qoTpTZAgr/S0RBxZlrauV2Vy1\nX22D1EAyeaLAhNQUXW0jxbiGZnXb5RWk7iTue1x00/W228t2W/wJTVlLfEPN\nO8KQ5vUFpuqswOfSsQuNayzNB5kZM1HrszgfdI5k0tadXfirmNXaxQj08Die\nsCnrFyqu//uEV2N1BUE2WCv/lW66J6hI1EHUJJqLrxys1hJxVF/dHwVSOTBt\n7vEn\r\n=0D0Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSJk3cb+mdve1AV/JSbiOSCDzhPljYMAvvPp31CtrJGQIgdIpZoF8/UmHI3gMIp5/JWZrSZaRw4OIcoJ0R27FhSsE="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.5.4_1594137445247_0.3398571898213254"},"_hasShrinkwrap":false},"0.4.7":{"name":"libp2p-pubsub","version":"0.4.7","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^20.4.1","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^7.2.1","peer-id":"~0.13.3","peer-info":"~0.17.0","sinon":"^8.1.1"},"dependencies":{"debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^3.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"^0.2.3","multibase":"^0.7.0","protons":"^1.0.1"},"contributors":[{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Joel Thorstensson","email":"oed@3box.io"},{"name":"Marin Petrunić","email":"mpetrunic@users.noreply.github.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"a1300","email":"a1300@users.noreply.github.com"}],"gitHead":"6438261d6eb6bbf33f714424af3ec093378acf37","_id":"libp2p-pubsub@0.4.7","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-HKMqeAhNbinYucHTjBMkR35DxsxeGNr0m7e5wlOKJ026R97otlayYxxilMj6g3iszokyeLy0txj/JtGPO6PKQA==","shasum":"0d26319a341b290bf9daeb486e6dfe7b2a4dbe68","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.4.7.tgz","fileCount":16,"unpackedSize":4730907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBX6ACRA9TVsSAnZWagAAvhUQAIMNSOZPdiAAMhJY6Rml\nrsG+ieoFAIYfDEsg9cDcXObt3RwJ+LoIN3JTumH2ffrsasUMzKQYJU0JSLp2\n6PU4W9ZDa0j3CWO/XxDhJzzsppmb5A+PvZqDJKWMioLKvylRdWmIhmB70QmK\nHLdekuoohAWZwzaroXyh6j/G2svaiaJzGMsspN0Fg1HCx3SsrAyIHiJXrqbE\nj/JkGfJJnSlospyxQ+433HTlrgVmyLvSbCITs/3IBV60ZfLwi0Nd99j+Y3dQ\nQwQSn6uLEXonrhXt0i83DGoNUWJLvnz5pzCJagRwe+IA+YZCCEeQOUA6WUkJ\n++pOfGMWx1t3hyqWmuFf+rpouGCe5Np7aPWtaawGP6i6PqELZaWIMb+60pF8\nTs5GR8CxxZx82b1Z4j/qMWHifZ+0zcgFIKc+y0iWVpCIYDxGNdcBjCT66s1m\nFMQcOWzxcS10Wuu5gkbj6emjs+8Ly3NSV5WWtgPEPuLXs3pgPmLD2D+KjFQ3\n4V+I5nFfxmEwOE25BWVf20Zp/Pjs8Ctm1adV6ztp6ybWrRGVPywVxHO8YZwc\n0seKta7WGSH3e3odyrzAbkqfSJPCt4vhOR3+L8dfKCrBy+RdAsdPoPdUtzUF\nr91Bg5RcRSpF9YGEcoiFfZPNJdu9X5KsLSLF4xYlQ6rlhQtqDkrxmS/oGRi3\nezpW\r\n=Je9J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvQejyxCfuIvvhL51wDSyMPs3Ja/A3mjGx9gZpWV7nEQIhANE3duaCuKK9aY0NZM2szsa7c/rGd4oLTrlQnzqWq98f"}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.4.7_1594195584163_0.047166795232210124"},"_hasShrinkwrap":false},"0.5.5":{"name":"libp2p-pubsub","version":"0.5.5","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^22.0.0","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^7.2.1","sinon":"^9.0.0"},"dependencies":{"debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^3.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"^0.3.0","multibase":"^0.7.0","peer-id":"~0.13.3","protons":"^1.0.1"},"contributors":[{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"}],"gitHead":"de5054265861d344571815cd40d8458bf889cb35","_id":"libp2p-pubsub@0.5.5","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-7AxjfVs3cbXQXL2Ph3fDdudHOEa37tN80zIDzb0ULa3QLatjnjyclXhToGh4igFwwyZX888bj0BbGCTUrp9MSQ==","shasum":"258e950ebe4fadcdc06f252493e6e1a9f6848fc0","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.5.5.tgz","fileCount":13,"unpackedSize":492548,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDW6bCRA9TVsSAnZWagAAqXUP/i1SrJtrZcjGOSRw0O/8\nBOTpHuaqE2EQF+sTif1G6MZCa94bXN1EugAymS2MA9reo22/hnsJb17QXuZU\nqfyIis4zf6/8CSLaeECaMK0a0xBc0zYZlx+mxyhJJPXPeb0vB7+g5pAp+SyE\n+otPF7lAPocjySt9dUm4k7qhXGluyfDdePg73CXlyjcoVDZqBNzThw+gQRVq\nss1plkQMHAdkdELewfdhy5yIyrb/fJpZ0+GfD4bg/biawpuqPoF1VBkhisS7\nToPlabe5TtTXUKG5UnAscrtOoM4bfqAKnIt0Qowgxys36dWnwUFAEG/9mUx3\nSL3+yJ7W7LOxyoh0H9K1C+pPUS7vVqJgAyiFeZlhp3Nvb0QAo9r/I3Hp4TCV\ngpAQ2DnN8RLcRUnO21B9GpQoMHIwNJWxHkhPLt6oLJVsDC/GQ/3FkLGdxNOT\nrYm/D3mYFuEEWFts1og3f25ufaXxWjckYh3pxRkm3d33piMir0EwlltG/Lcj\noUcq+DrcQpN6hIakHvb15Gze3XOoxtFdZJPZEaVaeCZe2jqgmPlN/K/Qe9b9\nr36iamso3GSBzf5dt1HPvIIrGFVRTT2gHtAZNv5Utxkz4UdG1lfYClSZdoDd\n3070ZYCGOdZZ7v80BIB+sjvjd706XEtipIDiJbXWtnCauvoCUO3kLCG/tRWW\n45vg\r\n=lFLR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIANTNzyAAV9efVHxEvziu6fH4BEzu2PR+4t5vU6Up8QrAiEAg+WNNfLimlo0qW494XYEuGDwOle0mQAkXzdp45aGpoI="}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.5.5_1594715803054_0.6793062418072251"},"_hasShrinkwrap":false},"0.5.6":{"name":"libp2p-pubsub","version":"0.5.6","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^22.0.0","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^7.2.1","sinon":"^9.0.0"},"dependencies":{"debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^3.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"~0.17.0","libp2p-interfaces":"^0.3.0","multibase":"^0.7.0","peer-id":"~0.13.3","protons":"^1.0.1"},"contributors":[{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"}],"gitHead":"1297ca18dec89a66a11d134d476188d2641839b5","_id":"libp2p-pubsub@0.5.6","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-1nQ709amKckPOcK7nZZom66PZytn8VIdR9BxpxhXxwmMmeuCIUKB+65UK7tI07M4LrcWsWPwZH6PbQBKiQ+Fzw==","shasum":"960bd2cb4d724e0b28a88c3afa38779486854d2c","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.5.6.tgz","fileCount":13,"unpackedSize":492692,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDYh6CRA9TVsSAnZWagAAjRQP/2tj85KcJkROfyZGUAjl\nmaa2YQoysWZbzDxpFKuRvhA619qtTfWThmu7BpyGZJ6bUrE33gstuwROJtkY\n1v1+R2I6tMpmuf/uk6t3RDx9Lw80pkeeKO8Qjknxnqu/GK8o6V5aWF5huKIt\n8S5o0jMdRhjLf7P1/+zDqPpyTsrWZg+I0kbsTUxWxJViGcw+SS7eJWz47lHf\nvypoJ1UBB6DsHeyq12RKz6dZE7Mv645KrEGTgnQrFD1BmO1I3QjKOk2IFvLG\nenM9He9EZU+dlkVmQ2etUyJhpHtOPkwUxgdGQB3FZFsTMBPbbBkp9xCb9llg\nmhFO/kaWEiOHOtOmW6/1TZHnHRDgYVEAW80kGaaozXSJwGB0O3/9V1KMABDZ\nyEDr/GnWDeNesKy7FyTzv4p219O2sUfR/WzSDc+abYvBwmgiuRLA+8TU32N4\nQFXbVC2TNQNbFU1mgO8g9pYGZTnIwu6WLEFS+2tLT1fWj0A7gtwMX214nx2u\nA9ePWwGDDjAsa/a/d1cpzOwu95pmQKFGGWins6vxeYIepyRyJBOdDGfvQBFf\nz61vb1qeXJL0brHvYZJVV7sTBCv4bxkW4acX45FkkizxQwzUOovLuXUI2sj9\nS4HzGBYsJ05uuMOa9bWjqbGINEUGDwPjBRPH4RCoyICyI6eaHIwYKshge4r5\nSWzN\r\n=1XFR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRii6PDrwHZ8Vc6UI5F1tNDRkO7/8k5coW144iJbawDAIhAN7xV5D6iP4VnlJ7JeRyqib2/moQj/hLnYOc3FXdYK1+"}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.5.6_1594722426122_0.8781620291087344"},"_hasShrinkwrap":false},"0.6.0":{"name":"libp2p-pubsub","version":"0.6.0","description":"Pubsub base protocol for libp2p pubsub routers","leadMaintainer":"Vasco Santos <santos.vasco10@gmail.com>","main":"src/index.js","scripts":{"lint":"aegir lint","test":"aegir test","test:node":"aegir test -t node","test:browser":"aegir test -t browser","build":"aegir build","docs":"aegir-docs","release":"aegir release --target node --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release --type major --docs","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"pre-push":["lint"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-pubsub.git"},"keywords":["IPFS","libp2p","pubsub","gossip","flood","flooding"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-pubsub/issues"},"homepage":"https://github.com/libp2p/js-libp2p-pubsub#readme","devDependencies":{"aegir":"^25.0.0","benchmark":"^2.1.4","chai":"^4.2.0","chai-spies":"^1.0.0","dirty-chai":"^2.0.1","it-pair":"^1.0.0","multiaddr":"^8.0.0","sinon":"^9.0.0"},"dependencies":{"debug":"^4.1.1","err-code":"^2.0.0","it-length-prefixed":"^3.0.0","it-pipe":"^1.0.1","it-pushable":"^1.3.2","libp2p-crypto":"^0.18.0","libp2p-interfaces":"^0.4.0","multibase":"^3.0.0","peer-id":"^0.14.0","protons":"^2.0.0","uint8arrays":"^1.1.0"},"contributors":[{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Mikerah","email":"mikerahqc@protonmail.com"},{"name":"Cayman","email":"caymannava@gmail.com"},{"name":"Topper Bowers","email":"topper@toppingdesign.com"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"}],"gitHead":"5540c5876d56a012dde447527de8caa12af1e93d","_id":"libp2p-pubsub@0.6.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-qkBK6eGKg5O3G1MvmdJQIcnONSji1ZZURSBon58W4h+oKkt0suudF/nJcnnnVJYILtL7UEuIrV+xNq1hjefTkw==","shasum":"68972096a2a2f38d5ea9c0a48855d6640604b613","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.6.0.tgz","fileCount":13,"unpackedSize":483723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMmzcCRA9TVsSAnZWagAAsacP/1mh8/j4WJZcrmkL9QrO\nvThNoz7BVleMKxbwpPCIhVBH35J5w/PfJkLQVBgYCrfCTSe32JOzZ9Tyakv8\n52TXPrEk1iU8dRedxOgg1j7AX/yNDAioHTFYfTtKQs/Rv0Li3ll9CnRZORg+\nk6mN8/8hyKb6vD3mApshA70VNzWgpCW1OBMXSdc39hlOEM/mBrT8UtIiFaFI\nodwxTTz0AUP7LEG5i4SL5IWkNIOB0jP94qdNbAjkbszdCtB2e3DzE3QRT2WP\ncM2ms0xS3xoyrEgceYnXT7jXituz3BfPO+9Ti1JZxb1CgIeW3Mx9QQNyIlzh\nRyjfQE8gZMozyO5lR4X3cUy3gL8Fkn7VDood25++a6mbTN1YR645RrpG0yVV\ncmA6LCWJjtaCqp8GAmuZiLK+wDpfPZWHVcqD0L7mrIwtrMXhxVh8E342428m\nsCH6t4/m6/wnGrxgqacdNI+qZZBWA+32oVutpNJBztZPBX4od5gOL0QBiNDc\nMdgxtPr3/m+ZJ1theq+JP+n0ch4i7s5rOUqI+ATmtXVn2+MxHAz2aekGzoaE\nDDZ5AXAs+wUmfinz6p88T3ELi7BtdH7ldAK8hfvwhTCFeBZumq1aUhbuxG/b\nw1nRDHZJO1IOPuoDI4J3xCuvApK4GpdTuAoDVb9aBBPojouMWjZw5/iWTq4E\nF5cg\r\n=UCBx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlOKIurUWhiU7DVg4IsM58euGp0JEaiU+1oXykuJnLiwIhANpAtdjkVHFTcqkWKGijlC0UFsWDXPKQATAsXh8JKOe6"}]},"maintainers":[{"name":"vascosantos","email":"vasco.santos@moxy.studio"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.6.0_1597140188279_0.5453714181608633"},"_hasShrinkwrap":false},"0.7.0":{"name":"libp2p-pubsub","version":"0.7.0","description":"libp2p pubsub base class","type":"module","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","ignorePatterns":["src/message/*.d.ts","src/message/*.js"]},"scripts":{"lint":"aegir lint","dep-check":"aegir dep-check dist/src/**/*.js","build":"npm run build:types && npm run build:copy-proto-files","build:types":"tsc","build:proto":"npm run build:proto:rpc && npm run build:proto:topic-descriptor","build:proto:rpc":"pbjs -t static-module -w es6 -r libp2p-pubsub-rpc --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/message/rpc.js ./src/message/rpc.proto","build:proto:topic-descriptor":"pbjs -t static-module -w es6 -r libp2p-pubsub-topic-descriptor --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/message/topic-descriptor.js ./src/message/topic-descriptor.proto","build:proto-types":"npm run build:proto-types:rpc && npm run build:proto-types:topic-descriptor","build:proto-types:rpc":"pbts -o src/message/rpc.d.ts src/message/rpc.js","build:proto-types:topic-descriptor":"pbts -o src/message/topic-descriptor.d.ts src/message/topic-descriptor.js","build:copy-proto-files":"cp src/message/*.js dist/src/message && cp src/message/*.d.ts dist/src/message","pretest":"npm run build","test":"aegir test -f ./dist/test/*.js"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"keywords":["libp2p","interface"],"author":"","license":"(Apache-2.0 OR MIT)","bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-pubsub#readme","dependencies":{"debug":"^4.3.2","err-code":"^3.0.1","iso-random-stream":"^2.0.0","it-length-prefixed":"^5.0.3","it-pipe":"^1.1.0","libp2p-interfaces":"^2.0.0","libp2p-topology":"^0.1.0","multiaddr":"^10.0.1","multiformats":"^9.4.10","p-queue":"^7.1.0","peer-id":"^0.15.3","uint8arrays":"^3.0.0"},"devDependencies":{"@types/bl":"^5.0.2","@types/debug":"^4.1.7","aegir":"^36.0.0","protobufjs":"^6.10.2","util":"^0.12.4"},"exports":{".":{"import":"./dist/src/index.js","types":"./dist/src/index.d.ts"},"./errors":{"import":"./dist/src/errors.js","types":"./dist/src/errors.d.ts"},"./peer-streams":{"import":"./dist/src/peer-streams.js","types":"./dist/src/peer-streams.d.ts"},"./signature-policy":{"import":"./dist/src/signature-policy.js","types":"./dist/src/signature-policy.d.ts"},"./utils":{"import":"./dist/src/utils.js","types":"./dist/src/utils.d.ts"},"./message/rpc":{"import":"./dist/src/message/rpc.js","types":"./dist/src/message/rpc.d.ts"},"./message/topic-descriptor":{"import":"./dist/src/message/topic-descriptor.js","types":"./dist/src/message/topic-descriptor.d.ts"}},"gitHead":"045f7d77535ee61562af0b0e2a7dfd168b214430","_id":"libp2p-pubsub@0.7.0","_nodeVersion":"16.11.1","_npmVersion":"lerna/4.0.0/node@v16.11.1+x64 (darwin)","dist":{"integrity":"sha512-JTwPQdUU5N4Z4URaLFslZ1FnTSKDs0aV06OlXr8ihDLT64ZiY/w1atE8TX8OfTOBEJU8pt0UcmMlbMtrm5rekQ==","shasum":"5f6cbff0ce29be6c3af77284628e663308d143f1","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.7.0.tgz","fileCount":76,"unpackedSize":338545,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhm9MgCRA9TVsSAnZWagAACdwP/jhmgJo+Ptqj2i5GgnjS\n5i27v4UCR9QjlhF+Qo8SxHg9nRLi0NSLbzmQG6Ohw524anqQfiYejjGMmGr+\noLS6aGd8PNiyR8qPfbzOAFpSv6rKwAMzYzL8PVyZPjreIT0lE+6S9MqhQNYY\nyCi/r2jKtEX7GE40hVXwapeG0bQmuLsnSG9y9tmFfDqGimDXAWesh4tc7t8Z\n0lZsVnJZbchnYz3U/EiCevt9zuHrxI2KfDSz4mAnGIwVTwDCJuJtiPbAH29B\nmoD4i50hooOP7FEpKFeCsPXaf7yWXbLsu87xYhd1FCbVF4BSdK13NlR92B1F\nx7M6FRym2nDi9loozkjZnyVrx4Ux31fa2pOBLyPu4BEPp8LqyhZd3J1mbl//\nwINVClZCN+7NYsY/+EPDYUCNc+iYJYKJLBLjgsSUpuIZvnScu+2ORudNGBnO\nQabUH3qV5CNHZZ2sSvX5fryjexXzMvxzzjXP++Xu3frqnlszbLLD79ZMdazY\nbxYkZTj2ymwogGRCTBs/O8/oDombOV+gwYUburp/srf5gksew/iM8bbdW0/+\ng0yfXIC1/TQfI4NesLGh9R1l9a3+16VpZ9/UQP/Q1V5lD59npnHhbH3qDHPA\nh00IsuyGwIqnWFFNiEj45p4kALFFPC8142GgGx/7oFArJ+6oTB6s4hOINEMl\nFAEn\r\n=5AxU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2TDV7uk8KYmn36ZAfJxek9GrLhV+lakDTjXTucTN3AwIhANLeiYGIgGD539mSWM0hKmBQZUl8hfzIZtPQtXKYLWO8"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.7.0_1637602080237_0.9442360438771673"},"_hasShrinkwrap":false},"0.8.0":{"name":"libp2p-pubsub","version":"0.8.0","description":"libp2p pubsub base class","type":"module","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","ignorePatterns":["src/message/*.d.ts","src/message/*.js"]},"scripts":{"lint":"aegir lint","dep-check":"aegir dep-check dist/src/**/*.js","build":"npm run build:types && npm run build:copy-proto-files","build:types":"tsc","build:proto":"npm run build:proto:rpc && npm run build:proto:topic-descriptor","build:proto:rpc":"pbjs -t static-module -w es6 -r libp2p-pubsub-rpc --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/message/rpc.js ./src/message/rpc.proto","build:proto:topic-descriptor":"pbjs -t static-module -w es6 -r libp2p-pubsub-topic-descriptor --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/message/topic-descriptor.js ./src/message/topic-descriptor.proto","build:proto-types":"npm run build:proto-types:rpc && npm run build:proto-types:topic-descriptor","build:proto-types:rpc":"pbts -o src/message/rpc.d.ts src/message/rpc.js","build:proto-types:topic-descriptor":"pbts -o src/message/topic-descriptor.d.ts src/message/topic-descriptor.js","build:copy-proto-files":"cp src/message/*.js dist/src/message && cp src/message/*.d.ts dist/src/message","pretest":"npm run build","test":"aegir test -f ./dist/test/*.js"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"keywords":["libp2p","interface"],"author":"","license":"(Apache-2.0 OR MIT)","bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-pubsub#readme","dependencies":{"debug":"^4.3.2","err-code":"^3.0.1","iso-random-stream":"^2.0.0","it-length-prefixed":"^5.0.3","it-pipe":"^1.1.0","libp2p-interfaces":"^3.0.0","libp2p-topology":"^0.2.0","multiaddr":"^10.0.1","multiformats":"^9.4.10","p-queue":"^7.1.0","peer-id":"^0.16.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/bl":"^5.0.2","@types/debug":"^4.1.7","aegir":"^36.0.0","protobufjs":"^6.10.2","util":"^0.12.4"},"exports":{".":{"import":"./dist/src/index.js","types":"./dist/src/index.d.ts"},"./errors":{"import":"./dist/src/errors.js","types":"./dist/src/errors.d.ts"},"./peer-streams":{"import":"./dist/src/peer-streams.js","types":"./dist/src/peer-streams.d.ts"},"./signature-policy":{"import":"./dist/src/signature-policy.js","types":"./dist/src/signature-policy.d.ts"},"./utils":{"import":"./dist/src/utils.js","types":"./dist/src/utils.d.ts"},"./message/rpc":{"import":"./dist/src/message/rpc.js","types":"./dist/src/message/rpc.d.ts"},"./message/topic-descriptor":{"import":"./dist/src/message/topic-descriptor.js","types":"./dist/src/message/topic-descriptor.d.ts"}},"gitHead":"18a07830eaa810c42694f49be943ce18e77ae869","_id":"libp2p-pubsub@0.8.0","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (darwin)","dist":{"integrity":"sha512-fHxvH/kSvfDe6SCMGdtQxkrkBgHyGCmDvJiUagHkRiilXXufyAyOjDhQ+IpkVmJp9x9rqlOn3bs9Z+b8ch9X5w==","shasum":"3bb8c37458104997ec8ddea667fac1b569e0f160","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.8.0.tgz","fileCount":76,"unpackedSize":338545,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqG+rCRA9TVsSAnZWagAAe5gQAIFU28l5vaaa7mM2/HHX\nDyxGyYuodWFMqRbi8fw00xKjPL0PlxcwHjViXgcf0n9s5bUAU7Qe639IEJNY\neuVbDrFGFQ03gFZrIVD/aH3wdBJcXtNKwwjJ11WPqUDLixjD9gqH47J/5RtF\nxV35J/Ha7XQ8xMgPDq1ofIgz8jUO+h5G8RAFHTtGvZRa+ubT7prlOkMfxdwn\nvw8gF9WuFjcD504obxv7zefI2buXuLxhPHMtmuMzbiRT8bdhcGYq8bsvNi3a\n3dzUqPUQ3FOp/h7AoUtqt8Y3eDwjqCHg81Czx9aZEnUkj9EhP4pK9EnBz6Xp\nLggFbC0OQ3WyWfFJ0dOfWy45qEj2+GzrV8+6SOlEVquTtjYfUoMx2QWTJ027\n+nZ72zPvf9HiwPaU8AX6CZyh20mEg4uJ60JpdO7V9mx6uNL9YOE3fxLYsiz3\ngwcTAa27qUOdfwwpvnUfKhQdcFD+WbY36g4Z7ayt0lO5BrC6JrE+RhSJZTqK\n5/UP9RhymiM7glDppAqdl4LSDI9iOj3goBn/cYesYo5d+8tgx9xyXqXPf8fu\nb1XO36x6vwBWYIRT85RkeUMUPvCRwRmlYkArwnnE+DZXi3f/kqFe+zYCK4UF\nVeI/pxk33p+ptkaT1HwNiqHdupJaQ7L6Uj2SaRnvrh0qXUIICCdNp2QCdP4n\nfswy\r\n=2nGl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYWWsZjxbhm6cGSlXX1nNSCrj++Mp26/sUzDRMdMs2FwIgeyoxJcvQGcx2szTkzz3t8PboZ5FEHPfbyu9eXFppWn0="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.8.0_1638428586794_0.7781863166067435"},"_hasShrinkwrap":false},"0.9.0":{"name":"libp2p-pubsub","version":"0.9.0","description":"libp2p pubsub base class","type":"module","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","ignorePatterns":["src/message/*.d.ts","src/message/*.js"]},"scripts":{"lint":"aegir lint","dep-check":"aegir dep-check dist/src/**/*.js","build":"npm run build:types && npm run build:copy-proto-files","build:types":"tsc","build:proto":"npm run build:proto:rpc && npm run build:proto:topic-descriptor","build:proto:rpc":"pbjs -t static-module -w es6 -r libp2p-pubsub-rpc --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/message/rpc.js ./src/message/rpc.proto","build:proto:topic-descriptor":"pbjs -t static-module -w es6 -r libp2p-pubsub-topic-descriptor --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/message/topic-descriptor.js ./src/message/topic-descriptor.proto","build:proto-types":"npm run build:proto-types:rpc && npm run build:proto-types:topic-descriptor","build:proto-types:rpc":"pbts -o src/message/rpc.d.ts src/message/rpc.js","build:proto-types:topic-descriptor":"pbts -o src/message/topic-descriptor.d.ts src/message/topic-descriptor.js","build:copy-proto-files":"cp src/message/*.js dist/src/message && cp src/message/*.d.ts dist/src/message","pretest":"npm run build","test":"aegir test -f ./dist/test/*.js"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"keywords":["libp2p","interface"],"author":"","license":"(Apache-2.0 OR MIT)","bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-pubsub#readme","dependencies":{"debug":"^4.3.2","err-code":"^3.0.1","iso-random-stream":"^2.0.0","it-length-prefixed":"^5.0.3","it-pipe":"^1.1.0","libp2p-crypto":"^0.21.0","libp2p-interfaces":"^3.1.0","libp2p-peer-id":"^0.2.0","libp2p-peer-id-factory":"^0.2.0","libp2p-topology":"^0.3.0","multiaddr":"^10.0.1","multiformats":"^9.4.10","p-queue":"^7.1.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/bl":"^5.0.2","@types/debug":"^4.1.7","aegir":"^36.0.0","protobufjs":"^6.10.2","util":"^0.12.4"},"exports":{".":{"import":"./dist/src/index.js","types":"./dist/src/index.d.ts"},"./errors":{"import":"./dist/src/errors.js","types":"./dist/src/errors.d.ts"},"./peer-streams":{"import":"./dist/src/peer-streams.js","types":"./dist/src/peer-streams.d.ts"},"./signature-policy":{"import":"./dist/src/signature-policy.js","types":"./dist/src/signature-policy.d.ts"},"./utils":{"import":"./dist/src/utils.js","types":"./dist/src/utils.d.ts"},"./message/rpc":{"import":"./dist/src/message/rpc.js","types":"./dist/src/message/rpc.d.ts"},"./message/topic-descriptor":{"import":"./dist/src/message/topic-descriptor.js","types":"./dist/src/message/topic-descriptor.d.ts"}},"gitHead":"befb411101eae7eb3711405cec0c1b74a2487e33","_id":"libp2p-pubsub@0.9.0","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (darwin)","dist":{"integrity":"sha512-gLDAydps2aWscAiqAINS5jxetyG8gno0cOBiMwLog7p2SKepbCUY+qShRIhMockonNurFdN1wVuaqVCfDVuHjQ==","shasum":"bb3c8ffd39e20260df0f4706a4b8f6488a43d25c","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.9.0.tgz","fileCount":76,"unpackedSize":340540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0VzjCRA9TVsSAnZWagAA6WgP/2ty5KqltAAvG0d2y2K1\nGnCUMjNiDsbDC7CI3M+ABjZKVoFBaGpFRKtSDcaQbaPI0URD0IoQJP9t1Abd\n2hvILYE9vJZZmb/J19ywjpCVkSwVtTbeelJSzmj/VhO42l3LMF9ewjB2Fiy/\nMzN/rRL62oWD7zGCTH+pwKvi78hdEAwhZnqgjSEuYjEOW9QPzo1Ez/ABApYx\nnf+Y0tfqhh/XgIP3+kE7G4dg3WV2g6JvSmuYl/8suTxqJAfEudw2Mr9pjFAb\nydMGJ9vF507ijYah4F3SGYfUqSzxtHgVVspWG62hnjdynHHhKWbbU1rkHCvb\nQKMi4gm7bgY6vMrAucMPnM9+JpgBKCv/Zb26rfPTQHplVExjJSxsEwXoYEcs\n7FDVgVtpOj3AUoTDQ7eW/zya67ElFSpS6m+I9sIv85XB8GBgIhxMG3WY3dhO\nzIS+BiFN73zM6Q61qlwP0LNFfJ43Vyfzq4yn/PfHBwcq1K6AsC8QXiMCupaD\n0xccmRHACC0fhaZXdxSRkSylKHK40rIPoHlMe0gsv1d4RBRIMpwl63F2WUQu\noVauK9EGqsgtj2/7gl8bLKFgw0+70ehqejMhcOFQ2+T9eTiYKnLBZNMTo1mT\nwt4O518XWkQBJaHdo2KDJdRry2Jvk0B8E/xvvr1AU6S0hL0QfjljhoZ5K1/G\n6c/Y\r\n=ZIax\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQgGGFp1nbYlJJ5Ufy+aPPYl2/pfH07qF838nxVw4HVwIgIjh3VOkLX2YuiCBafB0G/195pCMuyo6o6QunpPpTc5c="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.9.0_1641110755618_0.2611656283894772"},"_hasShrinkwrap":false},"0.9.1":{"name":"libp2p-pubsub","version":"0.9.1","description":"libp2p pubsub base class","type":"module","types":"dist/src/index.d.ts","typesVersions":{"*":{"*":["dist/src/*","dist/src/*/index"]}},"eslintConfig":{"extends":"ipfs","ignorePatterns":["src/message/*.d.ts","src/message/*.js"]},"scripts":{"lint":"aegir lint","dep-check":"aegir dep-check dist/src/**/*.js","build":"npm run build:types && npm run build:copy-proto-files","build:types":"tsc","build:proto":"npm run build:proto:rpc && npm run build:proto:topic-descriptor","build:proto:rpc":"pbjs -t static-module -w es6 -r libp2p-pubsub-rpc --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/message/rpc.js ./src/message/rpc.proto","build:proto:topic-descriptor":"pbjs -t static-module -w es6 -r libp2p-pubsub-topic-descriptor --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/message/topic-descriptor.js ./src/message/topic-descriptor.proto","build:proto-types":"npm run build:proto-types:rpc && npm run build:proto-types:topic-descriptor","build:proto-types:rpc":"pbts -o src/message/rpc.d.ts src/message/rpc.js","build:proto-types:topic-descriptor":"pbts -o src/message/topic-descriptor.d.ts src/message/topic-descriptor.js","build:copy-proto-files":"cp src/message/*.js dist/src/message && cp src/message/*.d.ts dist/src/message","pretest":"npm run build","test":"aegir test -f ./dist/test/*.js"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"keywords":["libp2p","interface"],"author":"","license":"(Apache-2.0 OR MIT)","bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-pubsub#readme","dependencies":{"debug":"^4.3.2","err-code":"^3.0.1","iso-random-stream":"^2.0.0","it-length-prefixed":"^5.0.3","it-pipe":"^1.1.0","libp2p-crypto":"^0.21.0","libp2p-interfaces":"^3.1.1","libp2p-peer-id":"^0.2.0","libp2p-peer-id-factory":"^0.2.1","libp2p-topology":"^0.3.1","multiaddr":"^10.0.1","multiformats":"^9.4.10","p-queue":"^7.1.0","uint8arrays":"^3.0.0"},"devDependencies":{"@types/bl":"^5.0.2","@types/debug":"^4.1.7","aegir":"^36.0.0","protobufjs":"^6.10.2","util":"^0.12.4"},"exports":{".":{"import":"./dist/src/index.js","types":"./dist/src/index.d.ts"},"./errors":{"import":"./dist/src/errors.js","types":"./dist/src/errors.d.ts"},"./peer-streams":{"import":"./dist/src/peer-streams.js","types":"./dist/src/peer-streams.d.ts"},"./signature-policy":{"import":"./dist/src/signature-policy.js","types":"./dist/src/signature-policy.d.ts"},"./utils":{"import":"./dist/src/utils.js","types":"./dist/src/utils.d.ts"},"./message/rpc":{"import":"./dist/src/message/rpc.js","types":"./dist/src/message/rpc.d.ts"},"./message/topic-descriptor":{"import":"./dist/src/message/topic-descriptor.js","types":"./dist/src/message/topic-descriptor.d.ts"}},"gitHead":"d9c20773f1b391b9f8045ac8e36d75e843e0763a","_id":"libp2p-pubsub@0.9.1","_nodeVersion":"16.13.0","_npmVersion":"lerna/4.0.0/node@v16.13.0+x64 (darwin)","dist":{"integrity":"sha512-d/pcv0YSRYLYKwv5RVaDvv592U4xuDvmpFxDknuzNsKXb8B8n2MsJ5U1VqbGs4mVwzgQbD+LmU0bOQavD1gbQQ==","shasum":"381b701e60209ec29b002ab8008265fa89ee5996","tarball":"https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.9.1.tgz","fileCount":76,"unpackedSize":340540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0csSCRA9TVsSAnZWagAAUuoQAKMU+KlqzJBFaIWRWGut\n5htgbkAdYX5jFNO6h7IDU268AQb2FRnhncQ5TAkU16FWyyxRmkZv9HEjOMCo\n1NrBZ/RLuTHRQu/nc8EiHpFbKh1AARZT5DEL5FJLX11jsPm/1guIRHURkPcK\na17tv4doREr0lqB4OAmhSCvsCY+sXYm3u4+Tr2ojLBktrqmr3trClQLYVuBa\nFyrBXxqtSrP17oaau5lfz4PqqASl2cziPdU1bcfLaog5DZkizZL2f075PUlq\nmZyTAEDQITOmiOy/Q+r/0m00j77WR6w0x3WutBkZfCdsHs+nJRpGLUc+Qya+\nRguc/RruflXZEZ9TTWyAL+E823mTCpkpBoX18r9SsX8DHm6OKUI+bEwXNFE2\nARo5uPu41eeJqUKqkKi52oiy2ZRXszCQUk50zP9fIIQVYeiqMsmISJk1p1tr\nzbJTQQNr186SNePMEa1YLry/GJmN9mTtVTPJvwu4b6hJjgA03X2ExF3psbgf\nvEPWYhs0MNe7uFP2Aiv7Sr0VU5SGJZA4s/7bYcv5cIoyeHpRQKSc4vB9k2W0\npTS7fPkyOuRPZPCFsB9kanhSwp/oar1zKfa9tp5RqaeRSRK7e8nt3jEIV76X\nsAMzMK5JnX+32fgvrJqKxe3/nXUZyc30pMF6ygIOj/Azsg4Q39d37I8G8oCc\n7a2p\r\n=5zbf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICKExmidpTeiVg9jDpzxgEb/wvYXBQRa7cHsakP/N/GVAiAkQWjyTj+PxfHlzYaty+CuOj8PS+TPsqNf+pk/k/jk+A=="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-pubsub_0.9.1_1641138962370_0.5437225444858382"},"_hasShrinkwrap":false}},"time":{"created":"2019-01-25T17:39:43.741Z","0.0.1":"2019-01-25T17:39:43.940Z","modified":"2022-05-07T23:13:50.840Z","0.0.2":"2019-02-08T11:40:32.580Z","0.0.3":"2019-04-17T11:30:37.783Z","0.0.4":"2019-04-22T15:33:55.943Z","0.1.0":"2019-05-07T10:06:50.127Z","0.2.0":"2019-07-08T12:56:41.447Z","0.2.1":"2019-09-26T09:21:59.836Z","0.3.0":"2019-11-14T13:41:37.317Z","0.3.1":"2019-11-15T14:06:39.828Z","0.3.2":"2019-11-28T10:37:36.505Z","0.4.0":"2019-12-01T20:14:52.632Z","0.4.1":"2020-01-07T17:03:15.796Z","0.4.2":"2020-02-02T10:10:16.807Z","0.4.3":"2020-02-14T11:21:01.390Z","0.5.0":"2020-04-22T14:25:56.195Z","0.5.1":"2020-04-23T12:42:54.985Z","0.4.4":"2020-04-23T12:54:05.580Z","0.4.5":"2020-06-03T19:22:25.300Z","0.5.2":"2020-06-04T08:20:00.895Z","0.5.3":"2020-06-15T14:31:54.443Z","0.4.6":"2020-06-23T16:26:31.782Z","0.5.4":"2020-07-07T15:57:25.383Z","0.4.7":"2020-07-08T08:06:24.357Z","0.5.5":"2020-07-14T08:36:43.258Z","0.5.6":"2020-07-14T10:27:06.450Z","0.6.0":"2020-08-11T10:03:08.464Z","0.7.0":"2021-11-22T17:28:00.420Z","0.8.0":"2021-12-02T07:03:07.005Z","0.9.0":"2022-01-02T08:05:55.827Z","0.9.1":"2022-01-02T15:56:02.529Z"},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"description":"libp2p pubsub base class","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-pubsub#readme","keywords":["libp2p","interface"],"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"license":"(Apache-2.0 OR MIT)","readme":"# libp2p-pubsub <!-- omit in toc -->\n\n> Contains an implementation of the [Pubsub](https://github.com/libp2p/js-libp2p-interfaces/blob/master/packages/libp2p-interfaces/src/pubsub/index.ts) interface\n\n## Table of contents <!-- omit in toc -->\n\n- [Usage](#usage)\n- [Contribute](#contribute)\n- [License](#license)\n\n## Usage\n\n```console\nnpm i libp2p-pubsub\n```\n\n```javascript\nimport { PubsubBaseProtocol } from 'libp2p-pubsub'\n\nclass MyPubsubImplementation extends PubsubBaseProtocol {\n  // .. extra methods here\n}\n```\n\n## Contribute\n\nThe libp2p implementation in JavaScript is a work in progress. As such, there are a few things you can do right now to help out:\n\n - Go through the modules and **check out existing issues**. This would be especially useful for modules in active development. Some knowledge of IPFS/libp2p may be required, as well as the infrastructure behind it - for instance, you may need to read up on p2p and more complex operations like muxing to be able to help technically.\n - **Perform code reviews**. More eyes will help a) speed the project along b) ensure quality and c) reduce possible future bugs.\n - **Add tests**. There can never be enough tests.\n\n## License\n\n[Apache-2.0](LICENSE-APACHE) or [MIT](LICENSE-MIT) © Protocol Labs\n","readmeFilename":"README.md"}